czwartek, 21 lutego 2008

Silverlight Challenge - podsumowanie

Dzisiaj INETA ogłosiła wyniki konkursu na poziomie europejskim. Szkoda tylko, że nie ma listy z linkami do działających projektów. Jak należało się spodziewać nie polecę do LasVegas :).

Kilka słów podsumowania edycji polskiej. Duże podziękowania należą się Marcinowi Celejowi, który był głównym organizatorem konkursu w Polsce. W żadnym innym kraju nie zgłoszono tylu prac konkursowych, co u nas. Myślę, że jest to zasługa tylko i wyłącznie Marcina, który znalazł dodatkowych sponsorów. Wizja wygrania konsoli na pewno przyciągnęła kilka osób.

Podziękowania należą się również Pawłowi Łukasikowi, który zajmował się obsługą techniczną strony i który mocno się namęczył zanim webservice wymagany przez moją aplikację zaczął działać.

No i oczywiście wszystkim uczestnikom należą się gratulacje!

sobota, 16 lutego 2008

czwartek, 14 lutego 2008

Kolorowe Visual Studio

Ostatnio na blogach można znaleźć dużo postów o ciemnych kompozycjach do Visual Studio:
http://www.hanselman.com/blog/VisualStudioProgrammerThemesGallery.aspx
http://blog.tatham.oddie.com.au/2006/10/21/custom-vsnet2005-color-schemes-theyre-all-the-rage/
http://blog.wekeroad.com/2007/10/17/textmate-theme-for-visual-studio-take-2/

Powstała nawet strona, na której można głosować na poszczególne kompozycje: http://idehotornot.ning.com/

Zawsze byłem zwolennikiem ciemnych kompozycji, więc nie wiele myśląc spróbowałem kilku z nich. Niestety nie mogłem się do takiego środowiska przyzwyczaić. Jednak czarny ekran w IDE nie jest dla mnie. Ale przeglądając czarne schematy znalazłem jedną perełkę. Jest to zestaw kolorów Jeffa Atwooda prowadzącego blog Coding Horror. Nie jest to czarny schemat, tło jest szarawe i kolory zmienione, ale całość jak dla mnie robił piorunujące wrażenie. Do tego schematu przyzwyczaiłem się w 5 minut i teraz praca bez niego jest bolesna.

Dwie wersje tego schematu możecie znaleźć tutaj: http://www.codinghorror.com/blog/archives/000682.html

Przed zaimportowaniem jakichś ustawień proponuje zapisać swoje bieżące ustawienia. Robi się to wybierając w VS z menu "Tools->Import and Export Settings...". Później należy wybrać opcję "Export..."

W podobny sposób importujemy ustawienia. Wybieramy "Tools->Import and Export Settings...", następnie "Import...". Visual Studio domyślnie pokazuje do wyboru schematy znajdujące się w katalogu USERPROFILE\My Documents\Visual Studio 2005\Settings\, ale w czasie importu można wybrać dowolną ścieżkę.

poniedziałek, 11 lutego 2008

Co musisz mieć aby zacząć pracę z Silverlight 1.1

Jeśli chcecie spróbować programować w Silverlight 1.1 powinniście zaopatrzyć się w następujące narzędzia:
Expression Blend nie jest programem niezbędnym, ale jest bardzo przydatny jeśli chcemy poznać możliwości Silverlighta. Używam go głównie do tego aby coś narysować i zobaczyć jakiej postaci xaml został wygenerowany.
Jak już zainstalowaliście to wszystko to należy udać się na strone http://silverlight.net/ i pooglądać kilka podcastów.

Nowa wersja TrueCrypta

Jednym z narzędzi które używam codziennie jest TrueCrypt. Program ten służy do tworzenia zakodowanych dysków. 5 lutego została wypuszczona nowa wersja - 5.0. Listę nowości znajdziecie tutaj. Z mojego punktu widzenia najważniejsze to:
  • możliwość zakodowania dysku systemowego (zanim uruchamiany jest system odpalany jest loader TrueCrypta)
  • zwiększenie wydajności w Windows (według dokumentacja poprawa wydajności operacje we/wy do 100%)
