Archive for February, 2008

Rzeczy (podstawowe), które warto wiedzieć o typografii

Nie jestem specem od typografii. Lubię patrzeć na ładnie poskładane rzeczy i czytać ludzi, którzy się na tym znają. Teksty o typografii zwykle powodują, że w głowie odzywa mi się cichutki głosik — “Amm, to ma sens! Czemu wcześniej o tym nie pomyślałem?

Chłopcy-webowcy są szczególnie na bakier z tą sztuką. Specjalnie dla nich serwis ILoveTypography przygotował mały przewodniczek opisujący kilka zasad typografii przydatnych dla webmasterów.

Życzymy miłej lektury i mamy nadzieję, ze z czasem sieć będzie pełna wymuskanych projektów, gdzie wszystko gra jak w stuletniej gazecie.

Encore, encore!

Miałem się powstrzymać od komentowania około politycznej rzeczywistości, ale chyba mi się nie uda. Właśnie przeczytałem artykuł o tym, jak jakiś prawicowy bloger wyskoczył z budynku w ramach protestu “przeciwko islamizacji”.

No to im pokazał!

W swoim ostatnim poście na blagu twierdził, że robi to by uczcić pamięć osób wyskakujących z płonącego WTC i zabitych żołnierzy, którzy niosą na bagnetach demokrację krajom pokrytym piaskiem. Z pewnością jego czyn pomógł rodzinom zmarłych.

Roztrzaskany obecnie blager uprzedza jednak! Nie powinniśmy go brać za wariata. Jest zupełnie zrównoważonym człowiekiem, którego wpierw małżeństwo Clintonów wrobiło w usiłowanie zabójstwa, a który potem testował znany wzór z masą, wysokością i stałą grawitacyjną. Z pewnością, jak twierdzi, lewackie media przekręcą jego śmierć i zrobią z niego zgorzkniałego człowieka na krańcu wytrzymałości. Głupie media.

Facet się zabił (i jako katolik przekreślił swoje szanse na zwis swobodny w chmurach) aby udowodnić swój punkt widzenia. Nie zaciągnął się do wojska. Nie poświęcił życia na edukację o zagrożeniach, które niesie ze sobą teokracja. Nie zrobił tak wielu rzeczy, które dla jego sprawy (sam nazywa się ‘ideowcem’) miałyby jakieś znaczenie.

Wyjebał się przez okno.

A ja się śmieję. Tak, nieczuły ze mnie drań. Puste gesty są zabawne, a tak ostateczne powodują, że muszę szukać szybko chusteczki do nosa i powstrzymywać się od przyjmowania płynów. Mam nadzieję, że pomysł na zabijanie się (tak jak on, po cichu, na chodniczek i do woreczka) rozprzestrzeni się wśród innych nawiedzonych ideologów. Kilka lat i będziemy mogli zająć się innymi rzeczami. Na początek oczywiście trzeba będzie się wyposażyć w jakieś mocne parasole (spadające ideowcy) i kalosze (leżący ideowcy ulewający posokę), ale moda nie powinna grać roli, gdy idzie o święty spokój.

Więc drodzy niezdesperowani, rozsądni nawracacze i ‘mojsza bardziej niż twojsza’! Encore, encore!

Little Riding Hood

/*	

 Little Riding Hood, pesudocode version

 Inspired by eri
 By Emil Oppeln-Bronikowski 

*/

mother = new Person(Person::Female);

rrh = new Person(Person::Female);

basket = new Items(Items::Basket);

scenery = new templates();

// First scene

scenery->load(”home”);

scenery->attach(mother);

scenery->attach(rrh);

// We need object in basket

mother->copyObjects(mother->stock, basket);

foreach(basket as food){

 // learn rrh object what’s in basket object by enumeration

 rrh->addInformation(food);

}

mother->attachObject(rrh,basket);

grandma = new Person(Person::Female);

mother->addEvent(rrh, grandma->position());

scenery->load(”woods”);

