sobota, 17 grudnia 2011

Szacowanie - od czego zaczac?

Szacowanie to moj temat nr 1 na rok 2011. Naczytalem sie sporo, naszacowalem i w pracy i poza, napopelnialem bledow, nawalilem wiele razy. Dyskutowalem z kilkoma osobami live, na forach, grupach i chcialbym to podsumowac. Najbardziej interesuje mnie poznanie mechnizmow psychiki czlowieka, ktore maja zasadniczy wplyw na szacowanie. Kolejny aspekt to sprawa swiadomosci jak moje szacowanie wplywa na to co robia inni czyli poszerzenie horyzontu i uswiadomienie sobie pewnych waznych zaleznosci. Na koniec wspomne ogolnie o pewnych metodach pomagajacych w szacowaniu.

Zacznijmy od tego oto meterialu. Linda Rising bardzo ciekawie tlumaczy skad biora sie niektore bledy oszacowan i jak sobie pomoc:
Linda Rising: Deception and Estimation: How We Fool Ourselves. cz1 cz2

wtorek, 13 grudnia 2011

Testy Alibi

Spotkalem sie dzisiaj z nowym rodzajem testow. Tak mi sie on spodobal, ze zechcialem wspomniec o nim na blogu. Chodzi o Testy Alibi. Moja definicja tego pojecia jest nastepujaca:

Testy Alibi - to takie testy, ktorych glownym celem jest istnienie samo w sobie.

Jesli ktos pyta czy do danego kodu napisane sa testy to w przypadku testow alibi mozna odpowiedziec, ze oczywiscie tak. Najlepiej odpowiedziec na tyle stanowczo zeby nie otrzymac kolejnego pytania na ich temat.

piątek, 9 grudnia 2011

piątek, 2 grudnia 2011

Po co nam te javadocki, komantarze, etc...

Grzebiac w kodzie znalazlem kilka metod opatrzonych takim oto komentarzem:

"Life is too short..."

Autor mial zapewne wazniejsze rzeczy do robienia podczas pisania kodu i niepisania javadoca. Ocenil sytuacje i stwierdzil, ze szkoda jego cennego czasu, jego zycia na takie pierdoly. Po jakims czasie ja trafiam na to miejsce starajac sie zrozumiec jak cos dziala. Co z moim czasem, z moim zyciem? Patrzac z szerszej perspektywy, ktos bedzie musial za to zaplacic i z pewnoscia nie autor, ktory zaoszczedzil swoj czas.
Podumowujac:
Kod wiecej razy czytamy niz piszemy. Dlatego tak wazne jest zeby juz napisany byl czytelny i zrozumialy. Wszystkim piszacym kod polecam ksiazke "Clean Code" by Robert C. Martin (Uncle Bob).

piątek, 25 listopada 2011

Czy znasz wystarczajaco dobrze narzedzia, ktorych uzywasz?

Jaka jest twoja odpowiedz na to pytanie? Nie badz taki surowy ;) przeciez jestes wazna, nieprzecietna osoba! Jak trzeba bedzie to nauczysz sie wszystkiego w 2 dni.

Zaczne moze od tego, ze glownym powodem mojej sympatii do szeroko pojetego tematu komputerow i nauki o nich jest to, ze komputery moga wykonac szybko pewne zadane przez ludzi zadania. W ten sposob moga nam ulatwic zycie. Ulatwic zycie znaczy w pewnych sytuacjach oszczedzic nasz cenny czas.

Spojrzmy teraz na pewien zespol programistow. Jest ich 6. Codziennie spedzaja w pracy 8-9 godzin. Z tego efektywnie pracuja 4-6. Tu wtrace, ze blokowanie dostepu do pewnych zasobow internetu wcale nie poprawia, a czesto pogarsza ten wynik. Dla uproszczenia przyjme ze kazda osoba pracuje 5 = (6+4)/2 godzin dziennie. Do pracy uzywaja pewnego zbioru narzedzi. Nie znaja jednak wielu zastosowan tych narzedzi. Znaja pewne ich zastosowania i do tego maje wlasne przyzwyczajenia. Co sie stanie jesli pokazesz im jak uzywac narzedzi tak aby zaoszczedzili 10 minut dziennie?

10 min * 6 osob *20 dni pracy na miesiac * 12 miesiecy = 14400 minut
14400 minut / 60 minut / 8 godzin deklarowanej pracy na dzien = 30 dni
14400 minut / 60 minut / 5 efektywnej pracy = 48 dni!

Tak. Kazdy latwo sobie dalej przemnozy ile to pieniedzy (programisci pomnoza przez p, managerowie przez p*m, gdzie m>8). Jaki z tego wniosek?
Doskonalenie rzemiosla do pewnego poziomu oplaca sie.
W kolejnych postach opisze historie programisty Henia, ktoremu udalo sie wprowadzic pewne usprawnienia w projekcie, w ktorym pracuje. Zastanowimy sie tez ile oszczednosci moglo to wprowadzic.
A ile oszczednosci moze to wprowadzic w twojej pracy, niekoniecznie zawodowej?

niedziela, 6 listopada 2011

Jak dziala hibernate'owy cache

Jako, ze w kolejce czekaja zadania z optymalizacji aplikacji. Postanowilem zbadac jak dziala cache w hibernate. Zanim bede czytal kod hibernate (glownie na potrzeby second-level-cache) zapoznalem sie z tekstami innych programistow. Ten artykul uwazam za jeden z ciekawszych:
http://blog.dynatrace.com/2009/02/16/understanding-caching-in-hibernate-part-one-the-session-cache/

Kolejne czesci latwo wskaze uncle Google.

czwartek, 3 listopada 2011

Monitorowanie hibernate

Uzywasz hibernate i chcialbys dowiedziec sie:
  • jakie zapytania sa wykonywane przez hibernate
  • ile razy zapytania sa wywolywane
  • ile trwaja konkretne zapytania
  • ...
Polecam to oto narzedzie: http://hibernate-jcons.sourceforge.net/. Dla mnie bomba !

niedziela, 30 października 2011

Popatrzec na program okiem uzytkownika