TrueCrypta polecam wszystkim którzy mają coś do ukrycia :).

sobota, 9 lutego 2008

XPlanner, iteration burn-down chart i moja przygoda z Silverlight.

W projekcie, w którym obecnie uczestniczę używamy XPlannera do planowania i śledzenia statusu projektu. Jednym z ważniejszych narzędzi w XPlannerze jest iteraton burn-down chart (wykres wygaszania iteracji). Wykres taki przedstawia w postaci liniowego wykresu informacje o tym ile pracy zostało do wykonania w bieżącej iteracji.

Niestety wykres generowany przez XPlannera jest dość ubogi. Standardowo wygląda tak (w bieżącej wersji XPlannera postęp iteracji przedstawiony jest na dwóch wykresach, ale na stronie XPlannera są stare screenshoty). Najbardziej brakuje mi 'linii idealnego wygaszenia', na tym wykresie zaznaczonej w kolorze różowym. Taka linia jest perfekcyjna do szybkiego ustalenia stanu iteracji. Jeśli znajdujemy się nad linią idealną oznacza to, że jesteśmy spóźnieni, jeśli znajdujemy się pod liną idealną oznacza to, że jesteśmy do przodu z pracą.

Dodatkowo chciałbym na wykresie zobaczyć estymacje określające:
  1. gdzie będziemy w ostatnim dniu, jeśli zespół będzie pracował z taką prędkością jak obecnie?
  2. gdzie będziemy przy prędkości największej/najmniejszej w historii projektu?

Dlatego postanowiłem napisać prostą aplikację, która na podstawie danych z bazy XPlannera będzie generowała zaawansowany wykres wygaszania. Początkowo chciałem to zrobić w zwykłym ASP.NET, ale przypomniałem sobie o konkursie European Silverlight Challenge, który Marcin Celej ogłosił na jednym ze spotkań KGD.NET. Ponieważ, do końca konkursu został tydzień, a zgłoszono jedną pracę pomyślałem, że upiekę trzy pieczenie przy jednym ogniu. Nauczę się Silverlighta, stworze potrzebny wykres i zajmę drugie miejsce w konkursie. Mój chytry plan udał się częściowo: nauczyłem się Silverlighta, napisałem aplikacje, ale było więcej sprytnych osób i w dniu zamknięcia konkursu okazało się, że jest zgłoszonych aż 16 prac, co zaprzepaszcza możliwość zajęcia jakiegoś nagradzanego miejsca.


Nigdy nie czułem się dobrze w programowaniu UI. Zawsze miałem wrażenie, że to, co zrobię jest brzydkie i bez 'smaku'. Dlatego przeważnie stroniłem od pracy przy UI. Jeśli musiałem coś zrobić to prosiłem kogoś o radę przy wyborze kolorów, rozłożeniu kontrolek itd. Chyba z tego powodu nie interesowałem się zbytnio WPF i Silverlightem, dlatego do problemu podszedłem całkiem zielony.

Muszę przyznać, że Silverlight pozytywnie mnie zaskoczył. Słyszałem wcześniej opinie, że WPF i Silverlight wprowadzają nowy paradygmat tworzenia UI i z tego powodu trudno jest się przestawić. Może, dlatego, że miałem mało do czynienia z grafiką do tej pory, przyswojenie idei Silverlighta przyszło dość łatwo i naturalnie.

Gotową aplikacje możecie znaleźć tutaj.

Aplikacja jest napisana tak, aby przy małej ilości pracy można było wykorzystać ją z innym systemem niż XPlanner. Jeżeli chcecie robić wykres na podstawie danych np. z TFS, musicie zaimplementować interfejs IDataProvider i zmienić web.config tak, aby odpowiednia implementacja została użyta.

W kilku następnych wpisach spróbuje opisać moje przygody z Silverlightem.