• This is a usual time of the year for summaries so let’s keep the tradition alive and write one. Here’s my 2017 achievements split between months. January Blogging for 18 days straight – nothing near gutek’s achievement (whole year!) but still a nice streak Microsoft MVP title (thx Konrad Kokosa for pointing this one ;)) February […]

  • “Advent of Code is a series of small programming puzzles for a variety of skill levels.” Each day was a fun an interesting coding challenge. I’ve decided to practice and code this in python to learn the skill. Some of them might not be the best python scripting as I was short on time in […]

  • Some time ago I’ve attended a .net developer days 2017 conference. I was quite busy since (traveling, teaching .net, working) that only now I got some time to share some thoughts about it. As a bonus I’m including a short interview I did during the event. I need to state here, just to be clear, […]

  • We developers don’t like documentation. We don’t like to read it, and we even more we don’t like to write it. But sometimes it is worth to read it. Like when you find out that by using datetime in SQL DB you got a milliseconds precision but only if it ends on 0,3,7 (link). That […]

  • In the previous post we’ve removed some of the technical debt that could be found in our NetDeveloperPoland Website application. In this one we will remove it even more. We can even maybe reach a B? Let’s see where we’ll end up at the end of this part.

Dziś bawiąc się VS 2010 zauważyłem jego dziwne zachowanie. Mianowicie po dodaniu kilku kontrolek do designer’a. Po włożeniu na formę 3 kontrolek (2xButton i Textbox – choć to jakie kontrolki nie ma znaczenia) i zapisaniu jej. Po uruchomieniu był widoczny tylko pierwszy przycisk, który dodałem. Wszystkie kontrolki pojawiły się po pokazaniu źródła pliku.

Krótkie demko tego:

Dziś bawiąc się Visual Studio 2010 zobaczyłem fajny dodatek 🙂

Dobre na wszelkiego rodzaju konferencje, aby pokazać publiczności szczegóły kodu. Zamiast ZoomIt’a. CTRL + kręcenie kółkiem w myszce góra/dół i możemy sobie zoomować. Dobre 🙂

Na blogu grupy MSBuild możemy dziś przeczytać ciekawy wpis odnośnie nowych możliwości jakie będzie oferował MSBuild w wersji 4.0. Pojawi się mianowicie możliwość pisania własnych zadań bezpośrednio w skrypcie dla MSBuild’a (Inline tasks). Dzięki temu pozbędziemy się (niektórych) dll’ek z zadaniami, jakie do tej pory musieliśmy pisać. Niestety nie będzie można tego kodu debugować (choć będzie można wypisywać informacje do loga) tak więc raczej skomplikowanych zadań w ten sposób nie zrealizujemy. Ale na proste zadania, będzie jak w sam raz. Aby się tym pobawić już teraz polecam udać się na forum MSDN – How to create Inline Task i pobrać znajdujący się tam tutorial. W pakiecie prócz opisu znajduje się przykład. Na chwilę obecną jedyny wspierany język programowania, w którym możemy tworzyć Inline Task to C#.

Brad Abrams na swoim blogu opublikował plakat przedstawiający najnowszy .NET Framework 4.0. Dostępna jest wersja PDF jak również w wersji Deep Zoom 🙂

Niektóre z nowości to:
– nowa przestrzeń nazw System.Web.UI.DataVisualization.Charting dla ASP.NET
– kontrolkę Ribbon, Ribbon Window, Calendar, DataGrid dla aplikacji WPF
– System.Windows.Input zawiera TouchPoint, TouchDevice – czyżby coś dla Surface?
– Core został wzbogacony o SortedSet, Complex oraz BigInteger.
– WCF ma nową przestrzeń nazw – System.ComponentModel.Discovery
– w przestrzeni System.Threading pojawiło się LazyInit, Paraller oraz SpinLock

Link do posta: .NET Framework 4 Poster

Wczoraj zaraz po napisaniu posta o pojawieniu się nowej wersji Visual Studio 2010 oraz .NET Framework 4.0 (Visual Studio 2010 & .NET 4.0) rozpocząłem ściąganie ciut dużego pakietu. Po rozpakowaniu okazało się, iż w środku znajduje się 24 GB obraz :). Dużo…ale..czego się nie robi :), aby trochę się pobawić…

