16 stycznia 2010

Test 000-669: SOA Fundamentals [2008] zaliczony - jedna poprawna odpowiedź miała znaczenie

5 komentarzy
Chyba się wypaliłem na tych egzaminach certyfikacyjnych, albo po prostu ten temat SOA mi nie leży, bo jakiś taki mało techniczny? W piątek podszedłem do Test 000-669: SOA Fundamentals [2008], który udało mi się przejść pozytywnie. Słowo "udało" oddaje klimat tego egzaminu, bo przy 36 wymaganych odpowiedziach poprawnych, ja odpowiedziałem na...37 (!) Mizernie, co?

Przyznaję, że nawet się specjalnie nie ucieszyłem wynikiem, bo oceniałem się na więcej. 3 pytania powtórzyły się z testu próbnego, więc z tego powodu możnaby polecić go, aczkolwiek teraz mam wątpliwości, czy warto zapłacić za nie 30 USD. Wolałbym przeczytać książkę o IBM SOA Foundation. Może miałbym lepszy wynik, a nie te 69%. Mimo, że jest to jeden z moich najlepszych wyników, to fakt "przejścia" jedną poprawną odpowiedzią trochę przygnębia. Chyba muszę się wypłakać...żooonnaaa :]

Na egzaminie pojawiły się pytania o technikalia związane z WSDL, XML i SOAP, ale również terminologia SOA typu SOA Governance, a dokładniej wady i zalety, po co i dlaczego. Polecam lekturę SOA terminology overview, Part 1: Service, architecture, governance, and business terms, SOA terminology overview, Part 2: Development processes, models, and assets oraz SOA terminology overview, Part 3: Analysis and design. Dobra ich znajomość korzystnie wpływa na wynik egzaminu. U mnie mogłoby zadziałać, gdybym przeczytał je nie raz, ale kilka razy, celem utrwalenia terminologii. Czego podchodzącym życzę :)

Tym samym przywdziałem szaty IBM Certified SOA Associate [2008] oraz (z wcześniej zdanymi) IBM Certified Administrator for SOA Solutions - WebSphere Process Server V6.2. Jest z czego się cieszyć, ale gdyby przyjrzeć się poszczególnym wynikom, szczęście poszłoby w zapomnienie tak szybko, jak się pojawiło. Mogło być lepiej, zdecydowanie lepiej. Jak to ujęła moja żona: "Po co ten cały ciąg certyfikacyjny? Nie lepiej było przysiąść nad tematem i zdać go za miesiąc?" Ma niewątpliwie rację i kolejny egzamin dopiero za 2 miesiące - IBM Certified Solution Developer - WebSphere Integration Developer V6.2, który mnie "wykończył" przy pierwszym podejściu, lub IBM Certified System Administrator - WebSphere Application Server Network Deployment V7.0. Pożyjemy, zobaczymy. 4 lata w IBMie zobowiązują do lepszych wyników, a kiedy już zakończę tę IBMową sagę certyfikacyjną, marzy mi się Sun Certified Web Component Developer (SCWCD) i podsumowanie w stylu Sun Certified Enterprise Architect (SCEA) (pierwszy etap mam już zdany). To byłby cudownie przeprowadzony 2010 rok.

Jeśli ktokolwiek zastanawia się, po co to wszystko, ten cały certyfikacyjny bój, to odpowiedź jest prosta - bo można, a przy moich samozatrudnieniowych planach, papiery mogą być przydatne, aby dostać się do projektów, w których certyfikaty podbijają wartość oferenta. Podobno nierzadko jest to znacząca karta przetargowa.

p.s. Po zakończeniu mojego testu, kolega próbował ukoić mój ból takim powiedzeniem: "Jeśli masz wartościową wiedzę, siedzisz na projektach. Jeśli nie, stajesz się kierownikiem. Kiedy i tutaj nie masz szczęścia, zaczynasz prowadzić szkolenia." Bez komentarza.

14 stycznia 2010

Drugie podejście próbne do Test 000-669: SOA Fundamentals [2008] i wynik skoczył do 74,07%

0 komentarzy
Zdecydowanie lepiej, ale to jeszcze nie to, czego bym oczekiwał. Lektura kilku polecanych artykułów w Training Resources do testu Test 000-669: SOA Fundamentals [2008] i wynik podskoczył do 74,07%. Idzie w górę, ale test już jutro, w piątek, 15tego, więc trzecie podejście już ostateczne. Trzymajcie za mnie kciuki od 14-tej!

