Dawid Cieszyński

.NET/PHP Software Developer

Hej! Dawno mnie nie było, właśnie zaktualizowałem Joomlę do wersji najnowszej. Było prościej niż przy przejściu z 1.5 do 2, ale nie obyło się bez problemów. Gdyby coś jeszcze nie działało to dajcie znać. :)

Niedawno dostałem do przetestowania najnowszą wersję narzędzia NDepend.

Make your .NET Code Beautiful with NDepend

NDepend jest narzędziem Visual Studiodo zarządzania skomplikowanym kodem .NET umożliwiającym osiągnięcie wysokiej jakości kodu. Dzięki NDepend możemy określić jakość oprogramowania przy pomocy metryk kodu, wizualizacji powiązań na wykresach lub "mapach drzew" (treemaps) oraz standardowych i niestandardowych reguł (np. wskazujących zbyt rozbudowane klasy).

Po zainstalowaniu dodatku, wystarczy utworzyć nowy projekt (menu NDepend->NDepend Project->New project) i już możemy analizować nasz kod. W prawym dolnym rogu pojawia się małe kółko z informacją o stanie kodu, możemy podejrzeć co należało by poprawić, ewentualnie zignorować wybrane reguły.

Rules ExplorerW najnowszej wersji została dodana możliwość tworzenia reguł w języku CQLinq (w poprzednich wersjach był to język CQL zbliżony do SQL). Wszystkie reguły standardowe również zostały przekształcone do CQLinq, dzięki czemu łatwiej jest napisać coś własnego na przykładach. Dodatkowo mnóstwo informacji znajdziemy na stronie producenta.

Sam edytor reguł ma wszystko co potrzeba: podpowiadanie składni intellisense, podpowiedzi o poszczególnych dostępnych obiektach.

Przykładowa reguła - ostrzeżenie o singletonach:

//<Name>Avoid the Singleton pattern</Name>
warnif count > 0
from t in Application.Types
where !t.IsStatic && !t.IsAbstract && (t.IsClass || t.IsStructure)

// All ctors of a singleton are private
where t.Constructors.Where(ctor => !ctor.IsPrivate).Count() == 0

// A singleton contains one static field of its parent type, to reference the unique instance
let staticFieldInstances = t.StaticFields.WithFieldType(t)
where staticFieldInstances.Count() == 1
select new { t, staticFieldInstance = staticFieldInstances.First() }

// The Singleton pattern consists in syntactically enforcing that a class 
// has just one unique instance.
// At first glance, this pattern looks appealing and it is widely used.
// However, we discourage you from using singleton classes because experience
// shows that singletons often result in less testable and less maintainable code.
// More details available in these discussions:
//  http://codebetter.com/patricksmacchia/2011/05/04/back-to-basics-usage-of-static-members/
//  http://adamschepis.com/blog/2011/05/02/im-adam-and-im-a-recovering-singleton-addict/

Każda reguła oprócz tego, że ma opis poszczególnych fragmentów, to jeszcze na końcu znajdziemy dokładne wyjaśnienie czemu ta reguła jest ważna wraz z odnośnikami do artykułów szerzej opisującymi problem.

Narzędzie warte uwagi, zwłaszcza przy większych projektach tworzonych przez zespół ludzi. To co tutaj poruszyłem to tylko wierzchołek tego co potrafi to narzędzie, najlepiej samemu je przetestować na własnych aplikacjach.

Właśnie zaktualizowałem Joomlę, większość treści jest przeniesiona, gdyby były jakieś problemy - zgłaszajcie!

Właśnie znalazłem kolejne ciekawe narzędzie przydatne przy wycieczkach z HD2 i NaviComputerem

GMapToGPX

GmapToGPX pozwala jednym kliknięciem utworzyć plik GPX z trasą wyznaczoną przez Google Maps tym samym zastępuje przedstawiony przeze mnie wcześniej Marengo GPS Route Planner.

Przejeździłem już kilkadziesiąt kilometrów w tym miesiącu więc mogę przedstawić jak aktualnie wyglądają moje wyprawy.

Wszystko czego aktualnie potrzebuję to:

HTC HD2

Komputer pokładowy.

uchwyt do roweru HR

Bardzo dobry i stabilny uchwyt, składa się z dwóch części: uniwersalnego uchwytu na kierownicę i dedykowanego uchwytu do HD2. Na razie telefon mi nie wypadł i wygląda na to, że długo nie wypadnie.

Marengo GPS Route Planner

Moje najnowsze odkrycie. Marengo GPS Route Planner pozwala na przygotowanie trasy i zapisanie jej w postaci pliku GPX. Ten plik można następnie wczytać do NaviComputera i obserwować: gdzie jesteśmy i gdzie powinniśmy być.

NaviComputer

Tą aplikację opisywałem już wcześniej. Mapa offline z zapisywaniem trasy. Wg mnie jest wygodniejsza od BikeDashboarda. Brakuje mi tylko obracania mapy do kierunku jazdy.

GPX Editor

Tą aplikację też opisywałem. Bardzo przydatny program w którym można poprawić pliki GPX (w których jesteśmy gdzieś na środku oceanu bo akurat przejeżdżaliśmy przez tunel i straciliśmy fixa - wystarczy wybrać jedno narzędzie, zaznaczyć prostokątem gdzie byliśmy a wszystkie punkty poza tym prostokątem zostaną usunięte).

Poniżej: jak wygląda uchwyt

