Bronikowski.com - Emil Oppeln-Bronikowski: Kod & Słowa

Skip navigation

Bronikowski.com G+

Dobre intencje

Posted in µGeek | Leave a comment

Nie ma dla mnie nic bardziej niepokojącego niż Internet unoszący dłonie w geście zwycięstwa. Naturą Internetu jest to, że „wygrana” nie musi być wygraną obiektywną i mierzalną, uczciwym zwycięstwem nad jasno określonym przeciwnikiem według zasad. Tłum nie jest sumą głów. Tłum jest sumą odbytów i pięści.

Jeszcze niedawno takie zjawisko żyło w popkulturze dzięki wieśniakom dokonującym szturmu na zamek Doktora Frankensteina. Żyło też jako piętno publicznych linczów. Internet ukrył sznur i zamiast pochodni ma latarkę z LED. Internet przyczepił sobie też gwiazdę szeryfa, wystawił licencję na zabijanie, a za Fedorę zatknął przepustkę prasową.

Wydarzenia w Bostonie wstrząsnęły mną w sposób, jakiego nie byłem w stanie przewidzieć. Pomiędzy moją sympatią do miasta i podziwem dla maratońskiego wysiłku, pomiędzy zdjęciami z ludźmi, którzy rzucają się do pomocy i mną, wracającym na lekkim podpiciu do domu, wszystko nabrało dla mnie hiper-realności, której nie było w stanie przegonić kolejne piwo wypite już w pozycji leżącej. Spałem mało, o piątej wyszedłem do biura by przykleić się ekranu i czytać.

Czym więcej czytałem, tym bardziej rosła we mnie nienawiść. Na moich oczach powtarzał się cykl szaleństwa: garbage-in, garbage-out. Niesprawdzone, fantastyczne teorie wyprodukowane przez internetowych Batmanów uzbrojonych w kompletny brak empatii i MS Paint trafiały do szerszej konsumpcji, a po trawieniu zamieniały się w gówno, w którym taplali się spece od spiskowych teorii. Tempo produkcji oskarżycielskich obrazków rosło wraz z uczuciem podniecenia wśród klawiaturowych detektywów. Kulminacyjnym punktem był pościg bostońskiej policji za podejrzanymi. Stwierdzono deficyt rąk wśród tłumu poklepującego się po plecach, aż wreszcie ogłoszono ex cathedra, że oto jesteśmy światkami ostatecznego triumfu posiadaczy telefonów komórkowych z aparatami i stałego dostępu do sieci nad mediami tradycyjnymi. Jeden z użytkowników reddita z dumą rozdawał linka każdemu, kto chciał słuchać. Odgadł on słusznie, że zamachowcem będzie dwudziestoparolatek. Nie, że będzie ich dwóch i że 26 i 19 lat ledwie mieści się w jego przepowiedni. „Remember the hits, forget the misses”.

Pośród tego pościgu o dowody jeszcze mętniejsze, jeszcze lepiej korelujące z wyznawanym przez wskazującego smakiem rasizmu zdjęcia „potencjalnych podejrzanych”, hipotez o rządzie, który wysadził obywateli żeby ukryć to lub tamto, przepchnąć taką a nie inną ustawę, nikt nie wziął nawet oddechu by przystanąć i zastanowić się nad skutkami takich działań.

Internet stał się repozytorium głupoty, z której garściami czerpać może każdy, kto ma akurat ochotę na usztywnienie poglądów, jakie już wyznaje. Na tragediach budowane są kariery, które wspierają się o mantrę „ja tylko zadaję pytania!”.

I nie piszę tego żeby „bronić” mediów tradycyjnych. One też przykładają się do kociokwiku, legitymizując czasem te bajdurzenia. Piszę o tym dlatego, że czuję obrzydzenie do ludzi, którzy widzą się jako bohaterów, ponieważ mają konto w popularnym serwisie i potrafią narysować czerwoną linię na zdjęciu. Nie jesteście dziennikarzami śledczymi, nie jesteście Batmanami, nie jesteście bystrymi obserwatorami. Macie dostęp do Internetu.

git branch five-stages-of-fuckup

Posted in µGeek | 6 Comments

Popełniłem błąd w kodzie. Strasznie głupi, amatorski, „PHP w dwa tygodnie” błąd. Taki, którego się nie popełnia. Pominąłem jedną z warstw autoryzacji aplikacji i „wyciekłem” dane.

Zaprzeczenie

Nie ma szans, żeby był błąd. Dopisywałem wprawdzie w piątek poprawkę niedaleko middleware, ale przecież ona nie mogła wpłynąć na działanie warstwę niżej. Dzwonię do zgłaszającego błąd. Weryfikuję zgłoszenie. Użytkownik, który widzi niepoprawne informacje został dodany bez nadania roli. Ha ha. Nie ma błędu. Wysyłam głośnego e-maila, dwa razy używam wytłuszczenia. Moje na wierzchu, hurra.

Godzinę później otrzymuję paczkę e-maili od pracowników, którzy błąd znaleźli. Jest. Akurat w tym samym miejscu. Popełniłem błąd.

Gniew

Kurwa! Kurwa jebana mać. Ja pierdolę. To dlatego, że nigdy nie mam czasu. I w ogóle wszystko o kant dupy potłuc. Przecież to głupie. Pierdolę, nie robię.

Targowanie się

Może jednak nic się nie stało? O, praktycznie tylko jeden widok cieknie, a reszta i tak będzie rzucała wyjątkiem podczas filtrowania. Wezmę logi i sprawdzę.

Jeden grep, trzeci. -v lokalne_adresy. Wygląda normalnie. Może się jednak nic nie stało, prawda? No i ktoś musiałby świadomie wpisać cały URL. Nie ma szans, nie ma szans.

Depresja

Tyle lat to robię i nadal sadzę takie kwiatki. Może ja tylko świetnie gram światłego nerda ku uciesze internetowej gawiedzi? Nic dziwnego, że nic nie osiągnąłem i jestem zupełnie nikim, tak spieprzyć. W czym ja w ogóle jestem dobry? Stare meble nieźle rozwalam na kawałki. Może powinienem się zająć czymś prostszym tak żeby nie nieść zagrożenia?

Pogodzenie się

Jeszcze czekam.

中国银

Posted in Pan ma teraz relaks | 3 Comments

Obudziłem się na podłodze w biurze. Dzień tak rozpoczęty nie może być dobry, prawda? Zerknąłem w pocztę firmową, potem w prywatną. W prywatnej natknąłem się na e-mail, który teoretycznie powinien był zostać zjedzony przez spam-maszynę. Zaśmiałem się do siebie i przekleiłem propozycję na socjalweb, żeby inni mogli się pośmiać ze mną. Oto treść pierwszego e-maila:

