Miód, miód!

While comments are neither inherently good or bad, they are frequently used as a crutch. You should always write your code as if comments didn't exist. This forces you to write your code in the simplest, plainest, most self-documenting way you can humanly come up with. (#, podkr. oryg.)

Od zawsze staram się pisać kod tak, by nie trzeba było go komentować. Od zawsze staram się komentować kod tam, gdzie jego działanie jest nieoczywiste (tzn. nie jest jasne, dlaczego ten kod działa). To samo tyczy się testów — nie ma rzeczywistej potrzeby pisania testów do kodu, który:

  1. jest oczywisty
  2. jest kolejną (liczoną w tysiącach) implementacją algorytmu, o którym wiadomo, że działa

Potrzeba osiągnięcia coverage na poziomie 85% nie jest rzeczywistą potrzebą uzasadniającą pisanie testów. Podobnie jest z docstringami — to, że jakiś kod został wydzielony do funkcji/metody nie oznacza, że trzeba go dokumentować.

I na zakończenie jeszcze jeden cytat, odnoszący się do zwyczaju komentowania kodu (wyjątek z listy popularnych usprawiedliwień do dawania komentarzy w kodzie).

The code too complex to understand without comments. I used to think this case was a lot more common than it really is. But truthfully, it is extremely rare. Your code is probably just bad, and hard to understand. Re-write it so that's no longer the case. (#)

Skaluj się, małpo!

Hehe... Widziałem już takie teksty, że niby żeby myśleć o skalowaniu, trzeba mieć po co się skalować, względnie żeby skalowanie zostawić na później, gdy już będzie potrzebne. Niejaki Ted Dziuba dał to po raz kolejny, tym razem dosadnie i z werwą.

Słyszysz? Przestań pieprzyć o skalowalności, i tak nikt nie będzie używał twojej aplikacji. No.

Nie ma ludzi niezastąpionych

Claudiu Pap, (obecnie już były) portal manager Commune.ro wpisał w komentarzu do mojego pożegnania z Sensisoftem, że spodziewa się w tej sytuacji rychłej śmierci projektu. Bardzo to miłe z jego strony, ale to nie działa w ten sposób.

Wiele razy już byłem ogłaszany człowiekiem, którego nie da się zastąpić i wiele razy okazywało się, że z perspektywy firmy lub projektu nie jest to prawdą. Faktycznie, z pewnej perspektywy jest to prawda, bo każdy człowiek jest unikalny na skalę światową i ma niepowtarzalny zestaw umiejętności, osobowości, charakteru, wiedzy i doświadczeń. Patrząc pod tym kątem to i owszem, próba zastąpienia mnie jest skazana na pewną porażkę. Ale przecież w projekcie nie chodzi o cały ten komplet cech, a jedynie o pewien zestaw cech, który powodował że coś się udawało. Patrząc z tej strony, niezastępowalność nie jest już tak oczywista. Prawdopodobnie będzie trudno znaleźć kogoś, kto będzie w stanie przejąć moje obowiązki w sposób niezauważony, ale nie chodzi nawet o to, żeby się to odbyło w sposób niezauważony. Mój sposób dowodzenia nie był jedynym, który mógł doprowadzić do sukcesu. Przypadek sprawił, że był dość charakterystyczny i ekstremalny, przez co łatwo zapadł w pamięć i szybko został skojarzony z owym sukcesem na zasadzie analogii. Trudno oczekiwać, żeby akurat w tym przypadku (w odróżnieniu od tego, jak reszta świata jest skonstruowana) istniała tylko jedna dobra recepta na powodzenie (abstrahując od stopnia dobrości różnych recept).

Nasze drogi z Sensisoftem rozeszły się i teraz każdy musi sobie poradzić sam. Jestem przekonany, że tak jak ja potrafię zadbać o siebie, Sensisoft będzie w stanie zadbać o przyszły sukces projektu Commune.

Co programista robi na urlopie

Ogórki

I właśnie to chciałem na urlopie robić! :)

HP Compaq 6510b, dobre i złe strony

Nie ma komputerów doskonałych. Niestety. I mój nowy 6510b także nie jest doskonały, ma dobre i złe swoje strony.

Najpierw plusy:

  • obraz jak żyleta, matryca jest naprawdę dobra;
  • moc, szczególnie jak dołoży mu się dodatkowe 1GB RAM;
  • cichy HDD;
  • jest zimny;
  • karta wifi Intela (nie wymaga ndiswrappera!).

A teraz wreszcie minusy:

  • hibernacja działa, ale jest bez sensu, bo komputerowi mniej czasu zajmuje wyłączenie się i włączenie, niż zahibernowanie i odhibernowanie;
  • wygaszacz (xscreensaver) potrafi zawiesić X na twardo;
  • czas pracy na bateriach nie dociąga do zapowiadanych 5 godzin, a nawet 4 przy umiarkowanym użytkowaniu (PIDA, terminal z 4 zakładkami, serwer developerski Django, Firefox, Quodlibet) nie udało mi się osiągnąć, maksimum to 3:40.

Nie mogę powiedzieć, ogólnie jestem zadowolony, chociaż po zapowiedziach producenta spodziewałem się więcej...

