#pokabiurko

Biurko jakie jest każdy widzi. Dziś mamy jego odwzorowanie praktycznie w każdym systemie operacyjnym na każdym urządzeniu wyposażonym w procesor i kolorowy wyświetlacz. Zabawne, że wszystkie implementacje opierają się na tej samej dwuwymiarowej metaforze rodem z Xerox Parc (z korzeniami w latach 70!). Zmiany pojawiające się od tego czasu właściwie nic rewolucyjnego nie wprowadziły, czyżby więc to wszystko co można wymyślić?
Read the rest of this entry »

[ ]

Comments (1)

Jak u Hitchcocka

Parafrazując słowa Hitchcocka: dobry rok powinien się zacząć od trzęsienia ziemi, a potem napięcie musi stopniowo rosnąc… Wygląda więc na to, że nowo napoczęty rok ma szanse być naprawdę dobrym. Zaczął się w każdym razie od trzęsienia ziemi.
Read the rest of this entry »

[ ]

Comments (6)

Backupeer v0.01

Zaczęło się banalnie od rozbudowy parku maszynowego webankiety… kiedy już całość pracowała pełną parą przyszedł czas na backupy danych. Ponieważ taka zmiana to jedyna realna szansa na wypróbowanie nowych rozwiązań postanowiłem poszukać nowego narzędzia do tego zadania. Istotnym argumentem za zmianą było także to, że zmieniły mi się wymagania stawiane przed systemem backupów, a stare skrypty szelowe były mało elastyczne (i średnio czytelne) - nic więc prostszego, znaleźć zainstalować i voila…
Niestety, poległem już na pierwszym etapie, oprogramowania do robienia kopii bezpieczeństwa jest chyba tyle i frameworków webowych w Javie, przejrzałem ileś-tam-projektów, najbliżej podium znalazł się backup-gem. Przyjrzałem się mu dokładniej i trochę zapał mi minął. Okazało się, że realizacja moich założeń będzie wymagała napisania sporej ilości kodu rozszerzającego backup-gem. Zirytowany tym stanem rzeczy postąpiłem jak rasowy geek… postanowiłem stworzyć własne, najlepsze na świecie (a jakże! :)) 1e10+1 rozwiązanie do obsługi backupów - tak narodził się Backupeer.
Read the rest of this entry »

[ ]

Comments (13)

Przetwarzanie logów? Proszę bardzo!

Przydarzyła mi się ostatnio konieczność napisania konwertera do logów. Chodziło z grubsza o zamianę logów wyplutych z aplikacji railsowej na format khm khm XML :) tak aby można było logi wygodnie analizować za pomocą narzędzia Apache Chainsaw (o sposobie wykorzystania tego narzędzia w Railsach pisałem już wcześniej ). Sprawa wydaje się trywialnie prosta, piszemy kawałek kodu w Rubym który wczytuje poszczególne linie z pliku wejściowego, a każdą linię poddaje działaniu RegExpów i sprawa gotowa ale…
Read the rest of this entry »

[ ]

Comments (1)

Narzędzia do kwadratu

Dziś na swoich stronach firma Atlassian poinformowała o przejęciu firmy Cenqua. Po przeczytaniu tej informacji pomyślałem - no nareszcie.
Przyglądając się bliżej produktom obu firm aż dziw bierze, że tak długo były to dwa odrębne byty biznesowe:) Obie firmy oferują bardzo ciekawe (i naprawdę wzajemnie się uzupełniające) narzędzia developerskie, obie korzystają z tej samej technologii. Obie mają podobny system licencjonowania swoich produktów i obie aktywnie wspierają ruch open source. Ceny także mają niestety podobne :)

Przy kilku projektach pracując z rozproszonym zespołem miałem okazję korzystać z tandemu Atlassian Jira (bugtracker) i Atlassian Confluence (wiki na sterydach). Byłem bardzo zadowolony z możliwości obu tych narzędzi, zwłaszcza z wygodnej integracji między nimi. Warto rozważyć ich zakup jeżeli pracuje sie z większym zespołem (i większym budżetem). Dodam, że narzędzia doskonale wpasowywują się w przeróżne dziwactwa (tak, tak Wojtku - to Ciebie mam na myśli :)) narzucane przez szefów działów IT, czy też szefów tych szefów.

Firmę Cenqua poznałem jako autorów naprawdę przyjemnego narzędzia FishEye. Jest to webaplikacja która nadaje webową twarz repozytorium kodu. Takie ostro podkęcone ViewCVS. Jak przydatna jest możliwość przeglądania komitów via web przekonał się każdy kto miał okazję choć raz pracować zdalnie. FishEye współpracuje zarówno z CVS jak i SVN dając możliwość wygodnego przeglądania repozytorium kodu, historii zmian dokonywanych przez poszczególnych członków zespołu itp. Bolesna jest tylko trochę cena.

Dosłownie kilka dni temu miałem natomiast okazję poeksperymentować z najnowszym dzieckiem Cenqua o nazwie Crucible. Jest to narzędzie do przeprowadzania inspekcji kodu (code review). Jest to jedna z praktyk postulowanych w różnych metodykach agilowych. Brzmi może przerażająco, ale chodzi po prostu o możliwość przeglądania i komentowania kodu nawzajem przez członków zespołu. Z mojego doświadczenia wynika, że jest to jedna z najbardziej efektywnych metod podnoszenia jakości kodu, oraz najszybsza metoda nauki (czy jak to mawiają mądrzy ludzie redystrybucji wiedzy w zespole). Interesujące jest to, że o ile bugtrackerów i wiki mamy tyle ile nieprzymierzając frameworków webowych w Javie i php razem wziętych, o tyle narzędzi do code review jest jak na lekarstwo. Naliczyłem wszystkiego kilka sztuk (niech was nie zwiedzie długa lista na sourceforge’u - większość to tylko vaporware :(( ) W swoim czasie zawiedziony kompletnym brakiem alternatywy zmuszony byłem nawet stworzyć samodzielnie narzędzie do code review (ale dzięki niemu poznałem chłopaków pracujących wówczas nad Crucible). Po przejrzeniu możliwości jakie daje aktualna wersja Crucible nie mogę niestety jeszcze polecić go do zastosowania w projekcie. Moim zdaniem brak integracji z bugtrackerem oraz jeden na stałe zaszyty schemat workflow to spore wady.

Jak widać z tego zgrubnego przejrzenia flagowych produktów obu firm połączenie obu zespołów daje spore nadzieje na przyszłość. Trudno się oprzeć wrażeniu, że Atlassian staje się takim Borlandem2.0 (oczywiście mam na myśli Borlanda z jego najlepszych czasów). Mam cichą nadzięję, że występowanie wszystkich narzędzi pod jedną marką wpłynie także pozytywnie na ich cenę :)

[]

Comments (3)