(It’s very urgent, Please transfer this email to your CEO or appropriate person, thanks)

Dear CEO,
We are the department of asian domain registration service in China. Here I have something to confirm with you. We formally received an application on January 18, 2013 that a company claimed ”VTCC Intl Company” were applying to register”bronikowski”as their Net Brand and some “bronikowski” domain names through us.

Now we are handling this registration, and after our initial checking, we found the name were similar to your company’s, so we need to check with you whether your company has authorized that company to register these names. If you authorized this, we would finish the registration at once. If you did not authorize, please let us know within 5 workdays, so that we could handle this issue better. After the deadline we will unconditionally finish the registration for ”VTCC Intl Company”.

Looking forward to your prompt reply.

Popatrzyłem w swoją listę zadań na dziś. Powinienem pracować. Z drugiej strony istnieje zagrożenie, że stracę swoją sieciową markę w Chinach, a pomocny pracownik firmy patrzy w przód na moją natychmiastową odpowiedź.

Odpisałem więc, że to przerażające. Dodałem, że po otrzymaniu dokumentów natychmiast poinformuję Radę Starszyzny, która to Rada zarządza ogólnoświatową marką bronikowski. Zanim wysłałem list, przełączyłem szybko From: z adresu prywatnego (w domenie bronikowski.com) na adres firmowo-pracowy (w domenie fuse.pl).

Otrzymałem następującą odpowiedź:

At present, we haven’t passed their application, we need your opinion.If your company consider these names of importance to your company’s business or interest, we suggest that your company register these names first so as to avoid confusion or speculation.If you don’t think their application will affect
your company,then we will finish registering for VTCC Intl Company as per our duty. we will not bear any responsibility in future because we had informed you.

Kindly inform us your company’s decision as soon as possible in order to handle this issue better.

Muszę przyznać, że doceniłem zagrywkę. „Róbcie jak chcecie, ale jeżeli wiecie, co robicie, to zajmiecie się tematem, prawda?”. Postanowiłem dopytać, czym jest ten Net Brand. Domeny? Marki? Proszę powiedzieć, nie mogę iść do Starszyzny z pustymi rękami.

Odpisano mi niemal natychmiast:

They wants to register “fuse” net brand and following domain names:

fuse.my
fuse.ae
fuse.com.my
fuse.sg

Ojej, ale jak to „fuse”? Przecież pierwszy e-mail dotyczył marki „bronikowski”. Wytłuściłem moje wątpliwości, zaznaczając, że początkowo korespondencja dotyczyła innej marki i pytając, czy ma to jakiś związek z faktem, że piszę z innego adresu e-mail? Mój chiński rozmówca nawet nie mrugnął okiem i odpisał:

Yes,plus the “bronikowski” net brand and following domain names:

bronikowski.asia
bronikowski.cn
bronikowski.co.in
bronikowski.com.cn
bronikowski.com.hk
bronikowski.com.tw
bronikowski.hk
bronikowski.in
bronikowski.net.cn
bronikowski.org.cn
bronikowski.tw

Pokiwałem głową i zachwyciłem się kompleksową obsługą. Potwierdziłem, że mam już klucz do skarbca i poprosiłem o wycenę ww. domen. Dopytałem też, czy przypadkiem podstępni piraci marek internetowych nie zaczaili się na AntyWeb. Dmucham na zimne.

Nie uwierzycie w moje szczęście: AntyWeb też był do przejęcia. No, w takim razie nie pozostało mi nic innego, jak uratować siebie i polski Internet! Tylko nie mam specjalnie pieniędzy na przelewy. Przeprosiłem i dodałem, że jeżeli przyjmą srebro, które mój pradziad ukradł żydowskim1 rodzinom, to z pewnością się jakoś dogadamy.

Do tej pory nie otrzymałem odpowiedzi z adresem, gdzie mam przesłać monety. Wygląda na to, że moja przyszłość na rynku chińskiego blogerstwa została przekreślona.

  1. nie, ale historia równie wiarygodna jak firmy polujące na bronikowski []

2013

Posted in Pan ma teraz relaks | 4 Comments

Życie odmierzane jest coraz krótszymi odcinkami czasu. Kiedy porzuciliśmy zbieractwo i polowanie na rzecz rolnictwa i hodowli zwierząt, nasz czas przecinały pory roku. Kiedy sadzić, kiedy zbierać. Na krańcach zmian pór roku rozmaite religie umieściły swoje obrządki; jeśli nie przebłagamy bogów, którzy wciągają słońce na maszt nieba, to zima może się nigdy nie skończyć. Wtedy nie wiedzieliśmy jeszcze o tym, że nieba nie da się przekonać, przebłagać i przestraszyć. Że kręci się jednostajnie, z uporem, że po zimie przychodzi wiosna bez całopalnych ofiar.

Mijały lata, nauczyliśmy się oswajać zimno, postawiliśmy trwałe budynki, przez okna których nie wciskał się wiatr. Sztuczne światło zastąpiło oczekiwanie na równonoc, ciepło pieców rozproszyło mordercze mrozy zimy. Byliśmy miejskimi zwierzętami, nasz cykl pomiędzy życiem a śmiercią zamykał się teraz w miesiącu. Pomiędzy wypłatą a wypłatą.

Zbudowaliśmy jeszcze lepszy świat. Świat nagradzający tych, którzy oddali się mu umysłem i ciałem. Odmierzaliśmy pięć dni i dawaliśmy nura w hedonizm. Weekenders.

Uzbroiliśmy się w telefony. Decyzje zapadają w godzinę. Faksujemy umowy, przemierzamy kraje. Potem godzina telewizji przed snem.

Systemy informatyczne odpowiadają pięć razy szybciej niż trwa mrugnięcie okiem, 400 milisekund.

Za następne 4,40646031 × 1016 mrugnięć.

Chciałbym powiadomić

Posted in Pisanina | 4 Comments

Czy powinno się naśladować „realny świat” podczas projektowania aplikacji? Ofiary programów obitych „skórą”, których nawigacja jest „rozsypana” po wyłożonej panelami podłodze, które dotykają idealnie płaskiego ekranu celem „przekręcenia potencjometru na 11”, zawołają głośno, że nie, nie wolno. Potem dostaną coś na uspokojenie i będą mogły wrócić na terapię.

Poprawną odpowiedzią na to pytanie jest: „To zależy.”

Podczas udzielania tak głębokiej odpowiedzi najlepiej jest pocierać brodę i patrzeć wzrokiem widzącym sto lat do przodu. Nadaje to odpowiedniej powagi stwierdzeniu, które jest odpowiednikiem „nie wiem” dla tchórzy.