Niessamowite doswiadczenie mialem w piatek. W ramach wdrozenia wyslany zostalem wraz z kolega z projektu na szkolenie dla uzytkownikow systemu, ktory programujemy. Grupa szkoleniowa to osoby z dzialow zakupow +my.
Spotkanie z uzytkownikami softu, ktory klepie to moje zawodowe marzenie. Sugerowalem przelozonemu cos takiego jednak okazalo sie, ze jest inna grupa za to odpowiedzialna i w sumie nikt nigdy czegos takiego nie robil.... musze bardziej nad nim popracowac :)
..wiec stalo sie, jestem na szkoleniu.
Postanowilem nie proznowac i notowalem wszystkie obserwacje uzytkownikow. Pytalem jak klikaja, czego uzywaja, czego nie uzywaja (wow tu bylem mocno zaskoczony), co jest dla nich trudne. Notowalem wszystkie uwagi, na temat kolorow, ukladu, niejasnosci, gdzie sie gubili. Mam materialy na 2-3 misiace pracy. To byl czad! Kiedy pokazywalem niektorym osobom jak cos mozna lepiej zrobic, byli zachwyceni. Co za soft! Dla nich to cenne informacje pozwalajace oszczedzic czas i usprawnic prace. Dodatkowo poznalem lepiej proces zakupow. Uslyszalem wiele przykladow z zycia codziennego co dalo mi nowe spojrzenie nie tylko na sam system ale ogolnie na prace, ktora wykonuje. Jak wazne jest dobre zrozumienie tematu, przygotowanie uzytecznego rozwiazania i komunikacja.
Takie spotkanie polecam kazdemu kto pisze soft dla ludzi.

czwartek, 27 października 2011

Prawie jak SVN :)

Jesli pracujesz z CVS to masz szanse natknac sie na taki oto problem:
Programista Henio przychodzi do pracy i synchronizuje sie z repozytorium cvs. Wszystko mu sie pieknie zbudowalo. W trakcie testowania czegos zauwaza, ze cos jednak w programie dziala nie tak jak wczoraj. Hmmm, pewnie ktos cos pozmienial. Zaraz sprawdzimy. I tu Henio sie orientuje, ze standardowy plugin w jego eclipsie nie pozwala pokazac jakie pliki zostaly zmienione w konkretnym commicie. Ojjojjoj jak dobrze bylo uzywac svn. I jak sie teraz dowiedziec kto, co i kiedy zacommitowal.

Heniowi pyta wujka Googlek o rade, a on wskazuje na ten oto adres:
Eclipse CVS ChangeLog Plugin. Henio instaluje plugin w swoim eclipse, wszystko ladnie dziala. Teraz juz wiadomo kto co ostatnio commitowal, latwiej znalez co zostalo popsute. CVS stal sie prawie jak SVN tak na 5 minut.

wtorek, 25 października 2011

Czytanie między wierszami ma swoje minusy

Dużo dobrego słyszałem o polskich programistach, którzy z byle jakie specyfikacji potrafią zmajstrować solidny program. Jak oni to robią? Z tego co udało mi się zaobserwować stosuję metodologię CzytajMiędzyWierszami. A kim są ci, którzy bardzo lubią tą metodologię? Są to ludzie, którzy z różnych powodów opracowują niestarannie wymagania klienta, piszą nieprzemyślaną specyfikację, później to zatwierdzają i przekazują dalej (cokolwiek to znaczy).

Oto programista Henio dostaje do wyklepania CRa. Widzi jego opis zarejestrowany w BTS, widzi komentarze, jakieś dodatkowe wyjaśnienia, linki do UseCase'ów, widzi maile z kolejnymi potwierdzeniami od specyfikatorów i testerów, wszystko jest ok. Henio jest pilnym programistą i już niejedno na swojej programistycznej ścieżce widział. Po pierwszym czytaniu Henio widzi, że to co jest w BTS i to co jest w UseCase'ach to nie to samo. Henio zna metodologię CzytajMiędzyWierszami wie kiedy jest deadline i wie jeszcze, że żeby odkręcić te kilka szczegółów trzeba porozmawiać (Henio wie, że maila wysyła się, kiedy nie trzeba czegoś szybko załatwić) z 3 osobami, wyjaśnić im co jest nie tak, poprosić o komentarz, posłuchać ich wyjaśnień i dostać od nich poprawione wersje. Do tego wszystkiego dochodzi jeszcze pośrednio kierownik projektu, który zablokował pliki, ponieważ dostał informację, że wszystko jest zapięte. Tak się składa, że do pokoju Henia przyszedł Zenek. Henio przedstawił sprawę Zenkowi i zapytał co by Zenek zrobił. Zenek też zna metodę CzytajMiędzyWierszami do tego zna jeszcze NieCzytajMiędzWierszami. Zenek pyta Henia co się stanie jeśli CR zostanie wyklepany i pójdzie do testów. No jak to co? Testerzy przeczytają specyfikację i go przetestują, tzn przetestuję część. To co stoi między wierszami pominą. W końcu po to mamy specyfikację i wymagania, żeby na nich polegać. CR trafi na produkcję. Przyjdzie kilka bugów, się poprawi i jakoś będzie - pochodna code and fix. Ktoś nie dostanie na czas swojego samochodu, ktoś dostanie paczkę z tygodniowym opóźnieniem, innych 1000 osób będzie musiało dalej drukować i pewne dokumenty zamiast móc je przekazywać drogą elektroniczną. No chyba, że Heniu poświęci swój cenny czas, jaki spędza w pracy na zrobienie czegoś naprawdę dobrze i na poziomie. Co zrobi Heniu? A co zrobisz ty w takiej sytuacji?

piątek, 21 października 2011

FritzBox - telefonia internetowa

Oto moj modem FritzBox 7170
Nie ma to jak przyjaciele i ich dobre rady. Po jednej z nich zakupilem ten model, ktory jak dla ma bogata funkcjonalnosc. To z czego obecnie korzystam i bardzo jestem zadowolony to wbudowane w niego bramka VOIP. Numer niemiecki zakupilem u lokalnego dostawcy, numer polski w strefie 071 easycall.pl (5zl/rok). Do routera podlaczylem zwykly telefon stacjonarn. Router pozwala zarejestrowac kilka numerow telefonu i podpiac je pod jeden telefon. I tak oto rodzina z Polski dzwoni na moj numer ze strefy 071 i placi lokalnie, znajomi z Niemiec dzwonia do mnie jak do volksdojcza. Ja wybierajac odpowiedni prefix dzwonie przez 071 do polski (0.08 gr/min), a do Niemiec przez odpowidni inny prefix. Jestem bardzo zadowolony z tego rozwiazania. Jesli ktos chce znac szczegoly to chetnie podziele sie na priv.