wolf = new Animal(Animal::Wolf);

scenery->attach(rrh);

scenery->attach(wolf);

while(rrh->eventLoop()){

 rrh->postition(

 	scenery->currentX, grandma->positionX(),

 	scenery->currentY, grandma->positionY()

 );

 if(wolf->style->visible){

 	rrh->stopEvent();

 	wolf->addEvent(

 		self,

 		array(

 			avg(grandma->positionX()),

 			avg(grandma->positionY())

 		)

 	);

 	rrh->continueEvent();

 }

}

scenery->load(”house”);

scenery->attach(grandma);

scenery->attach(wolf);

// FIXME: just a hack

grandma =& wolf;

wolf->addListener(rrh);

scenery->attach(rrh);

while(instanceOf(rrh) != Person){

 rrh->nextQuery();

 switch(grandma->ansferQuery(rrh->lastQuery())){

 	case ‘TO_SEE’;

 		break;

 	case ‘TO_HEAR’;

 		break;

 	case ‘TO_EAT’;

 		grandma->inherit(rrh);

 		~rrh();

 		break;

 }

}

ranger = new Person(Person::Male);
scenery->attach(ranger);
ranger->attach(Weapon::Boomstick);

ranger->destroy(wolf); // makes .guts public 

foreach(wolf->guts as people){

 rescued[] = People::LoadInstance(people);

}

if(rescued.count() > 1){

 scenery->load("happyEnd");

}else{

 // hmmm, I need some kind of story exception here?

}

Microsoft pomaga użytkownikom

Testujemy nowy kod z Tomkiem i Michałem. Ogólnie chodzi o to, że po migracji systemu na nowy serwer nagłówki sprzedające typy jakoś głupio działają. Klikamy więc, klikamy — nawet uzyskując jakieś sensowne rezultaty, gdy stwierdzam, że zobaczymy co IE7 powie na nasz kod.

Odpalam VirtualBoksa, bootuje XP, odpalam IE7. Klikamy. Sprzedał nam dokument ODF jako nieznany plik. Już miałem zamknąć okno, gdy zauważyłem przycisk pozwalający poszukać oprogramowania, które otworzy ten nieznany plik. Czy Microsoft poleci OpenOffice? Czekamy. Baza dany rozszerzeń plików firmy Microsoftu szuka, szuka i stwierdza, że po polsku to ona nic nam nie powie. Prosimy o angielski. Czekamy.

O rany! Plik jest zupełnie nieznany. Kto się spodziewał? Ale jest jeszcze jeden link, do Microsoft Marketplace. W temacie ODF-a znalazł się jeden programik, wtyczka do IE wspomagająca integracje z pakietem Zoho.

To samo mam u siebie. Gdy szukam oprogramowania, tak developerskiego, jak użytkowego, system trzyma mordę na kłódkę i nie wspomina o formatach konkurencji.

Oh, wait.

emil@heroina:~$ apt-cache search microsoft doc

libwmf-doc - Windows metafile documentation

libwps-doc - Works text file format import filter library (documentation)

libwv-1.2-3 - Library for accessing Microsoft Word documents

libwv-dev - Development files for the wvWare library

libwv2-1c2 - a library for accessing Microsoft Word documents

libwv2-dev - development files for Microsoft Word access library

openoffice.org-voikko - Finnish spell-checker and hyphenation for OpenOffice.org

aolserver4-doc - AOL Web Server 4 (Documentation)

cryptonit - A client side PKI (X.509) cryptographic tool

gpsbabel - GPS file conversion plus transfer to/from GPS units

gstreamer0.10-pitfdll - GStreamer plugin for using MS Windows binary codecs

latex2rtf - Converts documents from LaTeX to RTF format

latex2rtf-doc - Converts documents from LaTeX to RTF - documentation

libchm-dev - library for dealing with Microsoft CHM files (development)

libchm1 - library for dealing with Microsoft CHM format files

libjakarta-poi-java - Poor Obfuscation Implementation