Do rzeczy: potrzebuję czasem stuknąć użytkownika w ramię i powiedzieć mu coś na ucho. Zostawić mu liścik, przesłać całusa. No, wysłać powiadomienie. W projektowaniu systemu powiadomień nie ma niczego skomplikowanego, prawda? Treść, do kogo i czy już była widziana. Proste. Banał. Zrobiłem.

Czasem przytrafi się sytuacja, kiedy napisany przeze mnie system oszaleje i nie potrafi sobie już sam pomóc. Kiedyś wyświetlałem błąd w nadziei, że zanim ja skoczę na ratunek, użytkownik wyciągnie wniosek z komunikatu i spróbuje iść dalej bez mojej asysty. Moje marzenia zostały przecięte serią e-maili o tym, że „jak klikam, to wyskakują bzdury”. Teraz zawracam nieszczęśnika na stronę główną, wysyłam sobie e-mail z trackbackiem i stosem, a użytkownika uspokajam przez powiadomienie, że już wiem, żeby napił się kawy i że w ogóle jest w dobrych rękach.

Nie minęło nawet kilka dni, kiedy podczas jednej z poprawek udało mi się doprowadzić do sytuacji, w której kod obsługujący wyjątki miał wyjątek. To oczywiście zbudowało fantastyczną kolejkę powiadomień zawierających informację o tym, że „nic się nie stało”.

Część użytkowników czekało sto kliknięć (lub po 30 sekund na automatyczne wygaszenie się informacji razy sto), żeby mogli się pozbyć żółtej ramki mówiącej, że nic się nie stało. Słabo. I teraz dochodzimy do tezy o „projektowaniu jakbyśmy byli w pubie”.

Gdyby podczas naszej wizyty w toalecie znajomy pytał się o ciebie innego znajomego kilka razy, to czy po powrocie przekazanie tej wiadomości wyglądałoby tak:

„Hej, był tu jakiś łoś, z pięć razy się o ciebie pytał”

czy

„Hej, był tu jakiś łoś”
„Hej, był tu jakiś łoś”
„Hej, był tu jakiś łoś”
„Hej, był tu jakiś łoś”
„Hej, był tu jakiś łoś”

Pierwszą modyfikacją kodu było grupowanie zdarzeń.

Kiedy napisałem nowy moduł komunikacji, wymyśliłem sobie, że można informować o wysłanych wiadomościach. Wcześniejsza modyfikacja okazała się trafić na wyboiste skały mojego braku wyobraźni i kompetencji. Przenieśmy się do naszego hipotetycznego pubu. Tym razem, walcząc z fobią społeczną, jesteśmy przedstawiani grupie osób.

„Poznajcie się: to Pan X, Pan X′ i Pan X″”
W mojej wersji byłoby to:

„Poznajcie się: to Pan X”
„Poznajcie się: to Pan X′”
„Poznajcie się: to Pan X″”

Żeby zrobić to dobrze, nie wystarczy po prostu sprawdzać, czy treść komunikatu, który chcemy zapisać, nie jest identyczna z ostatnią. Nie w sytuacji gdy mamy zmienną. Dodałem do kodu obsługę tagów dla zdarzeń i teraz, grupując, widzę serię E_HELLO i jako treść część zmienną — nazwiska. Mogę już przedstawić się jednym tchem.

Byłem zadowolony. Dopisałem sobie malutkie narzędzie, którego mogę używać do powiadomienia użytkowników o różnych rzeczach: „Za kwadrans konserwacja, baza będzie niedostępna”, „Proszę zamykać stare wydarzenia, bo mi się indeks urwie”, etc.

Moje pierwsze użycie było związane z przenosinami serwera. Ostrzegłem, że od 18. do dnia następnego system jest martwy i już. Pisałem to w piątek, prawdopodobnie po 17. Część ludzi pracuje do 16.

Zgadliście już? Tak, w poniedziałek rano otrzymali informację o tym, że dziś po 18. nie ma systemu do jutra. Byli słusznie oburzeni, że im się w poniedziałek i wtorek takie rzeczy robi.

Jeżeli informacja ma jakąś logiczną datę przydatności do spożycia, to powinno się ją po cichu schować po tej dacie. Ludzi po powrocie z urlopu nie interesuje brak dostępności sieci spowodowany faktem, że operator ISP się opił i wpadł w kable.

Z tym nie pójdziemy już do hipotetycznego pubu; sytuacja wymknęła się spod kontroli. Jesteśmy na hipotetycznym pogrzebie. Twoim własnym. Wypadek samochodowy. Ktoś informuje zebranych:

„Dwa tygodnie temu też wsiadł pijany”
„Hej, był tu jakiś łoś”
„Hej, był tu jakiś łoś”

Skutki bycia ekstremalnie zajętym

Posted in Pan ma teraz relaks | 9 Comments

To był bardzo męczący rok. Z wielką radością złożę jego truchło na stos i rzucę zapałkę. Siedzę teraz przy komputerze i próbuję ogarnąć ostatnie tematy zanim ludzie rozejdą się do domu, a ja będę mógł w spokoju przycupnąć sobie z drinkiem, wyobrażam sobie pierwszych pijanych wujków i kolejki po karpia w których utknęliście.

Mam kilka marzeń. Jednym z nich jest napisanie bardzo dobrej gry tekstowej. Rysuję sobie czasem schematy takiego silnika do tekstówek1 i marzę, że znajdę czas. Dziś moje zmęczenie i zniechęcenie osiągnęło apogeum, uciekłem więc w bezmyślne „googlanie” różnych problemów, których rozwiązania nie szukam.

Jak sprawdzić rozmiary terminala bez używania curses? Aha, ciekawe czy działa. Działa. To dopiszę jeszcze coś. Ha ha.

I tak z minuty na minutę zrobiłem to, co zrobiłem. Najlepiej zmarnowane 30 minut tego tygodnia.

ssh hi@tiny.magt.pl [hasło: hello]

screenshot_ssh_blog

PS. pluje w UTF8, ale bez kontroli, mój developerski serwer dostał ciężkiego zapalenie locales i jestem w trybie idontknowwhatimdoing.jgp

  1. wiem, że są. Chcę tego użyć jako zaczepki do nauki nowego języka programowania, więc NIH jest zupełnie usprawiedliwiony! []

Znikające e-maile

Posted in µGeek | Leave a comment

Przepraszam wszystkich, którzy pisali do mnie e-maile w przeciągu ostatnich dwóch tygodni. Przyszło ich więcej niż zwykle, a ja — będąc obecnie cyfrowym nomadem — wpadłem na pomysł złapania wszystkich moich kont pocztowych w brzuchu Thunderbirda. Zawsze mogłem znaleźć czas na odpisywanie w autobusie czy pociągu. Niestety, ustaliłem właśnie, że znaczna część tych e-maili wyparowała, prawdopodobnie w wyniku konfliktu konfiguracji, którą składuję w Dropboksie.

