Wakacje i najbliższa przyszłość mojego bloga

Mimo, że teoretycznie wakacje zaczęły się dla mnie wraz z końcem matur – 28 maja, to prawdziwa wakacyjna przygoda dopiero się dla mnie zaczyna.

Czerwiec i lipiec były dla mnie dosyć pracowitymi miesiącami. Od końca czerwca pracowałem nad paroma projektami (WPF i ASP.NET), które udało mi się ostatnio ukończyć – z pewnością napiszę o doświadczeniach z nimi za jakiś czas :) Przez te dwa długie miesiące wykazywałem się również sporą aktywnością fizyczną (również z sukcesami – 8kg w dół!) :) Środek lipca był natomiast nieco gorączkowy, gdyż był to okres rekrutacji na studia, która szczęśliwie się (dla mnie) zakończyła. Od jutra mogę więc spokojnie wakacjować. A czemu akurat od jutra? Ano w dni jutrzejszym wraca do Polski, po miesięcznym pobycie w Moskwie, moja cudowna Dziewczyna!
Od jutra więc zaczynamy wspólnie spędzać czas – na wyjazdach, wycieczkach, wypadach do znajomych itp. Mam nadzieję, że komputer będę oglądał baaaardzo rzadko ;)

Teraz nieco o przyszłości mojego bloga. Otóż ostatnio stwierdziłem, że nie jest tak łatwo prowadzić bloga, jakby mogło się zdawać. Sam myślałem, że gdy rozpocznę pisanie notek, to będzie szło świetnie i będę ich produkował niesamowite ilości. Tymczasem, jak w każdym, siedzi we mnie leń, który znacząco to utrudnia. Po wakacjach mam jednak nadzieję, że wykażę się większą aktywnością.
Co więcej, zauważyłem, że moja platforma blogowa (autorski hLog) wykazuje się rozmaitymi (dotkliwymi) brakami w funkcjonalności (jak choćby ładna edycja i tworzenie notek), a mnie brakuje czasu, żeby go ulepszyć. W związku z tym postanowiłem przesiąść się na jakąś gotową i sprawdzoną platformę (prawdopodobnie BlogEngine.NET). Mam nadzieję, że port istniejących postów do nowego systemu, który postawie, odbędzie się bezboleśnie, a zaawansowana platforma zachęci mnie do „rodzenia” większej ilości tekstów. Oby :)
hLoga oczywiście zupełnie nie porzucę i z czasem go rozwinę. Wtedy też upublicznię źródła, które aktualnie są „nieco” zabałaganione.

Ok to tyle :) Jeśli jeszcze nie macie prawdziwych wakacji – to życzę ich Wam jak najszybciej. Jeśli może strzeliło Wam coś do głowy i na wakacjach czytacie mojego bloga – życzę miłego odpoczynku (i zostawcie komputer w spokoju!:)).

Próżne przechwałki ;)

Jestem zdania, że jeśli jest czym, to można się chwalić :) Otóż w dzisiejszym dniu zakończył się pewien okres mojego życia, a zaczął się zupełnie nowy. 16 lipca AD 2008 zostałem studentem!

Rekrutacja na studia zaczęła się zaraz po maturach na początku maja i trwała do pierwszych tygodni lipca. Wyniki matury, które okazały się bardzo obiecujące (74% polski podstawowy, 92% angielski rozszerzony, 94% matematyka rozszerzona oraz 100% fizyka rozszerzona) odebrałem 30 czerwca. Wtedy też postanowiłem złożyć aplikację na następujące uczelnie: Wojskowa Akademia Techniczna, Szkoła Główna Gospodarstwa Wiejskiego, Uniwersytet Warszawski, Politechnika Warszawska – wszędzie, co jest oczywiste, na informatykę :) Od zeszłego piątku zacząłem dostawać wyniki przeprowadzonej rekrutacji. Na SGGW otrzymałem 100% punktów rekrutacyjnych – 1 miejsce na liście; na Politechnice Warszawskiej znalazłem się na 6 miejscu listy przyjętych na Wydział Elektroniki i Technik Informacyjnych – 217/225 punktów rekrutacyjnych; na Wydział Matematyki, Informatyki i Mechaniki Uniwersytetu Warszawskiego dostałem się z 84 miejsca z 94.8/100 punktów rekrutacyjnych (dosyć niskie miejsce, jak na tyle punktów – olimpijczycy zrobili swoje ;)); na WAT również się dostałem (brak obszerniejszych danych), co nie było dużą niespodzianką po ogłoszeniu wyników na innych uczelniach.
Od poniedziałku miałem więc dylemat… Wahałem się długo między Uniwersytetem, a Politechniką, co chwila zmieniając zdanie. W końcu, mimo że decyzja nie była łatwa, zdecydowałem się i…

