28/04/2009

Słów kilka o terminologii

Home

Ostatnio odniosłem wrażenie, że jest spora grupa osób, która dość niechlujnie używa terminów szyfrowanie (deszyfrowanie) i kodowanie (dekodowanie). Prowadzić to może natomiast do niezrozumienia u rozmówcy lub czytelnika.

Kodowanie to proces przekształcenie danych wejściowych do innej, bardziej pożądanej i użytecznej w danym kontekście postaci. W jednym przypadku użyteczne będą to dane skompresowane, w innym zapisane przy użyciu odmiennego alfabetu, a w jeszcze innym zaszyfrowane. Zgadza się, szyfrowanie jest specyficzną formą kodowania. Podstawowa różnica pomiędzy szyfrowaniem, a innymi formami kodowania polega natomiast na tym, że szyfrowanie wymaga podania klucza. Zarówno w przypadku innych form kodowania jak i szyfrowania algorytm może być dobrze znany i dostępny publicznie. Tylko, że nie znając klucza, a znając algorytm szyfrujący nie zdziałamy dużo. Pomijam tutaj sytuację kiedy algorytm został skompromitowany (złamany) lub kiedy użyty klucz jest zbyt słaby, łatwy do odgadnięcia.

Pojęcie kodowania jest, więc bardzo ogólne. Podsumowując mówiąc - te dane są zakodowane - tak naprawdę nie przekazujemy żadnej informacji, a już na pewno nie o tym, że dane zostały zaszyfrowane - utajnione.

27/04/2009

"Kobieta pierwotna"

Home

"Kobieta pierwotna" to tytuł naprawdę świetnej komedii, która miałem przyjemność zobaczyć wczorajszego wieczoru w teatrze "Bajka". W roli tytułowej występuje Hanna Śleszyńska, a przedstawienie zostało wyreżyserowane przez Arkadiusza Jakubika. Innych aktorów nie wymieniam bo ich nie było. Na scenie można jeszcze było zobaczyć Pana X czyli szmacianą kukłę reprezentującą mężczyznę :) Ci z was, którzy w tym momencie zaczynają podejrzewać o czym jest ta sztuka zapewne mają rację. W kilku słowach: o stosunkach damsko-męskich i ogólnie międzyludzkich, o poszukiwaniu mężczyzny, z którym kobieta mogłaby spędzić całe życie, o naszych (czytaj mężczyzn) wadach.

Nie trudno domyśleć się również, że przedstawienie miało postać monologu. Ale jakiego monologu, w czasie półtorej godziny więcej śmiałem się niż nie! Dowcipy, kąśliwe i ironiczne uwagi pod kątem mężczyzn wywoływały salwy śmiechu na widowni i bynajmniej nie tylko damskiej części publiczności. Hanna Śleszyńska była po prostu przezabawna, potrafiła improwizować, bardzo szybko nawiązała kontaktu z publicznością. W pewnym momencie aktorka zeszła nawet ze sceny i rozpoczęła dowcipny dialog z jednym z widzów (dowcipny choć trochę sprośny, więc nie będę cytował).

Podsumowując lekka i przyjemna rozrywka najwyższych lotów skłaniająca jednak do refleksji plus świetna, wręcz genialna rola Hanny Śleszyńskiej. Jednym słowem z czystym sumieniem polecam. Na zakończenie dodam jeszcze pesymistyczną uwagę, że kultura w naszym społeczeństwie najwyraźniej ginie skoro ludzie nie potrafią przyjść punktualnie do teatru, przeszkadzając sobie, a przede wszystkim innym.

23/04/2009

Steve Ballmer - spotkanie ze społecznością

Home

Dzisiejszego przedpołudnia udałem się na spotkanie z prezesem Microsoftu chociaż mówiąc szczerze miałem mieszane uczucia co do niego. Czemu? Po prostu nie chciałem tracić czasu na zobaczenie może śmiesznego ale medialnego przedstawienia, z których Steve Ballmer słynie. Z perspektywy mogę jednak w pełni szczerze powiedzieć, że było warto.

Spotkanie było co prawda krótkie, ale na dobrego showmana zawsze dobrze popatrzeć. I nie chodzi bynajmniej o to, że Steve Ballmer zrobił coś dziwnego czy bardzo ekscentrycznego. Wchodząc do sali miał na szyi biało-czerwony szalik z napisem Polska co wywołało gromkie brawa. Przemawiając zachowywał się na luzie, mówił konkretnie i zwięźle. Nawiązując do obecnej sytuacji ekonomicznej, czytaj kryzysu, powiedział że co prawda rynek się skurczył ale wbrew pozorom jest to doskonały moment na wprowadzanie nowych produktów i innowacji. Krótko mówiąc z IT jest całkiem dobrze :) Zachęcał do wysyłania do niego wiadomości z sugestiami dotyczącymi produktów Microsoftu. Na pytania społeczności odpowiadał w sposób błyskotliwy, żartował (chociaż mógł się do nich zapewne przygotować ponieważ były autoryzowane).

Tak czy inaczej występy publiczne to z pewnością jego żywioł i jest w tym naprawdę dobry. A mistrza przy pracy zawsze ogląda się z przyjemnością bez względu na czym ta praca polega.

