Roczne archiwum: 2008

mud Astral Dominion

W 1999 roku było kilka popularnych gier typu mud i wraz ze znajomymi ze studiów także prowadziliśmy jednen o nazwie Astral Dominion.

Jakiś czas temu odzyskałem kod mud’a i kilka dni temu uruchomiłem go online.

Jak znajdą się chętni do gry (starzy gracze, których pełny backup także posiadam :) ) to zapraszam:

telnet onjin.net 4000

git cheatsheet

Kontynuując serię, kolejny cheatsheet tym razem do systemu kontroli wersji git.

I jest git … :)

lekkie gnome, openbox zamiast metacity

Lubię gnome, choć niektóre rzeczy mogły by być lepsze np:

  • szybszy start/działania
  • i brakuje mi kombinacji ALT+prawy klawisz myszy do zmiany rozmiarów okien (naleciałość od używania przez lata windowmakera)

Oba problemy rozwiązał mi openbox, który świetnie działa zarówno z Gnome jak i z KDE (oraz samodzielnie :) ).

apt-get install openbox obconf

i gotowe. Teraz można się wylogować i zalogować przy pomocy sesji Gnome/obenbox. Obconf ustawia kilka rzeczy, ale brakuje mu skrótów klawiszowych. Skróty te możemy ustawić w pliku

~/.config/openbox/rc.xml

Można zmienić domyślne przejścia pomiędzy pulpitami z ctrl+F1-x na alt+f1-x (moje ulubione). Trzeba tylko pamiętać by usunąć istniejące już powiązania A-F4 do zamykania okien. Inaczej zostaniemy przeniesieni na pulpit 4, jednak aktywne okno z bieżącego pulpitu zostanie zamknięte ( miałem kilka zdziwionych min ).

Nie udało mi się ustalić kiedy pojawia się plik rc.xml. Czy po użyciu obconf, czy po zamknięciu pierwszej sesji z Gnome/openbox. Jeżeli masz podobny problem to pomoże ci mój plik konfiguracyjny :)

Wystarczy umieścić go w ~/config/opebox/ i zalogować się do Gnome/openbox.
Uwaga: jeżeli włączycie efekty pulpitu, wtedy openbox zostanie zamieniony na powrót na Metacity (don’t do it)

lint dla php

Za dnia piszę najczęściej w php i zazdroszczę pythonowi pylinta.

Z ciekawości zagooglałem i znalazłem rozwiązanie dla PHP sprawdzające Coding Standard:

pear install PHP_CodeSniffer
phpcs --standard=Zend SomeTest.class.php

phpcs -i podaje dostępne standardy:

  • PEAR
  • MySource
  • PHPCS
  • Squiz
  • Zend

Mi najbardzie odpowiada Zend co widać po wynikach lintowania, najczęściej 0 ostrzeżeń i błędów ;) .

phpcs pozwala także tworzyć swoje własne standardy kodowanie oraz – co bardzo mnie cieszy – podpiąć go jako precommit hook do svn’a.

virtualbox brakujący vboxdrv kernel + ubuntu

Czasem w Ubuntu (np przy pakietach proposal) przychodzi wyższa wersja kernela bez upgrade drivera do virtualbox’a

Wtedy pomaga mi taka kombinacja

sudo apt-get install virtualbox-ose-source
sudo m-a update
sudo m-a prepare
sudo m-a a-i virtualbox-ose
sudo /etc/init.d/vboxdrv restart

Restart virtualbox’a i gotow. Back to work.

netbeans 6.5 + php5 + symfony + xdebug

W Netbeans 6.5 pojawia się support dla php5. W/g informacji na stronie netbeans oznacza to:

  • PHP Editor (Code completion, syntactic and semantic code highlighting)
  • Support for heredoc notation and PHTML
  • Debugging using Xdebug
  • Generators for MySQL database code snippets

Temat, który najbardziej mnie interesował to jak zadziała debugging przy pomocy Xdebug. Postanowiłem sprawdzić to z istniejącym projektem bazującym na frameworku Symfony.

  1. Zainstalowałem netbeans pobierając odpowiednią paczkę ze strony netbeans.
  2. Zainstalowałem Xdebug poprzez pecl install xdebug i dodaniu do konfiguracji php wierszy:
    # xdebug, jako zend_extension. ścieżke zmienić należy oczywiście na odpowiednią dla Twojej instalacji
    zend_extension=/usr/lib/php5/20060613+lfs/xdebug.so
    xdebug.remote_enable=on
    
  3. dodałem w netbeans nowy projekt php z istniejącymi źródłami (projekt już mam uruchomiony), podając podaczas konfiguracji:
    • ścieżkę do źródeł projektu,
    • adres url do projektu,
    • katalog zawierający dane web (dostępne poprzez podany url projektu) w tym przypadku podkatalog ‘web’ w katalogu projektu
    • punkt startowy czyli domyślny kontroler dla projektu, w tym przypadku ‘frontend.php’ w podkatalogu ‘web’
  4. następnie wystarczyło otworzyć plik projektu (np podany wyżej kontroler) z toolbar’a wybrać ‘debug project’ lub wciśnąć ctrl+F5

W tym momencie w uruchomionej przeglądarce (u mnie firefox 3.x netbeans otwarł główny kontroler projektu wraz z parameterm XDEBUG_SESSION_START=netbeans-xdebug. W tym samym momencie w edytorze netbeans podświetlony został pierwszy wiersz kontrolera … i już.

Możemy teraz ustawiać watche, breakpointy, poruszać się step out, step in, step up wybierając opcje z menu ‘debug’ lub używająć skrótów klawiszowych.

Dzięki krótkiemu testowi widać, że podstawowy debug działa i można sobie poużywać. Oczywiście jeżeli lubimy php5 i lubimy netbeans lub któreś z nich musimy używać ;)