Damian Nowak is a CEO at Virtkick. He's a Ruby coder, an Arch Linux hacker, and drinks good beer.

All posts

I'm building VirtKickNovember 2014

Long time no write. It’s been quite a long. Much happened in the meantime. Long story short, today I’ve got two kiddos, and awaiting a third one. And in the tech field, I completely abandoned Java for Ruby. I was mainly building apps that manage servers somehow - from HTTP, through DNS to virtualization. This all leads to where I’m today.

33degree – wiedza wyniesiona z konferencjiApril 2012

Świat Javy zawsze budzi się na wiosnę. Konferencje 33degree, DevCrowd oraz 4developers już za nami, a wkrótce czekają na nas Geecon i Confitura.

Dzisiaj relacja z 33degree - prezentuję wiedzę prosto z moich notatek. Wpis trochę spóźniony, ale wcześniej nie miałem czasu - a działo się sporo. Zmieniłem stan cywilny, zmieniłem pracę i założyłem firmę. ;-)

Java Web Start complains about unsigned JARsAugust 2011

You are developing a secure Java Web Start (JNLP) application, you sign JARs with jarsigner tool, you have a valid certificate but some people still get Found unsigned entry in resource error message although your JARs are signed and jarsigner -verify accepts them. Did you encounter this problem too?

Kilka słów o sterownikach Nouveau i czterech monitorachJuly 2011

Czy można mieć obsługę czterech monitorów w jednym komputerze w taki sposób, aby dowolnie przeciągać okna pomiędzy poszczególnymi monitorami? Oczywiście bez dodatkowych kosztów np. w postaci specjalistycznego sprzętu czy płatnego systemu operacyjnego pewnej firmy. Yes, we can!

Ruby on Rails - a static site generatorFebruary 2011

Creating a website with Ruby on Rails is just fun. You get lots of things out of the box so that you don’t have to reinvent the wheel. The only thing you have to do is to focus on creating the website. I use Rails both for static and dynamic sites. Hold on, what do you mean by “static” if every Rails application is dynamic? Just consider static every website that can be generated once and served forever.

Lightweight blogging with JekyllFebruary 2011

Privately, we are passionate about software development and open source. Apart from providing a reasonable hosting of Atlassian tools, we want to contribute to community a bit. This is why we decided to run a blog after getting the most important things with AtlasHost done.

Ruby on Rails okiem developera JavyDecember 2010

Jakiś czas temu w mojej głowie narodził się pomysł uruchomienia nowego biznesu - hostingu narzędzi developerskich firmy Atlassian. Ja znam się na administracji tymi narzędziami oraz ich programistycznym rozszerzaniem, zaś kolega kwiat jest administratorem i sieciowcem. W taki sposób powstał AtlasHost, gdzie oferujemy na razie hosting issue trackera JIRA.

Do przyszłych programistówDecember 2010

Uczelnia jest ważna. Student przychodzi z niewielką wiedzą i w trakcie studiów informatycznych zaczyna powoli wszystko rozumieć - dorasta do bycia programistą. Trzeba jednak uważać i nie jeść wszystkiego, czym karmią wykładowcy. Jest to zadanie trudne - bo kogo słuchać, jeśli nie wykładowców? Najpierw posłuchaj mnie, skoro już tutaj trafiłeś. ;-) Na końcu wrócę do tego pytania i postaram się odpowiedzieć.

Ten wpis kieruję do osób, które jeszcze studiują i nigdy nie pracowali w firmie wśród doświadczonych developerów.

Apprenticeship – długa droga ku Software CraftsmanshipNovember 2010

Apprenticeship Patterns. Guidance for the Aspiring Software Craftsman to kolejna przeczytana przeze mnie książka. I w sumie, to nie wiedziałem do końca, o czym będzie. Sprawdziłem tylko w słowniku, że apprentice to praktykant. Tak więc książka miała być o jakichś wzorcach dla praktykanta, który ma ambicję zostać mistrzem w popularnym teraz nurcie Software Craftsmanship.

Java Developer’s Day 2010 – było słaboOctober 2010