ThoughtWorks - relacja

Na wyklad przyszla ponad setka osob.

Wolf Schlegel: "Dos and don'ts of Continuous Integration and Delivery"
Wolf zadal takie oto pytanie: Ile czasu zajmuje dostarczenie nowej wersji na produkcje po dodaniu jednej linijki kodu?
Mozliwos szybkiego i sprawnego dostarczenia nowej wersji jest kluczowa. Decyzja o tym kiedy nowy releas wejdzie na produkcje jest sprawa marketingowa, umiejetnosc zrobienia tego jest sprawa techniczna. I ta umiejetnosc czesto przesadza o tym kto zagarnie nowych klientow.
Znane sa sytuacje kiedy programista nie zdarzyl sie wyrobic i pewna czesc funkcjonalnosci przesunieta zostala do kolejnego release (np. na 3 miesiace)
bo taki jest plan.
A co gdyby po kazdej wprowadzonej zmianie mozna bylo miec mozliwosc latwego dostarczenia nowej wersj na produkcje?
Oznacza to m.in.:
  • latwosc zarzadzania wersja
  • sprawne przeprowadzenie testow (np. automatyzacja)
  • sprawny proces budowy nowej wersji, sprawny deployment (lacznie z backupami danych)

Erik Dörnenburg: "Lean for enterprise architecture"
Erik twierdzi, ze architektura oprogramowania ma wbrew pozorom wiecej wspolnego z ogrodnictwem niz z klasyczna architektura i budownictwem.
Tu przpomina mi sie czesc artykulu Martina Fowlera http://www.thoughtworks.com/the-new-methodology. Jakims sposobem zapamietalem prawi nic z jego sesji ale moze dlatego ze
nie bylo w niej nic nowego poza tym co napisal Fowler we wspomnianym artykule. Musze jednak zaznaczyc, ze sesja Erika podobala mi sie najbardzie.

Martin Fowler: "Software Design in the 21st Century"
Na tego pana czekalem z duzym zainteresowaniem. Do tej pory czytalem tylko jego ksiazki, bloga i artykuly. Tym razem mialem okazje chwile go poobserwowac i zamienic slowo.
Martin opowiadal o wzkorzystaniu podejscia przy projektowaniu. Glowynm argumentem za bylo mozliwosc przywrocenia systemu do danego stanu za pomoca zalogowanych eventow.
Latwa reprodukcje defektow na podstawie sekwencji eventow. Mozliwosc badania systemu w roznych stanach i latwosc uzyskiwania tach stanow. Szczegoly sa tu http://martinfowler.com/eaaDev/EventSourcing.html

W drugiej czesci omawiany byl software design ogolnie. Nie obylo sie bez Uncle Bob i kwesti moralnej kazdego programisty wsickajacego codziennie guzik(i). Poruszony zostal rowniez temat dlugo technicznego (technical debt) http://martinfowler.com/bliki/TechnicalDebt.html. Jak to z kazdym dlugiem, trzeba go kiedys zwrucic, czesto z odsetkami. Chodzi tu o sytuaje kiedy management cisnie na zrobienie czegos na wczoraj zeby dzialalo, nie wazne jak, zaby tylko klient mogl przeklikac. I nie ma nic w tym zlego. Kredyty sa zaciagane na przerozne rzyczy. Jedyne o czym trzeba pamietac to splata - ona kiedys nastapi. Moze nie podczas trwania projektu, a juz w fazie utrzymania. Nie wazne - zaplacic wkoncu trzeba, a zaplaci pewnie klient.

We wszystkich wystapiniech czuc bylo mocno podejscie adaptacyjne i nacisk na bardzo bliska wspolprace z klientem oraz profesjonalizm w wytwarzaniu oprogramowania. Wszystko po to zeby stworzyc nie tyle sam produkt ile srodowisko pozwalajace przygotowac taki produkt, ktory da sie:
  • latwo dopasowac do zmian na rynku (dodanie nowzch funkcjonalnosci, zmiana istniejacych) good design
  • sprawnie wprowadzac na rynek - WPROWADZAC i WPROWADZAC ciagle - continues integration and delivery
  • tworzyc przy nierozlacznej wspolpracy biznesu z IT - klient jest aktywna czescie zespolu tworzacego oprogramowanie
W tym srodowisku najwazniejsi sa ludzie. "Put people first" i moja parafraza pewnego sloganu "People matter, results come". Ten caly agile jest po prostu dla ludzi, a nie dla projektow czy tam procesow. To znaczy, sa ludzie, ktorzy beda w takim systemie dobrze pracowali i sa tacy ktorym on bedzie nie na reke. Jednak te male robaczki z samego dolu programistycznego padolu sa waze, a nawet bardzo. Nazywane przez niektorych resource'ami sa jak to pisze Fowler indywidualnosciami przeznaczonymi do tworczej pracy. Jak to wlasciwie jest ?

wtorek, 18 października 2011

Software Design in the 21st Century by ThoughtWorks

Dzisiaj po pracy jade do Berlina na: Software Design in the 21st Century. Przy okazji chcialem podziekowac Marcinowi za informacje o tym wydarzeniu. Networking dziala! Czytalem troche Fowlera i postanowilem nie przepuscic tej okazji. Udalo mi sie namowic kolege z projektu wiec jedziemy razem, bedziemy mieli okazje na dluzsza rozmowe.

poniedziałek, 17 października 2011

Malgosia i Janek sind schon da....

wczoraj w nocy przyjechalismy razem do Wolfsburga... Janek zniosl droge (5,5h) zaskakujaco dobrze, wiekszosc czasu spal. Teraz czas na adaptacje w nowym terenie, w nowej konfiguracji.

piątek, 14 października 2011

Mylyn + bookmarki pro task

