28 kwietnia 2010

Stambuł wciąż zdumiewa (najczęściej) pozytywnie - polecam podróż

1 komentarzy
Herb StambułuMerhaba!

Stambuł nie przestaje mnie zdumiewać. Najbardziej chyba sposób, w jaki jeździ się na ulicach. Dzisiaj udało mi się naliczyć bodaj 6 jadących obok siebie samochodów na ulicy, która mogłaby w Polsce pomieścić co najwyżej 4 i miałaby pasy. Tutaj nie i zdaje się, że jest to rozwiązanie, bez którego całe miasto po prostu stanęłoby. Jazda "zderzak w zderzak" przechodzi moje najśmielsze wyobrażenia jak blisko można jeździć, a kiedy dzisiaj taksówkarz wyjął komórkę i od czasu do czasu spoglądał na mnie obrócony o 180 stopni, zamarłem. Od razu chciało mi się nauczyć tureckiego "Uważaj!" (wciąż go nie umiem). Spokój, opanowanie i brak pasów Twoimi przyjaciółmi. Do tego zaczynam się przyzwyczajać.

Stambuł nocąA skoro o języku, to próbuję się go uczyć i nawet kupiłem audiokurs do nauki tureckiego Turecki, Kurs podstawowy z Edgard. Sprawdza się i wciąż wożę go ze sobą i praktykuję. Potrafię powiedzieć dzień dobry, do widzenia, proszę, dziękuję, cześć, woda i myślałem, że jestem na dobrej drodze, aby władać nim w stopniu 10 słów w ciągu 2,5 tygodnia, ale kiedy przeczytałem, że turecki jest językiem aglutynacyjnym, to stwierdziłem, że to za wysokie progi i na najbardziej podstawowych słówkach się skończy. Ta właściwość języka sprawia, że zdania mogą przybrać formę pojedynczego słowa (!) Nawet nasze "sz" staje się u nich pojedynczym znakiem. Jak to określił jeden z turków, z którym pracuję (równy gość nota bene) - po co komplikować sobie życie? I ma rację! Kiedy przysłuchuję się rozmowom po turecku słychać w nim francuski, a czasami nawet japoński (szczególnie, kiedy rozmawiają kobiety), a pisownia przypomina mi niemiecki z tymi umlautami (znajomość ich wymowy skraca cierpienia nauki).

Kebaby idą codziennie na kolację, więc napodróżowałem się tramwajem za nimi po tzw. starym mieście wokół Błękitnego Meczetu i dalej przy brzegu Morza Marmara u wejścia do cieśniny Bosfor. Wczoraj zjadłem tam grilowane rybki za 5 YTL nad samym brzegiem, co wydało mi się niezwykle egzotyczne (a przez myśl przeszła mi nawet myśl, że trochę nierozważne, ale szybko mi przeszło).

Stambuł nocąWidoki są zapierające dech w piersiach, ale trudno byłoby szukać w nich piękna, raczej swego rodzaju zdumienie, jak udało im się uzyskać ten krajobraz. Wszędzie pełno małych domków, wśród których co jakiś czas góruje para minaretów (wieże meczetów). Mówi się, że rząd w ogóle nie kontroluje napływu ludności do Stambułu w poszukiwaniu pracy i buduje się dla nich domy gdzie popadnie, często, a w zasadzie jak zrozumiałem, zwykle bez pozwoleń. Kiedy wczoraj szedłem mostem nad zatoką Złoty Róg nie mogłem uwierzyć własnym oczom - w oddali domki, woda i meczety tworzyły obraz jak u Disney'a - taki lekko rozmazany czym dalej, co sprawiało, że było takim nierealnym, a te większe meczety dopełniały obrazu. Kiedy teraz sobie o tym pomyślę, nie mogę uwierzyć, że to widziałem. Wszędzie pełno małych domków, górzyste tereny, co jakiś czas meczet, mały, duży i pełno ludzi. Wszystko szare z podświetlonymi meczetami wieczorem. Wszystko to zlewało się w coś na kształt obrazu na ścianie. Ciekawe, czy na zdjęciach będzie to widać?!

Teraz mogę powiedzieć, że chciałbym przyjechać tutaj z rodziną i pokazać im te widoki, i zaraz po tym mógłbym już wracać. Może się kiedyś uda. Wystarczy kilka dni, tydzień. Przelot samolotem bezpośrednio z Warszawy do Stambułu to 2h, więc...pozostaje uzbierać trochę funduszy harując przez cały rok na wyjazd. Zamiast leżeć plackiem nad Morzem Śródziemnym można przechodzić swoje w Stambule. Zaczynam dostrzegać zalety (przysłowiowej zachodniej) emerytury, kiedy się ma odpowiednie podparcie finansowe i można podróżować (nie, nie, nie jestem na emeryturze, a podparcia finansowego też ni widu ni słychu).

Hosca kal!

26 kwietnia 2010

Zdumiewająco szybka instalacja i uruchomienie WebSphere AS V8 Alpha na 64-bitowym RedHat EL 5.5

5 komentarzy
Pisałem już o moim niedawnym postanowieniu związanym z nauką JEE6 z pomocą NetBeans 6.9 i WAS8 (w Nauka JEE6 z WAS8 w NetBeans 6.9 przez rozwój wtyczki j2ee.websphere?), z czym związany był kolejny krok instalacji WAS8 na RedHat Enterprise Linux 5.5 w wersji 64-bitowej. Skąd pomysł na nietypową, 64-bitową wersję RHEL? Cóż, to jest jedyna platforma, na której WAS nie udostępnia graficznego instalatora (!) Za Installing the product on distributed operating systems using the GUI:

