kod • słowa • emocje

blog Daniela Janusa

Przeczytane: Sen elektryka (Wiesław Myśliwski, „Traktat o łuskaniu fasoli”)

28 lutego 2011 •

Mówi się czasem, że zapamiętujemy wszystko, co rejestrują nasze zmysły. Nawet jeśli wydaje się, że jakieś mało z pozoru znaczące zdarzenie z przeszłości odeszło w zapomnienie – bywa, że ni stąd ni zowąd przypominamy je sobie pod wpływem nowych zmysłowych doznań albo skojarzeń. I właśnie czegoś takiego ostatnio doświadczyłem, odłożywszy na półkę właśnie przeczytany „Traktat o łuskaniu fasoli” Wiesława Myśliwskiego.

Czytaj dalej

Janusowie z Dęblina?

13 lutego 2011

Pisze do mnie Nan Cain z Florissant, Missouri (cytuję w tłumaczeniu):

Mój dziadek, Walenty Janus, urodził się w Polsce w roku 1890. Przybył do Stanów Zjednoczonych w młodym wieku, osiadł w stanie Michigan i ożenił się z Sophie Hojnacki. Próbuję dowiedzieć się czegoś więcej o jego rodzinie (być może jego ojciec miał na imię Franciszka [sic!]). W dokumentach imigracyjnych jako miejscowość pochodzenia figuruje Giblin, ale nie mogę znaleźć miejscowości w Polsce o tej nazwie.

Czytaj dalej

Smyrna

Dziś chciałbym zaprezentować kolejny stworzony przeze mnie przykład wykorzystania Clojure w praktyce – program Smyrna. To proste narzędzie do przeszukiwania korpusów: umożliwia łatwe zindeksowanie zbioru dokumentów w formacie HTML, wyszukanie wystąpień interesującego nas leksemu i stworzenie listy frekwencyjnej słów.

Czytaj dalej

Clojure: czyszczenie dowiązań lokalnych

31 stycznia 2011 •

O jednej z nowych cech Clojure 1.2 dowiedziałem się dopiero niedawno, bo jej wprowadzenie przeszło właściwie bez echa. Może dlatego, że to optymalizacja niewidoczna na zewnątrz; jednak rozwiązuje ważny problem i dlatego warto mieć świadomość jej istnienia. Chodzi o locals clearing, które tłumaczę na polski jako „czyszczenie lokalnych dowiązań”.

Czytaj dalej

Pokoloruj sobie Europę!

19 stycznia 2011 •

To jest druga część minicyklu zapoczątkowanego artykułem o zipperach. Temat ten zaprezentowałem również podczas wystąpienia na spotkaniu Warszawa JUG. Dostępne są slajdy z tej prezentacji (uwaga: slajdy mają postać oskryptowanego HTML; należy je oglądać w Firefoksie lub którejś przeglądarce WebKitowej). Można również obejrzeć nagranie wideo wystąpienia, niestety ze słabą jakością dźwięku.

Czytaj dalej

Pierwsze użycie: protokoły i git-bisect

13 stycznia 2011 •

Lubię rozwiązywać problemy przy użyciu narzędzi, których dotychczas nie znałem albo znałem tylko teoretycznie, na zasadzie „wiem, że istnieje coś takiego i do czego z grubsza służy”. Jeszcze przyjemniej jest, kiedy uzyskane rozwiązanie okazuje się czytelniejsze, zrozumialsze, szybsze albo pod innymi względami lepsze niż wersja używająca tylko dotychczasowego „arsenału”. W tych dniach zdarzyło mi się tego doświadczyć dwukrotnie, gdy pracowałem nad Fablo.

Czytaj dalej

Zippery w Clojure

25 listopada 2010 •

Niniejszy artykuł jest pierwszym z dwuczęściowego minicyklu, stanowiącego demonstrację wykorzystania Clojure w praktyce do prostego, acz nietrywialnego zadania, na które natknąłem się w codziennej pracy. Dzisiejsza część może wydać się mało interesująca i mocno teoretyczna, ale mam nadzieję, że następny odcinek pokaże, jak można ją ciekawie wykorzystać (na razie nie zdradzę, jakie to wykorzystanie).

Czytaj dalej

Filmujmy błędy!

19 listopada 2010 •

Każdy programista (o ile jego oprogramowanie jest używane przez kogoś jeszcze poza nim samym) dostał kiedyś zgłoszenie błędu w programie. Wielu pracuje na co dzień z systemami śledzenia błędów, wielu zgłasza błędy w programach, których sami używają.

Czytaj dalej

Wiersze nieprzetłumaczalne: Robert Browning, „Toccata Galuppiego”

15 listopada 2010 •

„Nie ma wierszy nieprzekładalnych, są tylko leniwi tłumacze”. Taki aforyzm nieznanego autorstwa cytuje Stanisław Barańczak w „Ocalonym w tłumaczeniu”, zastrzegając się, że nie jest pewien jego słuszności. I choć Barańczak kontestuje istnienie takich wierszy, których on sam nie potrafiłby na polski przełożyć, nieprzekładalności dopatrując się raczej w tłumaczeniach w drugą stronę – ja od czasu do czasu, zastanawiając się nad tym, jak po polsku mógłby brzmieć ten lub inny wiersz, dochodzę do wniosku, że dobrze przetłumaczyć się go nie da. Dziś przykład: Toccata Galuppiego (A Toccata of Galuppi's) Roberta Browninga, wiersz z roku 1855 ze zbioru „Women and Men”.

Czytaj dalej

Leniwa wersja makra ->

11 listopada 2010 •

Jacek Laskowski podaje ciekawy przykład wykorzystania monad w Clojure -- aplikowanie kolejnych funkcji do wyrażenia, dopóki ma ono wartość nie będącą nil. Przykład mi się podoba, bo jest prosty, ale nie trywialny – wykorzystuje monadę maybe do eleganckiego rozwiązania rzeczywistego problemu. Jest to w dodatku problem, z którym borykają się czasem programiści piszący w Javie, co widać choćby w tym wątku.

Czytaj dalej