A właśnie, że się da!

O mnie: Programista za dnia, matematyk po zmroku. 27 lat. Interesuję się wizualizacją danych i językami programowania. Ostatnio dużo czasu spędzam z Clojure, dialektem Lispa dla JVM. Rok 2009 spędzam w Kopenhadze i okolicach, gdzie pracuję w małej firmie software'owej.

sobota, 27 czerwca 2009

Bo ja w Danii siedzę

I bawię się całkiem nieźle.

Czasami ma się wrażenie, że to inna planeta. Jeden z moich kolegów ujął to w ten sposób: chciałbym, żeby moje dzieci tu dorastały.

Opublikowano o 09:58 # 0 komentarzy

wtorek, 9 września 2008

Processing i Clojure

Skończyłem dzisiaj dziubać wrappera Processing w Clojure. Miałem go umieścić na githubie, ale ssh robi mi problemy (mam WinXP Home i nie mogę zmienić uprawnień kluczy...).

Update: Ok, pod linuksem push githuba poszedł bez problemu:
http://github.com/rosado/clj-processing/

Opublikowano o 00:01 # 0 komentarzy

niedziela, 31 sierpnia 2008

MathTalker Wystartował

Parę dni temu wystartował MathTalker, mała web aplikacja postawiona na Google App Engine. Do czego to służy? MathTalker to chat room, ale z pewnymi bajerami, tzn. można używać składni podobnej do składni TeX-a, aby wprowadzać formuły matematyczne (TeX to narzędzie, którego używają m.in. matematycy do składania książek, artykułów i prac). Wprowadzone wzorki zostaną wyświetlone tak jak trzeba.

Są jednak pewne wymagania: Firefox 3 i specjalne czcionki matematyczne (szczegóły na stronie).

Jeśli interesują cię techniczne detale, zajrzyj na mojego anglojęzycznego bloga.

Opublikowano o 16:47 # 0 komentarzy

niedziela, 20 lipca 2008

Funkcjonalnie

Ostatnio próbowałem przepisać pewien algorytm na generowanie permutacji w funkcyjny sposób. Oryginał napisano w C#, więc pełno tam efektów ubocznych. Moje pierwsze podejście użycia Clojure do odtworzenia tego algorytmu poszło mniej więcej tak:

Jak widać, zgubiłem się w połowie drogi. Ale to właśnie dostajesz, gdy próbujesz pisać proceduralny/OO kod w funkcyjnym języku, przy użyciu niezmiennych struktur danych. Zazwyczaj właściwą drogą na wydostanie się z bajzlu, jak ten powyżej, jest użycie map lub jej syntaktycznego brata: list comprehension (czyli makro forw Clojure).

Zabawa zakończyła się leniwie wartościowaną listą permutacji, przy czym leniwość kosztowała mnie zero wysiłku - dostałem ją za darmo od języka.

Pisanie w Clojure wciąż nie idzie mi zbyt płynnie, ale nie jest ani w ćwierci tak strasznie, jak wtedy, gdy próbowałem napisać coś sensownego (czyli nie "Hello world") w F#. Prawdopodobnie pomogło zaznajomienie się ze Scheme w ciągu zeszłych 2-3 miesięcy.

Opublikowano o 19:30 # 0 komentarzy

piątek, 27 czerwca 2008

MGR

W środę obroniłem tytuł magistra. Poszło bardzo dobrze.

Dzisiaj wyprowadziłem się z akademika i pożegnałem ze studenckim życiem.

Przez najbliższy miesiąc będę kończył dwa zaczęte projekty (jeden w Javie, drugi w Pythonie+JavaScript). Muszę też podszkolić się z algorytmów (zwłaszcza grafy). No chciałbym znaleźć trochę czasu dla mojej nowej miłości: Clojure.

Opublikowano o 21:09 # 0 komentarzy

czwartek, 24 kwietnia 2008

Opublikowano o 21:23 # 0 komentarzy

sobota, 19 kwietnia 2008

Status Update

Uczelnia

Mimo tego, że jestem na ostatnim semestrze, wciąż mam zajęcia na uczelni, kolokwia, referaty i inne atrakcje. Z tego powodu musiałem odstawić pisanie pracy na prawie 2 tygodnie. Ale od jutra biorę się za wprowadzanie poprawek.

BSG (bez spojlerów)

Próbuję przebrnąć przez trzeci sezon. W USA właśnie emitowany jest czwarty (i ostatni). Zaczęło się nieźle, nie licząc grubego Lee Adamy - co to miało być? Jakiś wątek, z którym scenarzyści nie wiedzieli co zrobić, lecz mimo tego nie wyrzucili go ze scenariusza.

Trochę Linuksa

Nie pamiętam jak to się zaczęło, ale w ciągu kilku ostatnich dni pracowałem głównie pod Linuksem. Unikam tego, bo nie działa hibernacja ani wstrzymanie systemu, czyli dwie podstawowe funkcje laptopa. Wiem, że przyczyną tej usterki są sterowniki ATI - trochę z tym powalczyłem, użyłem jakichś innych i hibernacja + resume zaczęły działać. Szok - nie myślałem, że dożyję tej chwili. Niestety ceną był brak akceleracji sprzętowej grafiki. Chwilowo nie było mi to potrzebne, więc nie musiałem restartować maszyny. Aż do wczoraj.

A gdy chciałem przywrócić poprzednią konfigurację, wszystko zaczęło się chrzanić: np. gdm nie chciał się uruchamiać przy starcie. Ostatecznie pomógł upgrade do nowej wersji Ubuntu, to jest 8.04. Oficjalne wydanie w czwartek, czyli za kilka dni, więc nie powinno być jakichś śmiertelnych bugów.

Rzeczy, które uprzyjemniły mi pracę pod Linuksem: ubuntustudio-theme (widok poniżej), gnome-do oraz schemat kolorów Oblivion dla edytora gedit.

Kolory

Prawdopodobnie TextMate dla Maca rozpowszechnił ciemne kolory w edytorach. Odkąd wypróbowałem podobnego schematu dla VisualStudio, nie mogę znieść "tradycyjnego", białego tła i czarnego tekstu. Za bardzo męczy oczy. gedit używa następujących kolorów:

tło: #2e3436
tekst: #d3d7cf

Update: jest podobny schemat dla vima: darkspectrum

Update 2: Nie mogę w to uwierzyć; teraz suspend i resume działa nawet z driverami ATI.

Opublikowano o 12:46 # 0 komentarzy

Dzielenie Przez Zero wchodzi w skład Halting Problem.net.