The option to launch the Profile Management Tool is only available when a 32-bit version of WebSphere Application Server is installed.

Zresztą tak było od wieków i jak widać szybko się nie zmieni. Doświadczając niedogodności, które są nieobce wielu klientom WASa, zwykłem wybierać najtrudniejszy rodzaj platformy do przeprowadzenia instalacji i późniejszej administracji WASa. Czy to WAS, czy WPS, czy ILOG JRules, idę na całość i wybieram 64 bity z opcją instalacji automatycznej (wydawać by się mogło, że prostszej, ale "automatycznie" znaczy przygotuj wcześniej właściwy plik z odpowiedziami, co dla wielu stanowi wyzwanie same w sobie i nici z prostoty :-)).

Pobrałem właściwe pakiety instalacyjne - IBM Installation Manager for Linux (IM) oraz WebSphere Application Server V8.0 Network Deployment for Linux (wersja udostępniająca tworzenie domeny administracyjnej nazywanej celą, w której możliwe jest również tworzenie klastrów).

To miałem już za sobą, jeszcze przed wyjazdem do Turcji. Dzisiaj wystarczyło jedynie stworzyć obraz VMware z RHEL 5.5 i rozpocząć instalację WAS8. Całość opisana jest we wspomnianym wcześniej dokumencie Installing the product on distributed operating systems using the GUI, co sprowadza się do rozpakowania IM, jego instalacji - tutaj uwaga, bo root uruchamia inny skrypt instalacyjny niż zwykły użytkownik (coś czego nie pamiętam, aby istniało w poprzednich wersjach IM), a później zdefiniowaniu nowego repozytorium z pakietami instalacyjnymi WAS8. Proste, nieprawdaż? Trochę zrzutów ekranu może poprawić nastrój niezdecydowanym, a planującym podobną akcję.

Mamy dwie opcje instalacji WAS8 z pomocą IM - w trybie z połączeniem do Sieci (online) i bez (offline). Repozytoria zdalne są zdefiniowane w IM, więc jeśli się ich nie wyłączy, uruchomienie instalacji pozwoli na wybór wersji WASa - samodzielny WAS lub wersja ND.

W moim przypadku, kiedy instalowałem z pobranymi paczkami instalacyjnymi miałem jedynie WAS ND.

Wybieramy odpowiednią wersję i na kolejnym ekranie wskazujemy katalog domowy produktu - domyślnie /opt/IBM/WebSphere/AppServer.

Następnie wybór opcji instalacyjnych - wybrałem instalację przykładowych aplikacji - Sample applications.

A na kolejnym ekranie, wybór platformy 32-bitowej vs 64-bitowa. Nie pamiętam, aby przy poprzednich wersjach był taki wybór. Jak napisano w dokumentacji "This panel displays only if you are using a 64-bit operating system that has a corresponding 32-bit image".

Później już tylko pozostaje zatwierdzić wybór w panelu podsumowującym...

z zajętością końcowej instalacji na dysku...

i bodajże po...5 minutach (!) WAS8 jest *prawie* gotowy do uruchomienia. To była pierwsza większa niespodzianka przy tej instalacji (kilka mniejszych to wybór platformy 32- vs 64-bitowej oraz różne polecenia do uruchomienia IM dla root vs nie-root).

