Archive

Archive for the ‘polish’ Category

Po Szczecińskiej Konferencji OpenSource

November 23rd, 2009 No comments

W dniach 20-21 listopada odbyła się druga Szczecińska Konferencja OpenSource (de facto pierwsza edycja nazywała się: Szczecińska Konferencja OpenSolaris ale to już jest w kwestii organizatorów ;) ). Ogólna tematyka konferencji w większości poświęcona była OpenSolarisowi, pomiędzy prezentacje o zonach, zfs (… czyli to co jak powiedział Damian Wojsław: każda porządna konferencja o OpenSolarisie powinna posiadać) itp. wpleciono dość zgrabnie aspekty prawne dotyczące OpenSource, Sambe4, systemy biblioteczne, XEN’a, Firefoxa i PostrgreSQL.

Pierwszego dnia kulturalnie się spóźniłem kilka minut i ominą mnie początek pierwszej prezentacji o OpenSolarisie, na szczęście na pozostałych prezentacjach byłem już obecny w całości, tak więc po kolei. Druga prezentacja Piotra Jasiukajtisa bardzo ładnie prezentowała wykorzystanie mechanizmów które są dostępne tylko w *Solarisie (należy pamiętać o tym że wszystkie omawiane technologie istnieją również w innych systemach ale nie zawsze są odpowiednikami 1 do 1 w stosunku do prezentowanych). Ogólnie prezentacja bardzo przypadła mi od gustu, gdyż w przeciwieństwie do tego co było rok temu, pokazywała jak praktycznie są wykorzystywane zony, zfs i mechanizm wirtualizacji. Dla mnie jako osoby która na co dzień nie ma styczności z *Solarisem nie jest ważne to jak skonfigurować zfs’a, zone czy cokolwiek innego, tylko gdzie to można użyć, jakie problemy rozwiązać. Dzięki tej prezentacji wiem, że mechanizm snapshot’ów w zfs’ie na prawdę jest przydatny oraz jest praktycznie jedynym rozwiązaniem jeżeli chodzi o backup dużej porcji danych które się cały czas zmieniają. To samo dotyczy zon. Takie podejście do mnie trafia ;)

Kolejna prezentacja nt. aspektów prawnych Rafała Malujdy była równie cennym doświadczeniem. Przede wszystkim dla tego, że w końcu zobaczyłem że OpenSource nie tylko dostrzegany jest przez środowisko IT oraz pasjonatów/hobbystów informatyki ale też przez inne grupy zawodowe oraz że jest on postrzegany jako równie interesujący. Cieszę się bardzo, że ten temat został poruszony na tej konferencji oraz, że prelegent jest ze Szczecina ;) .

Samba 4 … przed tą prezentacją wiedziałem tylko że jest jakaś samba, do czego służy oraz jak mniej więcej powstała. Po prezentacji TomLee’go (tj. Tomasza Woźniaka) wiem dużo więcej o ciekawej (moim zdaniem) historii tego projektu, o tym jak jest rozwijany … a co konkretnie będzie w kolejnej wesji to szczerze mówiąc jest dla mnie miej istotne ;)

RBAC i OpenSolaris, czyli dostęp oparty o role w w/w systemie. Prezentacja rzeczowa i przyjemna, szkoda tylko że ograniczona tylko do OpenSolarisa … rozumiem, że tam jest to zrobione najlepiej ale moim zdaniem warto by też wspomnieć więcej o innych systemach i dostępnych tam implementacjach. AFAIK i nie czegoś nie pomieszałem to dla linuxa dostępne są trzy implementacje RSBAC, SeLinux, grsecurity … to takie moje małe wtrącenia jako sympatyka linuxa ;)

Drugi dzień konferencji również obfitował w wykłady o OpenSolarisie które poruszały już bardziej zaawansowane tematy które jakoś nie specjalnie mnie … aktualnie programistę, a nie admina … porwały ;) . Za to wszystkie tematy nie związane z OpenSolaristem były bardzo ciekawe ;)