Zostałem studentem Wydziału Elektroniki i Technik Informacyjnych Politechniki Warszawskiej na kierunku Informatyka :)

Mam nadzieję, że będzie mi się tam układało. Muszę się od razu zainteresować jakimś kołem dotnetowym :)

Politechniko, nadchodzę!

System operacyjny dla .NET-owca

Jakieś pół roku temu, poczułem zew nowych wyzwań i postanowiłem zainstalować Vistę Ultimate. Trzeba iść za duchem zmian, prawda? Ostatnimi czasy powątpiewam jednak, czy była to dobra decyzja.

Mój sprzęt to nie jakaś tam super bestia wśród laptopów. Powiedziałbym, że to raczej „średni średniak”. Na początku używania Visty byłem nieco sceptycznie nastawiony. Z resztą, każdy chyba był po tym co można było przeczytać w internecie zaraz po premierze. Po pewnym czasie jednak przyzwyczaiłem się do nowego wyglądu, sposobu używania, stabilności i szybkości. Wszystko w imię nadążania za „duchem czasu”. Do przeglądania internetu, odbierania poczty i słuchania muzyki w zupełności to wystarczało. Niedawno (w maju) skończyłem matury i wróciłem do bardziej aktywnego programowania w .NET. Wrażenia? Dwie instancje Visual Studio 2008 dobijają mój komputer. Uruchamianie się Development Servera trwa i trwa… Ponadto ostatnio mam do czynienia sporo z komputerem z zainstalowanym Windows XP SP2. Zauważyłem, że system bootuje się na nim około 2 razy szybciej (sprzęt jest 2 razy słabszy), a po chwili od pokazania się ikonek na pulpicie system jest gotowy – u mnie, na Viście, „muli” jeszcze około minuty.
Moje pytania brzmi następująco: co Vista ma takiego, czego nie ma XP, a może przydać się programiście .NET? Czy Vista ma jakiekolwiek przewagi nad XP? A może warto spróbować jeszcze czegoś alternatywnego, np. Windows Server 2008 (kompletnie nie wiem, jak to się spisuje jak desktop..). Zapraszam do wypowiedzi w komentarzach.

Geek party – spotkanie z nowymi polskimi MVP – Pawłem Potasińskim i Karolem Stilgerem

Impreza informatyków? Takie stwierdzenie to dla części ludzkości zabawny oksymoron. A jednak to całkiem możliwe :)

W czwartek 10 lipca w budynku Microsoftu odbyła się impreza z okazji nadania Pawłowi Potasińskiemu i Karolowi Stilgerowi prestiżowego tytułu MVP (Most Valuable Professional) – odpowiednio – w kategorii SQL i Setup & Deployment.
Cóż, co tu opowiadać. Impreza!:) Atmosfera była fantastyczna – baloniki, torty, a przede wszystkim rozmowy. Nie zabrakło przemówienia nagrodzonych panów oraz hołdu złożonego im przez PLSSUG i WG.NET. Kto nie był, niech szczerze żałuje, gdyż była to świetna okazja do integracji z ludźmi ze świata technologii MS. Oby było więcej okazji do takich spotkań!

Dlaczego (nie) przepraszać się z Javą…