Przez "prawie" mam na myśli konieczność stworzenia profilu, co z manageprofiles i przygotowanym plikiem odpowiedzi w profileTemplates/default jest niezwykle proste.
[root@localhost AppServer]# ./bin/manageprofiles.sh -create -templatePath profileTemplates/default
INSTCONFSUCCESS: Success: Profile AppSrv01 now exists. Please consult /opt/IBM/WebSphere/AppServer/profiles/AppSrv01/logs/AboutThisProfile.txt for more information about this profile.
[root@localhost AppServer]# pwd
/opt/IBM/WebSphere/AppServer
[root@localhost AppServer]# ./bin/manageprofiles.sh -listProfiles
[AppSrv01]
[root@localhost AppServer]# cat profiles/AppSrv01/logs/AboutThisProfile.txt
Application server environment to create: Application server
Location: /opt/IBM/WebSphere/AppServer/profiles/AppSrv01
Disk space required: 200 MB
Profile name: AppSrv01
Make this profile the default: True
Node name: localhostNode01
Host name: localhost
Enable administrative security (recommended): False
Administrative console port: 9060
Administrative console secure port: 9043
HTTP transport port: 9080
HTTPS transport port: 9443
Bootstrap port: 2809
SOAP connector port: 8880
Run application server as a service: False
Create a Web server definition: False
Kolejną niespodzianką był czas uruchomienia WAS8 - niespełna 30 sekund! Jeśli ktokolwiek nazwie WASa "kobyłą", to mógłby mieć na myśli, albo inny produkt, albo...wypowiedź ocenzurowana.
[root@localhost AppSrv01]# ./bin/startServer.sh server1
ADMU0116I: Tool information is being logged in file
/opt/IBM/WebSphere/AppServer/profiles/AppSrv01/logs/server1/startServer.log
ADMU0128I: Starting tool with the AppSrv01 profile
ADMU3100I: Reading configuration for server: server1
ADMU3200I: Server launched. Waiting for initialization status.
ADMU3000I: Server server1 open for e-business; process id is 7358
[root@localhost AppSrv01]# cat logs/server1/SystemOut.log
************ Start Display Current Environment ************
WebSphere Platform 8.0.0.0 [ND 8.0.0.0 kk1009.04] running with process name localhostNode01Cell\localhostNode01\server1 and process id 7358
Host Operating System is Linux, version 2.6.18-194.el5
Java version = 1.6.0, Java Compiler = j9jit24, Java VM name = IBM J9 VM
was.install.root = /opt/IBM/WebSphere/AppServer
user.install.root = /opt/IBM/WebSphere/AppServer/profiles/AppSrv01
Java Home = /opt/IBM/WebSphere/AppServer/java/jre
ws.ext.dirs = /opt/IBM/WebSphere/AppServer/java/lib:/opt/IBM/WebSphere/AppServer/profiles/AppSrv01/classes:/opt/IBM/WebSphere/AppServer/classes:/opt/IBM/WebSphere/AppServer/lib:/opt/IBM/WebSphere/AppServer/installedChannels:/opt/IBM/WebSphere/AppServer/lib/ext:/opt/IBM/WebSphere/AppServer/web/help:/opt/IBM/WebSphere/AppServer/deploytool/itp/plugins/com.ibm.etools.ejbdeploy/runtime
Classpath = /opt/IBM/WebSphere/AppServer/profiles/AppSrv01/properties:/opt/IBM/WebSphere/AppServer/properties:/opt/IBM/WebSphere/AppServer/lib/startup.jar:/opt/IBM/WebSphere/AppServer/lib/bootstrap.jar:/opt/IBM/WebSphere/AppServer/lib/jsf-nls.jar:/opt/IBM/WebSphere/AppServer/lib/lmproxy.jar:/opt/IBM/WebSphere/AppServer/lib/urlprotocols.jar:/opt/IBM/WebSphere/AppServer/deploytool/itp/batchboot.jar:/opt/IBM/WebSphere/AppServer/deploytool/itp/batch2.jar:/opt/IBM/WebSphere/AppServer/java/lib/tools.jar
Java Library path = /opt/IBM/WebSphere/AppServer/java/jre/lib/amd64/compressedrefs:/opt/IBM/WebSphere/AppServer/java/jre/lib/amd64:/opt/IBM/WebSphere/AppServer/bin::/usr/lib
************* End Display Current Environment *************
[4/26/10 18:12:50:916 CEST] 00000000 ManagerAdmin I TRAS0017I: The startup trace state is *=info.
...
[4/26/10 18:13:17:887 CEST] 00000000 WsServerImpl A WSVR0001I: Server server1 open for e-business
To musi cieszyć każdego, komu przyszło lub przyjdzie dotykać WASa. Widać, że produkt się rozwija i czasy uruchomienia są coraz bardziej imponujące (jeśli do tej pory nie były ;-)).

Teraz uruchomienie konsoli administracyjnej http://localhost:9060/ibm/console i kolejna niespodzianka. Nowiutki ekran logowania!

Niby nic szczególnie funkcjonalnego, ale oko cieszy. Dla mnie cacy.

Powyższy ekran już znajomy dla adminów WAS7 (nie zauważyłem jakiejkolwiek zmiany w stosunku do tej wersji), ale sam komunikat o wersji WASa ujął mnie za serce - 8.0.0.0. Niesamowite!

Tym samym kolejny krok ku nirwanie technologicznej szczęśliwości związanej z JEE6 i WAS8 zrobiony. "That's one small step for [a] man, one giant leap for mankind" :-)

Kolejne zadanie to przestudiowanie nowej specyfikacji Java Servlet 3.0 i uruchomienie przykładowej aplikacji webowej bez deskryptora. Zaplanowałem już wykręcić jakiś maluczki skrinkast. Z nadzieją na ciekawe pomysły, co miałby zawierać i ile miałby trwać, zamieniam się w słuch...

25 kwietnia 2010

Nauka JEE6 z WAS8 w NetBeans 6.9 przez rozwój wtyczki j2ee.websphere?

1 komentarzy
Jak każdy użytkownik NetBeans IDE wie, albo przynajmniej wiedzieć powinien, od wersji 6.8 w grupie wspieranych serwerów aplikacyjnych brakuje IBM WebSphere Application Server (WAS). Mimo, że wtyczka do tego serwera istnieje i wspiera wersje 6.0 oraz 6.1, to jak to się wyrażono (nie pamiętam jednak źródła) ze względu na brak aktywnego rozwoju wtyczki i kilka problemów z nią związanych zdecydowano się na wstrzymanie dystrybucji wtyczki z najnowszymi wersjami NetBeans IDE, a więc NetBeans 6.9 nie ma i nie planuje się, aby miał ją dystrybuowaną domyślnie (lub chociażby dostępną w repozytorium do instalacji przez Update Installer). W ten sposób szeroka grupa użytkowników obu rozwiązań musi posiłkować się rozwiązaniami alternatywnymi - zamiast NetBeans IDE korzystać z IBM Rational Application Developer lub zrezygnować z bezpośredniego uruchamiania projektów na rzecz uruchamiania ich ręcznie. Manufaktura pamiętająca ubiegły wiek.