Wegług kolejności pierwszy był Firefox prezentowany przez Roberta Partykę . Muszę przyznać, że nie wiedziałem iż ta przeglądarka posiada takie możliwości. Tak wiem, spora ilość pluginów może o tym świadczyć. Prezentacja była bardzo rzeczowa (aczkolwiek można by trochę popracować nad jej kolorystyką i wielkością czcionki ;) ), na prawdę zrobiła na mnie spore wrażenie … do tego stopnia, że przesiadłem się ponownie z Opery na Firefox’a. Swoją drogą jestem ciekaw dlaczego ktoś jeszcze nie pokusił się (a przynajmniej nic mi o tym nie wiadomo) o pisanie plugin’ów do firefox’a z wykorzystaniem GWT … przecież to JavaScript, a w Javie przecież jest wygodniej ;)

Ostatnio mognym tematem jest wirtualizacja … może z powodu kryzysu w którym to tnie się koszty ;) . Nie mogło jej zabraknąć również na tej konferencji, najpierw Marcin Weksznejder mówił o wirtualizacji pod OpenSolarisem, potem Sebastian Szary mówił o XENie. Prezentacja mocno ukierunkowana była na praktyczne wykorzystanie tej technologii. O wirtualizacji z wykorzystaniem XEN’a mówił na GeeCon’ie oraz JAVArsovii mówił również Waldemar Kot … w sumie były to prezentacje o wirtualizacji JVM, a nie całego systemu operacyjnego ;)

Hitem całej konferencji okazała się prezentacja Piotra Wejmana o systemie bibliotecznym … głównie dzięki niesamowitemu prowadzącemu który w poprowadził tą prezentację (mógł bym porównać poziom tej prezentacji do poziomu Jacka Laskowskiego). Prezentacja ta była kolejnym dowodem, że oprogramowanie OpenSource coraz aktywniej bierze udział w walce rynkowej oraz, że coraz częściej jest postrzegane jako właściwy wybór/kierunek. O samej aplikacji Koha nie będę się rozwodził, jedyne co mogę napisać to to, że na podstawie zaprezentowanych screenshot’ów rzeczywiście bije na głowę zamkniętą konkurencję.

Pod przewrotnym tytułem kolejnej prezentacji “Słonie w akcji”, poprowadzonej znowu przez Roberta Partykę ukrywała się PostgreSQL. Kolejna świetna prezentacja na wysokim poziomie. Dzięki tej prezentacji wiem jak sporo jeszcze nie wiem o PostgreSQL oraz, że w miarę możliwości będę wybierał ten system bazodanowy, a nie MySQL’a ;) . Robertowi należą się spore brawa za przygotownie dwuch na prawdę dobrych i interesujących prezentacji, jestem pod wrażeniem jego wiedzy oraz umiejętności jej przekazania jak i umiejętności prowadzenia prezentacji … na prawdę jest z kogo brać przykład ;)

Ostatnia prezentacja dotyczyła wykorzystania wolnego oprogramowania w firmie. TomLee przedstawił kilka przykładowych scenariuszy oraz listę zamienników dla płatnych aplikacji … szkoda tylko, że na audytorium nie było ludzi którzy mogli by z tej wiedzy skorzystać … cóż, są sobie sami winni …

Po konferencji odbyło się nie oficjalne wspólne spotkanie przy nie pasteryzowanym piwie w PetitParis w czasie którego poruszane były przeróżne tematy ;) kto nie był ten niech żałuje ;P

Cieszę się, że w Szczecinie odbywają się takie imprezy. Jest to już druga konferencja informatyczna odbywająca się cyklicznie w tym mieście (pierwsza jest Java4People ;) ), mam nadzieje że za rok będę mógł powtórzyć to zdanie (tj. że obie konferencje się znowu odbędą ;) ). Jest jedna rzecz która mnie trochę martwi … słaby sponsoring tych imprez, nie wiem dlaczego Szczecińskie (i chyba nie tylko firmy) nie widzą w tym jakiejś formy promocji, czy też kontaktu z nowymi pracownikami (warto tutaj wspomnieć, że na JAVArsovi organizowana była wśród uczestników rekrutacja …)

