poniedziałek, grudnia 21, 2009

Za oknem śnieg...

Za oknem sypie śnieg... pięknie, k...a, pięknie... Uruchomiłem stronę jjhop.info. Jak ktoś zainteresowany to zapraszam, ale uwaga! pełny oldschool

sobota, grudnia 12, 2009

Song of Freedom

Świetne wykonanie jednego z najładniejszych utworów Boba Marleya.

środa, listopada 25, 2009

Settlers - niespodzianka :)


Niedawno (no kilka tygodni temu) pojawiła się zapowiedź i trailer siódmej części gry a tu dziś wchodzę do Empiku i co widzę - Settlers - Narodziny kultur. Teraz korzystając z chwili przed snem postanowiłem dowiedzieć się o co chodzi? No i proszę - wszystko się wyjaśniło :). Więcej tutaj. Teraz nie pozostaje nic innego jak kupić i pograć :) no i szybko, bo wiosną nadejdzie część siódma :)

sobota, listopada 14, 2009

Erlang, Clojure, Scheme i inne...

Od kilku miesięcy przyzwyczajam głowę (a właściwie jej najbardziej odporną na zmiany część, czyli było nie było - mózg) do nowego spojrzenia na programowanie, myślę oczywiście o deklaratywnym modelu programowania w językach funkcyjnych. Zacząłem od Erlanga, książka była pod ręką więc było mi najprościej (sic!), szybko jednak dostrzegłem braki i sięgnąłem po dwa świetne podręczniki (jeden opisuje w jakiejś części język Scheme - "How to Design Programs", w polskiej wersji tutaj, drugi to znacznie bardziej teoretyczna praca, w której autorzy przedstawiają modele programistyczne na podstawie języka MozartOz - "Concepts, Techniques, and Models of Computer Programming" także dostępna w polskiej wersji tutaj.
Przyznam szczerze, że o ile How to Design Programs czyta się dość dobrze i wprowadzenie do programowania funkcyjnego jest w niej dość praktycznie zrealizowane o tyle druga z książek jest większym wyzwaniem.
W każdym razie uzbrojony w wiedzę z pierwszej i pobieżnie (mój błąd) zaczerpniętą z drugiej sięgnąłem po Erlang. Tutaj jest nieco inaczej niż w Scheme czy Mozarcie ale wciąż deklaratywnie i funkcyjnie :). Program powolnie powstaje i mam nadzieję, że okaże się niezawodny i odporny na błędy (choć wiem, że obie właściwości są raczej średnią włożonej w projekt i implementację oraz doświadczenia zespołu [[także z samym językiem, w którym program jest implementowany]]). Tymczasem w ręce wpadła mi kolejna książka o kolejnym funkcyjnym języku - Clojure a że autor języka Rich Hickey twierdzi, że to tak naprawdę tylko nowy Lisp a Paul Graham, że Lisp jest najpotężniejszym językiem nie pozostało nic innego jak przystąpić do pracy :)
Pierwsze wrażenia są raczej pozytywne choć nie jest łatwo. Słaba (tak mi się przynajmniej wydaje - jestem przyzwyczajony do dokumentacji Javy), mimo niewątpliwego wysiłku twórcy/twórców, dokumentacja nieco utrudnia początki. Jednak cel jest więc popracuję. Na początek moje Clojurowe tłumaczenie jednego z przykładów z książki Programming Erlang:

* Erlang (str 45 w książce)

Fruit = [apple, pear,orange]
MakeTest = fun(L) -> (fun(X) -> lists:member(X,L) end) end
IsFruit= MakeTest(Fruit)

IsFruit(pear) %% true
IsFruit(apple) %% true
IsFuite(dog) %% false

* Clojure