Kilka dni temu wróciłem z konferencji Java Developer’s Day 2010 z Krakowa. Moje ogólne wrażenie z konferencji jest słabe. Co z tego, że konferencja trwała dwa dni, jeśli tym razem dostępna była wyłącznie jedna ścieżka? Jeszcze jeden z wykładów był po prostu reklamowy. Przyszła firma i mówiła o sobie – czy za to zapłaciliśmy? Chcemy porozmawiać z firmami podczas przerw – tutaj z kolei panowała cisza jak po śmierci organisty. Aktywność sponsorów podczas przerw była praktycznie zerowa, jeden nawet nie przybył. Dobę przed konferencją zmieniły się godziny prelekcji “z przyczyn niezależnych”. A w losowaniu nagród kolega wygrał książkę o Javie 1.2. To krótkie streszczenie tegorocznego JDD. Zapraszam do przeczytania szczegółowej relacji, jeśli jeszcze nie wierzysz, że było raczej słabo.

Jak być pragmatycznym programistą wg Andrewa Hunta i Davida ThomasaSeptember 2010

Kilka dni temu skończyłem czytać The Pragmatic Programmer – książkę skierowaną do każdego, kto ma ambicję być dobrym programistą. Naprawdę polecam jej przeczytanie. Mimo że książka została wydana w 1999 roku, tematy są nadal na czasie i zostaną aktualne jeszcze przez wiele lat. Ten wpis stanowi krótkie streszczenie książki – wyciągam wszystkie wskazówki z ramek i je opisuję. Ale na początek wstęp - kim w ogóle jest pragmatyczny programista.

O w pełni automatycznych systemach INFO-CAL (cal.pl)August 2010

Bardzo wielu miało różnorakie przeboje, hulanki i swawole z firmą INFO-CAL znaną jako cal.pl. Zdążyłem się już przyzwyczaić do ich sposobu traktowania klienta, ale dzisiaj mnie zaskoczyli. :-) Oczywiście negatywnie, ale – będąc już przyzwyczajony, że to tak musi po prostu być – dzisiaj miała sytuacja jak z kabaretu. Ubaw po pachy.

Wzorce projektowe – krótki opis najważniejszychJuly 2010

Krótki wpis z opisem najważniejszych wzorców projektowych. Po więcej szczegółów odsyłam do innych miejsc w sieci. :) Myślę jednak, że taka minimalistyczna lista wzorców może być przydatna. Opracowałem po przeczytaniu książek Refactoring to Patterns Joshuy Kerievskiego i Effective Java Joshuy Blocha.

JIRA plugin development i szybki deployment z JRebelJuly 2010

Nie od dziś wiadomo, że redeploy aplikacji Javowych to jedna z najbardziej wkurzających rzeczy. Potrafi trwać od kilku sekund do długich minut – wszystko w zależności od wielkości aplikacji oraz użytego serwera aplikacji. Do tego dochodzi jeszcze kilka sekund budowania Mavenem.

Uefektywnij swoją Javę – porady Joshuy BlochaJuly 2010

Miesiąc temu skończyłem czytać książkę Effective Java Joshuy Blocha. Dzisiaj podzielę się setką krótkich myśli, które z niej wyniosłem. Ich kolejność jest najczęściej zgodna z kolejnością przedstawionych w książce tematów.

Delete Driven DevelopmentJune 2010

  1. Usuń losową linię kodu.
  2. Odpal testy jednostkowe.
  3. Jeśli nadal jest zielone światło, zachowaj zmiany na stałe.

Wybory sterowane sondażamiMay 2010

Ostatnio gadaliśmy z kolegą przy piwie o nadchodzących wyborach. Zapytany na kogo zagłosuję bez wahania odparłem, że na Komorowskiego. Wdaliśmy się w dyskusję, czy aby to na pewno jest to dobry kandydat i ostatecznie wyszło na to, że tak naprawdę g...

Modele licencjonowania oprogramowaniaMay 2010

Celem tego artykułu jest porównanie modeli licencjonowania oprogramowania z punktu widzenia programisty, który chce skorzystać z kodu źródłowego napisanego przez innych. Aby bez obaw włączyć cudzy kod do własnego projektu należy w pełni rozumieć licencj...

4developers – relacja z konferencjiMarch 2010

Przed dwunastą przekroczyłem próg swojego mieszkania - wróciłem z konferencji 4developers w Poznaniu. Oto publikuję moje przemyślenia z prezentacji, na których uczestniczyłem.

Linux x64 i emulator Java Micro EditionMarch 2010

Niedawno postanowiłem zainstalować sobie Ubuntu na świeżo, przy okazji migrując na wersję 64-bitową. Jak postanowiłem, tak uczyniłem tydzień temu. Dzisiaj chciałem kontynuować pracę nad jednym projektem w Javie ME i…