W poprzednim wpisie pochwalilem mylyna zapamietywanie bookmarkow pro task. On to rzeczywiscie robi i dodatkowo mozna bookmarki filtrowac i widziec aktualnie tylko te zwiazane z aktywnym zadaniem. Postanowilem napisac do userow mylyna na forum Moze cos sie z tego urodzi....

piątek, 30 września 2011

Mylyn i code review

Generalnie jestem zwolennikiem tekiego code review gdzie nie ma wyznaczonego jednego guru, ktory to robi. Ludzie w projekcie sprawdzaja nawzajem swoj kod. Guru patrzy na wazniejsze kawalki. Zalozmy jednak, ze ty - guru yoda - jestes namaszcony zeby robic co jakis czas review swiezego kodu. Pisze go 10 koderow. Jak w prosty sposob przekazac tym koderom swoje uwagi i nie namacic w kodzie? Jak wskazac im te miejsca, ktore trzeba przepisac. Moze Excel ;P moze wstaei komentarze do kodu..
Tu z pomoca przchodzi znowu Mylyn! Oto super prosty i skuteczny, sprawadzony przez wielu przepis, a juz jak grupa jest rozproszona to nie ma lepszego...
Otoz kazde review traktujesz jako odrebne zadanie mylyna. Aktywujesz zadanie, przegladasz kod napisany przez Martina, a mylyn tworzy kontekst. Zeby nie smiecic w kodzie zbedynmi komentarzamie dodajesz bookmarki. Na koncu zapisujesz nowe zadanie jak np. bug przydzielasz Martinowi i dodajesz do niego utworzony przez mylyna kontekst. Martin przychodzi do pracy odpala swojego sexclipsa i widzi na swojej liscie nowe zadanie. Aktywuje je, otwiera mu sie kontekst i juz wie na co ma zwrocic uwage. Czyz to nie super narzedzie ten mylyn !!?

W mylynowym kontescie nie widac wszystkich plikow

Po co widziec te wszystkie pliki? Po to sa rozne kontesty zeby latwiej bylo sie w nich poruszac (moje proste wyjasnienie). To kwestia przestawienia sie na Task Focused Programming. Jednak moj kontekst sie szybko "brudzil".
Byly ku temu dwa powody:

1. A to w trakcie pracy nad problemem A zapragnalem na chwile wskoczyc w problem B
2. A to ktos przyszedl do mnie, zeby sie o cos spytac w kodzie

Wylaczenie aktywnego zadania powodowalo, ze wszystkie edytory byly tez zamykane. Wtedy ja szukalem tego co mi bylo potrzebne. Ewentualnie nie deaktywowalem zadania nad ktorym pracowalem i wtedy kontekst "wybogacal sie" o rzeczy z nim niezwiazane. Znalazlem na to 2 rozwiaznia. Oto one:
Rozwiazanie 1. Utworzylem sobie nowe lokalne zadanie o nazwie WTF (wiadomo). Mozna tez AnyOtherBusiness lub DevNull jak kto woli. Ilekroc ktos ma do mnie jaki biznes przelaczam sie na moje specjalne smietnikowe zadanie i szafa gra.
Rozwiazanie 2. Zauwazylem ze w widoku "Projec Explorer" kiedy zatrzymam myszke na ikonce projektu lub pakietu pojawia sie obok niej taki maly "+". Po nacisnieciu dostaje sie pelny widok jednak nie jest on dodawany do kontekstu dopukni nie otworze pliku.
Rozwiazaniem podzielilem sie z kolega obok i bardzo mu sie spodobalo.Tteraz obaj mamy zadanie WTF na naszych listach :)

czwartek, 29 września 2011

Przestaje narzekac na waterfall - serio !

People matter! No ale jak people decyduja zeby olowek ostrzyc widelcem to.... to stwierdzenie "People matter!" dopiero nabiera mocy, znaczenia i .... kto wie czego jeszcze. A teraz do rzeczy.

Dla wszystkich narzekajacych na waterfall:
http://www.scrumology.net/2011/07/19/stop-blaming-waterfall/
Nastepnie obowiazkowo!:
http://www.thoughtworks.com/the-new-methodology
A potem dyskusja z kolegami i kolezankami przy herbacie. People matter!

środa, 28 września 2011

Testy automatyczne - oszczedzaj cenny czas nie tylko programistow

Jak najszybciej sie przekonac, ze automatyzacja testow sie jednak oplaca (oplaca=generuje mniejsze koszty)? Trzeba policzyc ile czasu istoty ludzkie spedzily recznie testujac. Nastepnie przemnozyc to przez sume planowanych releasow w roku oraz srednia ilosc hotfix-releasow (na bazie wczesniejszych doswiadczen) w roku. W ten sposob uzyskana wartosc nalezy przyrownac do budzetu jaki jest planowany na wprowadzenie testow automatycznych (tu sa wszelkie licencje na software, koncepcje, programowanie, wdrozenie i utrzymanie testow). Na koniec nalezy wyciagnac wnioski.
To oczywiscie duze uproszczenie jenak tak to mniej wiecej wyglada.
Warto przy okazji wziac pod uwage bardzo kosztowna operacje zmiany planow w razie kiedy produkt nie nadaje sie do testow a jednak na testy idzie. Dzieje sie tak zazwyczaj z powodu niewykrycia, ze cos co powinno dzaialc nie dziala. Zespol programisto oddaje funkcjonalnosc do testowanie zespolowi testerow. Cale przekazanie zostalo miesiac wczesniej zaplanowane i ustalono kto co kiedy robi. Nagle okazuje sie, ze testerzy nie moga testowac bo pewien element funkcjonalnosci nie dziala. STOP!
Wyobraz siebie co dzieje sie dalej - to zalezy od tego co juz wczesniej widziales.

Automatyzacja nie dotyczy tylko testowania. Automatczny proces budowania, deployment, weryfikacja.. Jest wiele miejsc gdzie mozna oszczedzic ludzki czas.
Z drugiej strony nie wszystko da sie zautomatyzowac, co wiecej nie wszysto nalezy automatyzowac.

poniedziałek, 26 września 2011

Byc testerem, pierwsze wrazenia...

