Na wyspach

Img_0248

Na początku marca tego roku poszedłem do baru mlecznego na naleśniki. Zmieściłem tylko dwa i pół z zamówionych trzech. Więcej tam nie pójdę, ale nie dlatego, że mi nie smakowały. Kilka tygodni temu przeprowadziłem się do Londynu, więc niestety będę mógł się regularnie opychać żorskimi naleśnikami.

Img_0254

Powodem przeprowadzki była nowa praca. Jeszcze trzy lata temu, gdy wybrałem Clojure jako mój następny, główny język programowania, nie za bardzo wierzyłem, że będę kiedyś używał go w pracy. A dzisiaj używam Clojure pracując dla jednego z wielkich banków.

Clj_job_tweet
Dzielnica Londynu, w której pracuję, robi wrażenie. Jeszcze kilka miesięcy temu nie wiedziałem o istnieniu Canary Wharf, a stolica UK nie kojarzyła mi się nigdy ze szklanymi wieżowcami.

Na jakieś szersze impresje z miasta jeszcze za wcześnie, muszę uporządkować parę spraw, dopiero wtedy włączę tryb turysty.

Img_0275

Co ostatnio porabiałem?

Img_0231

Od września siedzę w Polsce, w swoim starym mieszkaniu. Nie mam za bardzo ochoty pisać o Danii. Poznałem mnóstwo fajnych ludzi itd. A pogoda wcale nie jest tam taka straszna.

Ostatnie kilka miesięcy spędziłem głównie na nauce; zacząłem pracę na pewnymi projektami. Jeden z nich powinienem skończyć niebawem. Drugi, którym jestem bardzo podjarany, zajmie mi co najmniej kilka miesięcy. Chciałbym też dobrze udokumentować jego develompent i rozważam kilka opcji (coś w stylu literate programming).

Pod koniec zeszłego roku dołączyłem też do grupy tworzącej moda do Crysis'a. Jest to nieoficjalny sequel do Outcast'a, dobrze wspominanej gry wydanej pod koniec lat 90-tych (do kupienia na GOG.com). To, co do tej pory ten team wypuścił wygląda świetnie, zobacz sam.

Zdradzę tylko, że w chwili obecnej pracuję nad narzędziami dla game designerów i zaznajamiam się z API CryEngine'u.

Na koniec pro tip: kawa z odrobiną cynamonu smakuje lepiej.

Zima

P167

Wciąż żyję. Większy update niebawem.

Tagged life zima

Bo ja w Danii siedzę

Media_http4bpblogspot_vhjnx

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.

Tagged dania life

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/

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.

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:

Media_httplh3ggphtcom_iecqa

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.

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.

Tagged life studia

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.

Media_httpbp1bloggerc_oihbe

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.