Przeczołgałem się przez IMAP-owy śmietnik i wyciągnąłem to, co mi się nawinęło. Jeżeli nie otrzymasz odpowiedzi do jutrzejszego popołudnia to znaczy, że Ameba się nażarła. Proszę więc o powtórkę i natarcie mi uszu.

PS. Tak rzadko używam blożka do komunikowania się ze światem, że czuję niemal dreszcz emocji pisząc taki krótki tekst, który nie ma wartości dla postronnego obserwatora i nie został przepuszczony przez baczność Szanowną Panią Redaktor /baczność.

Non_omnis_moriar.doc.gpg

Posted in Pan ma teraz relaks, Pisanina | 13 Comments

Obchodziliśmy niedawno święto ciętej dyni i gumowych masek. To dobry czas, żeby porozmawiać o umieraniu. Nie śmierci kulturowej, nie śmierci w wymiarze metafizycznym, nawet nie o samym fakcie gnicia. Porozmawiajmy o tym, co się dzieje, kiedy wyciągniesz nogi, a jesteś jednym z nas, szczęśliwców – kowalem własnego losu, samozatrudnionym ekspertem, wolną lancą, szybkim jak strzała blogerem.

W oczach świata składasz się ze starszego i młodszego bitu, z cyfrowych pierdnięć w światłowód, jesteś trochę domeną wpisaną w system nazw, odrobinę – profilową fotką. Dla większości z was ja nie jestem niczym więcej, wy nie jesteście niczym więcej dla mnie.

Zanim przyjdą futuryści i podłączą nasze martwe głowy do Internetu, w którym przyjdzie nam śmigać po wsze czasy, musimy jakoś zmierzyć się z faktem, że nigdy wcześniej nasze zejście nie dezintegrowało tylu naszych utworów. Jako wychowanek komputerów powierzyłem wszystkie myśli, wspomnienia, całą pracę zawodową, swoje hobby kawałkom metalu, w których kręcą się magnetyczne krążki. Nie ma listów do kobiet, które kochałem. Są e-maile, które znikną wraz z pierwszym nieopłaconym rachunkiem mojego operatora. Żaden bawidamek w przyszłości nie przeczyta antologii moich listów, by poznać surowe piękno kontaktów międzyludzkich na przełomie tysiąclecia.

Byliśmy tacy dumni, że Internet pozwolił nam wszystkim stać się autorami dzieł, tymczasem za trzydzieści lat okaże się, że przejedzie nas walec głównego nurtu kultury. Wypromowaliśmy sposób przekazu, który wymaga nieustannego karmienia monetami, a nawet nakarmiony może się obalić chromą nogą tej czy innej firmy.

Porzućmy jednak ten wątek. Wątek długiego życia, podczas którego możecie się przygotować, stać się kimś na tyle ważnym, żeby te okruszki życia nie zostały sprzątnięte. Możecie zginąć spektakularnie i niespodziewanie: zadławicie się papierosem, zostaniecie postrzeleni na konferencji, komuś z balkonu spadnie działo argonowe i rozłupie wasz łeb. Co wtedy? Czy któryś z przyjaciół może opłacić Waszą domenę? Napisać ostatnią notkę? Zgrać kopię zdjęć? Co z tymi wszystkimi książkami, filmami i muzyką, które kupiliście? Te DRM-owe na podpałkę, a te bez? Jedyny przypadek, w którym można podzielić między wszystkich tak, że każdy otrzyma komplet.

Jaką politykę obsługi sztywnych klientów ma Twój operator? Czy można wypłakać u Googla nowelkę, którą pisałeś przed śmiercią, schowaną „na sieci” w brzuszku Docsów?

No i rzecz równie ważna. Może najważniejsza, bo to od niej rozpocząłem dumanie nad kwestią śmiertelności w czasach e-wszystkiego. Jest duża szansa, że jesteś jednym z tych kowbojów Internetu. Opiekujesz się sygnaturami elektronicznego bydła twoich klientów. Gdybym teraz skoczył przez okno, pociągnąłbym z sobą kilka firm. Nie dlatego, że spadłbym na ich parking ubrany w kamizelkę z trotylem; w moich rękach witalne są części ich infrastruktury. Przykładowo: dziennie produkuje się około 4GiB różnych backupów, które trafiają do mojego prywatnego kuferka. Wszystkie są zaszyfrowane przy użyciu klucza GPG. Nawet gdyby ktoś wyrwał dysk z mojego laptopa, to wszystkie kopie bezpieczeństwa nie zdadzą się na wiele.

Ten tekst wyszedł troszkę zbyt kpiarsko jak na temat, który chciałem poruszyć. Zawsze jest ten pierwszy raz, kiedy położysz produkcyjną bazę, potkniesz się o kabel, prawie wszystko jest pierwszy raz, a nauczyć się unikać podobnych błędów macie szansę dopiero, gdy popełnicie je po raz trzeci lub siedemnasty. Umiera się tylko raz, dlatego trzeba się do tego przygotować z wyprzedzeniem. Zróbcie sobie, moi admini, moi programiści, moi technologiczni spece od wszystkiego, rachunek sumienia. Usuńcie się z równania i zobaczcie, co znika razem z wami.

Grają dramat na ekranach

Posted in Pisanina | 1 Comment

Jadłem kanapkę z jajkiem, kiedy otworzyły się drzwi od wagonu. Wsiadł on: ubrany w dwie kurtki, z brudnymi, przyklejonymi do czaszki włosami. W ręku trzymał zielony, wiklinowy koszyk. Farba zdawała się być nałożona zbyt entuzjastycznie, być może był to taki model koszyka z wikliny, jaki zamawia się u jakiegoś artysty. Sprawiał wrażenie zaniedbanego i zwariowanego. Okrążył wagon, w którym miałem zamiar spędzić samotne dwie godziny, poświęcając się kontemplacji słowa pisanego. Przycupnął wreszcie na rozkładanych krzesłach używanych na zatłoczonych trasach. Zerwał się dopiero na widok konduktora. Aha, typ bez biletu? Może chciał przemknąć tylko między Kaliską a Widzewem?

Mój współpasażer wyciągnął z wewnętrznej kieszeni jednej z dwóch kurtek portfel i zapłacił za bilet. Kiedy zostaliśmy sami, poprawił się znów na fotelu i wyciągnął z wiklinowego koszyka lewy but. Typ sportowy. Położył go na podłodze i przymierzył do swojej nogi. Ściągnął but, a ja automatycznie odwróciłem wzrok. Cóż może się kryć w bucie dwukurtkowego posiadacza wiklinowych koszyków?

