Old school Atari poster.
Źródło: http://cargocollective.com/erikjonsson
Źródło: http://cargocollective.com/erikjonsson
Źródło: www.ted.com Świetna sprawa, szczególnie kiedy okablowanie jest jedyną rzeczą, która tak naprawdę ogranicza.
To co widzisz w swoim ulubionym edytorze jest ważne i to nie tylko dlatego, że ma działać, ale też dlatego żeby “łagodziło oko”. Nuda jest straszna to prawda, dlatego zmieniłem sobie font’y w TextMate na Inconsolata jest naprawdę świetna i wygląda doskonale w małych jak i dużych rozmiarach:
Dostałem dość spory kawałek kodu do analizy, jestem leniwy, a jakoże kiedyś (jeszcze za czasów korzystania głównie i przede wszystkich z vim) klikałem ctags stwierdziłem, że teraz mi to będzie potrzebne i to baardzo. google w dłoń i rezultat: http://github.com/sbenhaim/tm-ctags-tmbundle/ Działa świetnie (no prawie idealnie) - parę małych zmian i będzie git (he he he jak sama nazwa wskazuje git-hub :P )
Klasycznie tworząc aplikacje GUI musimy mieć na uwadze jej wielowątkowątkowość. W ActionListener implementować prywatne klasy runnable, thread etc.. metoda sprawdzona i działająca jednak w Java 6 mamy coś nowego, co pozwala na szybkie “oblikanie” wątków. Mowa tutaj o SwingWorker, świetna funkcjonalność - zajmuje się pbsługą wątków za nas, np: Przykład ActionPerformed: $$ private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { if(praca != null && !praca.isDone()) return; praca = new pracuje(); praca.execute(); }$$ Implementacja klasy pracuje: ...
JavaFX daje bardzo duże możliwości budowania RIA, szybko i stosunkowo łatwo, a po zobaczeni efektów: Click To Play czekam na kod ;) Enjoy.
Cyb0org’owa komórka, moja myszka, wynik jak poniżej: Nokia communicator + Mighty Mouse BT = quake fuun ;) from Aleksander Cynarski on Vimeo.
Poniedziałek po dłuższym weekendzie to dobry moment na pewne rozmyślenia. Aktualnie panoszy się wszędzie widmo potencjalnego kryzysu, swoją drogą patrząc na często absurdalne założenia unijnych projektów zastanawiam się czy aby na pewno coś takiego jak kryzys jest, a jeżeli tak to jaki. Niektóre projektuy zakładają ot np. wydawanie na potrzeby biurowe (mały sprzęt biurowy typu: długopisy, kartki, ołówki; bez tzw. ciężkiego sprzętu, czyli FAX, telefon, komputer etc…) miesięcznie 16 tyś. złotych - ja się pytam po co, dlaczego i czy to jest w ogóle możliwe wydać na długopisy dla powiedzmy 25 osób 16 tys. PLN miesięcznie (zaznaczam miesięcznie.). ...
Runaway …. runaway … !!! No ale do rzeczy:
Czsami problemy są nieco ukryte, jednak jak zawsze debug daje radę. Hooks w svn’ie to rzecz bardzo przydatna, jeszcze bardziej jak chcemy po każdym commit’owaniu otrzymać działającą kopię na stronie testowej, klasyczne wykorzystanie cron’a jest często uciążliwe, a hook post-commit wykonywany jest jak sama nazwa wskazuje po commit’owaniu, autoupdate można zrobic tak: {REPO}/hooks/post-commit (skrypt z bitem wykonywalności) $$ #!/bin/sh /usr/local/bin/update$$ Sam skrypt update w moim przypadku to C: $$ #include #include #include int main(void) { execl("/path/to/svn", "svn", "update", "--username", "USERNAME", "--password", "PASSWORD", "--no-auth-cache", "/path/to/svnsite/", (const char *) NULL); return(EXIT_FAILURE); } ` ``` gcc update.c -o update cp update /usr/local/bin chmod +s /usr/local/bin/update$$ W całym kodzie ważny jest –no-auth-cache, ponieważ bez tego system będzie prosić o dopowiedź w jaki sposób przchowywać hasła w pliku cache, jakoże wykonywane jest to przez użytkownika apache (w moim przypadku), który nie posiada własnego shella i home (oczywiste), pytanie takie jest powodem nie działania skryptu. ...