Author Archive for SkyKnightPage 2 of 8

Windows 7 i Virtual PC

Masz Windows 7 ale do uruchomienia aplikacji potrzebujesz “normalnego” XP, bo nawet w trybie kompatybilności program nie działa? Microsoft wydał kolejną wersję Virtual PC dla Windows 7 – tym razem jako aktualizację do systemu. W osobnej instalce dostajemy wirtualny dysk właśnie z Windows XP Pro. Nie byłoby to nic nowego (bo takie instalki istniały już od dawna – o, np. tutaj), gdyby nie możliwość uruchamiania programów w wirtualnej maszynie wprost z menu hosta!

win7vpc

win7vpc_oo

Jak na razie obsługiwane wirtualne systemy w tym trybie to XP, Vista oraz 7 – przydałyby się wersje serwerowe ;-)

Nowe Virtual PC działa tylko na procesorach ze wsparciem wirtualizacji przez co wersja 2007 pewnie jest ostatnią bez tego wymogu. Na moim komputerze wydajność takiego rozwiązania wydaję się być przyzwoita, choć okienka czasem potrafią się “przyciąć” ;-)

Garść porad

  1. jeśli masz zainstalowanego Kaspersky’iego for Win7 to wyłącz w nim Proactive Defense – w przeciwnym przypadku będziesz dostawał komunikaty o niemożności zapisywania plików wirtualnej maszyny
  2. aplikacje zainstalowane na wirtualnej maszynie pojawiają się w folderze Windows Virtual PC\Virtual Windows XP (Vista/7) w menu Start. Widziane są tam tylko skróty znajdujące się na wirtualnej maszynie w menu start dla All Users
  3. Programy systemowe (Notatnik, Paint itp.) nie wyświetlają się w menu hosta. Jeśli chcesz mieć do nich dostęp, na wirtualnym systemie w edytorze rejestru przejdź do:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Virtual Machine\VPCVAppExcludeList
    i usuń wpisy z odpowiadającym programem.
  4. w powyższym wpisie w rejestrze nie znajdziesz nic na temat Internet Explorer :-) By móc go uruchamiać skopiuj skrót do niego do menu start w All Users
    win7vpc_ie6
  5. spróbowałem odpalić maszynę wirtualną z Windows 2003 – działa bez zarzutu, niemniej trzeba uważać na “Virtual Credential Manager”, bo po chwili nieuwagi byłem kilka razy zalogowany na tym systemie ;-)

Garść linków

  1. Virtual PC Beta for Windows 7
  2. dyskusja nt. uruchamiania programów w wirtualnej maszynie

Uzyskanie kompatybilności wstecznej poprzez zastosowanie wirtualnej maszyny to dobry pomysł – mam ciche nadzieje, na to, że może kiedyś doczekamy się zupełnie nowego Windowsa z zupełnie nowym kernelem :-)

BlipTags

Cóż, Blip mi się jakoś spodobał ;-) Niestety, brakowało mi jednej funkcjonalności – jakiegoś centralnego miejsca ułatwiającego poruszanie się po tagach. Fakt, jest BlipCast, ale nie miał on chmury tagów ;-) Stąd też mając chwilę czasu w kilka godzin (choć na przestrzeni tygodnia) powstał skrypt umożliwiający przeglądanie tagów. Pokazuje on chmurki tagów, ich powiązania między sobą, otagowane zdjęcia oraz użytkowników-top-tagerów.

BlipTags

Jak na razie mój BlipBot bada wiadomości z przed kilku tygodni, dlatego też nowe statusy zostaną przejrzane później.

Ale to brzydkie!

Tak, wiem o tym doskonale. Są to niestety strzępy layoutu zrobionego kiedyś przez Geta dla ‘portaluktóryjużistniećniebędzie’ ;-) Designer ze mnie żaden, tak więc jeśli znalazłaby się jakaś dobra dusza, która poświęci swój jakże cenny czas i zaprojektuje jakiś prosty layout to będę bardzo wdzięczny :-)

Błędy? Pomysły?

Skrypt jest pełen błędów, niedoróbek i uproszczeń. Jeśli taką zauważyłeś lub coś Cię drażni albo masz jakiś inny pomysł – napisz w komentarzu, bądź na GG/Blip.

Klient REST w WCF

Jak już się napisało, że kiedyś opiszę się tworzenie klienta RESTa w .Necie, to słowa trzeba dotrzymać. Postaram się jak najzwięźlej opisać w jak dość prosty sposób można otrzymać taką funkcjonalność. Przykładem będzie właśnie API dla Blipa, bowiem to przy nim “wypłynęło” kilka ciekawych zagadnień.
Continue reading ‘Klient REST w WCF’

WCF + Blip = WcfBlip

Wyszło jak zawsze – przypadkiem. Wśród napisanych blipowych bibliotek znalazła się jedna dla .neta. Niestety, nie jest już rozwijana w związku z czym spróbowałem napisać swoją. Po kilku godzinach surfowania w Sieci udało mi się zdobyć na tyle dużo wiedzy nt. WCF by to właśnie w tej technologi wykonać bibliotekę. I myślę, że udało się, choć nie cała funkcjonalność API Blipa się w niej znajduje.

Pliki
kod źródłowy (Visual Studio 2008)
UPDATE [01.01.2010]
projekt na GitHub

Wymagania
.Net Framework 3.5

Użycie

Generalnie wszystkie wywołania metod znajdują się we właściwości Api klasy Blip. Jest tak dlatego, że podczas pobierania owej właściwości tworzony jest kontekst z wymaganymi przez API nagłówkami HTTP. Jeśli aplikacja, która piszesz łączy się z innymi źródłami danych przez HTTP, warto dla bezpieczeństwa wywoływać metodę Blip.Dispose() lub używać klauzuli using(), by usunąć kontekst.

Parametry przekazywane do wywołań niestety mogą być tylko typu string (wymóg WCF UPDATE: cóż, w innym kontekście może i można, ale ja dostaje wyjątek) i nie są w żaden sposób sprawdzane.

using (WcfBlip.Blip blip = new WcfBlip.Blip(“uzytkownik”, “haslo”)) // logujemy się
{
Updates[] updates = blip.Api.GetUpdates(); // pobiera ostatnie statusy użytkownika
Updates[] updates2 = blip.Api.GetUpdates(“10″, “5″); // pobiera 10 ostatnich statusów zaczynając od 5
User user = blip.Api.GetUser(“jack”); // pobiera dane nt. użytkownika “jack”
}

Trochę więcej przykładów znajduje się WcfBlipTest

Choć według opisu API jest podział na update’y, statusy, prywatne wiadomości i uwagi, to zdecydowałem się na jedną klasę Update, która to posiada właściwość Type, po której to można rozpoznawać typ wiadomości.

Do poprawki

  • uzupełnić brakujące metody (upload obrazków, avatarów, backgroundów)
  • dodać komentarze do kodu
  • dodać do klas encji właściwości zwracające nazwy użytkowników (a nie jak teraz – tylko ich URL)
  • wprowadzić obsługę błędów (na razie nie ma żadnej)

Licencja
MIT

Wszelkie komentarze i uwagi mile widziane :-)

P.S. W najbliższym czasie postaram się napisać o tworzeniu klientów REST w .Necie za pomocą WCF.