Śnieżnobiała skarpetka. But niestety nie pasował i został ponownie wtrącony do koszykowego więzienia. Uwaga współpasażera przeniosła się na telewizor. Taki, na którym odtwarzane są trzy reklamy. Bez przerwy. Próbował bez powodzenia zmienić kanał.

Nasz wagon był wagonem użytkowym. Miał wieszaki na rowery, podesty dla użytkowników wózków inwalidzkich i toaletę. Toaletę, której drzwi zamykają się i otwierają na dotknięcie świecącego guzika. Towarzysz podróży obszedł ją z zainteresowaniem, nacisnął guzik i zniknął w środku.

Ucieszyłem się. Próbowałem czytać, ale wszystkie jego zachowania mój umysł rejestrował jako „warte uwagi” – jeżeli nie ze względu na noszenie zapasowych lewych butów w plecionym koszyku, to dlatego, że mam lęk przed byciem dziabniętym zardzewiałym nożem.

Po pewnym czasie wyszedł i zadowolony zajął miejsce naprzeciw kabiny. Nie musiał czekać długo, podróż trwała już jakiś czas, pierwszy gość w „jego toalecie” pojawił się w kilka minut po zamachu stanu, którego dokonał na nikim, a dzięki któremu stał się samozwańczym tyranem WC na trasie Łódź-Warszawa.

Goście ustawiali się karnie w kolejce. Otrzymywali instrukcje co do funkcjonowania toalety, jak ją otworzyć, zamknąć, znów otworzyć. Kilka osób podjęło grę. Zadało dodatkowe pytania i otrzymało odpowiedzi. Profesjonalnie. Podejmujesz grę albo spuszczasz oczy i czekasz na koniec instruktażu.

Zbliżaliśmy się powoli do końca naszej wspólnej przygody. Ja, próbujący czytać człowiek z notatnikiem i on, imperator doglądający swoich włości z fotela przy toalecie. Jaki Gal Anonim takie pierwsze królestwo.

Drzwi ubikacji otworzyły się i wyszedł z nich starszy, dystyngowany pan. Ładny płaszcz, stalowe włosy, utrzymany zarost. Nie wyglądał na osobę, która zwykła przyjmować połajanki. Nie od kogoś, kto tuli wiklinowy koszyk, a już z pewnością nie w sprawie zaniechania zamknięcia drzwi od toalety, które zamykają się automatycznie.

Krzyczeli do siebie przez chwilę, a ja oglądałem pantomimę, wygłuszając przedział słuchawkami. Stalowowłosy spojrzał nad fotelem swojego wroga i popatrzył mi w oczy. Bezgłośnie prosił o wsparcie. Wzruszyłem ramionami i odpatrzyłem mu: „Nie moja jurysdykcja, sukinsynu.”

Sytuacja uspokoiła się. Bohaterski obrońca toalety podszedł do telewizora i próbował znów zmienić kanał. Kolejna porażka. Tym razem nie miało się na tym skończyć. Chwycił brzegi ekranu i próbował zerwać go ze ściany.

Ekran po chwili zgasł. Jeżeli nie potrafimy się zachowywać, to nie będzie oglądania telewizji. Zniknął na Zachodnim.

Wysiadł albo nigdy nie istniał.

e-glina

Posted in Pisanina, µGeek | 16 Comments

Na początku ustalmy kilka faktów. Nie jestem dobrym recenzentem i nie lubię pisać recenzji. Moje opinie zbieżne są z opiniami garstki ludzi, którzy zwykle nie potrzebują zewnętrznych potwierdzeń dla wybranego oprogramowania bądź sprzętu.

Nienawidzę wydawać pieniędzy na gadżety. I komputery. Jest coś obrzydliwego w płaceniu za wygląd i markę. Za punkt honoru stawiam sobie wyduszenie z ledwie żywego złomu każdej kropelki elektronicznego potu przed jej śmiercią.

Nie jest to objaw skąpstwa. To kwestia mojej filozofii pracy z komputerami. One mają pracować dla mnie, nie ja dla nich. Możecie z mojego profilu odjąć punkty w pozycji „racjonalność”. Kiedy mówię: „skaczcie!”, one mają odpowiadać: „jak wysoko? (aplikacja nie odpowiada)”.

Tyle w kwestii formalnej.

Kupiłem sobie tablet. Nie z wewnętrznej potrzeby posiadania urządzenia do picia kawy w modnych miejscach. Chciałem zobaczyć, co można wcisnąć w kawałek plastiku za 360 PLN. Nie jestem nowym użytkownikiem takiego urządzenia – w 2004 klikałem w SIMPada SL4, a od 2008 noszę ze sobą N800, która dziś nie załapałaby się na definicję tabletu. Nie miałem wielkich oczekiwań, moje wymogi zamykały się w odtwarzaniu radia last.fm, czytniku komiksów i wyświetlaniu plików wideo. Minął tydzień (a może dwa? Czas nie płynie liniowo podczas nadchodzącej linii śmierci) i mogę podzielić się uwagami.

Depudełkacja

Depudełkacja zwana też unboksingiem jest przeżyciem religijnym, a mnie, jako ateiście, nie jest dane go dostąpić. Rozerwałem pudełko i wysypałem zawartość na biurko. Ze środka, prócz tabletu, wypadły: zasilacz, instrukcja, przewód USB i żeńska przejściówka USB, która pozwala podłączyć urządzenia zewnętrzne. Tablet wyglądał dokładnie jak 360 PLN. Był ciężkawy, plastikowy, a z jednego z boków wystawało trochę nadmiarowego plastiku, milimetr poza obudowę. Ludzie z internetowym OCD1 od razu wrzuciliby takie urządzenie do śmietnika. Kwadrans później miałem do nich dołączyć.

Pierwsze włączenie, wybrałem WiFi, zalogowałem się do konta na Google i pozwoliłem się mu zsynchronizować. Kiedy uznałem, że upłynęło wystarczająco dużo czasu, przesunąłem sobie tablet pod nos i odblokowałem ekran. Chwilę później tablet zdecydował, że rejestrowanie dotyku jest rzeczą zbyteczną, więc każde moje dotknięcie powodowało akcję w zupełnie innej części ekranu. Sfrustrowany i wypłukany już z repertuaru wulgaryzmów cisnąłem go w kąt i tak zostawiłem na godzinę lub dwie. Wtedy urządzenie porzuciło swój bunt i już nigdy nie próbowało rewolucji w temacie koordynatów.

Sprzęt