libjakarta-poi-java-doc - Poor Obfuscation Implementation Documentation

libole-storage-lite-perl - simple class for OLE document interface

libwps-tools - Tools from libwps for converting Works text documents to HTML/RAW/Text

mailscanner - email virus scanner and spam tagger

nsis - Nullsoft Scriptable Install System (modified for debian)

python-adodb - A database abstraction library for python

r-cran-rodbc - GNU R package for ODBC database access

ripole - Extract attachments from OLE2 data files (ie, MS Office docs)

swish++ - Simple Document Indexing System for Humans: C++ version

testdisk - Partition scanner and disk recovery tool

wv - Programs for accessing Microsoft Word documents

libpango1.0-doc - Documentation files for the Pango

libpt-doc - Portable Windows Library documentation & sample files

openoffice.org-dev-doc - OpenOffice.org SDK -- documentation

mozilla-openoffice.org - OpenOffice.org Mozilla plugin

openoffice.org-dtd-officedocument1.0 - OfficeDocument 1.0 DTD (OpenOffice.org 1.x)

openoffice.org-filter-mobiledev - Mobile Devices Filters for OpenOffice.org

okular-extra-backends-kde4 - extra backends for okular

Różne kształty i kolory — pogromcy i potwory

Uwielbiam oglądać rysunki. Po prostu. Zostało mi chyba jeszcze z czasów czytania komiksów — niektóre panele dało się oglądać przez dłuższy czas i co chwila wpadać na jakiś detal, który wcześniej nam umknął. Z drugiej strony uwielbiam proste i szybkie szkice, które mają czasem więcej charakteru niż dowolna grupa poselska.

Dziś znalazłem stronę DrawerGeeks! — zawiera ona reinterpretacje znanych postaci ze świata komiksu, bajek i popkultury. Wielu artystów, wiele spojrzeń. Warto poklikać w pracy. Ostatecznie jest piątek!

Na koniec pozwolę sobie dać link do jeszcze jednego zbioru prac — tym razem jednego autora — Kyziera. Na forum przedstawił on graficzne interpretacje komiksowych bohaterów tłumacząc jednocześnie, czemu nadał im takie kształty i cechy. Bardzo dobra lektura.

Spiderman. Najlepszy, jakiego widziałem!

Spiderman

Out of Walentynki experience

Czwartek zaczął się e-mailami od klientów, że już za chwileczkę, już za momencik będzie trzeba pokazać nowe demo systemu. Okazało się, że nie tylko ja mam dziś dużo pracy: to samo przypadło thungowi i Pio. Zebraliśmy się wiec w jednym pomieszczeniu, powpinaliśmy się do sieci i zaczęły się produktywne Walentynki.

blip.jpg

Wpierw trzeba było przerwać lansy na Blipie i pootwierać te wszystkie okna związane z pracą.

padrethungpoczatek.jpg

Thung ruszył spokojnie podbijając punkty znajomości CSS — Pio pisał system, który miał zostać oddany tak dawno temu, że w tej chwili prowadzi negocjacje z wnuczkiem klienta, a sam klient zamienił się w kupkę proszku.

kawki.jpg

Praca bez kawy jest jak taka rzecz, która nie ma sensu i jest ciężka do zrobienia.

opipio.jpg

Ruszyli! Twarze pełne skupienie. Klik-klik-klik.

kod.jpg

Powoli powstaje poprawka. Powoli, bo utknąłem na banalnym algorytmie. Popełniłem podstawowy błąd i zamiast zabrać się za przemyślenie sprawy — zabrałem się za dopisywanie warunków, które niby miały coś pomóc.

piwo.jpg

Support. Nie pomógł. Ale ułatwił przełknięcie smaku porażki.

algorytmy.jpg

Ostatecznie poddałem się i zabrałem się za to, co powinienem zrobić na początku. Zapisać sobie na kartce co ja w ogóle chcę osiągnąć. Pisałem z uwagą godną lepszego celu.