BTW. Trójmiejska Grupa Użytkowników Linuksa (TLUG) organizuje zimowisko linuksowe w Pucku, można się rejestrować pod adresem: http://zimowisko.linux.gda.pl/. ;) ;>

PS. Z góry, chcę przeprosić jeżeli przekręciłem czyjeś nazwisko, gdyby ktoś coś takiego się jednak zdarzyło proszę o informacje … tak samo jeżeli ktoś chciał by podlinkować swojego bloga ;)

SCJP6 c.d.

November 16th, 2009 2 comments

Ponad rok temu wspominałem tutaj o blogu Mariusz Lipińskiego w kontekście SCJP. Od wspominanego wpisu minął ponad rok. W tym czasie Mariusz zdążył uzyskać certyfikat, a nawet opublikować dwa wydania własnej książki (pierwsze jest całkowicie darmowe, a drugie można kupić tutaj), dodatkowo na łamach bloga krótko opisuje każdy rozdział z Sun Certified Programmer for Java 5 Stury Guide.

Ja w tym samy czasie próbowałem moich sił z  Sun Certified Programmer for Java 6 Stury Guide (SCJP6SG), cóż ukazał się dokładnie jeden post o tym temacie (w sumie to nie ma się czym chwalić :| ), a natłok obowiązków związanych ze studiami i pracą nie pozwolił mi kontynuować tą serię wpisów.

Wspomniałem już wcześniej o książce Mariusza w formie drukowanej, dziś właśnie dotarł do mnie jeden jej egzemplarz. Objętościowo jest on nie do porównania z SCJP6SG. Jeszcze nie zagłębiałem się dokładnie w Przygotowanie do certyfikacji SCJP6 ale zakładam, że jest to odpowiedni wstęp jak i repetytorium przed i po zapoznaniem się z SCPJ6SG.

W tym roku nie ma już raczej szans żebym przystąpił do egzaminu … ale za to postaram się to zrobić w przyszłym ;)

Rozwój osobisty … nie tylko programowanie

November 15th, 2009 No comments

Kiedyś ktoś stwierdził, że “mamy” (my jako Polacy) wielu wspaniałych specjalistów, naukowców, informatyków … programistów, tylko że wielu z nich “nie potrafi się sprzedać”, co powoduje że razem ze swoim geniuszem lądują w tłumie “szaraczków” i mimo swoich wybitnych zdolności tam pozostają. Karierę zawodową robią nie ci najzdolniejsi, ale ci którzy są w elastyczni, komunikatywni i mimo swoich wad znają i potrafią się cenić.

Tak to już jest skonstruowany ten świat i “komercyjny magiel”, że nie wystarczy już tylko być zdolnym ale trzeba też umieć komuś “wmówić”, że jesteśmy “zdolni”. Pierwszym krokiem żeby się umieć sprzedać jest dostrzeżenie tego problemu, potem mamy już do wyboru kilka możliwych ścieżek … drogie szkolenia, czytanie książek lub też nauka na własnych błędach.

Jest takie miejsce w “polskim internecie” gdzie takowych nauk udziela się za darmo. Miejsce w którym liczy się każde zdanie, miejsce gdzie każdy ma prawo (możliwe nawet że i nie pisany obowiązek) wypowiedzi na dany temat. Takim miejscem dla mnie jest Blog Alexa.

Nie pamiętam już w jak odkryłem tą kopalnie wiedzy o życiu, biznesie, podejściu do siebie i innych … nie jestem też w stanie określić dokładnie kiedy to się stało. Wiem tylko tyle, że na prawdę warto tam zaglądać … choć sam muszę się przyznać, że przez ostatni rok nie gościłem tam prawie w ogóle. Nic to, czas to nadrobić, aktualnie jestem na postach z maja 2009 więc już nie długo będę już na bieżąco ;)

W myśl zasady Alexa “podaj dalej”, podaję i polecam wszystkim lekturę jego bloga … jeżeli tylko chcesz skorzystać z darmowej skarbnicy wiedzy i poprawić siebie ;)