Ubufox is a shit

Odkąd przesiadłem się na ubuntu 7.10 przez cały czas miałem problemy z wtyczką Flash do Firefoxa. A to twierdził, że jej nie ma, a to że jej nie chce, a to znowu coś innego. W pewnym momencie doprowadziłem swojego FF do tego, że musiałem usunąć cały profil i utworzyć go na nowo. Pakiet flashplugin-nonfree był oczywiście zainstalowany przez cały czas, ale ćwok uparcie twierdził, że nie jest. Mało tego, proponował ciągle zainstalowanie pakietu flashplugin-nonfree i po chwili rezygnował, stwierdzając, że przecież jest zainstalowany. Po wypieprzeniu ubufoksa zainstalowałem sobie wtyczkę prywatnie.

Panowie od ubuntu, wasz ubufox to kawał gówna.

Budzi się pragnienie

Powoli budzi się we mnie pragnienie (a może i potrzeba) wymiany laptoka na nową sztukę. Mój obecny HP nx6110 z najniższej półki wciąż jeszcze mi dobrze służy (chyba przede wszystkim dlatego, że mam niewielkie wymagania...), ale zaczynam już odczuwać potrzebę poprawienia mojej sytuacji życiowej. Lepsze jest wrogiem dobrego, a już na pewno jest wrogiem słabego.

  • 15' matryca mojego HP jest chyba jedną z najgorszych, jakie były produkowane dwa lata temu; wiem, że są gorsze (mają je np. najtańsze Acery z tamtego okresu), ale wcale nie zmienia to faktu, że kolory odwzorowuje tragicznie, szczególnie na bitmapach;
  • procesor Celeron-M360J (1.4GHz) nie jest demonem prędkości i nie ma co się nad tym rozwodzić;
  • dysk 40GB dawno już został zapełniony i muszę się posiłkować dodatkowym dyskiem podłączanym przez USB;
  • 3 kilogramy na ramieniu potrafią przygiąć do ziemi każdego.

Nie za bardzo mam ochotę kupować sobie MacBooka, wolałbym jakieś fajne HP z matrycą 13.1'... Ale takich nie ma. Przynajmniej na moją kieszeń.

W każdym razie, i tak muszę poczekać do przyszłego roku. Obiecałem, że w tym roku nie kupię sobie komputera...

The single most frightening song

See the animal in his cage that you built,
Are you sure what side you're on?
Better not look him too closely in the eye,
Are you sure what side of the glass you are on?
See the safety of the life you have built,
Everything where it belongs
Feel the hollowness inside of your heart,
And it's all... right where it belongs

What if everything around you,
Isn't quite as it seems?
What if all the world you think you know,
Is an elaborate dream?
And if you look at your reflection,
Is it all you want it to be?
What if you could look right through the cracks,
Would you find yourself... find yourself afraid to see?

What if all the world's inside of your head?
Just creations of your own
Your devils and your gods all the living and the dead
And you're really all alone
You can live in this illusion,
You can choose to believe.
You keep looking but you can't find the woods,
While you're hiding in the trees

Nine Inch Nails, Right Where It Belongs (With Teeth, 2005)

Niedobór

Bardzo brakuje mi w naszym pięknym kraju porządnej, stabilnej gazety codziennej o profilu konserwatywnym. Pewne nadzieje pokładałem w dzienniku Polska, podobno powstającym we współpracy z The Times (co mi właśnie tak konserwatywnie wróżyło), a wydawanym przez Polskapresse. Kupiłem dzisiaj numer i zrozumiałem, że to była daremna nadzieja. To będzie kolejny dziennik o linii umiarkowanie prorządowej, podobnie jak springerowski Dziennik. Przykre. Gazeta Polska pozostaje jedyną gazetą o akceptowalnej linii politycznej, największa szkoda w tym, że nie jest dziennikiem.

Rzeczpospolita

Wszyscy w TVN się cieszą, że oto skończyła się czwarta, ale nikt jakoś nie rzucił pomysłu, żeby teraz była piąta. Znaczy co, znowu jest trzecia?

Wybory jak software release

Albo nagle wszyscy testerzy ruszyli do testowania aplikacji, albo rzeczywiście z tym wydaniem jest naprawdę coś nie w porządku. Ale frekwencja nieco ponad 50% przecież nie jest niczym niezwykłym, skąd więc aż takie problemy?

W każdym razie, ja zamierzam spać spokojnie tej nocy, tak samo, jak i do tej pory. Czego i wszystkim innym życzę.

Prawda jest jedna

Prawda jest jedna, absolutna i powszechna. Ci, co mówią, że prawd jest wiele, jak wiele jest ludzi, kłamią. Zasadniczo dlatego, że nie odróżniają faktów od interpretacji…

Che Guevarra reklamuje

W jakiejś reklamie w telewizji pojawił się Che Guevarra, wielokrotny zabójca i moralny degenerat. Zamurowało mnie do tego stopnia, że nawet nie spojrzałem, co takiego on reklamuje.

Zastanawiam się, kiedy w reklamie pojawi się Stalin, np. reklamujący wodę mineralną. “O chlebie i wodzie!”, tak mógłby brzmieć slogan.