13 stycznia 2010

W piątek Test 000-669: SOA Fundamentals [2008], a wynik próbnego jedynie 68,52%

0 komentarzy
Komentarz do komentarzy do mojego ostatniego "wpisu programistycznego" - Każdemu będzie w końcu dane - wreszcie Java EE 5 w projektach! pojawi się wkrótce, a dzisiaj na tapetę poszedł próbny test do Test 000-669: SOA Fundamentals [2008], który postanowiłem zdawać w nadchodzący piątek, 15tego. Tematyka jakaś taka odjechana i chyba jeszcze nie dorastam do poziomu, abym mógł wstąpić do szanownego grona "SOA wyjadaczy". Wynik 68,52% z poziomem 66% daje mi wprawdzie pozycję zwycięzcy, ale tylko tyle, bo wiedza u tego zwycięzcy pozostawia wiele do życzenia. Tym samym, za 30USD, dowiedziałem się, że jeszcze muszę się duuuużo nauczyć.

Jak ja bym tak chciał, aby w piątek było zdecydowanie lepiej. Nie pozostaje nic innego, jak zabrać się za lekturę Training Resources. Może się pokuszę o streszczenie, celem utrwalenia? Byłoby mile widziane? Należy nadmienić, że technologii tam jak na lekarstwo, a dużo górnolotnych stwierdzeń o biznesie i inteligentnym cięciu kosztów wdrażania nowych przedsięwzięć w duchu SOA przez wprowadzanie/wykorzystywanie istniejących usług. Ciekawe, czy byliby zainteresowani?

12 stycznia 2010

Każdemu będzie w końcu dane - wreszcie Java EE 5 w projektach!

19 komentarzy
Nowy rok i nowe projekty, a tak się złożyło, że część z nich nawet rozwojowa - dosłownie i w przenośni. Znalazłem się więc w projekcie, w którym tworzone jest oprogramowanie do synchronizacji danych między bazami danych (tym samym kłaniam się nisko uczestnikom - klimat "Piratów z Karaibów", których oglądałem przez ostatnie 3 dni się udziela :]).

Architektura obejmuje WASv7 z DB2 (centrala) oraz WASCE z DB2 Express (satelitarne, lokalne instalacje). Nareszcie projekt w IBMie, gdzie serwer aplikacyjny wspiera najnowszą specyfikację Java EE 5 (może niekoniecznie najnowszą, bo na dniach wyszła nowiuteńka wersja Java EE 6, ale jej wsparcie nie jest jeszcze na tyle rozpowszechniona, aby nawet próbować się z nią w ramach prac domowych). Przyznaję, że trochę dziwnie mi się pisze oprogramowanie w Java EE 5 z udziałem IBM WebSphere. Jakoś przyzwyczaiłem się do starszych specyfikacji, których unikałem, jak tylko mogłem i większość pracy sprowadzałem do odpowiednich funkcjonalności w RADzie. Udało się i teraz zostało mi to wynagrodzone - wreszcie można oddychać pełną piersią, a jeśli dodać do tego, że teraz wszystkie zabawki IBMa z rodziny WebSphere działają na WASv7 - serwerze aplikacyjnym zgodnym z Java EE 5 i działającym na Java SE 6 - to możecie sobie wyobrazić, jak bardzom z tego rad. Do niedawna jeszcze o Java EE mogłem sobie pomarzyć w cieple domowego kominka, a w pracy...brrr...lepiej nie wspominać, wciąż J2EE. Teraz się odmieniło, bo kiedy się bardzo chce, to się kiedyś ziści. Wiedza, którą zdobywałem w ostatnim roku teraz się przydaje...produkcyjnie. Wreszcie!

Wracając do mojego bieżącego projektu, miałem dzisiaj przygodę z synchronizacją realizowaną przez...stronę JSP. Wszystko było wykonywane z jej poziomu i jej autor zdawał się mieć tego całego programowania w Javie najwyraźniej dosyć (nieprawdaż Paweł?). Szkoda było chłopaka, bo zacny z niego gość, ale brakowało mu wiedzy, ciut więcej i takiej ukierunkowanej na mocne strony Java EE. A skoro już mają Java EE, to nie byłoby dobrze nie skorzystać z dobrodziejstw. Zadanie na rozgrzewkę w sam raz dla mnie - można błysnąć i to przy niewielkim nakładzie pracy. To lubię! ;-)