(def Fruits #{"Apple", "Pear", "Orange"})
(defn MakeTest [L] (fn [X] (contains? L X)))
(def IsFruit (MakeTest Fruits))

(IsFruit "Pear") ; true
(IsFruit "Apple") ; true
(IsFruit "Dog") ; false

* Scheme

(define Fruits (list "Apple" "Pear" "Orange"))
(define make-test
(lambda(L)
(lambda(X)
(member X L))))

(define is-fruit (make-test Fruits))
(is-fruit "Apple") ; true
(is-fruit "Pear") ; true
(is-fruit "Dog") ; false


Będę dalej wrzucał moje clojurowe wersje (czasami także scheme'owe jak w tym wypadku). W razie potrzeby mogę - w miarę moich skromnych możliwości - pomóc uruchomić te przykłady.

piątek, listopada 13, 2009

Historia o podatkach

Gdzieś na dysku znalazłem... świetne więc wrzucam, autora niestety nie znam.

Historia o podatkach..

Załóżmy, że każdego popołudnia 10 znajomych wybiera się wspólnie na obiad do restauracji. Rachunek za cały obiad wynosi 100 zł. Ponieważ cała dziesiątka nie zarabia po równo, a wręcz przeciwnie -- mają bardzo zróżnicowane zarobki, postanowili, że rachunek będą płacić w następujący sposób:
* Czterech najbiedniejszych nie zapłaci nic.
* Piąty od końca pod względem dochodów zapłaci 1 zł.
* Szósty -- 3 zł.
* Siódmy -- 7 zł.
* Ósmy -- 12 zł.
* Dziewiąty -- 18 zł.
* Dziesiąty, najbogatszy z nich wszystkich -- 59 zł.
* Tak sobie postanowili.
Ale pewnego dnia właściciel restauracji oznajmił im:
-- Jesteście takimi dobrymi klientami, że obniżę wam cenę za 10 obiadów o 20 zł.
Więc posiłek kosztował ich 80 zł. Ale ciągle chcieli płacić rachunek w ten sam sposób. Więc 4 najbiedniejszych ciągle jadłoby za darmo. Pozostałych 6 policzyło, że obniżka, 20 zł, podzielona na 6 daje 3,33 zł, jeśli więc każdemu płacącemu oddać te pieniądze, to właściwie piąty i szósty dostaliby pieniądze za zjedzenie posiłku. Właściciel restauracji, widząc, że panowie mają problem z podzieleniem kwoty obniżki, zaproponował im, żeby każdy z płacących dostał zwrot
proporcjonalny do tego, ile wcześniej płacił. I tak:
* Czterech najbiedniejszych ciągle jadło za darmo.
* Piąty, teraz nie płaci nic, tak jak poprzednich czterech.
* Szósty teraz płaci 2 zł, zamiast 3 zł (obniżka o 33%).
* Siódmy -- 5 zł, zamiast 7 zł (obniżka o 28%).
* Ósmy -- 9 zł, zamiast 12 zł (obniżka o 25%).
* Dziewiąty -- 14 zł, zamiast 18 zł (obniżka o 22%)
* Dziesiąty -- 49 zł, zamiast 59 zł (obniżka o 16% ).
Pierwszych czterech ciągle je za darmo, a z pozostałej szóstki każdy skorzystał i je taniej niż poprzednio. Jednak kiedy wyszli z restauracji zaczęli porównywać, ile każdy zyskał:
- Dostałem tylko złotówkę z 20 zł -- powiedział Szósty -- ale Dziesiąty dostał połowę, 10 zł!
- Właśnie! Ja też dostałem tylko złotówkę -- przytaknął mu Piąty -- To niesprawiedliwe, że on dostał 10 razy więcej niż ja!
- To prawda! -- dodał Siódmy -- Czemu on dostał 10 zł, a ja tylko 2zł?
Bogaci dostają najwięcej!
- A my nic nie dostaliśmy -- zaczęła krzyczeć pierwsza czwórka -- Ten system wykorzystuje najbiedniejszych!
Cała dziewiątka otoczyła Dziesiątego i dotkliwie go pobiła. Następnego dnia znów przyszli na obiad. Ale Dziesiąty się nie pojawił.
Kiedy przyszło do płacenia rachunku, zorientowali się, że pomimo obniżki ceny, nie są w stanie zapłacić nawet połowy rachunku!
I tak to już jest z podatkami, drodzy lewicowcy, zwolennicy państwa socjalnego i głosiciele "sprawiedliwości społecznej". Bogaci najbardziej zyskują na obniżce podatków, ale spróbujcie ich opodatkować za bardzo, atakujcie za bycie bogatymi, a następnym razem mogą nie pokazać się przy stoliku. Jest wiele świetnych restauracji w innych krajach.

czwartek, października 22, 2009

Twitter - over capacity...

Kilka dni temu założyłem konto na Twitterze. W końcu. I wciąż jakieś kłody pod nogi. Najczęściej trafiam na taki miły komunikat:

HTTP Server Error 503
No available server to handle this request.

No cóż... może kiedyś uda się. Adres mojego profilu to http://twitter.com/RKotusiewicz

środa, kwietnia 08, 2009

Deser owocowy i kanapka...

Czasami, gdy Zosia nie bardzo ma ochotę coś zjeść trzeba się mocno starać, żeby coś jednak schrupała. Zwykle stajemy wtedy na głowie i czasami wychodzą z tego naprawdę zabawne rzeczy. Oto dwie z nich:

Deser owocowy






Karuzelowa kanapka






No i cóż, niby trzeba się postarać, ale taka umysłowa gimnastyka dla własnego dziecka jest przecież bardzo bardzo miła :) a więc zawsze, gdy jest okazja staramy się i dajemy z siebie wszystko.

Zbliżają się święta z jajkiem...

Zbliżają się święta z jajkiem w tle, czyli czas podzielić się przepisem na jakąś potrawę (potrawkę) z jajek. Nie jestem co prawda kucharzem z zawodu ale trochę z zamiłowania więc coś w zanadrzu mam :). Problem polega na tym, że część moich potraw za każdym razem wygląda i smakuje nieco inaczej (tak już mam), jednak jak mówią konsumujący je - smakują nieźle a czasami nieco nawet lepiej.
Dziś przedstawię moje ulubione jajka faszerowane w zielonej scenerii - nazwa to robocza i trochę na wyrost, ale co sobie żałować :).