Nazywam się Gmail i RFC mam gdzieśJanuary 2010

Początkowo, wpis ten miał charakter szyderczy i kpiący z Gmaila. Po dłuższym badaniu okazało się jednak, że to Gmail ma rację i to on najlepiej wykonuje to, co RFC przykazało. Część szyderczą pozostawiam, aby potem wykazać swoją niewiedzę.

Asus Eee 1005HA – fakty i mity nt. wersji H i MDecember 2009

Jakiś czas temu zastanawiałem się nad kupnem netbooka. Najważniejszym kryterium był dla mnie czas pracy na baterii, dlatego wybór padł na Asus Eee 1005HA. Problemem jednak okazały się całkowicie niespójne oznaczenia - 1005HA(M) i 1005HA(H). Ten wpis ma na celu podanie najważniejszych różnic pomiędzy wersjami 1005HA, aby potencjalni kupujący nie dali wprowadzić się w błąd.

Testy jednostkowe – czym są, po co testować i jak?September 2009

Dzisiaj klient zgłosił mi problem z jedną z jego starych stron. Problem polegał na tym, że zawartość strony wyświetla się trzy razy. Rzeczywiście, kilka dni wcześniej majstrowałem trochę w kodzie kontrolera i widoku, aby ulepszyć generowanie meta-danych pod SEO i przy okazji popsułem inne miejsce.

Ta sytuacja zmotywowała mnie, aby napisać trochę o testach jednostkowych. Stosuję je w codziennej pracy przy niektórych projektach w Javie i PHP - i często ratują mi skórę.

Nie taki Linux straszny, jak go malująSeptember 2009

Moi znajomi znali mnie dotychczas z tego, że lubiłem system Windows do tego stopnia, że nigdy nie przesiadłbym się dobrowolnie na Linuksa do codziennej pracy. Cóż mogę mieć na Linuksie, jeśli tylko kłopoty z niedziałającymi urządzeniami oraz konfigurowaniem wszystkiego w plikach konfiguracyjnych o zakręconej składni?

Maven – podmiana ciągu znaków przed kompilacjąJuly 2009

Dzisiaj w trakcie pracy nad Scrumowym pluginem dla Atlassian JIRA odczułem głęboką potrzebę skonfigurowania Mavenowego skryptu budowania w taki sposób, aby wszystkie wystąpienia tokena ${plugin.version} zostały zamieniane na pewien ciąg znaków jeszcze przed kompilacją.

JIRA Plugin Development w praktyce – potyczki z Mavenem i AtlassianemJuly 2009

Ostatnio w pracy miałem się zająć rozwinięciem pluginu do Atlassian JIRA, który ma wspomagać pracę zespołu deweloperów w metodologii Scrum (agile). Zadanie - od strony technicznej - było bardzo ciekawe, ponieważ dowiedziałem się, w jaki sposób robi się pluginy do JIRY oraz przy okazji mogłem poznać wycinek architektury dużego systemu, jakim jest JIRA. Miałem również możliwość poznania Mockito, ponieważ nie dało się napisać testów jednostkowych JUnit operujących bezpośrednio na całej Jirze. Nie miało to nawet sensu.

Z pamiętnika polskiego kierowcy – słupki na drodzeJuly 2009

Prawie dwa tygodnie temu postanowiłem odwiedzić mojego kolegę i wspólnika, który mieszka w Warszawie. Jako, że miałem do załatwienia coś po drodze w Tczewie, postanowiłem pojechać nową autostradą do końca, dalej drogą krajową numer 1 do Łysomic przed Toruniem, by tam odbić w stronę Warszawy.

Bitwa programistów, czyli TDD Randori SessionJune 2009

Czy widzieliście walczących programistów? Jeśli nie, to wybierzcie się kiedyś na sesję randori. Na czym to polega? Otóż, dwóch programistów siedzi przed jednym komputerem. Jeden z nich pisze kod, drugi zaś go kontroluje i ewentualnie podpowiada. Zasada jest taka, że jeśli jeden pisze test jednostkowy, to drugi pisze implementację. W myśl TDD (test driven development) test jednostkowy pisany jest jako pierwszy. Potem drugi programista pisze tylko tyle implementacji, by zapalił się zielony kolor - czyli przejść nowy test jednostkowy oraz wszystkie poprzednie. Gdy test zakończy się sukcesem, pierwszy programista refaktoryzuje kod kolegi - obserwator widzi zawsze trochę więcej, niż robotnik. ;-)