Kiedyś, w bardzo zamierzchłych czasach programowałem trochę w Javie. Takie tam proste aplikacje – w celach poznawczych. Było całkiem sympatycznie, nie zaprzeczę. Potem wziąłem się za .NET no i (delikatnie rzecz ujmując) bardziej mi się spodobał :) Niedawne okoliczności zmusiły mnie po latach, znów do użycia Javy.

Otóż pewnego słonecznego dnia moja cudowna Dziewczyna poprosiła mnie o napisanie dla niej słownika polsko-rosyjskiego na komórkę. Wszystko świetnie, poczułem się takim potrzebnym mężczyzną i w ogóle, ale… Przecież co do aplikacji na komórkę, to za bardzo nie ma wyboru w sprawie technologii – musiałem przypomnieć sobie Javę (a mój kochany .NET :(). Ściągnąłem więc wszystko, co deweloperowi potrzebne – JDK 6.0 + NetBeans 6.1 i przystąpiłem do pracy. Moje pierwsze spostrzeżenie – NetBeans, które uważa się za najlepsze IDE do Javy (i nie tylko) nie działa tak dobrze jak VS (od szybkości, aż po funkcjonalność). A może to kwestia przyzwyczajenia? W każdym razie na uwagę zasługuje fakt, iż NetBeans przygotował mi sam przykładową aplikację na komórki i co lepsze – pozwolił ją rozwijać na zasadzie przeciągania kontrolek z toolboksa (oczywiście do pewnego stopnia). Aplikacja taka kompilowała się bez problemu i odpalała na emulatorze komórki (bardzo fajna sprawa!). Na razie wszystko pięknie.. ale to już chyba koniec pozytywnych doznań. Intuicyjnie klepałem kod, do momentu aż się dało, potem pozostała dokumentacja i.. no cóż, przez wiele lat, niewiele się w tej kwestii zmieniło. Dokumentacja Javy jest rzeczowa, czasem aż za bardzo. Brakuje w niej przykładów i objaśnień. Większość rzeczy musiałem googlać. Jakoś to szło w każdym razie. Plik słownika był dosyć duży – 2.5 MB tekstu w UTF-ie. Powstał więc problem jak go przeszukiwać.. postanowiłem szukać linia po linii – buforowanie całości nie wchodziło w grę (komórki jednak nie mają takiej wielkiej pamięci). Na emulatorze wynik niezły – kila sekund i są wyniki. Postanowiłem więc zrobić test na komórce… wyników doczekałem się po kilku (!) minutach. Chciałem więc zmienić metodę przeszukiwania (nie szukać słowa jako substring tylko jako całego). I tutaj trafiłem na coś, co mnie prawdziwie zirytowało – w J2ME nie ma dużej ilości klas i metod, które są standardowo. Rozumiem, że pewnych być nie może, ale żeby robić cięcia w klasach i metodach służących do operacji na stringach? Przez to musiałem tworzyć własne, bądź stosować pewne sztuczki. Ale to jeszcze nie było najgorsze… Moja wytrzymałość przeżyła kryzys, gdy okazało się, że stringi „abakus” i „abakus” nie są równe! Porównywałem je wszystkimi metodami (nie, nie używając == ;)) – compareTo, equals – zawsze zwracały false. Czemu? Nie wiem. Wypisywałem te słowa na ekranie, robiłem wszystko co się dało, ale słowo wczytane z pliku tekstowego NIGDY nie było równe słowie wpisywanym w programie. Przypuszczam, że wynikało to z pewnych problemów z kodowaniem, jednak rozwiązania nie znalazłem Po walce z programem przez trzy nocne godziny – darowałem sobie. Zostało tak jak było. Przy okazji dodam, że debugowanie aplikacji mobilnych jest.. średnio przyjemne.
W późniejszym czasie dowiedziałem się, że wyszukiwanie słów można było przyśpieszyć dzieląc słownik na 40 mniejszych i buforując całe części.. Jednak ta informacja dotarła do mnie za późno. Problem z porównywaniem stringów jednak pozostał nierozwiązany.. i chyba nie chce go rozwiązywać.