Nie potrafię wytłumaczyć tej sytuacji, a kiedy dopowiem, że Eclipse również nie przychodzi ze wsparciem dla WASa, to już w ogóle trudno mi ją zrozumieć. Nawet przesiadka na Eclipse nie wchodzi w rachubę. Pewnie chodzi o "zasoby", które każda ze stron chciałaby poświęcić na rozwój narzędzi, czy to NetBeans IDE, czy Eclipse. Jakkolwiek w przypadku tego pierwszego szybko to nie nastąpi (szczególnie po przejęciu przez Oracle, gdzie strategicznych serwerów przybyło - GlassFish, Oracle WebLogic Server, JBoss Application Server i Apache Tomcat), to w przypadku drugiego było to dla mnie niebywałym zaskoczeniem.

W swojej DziRze (parafrazując wymowę nazwy produktu JIRA), czyli Dzienniku Rzeczy do Zrobienia (możnaby napisać DziRzeZ, ale to pachnie bluźnierstwem i ekskomuniką) pojawiło się zadanie/projekt Nauka JEE6 z WAS8 w NetBeans 6.9. Testuję tym samym metodykę GTD (ang. Getting Things Done), gdzie każde zakończone zadanie jest początkiem kolejnego i tak zaczęło się od instalacji NB 6.9 Beta, która ukazała się kilka dni temu, później przeszukiwanie Sieci za źródłami wtyczki do obsługi WASa i w końcu mam...

W moim NetBeans 6.9 pojawiła się parka serwerów IBM WebSphere Application Server 6.0 oraz 6.1. Niestety brakuje wsparcia dla 7.0 (obsługa Java EE 5) oraz 8.0 (obsługa Java EE 6).

Już kiedyś zab(ie)rałem się za pisanie wtyczki do NetBeans IDE dla Apache Geronimo, ale jak to zwykle bywa, inne rzeczy były ważniejsze i cała para związana z rozwojem wtyczki poszła w gwizdek. Pomyślałem sobie, że warto byłoby powrócić do tematu inną ścieżką. W końcu na tapecie jest nauka JEE6 z rozpoznaniem WAS 8, co w połączeniu z nieprzeciętnym wsparciem dla tej technologii przez NetBeans IDE mogłoby być przyczynkiem do rozwoju aktualnej wtyczki dla WAS 6.0/6.1 i już po nabraniu wprawy, przejściu do wtyczki dla Apache Geronimo. Wydaje się być trochę przekombinowane, ale póki co sprawy idą gładko.

Przeszukałem Sieć i dobrałem się do źródeł wtyczki NB dla WAS, które dostępne są w repozytorium Git - http://hg.netbeans.org/main/ w podkatalogu j2ee.websphere. Wykonujemy kilka poleceń...
devmac:oss jacek$ mkdir netbeans
devmac:oss jacek$ cd netbeans
devmac:netbeans jacek$ hg clone http://hg.netbeans.org/main/ .
devmac:netbeans jacek$ export ANT_OPTS="-Xmx512m -XX:MaxPermSize=256m"
devmac:netbeans jacek$ ant
...
BUILD SUCCESSFUL
Total time: 47 minutes 10 seconds
, aby po zaimportowaniu do NetBeans...

i uruchomieniu projektu, cieszyć się wsparciem NB dla WAS. Jakby przy okazji (aczkolwiek w moim przypadku był to cel, a nie efekt uboczny) mamy gotowe środowisko do rozwoju, tj. lektury kodu źródłowego wtyczki NetBeans IDE dla WebSphere Application Server.

Jakbym tak jeszcze wiedział, jak lokalne zmiany publikować w GitHub, albo Google Code w postaci "sforkowanych" projektów byłoby na prawdę cacy. Ktoś mógłby użyczyć pomocnej dłoni? Byłbym zobowiązany.

23 kwietnia 2010

Raczej nietechnologiczne dylematy poranne o nieprawdziwości danych służbowych w społecznościówkach, Hello World i brush up on...

3 komentarzy
Ech, możnaby to spuentować jednym prostym "Jak ja kocham moją Agatkę", ale nie byłoby to tak zaskakujące, jak temat porannych dywagacji między Jackiem i Agatką (kolejność nawiązuje do tytułu popularnej dawniej dobranocki) nt. aktualności danych w serwisach społecznościowych. Wszystko zaczęło się od moich...hmmm...sądzę, że możnaby je nazwać...narzekaniami na problem aktualności danych w serwisie GoldenLine, ale faktycznie dotyczyły dowolnej społecznościówki. Przypisano mnie do zadania prowadzenia rozmów ze sponsorami konferencji Javarsovia 2010 i dostrzegam, jakim wyzwaniem jest dotarcie do osób decyzyjnych. Wiele stron w Sieci jest nieaktualizowanych do tego stopnia, że kontakt z działem marketingu czy przesłanie zapytania przez formularz kontaktowy kończy się...

This is an automatically generated Delivery Status Notification.

Delivery to the following recipients failed.


Porażka! Gdzie jak gdzie, ale właśnie w Sieci dane kontaktowe powinny być aktualne i firmy powinny zadbać o rzetelną obsługę treści na ich stronach. I sądzę, że jest to obowiązek, a nie przywilej. Cóż, rzeczywistość jest nieznacznie odmienna od moich oczekiwań i czasami (raczej bardzo rzadko) potykam o takie kwiatki.

