Archiwum październik, 2007

Ruby ma nowe logo…

Właśnie wpadło mi do RSSa. Zakończył się konkurs na oficjalne logo dla Ruby’ego. Wygrał projekt, który hmm… może się podobać… chyba tylko ultra hardcore’owym programistom korzystającym wyłącznie z trybu tekstowego i pozbawionym elementarnego poczucia estetyki. Mam wrażenie, że logo powstało przez losowe przestawianie bitów bezpośrednio na talerzach dysku twardego swego twórcy. Jednym słowem logo jest boleśnie paskudne.
Sami popatrzcie na ten żenujący zbitek pikseli:

Ruby logo

News o nowym logosie na rubyinside.com ma już ponad 70 komentarzy, przeskanowałem je i (na szczęscie) nie natrafiłem na żaden pozytywny :) Pozwolę sobie zacytować kilka perełek:

Wow is that a logo, looks like a 1980’s programming book cover.

Mój ulubiony komentarz:

Well, apparently Matz, while a fantastic programmer, has no taste what so ever. The “logo”, if you can even call it that, is horrible. Absolutely horrible. It looks like a joke, I had to double check the date to make sure today is not April first.

Ponieważ nie chcę kończyć pesymistycznie oto słowa optymisty:

The best part about it is that I never have to use it in anything that I do, ever.

Może to jednak tylko ponury żart na święto duchów…

[]

Komentarze (4)

Nie ma róży bez twarzy?

Co ma wspólnego róża polarna z rozpoznawaniem twarzy? Jak to jest gdy odchodzi się z corpo do startupu? Jak finansowane są inne startupy w Europie? O tym wszystkim rozmawiam z Tomkiem - jedną z pierwszych osób w Polsce zaangażowaną przez startup Polar Rose.
Przeczytaj cały wpis »

[]

Komentarze (5)

Największy kawałek kodu…

Dziś w webankiecie miał premierę nowy moduł pozwalający na zmianę wyglądu ankiety samodzielnie przez użytkownika. Projektując ten moduł doszedłem do wniosku, że aby dać prawdziwą moc w ręce ludu będę zmuszony stworzyć szereg małych edytorów pozwalających na zmianę parametrów poszczególnych atrybutów CSS. Dopiero te edytory mogą utworzyć coś co będzie można nazwać edytorem szablonów. Aby pokazać co mam na myśli mówiąc o edytorach oto rysunek z instrukcji prezentujący edytor dla obramowań:

Edytor obramowań

Zadanie było o tyle ambitne, że zwykle rozwiązania szumnie nazywane edytorami szablonów sprowadzają się do możliwości zmiany kolorów tła (mam na myśli oczywiście rozwiązania w aplikacjach webowych). Planowane przeze mnie rozszerzenie interakcji użytkownika ze stroną wymagało dosyć rozważnego podejmowania decyzji dot. sposobu implementacji.

Na pierwszy ogień poszedł RJS, wkrótce jednak okazało się, że w tym przypadku jego zalety stają sie przekleństwem. Konieczność ‘konsultowania’ z serwerem każdej akcji wykonanej w UI przez użytkownika wiązała się z przesadnie wielką liczbą gadek klient-serwer, a w efekcie cały edytor sprawiał wrażenie niemrawego. Przy okazji sprawdziłem w praktyce, że przy bardziej skomplikowanych konstruktach RJS ma poważną wadę - wymaga ciągłego przełączania kontekstu mentalnego pomiędzy Ruby a JavaScript. Wydaje się, że helpery dostarczane przez railsy eliminują tą konieczność - praktyka pokazuje, że jednak nie. Gdy do tego dołożymy potrzebę sporej elastyczności na etapie projektowania interakcji (nie wszystko da się zasymulować na kartce papieru - czasem trzeba też poklikać) - RJS wypada niestety słabo.

Na czym stanęło? Na banalnie prostym podziale - niech każdy robi to na czym się zna najlepiej. Przeglądarka rysuje html do którego dopinane są JavaScriptowe kontrolery - razem tworząc żywe i reagujące na zmiany kontrolki. Poszczególnymi edytorami zarządza jeden główny kontroler, którego zasadniczym zadaniem jest wymiana danych z serwerem. Przez dane rozumiem tu już tylko gotowe informacje o parametrach szablonu, któresą przesyłane na serwer jako JSON. Serwer zajmuje się więc tylko zamianą otrzymanego JSONa na CSS (za pomocą zwykłego szablonu ERb). Takie naturalne rozdzielenie zakresu obowiązków spowodowało znaczne uproszczenie w pracy nad modułem - nie było potrzebne choćby ciągłe przełączanie kontekstów mentalnych :) Po przygotowaniu części serverside i otestowaniu generacji CSSa spokojnie mogłem przesiąść się na pracę tylko z częścią klienta.
A końcowy efekt? To największy spójny (w sensie poświęcony temu samemu zadaniu) fragment kodu w JavaScript jaki napisałem :) źródła mają w sumie ok. 120kB.

Jak mój wypasiony edytor szablonów działa w praktyce? Zapraszam do wersji demo webankiety.

[ ]

Komentarze (2)

Rails 2.0 okiem zgreda

Z końcem września na oficjalnym blogu railsów pojawiła się informacja o nadchodzącej wersji 2.0. Przeskok od wersji 1.0 do 2.0 to zawsze jest trauma i dla projektu i dla jego użytkowników. O zmianach i ZMIANACH w railsach 2.0 mówiło się od jakiegoś czasu. Nie ma się co dziwić - projekt wyrósł z lokalnej anomalii do popularnego frameworka używanego przez wiele serwisów. Zmiany są więc konieczne zwłaszcza, gdy coraz częściej przebąkuje się o enterprajsowych zapędach RoR. Sam także miałem przygotowaną swoją prywatną listę oczekiwań wobec nowych railsów. Dopiero dziś miałem odrobinę czasu i zaległem w wannie, aby na spokojnie poczytać o tym co nadchodzi. Poczytałem i… przyznam trochę się rozczarowałem.
Przeczytaj cały wpis »

[]

Komentarze (11)