COOLuary v.2 i Open Space Technology (Unconference)June 2009

Dzisiaj uczestniczyłem w pierwszej części konferencji COOLuary v.2. Nim jednak podzielę się wrażeniami, opiszę samą ideę konferencji tego typu.

Sztuczne sieci neuronowe w Matlabie – zrozum net.IW, LW i bMay 2009

W ramach projektu ze Sztucznej Inteligencji mieliśmy stworzyć sieć neuronową, która będzie odpowiadała, czy punkt S = [x, y] należy do kwadratu spełniającego układ nierówności:

Zagadka w języku JavaMay 2009

Dzisiaj na mojej uczelni odbywały się coroczne Trójmiejskie Targi Pracy. Jedna z firm przedstawiających swoje oferty, Sygnity, zorganizowała mały konkurs z nagrodami. Konkurs miał 10 pytań o tematyce programistycznej (Java, JEE, SQL, build-scripts). Z testu uzyskałem wynik 9/10. Potknąłem się na rzeczy, której byłem po prostu pewien - na analizie krótkiego kodu w języku Java.

Cała prawda o pseudointeligentnym budynku wydziału PG ETIMay 2009

Dzisiaj przypadkowo trafiłem na stronę, na której wychwalano budynek mojego wydziału. Osoba, która nie studiuje na ETI mogłaby naprawdę uwierzyć, że ten budynek jest wręcz perfekcyjny. Niestety, tak nie jest. Ten wpis będzie stanowił uzupełnienie artykułu na MuratorPlus.pl o negatywne strony budynku nowego ETI.

Skróty klawiszowe w Eclipse – szybka naukaApril 2009

Zawsze miałem problem z nauką skrótów klawiszowych w dużych środowiskach programistycznych typu Eclipse, czy NetBeans. Gdy skrótów jest zbyt wiele, ciężko jest zapamiętać więcej niż kilka z listy. Z pomocą przychodzi jednak plugin MouseFeed - jeśli...

Eclipse i Java Micro Edition (JME), czyli zabawy z komórkami – krok po prokuApril 2009

Napisanie pierwszego programu na komórkę w JME (kiedyś J2ME) może być proste, pod warunkiem, że mamy dobre środowisko. Nie da się bowiem pisać programu, nie mając chociażby emulatora komórki pod ręką - najlepiej zintegrowanego z środowiskiem programistycznym (IDE). Wpis ten stanowi krótki poradnik dla osób, które chciałyby napisać swój pierwszy program w Javie ME na komórkę przy użyciu Eclipse.

EasyCall.pl to lamerzyFebruary 2009

Kilka dni temu musiałem wykonać dość długi telefon do Niemczech. Był to więc dobry moment na założenie sobie VoIP-a. Znajomy polecił mi EasyCall.pl, gdyż jest ich klientem od roku i nie narzeka.

Słów kilka o linkach bezpośrednich i SEOFebruary 2009

Bycie developerem to nie tylko tworzenie stron, ale także promocja. Przez promocję rozumiem pozycjonowanie serwisów tak, żeby osoby szukające informacji przez wyszukiwarkę trafiały do mnie. Niestety, w sieci jest na tyle dużo spamu, że samo budowanie dobrych, merytorycznych i przydatnych serwisów to połowa sukcesu.

Prawa właściciela domeny – transfer i wydanie kodu authinfoJanuary 2009

Niewiele osób wie, jakie są ich prawa jako właścicieli domeny. Znajomość tych praw przydaje się w krytycznym momencie – gdy zbliża się koniec ważności domeny, a koszt przedłużenia u innego rejestratora jest znacznie niższy.

Zapisz położenie ikon na pulpicieJanuary 2009

Denerwuje Cię, że Windows czasami resetuje Ci położenie wszystkich ikon pulpitu?

Przychody za reklamę w Internecie – liczbyJanuary 2009

Niedawno Tomek zamieścił na blogu Polish Words krótkie podsumowanie zysków z reklam na jego blogu. Trochę się zdziwiłem relatywnie wysokimi wynikami z reklam kontekstowych, a niskimi z programów partnerskich.

Integracja Open Power Template 2.0 z KohanaPHP 2.2 / 2.3January 2009