Skorzystałem z techniki podejrzanej u mojej Agatki przeszukiwania serwisów społecznościowych, aby dotrzeć do decydentów (nie mylić z dysydentami) - osób władnych w podjęciu decyzji o udziale firmy w Javarsovia 2010 w roli sponsora. I tu pojawia się mój, raczej nietechnologiczny dylemat poranny:

Czy można publikować nieprawdziwe dane służbowe o pracy w firmie, w której się już nie pracuje?

Czy wolno byłemu pracownikowi korzystać z marki firmy w serwisie społecznościowym, czy gdziekolwiek publicznie, aby rozgłaszać, że wciąż się w niej pracuje, mimo że już tak dawno nie jest?! Temat może wydawać się błahy, ale pikanterii mógłby dodać fakt, że delikwent mógłby zostać zwolniony dyscyplinarnie i ciągnie się za nim sprawa, głośna i publiczna, a w serwisie wciąż widnieje "Aktualny pracowadca: XYZ na stanowisku ABC". Czy firma może zażyczyć sobie zdjęcia takiego wpisu, jego aktualizacji, albo cokolwiek? Na ile można sobie pozwolić z posługiwaniem się logo i nazwą firmy? Czy mógłbym napisać w profilu, że jestem ABC w firmie XYZ mimo, że faktycznie nim nie jestem? I już na zakończenie serii dylematów związanych ze społecznościówkami, czy publikując dane w serwisie społecznościowym o swojej przynależności służbowej mamy w obowiązku obsłużenia wiadomości-zapytania, gdy piszemy do pracownika, a nie osoby prywatnej? Dobrze, że odwiozłem Agatkę i dyskusja nie trwała dłużej.

Już bardziej technicznie natchnęło mnie, kiedy wracając do domu myślałem o moich przyszłych scrinkastach. Kiedy tak zastanawiałem się co i jak, wciąż krążył koło mnie przysłowiowy "Hello World" jako pierwszy przykład w danej technologii. Od razu przypomniałem sobie moje wcześniejsze dywagacje nt. zbytniego przykładania wagi do technologii zamiast strony biznesowej, klienckiej, gdzie funkcjonalności aplikacji wyznaczają technologię i jej realizację, a nie na odwrót. I to właśnie było olśniewające (jak to słońce, które świeciło mi na Pileckiego) - narzekamy na strywializowane przykłady zastosowania technologii bez praktycznego przełożenia, a to właśnie wynika z naszego lekceważenia powodów, dla których się ich uczymy - realizowania projektów, a nie nauki kolejnej, pewnie fascynującej i bogatej funkcjonalnie technologii - języka programowania, techniki programistycznej, szkieletu aplikacyjnego, wzorca. Wszystko cacy, ale gdzie jest tego wartość, jeśli nie możemy wykorzystać ich w projektach, gdzie faktycznie stykamy się z problemami wdrożenia i wyboru tej czy innej ciekawostki technologicznej. I właśnie to jest powód, dla którego nasze przykłady użycia technologii kończą się na powitaniu świata, a paradoksalnie jego pożegnaniu, bo tyle widziano jej wdrożenia u klienta. Smutne.

p.s. Przeglądając kanał z tweetami trafiłem na niezwykle ciekawy zwrot czasownikowy (ang. phrasal verb) - brush up on sth. Za Cambridge International Dictionary of Phrasal Verbs:

to practise and improve your skills or your knowledge of something that you learned in the past but have partly forgotten

He was hoping to brush up on his Italian before our trip.
Paul's challenged me to a game of tennis so I thought I'd better brush up on my technique.

21 kwietnia 2010

Początki z OSGi oraz Javarsovia 2010 z Clojure?

5 komentarzy
Dobrze mieć szerokie znajomości technologiczne (osobowe i te związane bezpośrednio z samymi produktami), kiedy idzie o stawkę bycia na bieżąco, a zarządzanie czasem nie należy do największych atutów. Tak się też stało z OSGi 4.2, kiedy miałem możliwość lektury świeżo wydanych specyfikacji z serii OSGi Service Platform Release 4 Version 4.2, aby mieć całościowy pogląd na sprawy na potrzeby konferencji 4Developers w Poznaniu (wpis OSGi Service Platform Release 4 Version 4.2 Enterprise Specification wydane, jak i moja prezentacja na 4Developers) i tak też było wczoraj, kiedy zostałem zapytany o...Apache Felix Karaf:

12:26:27 PM Nieznajomy... siema
12:31:54 PM halo tam
12:32:14 PM Jacek.Laskows... cześć
12:32:16 PM co tam?
12:33:06 PM Nieznajomy... miałeś może kiedyś do czynienia z Apache Felix Karaf?
12:34:26 PM Jacek.Laskows... tak
12:34:34 PM OSGi
12:34:46 PM a co Ciebie zainteresowało w nim?!
12:34:48 PM Nieznajomy... tak
12:34:50 PM Jacek.Laskows... to za nisko dla Ciebie
12:34:58 PM prawie jak assembler
12:35:03 PM a ty na poziomie przeglądarki :)
12:35:19 PM Nieznajomy... hehe
12:35:19 PM no bez przesady :)
12:35:25 PM raz tak raz tak
12:35:49 PM wiesz jak to integrować z ecplipsem?
12:36:00 PM Jacek.Laskows... a do czego zmierzasz?
12:36:07 PM bo w Eclipse masz Equinox
12:36:11 PM a to prawie to samo
12:36:30 PM Nieznajomy... chciałbym na początek jakieś hallo word napisać
12:36:35 PM Jacek.Laskows... ach
12:36:37 PM a to proste
12:36:40 PM czekaj...
12:36:50 PM Nieznajomy... czytam na ten temat ale niewiele jest...
12:37:08 PM Jacek.Laskows... http://www.jaceklaskowski.pl/wiki/Tworzenie_pakiet%C3%B3w_OSGi_z_Apache_Maven_2
12:37:23 PM i kilka innych w kategorii OSGi
12:37:25 PM u mnie
12:38:13 PM Nieznajomy... no właśnie tam pamiętałem że o Mavenie wykłady dawałeś dla studentów kiedyś :)
12:38:40 PM Jacek.Laskows... możesz prosto utworzyć pakunek (bundle) w Eclipse
12:38:44 PM gdzieś u mnie na blogu o tym było
12:38:45 PM momento
12:39:25 PM Nieznajomy... bo zacząłem czytać jakieś manuale ale one są tak pisane że sie odechciewa dalej czytać...
12:39:38 PM Jacek.Laskows... zatem zróbmy tak
12:39:48 PM Ty mi napiszesz, co chcesz osiągnąć - efekt końcowy
12:40:09 PM Nieznajomy... końcowego jeszcze nie znam
12:40:26 PM na początek uruchomić to w Ecplipse
12:40:57 PM jakieś coś prostego... np coś co odczyta ruch na sockecie
12:41:36 PM może byc?
12:48:11 PM Jacek.Laskows... pisz na priv
12:48:15 PM opisz wszystko
12:48:19 PM i daj mi trochę czasu
12:48:29 PM powinienem znaleźć trochę czasu w nadchodzących dniach
12:50:14 PM Nieznajomy... no ok, a tymczasem od czego sugerujesz mi zacząć
12:50:30 PM bede potrzebować M2 w Ecplipse?
... // tu mnie trochę wyrwało z dyskusji...
2:11:49 PM Jacek.Laskows... http://jlaskowski.blogspot.com/2009/10/tworzenie-pakunkow-osgi-w-eclipse-ide.html


A dalej już telefonicznie, bo czułem, że zaczęliśmy tracić grunt pod nogami z nawałem technologii i brakiem zrozumienia potrzeb. Po kilku minutach, zaproponowałem następujące kroki, które należy wykonać, aby przejść przez początkowe niezrozumienie OSGi i przejść na poziom bardziej zaawansowany Apache Felix Karaf.
  1. Lektura wpisu wyżej - Eclipse IDE w roli wspierającego budowanie pakunków OSGi
  2. Stworzenie aplikacji do nasłuchiwania na porcie.
  3. ZOSGifikowanie aplikacji z punktu 2.
  4. Uruchomienie na Apache Felix.
  5. Uruchomienie na Apache Felix Karaf.
  6. IMPREZKA
Coś jeszcze? Zamierzam jego poczynania spisywać na bieżąco, aby przy kolejnej tego typu dyskusji mieć wszystko w jednym miejscu. Jak się podoba? Uwagi mile widziane.

A w kontekście Javarsovii, to po mojej prośbie o wystąpienie z Clojure w roli głównej dostałem wiadomość do skrzynki od Daniela Janusa, że będzie, ale...

Nie jestem pewien, jaki poziom szczegółowości byłby dobry. Czy coś ogólnego, jak "Clojure i jego wykorzystanie w praktyce", czy szczegółowego jak "Dwa światy: szybkie i bezbolesne budowanie aplikacji Swingowej w Clojure" lub "O frameworkach webowych w Clojure"? Raczej wprowadzenie, czy raczej coś praktycznego z krótkim wprowadzeniem? Jaki poziom znajomości tematu zakładać u słuchaczy?

pozdrawiam,
Daniel


Możecie mi doradzić, co odpowiedzieć? Ja jestem za wszystkimi trzema, ale gdybym miał wybierać ten jeden, to pewnie postawiłbym na "Dwa światy: szybkie i bezbolesne budowanie aplikacji Swingowej w Clojure". A jak u Was z wyborem? Piszcie, aby być usłyszanymi. Sama konferencja Javarsovia 2010 jest całkowicie bezpłatna, ale szkoda byłoby zmarnować sobotę na odsiedzenie na prezentacji, która nie odpowiadałaby naszym oczekiwaniom. Mając Daniela możemy spędzić go bardzo poznawczo i...pod nasze dyktando! :)

20 kwietnia 2010

Zgłaszanie prezentacji na Javarsovia 2010...jeszcze tylko do 8 maja

0 komentarzy
Panie i Panowie,

Na stronie konferencji Javarsovia 2010 od kilku dni widnieje zaproszenie do składania tematów prezentacji, które brzmi:

Zapraszamy do zgłaszania tematów prezentacji na najbliższą Javarsovię 2010.

Mile widziane są tematy dotyczące nowości technologicznych wokół Javy, Java EE i wirtualnej maszyny Javy (JVM) oraz wszystkiego, co związane z nurtem Agile, ze szczególnym naciskiem na stronę praktyczną. Czekamy także na propozycje warsztatów oraz paneli dyskusyjnych.