Używaliście kiedyś Ubiquity? Ja tak, bardzo często. Najczęściej do szybkiego tłumaczenia tekstów i treści stron. Wystarczyło zaznaczyć tekst, wcisnąć Ctrl+Spacja i wpisać 'tr' no i mamy tłumaczenie. Niestety wydawanie nowych wersji Ubiquity nie nadąża za nowymi wydaniami Firefoxa. Ale zawsze można zainstalować sobie najświeższą wersję z repozytorium.

A o to jak to zrobić:

  • Ściągamy najświeższy snapshop z repozytorium http://ubiquity.mozilla.com/hg/ubiquity-firefox/ (link "zip" po lewej stronie)
  • Ściągnięty plik ubiquity-firefox-274680f2accb.zip rozpakowujemy
  • Teraz musimy spakować zawartość folderu ubiquity-firefox-274680f2accb\ubiquity\ do archiwum zip.
  • Zmieniamy rozszerzenie pliku archiwum z ubiquity.zip na ubiquity.xpi
  • Instalujemy

I tyle. Aktualna wersja działa (przynajmniej teoretycznie) w Firefox'ach od 4 do 6. U mnie w Firefox 4.0.1 tłumaczenie przez Google Translatora i Bing Translatora działa poprawnie (oczywiście nie chodzi o poprawność tłumaczenia ;) ).

Ostatnio trochę przysiadłem do programowania Windows Phone 7. Dzięki uprzejmości polskiego oddziału Microsoftu mogłem wypożyczyć na 3 tygodnie (może troszkę więcej) telefon LG-E900 z tym systemem. Bardzo dziękuję!

Z racji tego, że trochę się interesuje kobiecym ciałem ( ;) ) i mam też ukończony kurs doradcy rodziny więc aplikacja tez była z tym związana.

Aplikacja pozwala na wprowadzanie oraz analizowanie objawów wskazujących na to czy kobieta jest aktualnie w okresie płodnym czy niepłodnym. Użytkownik (lub użytkowniczka) wprowadza informacje o temperaturze PTC (podstawowa temperatura ciała), odczucie i wygląd śluzu, oraz pozycja i miękkość szyjki macicy.

Wykorzystałem komponenty do wyświetlania wykresów amCharts (jeszcze w wersji beta, więc czasem dzieją się dziwne rzeczy - np. legenda znika) oraz ProgressOverlay i RoundToggleButton z Coding4Fun Windows Phone Toolkit.

Jeśli w przyszłości będę miał telefon z WP7 to będę tą aplikacje rozwijał, na razie się na to nie zanosi gdyż nie dostałem się do rundy 2 Imagine Cup w kategorii Windows Phone 7 Award (edycja światowa), a aplikacja jest jeszcze certyfikowana w Windows Phone Store więc pewnie nie zdążę jej zgłosić na polską edycje Windows Phone 7 Award.

Aplikacja jest dostępna w Windows Phone Store, a poniżej kilka zrzutów ekranu:

Kacper TomaszewiczZbliża się koniec roku, a w nowym roku trzeba będzie zapłacić podatek. Jeśli nie macie co zrobić ze swoim "procentem" pomóżcie Kacprowi. Kacper jest chory na dziecięce porażenie mózgowe, wychowuje go samotnie jego mama. Więcej informacji na stronie: http://kacper.crystalcode.pl

 Od kilku tygodni razem z kolegami organizujemy konferencję Olsztyński Dzień Informatyki. Odbędzie się ona 9 grudnia 2010 roku w Bibliotece Głównej Uniwersytetu Warmińsko-Mazurskiego w Olsztynie, ul Oczapowskiego 12b.

Agenda:

  • 9:00 - 10:00 Rejestracja
  • 10:00-10:15 Powitanie i przedstawienie grup
  • 10:15-11:30 Chmura Azure dla specjalistów IT. Mamy się jej bać czy lepiej zrozumieć? Mariusz Kędziora
  • 11:30-11:45 Przerwa
  • 11:45-12:15 Imagine Cup oczami uczestników Marcin Bartoszuk i Arek Kondratiuk
  • 12:15-12:30 Przerwa
  • 12:30-13:45 Programowanie Windows Phone 7 Bartłomiej Zass
  • 13:45-14:30 Przerwa obiadowa - darmowa pizza
  • 14:30-15:45 Szkolenie z technik prezentacji Jakub Jałbrzykowski
  • 15:45-16:00 Przerwa
  • 16:00-17:15 Pasja programisty .NET z Xbox 360 & Kinect Marcin Iwanowski
  • 17:15-17:30 Zakończenie

Jeśli kogoś interesują powyższe tematy to serdecznie zapraszam.

Oprócz tego możemy się pochwalić dużą liczbą sponsorów. Podczas długiej przerwy będzie można posilić się pizzą a podczas każdej prezentacji będzie sporo nagród do rozdania aktywnym uczestnikom (aktualnie wartość puli nagród to ok 20000zł: książki, licencje, peryferia ...).

Oprócz tego uczestnicy będą mieli możliwość dotknięcia i zabawy z telefonem Windows Phone 7 oraz Kinect'em.

Zapraszamy na Olsztyński Dzień Informatyki!!!

Ci co używają mojego Chess Monitora (o ile są tacy) pewnie zauważyli że już nie działa. A nie działa dlatego że hosting dla projektów z Imagine Cup 2010 niedawno się skończył.

Przeniosłem tą aplikację na serwer StudentLive.pl. Więc zamiast cieszakteam.imaginecup2010.net proszę się kierować na http://cieszak.studentlive.pl/.

I jeszcze pytanie do Was: Czy macie jakieś sugestie lub propozycje co do tej aplikacji? Ostatnio zastanawiam się co z nią zrobić...

Życzę udanych potyczek szachowych :)