Awesome WM i InteliJ IDEA

October 18th, 2009 1 comment

Kilka dni temu JetBrains udostępniło okrojona wersje (ładnie nazwaną Community Edition) swojego IDE dla Javy. Jako że nigdy nie miałem do czynienia z InteliJ postanowiłem zassać ową darmową wersję i sprawdzić jak się spisuje.

Niestety, używam dość egzotycznego window managera który zwie się Awesome. Posiada on funkcjonalność auto organizacji okien na pulpicie co jak się okazuje nie podoba się Javie 1.5 wzwyż. Winę za to ponosi zmieniony w JRE 1.5 backend do komunikacji z X-Window, JRE do wersji 1.4 korzystało z Motif, natomiast w późniejszych z Xtoolkit/XAWT które to nie jest kompatybilne z ICCCM (cokolwiek to znaczy ;) ). Warto tutaj wspomnieć ze pośrednio może tutaj tez być winne JetBrains gdyż ciągle korzystają z AWT, a nie Swing‘a …

Rozwiązania ?
Są dwa. Pierwsze bardziej drastyczne uruchamiać InteliJ z wykorzystaniem JRE 1.4 – tego nie próbowałem ale teoretycznie powinno zadziałać. Drugie rozwiązanie posiada pewien haczyk, gdyż (jak się domyślam) 64-bitowa wersja Javy nie posiada wsparcia dla Motif; osoby posiadające 64-bitowe maszyny i systemy operacyjne z 64bitowa maszyna wirtualna ustawiona jako domyślną muszą dodatkowo zassać i gdzieś umieścić wersje 32-bitowa JDK/JRE. Oprócz 32-bitowej maszyny wirtualnej musimy dodać zmienna środowiskową AWT_TOOLKIT ustawiona na MToolkit. Ja zmodyfikowałem sobie plik bin/idea.sh dodając w linii 59 taki oto fragment:

# fixes for Awesome WM
export AWT_TOOLKIT="MToolkit"
IDEA_JDK="/ścieżka/do/jdk-x86"

Koniec Google Summer of Code 2009

October 16th, 2009 No comments

GSoC09 t-shirtMimo, ze oficjalne ogłoszenie wyników GSoC09 odbyło się prawie dwa miesiące temu, dla mnie google’owe lato z kodowaniem zakończyło się dopiero parę dni temu kiedy to kurier dostarczył do mnie paczkę z koszulka i certyfikatem.

Co do samego projektu, to niestety nie udało mi się go skończyć w wyznaczonym terminie. Osobiście stopień zaawansowania oceniam na 75-80%. Mimo to Reinhard (mój mentor) uznał, że wykonałem na tyle dobrą pracę że ukończyłem pozytywnie GSoC.

Koniec Summer of Code nie oznacza dla mnie końca współpracy z developerami Cocoon’a, zwłaszcza, że nie wykonałem w pełni stawianych sobie celów. Dodatkowo na horyzoncie pojawiły się nowe interesujące pomysły na rozwój modułu monitorującego trzecią wersję Cocoon‘a.

Ostatnio pisząc o Summer of Code wspominałem o artykule traktującym o Spring JMX, miał on się ukazać w ciągu 2-3 tygodni … cóż nie udało się ale nie wydaje mi się by jego los był przesądzony ;) . Wszystko jest ciągle kwestią czasu … jest to jedna z rzeczy którą chciałem zrealizować w czasie GSoC i ciągle pozostaje na mojej (dość, długiej(sic!) już) liście TODO.


EDIT:

Zapomniałem o jednej bardzo ważnej rzeczy … 90% napisanego przeze mnie kodu podczas GSoC znajduje się już w repozytorium ASF, a dokładniej mówiąc to jest tutaj. Natomiast całość kodu dostępna jest w archiwum znajdującym się pod koniec tej listy.

Jak zmusić Debiana do korzystania z zewnętrznego MTA

October 15th, 2009 1 comment