Uruchomiłem zatem system z obrazu zalogowałem się. Visual Studio przywitało mnie całkiem nową Start Page.

Poza nowym wyglądem Start Page Visual Studio wygląda standardowo – czyli dobrze :). Nie zaopatrzyli go w czarne skórki jak w narzędziach z rodziny Expression. W zasadzie na pierwszy rzut oka wszystko wygląda po staremu. Tak więc co się w Visual Studio zmieniło?

  • w menu View znajduję się opcja Architecture Explorer – umożliwia podgląd pewnych aspektów naszej architektury
  • ładny niebieski kolor zaznaczenia 🙂

Ale ten pakiet to nie tylko Visual Studio 2010 a także .NET Framework 4.0, a w tym zmian już trochę jest widocznych:

  • typ dynamic – używając tego typu, sprawdzanie poprawności wołania metod odbędzie się w run-time. Będziemy mogli wywołać na takim obiekcie dowolną metodę jaką nam się podoba:

      dynamic myDynamicObject = new MyDynamicObject();

      myDynamicObject.AnyMethodName();

  • nazwane parametry i wartości domyślne – w końcu będzie można napisać tak

      static void DefaultValues(string text, int value = 5)

      {

          Console.WriteLine(“Text: {0}, Value: {1}”, text, value);

      }

    a wywoływać to będzie można w różny sposób:

      DefaultValues(“tekst”);

      DefaultValues(“tekst”,3);

      DefaultValues(value: 13,text: “tekst”);

  • parallel extensions – o ile się nie myle to dostępne są już do ściągnięcia teraz, ale w .NET 4.0 będą dostępne już “w pudełku”. Dzięki temu dostaniemy kilka metod, które bez większych kłopotów będziemy mogli wykonać nasz kod równolegle jeśli tylko to możliwe.

      Parallel.For(1,11, x=>Console.WriteLine(x))

  • trochę zmian z interface’ami – nazwane jest to Variance, Covariance oraz Contravariance. Nie udało mi się jednak jeszcze tego do końca zrozumieć, gdyż przykłady z tym, nie bardzo chcą mi się skompilować.

Na pierwszy rzut oka to chyba tyle..jak coś ciekawego “odkryję” po głębszym szukaniu na pewno to opiszę…

Jednym z głównych tematów konferencji PDC 2008 jest Windows Azure, czyli system operacyjny “w chmurze”.

Windows Azure to system operacyjny, który umożliwia w prosty sposób wykorzystanie możliwości maszyn na których jest postawiony. Azure ma za swój celu rozwiązanie problemów związanych ze skalowalnością aplikacji oraz dylematu, przed którym stoi nowo powstający serwis czy usługa. Czy od początku inwestować w architekturę i farmę serwerów, które zapewnią mi skalowalność (i wydać mnóstwo PLN/$/ czy też innej waluty) czy poczekać i być może narazić serwis na przestój w pracy. Dzięki Azure (według zapewnień twórców) w prosty sposób będzie można wykorzystać dostępną moc/skalowalność w razie konieczności.

Azure to także platforma dla developerów. Czyli mamy SDK (link poniżej), które umożliwia nam pisanie programów na ten system “w chmurze”. Na razie to wszystko w wersji CTP, a że C znaczy Community postanowiłem, się trochę tym pobawić 🙂

Po zainstalowaniu SDK widzimy, że dostaliśmy do zabawy kilka nowych projektów:

W projekcie Cloud Service:

  • Web Cloud Service – to strona internetowa ASPX (choć pewnie ma też jakieś dodatkowe możliwości)
  • Worker Could Service – to projekt, umożliwiający stworzenie programu do obliczeń numerycznych lub podobnego typu zadań, nie potrzebujących interface’u Webowego.
  • Web & Worker Cloud Service – to zapewne (jeszcze tego nie sprawidzłem) połączenie dwóch powyższych.

Cloud Workflow zapowiada się też ciekawie – użycie WF “w chmurze”. Muszę się temu bliżej przyjrzeć.

Jednak teraz na pierwszy ogień poszedł – Worker Cloud Service.
Kod, który otrzymujemy na wejściu jest niezwykle prosty:

public override void Start()