Od kilku dni wspieram zespol testerow. Ktos pomyslal, ze bedzie to dla mnie dobra okazja do zapoznania sie z funkcjonalnoscia systemu. No wiec testuje i wspolczuje wszystkim testerom klikajacym codziennie po raz setny ten to smo GUI. Robie przy tym notatki z uwagami co do procesu. Nie moge powiedziec, ze sie niczego ciekawego nie ucze. Jednak taka praca powinna byc w jak najwiekszym stopniu zautomatyzowana tak zeby ludzie, majacy mozg, wyobraznie i inne niessamowite atrybuty mogli zajmowac sie wlasciwymi dla nich rzeczami. W ksiazce Pragmatic Project Automation mozna znalezc akapit pod tytulem:
Why should automate something? - Bardzo jasno wyjasnine.

piątek, 23 września 2011

Bookmarki + mylyn = jeszcze lepsza dystrybucja informacji

Czy wiesz, że mylyn w kontekście aktywnego taska zapamiętuje również bookmarki? Rewelacje... czyli teraz mogę opisywać (poza oficjalnymi komentarzami w kodzie) różne dodtkowe, istotne rzeczy.... Takie proste a jak cieszy!

czwartek, 22 września 2011

Bezpieczna odległość

W ostatnią niedzielę wracając do Wolfsburga miałem nieprzyjemność stuknąć ciężarówkę w naczepę. Kierowca nawet się nie zorientował. Na rondzie skręcał z lewego pasa w prawo, zobaczył, że ktoś już jest na prawym pasie i depnął w hamulec. Ja jechałem za nim, też depnąłem w hamulec i leciutkie bum. Wystarczyły by mi 2 metry więcej żeby nic się nie stało. Wg mnie to była mimo wszystko tania lekcja. Bezpieczna odległość to względne pojęcie. Tak sobie pomyślałem, że umiejętność zachowania bezpiecznej odległości jest bardzo cenna. Generalnie dobrze jest mieć miejsce na wyhamowanie, wystopowanie. Nie tylko na jezdni....
Ubiegając niektóre przemyślenia - ynajomość stanu hamulców i opon i warunków atmosferycznych też jest ważna...
Corsa nie nadawała się do dalszej jazdy gdyż mimo lekciutkiego wgniecenia maski wyłamały się uchwyty świateł i dupa.... Na szczęście mogłem pożyczyć auto od teścia i ruszyć dalej.

piątek, 16 września 2011

Czytelne nazwy metod a jezyk ojczysty kodera

Jestem jak jak najbardziej za pisaniem takich nazw metod, ktore dla osoby czytajacej to po mnie beda zrozumiale. Czy mi to zawsze wychodzi? Nie, nie zawsze. Wciaz sie pilnuje i sile nad takimi sensownymi nazwami. Robie to po to abz utrzymanie tekigo kodu bylo w przyszlosci latwiejsze i przez to tansze. Dzisiaj pokazalem koledze kawalek kodu (testu) ktory napisalem z prosba o komentarz. Zapytalem tez czy to jest dla niego czytelne. Zasugerowal mi, ze ladniej bedzie jak uzyje jezyka niemieckiego zamiast angielskiego. I oto jaka nazwa mi wyszla:
konstenArtAenderungVonNichtVerkaufserloeseNachVerkaufserloeseSollNichtZulaessigSeinVorgangImStatusAnfrageGestoppt

środa, 14 września 2011

Dzień Programisty

Wczoraj tj 256 dnia roku obchodziliśmy Dzień Programisty.
Wszystkim programistom i programistkom życzyłem wczoraj żeby nie przestawali kodować.

czwartek, 8 września 2011

Mylyn + bugzilla - jak pomóc innym i sobie


Będzie krótko. Spędziłem kilka ostatnich dni na analizie i korekcie defektu. Przeorałem GUI (Swing+litenery), poszedłem na serwer, kopałem tam jakiś czas i dokopałem się do źródła. I jak teraz opisać innemu programiście całą tą moją wycieczkę żeby w razie potrzeby dotarcie do tego źródła oszczędził czas? Mylyn + jego context.



Jako bugtrackera używamy bugzilli. Defekt importuję do IDE jako nowy zadania (Mylyn się cieszy). Ja buszuję w kodzie a Mylyn tworzy kontekst. Przed zamknięciem defektu wywalam z kontekstu śmieci i załączam go do zadania (defektu). Submit i teraz każdy kto będzie musiał coś dotknąć w tym miejscu i odnajdzie tego bugu w bugtruckerze będzie mógł zaimportować stworzony przeze mnie kontekst i mieć mapę z drogą do żródła.

Scrapbook page - one of the most undervalued and forgotten features of Eclipse

Zachęcam wszystkich mówiących w języku java do zapoznania się z:
One of the most undervalued and forgotten features of Eclipse - Scrapbook page'ami.
http://www.eclipsezone.com/eclipse/forums/t61137.html

wtorek, 6 września 2011

Mieszkasz, żyjesz wodę pijesz

Szukam mebli, sprzętu do kuchni, czekam na podłączenie netu w mieszkaniu....
Na jednej wystawce znalazłem fajną szafkę. Mam nadzieję, że Małgosi i Jankowi się spodoba...

Autostradowa Obwodnica Wrocławia

Jadąc na weekend do Polski zauważyłem na austostradzie A4 znak na Poznań. Hmmm.... czytałem, że tydzień wcześniej było wielkie-małe otwarcie AOW. To teraz nie muszę stercyeć 1-1,5 godziny w korkach żeby przejechać miasto ?!? Naprawdę ?!?! Wjechałem na AOW i zostałem bardzo mile zaskoczony. Tak, zaskoczony, bo nie śledziłem postępu prac i nie zdawałem sobie sprawy jak to w rzeczywistości będzie wyglądało. AOW WOW !

wtorek, 30 sierpnia 2011

Najważniejszy dzień w życiu

