blog Daniela Janusa
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.
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).
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ą.
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”.
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.
O łącznikach i myślnikach w metrze, czyli dlaczego typografii powinno się uczyć w szkołach
7 listopada 2010
Lubię ekrany informacyjne zainstalowane w metrze warszawskim, tak na stacjach, jak i w pociągach; pozwalają nie nudzić się, gdy akurat nie mam pod ręką niczego innego do czytania. Jednak treść prezentowana na tych wyświetlaczach pozostawia często wiele do życzenia, także pod względem jej prezentacji.
Zaczynamy
6 listopada 2010
Jeszcze jeden blog? Nie dość było jednego, i tak nieczęsto uaktualnianego? A jednak.
Od jakiegoś czasu prowadzę nieregularny blog po angielsku. Zbierając pomysły na notki zauważyłem, że część z nich ma charakter trochę hermetyczny, raczej niezrozumiały dla szerokiej, angielskojęzycznej publiczności. Teksty, które dotyczą lokalnych, warszawskich spraw albo języka polskiego, nie nadawałyby się na angielskiego bloga. Pomyślałem też, że pisząc po polsku o Clojure mógłbym przyczynić się do popularyzacji tego języka wśród polskich programistów.