Tablet ma siedem cali, ekran pojemnościowy z kilkoma aktywnymi punktami. Nie wiem, ile waży. Ma port na kartę SD, wyjście HDMI, port zasilania, port USB, klawisze regulacji głośności i włącznik. Poza tym „na dole” znajdują się trzy dodatkowe guziki dotykowe: menu, home i back. Duplikują idealnie te, które znajdują się w Androidzie 4.0, ale nie będę narzekał.

Opiszę tu jedyną rzecz wartą odnotowania: ekran. Tablet składa się głównie z niego, a reszta to elementy dodatkowe. Zasilacz zasila, USB się komunikuje, tyle.

Ekran jest królewsko okropny. Jest tak okropny, że ściąłbym mu głowę. To chyba pierwszy ekran, który sprawił, że byłem smutny. Pisze to człowiek, który pracował na Amidze w trybie interlace, niszczącym wzrok skuteczniej niż przecieranie oczu wapnem gaszonym. Podświetlanie jest nierówne, daje to efekt „pogiętego papieru” w niektórych aplikacjach, gdzie autorzy niefortunnie dobrali paletę kolorów. Nie mogę też pominąć tego, że na moje oko system pracuje w palecie 16-, a może 15-bitowej. Efekt przejść kolorów w Reddit is Fun powoduje, że nic nie jest fun. O dziwo, najbardziej komfortowe warunki uzyskałem w aplikacji Kindle, która pozwala na inwersję kolorów. Białe litery z czarnego czyta się zdecydowanie lepiej.

Procesor jest. Boxchip A10 taktowany zegarem 1.5 Ghz. 1GiB pamięci. Mimo wysokiego taktowania wydaje się powolny. Nie udało mi się wygooglać żadnych ciekawych informacji (poza tym wiem niewiele o rdzeniach ARM-a), musicie więc polegać na mojej nienaukowej opinii. Wolny procesor w połączeniu z gigabajtem pamięci prowadzi do większej liczby nieszczęść, niż mogłem przewidzieć. Wszystko zostaje w tle, zjadając cykle procesora. Podejrzewam, że urwanie jednej kostki pamięci spowodowałoby znaczne przyspieszenie poprzez wymuszenie pracy wewnętrznego OOMK.

Bateria nie jest jeszcze do końca przetestowana. Wczoraj w nocy wrzuciłem w pełni naładowane urządzonko i chciałem zobaczyć, ile baterii zejdzie do rana. Po pięciu godzinach snu wskaźnik baterii pokazywał dziewięćdziesiąt pięć procent. Niestety, ten niski spadek wynika z bardzo agresywnego usypiania. Sieć bezprzewodowa jest odcinana równocześnie z wygaszeniem ekranu, więc aplikacje działające w tle nie poinformują Was o nowych wiadomościach. Z pewnością da się przestawić, ale absolutnie mi to nie przeszkadza – nie jestem fanem powiadomień.

Do tej pory miałem tylko jedną dłuższą sesję z tabletem. Po 4 godz. czytania Reddita i odpisywania na e-maile bateria pokazywała 56 proc. Myślę, że spokojnie można liczyć na sześć godzin ciągłego użycia. Spodziewałem się dużo gorszego wyniku.

Oprogramowanie

Tablet przychodzi z Androidem 4.0.3. Ku mojej radości nie zostałem skazany na jeden z „alternatywnych” sklepów z aplikacjami i mogłem używać oryginalnego Play Store, dzięki czemu moje zakupione aplikacje oraz „firmówki” takie jak Gmail i Google Maps były dostępne mimo braku „błogosławieństwa” dla produktu od Wielkiego G.

Zainstalowałem mnóstwo różnego śmiecia. Kilka gier, które nie były kłopotliwe i chodziły bardzo ładnie. Jedynym odstępstwem była gra „Cut the Rope”, zarówno wersja darmowa, jak i płatna. Na moje oko (i po odcyfrowaniu komunikatu błędu) system nie zawiera jakiegoś kodeka, który odpowiada za odtwarzanie animacji z intra.

Aplikacje użytkowe także nie sprawiały większego problemu. Comixology wyświetla Batmany, Twitter wyświetla łebskie wpisy znanych i światłych, Last.fm gra moją muzykę, VLC gra moje filmy – lokalnie i ze źródła streamu (oglądałem połowę meczu LM), a nawet via Samba z serwera ukrytego pod stołem kuchennym. Niestety, aplikacje, które potrzebują chwili na osiągnięcie stanu używalności (Flipboard aktualizujący kanały wiadomości), potrafią zatrzymać cały system. Czasem nawet doprowadzić do stanu, w którym zielony robot wyrzuca dłonie w górę, mówiąc „Nie wiem? Może zacznij z początku”, a tablet się restartuje.

Tak, miałem kilka twardych wywrotek. Najgorsze w nich jest to, że nie mogę odkryć dokładnego powodu. Kombinacja aplikacji? Stan baterii? Liczba rzeczy w tle? Jest to chyba najbardziej irytująca rzecz w tej całej zabawie. Mogę przeżyć ten okropny ekran, ale restarty psują całą zabawę w „urządzenie konsumpcyjne” i ciągnie mnie w stronę laptopa.

No i?

Moja opinia jest następująca: zabawka zdecydowanie przebiła moje oczekiwania w kontekście ceny. Oczekiwałem, że cisnę je w kąt po dniu, tymczasem jeździ ze mną non stop. Choć nie zostanie nigdy moim docelowym elektronicznym gadżetem2, to całkiem polubiłem krótkie sesje z Redditem i Readability. Moja N800 może wreszcie odejść na zasłużoną emeryturę. Gdyby wyeliminować te losowe zwieszki (może czas rozejrzeć się za jakąś zewnętrzną dystrybucją?), powiedziałbym, że jest to najlepsza rzecz, jaką można nabyć za 360 PLN.

Niestety, moja opinia jest pokolorowana faktami, o których wspomniałem na początku. Jeżeli chcesz być majnstrimowym użytkownikiem tabletów, to polecam dorzucić jeszcze sto dolarów i kupić Nexusa 7.

W tym tygodniu wykonam factory reset i pożyczę tablet przyjacielowi. Jeżeli jego opinia będzie diametralnie różna od mojej, to poproszę go, żeby zostawił komentarz pod tą notką.

