Patterns of Enterprise Application Architecture

Patterns_of_Enterprise_Application_ArchitectureZ kategorii „rozczarowanie”. Książka Martina Fowlera z 2002 roku.

Same wzorce są dość dobrze opisane i część z nich jest warta uwagi.  Z drugiej strony jest dużo wzorców, które są nie aktualne, ze względu na to, że platformy ewoluują i technologie się zmieniają.

Książka jest dość droga 37$ na kindle. Moim zdaniem nie jest warta tych pieniędzy.

Moja ocena książki: Nie warto czytać.


Steve Jobs by Walter Isaacson

jobs_bookKrótka recenzja bibliografii Jobsa. Nie widziałem sensu czytania jej, ale mając trochę wolnego czasu, będąc na delegacji, przemogłem uprzedzenia :) .

Książka zaskakująco ciekawa. Pokazuje Jobsa takim jakim był, bez słodzenia. Książka oparta na rozmowach autora z rodziną, współpracownikami i samym Jobsem. W centrum zainteresowania autora nie był tylko sam Jobs ale także firmy z jakimi był związany; Apple, NeXT i Pixar. Jest to o tyle ważne, że jest to kolejna książka, dzięki której można poczuć klimat doliny krzemowej i burzliwych początków naszej dziedziny.

Między innymi można poczytać O tym jak Apple ukradło pomysł na komputer z interfejsem graficznym (generalnie nie ukradło). O licznych walkach patentowych Apple min. z Microsoftem. O wyrzuceniu Jobsa z Apple (brzmi dramatycznie, ale sam bym go wrzucił w tamtych okolicznościach,  gdyby kiepsko nie wybrali następcy, prawdopodobnie Jobs nie musiałby wracać do Apple).

Po przeczytaniu książki odniosłem wrażenie, że Jobs był dużo bardziej złożonym człowiekiem niż to media przedstawiały. I zgodzę się że wiele osiągnął, ale miał też wiele wad. Część z nich doprowadziła do jego śmierci (moja opinia).

Przed przeczytaniem książki widziałem jego inspirującą przemowę na  Stanford University. W świetle zawartości książki historia ta nie jest tak inspirująca, ze względu na postawę Jobsa wobec konieczności leczenia.

Moja ocena książki: Warto Przeczytać.

SurfaceScrollViewer czasami nie reaguje na dotyk

ScrollViewerScrollbar

Ostatnio zajmuje się tworzeniem aplikacji dla Surface 2. Jeden z klientów przysłał nam buga typu WTF. Otóż scrollbar, jednej z list, czasami przestawał częściowo reagować na dotyk. To znaczy po dotknięciu scrollbar podświetlał się (jak na rysunku Active), ale nie dało się jednak go przesunąć. Wnikliwy debuging pokazał, że zdarzenie dotyku dociera do kontrolki (co zresztą sugerowało podświetlenie).

Okazało się, że aby zmusić go do działania należy ustawić PanningMode na dowolną wartość (poza None).

Gdyby scrollbar wcale nie działał można by podejrzewać, że domyślna wartość PanningMode jest PanningMode.None, ale jak nic się nie ustawi scrollbar czasami działa a czasami nie. Jak zwykle chylimy czoła przed nieskończoną mądrością twórców SDK.

Dreaming in code

Dreaming in Code

Dreaming in Code

Nie jest to do mnie podobne, ale jednak, stało się, zacząłem czytać :) . Postaram się krótko zrecenzować książki które mi wpadły ostatnio w ręce.

Na pierwszy ogień poszło „Dreaming in code Three Years, 4,732 Bugs, and One Quest for Transcendent Software”. Polecił mi ją pewien humanista pracujący w firmie IT jako „osoba odpowiedzialna za prowadzenie firmowego bloga”.

Myślałem, że książka jest formą dziennika projektu, który został zamknięty mimo ogromnej ambicji, wytrwałości i dużej ilości pieniędzy na niego poświęconej.   Okazało się jednak że książka jest czymś więcej.

Głównym wątek opowiada o projekcie Chandler który miał zrewolucjonizować sposób w jaki zarządzamy prywatnymi informacjami (kalendarzem, kontaktami, wiadomościami, notatkami). Projekt został rozpoczęty przez Mitcha Kapora, który jest szarą eminencją doliny krzemowej. Nie każdy o nim słyszał, ale miał on wpływ na to co się tam działo. Jego osoba przewija się nie tylko w tej książce ale też w biografii Steve’a Jobsa i zapewne pojawi się w biografii Gatesa.