Wczoraj jest historią, a jutra nie ma.... śpiewa Maleo Reggae Rockers
Najważniejszy dzień w życiu to DZISIAJ.
Dzisiaj wstałem o 6:00, ogarnąłem się, zjadłem kanapkę z żółtym serem i kiełbasą, taką składaną. Obrałem dwa jabłka, pokroiłem w kawałki i zapakowałem do plastikowego pojemnika, wsadziłem do torby. Wyszedłem do pracy. Grzebałem w kodzie, pisałem, analizowałem, rozmawiałem. Wypiłem w trakcie trochę wody, jedną herbatę i dwie kawy z mlekiem. Zjadłem obiad ze kolegami z pracy. Po pracy załatwiałem formalności związane z mieszkaniem, robiłem zakupy. Wędrując po sklepach wychodziłem z podziwu ile tego mamy do dyspozycji. Oddałem butelki po wodzie mineralnej i po piwie. Kupiłem bułkę, resztę mam w lodówce. No dobrze, kupiłem Paulanera Weissbier - chcę się przekonać co to takiego. Wróciłem do mieszkania. Włączyłem płytę lovestory. Właśnie skończył się dzisiejszy Paulaner...

czwartek, 25 sierpnia 2011

Ordnung 1.1 beta

Dzisiaj po przyjechaniu z pracy do motelu zagaiłem do kolegów siedzących na ławce. Normalnie "Wie geht's?" Usiadłem z nimi i zaczeliśmy rozmawiać. Powiem szczerze, że moją motywacją była tym razem chęć pozbycia się nadmiaru warzyw ( a i tak ich już dużo rozdałem ). No więc po jakimś czasie zapodałem temat jak ja to nazwałem eko-bio-gemuese i sprawa załatwiona. W trakcie rozmowy opowiedziałem im o mojej przygodzie z mieszkaniem. Jeden z kolegów, który pracuje w podobnej instytucji wyjaśnił mi, że do nich pryszło drogą elektroniczną kilka tysięcy podań i nikt na nie nie zamierza odpowiadać. Popyt jest tak duży, że nie boją się, że sprzedaż spadnie. No i ludzie sami do nich wydzwaniają dokładnie tak jak ja.
W jednej z kuchni motelu, w którym mieszkam znalazłem taką oto piękną instrukcję - nazwałem ją Ordnung 1.1 beta. Bardzo mi się spodobała.

Ordnung kann sein, kann ale nie muss


Ordnung kann sein. No a kann to nie muss. Więc sytuacja wyglądała tak. Zarejestrowałem się w 3 agancjach, które dysponują mieszkaniami i od nich można coś wynająć. Jak mają oferty to przesyłają na email lub dzwonią. W moim przypadku to ja pisałem do nich maile i dzwoniłem, średnio 2 razy w tygodniu. Po kontakcie z mojej strony dostawałem pewne propozycje - większość to słabizna. No i dostaję wczoraj maila od pastora Stafan - zapoznaliśmy się wcześniej na spotkaniu wspólnoty Lammburg - w którym mi pisze, że znalazł w lokalnej gazecie ciekawe ogłoszenie, w świetnej lokalizacji. Zaraz tam zadzwoniłem i umówiłem się z Panią Kusuke.
Mieszkanie od razu mi się sopdobało - to już połowa sukcesu. Pani Kusuke nie mówiła dobrze po niemiecku więc na pytanie "Do you speak English?" odpowidziała szczerym uśmiechem. Przyjachała do Niemiec z Japonii jakies 2 lat temu i pracuje tu jako nauczycielka j. angielskiego. Spadłem je, że tak powiem z nieba bo do końca sierpnia chce się wyprowadzić do innego miasta i agencja - tak dokładnie, jedna z tych, w której jestem zarejestrowany - nikogo nie może jej znaleźć. Gdzie ten Ordnung? Dobrze, że sama umieściła ogłoszenie w gazecie.ufff. Więc pogadaliśmy sobie, ja opowiedziałem o mojej sytuacji i tu się dobrze zrozumieliśmy - imigranci w Niemczech. Mieszkanie oglądało w sumie 9 osób, a zamieszkam tam ja z moją rodzinką :)
Trzeba je będzie tylko trochę odświeżyć bo Ordnung tam był japoński. Jak tylko się zadomowimy będziecie mogli przyjechać nas odwiedzić.

środa, 24 sierpnia 2011

Status updejt und guteN 8 (Acht)


Kurcze ale ten czas leci. Przez weekend byłem w Polsce. Janek rośnie tak szybko, że nie mogę pozwolić sobie na dłuższe z nim niewidzenie. No i weekendzik udał się rewelacyjnie! Powrotna droga jest o tyle przyjemna, że jedzie się na zachód i dłuuuudo widać zachodzące słońce.

Więc w przywiozłem tym razem 2 skrzynki (duże) pomidorów, ogórków, gruszke i innych i poczęstowałem m.in. kolegów w pracy. No rewelacja - tato dzięki za ten pomysł. Karmienie współpracowników jest bardzo ciekawym sposobem na rozwijanie kontaktów :)
W pracy wrzynam się w legacy code, jak zwykle bez dokumentacji, bez konceptów. Jednak działa, przerabia grube miliony euro, a ja się zastanawiam kiedy taki system idzie do piachu i czy w ogóle pójdzie (cobolowe system wciąż są na produkcji). Tym razem wchodzę w temat z doświadczeniem z poprzednich firm i jest mi o wiele lżej. A i nie za bardzo się denerwuję, że to takie wszystko zagmatwane oraz wiem czego się jeszcze tam można spodziewać. Pilnie obserwuje status oraz team meetingi, słucham co ludzie mówią. Już pracuję nad postem o estymacjach - mój ulubiony temat w tym roku. Do tego wszystkiego opracowuję powoli ofertę usług jakie zamierzam świadczyć :).
No i na konie - dzisiaj znalazłem w końcu mieszkanie. Opiszę to w kolejnym poście bo temat jest tego warty.

piątek, 19 sierpnia 2011

Intergracja

W ramach integracji pojechałem wczoraj na spotkanie JUG-Ostfalen, a konkretnie na wykład o Spring Integration w EAI. Przyjechał kolega z SpringSource i przedstawił temat. Byłem wcześniej na wykładach o Apache Camel oraz o ESB i tak się zastanawiam co tu nowego. To co zwróciło moją uwagę to to, że twórcy Spring Integration określają rozwiązanie jako NO-ESB. Dla mnie to brzmi jak chwyt marketingowy w stylu: my nie jesteśmy wielkie, ciężkie, drogie ESB - my jesteśmy inni.
Wracając do samego tematu - EAI - to w kontekście dużej firmy jest to bardzo ciekawe zagadnienie. Ja jednak na razie nie dotykam go swoimi palcami.

środa, 17 sierpnia 2011