PS Dwa miesiące bez tekstu. Życie nie chce, żebym został popularnym blogerem! Mam w lodówce pięć tekstów, które obiecuję sobie napisać. Tekstów ważnych, rzeczowych – takich, z których jestem znany3. Ba, dwa opowiadania! Za kilka dni zostanę „bezrobotny”, linia śmierci przetnie moje dni i może wreszcie będę mógł cieszyć się rzeczywistością, w której nie jestem zawsze spóźniony dwa dni w stosunku do tego, co mówi kalendarz.

  1. fałszywe OCD, które powoduje, że jesteś fajniejszy w oczach followersów na socjalmediach; nie prawdziwe schorzenie niszczące życie []
  2. wątpię, czy w ogóle jest taki tablet na rynku, mój laptop ma klawiaturę, 8 godz. baterii i waży kilogram. Mam też drugą baterię, która ciągnie kolejne 4 godz. []
  3. ha ha []

Problem z dzięciołem

Posted in Pisanina, µGeek | 7 Comments

Gdyby architekci stawiali budynki tak, jak programiści piszą programy, to jeden dzięcioł rozwaliłby całą naszą cywilizację

„Piękny budynek. Doskonały. Te kształty, basen przy ogródku. Podoba mi się. Naprawdę mi się podoba. Niestety, wnuczek jednej z pań powiedział nam, że w tym sezonie sensowniej byłoby zbudować igloo i martwić się letnimi problemami w lecie. Za ile możemy mieć igloo? Nie znam się na architekturze, ale wygląda mi to na kilka dni roboty.”

Rozmawiałem ostatnio z kilkoma inżynierami. A raczej słuchałem, jak odmieniali cytat z góry przez różne przypadki. Własne przypadki przeżyć podczas używania bardzo złego oprogramowania. Potakiwałem. Nie oszukujmy się, jest cała masa przykładów usprawiedliwiających ich drwiny. Sam, częściej niż bym chciał, produkuję kod, którego jakość można zakwestionować. Nie będąc wtedy w stanie wymyślić jakiejś sensownej linii obrony własnej pracy, zapisałem sobie w notatniku, żeby zmierzyć się z tym problemem w wolnym czasie.

Nie mam niestety wolnego czasu, więc spróbuję podumać „na głos” dziś.

Pierwszym problemem w porównaniu pracy programisty z pracą inżyniera jest końcowy efekt. Życie aplikacji, choć zwykle krótsze niż w przypadku budynku, mostu czy nowego modelu silnika, nie ma końca. Oczywiście pojawiają się nowe, stabilne wersje, ale programista jest zmuszony ciągle odgadywać przyszłe intencje klienta czy też użytkowników. Czasem jedna decyzja technologiczna podjęta w wersji n może okazać się niesamowitym źródłem problemów podczas dopisywania nowej funkcjonalności w wersji n+1. Ten permanentny stan niewiadomej jest źródłem frustracji i mnożenia się błędów i niedociągnięć. Prawię słyszę, jak krzyczycie do mnie o specyfikacji projektowej. Błogosławieni ci, którzy mają specyfikację i klienta, który się jej trzyma. Z mojego doświadczenia wynika, że specyfikacja często jest (jeżeli jest) ogólnym dokumentem, do którego nikt się nie modli. Skoro można pisać poprawki do konstytucji, to czemu nie można zmieniać specyfikacji? I zmienia się specyfikacje aż do momentu, gdy programiści osiągają stan apatii, w którym, często pod wpływem aresztu finansowego, zgadzają się na wszystko jak leci.

Przykład z mojego życia. Klient przychodzi i pragnie sklepu internetowego. Piszemy. Po wykonaniu trzech czwartych projektu następuje piwot, ponieważ klient klienta zmienił zapotrzebowanie. Na podstawie wykonanej pracy mamy zrobić platformę serwującą filmy na żądanie. Niby można, wystarczy ubić koszyk, zmienić profile użytkowników, przerobić trochę kategorie. Da się, są pieniądze. Mijają miesiące. W międzyczasie otrzymujemy przykaz, żeby używać FreeBSD jako platformy. Administrator klienta nie przepada za Linuksem.

Co dalej? Piwot. Klient klienta zbankrutował. Nie można wyrzucić tyle pracy. Przeróbmy to na chmurową platformę, która będzie spięta z Google Apps i będzie potrafiła odpalać oprogramowanie Windowsa przez serwer Citriksa. Aha, zmieńmy też platformę na Windows 2003 i IIS.

Po dwóch latach napisałem, że już dłużej nie mogę, że nie wiem już, co się dzieje w kodzie. Projekt, który zeżarł wiele tysięcy dolarów i wepchnął mnie w zawodową depresję, zostaje spuszczony w kiblu.

Łatwość modyfikacji oprogramowania powoduje, że programiści wszelkiej maści muszą posiadać zmyślone moce Nostradamusa albo być twardzielami, którzy potrafią utrzymać świętość specyfikacji. Koderzy dużo lepiej kodują niż negocjują, dlatego mamy całe masy niespełnionych Nostradamusów i oprogramowanie, które zaciągnęło taki dług technologiczny, że najłatwiej spłacić go butelką benzyny i zapałką.

Ile lat buduje się mosty, stawia domy? Kilka. Inne branże miały czas zakumulować know-how. Programiści chorują chronicznie na brak dobrych wzorców projektowych i ich nieznajomość połączoną z ostrym zapaleniem wyrostka Nie Wynaleziono Tutaj. Dodatkowym problemem jest ciągłe wywracanie technologii do góry nogami. Wczoraj zdecentralizowane dziś się centralizuje, by pojutrze rozproszyć. I choć teoria leżąca u podstaw pisania kodu jest w miarę jednolita, to zmieniają się miejsca, w których wychodzą problemy. Warstwy abstrakcji przykrywają poprzednie warstwy abstrakcji, powodując totalne rozwarstwienie pomiędzy wcześniejszą generacją programistów a generacją obecną. Dorzućmy do tego nieprawdopodobny (nie bez powodów) konserwatyzm wśród zawodowych klikaczy i mamy sytuację, w której dwóch programistów może posiadać sześć rozwiązań problemu. Każdy z nich nie mrugnie nawet okiem, usprawiedliwiając swój wybór. Dodajmy do mikstury świeżych autorów programów, którzy nie zakrzepli jeszcze w swoich schematach i każdy problem rozwiązują, dodając do stosu modne, nieprzetestowane technologie i uzyskujemy totalny kociokwik bibliotek, serwerów i metodologii przebijających swoim spektakularnym końcem dziewiczy rejs Titanica.

Przez pięćdziesiąt lat programowanie zmieniło się tak bardzo, że nie zmieniło się w ogóle. To znów urodziło eksperymentatorów z ciągotami do konserwatyzmu. Tymczasem stała grawitacyjna, wzory na objętość i materiałoznawstwo zdają się trwać. Oni mają ewolucję, a my krwawe rewolucje, które niosą na sztandarach hasło, że „Tym Razem Będzie Dobrze”.