sukces.jpg

Nirvana połączyła się z Eureką. Na szczęście obyło się bez wizyty w wannie. Analogowa kartka znów wygrała z cyfrowym debugowaniem zepsutego kodu.

notka.jpg

Ostatnia kartka, która okazała się zwycięską. Tak mało, a tak wiele.

koncowka.jpg

Koniec. To był produktywny dzień. Dużo kodu, zadeptanych bugów bez liku, jeszcze więcej nowych. Teraz trzeba dopić tę resztę piwa, która została. Mam nadzieję, że bawiliście się równie dobrze. Różnica taka, że Wam kazali sprzedawcy kartek z życzeniami i ciastek w kształcie serca, a nam klienci. ;-)

Dzielić się i mnożyć czytelników

Od zawsze byłem fanem zasypywania ludzi linkami w miejsca, w które nigdy by nie trafili, bo mają inne zajęcia: kobiety, śpiew, pracę. Żeby zwiększyć zasięg rażenia przeniosłem się z wysyłania ich przez IM na drogę mailową. Potem zdecydowałem, że pojedyncze osoby także nie spełniają mojej pasji śmiecenia. Przeniosłem się na listę dyskusyjną naszego grona przyjaciół, gdzie ludzie niezainteresowani także musieli choć na nie rzucić okiem.

Nadal mało. Postanowiłem więc przetestować moje śmieci na Webie i przykleiłem dziś zawartość jednego z takich e-maili na blaga, którego trzymam właśnie ku celom śmiecenia. Możecie sobie przeczytać, ocenić jak to wygląda i wyrazić opinię, czy chcecie taki “nielucki”-ludzki filtr RSS-ów.

Ruchu w biznesie ciąg dalszy

Ledwo zdążyłem zapomnieć o wykupie MySQL-a, a już firma Sun zrobiła kolejny ruch: zakupiła dziś firmę Innotek, autorów VirtualBoksa. Trzeba przyznać, że Słoneczko zgromadziło już całkiem niezłą kolekcję oprogramowania. Dodajmy do tego wydanie pierwszej wersji Nexenty, działania Iana Murdocka na rzecz ‘uładnienia’ Solarisa i mamy całkiem wybuchowy miks.

Czy Solaris zacznie powoli zabierać stacje robocze Linuksowi? Czy zje trochę rynku serwerom LAMP? Czy VirtualBox przestanie działać na Linuksie?

Dowiedź się więcej w następnym odcinku “Zakupy z Sunem: moja karta kredytowa jest lepsza od Twojej!”

Wychodzisz? Zapomnij o kłopocie.

Wychodząc z pokoju zostawiasz na ekranie swojego komputera różne rzeczy. Zalogowaną sesję do banku, kawałek notatki o higienie Twojego kolegi z pokoju, która trafi na biurko zarządu, program pocztowy. Pamiętasz, żeby za każdym razem “zablokować” dostęp do ekranu? Ja postawiłem na 3 minutowe opóźnienie wyciemniacza. Ale przez trzy minuty każdy może podejść i sobie kliknąć.

Do akcji wkracza BlueProximity.

Program ten jest apletem dla GNOME, który “wyczuwa” czy Twój telefon komórkowy jest dostępny via Bluetooth. Wychodzisz z telefonem w kieszeni, następuje automatyczna blokada dostępu do systemu.

Można też uzyskać efekt “automatycznego odblokowania” pojawiając się z urządzeniem w zasięgu.

Sprytny, malutki programik, który pokochają ludzie dzielący pokój z współpracownikami lub współlokatorami.

Użytkownicy Windowsa mogą wejść w posiadanie podobnego programiku za jedyne $15.

Podręcznik o większości z Nas

Rodzina kiwa z politowaniem głowami? Dziewczyna wyniosła się dawno temu przegryzając przed wyjściem skrętkę? Znajomi uważają Cię za pożytecznego kretyna? Najwyższy czas podarować im Nerd Handbook!