Cala historia zaczęła się parę dni temu, kiedy to zapragnąłem sobie mieć prywatny serwerek do hostowania własnych nie publicznych projektów (do publicznych używam już github‘a).

Jako, że serwer jest dostępny publicznie, a hostować ma nie publiczne projekty przydało by się go trochę zabezpieczyć … z administrowaniem serwerami nie miałem wiele wspólnego, ale od czego jest Google ;)

W sieci znajduje się kilka opisów co można poprawić w standardowym Debianie żeby zwiększyć jego bezpieczeństwo. Oprócz samych zabezpiczeń warto tez być na bierząco informowanym o stanie systemu. Informacje takie możne nam dostarczyć program logcheck (wraz z logcheck-database), tylko ze jakoś te informacje muszą do nas trafić, tutaj z pomocą przychodzi … poczta elektroniczna, czyli popularne e-maile ;) .

Wszystko było by fajnie gdyby nie to, że w momencie wysyłania wiadomości Debian usilnie korzysta z lokalnego MTA (tj. mail transport aget … domyślnie jest to exim4), co nie do końca jest fajne (jest to osobny daemon, dodatkowe otwarte porty itp.) zwłaszcza jeżeli tuz obok stoi dedykowany serwer pocztowy.

W tej sytuacji instalujemy heirloom-mailx, programik ten (po odpowiednim skonfigurowaniu) pozwala używać dowolnego zewnętrznego serwera pocztowego podczas wywoływania systemowej komendy /usr/bin/mail. Potrzebna konfiguracje umieszczamy na końcu pliku /etc/nail.rc (nie mylić z /etc/mail.rc) … kiedy chcemy żeby dany użytkownik posiadał odrębną konfiguracje, to musimy wymedytować plik ~/mail.rc

set smtp-use-starttls
set from=user@jakis.host.org
set smtp=smtp.jakis.host.org
set smtp-auth-user=user@jakis.host.org
set auth-login=user@jakis.host.org
set smtp-auth-password=supertrudneitajnehaslo
set ssl-verify=ignore

Teraz możemy przetestować nasza konfiguracje wywołując:

mail nasz-adres@nasz-server.org

Jeżeli coś nie działa to zostaniemy o tym poinformowani stosownym komunikatem … BTW. jeżeli chcemy sobie debugować możemy wykorzystać przełącznik -d (jak debug ;) ) , z tym ze należy tutaj wspomnieć, że dodanie tego przełącznika powoduje wypisanie na ekran wiadomości i … nie powoduje jej wysyłania (sic!).

Dlaczego o tym pisze ? Bo dziś zmarnowałem ładnych parę godzin(sic!) żeby się do tego dogooglac … najpierw żeby znaleźć ta paczkę, potem zęby odpowiednio skonfigurować (tutaj szczególne podziękowania należą się przełącznikowi -d …).

JAVArsovia ’09

July 6th, 2009 No comments

Ogólnie z opisem naszej firmowo-JUG‘owej wyprawy na JAVArsovię ubiegł mnie już Filip ale nic z tego, niczym nie zniechęcony, opiszę moją wersję zdarzeń ;)

Read more…

Skąd ta przerwa ?

July 1st, 2009 2 comments

Cóż ostatnie dwa miesiące były dla mnie dość wyczerpujące … praca, studia i summer of code nie pozostawiały mi zbyt wiele czasu i energii na udzielanie się tutaj. Na szczęście wszystko jak na razie idzie bardzo dobrze … może z wyjątkiem studiów bo czeka mnie jeszcze (średnio przyjemna) batalia wrześniowa …

Na chwilę obecną mogę odłożyć sobie studia na półkę i zająć się przyjemniejszymi rzeczami ;) . Właśnie kończę implementować (a właściwie to dokumentować (sic!) już powstały kod) drugi z zaplanowanych czterech milesone’ów w projekcie Cocoon 3 monitoring, tak więc połowa mojego projektu zbiega się praktycznie idealnie z połową summer of code.

