Archiwum | emil@fuse.pl

JavaScript (a raczej ECMAScript) po stronie serwera

JavaScript kojarzy nam się głównie z window.open, który był przez wielu uznawany za najlepszy sposób nawigacji po stronie w latach dziewięćdziesiątych, modyfikacji drzewa DOM na początku nowego milenium i XMLHttpRequest(); popularnie nazywanego WebDwaZero.

ECMAScript powoli zaczął spełniać rolę uniwersalnego języka skryptowego (pisanie kontrolek do rozmaitych dashboardów, skryptów we Flashu, jako klej między aplikacjami) — a dziś można go używać jako języka skryptowego odpalanego po stronie serwera.

Ale jak to, zapytacie?

Hakerzy — Ash Berlin i Tom Insam — napisali mały proof-of-concept, moduł JS dla serwera Apache. Oto kod(długość pozwala przeczytać go “do kawy”) i strona projektu z kawałkiem przykładowego kodu.

Czego to ludzie nie wymyślą, prawda? Karty perforowane po stronie serwera, nadchodzę!


Styl (jedni go mają, inni kupują)

Jednym z popularniejszych cytatów na Bashu jest następujące zdanie — “Chciałbym żeby klawisz F1 walił twórcę strony po pysku” 1 — skąd się bierze ta agresja skierowana w stronę autorów?

Może to te czcionki o oszałamiającym rozmiarze ośmiu pikseli, może używanie pikseli właśnie, a nie punktów drukarskich (coby się czcionki z DPI ekranu ruszały), lub ten wielki migający GIF z facetem dziabiącym się w oko śrubokrętem.

Opera “od zawsze” miała możliwość w miarę wygodnego definiowania własnych arkuszy stylów. Fx ma Stylish.

Stylish to wtyczka umożliwiająca łatwą i przyjemną zmianę wyglądu dowolnej strony. Dzięki katalogowi dostępnemu na UserStyles nie musimy nawet się wysilać i możemy zdać się na innych, którzy odwalą za nas czarną robotę. 2 Oczywiście, US zawiera gotowe style tylko do stron popularnych i bardzo popularnych. Żeby sprawdzić, czy dana strona ma gotowy szablon w katalogu, wystarczy kliknąć ikonę Stylish, która zwykle znajduje się w dolnym, prawym rogu okna Fx.

Jednym z moich ulubionych stylów jest minimalistyczna Wikipedia. W przypadku Wikipedii zwykle posługuje się URL-em jako jedynym interface: wikipedia.org/wiki/czego_szukam — dzięki nowemu stylowi dostaję jedną “czystą” kartkę z tym, czego szukałem. Czytam i zamykam. 3 Chcecie poprawić sposób wyświetlania komentarzy w Slashdocie? Może irytuje Was sidebar w Diggu? Trzy kliki i jesteśmy gotowi.

Wikipedia wyczyszczona
Stylish

Wikipedia, podejście minimalistyczne

Nie ma śledzi bez róży. I kolców. Pierwszym problemem jest sposób wykrywania stron, do których należy przyłożyć nasze poprawki. Odbywa się to przy pomocy “łapania” adresu. Problem z serwisami udostępnianymi przez molochy takie jak Google. Poprawki Google Readera są aplikowane przez google.com/reader podczas gdy ja notorycznie używam google.pl/reader. Oczywiście, można to w miarę prosto poprawić. Drugi problem jest dużo bardziej prozaiczny. Wiele z zamieszczonych gotowców nie ma dołączonych zrzutów ekranu, będziecie więc musieli klikać i oglądać.

  1. bardzo wolne tłumaczenie, nie chce mi się szukać konkretnego cytatu
  2. lenistwo + praca innych == efekt + radość
  3. Wszyscy wiemy do czego prowadzi klikanie po “See also” i kategoriach

Dzielenie przez zero

Wyobrażacie sobie spotkanie praworęcznych brunetów, pracujących na PC z procesorem AMD, mających na podkładzie dowolnego kota w biegu, zajmujących się zawodowo arkuszami Excela. Nie, to by było dziwne. Jaki jest więc najniższy denominator organizowania spotkań IT? Właśnie się dowiedziałem: binarny stan waginalny.

Po raz kolejny nie mogę się nadziwić zdolnościom separatystycznym kobiet. Są developerzy KDE, i kobiety-developerzy KDE. Są developerzy Ubuntu i kobiety-developerzy Ubuntu. Mają osobne listy dyskusyjne, osobne kanały IRC, a świat przyklaskuje temu jako rozsądnemu krokowi. Bo “w ten sposób budujemy kobietom miejsce w naszej społeczności”.

Halo? Budujemy kobietom? Mnie tam ciągle kobiety powtarzają, że są silne mądre i w ogóle, może niech sobie same zbudują — jak będą miały ochotę? Robienie czegokolwiek-woman nie integruje kobiet ze społecznością tylko zamyka je, potwierdzając stereotypy. Jeżeli ktoś chce być członkiem jakiejś społeczności, to powinien brać pod uwagę z jakich osób się ona składa. Zapisując się dziś na listę makeup-i-rajtuzy mogę oczekiwać, że któraś z uczestniczek zakwestionuje moje preferencje seksualne, ktoś się zaśmieje, ale przecież mam głos i mogę powiedzieć, że zapisałem się bo chcę dyskutować o makijażu i rajtuzach, a nie prowadzić gierki słowne. Dialog z ludźmi i ignorowanie trolli to droga do sukcesu. Drogą do sukcesu nie jest zakładanie makeup-i-rajtuzy-men celem dalszej dyskusji, ale w gronie, które się ze mnie “nie będzie śmiało”.