Przed moimi oczyma jawi się strona JSP, a w niej jeden wielki try/catch z dostępem do bazki, sprawdzeniem tego i owego, aby ostatecznie zbudować odpowiedź XMLową. Dla mnie naturalnym było zaciągnąć @WebService i @Resource do pracy, aby z niecnego JSP zrobić całkiem przyzwoitą klaskę, powtórzę, zwykłą klaskę z kilkoma "wskazaniami" dla serwera, aby traktował ją specjalnie.

Wystarczyło więc, uruchomić NetBeans IDE 6.8.1, zaciągnąć aktualne źródła aplikacji webowej z repozytorium CVS (brrr, że też wciąż tego ustrojstwa się używa) i dodać tę oto klaskę (niektóre elementy usunięte dla poprawienia czytelności):
package pl.tufirma;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.MessageFormat;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.annotation.Resource;
import javax.jws.WebParam;
import javax.jws.WebService;
import javax.sql.DataSource;

@WebService
public class Synchronizator {

private final String AUTH_SQL = "SELECT ID FROM AUTHORIZE WHERE AUTH = ?";

@Resource(name = "jdbc/mak")
DataSource makDS;

public String synchronizacjaPoczatkowa(@WebParam(name = "key") String klucz) {
return synchronizeFirst(klucz);
}

protected String synchronizeFirst(String key) {
try {
String id_authorize = pobierzIdAuthorize(key);
MessageFormat SQLQUERY = new MessageFormat("WITH ...");

StringBuffer queryParam = new StringBuffer(id_authorize);
String query = SQLQUERY.format(new Object[]{queryParam.toString()});

System.out.println("SQLQUERY: " + query);
Connection conn = makDS.getConnection();
PreparedStatement stmt = conn.prepareStatement(query);
ResultSet rs = stmt.executeQuery();
String XMLResult = "";
if (rs.next()) {
XMLResult = rs.getString(1);
}
return XMLResult;
} catch (SQLException ex) {
Logger.getLogger(Synchronizator.class.getName()).log(Level.SEVERE, null, ex);
throw new IllegalStateException("Problemy z bazka", ex);
}
}

protected String pobierzIdAuthorize(String key) {
try {
Connection conn = makDS.getConnection();
PreparedStatement authStmt = conn.prepareStatement(AUTH_SQL);
authStmt.setString(1, key);
ResultSet authRs = authStmt.executeQuery();
if (!authRs.next()) {
throw new IllegalArgumentException("NIe odnaleziono klucza dla " + key);
}
return authRs.getString(1);
} catch (SQLException ex) {
Logger.getLogger(Synchronizator.class.getName()).log(Level.SEVERE, null, ex);
throw new IllegalArgumentException("NIe odnaleziono klucza dla " + key, ex);
}
}
}
Jak widać wiele jeszcze do zrobienia, ale sam szkielet klasy już jest odpowiednio dopasowany. Propozycje dalszych zmian mile widziane. Mamy wystawioną usługę jako usługę sieciową za pomocą @WebService, a dostęp do bazy danych kontrolowany jest przez serwer aplikacyjny i dostępny klasie przez @Resource. Czyż nie ładniej, chciałoby się zapytać? Teraz pozostaje obsłużyć właściwe tworzenie pliku XML (pewnie JAXB, ale nie będę ukrywał, że aż mnie rwie do Groovy), klient po stronie bazy lokalnej, który czyta odpowiedź od usługi, zapis do lokalnej bazy danych i powinno być całkiem cacy. Terapia szokowa w postaci Groovy i Grails czeka w kolejce (jeszcze im nic nie mówiłem, nawet nie wspominałem, więc prośba o dochowanie tajemnicy, zgoda?).

Jeśli są zainteresowani, aby dowiedzieć się więcej o szczegółach działania tej klasy, wystarczy się odezwać w komentarzu, np. tak: "Wyjaśnień potrzebowałbym więcej...". Chętni? Artykuł czy skrinkast*?