Na chwilę obecną mogę uchylić rąbka tajemnicy odnośnie kolejnego posta … będzie on dotyczył dynamicznej rejestracji MBean’ów oraz dynamicznego wymuszenia ich “hierarchizacji” z wykorzystaniem Spring JMX (brzmi tajemniczo, zwłaszcza druga część ;) ). Mam nadzieje, że uda mi się zebrać w sobie i w przeciągu najbliższego tygodnia (… no może dwóch) opublikować ten wpis ;)

git diff 2 svn diff

Konia z rzędem temu kto potrafi zmusić GIT’a do generowania patch’y kompatybilnych z SVN’em (a zwłaszcza z TortoiseSVN) !

Jeżeli nie uda się mi zmusić GIT’a do tego żeby wygenerował patch’e zgodne z SVN niestety będę musiał zakończyć w Summer of Code ’09 przygodę z GIT’em … na prawdę będzie mi z tego powodu przykro :|

Własne zapasowe repozytorium GIT

April 24th, 2009 No comments

Oto prosty sposób na przeniesienie repozytorium GIT na pendrive, czy inną przenośna pamięć.

  1. Dla uproszczenia dodamy sobie nasze wymienne repozytorium do pliku /etc/fstab w tym celu:
    ls -l /dev/disk/by-uuid # odnajdujemy na liście nasz urządzenie,
    w moim przypadku sdb1
    mkdir /mnt/git-gsoc # tworzymy odpowiedni katalog do montowania
    chown lock:lock /mnt/git-gsoc # zmieniamy właściciela

    przy użyciu ulubionego edytora edytujemy /etc/fstab. Dodajemy następującą linie:

    UUID=<uuid z pierszego polecenia> /mnt/git-gsoc	<system plików> user,rw,noauto 0 0
  2. Teraz przydało by się zawartość naszego obecnego repo przenieść do nowego …  wystarczy skopiować główny katalog repozytorium ;) (prostota git’a)

Mając już sklonowane repozytorium przydał by się jeszcze jakiś skrypt który za nas wykona zbędne rzeczy (tj. podmontuje pamięć, odpali git-deamon, a potem po sobie posprząta ;) ).

#! /usr/bin/bash
# Copyrighted, 2009
# Developed by Dariusz Luksza &lt;dariusz[at]luksza[dot]org&gt;
# License: GPL v2
 
case "$1" in
connect)
	echo -n Montuje urzadzenie ...
mount /mnt/git-gsoc &amp;&gt; /dev/null
if  [ "$?" -eq "0" ]
then
		echo " DONE."
		echo -n Startuje git gaemona ...
		git daemon --export-all --base-path=/mnt/git-gsoc/backup --detach \
			--pid-file=/mnt/git-gsoc/git-daemon.pid --enable=receive-pack --listen=localhost
		echo " DONE."
exit 0
else
		echo Wystapil blad podczas montowania, sprawdz urzadzenie!
exit 1
	fi
	;;
disconnect)
if [ -e /mnt/git-gsoc/git-daemon.pid ]
then
		echo -n Zatrzymuje git daemona ...
kill `cat /mnt/git-gsoc/git-daemon.pid`
rm /mnt/git-gsoc/git-daemon.pid
		echo " DONE."
		echo -n Odmontowuje urzadzenie ...
sync
		umount /mnt/git-gsoc/
		echo " DONE."
exit 0
else
		echo Daemon nie zostal uruchomiany
		exit 1
	fi
	;;
*)
	echo Uzycie:
	echo "    " $0 "[connect|disconnect]"
	;;

Oczywiście każdy sam musi sobie dostosować ścieżki dostępu :)

Kiedy mamy już wszystko poustawiane warto by sprawdzić czy wszytko działa poprawnie tj. uruchamiamy powyższy skrypt z parametrem connect i po chwili powinniśmy mieć uruchomionego daemona GITa. Teraz wystarczy do naszego lokalnego repozytorium dodać to które właśnie utworzyliśmy:

git remote add backup git://localhost/&lt;nazwa repo&gt;

i używać uchwytu backup ;)

Miłej zabawy ;>