Na zgłoszenia czekamy do 8 maja.

Więcej informacji znajdziecie na stronie Call for Papers.


Przypominam, że konferencja odbędzie się w Warszawie, 26 czerwca 2010 przez caluteńką sobotę, a może nawet część piątku i kawałek niedzieli (dla najbardziej wytrwałych). Frekwencję planuje się na poziomie 400-500 uczestników, co powinno być wystarczającym bodźcem do wystąpienia i zaistnienia na polskiej scenie javowej. Skojarzenie prelegenta z tematem, to pierwszy krok ku informatycznej nirwanie bezkresu strumienia zgłoszeń, zleceń i innych niespodzianek finansowo-technologicznych. Wiem co piszę, aczkolwiek bezkres kredytów nie pozwala mi jeszcze dostrzec wspomnianego bezkresu finansowej szczęśliwości.

Gdybym ja był na Waszym miejscu nie wahałbym się ani chwili, aby zgłosić swój temat, a nawet dwa (zawsze to większa szansa na przejście przez sito kwalifikacyjne). Idealne miejsce, aby popróbować się z nielekką sztuką prezentacji oraz zapaść w pamięci polskiej społeczności javowej jako mówca i znawca tematu.

p.s. Bardzo, ale to bardzo życzę sobie, aby pojawił się praktyczny temat związany z językiem funkcyjnym i gdyby to był Clojure byłbym niezwykle zachwycony. Podkreślam stronę praktyczną, a nie naukową wystąpienia. Pomogę, jeśli będzie potrzeba, np. w roli recenzenta.

Pozdrawiam,
Jacek

18 kwietnia 2010

Pył wulkaniczny i mój 17-godzinny powrót z Turcji

4 komentarzy
Piątek, 16 kwietnia był moim ostatnim dniem z 3-dniowej wizyty w Stambule, Turcji. Pierwsza tura już za mną, ale zanim szczęśliwie przyszło mi skosztować weekendu w domu, najpierw odbyłem ponad 17-godzinną podróż z powrotem, najpierw samolotem o 16:10 ze Stambułu do Budapesztu, a później o 19:56 pociągiem do Warszawy, aby ostatecznie z niewielkim, 20-minutowym spóźnieniem, kilka minut przed 8-mą wsiąść do taksówki na Ursynów. Ech, to była pełna przygód podróż do Turcji, a kolejne 2 jeszcze przede mną. Jeśli ich przebieg będzie tak intensywny w przeżycia, zejdę na serce, nie podczas robienia kariery korporacyjnej, ale dużo wcześniej :-)

W pierwszy dzień, w środę spędziłem wieczór z poznanym niemcem, gdzie zjedliśmy kebab w restauracji - Altin kapi. Zdecydowanie nie polecam, mimo wyglądu, który mógłby świadczyć, że podawane tam dania będą wysokich lotów. Tak niestety nie było - zimne, wysuszone i jakieś bezsmakowe. Później, w czwartek, dałem się namówić własnej pokusie zjedzenia kebaba za bagatela 5,75 tureckich lir, co na nasze przekłada się na jakieś 5,75 YTL * 1,8 PLN = 11 PLN. Cena na tyle niska, że kiedy powiedziałem o moim "wyczynie" turkom spojrzeli na mnie z niedowierzaniem i zdecydowanie odradzili kolejne takie eskapady. Pamiętam ich miny i pełen niepokoju wygląd, kiedy pytali, czy wszystko, aby ze mną w porządku - zdrowotnie (i pewnie i mentalnie). Dla nich kebab musi kosztować nie mniej niż 15 YTL, więc mój był...zdecydowanie poniżej normy. Dla mnie był jednak bardzo smaczny i przy kolejnej okazji jeszcze raz podejmę się wyzwania (będę jednak mierzył w kebaby za 10-15 YTL).

Chyba musiała ich niezmiernie zmartwić ta moja determinacja zjedzenia ichniejszego kebabu, bo w piątek, przed odjazdem zaprosili mnie na obiad do restauracji, gdzie za 25 YTL zjadłem kebaba, który był faktycznie smaczniejszy. Jeju, ale te kebaby są smaczne u nich. Oczywiście znajdłem go z maślanką, bo jakkolwiek nie polecają, jako podstawowego napoju do tego dania, to wielu tak jadło, więc i ja tak wziąłem.

Moja nauka tureckiego postępuje i wzbudza coraz większe zainteresowanie (aka rozbawienie). Znam już w wymowie rachunek (fisz), dziękuję (teszekilesz), dzień dobry (ginajdyn), do wiedzenia (hoszczekal), woda (su), a owe zsiadłe mleko to ajran. Litera przypominająca 'i' bez kropki czytana jest jak nasze 'i', a z kropką czytanie jest jak nasze 'y'. Sądzę, że moje, informatyczne ciągłe doskonalenie przydaje się przy nauce kolejnego języka, tym razem tureckiego, bo daje się łatwo zapamiętywać. Kolejna zaleta ciągłego samodoskonalenia.

Dowiedziałem się również, że cały ruch uliczny w Stambule jest monitorowany kamerami, które dostępne są w telefonie komórkowym za...5 YTL (nasze 10 PLN). W ten sposób wybrałem z taksówkarzem drogę, która była przejezdna, podczas gdy pierwszy wybór mógłby nas sporo kosztować czasowo. Bajka!