Ach i przy okazji tych doświadczeń z adnotacjami Java EE 5, sprawdziłem jeszcze jedno połączenie, tym razem NetBeans IDE z Eclipse. Sam projekt tworzony był w Eclipse IDE i tak został zapisany w repozytorium. Ja wystartowałem z NetBeans, więc konieczny był import, który sądziłem początkowo, że trochę pozamienia w projekcie. Okazało się, że nie tylko nie pozamieniał, ale moja zmiana była widoczna w Eclipse bez jakichkolwiek specjalnych kroków poza cvs update. Nie było mi dane ukryć mojego zdumienia, że tak łatwo poszło. Miałem przez moment stracha, że może się nie udać, ale, jak to mówią, diabeł ma wielkie oczy.

[*] Z tym "skrinkast" to przegiąłem, co?

09 stycznia 2010

59. spotkanie Warszawa JUG - Michał Margiel z "JavaFX bez ściemy"

2 komentarzy
Warszawska Grupa Użytkowników Technologii Java (Warszawa JUG)Warszawska Grupa Użytkowników Technologii Java (Warszawa JUG) zaprasza na 59. spotkanie, które odbędzie się we wtorek, 12. stycznia o godzinie 18:00 w sali 5440 Wydziału MIMUW przy ul. Banacha 2 w Warszawie.

Temat: JavaFX bez ściemy
Prelegent: Michał Margiel

Przez ostatni rok na temat najnowszego dziecka SUN narosło wiele mitów. Jedne, rozpowszechniane przez pracowników SUN, mówią o tym jaka to fantastyczna technologia, pozostałe zaś, głoszone przez osoby które tylko liznęły JavaFX, głoszą, że technologia ta nie nadaje się do niczego. Michał twierdzi, że jako osoba postronna, nie związana z firmą Sun, a jednocześnie praktyk, który przez ostatnie pół roku stosuje JavaFX w komercyjnym projekcie, potrafi spojrzeć na tę technologię obiektywnie i fachowo.

Na prezentacji zostaną zaprezentowane wszystkie najważniejsze cechy języka JavaFX Script nie tylko w teorii na slajdach, ale również w przykładach. Przedstawione zostanie również jak uruchomić komponenty JavaFX w aplikacjach swingowych. Michał odpowie na pytania: "Czy warto inwestować swój czas w JavaFX?" oraz "Czy JavaFX jest gotowa na uruchomienie produkcyjne?"

Michał Margiel jest absolwentem Informatyki na Wydziale Elektrycznym Politechniki Warszawskiej. W WJUGu jest od samego początku jego istnienia, oraz współorganizował dwie edycje konferencji Javarsovia. Na co dzień programuje w firmie Pragmatists, zaś samą javą zajmuje się już od ponad 4 lat. Posiada certyfikaty SCJP, SCWCD, pomocy przedmedycznej oraz wychowawcy kolonijnego.

Planowany czas prezentacji to 1,5 godziny, po której planuje się 15-30-minutową dyskusję.

Wstęp wolny

Zapraszam w imieniu prelegenta i grupy Warszawa JUG!

08 stycznia 2010

Sagi certyfikacyjnej ciąg dalszy - IBM Certified Business Process Analyst - WebSphere Business Modeler Advanced V6.2

1 komentarzy
Końcówkę roku 2009 postanowiłem spędzić na podsumowaniach w postaci certyfikatów i zdałem egzaminy wymagane do IBM Certified Deployment Professional - WebSphere Process Server V6.2 oraz IBM Certified System Administrator - WebSphere Application Server, Network Deployment V6.1.

Niestety czas się skończył w 2009, więc kilka postanowień certyfikacyjnych przeszło na ten rok. I dzisiaj przyszła kolej na egzamin Test 000-372: IBM WebSphere Business Modeler Advanced V6.2, Business Analysis and Design, który jest wymagany do certyfikatu IBM Certified Business Process Analyst - WebSphere Business Modeler Advanced V6.2. I ja go mam, co widać na załączonym poniżej obrazku!

Był to egzamin, który przypomniał mi moje boje egzaminacyjne na studiach (a że do bystrych nie należałem, to i zdarzało się podchodzić kilkakrotnie do niektórych). Przy całym moim egzaminacyjnym doświadczeniu, gdzie potu i łez co niemiara, przyszło mi zdawać egzamin z Modelera. Nie miałem tak wielkiego doświadczenia praktycznego z produktem, jak w przypadku WASa, czy WPSa, więc trząsłem się jak osika na każdą myśl o tym egzaminie. I faktycznie było się czego bać. Ostatni projekt, w którym przywdziałem szaty analityka biznesowego (albo inaczej, osoby pretendującej do tego miana z wiedzą jak posługiwać się WBMod) wykorzystałem do zgłębiania produktu, z egzaminem na horyzoncie. Przeszedłem jeszcze szkolenie internetowe ZB282: IBM WebSphere Business Modeler V6.2: Process Mapping, Simulation and Analysis (Self-Paced) (którego nota bene nie polecam w tym wydaniu, a sugerowałbym raczej tradycyjną wersję) oraz, znacznie więcej niż dotychczas, spędziłem czasu z samym narzędziem wespół z jego dokumentacją IBM WebSphere Business Modeler Advanced V6.2 Information Center.