{

    // This is a sample worker implementation. Replace with your logic.

    RoleManager.WriteToLog(“Information”, “Worker Process entry point called”);

 

    while (true)

    {                               

        Thread.Sleep(10000);

        RoleManager.WriteToLog(“Information”, “Working”);

    }

}

 

public override RoleStatus GetHealthStatus()

{

    // This is a sample worker implementation. Replace with your logic.

    return RoleStatus.Healthy;

}

Zatem dwie metody, które w większości przypadków będą nas obchodzić już dodane. Start i GetHealthStatus. Znaczenia ich chyba nie trzeba tłumaczyc. Gdy uruchomimy usługę takiego workera Azure instaluje u nas w systemie, dodatkowe elementy, które pozwolą nam na testowanie. A uruchomiony proces wygląda tak:

Widzimy (czerwona ramka) jakieś wyniki, które zwraca nasza “logika”. Na razie jedyną metodą, którą mam na wypisywanie jest:

RoleManager.WriteToLog

Na razie musi to wystarczyć….
Taka metoda workera może robić znacznie więcej niż “tylko” obliczenia :). Poszukiwanie źródeł życia w kosmosie czy analiza różnego tpu białek to tylko przykłady :).

Jutro zobaczymy co potrafi trzeci typ projektu – CloudWorkflow. (Dopisano: Na razie nie bardzo widać, gdzie go taki projekt można hostować 🙁 )

Źródła:
Windows Azure – Strona domowa
Wywaiad Stevem Marx’em na Channel 9
Azure SDK

Na stronach Microsoft pojawiła się do ściągnięcia wersja CTP Visual Studio 2010 oraz .Net Framework 4.0. Z tego co widzę jest to obraz systemu dla Virtual PC. Ja już rozpocząłem ściąganie…zobaczymy w czym przyjdzie nam pracować w niedalekiej przyszłości 🙂

Link do programu: Microsoft Pre-release Software Visual Studio 2010 and .NET Framework 4.0 Community Technology Preview (CTP)


Dzisiejszy post będzie bardzo nietechniczny a zainspirowany został poniższymi wpisami. Jeśli ktoś nie chce ich czytać to generalnie chodzi o zwiększenie kar, które grożą za niezgłoszenie bazy danych osobowych do GIODO. Zwykle adresy e-mail nie są traktowane jako dane osobowe, gdyż nie pozwalają one na identyfikację konkretnej osoby. Jednakże dosyć często osoby starają się, aby ich adres wyglądał na bardziej profesjonalny i nadają mu mniej więcej taką formę ImięNazwisko@serwer.pl, a taki adres już podlega pod ustawę.

Dlaczego warto rejestrować bazy e-mailowe w GIODO
oraz
Wysokie kary za niezgłoszenie bazy e-mailowej

Zmusiło mnie to do zastanowienia się po co tak naprawdę mamy rejestrować w GIODO takie dane. Jak rejestracja takiej listy sprawi, iż nasze dane będą bezpieczne? Przeglądałem teksty ustaw znajdujące się na stronie GIODO i muszę powiedzieć, że moje pytania nadal pozostają bez odpowiedzi. Wygląda na to, że musimy rejestrować bo tak i już. Bo musimy być zgodni z dyrektywą Unii itp., itd. Żadnych konkretów. Więc jeśli komuś udało się wśród tych zapisów, które ponoć mają stanowić polskie prawo wyszukać dlaczego powinniśmy to robić i jak rejestracja ma zapewnić nam bezpieczeństwo – bo w sumie ochroną ma się ta instytucja zajmować, proszę o informację.