Mimo, że została napisana przez dziennikarza, a nie programistę, zawiera dużą ilość szczegółów i problemów technicznych z jakimi borykali się twórcy Chandlera. Została osadzona w kontekście wszystkich aspektów tworzenia projektów od prototypowania, spotkań, finansowania, przez rekrutację, marketing do prywatnego życia osób zaangażowanych.

Dużą część książki zajmują odniesienia do lat 60 i 70, kiedy dziedzina programowania zaczynała się formułować. Możemy też zobaczyć jak formułował się ruch Agaile, w jaki sposób ewoluowały języki i technologie main stream. W pewnym sensie książka ta opowiada o historii programowania od samych początków po najbardziej aktualne (dla czasu pisania książki) nurty.

Moja całkowita ocena książki Warto Przeczytać. Polecam każdemu kto jest związany z IT (nie tylko programistom).

Tanie repozytorium w Amazon S3

amazon-s3-logoKilka tygodni temu bardzo intensywnie szukałem dobrego hostingu z repozytoriami. Ostatecznie zdecydowałem się na hosting xp-dev.com. Póki co jestem zadowolony. Widać też, że portal się rozwija (min. w ostatnim czasie przeszedł lifting interfejsu). Oprócz SVN, GIT i Mercuriala oferuje także trzy systemy zarządzania projektami (w tym system autorski oraz Trac).

Zaintrygowała mnie jedna z usług, dzięki której nasze repozytoria mogą być backupowane w chmurze Amazon S3 (koszt to 2 dolary miesięcznie plus opłaty za storage w Amazon S3).

No właśnie, jakie są ceny przechowywania danych w S3? Okazuje się, że: rok przechowywania 1 GB danych kosztuje 1,68$ do tego trzeba doliczyć 0,01$ za każde 1000 requestów typu (PUT, COPY, POST lub LIST) oraz 0,01 $ za każde 10 000 requestów GET.

Zważywszy na fakt, że do hostowania „pet projects” wystarczy 1-2GB przestrzeni można pokusić się o zamianę dowolnego hostingu repozytoriów na S3.

Jedyne co jest nam potrzebne to oprogramowanie, które podłączy S3 jako dysk sieciowy (np. Gladient Cloud Store). I utworzyć za pomocą GITa repozytorium na takim dysku. W takiej konfiguracji, zmiany wysyłamy na serwer robiąc PUSH do repozytorium na dysku sieciowym.

Porównanie kosztów
XP-DEV Amazon S3
Pojemność 2GB 2GB
Miesięczny koszt powierzchni 5$ 0,28$
Miesięczny koszt 100 000 requestów PUT,LIST, POST, COPY, LIST 0$ 1$
Miesięczny koszt 1 000 000 requestów GET 0$ 1$
Razem 5$ 2,28$

W obliczeniach przyjąłem, że dane będziemy trzymać w centrum w Irlandii oraz, że dla naszego backetu nie użyjemy opcji Reduced Redundancy Storage, która obniża miesięczny koszt przetrzymywania danych do 0,186$, jednak obniża ich bezpieczeństwo.

Oczywiście powyższe obliczenia zakładają, że rzeczywiście uda nam się wykonać zakładaną liczbę requestów, za każdym razem kiedy nie wykorzystamy przewidzianego w obliczeniach limitu, koszty będą spadać.

Jeszcze nie wiem ile w praktyce wykonuje się requestów używając  S3 codziennie, ale niedługo powinienem się przekonać, ponieważ skonfigurowałem cotygodniowy backup najważniejszych danych do S3.

12 Spotkanie SCKRK

sckrkSoftware Craftsmanship in Kraków zaplanowała najbliższe spotkanie na środę 09.11.2011. Spotkanie odbędzie się o godzinie 19:00 w Beer Gallery Pub przy ulicy Warszauera 10 na Kazimierzu.

Tematem spotkania będzie treść artykułu A Note on Distributed Computing.

Na spotkaniu bedzie można wypić piwko sponsorowane przez Lunar Logic Polska.

Świeży start…

startrek_animatedCi którzy zaglądali czasem albo byli chociaz na stronie belczyk.com zauważyli zapewne, że coś tu mało treści … ano dzięki takiemu jednemu co ukradł RAID cała zawrtość mojej strony, w tym bezcenne przepisy (min. na marynatę do karkówki) wypraowały w kosmos.

Dzięki temu mam tą niepowtarzalną okazję aby zaczać wszystko od początku i … wreszcie zacząć dobrze planować backupy.

Teraz pozostaje mi tylko „boldly go where no man has gone before …”, no albo przynajmniej spróbować :) .