Do egzaminu podszedłem z 2 innymi IBMerami (Luizą i Maciejem), dzięki czemu mogłem zagadnąć do nich z pytaniami, co okazało się niezwykle przydatne. Im udało się jeszcze spróbować swoich sił w teście przygotowującym (za 30USD - Sample / Assessment Test), a mi już nie starczyło czasu. Pewnie bez ich pomocy nie byłoby mi teraz tak do śmiechu. Dzięki!

Kolejny egzamin w planach to Test 000-669: SOA Fundamentals [2008], albo Test 667: Architectural Design of SOA Solutions. Jeszcze się namyślam, który i kiedy. Gdyby udało mi się jeszcze przejść przez egzaminy z WebSphere ILOG JRules V7.0 i IBM WebSphere Integration Developer V6.2, to byłoby cacy. Pewnie jeszcze jakieś "skrawki" w ofercie certyfikacyjnej IBM znalazłyby się, ale...bez przesady :]

04 stycznia 2010

Noworoczne postanowienia na 2010 - znowu ich więcej niż czasu, więc z głową Jacku, z głową...

16 komentarzy
Minął 2009 rok i trudno byłoby wskazać osobę, która nie oczekuje od 2010 jeszcze większych, bardziej spektakularnych (pewnie finansowo?) sukcesów. Planów wiele, a czasu jakby na lekarstwo, więc pora nauczyć się z głową nim operować. I to jest moje postanowienie numer #1 - zabrać się za rozważne planowanie zadań i ich sumienną realizację. Na pewno ucieszy się Agata, pewnie Iwetka i Patryk (to sfera rodzinna - nie mylić ze sforą :)), ale i osoby, z którymi współpracuję/działam na arenie społecznościowej. Do tej pory było tak, że jakoś szło i faktycznie zawsze kończyło się jakoś. A to się przesiedziało przed kompem przez bite 5h nic nie zrobiwszy, a to znowu i tak w kółko. Nie raz pamiętam przeciągające się godziny nad niczym, szczególnie te nocne, więc od dzisiaj koniec z tym nawykiem. Jeśli siedzieć przed kompem, to faktycznie coś zrobić, np. postarać się o lepszy jakościowo (niż w 2009) wpis na blogu. Oby było jakoś lepiej, a już będzie bardziej twórczo. Co za paradoks, że można robić mniej, a wciąż efektywnie(j)?!

Wygasiłem rok 2009 rodzinnym wyjazdem do Białki Tatrzańskiej na narty i tak od 29.12 (w nocy) do 2.01 (koło 18tej) spędziłem czas niezwykle aktywnie poza zasięgiem komputera (nie wliczając lektury "Groovy in Action", którą mam w PDFie). Mimo nieciekawych warunków narciarskich, całe dnie spędziłem na stoku z 2-godzinną przerwą obiadową. Było super i każdemu polecam spędzenie jak największej ilości czasu w ten sposób. Idzie się przewietrzyć, a podczas zjazdu jest pora na kilka przemyśleń. Powrót nie należał do najbardziej oczekiwanych wydarzeń w Nowym Roku i to z dwóch powodów - po pierwsze koniec laby (a w dzień wyjazdu zaczęło sypać śniegiem), a po drugie powrotna trasa do Wawy, która zapowiadała się na kilka(naście) godzin. Szczęśliwie, po 7-godzinnej trasie pozostało jedynie (niemiłe) wspomnienie.

O dziwo, skrzynka pocztowa nie była przesadnie napakowana mailami. I to obie, prywatna i służbowa, więc był czas, aby spisać swoje przemyślenia/plany na rok 2010. O prywatnych nie wspominam, bo tematyka nie ta i wieje nudą (słowo rodzina odmienione we wszystkich przypadkach), więc jawnie będzie jedynie javnie/społecznościowo.