Inna strona GIODO to kontrole. I te trochę bardziej rozumiem, choć wydaje mi się, że idealnie byłoby gdyby były one zlecane przez portale. Nie bardzo rozumiem dlaczego GIODO uznała, że portal nasza-klasa musi być skontrolowany (nasza-klasa będzie skontrolowana przez GIODO). Co z tego, że znajdują się tam dane milionów Polaków? Każdy chyba świadomie do takiego portalu zapisuje. A jeżeli pani Lucynka umieści tam wszelkie swoje dane, zdjęcia + nie wiadomo jeszcze co no to chyba już tylko jej wina. GIODO powinno np. mieć możliwość wystawienia poświadczenia, iż dane są dobrze chronione i to firmom powinno zależeć na zdobyciu takiego potwierdzenia. Zapisując się do tego portalu widziałbym czy jest gwarancja bezpieczeństwa czy nie i mógłbym zdecydować czy chcę się zapisać. (Choć te audyty musiałyby mieć jakąś wartość i być rzetelnie przeprowadzone – kilka tysięcy publicznie dostępnych CV nie jest dla GIODO niczym złym – PKO S.A. i CV – to co w takim razie jest?
Niestety wydaje mi się po prostu, że w Polsce jest po prostu większa chęć pokazania kto ma władze i to mi się nie podoba.

Nie podoba mi się także to, że po takiej kontroli (nie wiem czy po innych także, ale po kontroli portalu nasza-klasa tak) została zorganizowana konferencja prasowa. To to już w ogóle wybujałe ambicje. Jedyny sens takiej konferencji to chęć medialnego rozgłosu dla urzędników w GIODO. Chyba nic to nie wnosiło do tematu więc równie można było przekazać uwagi w zaciszu gabinetu czy też (choć to w Polsce zapewne za jakieś 10 lat) drogą elektroniczną. Twierdzę, że to nie zostało zrobione także – chcę tylko zaznaczyć, że moim zdaniem konferencja prasowa to było już jak to mawiają Anglicy – ‘over the top’. Po prostu w Polsce jest model urząd to władza a ty biedny obywatelu czy podmiocie gospodarczy drżyj przed nami. Chciałbym, aby kiedyś urzędy w Polsce były bardziej jak duński SKAT. Tutejszy urząd skarbowy ogłasza się w prasie, iż będą przeprowadzane kontrole w firmach. Ale to nie wszystko. Na ich stronach można nawet sprawdzić gdzie i kiedy będzie kontrola. Wszystko fair (notabene kampania nazywa się fair-play, play fair). Żyjemy razem ułatwmy sobie życie a nie utrudniajmy. Niestety jakoś trudno mi uwierzyć, aby coś takiego zrobił polski urząd skarbowy. Choć to się zmienia. Chyba niedawno stwierdzono, iż zeznanie podatnika będzie z urzędu uznane za prawidłowe(sic!).

Gdyby nie to, że za niezarejestrowanie bazy danych osobowych (w tym przypadku bazy e-maili) grożą spore konsekwencje finansowe, przepis ten byłby martwy – tak samo jak konieczność rejestracji bloga jako czasopisma. Przynajmniej w tym przypadku jest to operacja bezpłatna.

Jeśli ktoś chce się dowiedzieć więcej to polecam także stronę – Odpowiedzi na pytania w sprawie nowelizacji ustawy o ochronie danych osobowych.


Dziś oglądająć filmy na TED na ciekawą prezentację pokazującą ciekawe podejście do interface’u użytkownika systemu operacyjnego. MacOS, Windows czy np. KDE* wyglądają podobnie. Jakieś elementy upiększające GUI tu czy tam za bardzo nie zmienią tego jak się tym GUI posługujemy. BumpTop chce to zrewolucjonizować. Programy to nadal ikonki, ale podobnie jak w prawdziwym świecie możemy je układać w sterty czy też tworzyć artystyczny bałagan :). Co ciekawe jeśli powiększymy jakąś ikonę, wraz z powiększaniem zwiększa się jej “waga”, a ponieważ w pulpit zaszyta jest fizyka (jak zaawansowana nie było powiedziane), to “lżejsze” elementy nie przesuną cięższego a w drugą stronę i owszem 🙂

Wygląda to całkiem niezle. Zobaczymy jak się rozwinie. Niestety na razie nie jest dostępna publiczna wersja, miejmy nadzieje, że już niedługo będzie dostępna publiczna beta. Na razie pozostaje czekanie na publikacje

Wiecej można zobaczyć na youtube – BumpTop 3D Desktop Prototype czy TED – BumpTop desktop is a beautiful mess – Anand Agarawala (2007). Można też odwiedzić stronę projektu. Jest też nawet parodia 🙂 – BumpTop parody

* – XGL trochę zmienił w tym zakresie, ale tak naprawdę nadal to był pulpit jaki znamy tylko zamieszczony w 3D z ładnymi efektami graficznymi.