03/04/2010

Po konferencji

Home

Od mojej sesji na temat IntelliTrace podczas Warszawskich Dni Informatyki minęły już prawie trzy tygodnie. Pora odpowiedzieć na kilka pytań: Jak było? Jak spisali się organizatorzy? Czy jestem zadowolony ze swojej prezentacji? Co wypadło dobrze, a co źle?
Zacznę od tego, że organizatorzy czyli Student Partners z warszawskich uczelni stanęli na wysokości zadania i przygotowali w pełni profesjonalną konferencję. Wydarzenie było dobrze rozreklamowane i frekwencja dopisała. Zadbano o profesjonalne nagłośnienie. Prelegenci mogli spokojnie przygotować się do wystąpienia w zarezerwowanym dla nich pokoju. Nie chodzili też głodni i spragnieni, uczestnicy zresztą również nie ;) Każdy dostał materiały konferencyjne, w tym pendriv'a. Można było wygrać laptopa, a w czasie przerw pograć na konsoli XBOX. Zorganizowano też konkurs Guitar Hero oraz przygotowano ankiety.

Mam tylko kilka uwag ale niewielkiego kalibru. Wolałbym aby impreza odbyła się bliżej centrum albo jakiejś stacji metra ale zdaję sobie sprawę, że to nie taka prosta sprawa. Po drugie obsługa konferencji mogłaby rozpoznawać prelegentów i nie kazać się im rejestrować :) Dziewięć osób to nie jest znowu taka duża liczba. Największe zastrzeżenie mam do rzutnika, który przynajmniej podczas mojej sesji nie spisał sie dobrze i jakość obrazu była słaba.

Jak oceniam swoją sesję? W skrócie jestem zadowolony. Przed konferencją byłem trochę zdenerwowany ale zaprocentowało dobre przygotowanie i wcześniejsze przećwiczenie prezentacji. Dzięki temu kiedy zacząłem mówić nerwy odpuściły i poczułem się swobodniej. Plan prezentacji, układ i treść slajdów miałem w głowie i nie musiałem zastanawiać się kiedy co powiedzieć. Sądzę, że mówiłem głośno i wyraźnie. Udały się również wszystkie zaplanowane pokazy IntelliTrace, Visual Studio 2010 i przygotowanych programów. W czasie i po sesji uczestnicy zadawali pytania.

Oczywiście zdaję sobie sprawę z kilku niedociągnięć. Co mi nie wyszło? Po pierwsze po konferencji zwrócono mi uwagę na błąd ortograficzny na jednym ze slajdów. Na swoją obronę mogę powiedzieć, że Power Point też go nie zauważył. Po drugie nie ustrzegłem się błędu w wymowie słowa debugger oraz zapomniałem powiedzieć o jednej czy dwóch rzeczach. Nagrania swojej sesji jeszcze nie widziałem ale zdaję sobie sprawę, że pomimo wszystko byłem zdenerwowany - zdarzyło mi się zaciąć czy powiedzieć coś niezrozumiale. Powinienem również zachowywać się swobodniej.

Podsumowując konferencję oceniam na bardzo mocne 5, brawo dla organizatorów. Swojej sesji nie podejmują się oceniać ale chętnie wysłucham waszych opinii i uwag.

Chciałbym również podziękować żonie za pomoc w przygotowaniach do konferencji, cierpliwe wysłuchanie i cenne uwagi.

02/03/2010

Warszawskie Dni Informatyki 2010

Home

Zapraszam na konferencję Warszawskie Dni Informatyki 2010 oraz na moją sesję podczas, której opowiem, a przede wszystkim pokażę jedną z najciekawszych nowości w Visual Studio 2010 - IntelliTrace!


21/02/2010

World of Goo

Home

Rozgłos i zainteresowanie zdobywają dwa rodzaje gier komputerowych. Te, które są tworzone przez wielkie studia developerskie i mają budżety sięgające dziesiątek milionów dolarów oraz te tworzone w małych studiach, stosunkowo niewielkim nakładem pieniędzy ale nowatorskie, przyciągające nietypowym pomysłem i podejściem do tematu. Te drugie przeważnie nie zachwycają grafiką czy rozmachem ale potrafią wciągnąć na długie godziny. Na taką grę natknąłem się ostatnio.

Word of Goo czyli świat glutów ;) to logiczno, zręcznościowa gra, w której ogromne znaczenie odgrywają prawa fizyki. Grę charakteryzuje specyficzne poczucie humoru i nietypowa oprawa graficzna, a rozgrywka jest naprawdę wciągająca. W skrócie polega na budowaniu różnorakich konstrukcji (mostów, wież itp.) z tytułowych glutów. Może i brzmi to trochę dziwnie ale daje bardzo dużo radości.

Nie chciałbym sie tutaj rozpisywać ponieważ w sieci można znaleźć niejedną dobrą recenzję tej gry. Od siebie serdecznie polecam ten tytuł każdemu kto lubi trochę pomyśleć, ceni innowacyjność i lubi dobrą zabawę. Grę można kupić już za 20 zł!