Open Power Template w wersji 2.0 ma się coraz lepiej. Niedawno wyszła jego pierwsza wersja beta. Wraz z wersją dev8 zdecydowałem się wykorzystać OPTv2 w produkcji, ponieważ składnia została już zamrożona - jeśli wierzyć zapewnienion Zyx'a ;-).

Wprowadzenie do SmalltalkaJanuary 2009

Niedawno, w ramach zajęć z przedmiotu Języki programowani na mojej uczelni miałem przyjemność poznać w pełni obiektowy język programowania Smalltalk.

OPTv2 tak samo wydajny, jak OPTv1November 2008

Kilka dni temu Zyx zakomunikował światu, iż Open Power Template został prawie ukończony. Wydana została ostatnia wersja developerska (2.0.0-dev8). Jeśli wierzyć zapewnieniom Zyxa, zostało mu już tylko napisać kilkaset testów PHPUnit. Wtedy będzie wiadomo, czy 2.0.0-dev8 stanie się finalną wersją, czy wyszły na jaw jakieś błędy ;)

Integracja Open Power Template 1.x z KohanaPHP 2.2November 2008

Pół roku temu zamieściłem sposób na integrację systemu szablonów Open Power Template z frameworkiem KohanaPHP. Po pewnym czasie doszedłem jednak do wniosku, iż moje rozwiązanie jest lamerskie ;) Oto zamieszczam moduł integrujący Kohanę z OPT w taki sposób, że z szablonów korzystamy zupełnie tak samo, jak z View.

Ratuj Tybet! (c) BluszczAugust 2008

W związku z trwającą właśnie Olimpiadą w Pekinie postanowiłem jeść mniej cukierków. Wierzę, że dzięki tej manifestacji obrony życia, Chiny zaczną respektować prawa człowieka.

Skalowalność systemu na wielu procesorachJune 2008

Na rynku procesorów dla komputerów klasy PC swoje miejsce już dawno znalazły procesory tzw. dwurdzeniowe, a procesory czterordzeniowe stają się coraz tańsze. Procesor wielordzeniowy to de facto układ kilku oddzielnych procesorów o współdzielonej magistrali. Rodzi się pytanie, czy procesor n-rdzeniowy wykona szereg operacji n razy szybciej niż jeden procesor. Jak łatwo się domyśleć, odpowiedź brzmi “nie, jest wykona”.

Bezpieczeństwo SSH to walka, więc ulepsz sshd_config dla szatana!June 2008

Bardzo wiele serwerów korzysta z protokołu SSH do udostępniania powłoki. Wszyscy wiedzą, że jest to protokół bardzo bezpieczny. Mniej osób zdaje sobie sprawę z tego, że najsłabszym ogniwem w systemie zabezpieczeń systemów jest użytkownik i jego hasło. Postaram się przedstawić kilka prostych sztuczek jak uczynić SSH chociaż trochę bezpieczniejszym.

Cztery pulpity w Windows XP i nie tylko – Microsoft PowerToysJune 2008

KDE i Gnome mają obsługę wirtualnych pulpitów już od dawna, podczas gdy najnowszy Windows jeszcze tego nie ma. Podczas przełączania za pomocą ALT+TAB widzimy tylko ikony poszczególnych programów, zamiast podglądu okna programu. I wiele innych… Okazuje się jednak, iż na stronie Microsoftu udostępniona jest seria tzw. PowerToys dla Windows XP, które usprawniają codzienną pracę z systemem.

Opera 9.50? Nie, dziękuję.June 2008

Na wielu subskrybowanych przeze mnie blogach pojawiło się wiele wpisów na temat nowej Opery 9.50. Zachwyt, jaki spowodowała nowa Opera jest ogromny, tymczasem ja jestem nią bardzo zawiedziony. Jeden dzień jej użytkowania i już mam jej dosyć.

O wzorcu projektowym Singletonu słów kilkaJune 2008

Na polskiej Wikipedii przeczytałem, iż singleton jest uważany za antywzorzec. To zdanie wzburzyło mnie dość mocno, ale gdy emocje tego strasznego przeżycia opadły zastanowiłem się, dlaczego autor tak napisał.

Obiektowo czy strukturalnie?May 2008