W tym miejscu pragnę wyrazić swój żal, iż większość urządzeń mobilnych wyposażonych jest w Javę, a nie w .NET… Cóż, czasem widać trzeba się przeprosić z Javą, zawsze to przyjemniejsze niż przymus pisania sterowników w ASM-ie :)

A może ktoś zrobi port .NET-a w Javie?;)

Relacja z 29. spotkania WG.NET

29. spotkanie WG.NET odbyło się tradycyjnie w budynku Microsoftu przy Alejach Jerozolimskich 195a. Składało się z dwóch sesji – pierwszej o EntLibie prowadzonej przez Sebastiana Szmigielskiego i Łukasza Szewczaka, drugiej Jacka Ciereszko o Silverlightcie 2.0. W przerwie między sesjami była część networkingowa i to, na co wszyscy czekali ;) czyli pizza!

Tym razem spotkanie zaczęło się bez żadnej mowy wstępnej, a od razu od wykładu. I tu niestety muszę powiedzieć, że się nieco rozczarowałem. O EntLibie wcześniej nie słyszałem, a informacje które uzyskałem na wykładzie były wg mnie nieco w chaosie. Przez to niewiele się dowiedziałem. No cóż, może tylko ja jestem mało pojętny, bo większość widowni sprawiało wrażenie zainteresowanej :) Dodatkowo byłem niezadowolony, że slajdy były w języku angielskim. Ze zrozumieniem ich nie miałem problemów, ale kurcze, w Polsce jesteśmy. Tekstu na nich nie było wiele, więc to chyba nie był problem…
Po pierwszej sesji była krótka cześć o zinie i nadchodzącym „zine days”, na które się już prerejestrowałem. Pod 10 minutach była informacja, że pizza już jest, więc tłum wyszedł na korytarz. I rzeczywiście była ;) Brawa i podziękowania dla wszystkich osób, które owy posiłek zorganizowały, gdyż był bardzo miłym „backgroundem” do rozmów branżowych. Patent z networkingiem przypadł mi więc bardzo do gustu.
Po socjalizacji przyszła pora na to na co najbardziej czekałem – na sesję o Silverlightcie. Tym razem nie zawiodłem się ani trochę. Jacek Ciereszko co chwila błyskał wiedzą na temat technologii, a cała jego prezentacja składała się właściwie tylko z dem, co zasługuje na wielką pochwałę. Wykład był błyskotliwy, ciekawy, a przy tym bardzo zabawny (filmik kręcony „live” rządzi!). Jacka słuchałem pierwszy raz i stwierdzam z przyjemnością, że sprawdza się świetnie w roli prelegenta. Brawa dla niego! Więcej Jacka i więcej Silverlighta!:) Pozostaje mi tylko zachęcić do ściągania materiałów.

Następne spotkanie ma się odbyć w lipcu i będzie szkoleniem z Sharepointa, więc pewnie z braku zainteresowania się na nim nie stawie. Natomiast w sierpniu ma być dłuższe spotkanie, na którym ma być przygotowany projekt – od początku do końca. Wydaje mi się, że to świetny pomysł i bardzo bym się chciał pojawić na tym spotkaniu.

ASP.NET MVC – czego mi tu potrzeba…

Framework MVC Microsoftu jest dopiero w wersji Preview 3. Kiedy należy się spodziewać wersji finalnej? Póki co tj. na obecną chwilę – nie wiadomo (a może ma ktoś jakieś informacje?). Scott Guthrie główny koordynator projektu wraz ze swoim zespołem odwalił już solidny kawał roboty. Wydaje mi się, że wciąż wiele przed nimi.

O leku na to, czego brakuje w ASP.NET MVC pisał Bartek Szafko. Opisany przez niego projekt MVC Contrib nie jest jednak odpowiedzią na moje potrzeby. Dlatego poniżej stworzyłem swój własny wish-list ;)