Napisałem na twitterze, że jestem w Stambule i poszukuję miejsca na dobre jedzenie. Nie minęła godzina, kiedy dostałem wiadomość, że warto pójść do sieci restauracji Gelik i spróbować denizer kebab oraz mushroom pilav. Kolejny raz przekonałem się o możliwościach twittera. Kolejna, nieznana mi wcześniej, pomocna dłoń.

Kiedy opuszczałem Stambuł w piątek o 16:10 zjawiłem się na lotnisku około 14tej. Już było wiadomo, że będą problemy z przelotem do Polski (i innych krajów europejskich na północy). Powód: wybuch wulkanu na Islandii i latający na wysokości 6km pył wulkaniczny grubości 1km, który niszczy silniki samolotów pasażerskich, które latają na wysokości 10-11km. Dostałem przelot do Budapesztu z informacją, że dalej się już nie da i będę musiał samodzielnie rozwiązać problem (czytaj: czekać cierpliwie na otwarcie lotnisk). Miałem do wyboru - zostaję kolejny tydzień, z weekendem w Turcji, albo wracam...jakoś. Zdecydowałem podjąć się wyzwania i wsiadłem do samolotu do Budapesztu. W międzyczasie widziałem odprawę tajlandki (wyczytałem na jej paszporcie) ubranej w czador. Zastanawiałem się, jak nastąpi sprawdzenie jej tożsamości i poza zdjęciem bez nakrycia głowy na okładce paszportu, na prośbę strażnika musiała na chwilę opuścić zakrycie twarzy (nie zdjąć, ale opuścić, aby tylko on widział jej twarz).

Wyruszyłem. Do Budapesztu doleciałem około 18:00, gdzie dowiedziałem się całkowicie przypadkowo, podczas rozmowy ze znajomym z Polski, że mam pociąg o 19:58 bezpośrednio do Warszawy, a później kolejny o 20:10 z przesiadką. Chwila zastanowienia i jadę pociągiem! Płacę kartą, więc krótka rozmowa z taksówkarzem i podjeżdża taka, w której mogę nią płacić. I tu uwaga - karta American Express nie jest akceptowana. W Turcji zresztą również nie była. Pamiętam, że jak byłem we Włoszech, było podobnie. Warto pamiętać o tym, aby mieć jedną kartę debetową do wybierania gotówki z bankomatu, a drugą, kredytową i to najlepiej nie-AmEx, na bieżące, większe wydatki. Po 30 minutach byłem na stacji kolejowej. To, co się tam działo nie było przyjemne. Mnóstwo ludzi, pełno kolejek i brak jakiejkolwiek informacji, gdzie możnaby kupić bilety na międzynarodowe przejazdy oraz czy można w kasach płacić kartą. Dwie młode dziewczyny obsługiwały rozgorączkowanych i żądnych odpowiedzi pasażerów, i widać było obu stron zniecierpliwienie. W końcu numerki do kas biletowych się skończyły, a te które się pojawiały na wyświetlaczu były jakieś od czapy. Dobrze, że zdecydowałem się pójść do kolejki do kas biznesowych, gdzie mogłem płacić kartą...teoretycznie. "Teoretycznie", bo niestety po 1,5h stania w kolejce nie doczekałem się na swoją kolej kupienia, bo podjechała ta właściwa do Warszawy i postanowiłem kupić bilet w pociągu.

Kuszetka zajęta, więc pozostała mi opcja znalezienia miejsca siedzącego w wagonie 2-iej klasy. Siedzę. Pozostała ekipa to jak się później okazało student drugiego roku ekonomii Uniwersytetu Gdańskiego, który wracał również ze Stambułu drogą lądową z konferencji wokół programu Erasmus (był w drodze od 24 godzin!) oraz trójką podróżników z Trójmiasta i jednej słowaczki. Bez biletu, z nadzieją kupienia go w pociągu płacąc kartą i z niepewnością, że zająłem komuś miejsce wyruszyłem do Warszawy. I tu zaskoczenie #1 - w pociągu międzynarodowym nie ma Warsu, czy innego miejsca, gdzie możnaby zjeść! Kolejne zaskoczenie #2 - w nocnych kursach nie można płacić kartą. A jeszcze kolejne zaskoczenie #3, że przejazd przez dany kraj (w moim przypadku Węgry, Słowacja, Czechy i Polska), to kontrola "krajowa", więc i na Węgrzech i kolejnych krajach negocjowaliśmy płatność "w łapę". Dziękuję moim współtowarzyszom podróży za zapłacenie za mnie na Węgrzech (w forintach) i Słowacji (w euro). Jestem wciąż pod wrażeniem ich hojności i niezmiernie wdzięczny. Wciąż nie mogę uwierzyć, że miało to miejsce. Po prawie 17 godzinach dojechałem do Warszawy, aby około 8-mej być w domu.

Miałem planowany wyjazd powrotny do Stambułu w niedzielę o 13:05 LOTem, ale Okęcie zamknięte, więc siedzę w domu. Już wiem, że w poniedziałek się również nie da. Pewnie dopiero we wtorek. Pył wulkaniczny krąży w atmosferze, a ja siedzę z żonką i dziećmi w Wawie :-)