Malcom na swoim blogu podzielił się swoimi przemyśleniami na temat obiektowości w webdevelopingu, choć nie tylko. Jako że nie zgadzam się za bardzo, z tym, co napisał - odpisałem mu w komentarzu. Tak się tam rozpisałem, że zyskałem i materiał na wpis na moim blogu :)

LightTPD, mod_rewrite i Kohana PHP – ukrywanie index.php/May 2008

Dzisiejszy wpis poświęcony jest integracji frameworka KohanaPHP z serwerem Lighttpd w taki sposób, aby ukryć adres index.php. Tzw. ładne linki, czy nice urls są bardzo ważne pod względem optymalizacji strony internetowej pod wyszukiwarki.

DOS Prompt Here, czyli ułatwienie życia WindowsiarzaMay 2008

Miałem dzisiaj coś do porobienia z poziomu konsoli DOS-owej. Aby wejść do katalogu E:\Programowanie\Java\Książki\Materiały\Java Core 1\v1ch9 musiałem się nieźle ponaciskać tych Tabów, albo naklikać (bo “mądra” konsola DOS'owa nie wie, co to CTRL+V). Wtem przypomniało mi się, że miałem kiedyś w menu kontekstowym pozycję “DOS Prompt Here”, która otwierała mi konsolę na wskazanym katalogu…

Sprzedaż linków tekstowych przez LinkLiftMay 2008

Niektórzy pewnie zauważyli, iż wraz ze zmianą wyglądu bloga pojawił się z prawym menu dodatkowy dział pt. “Rekomendacje”. Owy link to mój pierwszy, jaki udało mi się sprzedać tutaj na moim blogu za pośrednictwem firmy LinkLift.

Integracja Open Power Template z KohanaPHP frameworkMay 2008

Są dwa sposoby, aby zintegrować system szablonów OPT z frameworkiem Kohana. Pierwszy, łatwiejszy i zarazem bardziej elegancki, nie wymaga żadnych modyfikacji w OPT.

CSS Naked DayApril 2008

Dzisiaj, 5 kwietnia obchodzimy CSS Goły Dzień w Polsce (na świecie obchodzimy go 9 kwietnia). Pomyślałem, że warto się przyłączyć i zobaczyć, jak będzie wyglądała strona bez dołączania arkuszy CSS. Jak widać, szablon Wordpressowy jest dobrze zrobiony...

Wielki Post czasem nawróceniaFebruary 2008

Dzisiaj, w Środę Popielcową, weszliśmy - my katolicy - w pierwszy dzień Wielkiego Postu. Wielki Post to okres szczególny. W czasie tych 40 dni mamy czas, aby skierować się czynami w stronę Boga. Czy jednak wykorzystamy ten czas tak, jak się należy...

XSLT jako sposób prezentacji danych XMLJanuary 2008

XSLT, czyli Extensible Stylesheet Language Transformations, służy w skrócie do prezentacji danych zawartych w pliku XML w graficzny sposób. Idea szeroko pojętego rozdzielania treści od formy jest tutaj zachowana. XML przechowuje tylko surowe dane,...

Wydajność MySQL a PostgreSQLDecember 2007

Temat wydajności tych czy innych silników baz danych był już wielokrotnie poruszany na stronach i blogach. Testy, na które się dotychczas natknąłem nie były zbyt wartościowe. Raz MySQL wygrywał, raz PostgreSQL. W dodatku każda dyskusja na temat MySQL...

XML SchemaDecember 2007

Jakiś czas temu w ramach zajęć z Metod Reprezentacji Informacji na studiach musiałem się zaznajomić z szeroko chwalonym przez wykładowców standardem XML. O ile samo tworzenie własnego pliku XML wielką filozofią nie jest, ponieważ to użytkownik tworzy sobie strukturę i znaczniki, o tyle XML Schema nie jest już dowolna. Stworzenie jej za pierwszym razem zajmuje trochę czasu, ponieważ trzeba zaznajomić się z wszystkimi dostępnymi elementami oraz wypróbać to w praktyce.

Kohana PHP frameworkDecember 2007

Kohana to mały framework MVC, wspomagający tworzenie stron internetowych. Wersja 1.0 była forkiem słynącego z prostoty i szybkości (ale i rzadkimi aktualizacjami) CodeIgnitera. Wersja 2.0, wydana około miesiąca temu stanowi już całkowicie osobny projekt. Na aktualizacje nie ma co narzekać - społeczność Kohany na bieżąco zajmuje się poprawianiem błędów i implementacją nowych funkcji.