Przyszłość Firefoksa
Jedną trzecią cyklu wydawniczego (po ludzku: dwa tygodnie) temu ponarzekałem sobie na zawrotne tempo pojawiania się nowych wersji Firefoksa. Wpis ten zaskoczył mnie dwiema rzeczami: popularnością (jak na mój blog) oraz odzewem. Otóż dwa dni później otrzymałem maila od firmy reprezentującej Mozillę w Polsce...
Fox on fire
Wygląda na to, że trzeba powoli szukać alternatywy dla Firefoksa. Wszystko zaś przez ich czysto marketingową decyzję o nadrabianiu zaległości. Chodzi oczywiście o nową wersję co sześć tygodni. Problem w tym, że ta marketingowa decyzja ma fatalne skutki techniczne...
Linux 3.0
Nadejszła wiekopomna chwiła! Po ~20 latach:
+VERSION = 3 +PATCHLEVEL = 0 +SUBLEVEL = 0 +EXTRAVERSION = -rc1W końcu coś się dzieje w tym Linuksie ;)

Dell Book Pro
Jak ciężko nie zauważyć, większość producentów sprzętu bierze udział w szaleńczym wyścigu na innowacje. Innowacje te polegają na szukaniu kolejnych detali, które można skopiować ze sprzętu Apple. No i mamy nowego lidera tego wyścigu: Dell Boo^W XPS 15z. I jest on wprost niesamowity.

Python 3?!
Zapowiada się na to, że znowu będę musiał przysiąść nad programowaniem w Pythonie. Z tej okazji, jak zawsze, robię rundę zwiadowczą w poszukiwaniu darmowych (z mojego punktu widzenia) usprawnień. Dzisiaj postanowiłem przyjrzeć się Pythonowi w wersji trzeciej. No i znalazłem kilka powodów, dla których jest on niemal niczym Perl 6 ;)
Najbrzydsza rzecz w Pythonie
W przerwie między zastanawianiem się czemu jeszcze nie śpię, a zajadaniem spaghetti z mikrofalówki, trafiłem na najbrzydszego do tej pory quirka w Pythonie. Znalezienie rozwiązania zajęło mi przygnębiająco dużo czasu. Jak również samo rozwiązanie jest przygnębiające - moduł musi importować samego siebie.
Model epidemii
Znajomy wykładał dzisiaj o mean field approximating the disease spreading model, postanowiłem posłuchać. Niestety nie przewidziałem jak bardzo podstawowy będzie dzisiejszy wykład. Stąd zamiast słuchać zacząłem pisać. Tak powstała wizualizacja tegoż modelu, w wersji z dyskretnym czasem. Kompletny kod poniżej.
To niby jest C
Właśnie opublikowałem jedno z dziwniejszych przeżyć programistycznych. Niby jest to stare dobre C... Jednak sami powiedzcie, jak to Wam wygląda.
PyPy - dziękuję, postoję
W ramach pracy zawodowej piszę średniej wielkości aplikację w Pythonie. Żeby było śmieszniej, aplikacja ta powinna być możliwie wydajna. Stąd czasami przyglądam się różnym ciekawym rozwiązaniom. Cython jest niby fajny, ale psuje kompatybilność kodu z innymi interpreterami*. Psyco dało świetne rezultaty, ale projekt całkowicie zamarł. Dlatego dzisiaj przyjrzałem się PyPy.
Laptop prawie idealny
Wyjeżdżałem na dłużej, potrzebowałem poważniejszego sprzętu. Spisałem wymagania, przebadałem rynek. Oczywiście nic nie spełniło wszystkich. Cóż... Zacząłem obniżać poprzeczkę aż załapały się 3 modele, po jednym od Lenovo, Sony i Apple. Wymęczyłem sprzedawców, przekopałem fora, pobawiłem się każdym i nawet zapytałem o radę MLP. Zajęło to wszystko kilka miesięcy, po których dołączyłem do szybko rosnącego grona użytkowników MacBooków.
Od tego czasu minął ponad rok i mogę powiedzieć, że mam o swoim zakupie wyrobione zdanie. Dzisiaj opiszę sam sprzęt, analogicznie do opisu poprzedniej zabawki . Na system jeszcze przyjdzie pora.
Windows 7 x64 na EEE 1215N
MLP zakupiła w dniach ostatnich dniach netbooka Asus EEE 1215N. Sprzęt dość zacny, zwłaszcza biorąc pod uwagę cenę... Której składnikiem był brak preinstalowanego systemu. Stąd też na mnie spadł zaszczyt użerania się z władowaniem na toto Windowsa 7. W ramach masochizmu w wersji 64bit, z którą nie lubi się Asusowy instalator sterowników. Mimo wszystko udało się zakończyć pełnym sukcesem. Poniżej prawidłowa lista czynności, które należało wykonać (osiągnięte metodą prób i błędów).
Fixing Inkscape Python extensions
Inkscape actually is a nice program. Maybe some of the competition (like Omnigraffle) are nicer. But then again, Inkscape beats them with the fact that it's free. It also has a lot of useful extensions (like Textext). Unfortunately, they managed to break the whole Python extension mechanism for 64bit OS X.
The exact error message was always:
The fantastic lxml wrapper for libxml2 is required by inkex.py and therefore this extension. Please download and install the latest version from http://cheeseshop.python.org/pypi/lxml/, or install it through your package manager by a command like: sudo apt-get install python-lxml
And of course none of the hints found on Google helped...
Eksportowanie historii z Gajima
Mój ulubiony klient Jabbera trzyma logi w SQL. To raczej dobrze niż źle. Jednak w tym układzie nie można po prostu przekazać komuś pliku z jego historią. Nie będzie to prosty grep. Jeśli chcemy poratować kogoś częścią swojej historii rozmów, trzeba użyć czegoś w stylu poniższego:
All hail Dreamhost
Jakoś tak przeszło bez echa, a to jednak ma znaczenie. Od pierwszego października Dreamhost sponsoruje proces stabilizacji projektu Linux-vserver. A to już najwyższy czas - poprzednia stabilna wersja bazuje na jądrze w wersji 2.6.22. Oczywiście nie oznacza to, że nie ma nowszych wersji. Jednak projekt ten ma rygorystyczną procedurę testowania, którą musi przejść przed ogłoszeniem wersji jako stabilnej. Zakończenia testów należy spodziewać się za kilka tygodni. Więc już niedługo zacznie się fala odświeżania systemów na hostingach.
One port to connect them all
Apple z Intelem postanowiło zagrać na nosie chłopakom od USB 3.0 i pokazało coś ciekawszego. Pojedyncze złącze, którym planują łączyć:
- myszkę
- drukarkę
- dysk
- sieć
- monitor
- wszystko inne
Nowy standard o nazwie Light Peak pozwoli na 10Gbps transferu na odległość 100m. I co najlepsze, pojawi się w Makach już za rok.