17/04/2009

Bug w Visual Studio?

Home

W poście pisałem o bardzo ciekawej i użytecznej funkcjonalności Visual Studio umożliwiającej testowanie kodu bezpośrednio z poziomu środowiska bez potrzeby pisania programów testowych. Dzisiaj w pracy chciałem skorzystać z tej możliwości, a dokładniej chciałem z poziomu okna Class View utworzyć obiekt i umieścić go w oknie Object Test Bench. Służy do tego polecenie menu kontekstowego Create Insance. Wybrałem konstruktor domyślny i ku mojemu zdziwieniu otrzymałem okienko błędu, którego nigdy wcześniej nie widziałem, z mniej więcej takim komunikatem:

The type name 'ClassName' does not exist in the type 'Test.Test'

Po bliższym przyjrzeniu okazało się, że błąd spowodowany jest tym, że klasa obiektu, który chciałem utworzyć znajduje sie w przestrzeni nazw, która zawiera inną klasę o takiej samej nazwie jak nazwa przestrzeni np.:

namespace Test
{
  public class Test
  {
  }
}
Podobny błąd występuje również przy próbie wywołania metody statycznej z poziomu okna Class View (polecenie Invoke Static Method). Aby pozbyć się problemy wystarczy zmienić nazwę przestrzeni lub klasy. Co ciekawe wygląda na to, że występowanie problemu związane jest typem projektu. Ja zauważyłem go dla projektu konsolowego. Dla projektu typu Class Library już nie. Na sieci znalazłem informacje, że taki komunikat może pojawiać się również w innych scenariuszach dla projektów innego rodzaju. Dodam jeszcze, że błąd zaobserwowałem w Visual Studio 2008.

11/04/2009

Życzenia

Home



Życzę wszystkim wesołych i spokojnych Świąt Wielkiej Nocy spędzonych z najbliższymi.

Serdecznie pozdrawiam
Michał Komorowski

09/04/2009

Visual Studio i za długie ścieżki

Home

Możliwe, że to znany problem ale ja natknąłem się na niego ostatnio. Otóż siedzę sobie i koduję, oczywiście używając Visual Studio i w pewnym momencie zdecydowałem, że potrzebuję z bazy kodów (aktualnie używam Visual Source Safe) pobrać nowy projekt. Sprawa prosta, wybrałem polecenie Add -> Existing Project..., wyszukałem interesujący mnie projekt, wybrałem Ok i... Visual Studio kaput. Bez żadnego ostrzeżenia, komunikatu środowisko zostało zamknięte. No cóż, myślę sobie, spróbuję jeszcze raz. Za drugim, trzecim razem dokładnie to samo. Sprawa dziwna bo inne projekty pobierają się bez problemu. Zaczynam się zastanawiać i nagle przebłysk, że chyba słyszałem o czymś takim, o jakimś problemie z długością ścieżek. Kilka eksperymentów i okazało się, że problem występuje jeżeli pełna ścieżka do pliku z projektem umieszczonym w bazie kodów przekracza 120 znaków. Jak sobie z tym poradzić. Nie pozostaje nic innego jak pobrać projekt na dysk przy pomocy Visual Source Safe Explorer i wczytać go z tej lokalizacji. Dalej Visual Studio już sobie poradzi.

Velocity - co nowego?

Home

Dwa dni tempu pojawiła się wersja CTP 3 Velocity. Ponieważ w kilku postach wspominałem o tej technologii pozwalającej na rozproszone cache'owanie danych chciałbym w kilku słowach napisać o najważniejszych nowościach względem CTP 2.
  • Mechanizm powiadamiania - W tej chwili możliwe jest reagowanie kiedy jakiś region (grupa logicznie powiązanych z sobą obiektów umieszczonych w cache'u) jest dodawany, aktualizowany lub usuwany z cache'a. Mechanizm powiadamiania umożliwia również automatyczne unieważnianie cache lokalnego. Cache lokalny utrzymywany jest po stronie klienta i zawiera kopie danych pobranych z klastra. Do tej pory dane zgromadzone w tym cache'u były unieważniane dopiero po upływie określonego czasu. W tej chwili zostaną unieważnione tak szybko jak cache lokalny otrzyma powiadomienie.
  • Poprawienie wydajności.
  • Poprawienie bezpieczeństwa - Usługa gospodarza hosta działa teraz z uprawnieniami konta (mniejszymi niż dotychczas): Network Service.
  • Nowe opcje zarządzania klastrem - Wraz z CTP 3 rolę zarządcy klastra może pełnić instancja SQL Server'a. Wcześniej za zarządzanie klastrem byli odpowiedzialni tylko tzw. główni gospodarze (ang. lead host). Równocześnie usunięto możliwość przechowywania konfiguracji klastra w pliku XML.
  • Ulepszenia programu instalacyjnego - Wprowadzono możliwość automatycznej instalacji oraz zwiększono zakres dostępnych w czasie instalacji opcji.
  • Nowe API - Ta zmiana nie cieszy mnie za bardzo ale nic nie poradzę. Ogólnie zmieniło się nazewnictwo klas, delegatów, kolejność parametrów w metodach itd. czyli w sumie całkiem sporo.