Dlaczego w ogóle o tym piszę? Otóż warszawskie “giczynki” postanowiły importować zwyczaj obiadków dla pracowniczek IT. Z tego co słyszałem Warszawa ma całkiem fajne spotkania branży. Nie można tego jakoś połączyć? Chyba nigdy nie zrozumiem tego płciowego elitaryzmu.

Takie forkowanie przypomina mi wizję Polski roztaczaną przez niektórych, gdzie nasz kraj jest jedyną wysepką rozsądku na morzu moralnej zgnilizny. Może czas dojść do wniosku, że inne kraje, choć nie idealne, mają swoje zalety.

Hasłem na dziś — luźno związanym z notką — jest: “Faceci do rodzenia, kobiety do stolarni, kołki w serce, administratorzy apt-get dist-upgrade” 1

  1. nowy lighttpd w stable Debiana

Bardzo ładnieście tu napisali — a to jest mój środkowy palec

Firma Monster Cable, słynąca z produkcji osprzętu dla audiodebili (wygrzewarki do kabli, kable po setki dolarów za sztukę, rynienki w których kładzie się kabelki, wykończonym złotem kabli zasilających wtykanych do kontaktu) wysłała list do innego producenta kabli — firm Blue Jeans. List zawierał dobrze nam znane stwierdzenia: łamiecie nasze patenty, nasze znaki towarowe, szkodzicie marce, pozwiemy was! (wstawić śmiech z dna piekła)

Kolejny przykład gdy mały jest popychany przez dużego. Nastąpił jeden problem. CEO Blue Jeans jest z zawodu prawnikiem i przygotował piękną odpowiedź, którą powinniście sobie przeczytać. Tak, jest długa. Dobra szkoła ucierania nosa ludziom, którzy myślą, że sama groźba starczy abyśmy się posikali ze strachu.

After graduating from the University of Pennsylvania Law School in 1985, I spent nineteen years in litigation practice, with a focus upon federal litigation involving large damages and complex issues. My first seven years were spent primarily on the defense side, where I developed an intense frustration with insurance carriers who would settle meritless claims for nuisance value when the better long-term view would have been to fight against vexatious litigation as a matter of principle. In plaintiffs’ practice, likewise, I was always a strong advocate of standing upon principle and taking cases all the way to judgment, even when substantial offers of settlement were on the table. I am “uncompromising” in the most literal sense of the word. If Monster Cable proceeds with litigation against me I will pursue the same merits-driven approach; I do not compromise with bullies and I would rather spend fifty thousand dollars on defense than give you a dollar of unmerited settlement funds. As for signing a licensing agreement for intellectual property which I have not infringed: that will not happen, under any circumstances, whether it makes economic sense or not.


Małe jest użyteczne (choć niezbyt piękne)

Perl to język w którym wszystko można napisać w jednej linii. Sam Perl ma trzy linie, z czego cztery to komentarz. 1 A w innych językach? Czy w innych językach można napisać coś w jednej linijce? Pewnie, że można. Można w jednej linijce, można z użyciem każdego dziwactwa w składni, które przepuszcza kompilator. W ogóle stwierdzam, że programiści lubią zawody w których da się pokazać jaki jesteś cwany. Oraz to, że możesz napisać kod wyglądający jak spacery pijanego kota po klawiaturze, który działa.