Multikulti sprawdza sie na jvm - a wsrod ludzi?


Oto wpadł mi w oko plakat wyborczy socjalistów. Spójrzcie sami - multijęzykowy, a tak naprawdę to multikulti. Bo języki na nim użyte związane są z bardzo różnymi kulturami.
Były członek SPD Thilo Sarrazin, opublikował książkę pod tytułem: "Niemcy likwidują się same". Jak to się dla niego skończyło można poczytać w sieci. Potem Pani Merkel weszła w jego buty z tą tylko różnicą, że użyła łagodniejszych słów - multikulti nie wyszło. Ktoś kiedyś powiedział, że jedna platforma i wiele języków, ktoś inny, że jeden język wiele platform. A może tak: wiele języków i wiele platform?

poniedziałek, 15 sierpnia 2011

Swing, Spring, String, języki dżawowe i worek ziemniaków

Czy zna pan Swinga lub Stringa? Takie takie pytanie usłyszałem jakiś czas temu od osoby szukającej programistów Java - cokolwiek to znaczy. Wyobraź sobie drogi czytelniku, że jesteś handlarzem na placu z warzywami. Dostajesz zamówienie na 10 worków ziemniaków. 10 worków z ziemniakami takie szare worki, wypełnione bulwami ziemniaków. Z zewnątrz wyglądają identycznie. W środku prawie identycznie - ziemniaki się różnią jeden od drugiego. Można powyciągać trochę ziemniaków z worka i pooglądać. Można ziemniaka nawet przekroić i zajrzeć czy coś z nim w środku nie tak. A co można z ziemniaków robić: frytki, piure, talarki, sałatkę, placki, etc. Więc z programistami jest podobnie. Są sprzedawani jak worki ziemniaków. Czasem ktoś ziemniaki na frytki, a robi z nich sałatkę. Czasem jest odwrotnie. Z tą tylko różnicą między programistą, a workiem ziemniaków, że on nie chce być tak traktowany.
Pierwsza zasada ziemniaczanego handlu brzmi - people matter !

Pierwszy weekend

W piątek pracowałem krócej niż zwykle. Dlaczego? Dlatego, że postanowiłem spędzić weekend z rodziną. Wsiadłem w mojego Korsacza i po pięknej niemieckiej autostradzie popędziłem do Małgosi i Janka. Wcześniej nic im o tym nie mówiłem - to była naprawdę udana niespodzianka. Tam jechałem 7 h - z Bielan do Trzebnicy 1,5. Powrót 6h. Przy okazji pobytu naprawiłem rurę wydechową, która mi się urwała i wisiała na drucie (moje autorskie rozwiązanie) wydając piękne sportowe odgłosy. Piękny weekend, a Janek jak się zmienił - oj.... dobrze jest mieć do kogo wracać.

środa, 10 sierpnia 2011

Praca, posiłek, sen

Rytm. Czy go czujesz? Czy go masz? Jaki jest twój rytm? Dobry czy zły? Rytmu nauczyła mnie w dużej mierze moja żona Małgosia. Mama uczyła mnie też ale jakoś bardziej dotarło to do mnie przez żonę. Może dlatego, że więcej się rozumie jak człowiek jest starszy. Najbardziej jednak przekonało mnie to co zaobserwowałem patrząc na pierwsze miesiące życia mojego synka Janka. Małgosia wprowadziła porządek i nauczyła tego Janka. Kładliśmy Janka zawsze o 18-19 spać. I teraz w tych godzinach on już śpi. Ma swój rytm, ma porządek. Widzę, że to mu służy i nam też. Więc ja też narzuciłem sobie tu na wyjeździe rytm. Praca (od 7-8 do 17), posiłek, sport (codziennie 30 minut biegania), sen (idę spać nie później niż o 23). Do tego lista rzeczy do zrobienia, których nie odkładam na jutro. Taki jest mój obecny rytm.

Dziś płakałem

W pracy posiedziałem z kolegą nad logiką aplikacji. Poszło całkiem sprawnie, dużo wziąłem. BTW kolega ten jest niezwyczajny - łysa glaca, biała jak śnieg koszula, czarne dżiny i wysokie martensy pod nimi ukryte. Jak założył kurtkę to jeszcze czekałem żeby podwinął nogawki. No może to jakieś stereotypy - tak po prostu lubi. Dzisiaj mu powiedziałem, że pochodzę z egzotycznego kraju nad Wisłą... ogólnie jest sympatyczny.
Po powrocie do mieszkania zobaczyłem zdjęcie Janka - Gosia mi przesłała. Załatwiło mnie... płakałem... poszedłem pobiegać... wiał wiatr, ja biegłem... płynęła barka, jechał pociąg...

wtorek, 9 sierpnia 2011

Drugi dzień


Czytam jakiś podręcznik do systemu, grzebię w kodzie z debuggerem, pytam, czytam, tłumaczę.
No i nadszedł czas na obiad. No i co dziś można dostać w kantynie:

To znany przysmak produkowany dla vw od wielu lat. Mi też smakowały. Ta kiełbasa jest dość duża, dodatkowo wziąłem sałatkę ziemniaczaną. Po takim objedzie trzeba z pół godziny dochodzić do siebie, może nawet dłużej.
Mój project leader zapytał jakim samochodem przyjeżdżam - no Oplem oczywiście, nie wspomniałem, że mam instalację LPG żeby chronić środowisko :) - po czym powiedział, że to trzeba zmienić. Z Corsarzem mogę się rozstać tylko kto za to zapłaci .... ach ten humor poprawny korporacyjnie lub koncernowo.
Po pracy odwiedziłem agencją wynajmującą mieszkania, obejrzałem jedno, założyłem konto - wcale nie trzeba mieć zameldowania na tej ziemi, kupiłem żelazko, które z racji tego, że było ostatnie (nie w Aldi) stargowałem o 4E :) a co. Wieczorem sesja na skype z rodziną. Czy ja tęsknię? No jak się rozstaje z rodziną to się tęskni cały czas.

Pierwsza runda