W ASP.NET MVC Framework chciałbym ujrzeć:
Przyjemne skrypty generujące takie jak choćby scaffold w RoR (generowanie prostych stron CRUD). W środowisku produkcyjnym ich przydatność jest raczej znikoma, jednak myślę, że znajdzie się wiele osób, których taki „ficzer” by uradował i znacząco wspomógł tworzenie prostych aplikacji.
Admin page – pełen, ładny panel „admiński” generowany na podstawie modelu – taki jak w Django. Do zaawansowanych portali raczej się nie nadaje, ale jeśli ktoś pisze system blogowy (tak jak ja), zwykły sklep internetowy czy forum, to oszczędzi mu to wiele pracy.
Ulepszone wyświetlanie widoków – czyli więcej możliwości, jak choćby natywnie wspierane wyświetlanie XML-a (jak ktoś tworzy feed RSS, to wie o czym mówię). O ile dobrze widziałem, to w Preview 3 zajęli się już łatwiejszym generowaniem widoków, głównie jeśli chodzi o przesyłanie ViewData.
Wsparcie dla typowych czynności takich jak na przykład paginacja, internacjonalizacja (hmmm w tym się w ogóle nie orientuję) czy „członkostwo” (jakiś czas temu pisał o tym Bartek Szafko) – nadal wydaje mi się, że autoryzacja nie jest zrobiona w najprostszy sposób.
Hostingi – to nie wina frameworku, ale przydałoby się go już zacząć szerzej reklamować, bo wg. mnie w nim (i w Silverlighcie) leży przyszłość tworzenia stron internetowych w technologiach MS. A hostingów wspierających z tego co wiem, nie ma (czyżby wszyscy się bali instalować wersji Preview?), no może oprócz naszego rodzimego hostedwindows, z którym można się w tej sprawie dogadać :)

Więcej grzechów nie pamiętam… :) Na razie tyle mi przyszło do głowy, ale jestem pewien, że istnieje jeszcze wiele funkcji, które warte byłby zaimplementowania, a o których tu nie wspomniałem. Dlatego dobrze byłoby, gdyby brygada odpowiedzialna za MVC słuchała trochę społeczności i podążała za trafniejszymi wskazówkami. Na razie pracę nad frameworkiem MVC oceniam na bardzo mocną piątkę. Oby tak dalej!

PS. Zapraszam do wpisywania w komentarzach swoich uwag dotyczących MVC :)

Mój pierwszy bootstrap!

To już trzecie spotkanie społeczności offline, które odwiedziłem przez ostatnie 10 dni :) Tym razem, to coś zupełnie innego niż spotkania WG.NET. Na bootstrapie nie ma „technologicznego mięsa”, a dużo rozważań startupowych (że tak powiem).

Spotkanie zaczęło się punktualnie o 12 w budynku Starej Drukarni (klimatyczne miejsce..:)) przy ulicy Ogrodowej 31/35 w Warszawie – dojazd bezproblemowo – tramwajem ze Śródmieścia. Od początku atmosfera była bardzo przyjazna i „na luzie”. Wbrew zapowiedziom, o 12 nie było jeszcze tłumów na sali (zapełniła się dopiero może po 15 minutach, w sumie było nieco ponad 80 osób?). Cała impreza zaczęła się bez dłuższych wstępów. Ledwie jedno zdanie Marcina Jagodzińskiego. Pierwszą prelekcję pt. „Społeczności internetowe okiem psychologa” wygłosił Andrzej Wichrowski student SWPS. Opowiedział on o zjawiskach obserwowanych w typowych społecznościach, a następnie skonfrontował to z zasadami panującymi w społecznościach internetowych. Wykład był ciekawy, jednak dla mnie (przynajmniej na razie) nieprzydatny – nie planuję otwierać portalów społecznościowych ;)
Po Andrzeju Wichrowskim przyszła pora na Monikę Mosiewicz i „Jak administrować społecznością i nie trafić przed sąd”. Prelekcja wydawała mi się nieco przydługa, a przez to nużąca. Ot takie tam rozważania (podparte fragmentami kodeksów), co można, czego nie można, a co trzeba robić będąc hostem/administratorem serwisu. Pytania publiczności skutecznie utrzymywały wykład „przy życiu” i przez to udało mi się wytrwać do końca. Jak dla mnie – na razie nieprzydatne.
Ostatnim punktem w planie był panel dyskusyjny pt. „Społeczności w praktyce”. Brali w nim udział Michał Olszewski z Gazeta.pl, Arvind Juneja z Goldenline oraz Marcin Jagodziński prowadzący i utrzymujący dyskusję w ryzach. Panowie rozmawiali głównie o „opiekowaniu się” społecznościami. Ta część podobała mi się zdecydowanie najbardziej. Rozmowa była rzeczowa, a jednocześnie zabawna i interesująca.
Po zasadniczej części było spotkanie networkingowe (w restauracji nieopodal), na które jednak z powodu braku czasu się nie wybrałem.
Podsumowując – bootstrap to ciekawa idea, jednak żeby być w pełni zadowolonym z niespełna trzech godzin spotkania trzeba trafić na interesujący daną osobę temat. Tym razem „społeczności internetowe” nie były dla mnie porywające. Całe spotkanie oceniam jednak jako ciekawe doświadczenie i z pewnością nie poskąpie trzech godzin w miesiącu by pokazać się na Chłodnej 25/w Starej Drukarni, gdzie odbywają się spotkania. Nowych doświadczeń nigdy za wiele!