Nat Friedman (Mono, [Novell](http://www.novell.com/ “Novell” rzucił propozycję na swoim Twitterze 2 — “napiszmy coś ciekawego w 140 znakach, tak, żeby się nam zmieściło w jednym poście” — programiści odpowiedzieli, a sam Nat umieścił najciekawsze programiki w notatce na swoim blogu.

Moim faworytem jest “znikopis”. Przy pomocy klawiszy 1, 2, 3 i 4 poruszamy kursorem, który rysuje linię składającą się ze znaków “X”. Kod? Proszę.

c=12322123;x=20;y=20;while read -sn1 p;do k=${c:(p-1)*2:2};let x+=$3;let y+=$((k%10-2));echo -en \\033[$y\;"$x"HX;done

Nam pozostaje mieć nadzieję, że programiści nie nadużywają tych zdolności w tworzeniu poważnego oprogramowania. 4

  1. Perl wykracza poza zwykłe ramy naszego wszechświata
  2. to taki zagramaniczny ripoff Blipa
  3. k/10-2
  4. ”Nadzieja jest matką głupich i swoich dzieci nie lubi”

Bolesny upadek z drabiny do wiaderka wody: żart, który nie jest śmieszny

W tym wymiarze i na tej planecie jest kilka pewników:

  1. Kromka spada zawsze posmarowaną stroną na brudną podłogę 2.

    Długość nosa pomaga kobiecie ocenić długość męskiego członka (a nacjonalistom poziom zażydzenia) 3.

    Wiedźmy pływają po wodzie razem z bardzo małymi kamieniami 4.

    Humor jest wyznacznikiem inteligencji

Skupmy się na punkcie czwartym. Ludzie zabawni wydają się inteligentniejsi. Człowiek, który ciągle suszy zęby i wywołuje ten sam efekt u ludzi dookoła, nie może być głupcem. Przecież żeby nas zadowolić potrzeba wysublimowanego i celnego żartu — Benny Hilla lub Jasia Fasoli. Nie śmiejemy się z byle czego. Nikt nie zdaje sobie sprawy jak wiele pracy wymaga bycie zabawnym.

Śmiesznym być to praca, jak każda inna. To godziny spędzone nad pustym edytorem i wewnętrzne dialogi: “Paris Hilton — Banan. Paris Hilton — Banan” z których wiele nie przełoży się na nic zabawnego. Zapamiętajcie sobie: w byciu zabawnym nie ma nic zabawnego! Ludziom się wydaje, że wystarczy napisać dowolną bzdurę, okrasić imionami, które komuś coś mówią i już jest żart.

Bywając czasem na występach komików muszę walczyć z wewnętrznym rozdarciem. Czy — niemrawo klaskając — zachęcać faceta z tacą pełną ciasta i czerwonym nosem do wytężonej pracy nad swoim żartem, który jest słaby, czy też powiedzieć mu, żeby rozważył karierę księgowego. Bo niby kim ja jestem, żeby niszczyć marzenia? No, tylko odbiorcą.

Boje się, że śmiech w blogosferze jest zaraźliwy. Podobnie jak AIDS można się nim zarazić przez stosunek analny z niepewnym partnerem.

22pieduring.jpg


Kwestionuj “autorytety”

autorytety.png


Nie ma brzydkich ‘digital environments’ tylko czasem ~/Desktop/ brak

Cierpię na bardzo groźną chorobę. Choroba ta w swoim terminalnym stadium każe mi pisać skrypty i zmieniać różne rzeczy w systemie. Większość z nich jest głupia i bezużyteczna, ale trafiają się perełki.

Wczoraj udało mi się skasować katalogu \~/Desktop/. Dla osób nie znających Linuksowej nomenklatury — zawartość tego katalogu jest wyświetlana jako pulpit w większości środowisk graficznych (XFce, GNOME, [KDE](http://en.wikipedia.org/wiki/KDEKDE”. Po ponownym zalogowaniu do systemu okazało się, że wszystkie pliki katalogu domowego wylądowały na pulpicie. Zorientowałem się wtedy, że zrobiłem jeden ‘rm -rf‘ za daleko i katalog Desktop wyleciał. Nie było mi go żal, bo przecież i tak nic nie trzymam na pulpicie. Stworzyłem go. Ponowne logowanie nie zmieniło mojej sytuacji.

To mnie zdziwiło. Sprawdziłem prawa do katalogu. Wszystko wydawało się OK. Dobrze, czas więc na zabawę z rzeczą, której nie znoszę pasjami w GNOMEgconf-editor. 1 Niestety, nie udało mi się znaleźć niczego, co by wyglądało na wpis odpowiedzialny za takie zachowanie 2 — moja frustracja na myśl o potencjalnej pracy przez jedną choćby godzinę z takim wizualnym śmietnikiem zaczynała wychodzić poza wykres. Zatrudniłem więc do pracy Google. Po dobrej chwili czytania ‘Just make Desktop folder again‘ — ‘It’s still the same!‘ znalazłem wreszcie jakąś rozsądnie wyglądającą podpowiedź na forum Fedory.

Aby przywrócić swój katalog dla pulpitowych śmieci należy przejść do katalogu \~/.config/, wyedytować plik users-dirs.dirs i zmienić wpis dla XGD_DESKTOP_DIR:

XDG_DESKTOP_DIR=”\$HOME/Desktop”

Pytania:

  1. Czemu oczywista operacja jaką jest skasowanie i przywrócenie folderu nie działa tak, jakby każdy zakładał?
  2. Jak rozumiem \~/Desktop/ jest standardem. Czy nie można — przy braku tego katalogu — robić fallback na \~ bez zapisywania jakichś plików konfiguracyjnych? Ta konfiguracja może sobie zostać, ale niech będzie trzecią instancją, nie pierwszą.
  3. Konsekwencja. Trochę rejestrów, trochę plików. Nie wiadomo skąd zacząć poszukiwania.

Błąd zgłoszony w Wyrzutni. Pulpit pusty.

zrzutekranu-2.png

  1. tak, to otwarty i dostępny ze źródłami system rejestrów. Meh
  2. jest ‘używaj_katalogu_domowego_jako_pulpitu’ ale wtedy nie było zaznaczone

2008.03.29 Bartosz i Iza piją wino w kościele

Warszawa, Plac Narutowicza. Godzina 17. Zimno, ale deszcz przestał padać. Kościół z zewnątrz wygląda jak forteca lub letni hotel Draculi. Nietoperze pod sufitem nie są pytaniem — są pewnością. W takiej oto scenerii nasi przyjaciele — Bartosz i Izabela postanowili zawrzeć związek małżeński.

Nie uczestniczyłem jeszcze w ślubie kościelnym, więc obserwowałem z wielką uwagą. Uroczystość okazała się być mszą z małym wyłomem dla poczęstowania młodej pary winem.

img_0480.jpg

Offtza pije wino, Iza przywykła

Mimo całego mojego cynizmu, niechęci do instytucji małżeństwa, nie potrafiłem się nie uśmiechać. To cholerna frajda móc oglądać bliskie osoby, których życie jest wysepką sensu oblaną oceanami bezsensu. Oglądaliśmy cały proces od ‘chodzenia’ po sobotni finał. I pewnie wielu z nas trochę zazdrości. Albo bardzo. W ten dobry sposób oczywiście.

Offtza, jesteś cholernym szczęściarzem. Iza, jesteś inkarnacją Matki Teresy na środkach uspokajających. :-)

Jak zwykle nie składam życzeń, bo życzenia spełniają się tym, którzy nad nimi pracują.

W imieniu młodej pary chciałbym podziękować wszystkim tym, którzy pofatygowali się z Łodzi na tę — trwającą ledwie godzinkę — ceremonię. Szczególne podziękowania za stworzenie (jak zwykle) atmosfery idą dla grupy zuo: Leafa, Gosi, Oli, Artiego, Metala, Pio, thunga, Toudiego i warszawskiej grupy wsparcia Shota i Marty. Obiecujemy, że na Wasz ślub też wpadniemy i będziemy robić głupie miny.

img_0525.jpg

Rozmazane w ruchu zuo pozdrawia: Pio, moi, metal, thung, Arti, (głowa Shota;), Toudie.


Klamka zapadła

Mac OS X
v10.5WikipediaMam już dość Linsuksa. Windows mnie nie przekonuje. Potrzebuję dobrego produktu, który zapewni mi POSIX-ową kompatybilność, pewność i bezpieczeństwo. Akcelerowany desktop, który nie wymaga zaklęć w linii poleceń. Coś szykownego, coś co zaimponuje klientom. Wybór był jeden. MacBook w wersji czarnej, tak, żeby pasował mi pod koszule.

Na początku nie mogłem się przyzwyczaić do wygody i szybkości z jaką przyszło mi pracować. Desktop jest nie tylko piękny, ale i funkcjonalny. Adium kosi Pidgina na miejscu, pakiet biurowy dostarczany przez Apple wbija w ziemie, a Keynote pozwoliło mi stworzyć zręby prezentacji, którą przygotowuje na następny Boatcamp.

Dzięki faktowi, że Mac OSX jest ‘od drugiej strony’ UNIX-em, mogę ze spokojem dalej używać ulubionych narzędzi. Może to efekt placebo, ale nawet Vim zdaje się udostępniać więcej możliwości. A może to tylko nowsza wersja niż ta, którą uruchamiam na swoim Debianie Potato. Programowanie w Ruby, Pythonie — błahostka.

Zachodzę w głowę czemu nie zrobiłem tego wcześniej. Teraz nie mam już problemów z siecią bezprzewodową, kościami 3D, dźwiękiem. Teraz wreszcie dostałem prawdziwego UNIX-a, który nie ssie!

Mak to wybór prawdziwego geeka.


Kopanie dziur, sztuk pięć, podłoże płaszczyste

Kupiłem sobie szpadel. Przywiozłem go do domu i wyciągnąłem z pudełka. Jak zwykle wszystkie zbędne duperele, które wypadły ze świeżo zakupionym nabytkiem, kopnąłem w kąt pokoju i udałem się przed dom.

Zawsze chciałem być archeologiem i udawać, że czegoś szukam, kasując comiesięczny czek — a w ostateczności zostać ekspertem na wyspie jakiegoś szaleńca, który sklonuje wielkie bakterie z odległej epoki. Będą (te bakterie) powodowały dwumiesięczny katar.

Na razie miałem szpadel i kopałem dziury. To były dziury na miarę moich możliwości — 20 centymetrów w dół, promień 10 centymetrów. Ale byłem z nich dumny. Sam je ‘wyszpadlowałem’. Postanowiłem chwilę odpocząć i przyjąłem pozycję znaną z propagandowych plakatów mówiących o bumelancie, narodzie i 701% normy. Nie minęła chwila a zjawił się — tak myślałem — mój pierwszy fan.

— Czy to Pan wykopał te dziury?

— Uhm — powiedziałem

— Tym szpadlem?

— Jak najbardziej, jak najbardziej.

— Ten szpadel to model Z30. Czy może pokazać mi Pan SEULA?

— Jakie, kurwa, SEULA?!

— Szpadel End User Licence Agreement, oczywiście. Kiedy otworzył Pan paczkę zgodził się Pan na warunki licencji, które mówią, że Szpadla Z30 nie możemy użyć na glebach gliniastych, do wykopów archeologicznych i dla więcej niż 5 dziur dziennie. Do kopania więcej niż pięciu dziur dziennie używam Z30 Ultimate, wykopy archeologiczne i inne działalności komercyjne zapewnia szpadel Z31 lub Z31 Ultimate, zależnie ile dziur chce Pan wykopać.

— Ale… czym one te szpadle różnią?!

— Licencją.

— Czyli fizycznie są takie same, ale posiadają różne — wirtualne — ograniczenia?

— Ograniczenia nie są wirtualne. Otwiera Pan pudełko i już. Zgadza się Pan. Poza tym jest jeszcze różnica w cenie. No i wszystkie dziury wykopane szpadlem Z30 stają się własnością firmy produkującej szpadle. Wiem to, bo jestem ich prawnikiem, a po wyjęciu szpadel wysyła pana koordynaty przez GPS, żebyśmy mogli sprawdzić ile Pan dziur nakopał.

— Nic z tego nie rozumiem. Kupiłem szpadel w markecie. Przecież nikt nie przegląda karteluszek dołączonych do narzędzi! Nikt mi nie powiedział, że nie mogę tego używać jak mi się podoba. Myślałem, że to mój szpadel. Że mogę się na nim podpierać, sprzedać go, kopać dziury, dłubać w nosie, używać w ramach wparcia strajkujących górników. Pan mi mówi, że szpadel to ja zasadniczo mam, ale właściwie wy nim rządzicie, a jak nie kupię takiego samego, ale z inną kartką w środku, to nawet dziury są wasze?

— Tak.

— Spieprzaj Pan natychmiast, bo zdzielę Pana tym przez łeb i wykopię dużo większą dziurę.

Tak właśnie działa EULA. Wiecie, to ta część przy instalowaniu aplikacji, którą Wy ‘I Agree’. Ostatnio wyszły dwa wspaniałe kwiatki z ukochanymi przez wielkie wytwórnie oprogramowania EULA-mi. Wpierw firma Apple zostawiła w przeglądarce Safari notkę, że można jej używać tylko na komputerach Apple. Oczywiście program jest do ściągnięcia dla komputera z systemem Windows. OSX też ma napisane, że jak go kupisz w sklepie, to masz prawo go używać tylko na Macu. Bardzo ciekawe. Ja bym go używał według woli 1 i firma Apple może iść się wypłakać komu chce. Potem Adobe odpalił dość cherlawy Photoshop Express. To serwis pozwalający na delikatną modyfikacje zdjęć i obrazków wgranych do PSE. EULA serwisu mówiła jednak, że Adobe otrzymuje niezbywalne prawo do sprzedawania, zmieniania i używania Waszych fotek jak im się tylko podoba. To bardzo uczciwe.

Błąd wytknięty korporacjom spowodował bardzo podobną odpowiedź z oby dwu stron. “Przepraszamy, tak nam to jakoś się wkleiło, tak być nie miało, zaraz naprawimy”.

No więc tak. Firmy z działem prawników nie miały czasu przeczytać własnych dokumentów, wypuściły je w takiej formie, która jest dość nieprzyjazna użytkownikowi i to jest zupełnie OK. Z drugiej strony dla Jana ‘I Agree’ Kowalskiego nie ma odpustu i on swoją EULA znać powinien.

Kali olać papier — dobrze. Olać papier Kaliego — źle.

I z ostatnich porywających niusów w świecie dosiadających wysokiego konia z podpisem ‘Tuz Moralności’ — firma Sony zostałaprzyłapana na warezowaniu oprogramowania na serwerach.

  1. ze świadomą utratą gwarancji

Połącz, utnij i podziel się: Omnisio

Przeglądając poranne RSS-y wpadłem na bardzo ciekawy projekt. Omnisio, bo tak go nazwano, pozwala na ciekawe zabawy z plikami udostępnianymi przez YouTube. Dzięki narzędziom zawartym w systemie możemy:

  • Budować własną playlistę
  • Tworzyć własny klip z wielu innych klipów, wybierając dowolne części z linii czasu (Klip A od 30 do 47 sekundy, Klip B od 20 do 22)
  • Dodawać komentarze w postaci chmurek (można zawiesić chmurkę “O WYRAZ! Co on robił przy tym golu?!” obok dowolnego obrońcy naszej reprezentacji w kopanej)
  • Budować prostą prezentacje, która będzie się wyświetlać z boku ekranu
  • Budować własne “menu” pozwalające poruszać się po projekcie
  • No i oczywiście używać efektu waszych prac na własnej stronie

Mam nadzieję, że niedługo zobaczymy wysyp ciekawych animacji współtworzonych przy użyciu tej aplikacji. Możliwości łączenia różnych filmów w jedno (że znów wrócę do piłki: straty bramki po stałych fragmentach gry i opis, co robiono źle — możesz zostać Ekspertem TVP siedząc w gaciach przed monitorem) i lepsze możliwości komentowania tego, co oglądamy, to niejako naturalne rozszerzenie funkcjonalności YouTube.

System obsługuje także Blip.tv i Google Video. Polecam zapoznanie się z wideo tutorialem zamieszczonym na stronie projektu


Blip backlog w łatwy i przyjemny sposób

Uzależniłem się od Blipa. Prawie wszystkie rozwiązania przygotowane przez autorów sąblip.png fajowe, męczy mnie tylko przeglądanie backloga, czyli komunikatów napisanych przez obserwowanych użytkowników (lub na obserwowane tagi). Jeżeli mnie pamięć nie myli Filip Tepper napisał jakiś dodatek pozwalający czytać archiwum, sam Blip ma też taką funkcjonalność —  niestety, rozwiązania te nie pasują mi zupełnie. Dużo klikania gdy spędziliśmy kilka godzin/dni z dala od komputera.

Na szczęście Blipa da się obserwować i używać przez Jabbera. Jeżeli macie konto na GMailu to jesteście już w posiadaniu własnego JID-a i możecie ustawić odpowiednie parametry w opcjach. Jabberowy serwer Google ma opcję, która powiadamia Was o wiadomościach, które zostały doręczone podczas nieobecności na komunikatorze, wysyłając e-mail.

Przed udaniem się na spoczynek, czy też idąc gdzieś na dłużej, proszę blipowego bota o dostarczanie mi wiadomości wysyłając komunikat ‘!wlacz’. Resztę załatwia Blip i GMail. Rano mogę sobie odpalić telefon i sprawdzić, czy były jakieś ważne/śmieszne/warte uwagi rzeczy.

backlog.png

Prawdopodobnie istnieją inne, sprytniejsze metody czytania backloga, ale ten absolutnie wpasowuje się w mój sposób używania sieci. Nie mówiąc już o tym, że dzięki ‘!wlacz’, ‘!wylacz’ można w łatwy sposób obserwować i komentować wydarzenia przy użyciu dowolnego klienta Jabbera na telefony komórkowe/PDA.


Przejść Acid, nie brać Acid przy kodowaniu!

Source: FlickrWyobraź sobie, że jesteś developerem dość dużego i znanego projektu. Twój program zdaje się robić jedną rzecz źle, ale tylko dla jednego zestawu danych. Co więc robisz? Sprawdzasz swój kod pod względem błędów, sprawdzasz czy dane wejściowe nie są złe zgodnie z zasadą garbage-in/garbage-out, czy dodajesz do czystego kodu hack rozróżniający ten jeden i dorabiacie do niego osobną strategie?

Jeżeli odpowiedziałeś ‘hack’, to WebKit ma dla Ciebie pozycję commitera. Oto commit #31322 popełniony przez David Hyatta z Apple. Przeczytajcie go, to zaledwie kilka dodanych linii.

Dla tych, którzy nie potrafią analizować kodu. Ta poprawka jest napisana pod kątem ‘lepiej się prezentowania’ Acid3. Czcionka o nazwie ‘Ahem’ się dziwnie renderowała, więc jak wczytuje się czcionka ‘Ahem’, to jej nie wygładzamy.

Zadziwia mnie, że ktoś takie rzeczy przepuszcza do drzewa projektu. Czy Acid3 jest aż taki ważny (nie licząc lansu), żeby utykać dla niego takie jednorazowe obejścia? Wszystkie takie poprawki znajdą Cię kiedyś i ugryzą w tyłek.


Boatcamp, czyli jak w Łodzi hartowała się stal

(Słowo wstępu. Zawsze mi się wydawało, że miasto, które kocham — Łódź — ma jakiś problem mentalny. Znam od cholery zdolnych ludzi ale to wszystko nie przekładało się nigdy na reprezentacje. Już za czasów sceny amigowej Łódź reprezentowało ledwie kilka rozpoznawalnych osób (thung, Metal, Monica, Guma aka Draw, Saddam, Bonzaj) a reszta (jak ja) stanowiło tło do scenowego życia. Warszawa, Wrocław, Poznań — ktoś zawsze był stamtąd — nawet w czasach 2.0)

Oto zakończył się pierwszy Boatcamp — impreza formułą podobna do Barcampu czy spotkań na Chłodnej. Brałem w niej udział i chciałem się podzielić refleksjami. Po pierwsze, brawa dla organizatorów za zabranie się za to. Mi by się nie chciało, moim znajomym by się nie chciało, tysiącu ludzi by się nie chciało — im się chciało. Trójka młodych osób spróbowała wprowadzić Łódź-City w strefę 2.0.

boat.jpg

Część merytoryczna składała się z trzech prezentacji: “Captcha”, “Coworking” i “Adobe AIR”.

Prezentacja o Captcha, chociaż merytorycznie dobra, miała słabe momenty. Autor ugiął się trochę pod presją pytań i zaczął zmieniać zeznania. Raz miało sens mieć taką metodę zabezpieczenia przed spamem, innym razem nie miało to sensu, bo spamboty szybciej deszyfrują Captcha niż ludzie. Dyskusja nie została zakończona konkluzją i to było chyba najgorsze w całości.

Potem przyszedł czas na wystąpienie o coworkingu — mając doświadczenie z pierwszej ręki chciałem posłuchać, co też ciekawego mogą o tym powiedzieć. Prezentacja była dobrze zorganizowana, argumenty słuszne, większość spraw naświetlona a autor z sensem odpowiedział na moje dwa pytania: “Czy zastanawiał się nad prawnymi zabezpieczeniami takiej formy pracy” i “Czy wolałby pracować w coworkingu z przyjaciółmi czy obcymi”. Zdecydowany plus i brawo.

Potem nastąpiła prezentacja Adobe AIR. Byłem ciekaw co też w trawie piszczy, słuchałem więc uważnie. Wystąpienie prowadziły dwie osoby — to był pierwszy błąd — gdyż zależnie od sfery kompetencji jedna osoba wyrywała drugiej mikrofon, mówiąc znów za chicho, co powodowało zawołania “GŁOŚNIEJ” z sali. Podczas słuchania robiłem sobie notatki tak, żebym mógł zadać sensowne pytania. Kiedy skończyli, poprosiłem o mikrofon i zapytałem o kilka rzeczy (z tych, które zapamiętałem)

  1. Czy wiedzą, że “na każdą platformę” to dla Adobe znacz x86? Że ich aplikacje na platformach embedded takich jak ARM i PowerPC nie ruszą
  2. Że Silverlight z którego się naśmiewano, w swojej wolnej implementacji — Moonlight — się kompiluje pod wyżej wymienionym procesorami
  3. Dlaczego zapomnieli o XULRunnerze, który może nie jest genialny, ale zdecydowanie jest
  4. Czy aplikacje używają dostarczonej przez system funkcjonalności (obsługa przez klawiaturę, gesty, eventy do WM i inne ciekawe rzeczy)
  5. Czy uważają, że aplikacja (demonstrowali coś a’la PS) trzymająca dane gdzieś na serwerze w innym kraju to jest to, czego chciałaby firma troszcząca się o dane
  6. Co z niewidomymi (prezentowano system CMS “prawie” jak strona) i niedowidzącmi

Niestety, nasza krótka wymiana zdań została przerwana przez moderatora, który odebrał mi głos po zadaniu kolejnego pytania. Prawdopodobnie miało to związek z moim językiem — trzeba przyznać, dość prostym — bo powiedziałem “Ja gówno wiem o AIR, przekonajcie mnie, że chcę w tym programować”

Dla rozluźnienia atmosfery prezentujący AIR zorganizowali konkurs. Zwycięzca mógł wygrać darmowe piwo. Pierwsze pytanie “Dla kogo pracujemy” spotkał się z ogólnym odgłosem rozbawienia z sali i pomrukami że taki PR ssie jajca. Ssał jajca. Zmieniono strategie: zapytano o języki w których można programować w AIR. Strzeliłem, że to JavaScript i ActionScript. Powiedziano mi, że jeszcze jeden. Odpowiedziałem, że świetnie, ale nie wiem. Ktoś się zgłosił i zaczął dukać, więc mu zawołałem, żeby mówił te dwa, co wymieniłem i walił jeszcze jeden. Nie zgadł. Wreszcie prowadzący objawili, że to HTML.

To zmusiło mnie do podniesienia głosu i zwrócenia uwagi, że HTML jest językiem opisowym, nie przechodzi testu Turinga i tak dalej.

Ponieważ i tu nie udało się przyznać nagrody zapytano o rozszyfrowanie AIR. Straciłem już kompletnie zainteresowanie i zacząłem się zbierać do domu. Ostatecznie kupiłem piwo i postanowiłem dołączyć do jakiejś grupy dyskutantów. Przyłapałem organizatora i przeprowadziliśmy dość miłą rozmowę — mimo mojego poprzedniego zachowania traktował mnie nawet poważnie — z której wynikało, że oni też chcą lepiej. Bardzo dobrze. Nie wątpię, że następny raz będzie fantastyczny i zamknie japy takim draniom jak ja.

Potem nastąpiła najlepsza część programu — zupełnie spontaniczna dyskusja na temat moralności a SEO. Ponieważ znów niewiele osób było zainteresowanych zadawałem pytania ludziom stojącym przy mikrofonie. I wreszcie czułem, że ktoś odpowiada mi z głowy. Trzy czy cztery osoby, z którymi rozmawiałem wpierw przez mikrofon, a później już prywatnie, potrafiły mi odpowiedzieć na pytania, które mnie dręczyły w sprawie SEO. Tak moralne, technologiczne jak i praktyczne.

I to mnie przekonało ostatecznie do Boatcampu. Żeby występować przed ludźmi trzeba na serio być gotowym na wszystko. Nie każdy chce i potrafi. Dla jednych “oficjalki” będą nudne, dla innych trudne. Nigdy nie zadowolisz i mnie, i faceta, który rozpoczyna zabawę w programowanie. Ale “po godzinach” znajdziesz ludzi, którzy zjedli zęby w swojej działce.

Dawno nie słuchałem czegoś z pozycji kompletnego neofity.

Boatcamp I przeszedł do historii. Czekamy na część drugą.

seo.jpg

Specjalne pozdrowienia dla grupy edukacyjnej w kwestii SEO, członków Forum Optymalizacji

Megaspecjalne pozdrowienia (dziękując za cierpliwość w oczekiwaniu na wiadomość) Pannie A.


Napisz mi Haiku (i niech się kompiluje!)

Kilka tygodni temu napisałem bajkę w pseudokodzie. “Czerwonego Kapturka“. Kilku osobom bardzo się spodobało i nawet zastanawiałem się, czy nie napisać czegoś podobnego — teraz już nie muszę — właśnie wpadłem na stronę zawierającą Haiku napisane w Ruby. Ale nie generator. Kod Haiku.

Mój osobisty faworyt to:

def you are

  false

endenjoy life while you /can/

Zaprawdę powiadam Wam, że “code is poetry“.


Jak kończy się świat 1.0

Na początku wszyscy stukali się w głowę, mówiąc: “Jak to? Nie, nie. To nigdy nie zadziała! Nikt się na to nie zgodzi!”. Jak można oddawać swoją pracę za darmo? Nie, fani nie przynoszą żadnych pieniędzy — sprzedaż w markecie przynosi.

Pierwszy artysta wypuścił swoją płytę, potem drugi, Trent pomyślał, że da ludziom szanse pobawienia się jego muzyką i objawił możliwość zakupienia wersji do miksowania. Radiohead wydało “In Rainbows”.

Świat powoli się zmienia — o dziwo — na lepsze dla klientów i autorów. Operacja wycinania wyrostka robaczkowego branży idzie powoli, ale konsekwentnie.

Dziś ruszyła nowa strona South Parku. 1 Dostępne są na niej pełne epizody. Pełne epizody, dwanaście sezonów. Godziny godziny frajdy. Gdzie przelać pieniądze w podzięce? :-)

  1. oglądanie epizodów na tabach czasem dziwnie się zachowuje

Guzik off znaczy płać

Dumą i chlubą Apple jest to, że każdy umie używać ich produktów. Absolutnie każdy — wystarczy mu wytłumaczyć co i jak wcisnąć, dlaczego tak, co robią te ikony. Czyli zupełnie inaczej, niż z produktami konkurencji.

No i wiadomo, że Apple stosuje naukowe podejście do swoich “międzymordź”. Testują je, badają reakcje użytkowników, starają się zachować konsekwencje w projektowaniu i być przewidywalni.

Przyjaciel mój, co mieszka trochę w Polsce, a trochę nie w Polsce, sprawił sobie iPhone. Wszyscy byliśmy z niego dumni. Siedział sobie w biurze przy laptopie i czytał RSSy na telefonie. Każdy z nas podziwiał to cudo techniki.

iphone-sucks.jpgDziś przyjaciel dowidział się (a dowiedziałby się wcześniej, gdyby mnie słuchał, ale mnie się nie słucha gdy mówię o Apple, bo wiadomo, że sobie kpię) jak działa przycisk ‘off’ w produkcie Apple. Zgodnie ze wszystkimi przewidywaniami przycisk ‘off’ włącza blanker nie wyłączając funkcjonalności telefonu. Po wciśnięciu przycisku ‘off’ Twój telefon gada do sieci.

Twój telefon gada do sieci, potem — jak już wyjdziesz z biura — telefon gada do nadajników. Jak jesteś już na granicy, to zaczyna gadać do innych nadajników, których nie obsługuje Orange i Twój pakiet darmowego ruchu via GPRS przestaje mieć znaczenie.

Więc leży sobie Twój telefonik (wyłączony) i klik, klik — “czy Emil coś napisał?”, 50 groszy. “Czy Emil coś napisał?”, 50 groszy. “Czy Emil coś napisał?”, 50 gorszy.

Ziarnko do ziarnka i Orange odmierzy Ci miarkę. Tu, na \~500 PLN. Wcześniejsza — identyczna historia, którą opowiadałem właścicielowi, a którą olał — to przygoda z iPhone zabranym na wakacje do ciepłych krajów, która kosztowała turystę coś w tysiącach dolarów.

Może powinienem zbierać datki na poszkodowanych przez technologię?

I hint: przytrzymajcie dłużej klawisz swojego iPhone, wtedy się wyłączy. Wyłączy wyłączy.


Sabotaż!

Najbardziej podobają mi się gry w które już grałem. To na zasadzie reminiscencji — jak ma mi się podobać gra, w którą jeszcze nie grałem?

Autorzy serwisu Retrosabotage wpadli na świetny pomysł. Weźmiemy gry, które ~~te~~ ~~stare pryki~~ przyszli potencjalni klienci kochają i dodajmy im jakiś innowacyjny pomysł. Zamiast niszczyć — buduj! Tak, w ich wersji Breakouta budujesz paletką szeregi klocków, które faszystowskie piłeczki Ci niszczą. Może Space Invaiders? 1 Tam zawsze mogłeś być zwycięzcą — starczało pewne oko i ręka. Tu jest kilka wersji, a mój ulubiony remiks spowoduje, że poczujsz się jak zaszczuty (w kosmosie) pies (z kilku pikseli).

Autorzy strony robią sobie oczywiste żarty z tych gier — dla odmiany poważnie potraktowali Ponga, którego wersja 3D jest bardzo ładna i chyba wolę ją od oryginału.

Ogólnie — idealny kwadrans z komputerem!

  1. Idę szukać jakiejś normalnej wersji tetj gry, z chęcią bym spróbował, czy jeszcze trafię UFO

Co Twitter złączył niech Blip nie rozłącza

Właśnie przeczytałem o oświadczynach na Twitterze — bardzo to urocze. Nie byłbym sobą gdybym nie zapytał — kiedy będziemy świadkami rozwodu na Blipie? Komunii na Pingerze? Wręczenia dyplonu na Naszej Klasie?

Osobiście — najbardziej — czekam na pogrzeb na Fotce.

Update: Fikcja literacka, ale tak to może wyglądać.

rowzod.png