Krok 1


Zanim przystąpimy do jakiejkolwiek pracy warto zgromadzić jakieś składniki, dla mnie najczęściej są nimi:

  • jajka kurze - około 5-6 szt na porcję przekąskową dla trzech osób

  • puszka sardynek w sosie pomidorowym (mogą być także śledzie)

  • ząbek czosnku

  • sól, pieprz i kto tam co lubi, może być także bazylia suszona


Z bazylią to historia taka, że do czegokolwiek się jej nie doda to coś od razu nabiera smaku i rumieńców i włoskiego zadzioru, nawet jeśli smakuje tak sobie :).

Krok 2



Jajka warto ugotować - surowe do niczego się nam tutaj nie przydadzą. Ale aby je dobrze ugotować należy po pierwsze wyjąć z lodówki przynajmniej 30 minut przed wrzuceniem do wrzącej osolonej nieco wody. Gotujemy je około 8-10 minut. A jeśli jajo podczas gotowania wypływa na wierzch to powinno to wzbudzić nasze podejrzenia (ja takie jaja wyrzucam bo najpewniej popsują atmosferę w kuchni).

Krok 3



Ugotowane jaja wyjmujemy z wody (narzędziem jakimś nie paluszkami - bo woda pewnie gorąca jak diabli jeszcze) i studzimy w naczyniu z zimną wodą. Podczas, gdy one dochodzą do temperatury, która czyni je zdatnymi do dalszej obróbki można a wręcz należy zająć się pozostałymi składnikami. Ząbek czosnku siekamy tak drobno jak nóż pozwala. Puszkę z rybkami (koniecznie w sosie pomidorowym) otwieramy ostrożnie.
Teraz naszykujmy naczynie jakieś, do którego rybki wraz z sosem można przełożyć i uczyńmy to. Dorzućmy posiekany czosnek.

Krok 4



Jaja wystudzone mokrym nożem przecinamy wzdłuż dokładnie w połowie. Teraz widać, że żółtko zostało dokładnie w środku jaja (po to właśnie jaja wyciągaliśmy z lodówki długo przed wrzuceniem do wody). Ostrożnie teraz wydłubujemy żółtka z białek by tych nie uszkodzić i wrzucamy do naczynia, w którym czeka na nie rybka, sos pomidorowy i czosnek. To czynimy ze wszystkimi jajami.

Krok 5



Korzystając z widelca energicznym ruchem mieszając i ugniatając zamieniamy zawartość naczynia z żółtkami itd w gładką masę. Kierując się sobie właściwym poczuciem smaku doprawiamy ją za pomocą soli, pieprzu, wspomnianej bazylii lub czegoś co aktualnie mamy pod ręką i uznamy, że smak całości skieruje we właściwą stronę.

Krok 6



Układamy pozostałe części jajka na desce i za pomocą łyżeczki w puste miejsca nakładamy przygotowaną masę pozostawiając ją nieco wypukła ponad płaszczyznę jaja (a właściwie jego połowy).





Krok 7



Kierując się własnym smakiem a także zawartością lodówki i przybudówek stroimy talerzyki i układamy na nich jajka. Aby były podane na zielono skorzystamy z sałaty i plasterków kiwi. A by smak potrawy nieco rozweselić i urozmaicić proponuję na wykałaczkach podać parę oliwek i kilka plasterków sera pleśniowego (sugeruję camembert ale brie także będzie dobry) i... gotowe!!!


czwartek, kwietnia 02, 2009

Queensryche "American Soldier"


Kilka dni temu premierę miała nowa płyta Queensryche - jak w tutule - "American Soldier". Niestety nie udało mi się jej kupić od razu w dniu premiery (w Polsce będzie dostępna od szóstego kwietnia) ale znalazłem ją na sieci i mimo wyrzutów sumienia ściągnąłem - i tak ją za kilka dni kupię więc nie ma dramatu (choć wyrzuty są).
Na płycie znajduje się 12 utworów. Są dość różne ale styl spójny - ten który lubie najbardziej u Queensryche, czyli obrany gdzieś w okolicach "Hear in the Now Frontier" a "dopieszczony" na Q2K. Zabieram się do obsłuchiwania, choć nie ukrywam, że od dwóch dni płyta towarzyszy mi podczas wszystkich spacerów i podczas pracy przy komputerze. Naprawdę zaskakująca i świetna. Nie polecam nie-fanom, za to fanom polecam jak najbardziej :)