Wiedza. Nie oszukujmy się, można być programistą, kompletnie ignorując jakiekolwiek dziedziny nauki. Kilkuset niezmiernie łebskich gości pisze narzędzia dla niedomytych mas. Niedomyte masy są tak dobre w rozwiązywaniu problemu, jak dobre narzędzia otrzymają od łebskiej elity. Wystarczy jednak wykonać jeden krok poza sferę kompetencji narzędzi, aby przekonać się, jak bardzo przeciętny programista jest w dupie. Bycie w ciemnej dupie nie jest fantastycznym doświadczeniem, dlatego też reakcją obronną jest naginanie dostępnych narzędzi do problemów. Człowiek krojący chleb piłą łańcuchową, człowiek, który ma bazę danych i wszystkie problemy potrafi przydusić tak, aby zamknęły się w SELECT/INSERT/DELETE/UPDATE. Jeden jest najedzony, a drugi ma rozwiązany problem, ale z szerszej perspektywy obaj wyglądają na durnych i lekko zagubionych.

Napisałem fantastyczną bibliotekę do obsługi aplikacji typu data-driven. Schemat bazy jest ekstremalnie generyczny, wszystko można zostawić użytkownikowi. Potem pojawiły się pierwsze problemy: jak rozpoznać, że grupa rekordów już istnieje i należy ją zaktualizować? Trzeba dodać unikalne indeksy. A co z polami o konkretnym typie, które topią się w bezpłciowym schemacie? Trzeba je ewaluować i trzymać cztery kopie tak, żeby dało się wykonać operacje via wbudowany ORM. Zanim się ocknąłem, reimplementowałem bazę danych w bazie danych, w kodzie we frameworku. Wyświetlenie głupiej tabelki zajmuje ORM-owi wieki i generuje kilka trylionów zapytań. Nie rozumiałem problemu, miałem młotek, dookoła mnie same gwoździe. Powbijałem je trzonkiem młotka i uznałem, że wszystko jest w jak najlepszym porządku.

Mimo to uważam, że nie jestem totalnym kretynem. Jestem produktem środowiska, mód i narzędzi. Ostatecznie doczytałem trochę teorii i ponaprawiałem (z pomocą Patrysa) bardziej porąbane miejsca. Kod nie szedł jeszcze na produkcję, ale przecież mógł.

Łatwość, z jaką przychodzi nam budowanie rozwiązań dla oczywistych problemów, włącza nam tunelowe widzenie i wiąże ręce.

Czyli co, nie ma ani krzty nauki, metodologii i dobrych wzorców w całym programistycznym świecie? Skądże, jest coraz lepiej. Coraz lepsze narzędzia, coraz większy zasób wiedzy i metodologie projektowe pomagają nam wydźwignąć się z bagna niekompetencji. Nauczymy się rozwiązywać problemy, przed którymi stajemy zupełnie na golasa, będziemy bohaterami własnych historii.

Do czasu, aż przyjdzie kolejna rewolucja. Wtedy będziemy znów w dupie. I mogę poradzić tylko naukę gry na harmonijce i metalowy kubek, którym będziemy wybijać rytm o nasze superlekkie laptopy, śpiewając:

Nobody knows the trouble I’ve seen

Nobody knows my sorrow

Nobody knows the trouble I’ve seen

Glory hallelujah!

Sometimes I’m up, sometimes I’m down

Oh, yes, Lord

Sometimes I’m almost to the ground

Oh, yes, Lord

Star Wars

Posted in Prywata | 5 Comments

Miałem wujka Andrzeja. Kiedyś do wszystkich sąsiadów mówiło się per „wujku” i „ciociu”. Rzeczywistość życia w końcówce PRL-u powodowała, że kontakty między obcymi sobie ludźmi były bliższe, wszyscy musieli kombinować, a kombinowanie w grupie dawało lepsze rezultaty.

Zanim wujek Andrzej przesiadł się do TIR-a1, jeździł Starem. Imponująca ciężarówka, której podnosiła się kipa. Czasem zabierał mnie do pracy. Odwiedzaliśmy wysypisko śmieci pod Łodzią, czy też częstochowskie centrum przeładunkowe. Podczas tych podróży miałem okazję pierwszy raz słuchać reggae.2

Star zawładnął moim umysłem. Nigdy nie prosiłem o prezenty – byłem jednym z tych fałszywie skromnych dzieci, które żywią się samym faktem moralnego kopniaka, jaki daje im świadomość, że w pewien pokręcony, dziecinny sposób są lepsze od rówieśników. Mimo to tym razem poprosiłem matkę o zakup Stara. Wydawało mi się oczywiste, że posiadanie Stara jest prawem każdego człowieka, zwłaszcza sześciolatka. Matka się zgodziła. Lata odmawiania prezentów wreszcie skumulowały się w jedną wielką, karmiczną wypłatę!

Przejawiając dawno utracony zmysł biznesowy, rozpocząłem systematyczne wizyty w domach sąsiadów. Proponowałem moje usługi w przewożeniu rzeczy Starem, którego dumnym posiadaczem wkrótce miałem się stać. Wszyscy się zgadzali, gładzili mnie po główce i mówili, że oczywiście.

Marketing, bitches!

Przyszedł dzień, w którym miałem otrzymać to, co mi obiecano. Stałem na podwórku i czekałem. Matka otworzyła bramę i widząc mnie, zaczęła iść do mnie z uśmiechem na twarzy. Za sobą ciągnęła pięknego zabawkowego Stara.

Blednę na samo wspomnienie nienawiści, którą czułem. Żalu. Uczucia bycia oszukanym, świadomości, że wszyscy wiedzieli i grali sobie na moich uczuciach do Stara. Zacząłem biec w kierunku matki, ominąłem jej wyciągniętą rękę i wyjebałem Starowi z kopa. Wybiegłem przez otwartą bramę. Finału nie pamiętam. Pamiętam tylko emocje związane z obezwładniającą złością i bezradnością.

Mijają lata, a ja nadal nie potrafię odróżnić wizji, które roztaczam, od rzeczywistości, która przytelepała się na bardzo małych, drewnianych kółkach.

  1. awans zawodowy na miarę czasów wykluwającego się kapitalizmu []
  2. To były jakieś okropne covery jamajskich standardów wykonywane przez germańskie kapele. Zasiały jednak ziarenko. To dygresja, po prostu przewinęło mi się przez głowę, kiedy pierwszy raz usłyszałem „Pass the kutchie” []

Hej, mamy 2012! ...a Twój Internet Explorer ma już ponad 10 lat!

Zaktualizuj natychmiast przeglądarkę lub zainstaluj którąś z alternatywnych:

...po czym wróć na naszą stronę :)