Numerem jeden (powiedzmy bis biorąc pod uwagę rozważne planowanie zadań i ich sumienną realizację - muszę sobie to ciągle powtarzać, aby dobrze zapamiętać) jest stworzenie javowego serwisu społecznościowego, do którego mam już domenę - wszystkojawne.pl, a nawet dwie - javosfera.pl. Obie wskazują na tematykę i sposób jej gromadzenia - razem z polską społecznością javową. Chciałbym, aby odwiedzalność mojego bloga została przeniesiona na nowopowstający serwis pro publico bono. Byłoby super, gdyby serwis mógł w jakimś stopniu zarabiać na siebie (bo zamarzyło mi się utrzymywanie takiego serwisu "full time"), ale to wkładam na półkę w kategorii "Bajki". Tak czy owak, migracja mojego bloga i wiki, zgromadzenie innych entuzjastów pisania, czy nagrywania podcastów/screencastów w jednym miejscu byłoby spełnieniem moich marzeń javowych. Możnaby zrobić nawet tak, że kilka osób pracuje nad tematem w pełnym wymiarze czasu, kilku z doskoku, a reszta "naukowo", aby podszkolić swój warsztat, a później i wejść na poziom płatności za moduł/funkcjonalność. I tak by się kramik kręcił.

Kolejnym pomysłem jest bardziej efektywne zaangażowanie się w projekty Apache OpenEJB i Apache OpenWebBeans, z pewnym uwzględnieniem Apache Geronimo (w obszarze wsparcia przez NetBeans IDE). Projekty bardzo podobne, ale chodzi raczej o nawyki, jakie mogę nabrać podczas pracy z innymi programistami w projektach otwartych, w których ustawiam się bardziej jako wykonujący, a nie prowadzący. Za mało jeszcze potrafię, abym mógł poprowadzić ich rozwój na większą skalę i właśnie bardziej twórcza praca miałaby mi pomóc w poznaniu dwóch nowych i jednej odświeżonej specyfikacji, odpowiednio Context and Dependency Injection for Java EE (dawniej Web Beans), Java EE 6 Managed Beans oraz EJB 3.1. Docelowy kierunek to poznanie Java EE 6 przez pryzmat rozwoju tych projektów (z częściowym uzględnieniem tych, zgromadzonych wokół JAX-*). OSGi jest w tle.

Jeśli do tego dorzucę kilka luźnych projektów na Githubie (Nauczyciel), PoMaGeR (podcasty), gazetka (newsletter WJUGa), albo pomysły z Sebastianem (wydatki) i Koziołkiem (recenzje), miałbym możliwość wzmocnienia swojego doświadczenia z Grails i narzędziami do zarządzania źródłami - git i mercurial - w praktyce. Znudziło mi się to ciągłe teoretyzowanie, a tymi projektami powinienem wypełnić tę lukę. Z wydaniem Grails 1.2 i wsparciem dla Groovy 1.7, w którym z kolei mamy wsparcie dla klas anonimowych powróciła nadzieja na połączenie Grails z Apache Wicket, który był niezwykle odświeżający przy tworzeniu UI. Można zawsze skorzystać z GWT, ale Wicket był bardziej inspirujący. Dorzucając do tego Clojure w postaci wtyczki mamy ciekawy stos technologiczny. Oby się udało zrealizowanie choćby części tej części.

Kiedy dorzucę jeszcze plany wokół podcastów i screencastów robi się już tego wystarczająco wiele, aby zapełnić nie jeden, ale kilka Nowych Roków. Jak widać pomocy potrzebuję bardziej niż niejeden z Was, więc w ten czy inny sposób, warto się ze mną skontaktować, aby pomóc mi, jednocześnie pomagając sobie :) Chętni do współpracy mile widziani.

Po tym niewielkim streszczeniu można zorientować się, że chęci mam, ale zadanie numer #1 - zabrać się za rozważne planowanie zadań i ich sumienną realizację - potrzebuje wdrożenia szybciej niż mi się wcześniej wydawało. Zdecydowanie za dużo się nagromadziło w 2009 i mi się spączkowały w 2010. Na pewno będzie ciekawie. Wracam do mojej mantry 2010:

Zabrać się za rozważne planowanie zadań i ich sumienną realizację...zabrać się za rozważne planowanie zadań i ich sumienną realizację...zabrać się za rozważne planowanie zadań i ich sumienną realizację.