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.