W poniedziałek spotkałem pierwszy raz zespól projektowy. Jak to z tego typu spotkaniami bywa - nie pamięta się imion, głowa puchnie od dużej dawki informacji. Wspominam z sentymentem jak zaczynałem w poprzednim projekcie.
Tym razem to również duża zmiana - będę pracował przy Global Supplier and Sourcing Managemen System. Nie będę się na jego temat rozpisywał wiadomo z jakiego powodu ;). O tym, że jestem kontraktorem przypomniałem sobie kiedy zapytałem gdzie są jakieś materiały biurowe. Przypomniał mi się zaraz tekst: Contractors - do not feed! No ale o szczegółach to przy piwku kiedyś. Więc były jakieś schematy organizacyjne, zasady, diagramy, etc. Wdrażam się. Witaj Springu, Swingu, Stringu, witajcie języki dżawowe ! :D Jetzt geht's los!

W poszukiwaniu ludzi, tych ludzi

Nadrabiam zaległości. Wprawdzie mamy dzisiaj wtorek ale pozwolę sobie cofnąć się do niedzieli.
Gdzieś niedawno widziałem taki napis: People matter... i coś tam jeszcze. Tylko gdzie ci ludzie, gdzie ich znaleźć. No więc ja szukam ich we wspólnotach chrześcijańskich. Szukam ludzi, z którymi mnie coś łączy mimo, że mówimy w innych językach, mieszkamy w innych krajach. Przejrzałem listę tzw wolnych wspólnot ewangelickich - bo z takimi mam od dłuższego czasu do czynienia i pojechałem na nabożeństwa. No i oprócz uczestnictwa w nabożeństwie miałem okazję poznać dwie osoby, trochę porozmawiać, dowiedzieć się co się dzieje w mieście, jak jest z mieszkaniami, itp. People matter. Będzie dobrze.
W niedzielę udało mi się jeszcze zwiedzić Braunschweig. To zdecydowanie ładniejsze miasto. Jednak ze względu na dojazdy zdecydujemy się na mieszkanie w Wolfsburgu.

Dlaczego mi się nie chce pisać

Mam o czym pisać ale często mi się nie chce. Dlaczego? B nie umiem blogować. Tu przecież nie chodzi o napisanie wypracowania na 5, nie chodzi o to żeby się wszystkim podobało. Chodzi o to, żeby wyrzucić z siebie trochę materiału, ktoś się czegoś dowiedział.
A jak napiszę coś czego będę później żałował? Google mi tego nie zapomni. Do dupy z tym....
Te dzieci mające konta na facebookach i nk to maja już teczki pozakładane jak ich dziadkowie za czasów pogardy czyt. PRLu. Jak będą się ubiegać o urzędy to super polski brukowiec przyszłości Fuckt będzie miał o czym pisać przez ich całą kadencję.

sobota, 6 sierpnia 2011

Sprawy pracowe i bytowe

Dostałem informacje, że w zaczynam w poniedziałek o 10:00 od spotkania z moim PMem.
Miałem już okazję z nim rozmawiać wcześniej, kiedy omawiany był projekt, kiedy się poznaliśmy.

A co my tu właściwie w tym Wolfsburgu mamy? Ano mamy kilkadziesiąt hektarów fabryk - siedziba główna VW - z panem Martinem Winterkornem siedzącym nad tym wszystkim i kierującym. Jest tu też centrum informatyczne koncernu - tu się po naprawdę dużo dzieje.

Samo miasto jest mówiąc wprost nieciekawe. W sumie bardziej niż miasto interesują mnie ludzie. Na to stawiam. Poznanie ciekawych ludzi, z którymi można coś robić wspólnie jest priorytetową sprawą poza pracą. Koszty życia podobne do wrocławskich z wyjątkiem prądu i usług (naprawa samochodu, pralki, położenie kafelków, etc.) No i to co się szybko czuje to infrastruktura na poziomie czyli brak korków i dobre drogi wszędzie.

Tak przy okazji to ciekawa jest historia tego miasta. Pracowało tu masę Polaków niestety nie z własnej woli. Kiedy chodzę po mieście i obserwuję starsze budynki próbuję sobie wyobrazić jak rzesze ludzi szły codziennie do fabryk... No dzisiaj też chodzą rzesze, sprawy się poukładały jakoś, wiemy jak jest.

Nach Wolfsburg fahren....

7:30 czwartek wyjechałem. Na miejscu 14:30, po drodze przerwa na to i owo, burza i remont na autostradzie przed Berlinem.
Jak dobrze, że kupiłem nawigację - nie chodzi o autostradę - znalezienie ulicy w mieście stało się dużo łatwiejsze. W umówionym miejscu spotkałem się z panem Walterem - agentem od nieruchomości - który załatwił mi pokój. Gadaliśmy ponad pół godziny, sam nie wiem jak to wyszło. O mieście, o zdrowiu, o problemach z mieszkaniami, o samochodach.
No więc mam pierwsze lokum, warunki iście studenckie. Pokoik, kuchnia współdzielona, a wszystko w wyremontowanej stodole czy czymś takim. Co do klimatu nie ma zastrzeżeń. O nie ma pościeli, a zaraz zamykają sklepy. Więc szybciutko do MFO Matratzen Factory Outlet, tam pewnie coś będą mieli.
W sumie odwiedziłem MFO, real i jeszcze coś, zwiedziłem kawałek miasta i po dwóch godzinach wróciłem z tym co trzeba. Można iść spać.

piątek, 5 sierpnia 2011

Przygotowania do wyjazdu

Ostatnie prawie trzy tygodnie spędziłem głównie pracując przy remoncie domu. Załatwiałem też sprawy związane z działalnością gospodarczą. Jak to się mówi - zawsze coś. W sumie myśląc o wyjeździe miałem na uwadze kilka podstawowych rzeczy - mapa, pieniądze na początek, dokumenty, komputer i jakieś ubranie. O resztę ważnych rzeczy zatroszczyła się moja żona Małgosia.
Do Niemiec wyjeżdżałem w ciągu ostatnich kilku lat wiele razy. To właśnie dlatego nie ekscytuję się specjalnie, a jedynie denerwuję samą zmianą. Mieszkania nie udało mi się załatwić przez net. Jak już się coś w miarę pojawiło to szybko znikało. Mam zaklepany pokój, będę szukał na miejscu. O samej pracy jakoś nie myślę... raczej myślę o Janku, moim 6 miesięcznym synku, jak on to odczuje.