18/02/2010

Enterprise Library, Informix i CLOB

Home

Data Access Application Block to część Enterprise Library oparta o ADO.NET odpowiedzialna za komunikację z bazą danych. Jedną z bardzo miłych cech tego modułu jest to, że w dużym stopniu ukrywa przed programistą rodzaj bazy danych z jakim pracuje. Uprasza to pisanie aplikacji kompatybilnych z wieloma bazami danych.

Oczywiście nie wszystko jest takie różowe o czym przekonałem się ostatnio. W tej chwili pracuję głównie z bazą danych Informix firmy IBM i Data Access Application Block radził sobie z nią całkiem dobrze ale do czasu kiedy postanowiłem wykorzystać typ bazodanowy CLOB służący do przechowywania dużych obiektów znakowych.

Nie wnikając w szczegóły zapis danych do kolumny o typie CLOB nie udał mi się w ogóle, a odczyt częściowo :) Częściowo ponieważ mogłem odczytać tylko fragment danych. Nie wykluczam możliwości, że mogłem popełnić jakiś błąd ale nie chcąc tracić czasu problem rozwiązałem wykorzystując sterownik ADO.NET firmy IBM przeznaczony tylko do obsługi Informix'a. Biblioteka ze sterownikiem nazywa sie IBM.Data.Informix.dll i instalowana jest razem z Client SDK. U mnie znajdowała się w lokalizacji C:\Program Files (x86)\Informix\Client-SDK\bin\netf20. Model pracy z klasami z tej biblioteki jest prawie taki sam jak z standardowymi klasami ADO.NET. Mamy więc klasę IfxCommand, która dziedziczy z DbCommand, IfxConnecton, która implementuje interfejs IDbConnection itd. Różnice są niewielkie i dotyczą rzeczy specyficznych dla Informix'a czyli np.: obsługi typu CLOB.

Wykorzystanie biblioteki rozwiązało oczywiście mój problem. Sądzę, że wybór IBM.Data.Informix.dll jest dobrym pomysłem dla każdego kto ma zamiar pracować z bazą danych firmy IBM. Nie ma jednak róży bez kolców. Użycie rozwiązania właściwego dla konkretnej bazy danych zamiast Enterprise Library wpływa negatywnie na przenoszalność aplikacji, a własciwie ją uniemożliwia. Oczywiście klasy specyficzne dla Informix'a można odpowiednio przykryć tak aby ewentualna podmiana była łatwiejsza ale nie jest to równoznaczne z użyciem Data Access Application Block.

Reasumując jeśli chcę zachować przenaszalnośc aplikacji będę musiał zastanowić się jak dostosować tą bibliotekę do współpracy z Enterprise Library.

14/02/2010

Pobranie fabryki klasy COM...

Home

Niedawno zostałem poproszony o pomoc w rozwiązaniu problemu z aplikacją ASP.Net do zarządzania bazą danych, który polegał na pojawianiu się poniższego błędu przy jej uruchamianiu:

"Pobranie fabryki klasy COM dla składnika o identyfikatorze CLSID {10020200-E260-11CF-AE68-00AA004A34D5} nie powiodło się z powodu następującego błędu: 80040154."

Błąd ten oznacza tyle, że w systemie nie ma zarejestrowanej klasy COM o podanym identyfikatorze. Ponieważ miałem pod ręką drugi komputer postanowiłem sprawdzić co kryje się za tajemniczym numerem CLSID. W tym celu uruchomiłem edytor rejestru (regedit) i przeszukałem gałąź HKEY_CLASSES_ROOT\CLSID w poszukiwaniu pasującego identyfikatora. Szczęście uśmiechnęło się do mnie i szybko znalazłem odpowiedni klucz z ścieżką do biblioteki dll:

C:\Program Files\Microsoft SQL Server\80\Tools\binn\SQLDMO.DLL

Dalej poszło już prosto. SQLDMO czyli SQL Distributed Management Objects to zbiór obiektów umożliwiających wykonywanie różnych czynności administracyjnych, które standardowo instalowane są razem SQL Server Client Utilities. Ponieważ nie miałem możliwości zainstalowania tego zestawu narzędzi postanowiłem po prostu skopiować wspomnianą bibliotekę i zarejestrować ją przy pomocy polecenia regsvr32. W rozwiązaniu problemu przydatny okazał sie również ten artykuł pomocy technicznej Microsoft. Dzięki niemu dowiedziałem się, że oprócz biblioteki Sqldmo.dll potrzebny jest też plik zasobów Sqldmo.rll. W artykule wymieniono również listę innych bibliotek związanych z modelem obiektów SQL-DMO. Okazało się jednak, że na problematycznym komputerze brakuje tylko tej jednej biblioteki. Po jej zarejestrowaniu aplikacja ASP.Net zaczęła działać.