Kodowanie z wiatrem - MSI Wind U100
Jakiś czas temu potrzebowałem na wczoraj jakiegoś laptopa. Swojego wysłużonego ThinkPada pożyczyłem wcześniej kumplowi, więc jedynym wyjściem było udać się do sklepu i poprosić co tam mają najtańszego. Padło na MSI Wind U100. Był on już opisywany przez kilka osób, jednak moja recenzja będzie się trochę różnić od innych. Choćby dlatego, że nie każdy świeży właściciel netbooka jako pierwszą czynność wykonuje instalację .Net Framework 3.5 i Visual Studio...
LolDebian
Administruję sobie serwerkiem na uczelni. Stoi na nim Debian Lenny - wydawał się najsensowniejszym systemem do tego typu zastosowań. A zastosowanie jest proste - podstawowy webserver oraz minimalistyczny shell dla studentów. Kiedy przejmowałem nad nim pieczę, śmiałem się trochę z poprzedniego admina, że wybrał binarne distro a /usr/src urosło mu do 6GB. Powoli zaczynam jednak rozumieć, dlaczego tak się stało...
C++ - monitory panoramiczne również dla programistów
Od zawsze twierdziłem, że monitor panoramiczny przy programowaniu jest tak potrzebny, jak druga klawiatura. Myliłem się. Wystarczy chwilę pokodować w C++, żeby wiedzieć, że panorama jest niezbędna do życia. I to najlepiej taka 160:10. Dla przykładu:
5.cpp:82: error: no matching function for call to 'remove_if(__gnu_cxx::__normal_iterator<__gnu_cxx::__normal_iterator > >*, std::vector<__gnu_cxx::__normal_iterator > >, std::allocator<__gnu_cxx::__normal_iterator > > > > >, __gnu_cxx::__normal_iterator<__gnu_cxx::__normal_iterator > >*, std::vector<__gnu_cxx::__normal_iterator > >, std::allocator<__gnu_cxx::__normal_iterator > > > > >, pos >::dereferencer > >, __gnu_cxx::__normal_iterator<__gnu_cxx::__normal_iterator > >*, std::vector<__gnu_cxx::__normal_iterator > >, std::allocator<__gnu_cxx::__normal_iterator > > > > >)'
Jest jedną linijką z wyniku kompilacji programiku na zaliczenie...
Przy okazji - zna ktoś może jakiś program który potrafi jakoś bardziej strawnie pokazać takie brzydactwa? Konieczne jest zwijanie, a idealnie by było jeszcze zobaczyć jakieś kolorki...
KDE vs Gnome: wiele kodowań
Od jakiegoś czasu znowu używam Ubuntu na laptopie. Ma ono sporo zalet, które zapewne wszyscy znają. Jednak są rzeczy, których po prostu w tym Gnomie zrobić nie potrafię. Jedną z nich jest poprawna obsługa mojego środowiska o mieszanych kodowaniach. Co dla odmiany bez problemu otrzymuję w KDE...
Microsoft znów zepsuł Internet?
Microsoft, jak wiadomo, czołowym innowatorem jest. Jak również ściśle przestrzega standardów... No przynajmniej tych, które sam ustalił. Jak na przykład RFC 3484. Zawiera ono zasadę, która ma w sumie dobry cel: wybieranie przy translacji adresu tego wpisu, który odpowiada najbliższemu serwerowi. Przydatne jeśli ktoś na poziomie DNS robi load balancing poprzez podanie kilku wpisów A dla jednej domeny. Ale cóż, chcieli dobrze, wyszło jak zawsze.