bootstrap – oficjalna strona spotkań bootstrapowych

28. spotkanie Warszawskiej Grupy .NET, a moje drugie

28. spotkanie WG.NET (tym razem znów połączone ze spotkaniem PLSSUG) odbyło się 12 czerwca typowo o 18. Jako, że było to moje drugie podejście, nie odczuwałem już takiego stresiku i podniecenia jak tydzień wcześniej ;) Ba! Wziąłem nawet kolegę.

Przy wejściu na salę, zgodnie z zapowiedziami Michała Grzegorzewskiego odbywało się rozdanie plakietek. Ot miły dodatek socjalizujący (ale na następne spotkanie udoskonale swoją ;)). Na spotkaniu były 3 sesje – sesje zapasowe przygotowywane na C2C – w razie kataklizmów. Zapowiadało się więc ciekawie (na C2C nie byłem, bo odwiedzałem wtedy Poznań, ale są przecież webcasty! :)). Spotkanie zaczęło się (prawie punktualnie :P) prelekcją Dawida Łazińskiego pt. ADO.NET Data Services (aka Astoria). Prezentacja była krótka i rzeczowa, całkiem przyjemnie się słuchało, mimo że nie był to temat, który interesowałby mnie szczególnie. Warto się jednak zawsze doinformowywać, nawet o rzeczach (aktualnie) nieprzydatnych.
Druga prezentacja mnie zaskoczyła. Marcin Goł opowiadał o wymiarowaniu serwerów baz danych. Jako laik „bazodanowy” bałem się, że będę się nudził i nic nie zrozumiem, ale groźnie brzmiący temat okazał się bardzo „życiowy” i interesujący. Rozważania Marcina może i były bardzo teoretyczne, ale dzięki temu wszystko zrozumiałem :)
Ostatnia prelekcja Piotra Karczmarza ” Continous Integration – nowe możliwości, nowe wyzwania” z opisu wydawała mi się najciekawsza.. jednak w rezultacie była wg mnie – najsłabsza (co nie znaczy, że słaba). Temat zdecydowanie na czasie i warty rozważenia, jednak Piotrek mówił trochę monotonnie i niepewnie. Przez to cała prezentacja była nieco gorsza niż się spodziewałem. Może początkowe problemy techniczne i związane z tym przymusowe przyśpieszenie wytrąciły go z równowagi?
To tyle relacji z 28. spotkania WG.NET. Następne spotkanie już 26 czerwca, a na nim.. prezentacja o Silverlighcie – już ostrze sobie na nią ząbki :)
Jutro wybieram się na bootstrap – na pewno ujrzycie moją relację ze spotkania! ;)