Głuchy notebook Fujitsu-Siemens Lifebook i udana amputacja | |
Jak zwykle udaną naprawą wypada się pochwalić. Tym razem poszczęściło się starusieńkiemu Lifebookowi, w którym tajemniczo milczały głośniki.
![]() |
||||||||||||||||||||||||||||||
![]() |
TechnicznieSobota, 17 kwietnia roku bezpańskiego MMX
Jak zwykle udaną naprawą wypada się pochwalić. Tym razem poszczęściło się starusieńkiemu Lifebookowi, w którym tajemniczo milczały głośniki. (more…)Piątek, 22 stycznia roku bezpańskiego MMX
Jak coś nie działa jak powinno, i Sinus to coś dorwie, to najpewniej rozkręci, skręci z powrotem, w sumie nic nie naprawi, ale jakoś potem będzie działało lepiej. Tym razem oberwało się prastarej maszynie do szycia marki Łucznik. Środa, 28 października roku bezpańskiego MMIX
Gmail mnie nie lubi. Uwziął się, że maile z mojego IP (jakiekolwiek teraz w Netii bym nie dostał) będzie traktował jako spam, i już z SMTPa mnie odsyła precz. No to, pomyślałem, ja cię załatwię, draniu. Wpisałem sobie w /var/qmail/control/smtproutes: Cóż było robić… napisałem własnego patcha. Bierzcie i jedzcie z tego wszyscy. Oto mój patch. Oczywiście jeszcze o /var/qmail/control/smtproutes było trzeba zadbać: I teraz działa. Here’s the long story cut short: If you’re trying to get qmail to have both TLS, SMTP-AUTH and remote-auth capabilities, just install netqmail-1.06, patch it with the netqmail-1.05-tls-smtpauth-20070417.patch, and then apply my patch instead of the vanilla qmail-remote-auth.patch which doesn’t work with a tls-smtpauth patch under it. Done. Środa, 12 sierpnia roku bezpańskiego MMIX
Netia sfailowała z wyborem firmy kurierskiej. Wręczyli mój router-AP firmie DPD. Kurier w czwartek (7.08) chciał się umówić na odbiór, ale jeszcze byłem poza Warszawą. Jeszcze zadzwonił w poniedziałek, ale nie zdążyłem odebrać komórki – trzy dzwonki, tak na oko, i dzwoniący się rozłączył, a dzwonił z zastrzeżonego, więc nie mogłem oddzwonić. Dziś się zaś dowiaduję, że firma kurierska już zwróciła przesyłkę nadawcy jako niedostarczoną! Nie minęło jeszcze “przepisowych” 7 dni, i kurier tylko raz tak naprawdę szczerze próbował się umówić na odbiór… Musiałem Netię pogonić, żeby znowu wysłali ustrojstwo, i to już nie firmą DPD, ale to zajmie jeszcze ze 2-3 dni. Tymczasem – Polak nie cielę, sobie poradzi. Stary neostradowy modem Sagem F@st 800 bardzo ładnie Netię też obsługuje, także sieć już mam. Śliczne 4 mbit / 500 kbit. I to taniej, niż 1 mbit / 256 kbit w neozdradzie ;P Środa, 12 sierpnia roku bezpańskiego MMIX
Przenoszę się właśnie z neostrady tepsowej na netiowy 4mbit – lecz oto znalazłem się w kuriozalnym punkcie. 1 sierpnia wygasła mi umowa z TPSA na neostradę. Sieć padła szybciutko, livebox się nie łączy, prawidłowo. Tegoż samego dnia, wedle umowy, moje łącze miała przejąć Netia – na mocy jakiejś umowy między operatorami o uwolnienie czegoś tam – nie wiem, pewnie i przejęła. 12 sierpnia mieli mi włączyć usługę sieciową, mój wymarzony 4mbit – ale kurier się spóźnia, na dodatek jeszcze ja zgubiłem dowód i mogą być jaja z legitymowaniem się… Dzwonię zatem na netiową infolinię i potwierdzam, że od biedy można z ich internetu korzystać nawet starym Sagemem od neostrady, bo to też ADSL i nawet na tych samych co neo parametrach. Sagema nie zmusiłem do pracy, no to odpakowałem już zapakowanego do zwrotu liveboxa. I tu – niespodzianka. Livebox się zsynchronizował… ZALOGOWAŁ na moje dane neostradowe… i dostałem stary adres IP z puli neostrady! Czyli – mam cały czas neostradę, choć łącze już jest pod kontrolą Netii i z TPSA nie wiąże mnie już zupełnie nic. Hm, to może ja ten internet netiowy zawieszę i będę miał neo za darmo, skoro TPSA o mnie zapomniała? Albo co? Ale jajo, co? Poniedziałek, 20 lipca roku bezpańskiego MMIX
Popsuła mi się klejownica – najtańsza tandeta, to się nie dziwię, że się wzięła i uszkodziła. Ot, drucik się wziął i urwał od elementu grzewczego, który – oczywiście – rozłożyłem, zacisnąłem na nowo, i złożyłem. Tenże element jednakże mnie zdumiał: otóż całe “serce” klejowniczki stanowią dwie miedziane blaszki, przypięte wprost do kabla od 220V, przedzielone (pękniętym, u mnie) kawałkiem jakiegoś kamieniopodobnego materiału. Czwartek, 16 lipca roku bezpańskiego MMIX
No i się stało – pojechałem znowu, popedałowałem trochę, i wróciłem. Przejechałem, zgodnie z planem, wybrzeże (tym razem) od zachodu – Międzyzdroje – po wschód – Hel. Wszelkie napotkane automaty do gier muzycznych zostały skrupulatnie spisane, wedle założeń wycieczki, i zostaną równolegle na Krokmanię oraz DDR Poland wywieszone, wraz z mapką rozmieszczenia maszyn. Uwaga: długie, szczegółowe i pełne anegdotek z podróży. Tak, żebym więcej nie zapomniał, komu o czym opowiadałem… ;P Środa, 25 lutego roku bezpańskiego MMIX
Właśnie na nowo odkrywam uroki poprawiania kodu po kimś. Ot, typowa robota – coś nie działa, weź napraw. Cóż można jednak znaleźć w cudzym kodzie? Panie i panowie, scyzoryki w kieszeń, zaraz będą się same otwierać. Eksponat pierwszy – pole formularza typu checkbox, zaznaczone, jeśli formularz już był raz wypełniany i wrócił po poprawki:
<?php
$tmp="serwis2";
if ($_POST[$tmp] == "on") {
?>
<td><input type="checkbox" name="serwis2" checked="yes"/>opcja</td>
<?php
} else {
?>
<td><input type="checkbox" name="serwis2"/>opcja</td>
<?php
}
?>
Rozumiem, że
<td><input type="checkbox" name="serwis2" <?php if ($_POST["serwis2"]=="on") { ?/>checked="yes" < ?php } ?>>opcja</td>
… było za skomplikowane. Trzeba było tę zmienną $tmp koniecznie. Co to jest, do licha, jakiś auto-generator PHP? Eksponat drugi. Zwracanie błędów z funkcji najlepiej robić o tak: Eksponat trzeci. Sprawdzanie poprawności formularza. Oczywiście, jest kilka metod – client-side czyli javascriptem i odmówimy przesłania niepoprawnego formularza, albo server-side czyli sprawdzamy jakimś PHPem i odsyłamy do poprawek, albo łącząc te dwie techniki AJAXem. Tu geniusz wynalazł sposób czwarty. Otóż formularz jest – po kolei – sprawdzany javascriptem, generowane są komunikaty o błędach, a następnie… formularz, z tymi komunikatami i statusem błędu przy pomocy javascriptu wmontowanymi w ukryte pola, zostaje i tak posłany na serwer. Tylko po to, by się od niego odbić na pierwszym ifie (no bo jest niepoprawny przecież, jako w nim samym stoi wyraźnie, <input type=”hidden” name=”error” value=”cośtam”> – no i to pole error zostaje wyświetlone użytkownikowi, wraz z formularzem do poprawki. Tylko po kiego czorta w ten sposób? Poprawka – w przypadku formularz prawidłowo wypełnionego, o zgrozo, nie zostaje on zaakceptowany. Zostaje znów “odrzucony” tylko tym razem zaopatrzony w kawałek javascriptu, który zmienia mu adres docelowy na innego PHPa, po czym formularz automatycznie podsyła. Ratunku. Piątek, 10 października roku bezpańskiego MMVIII
I’ve lost over an hour today on a macabre discovery: WordPress uses the configurable “table prefix” not only for table names, but for some key names in the user meta-data tables! In a nutshell: when migrating WordPress with changing the table prefix, say, from the default “wp_” to “blabla_”, your user rights are going out the window – even your administrator user will be helpless like a newborn kitten. That’s because WordPress, when installing its tables, used the prefix to create a “wp_user_roles” entry in the wp_options table, and some similar entries in the wp_usermeta table. Yup, that’s basically a prefix-in-a-prefix scenario, quite ridiculous. To get everything running again, you’ll need to change all the “wp_*” entries in your new blabla_options and blabla_usermeta tables into “blabla_*” entries. I cannot fathom why this was done in such a crazy manner… |
![]() |
||||||||||||||||||||||||||||
![]() |
![]() |
|||||||||||||||||||||||||||||
![]() |
||||||||||||||||||||||||||||||