Clipboard image support in Silverlight

Clipboard text support is an obvious feature for silverlight, but clipboard image support could be silverlight’s “killer feature”, and help developers choose it over Air, Flash or javascript.

Continue Reading 2009-11-26 at 10:23

Sieciowe porządki, część 2: energooszczędny serwer

Jako geek mam wiele zboczeń, ale szczególnie cenię sobie to dotyczące ekologii, od czasów kiedy pacholęciem będąc poznawałem Bieszczady. Co prawda nie byłem harcerzem ani innym zorganizowanym skautem, ale dzięki odpowiedniej opiece i zachęcie udało mi się w czynie społecznym posadzić kilkaset drzew i wynieść z lasu podobną ilość porzuconych butelek.

Dlatego z ciężkim sercem słuchałem nieraz nocnego warczenia mojego komputera, który zużywał wiadro prądu, mimo że był obciążony zaledwie w kilku procentach podczas ściągania różnych… triali, dem i freeware’ów.

Rozwiązanie problemu zbiegło się w czasie z moją zabawą Home Serverem, choć nie od razu było ono wygodne. Przez pewien czas mój Windows Home Server działał jako maszyna wirtualna pod MS Virtual Serverem (zwykły MS Virtual PC nie obsługiwał dużych dysków). Był to podpięty przez USB 1-terabajtowy dysk WD Green Power (z tego co pamiętam, ciągnie on ok. 8 watów zamiast tradycyjnych(?) 10). Dzięki temu mój WHS – nieświadomy niczego – działał czasem “wewnątrz” netbooka, a czasem w ramach (w RAMie?) mojego desktopa. Owe 8W to jak dotąd mój rekord, w praktyce jednak rozwiązanie to było niedoskonałe, głównie za sprawą niskiego transferu i zabawy z wirtualnymi kartami sieciowymi (może uda mi się kiedyś napisać o tym więcej).

Aktualnie mój Chomik (WHS) działa bezpośrednio zainstalowany na wspomnianym netbooku i póki co jestem z tego rozwiązania zajebardzo dumny.

P1210738P1210743 P1210750 P1210764

Składniki:

  • netbook asus eee 900A, cena ok. 150-180 USD za refurbished. Free shipping w USA, opłaca się zwłaszcza kiedy trafi się darmowy przemyt ;-)
  • dysk 1TB Western Digital Green Power, ok 70-100 USD (300 PLN)
  • adapter mini-pci to SATA, opcjonalny bo można lutować SATA bezpośrednio do płyty ale adapter to dobry kompromis dla takich jak ja lutników. Bodajże 8 USD z przesyłką listem z Hong Kongu do Polski.
  • kabel+śledź eSATA do rozbiórki i lutowania, ok. 8 USD (25 PLN)
  • obudowa na dysk 3,5” USB+eSATA, ok. 30 USD (100 PLN). Częściowo opcjonalna, ważniejszy jest sam zasilacz 5V+12V.

W sumie ok. 300 USD, ale można taniej, zwłaszcza gdy niektóre części zalegają nam w szafie. Niestety po dodaniu kosztu licencji WHS (ok 100 USD) sprawa jest mniej fajna ale za to mamy bardzo energooszczędny serwer z MONITOREM (9”) i kul touchpadem multi-touch ;-), a w niektórych przypadkach także z bateryjnym podtrzymywaniem zasilania.
Co więcej system WHS wcale nie jest niezbędny, 80% jego funkcjonalności (torrent i NAS) można zrobić za darmo na Win XP czy innym Linuksie. Pozostałe 20% również, o ile kilka nieprzespanych nocy mamy też “za darmo”. Co osobiście uważam za bardzo kuszące, po tym jak WHS zawiódł mnie kilkakrotnie. Serwer przy normalnym użyciu nie przekracza 20 watów. Sam dysk zabiera 8,3 wata a monitor sporo poniżej 1.

Uwagi i nabyte doświadczenia:

  • podobno można zainstalować działający system Windows 2003 Server (czyli pewnie i WHS) tak, aby bootować z niego przez USB. Jednak SATA działa sporo szybciej i nie wymaga software’owego hackowania. A hackowanie hardware’owe jest jak wiadomo bardziej macho.
  • podłączenie SATA do płyty głównej lub do adaptera można zrobić prawie na ślepo (tzn. kolejność trzeba zachować, ale trudno czasem zgadnąć z której strony jest pin nr 1: http://pinouts.ru/HD/serialATA_pinout.shtml). Jest to 7 kabelków które jeśli się je podepnie odwrotnie, nic nie zrobią złego tylko nam nie wykryje dysku. Sprawdziłem, po przelutowniu w drugą stronę zadziałało. Oczywiście zasilanie to inna bajka ale tego nie hackowałem.
  • w przypadku mojego asusa – aby wykrył dysk SATA konieczne było zaktualizowanie BIOSu, bardzo proste (plik ROM na pendrive, boot).
  • z oczywistych względów warto podpiąć kablowy Ethernet zamiast WiFi (z drugiej strony wbudowane WiFi pozwala nam na zamurowanie serwera w ścianie lub pod wanną. Ale o tym zboczeniu innym razem).
  • Windows Home Server z powodzeniam działa jako zwykły domowy PC, z monitorem, kamerką USB, Youtubem, Winampem i Skypem.
  • W moim przypadku jest to zawsze włączony kuchenny skajpofon…
  • …oraz aktywowana ruchem zdalna kamera stojąca na straży lodówki – http://highlightcam.com/ ).
  • VNC to bardzo dobry zdalny dostęp do MONITORA serwera (zamiast osobnej sesji terminalowej). Można żonie rozłączyć skajpa. Aktualnie używam RealVNC bo jest częścią świetnego multi-instalatora http://ninite.com/
  • RealVNC choć instaluje się jako serwis w Windowsie, to nie dodaje siebie do wyjątków firewalla, trzeba to zrobić ręcznie (port 5900).
  • Zamiast dysku 3,5” bardzo warto rozważyć dysk 2,5”. Z moich kilkumiesięcznych doświadczeń wynika, że 500GB na spory czas wystarczy, później można uzbierać na drugi taki sam. Do SATA podpięty oczywiście bedzie tylko jeden, ale oba mogą ciągnąć prąd z USB, eliminując dodatkowy zasilacz 5V+12V…
  • albowiem eliminacja zasilacza dysku sprawia, że bateria w netbooku zadziała jak UPS, więc mamy serwer z prawdziwego zdarzenia, który się prędzej zahibernuje niż da zabić. To jest aktualnie mój drugi priorytet na liście ToDo.
  • dodatkowe dyski na USB mogą być 3,5-calowe, energożerne i bez UPSa, zwłaszcza gdy
    • potrafią/pozwalają się wyłączać podczas bezczynności
    • ewentualny zanik zasilania nie jest dla nich dużym problemem (przeważnie i tak są w spoczynku lub co najwyżej są odczytywane a nie zapisywane)
  • mój task numero uno to zainstalowanie TrueCrypta i zaszyfrowanie całego WHSa tak, jak to miało miejsce gdy Chomik był wirtualną maszyną w pliku .VHD
  • …niestety będzie to wymagało ode mnie (a przynajmniej będzie zalecało) lockowania konsoli, co jest niefajne w przypadku kuchennego komputera z kiepską/chowaną klawiaturą. Może czytnik odcisku palca załatwi sprawę, albo logowanie rozpoznawaniem twarzy przez kamerkę lub na podstawie bliskości telefonu z Bluetoothem. Niestety^2 wszystkie te rozwiązania podnoszą trochę zużycie energii.

Na koniec uwaga na temat niezawodności takiego zastosowania. Nie jest ono najwyższe, zwłaszcza w zasięgu dzieci które lubią kabelki; warto od razu pomyśleć o zamkniętej i unieruchomionej obudowie lub o innym zabezpieczeniu naszego zestawu. Z chwilą podpięcia do ethernetu nasz netbook przestaje być mobilny i musimy się z tym pogodzić. Darujmy sobie próby przestawiania, ustawiania, ciągłego rekonfigurowania. Wiem, bo dostałem nauczkę która nieomal kosztowała mnie dysk twardy i trochę danych. Najlepiej zamurować całość w ścianie. To jest mój trzeci task na liście ToDo :-)

2009-11-14 at 1:17 1 comment

Sieciowe porządki, część 1.

Zbliżająca się premiera Windows 7 to dobra okazja do wysprzątania komputerów. Na dodatek kilka miesięcy temu zacząłem zmagania z Windows Home Serverem, który w takich porządkach bardzo pomógł, choć w nieco złośliwy sposób. WHS ma dwie ogromne wady:

  • brak obsługi partycji nie-NTFS (czyli w moim przypadku netbooków na powolnych dyskach flash, gdzie FAT działa szybciej)
  • brak lub zła obsługa partycji zaszyfrowanych TrueCryptem na kliencie (nie można ich zaznaczyć do backupowania)

Jak się wkrótce okazało, ta druga niedogodność miała mnie kosztować utratę sporej porcji danych, kiedy to podczas instalacji (lub zaraz po) Windows 7 uznał sobie, że ta dziwna partycja RAW zajmująca pół dysku na pewno nie jest zagospodarowana i ją dla mnie sformatuje bez pytania.

image

W ten sposób zyskałem 300 GB wolnego miejsca, na szczęście wtedy już \\CHOMIK (mój WHS) był moim głównym repozytorium “ciężkich” danych (filmy, zdjęcia, muzyka), a firmowy laptop \\T60 zawierał wszystkie aktualne “Moje Dokumenty”. Mimo dwudniowej walki nie udało mi się odzyskać partycji TrueCrypta, co przyznaję z rezygnacją, bo  “wiem” jak to zrobić – brakuje mi tylko samozaparcia do napisania programu który sektor po sektorze wyszuka zapasowy header TrueCrypta (pierwszy jest uszkodzony a zapasowego sam TrueCrypt nie może zlokalizować) i zdekoduje go, odzyskując większość danych. Dysk 500GB na jakiś czas powędrował do szuflady, jak sobie przypomnę o czymś co warto jednak odzyskać to wrócę do tematu.

Doświadczenie to przyspieszyło moje porządki, ale też uświadomiło mi miłą rzecz: posiadanie WHS sprawiło, że ilość zduplikowanych danych na moich różnych komputerach bardzo się zmniejszyła. Teraz już wiem gdzie co jest lub gdzie powinno się wkrótce znaleźć. Dodatkowo okazało się, że moje komputery nie wymagają już dużych dysków, bo tą działką zajmuje się Chomik.

Offline files

Ostatnio ponownie odkryłem “killer feature” Windowsa 7, który co ciekawe był w Windowsie już od wersji 2000 :-)

Polega on na tym, że zamiast bawić się w synchronizację osobnymi programami typu Mesh, Groove, FolderShare, podłączam po prostu zasób sieciowy z mojego Chomika i zaznaczam opcję “Offline Files”. Powoduje to, że wszystkie dane zostaną nie tylko skopiowane i regularnie aktualizowane, ale też że Windows powiadomi mnie o ewentualnych konfliktach. Gdy dodatkowo zmapujemy zasób jako lokalny dysk, dostęp do niego staje się bardzo wygodny. Oczywiście przed WHS trudno było zdecydować jakie dane na którym komputerze powinny mieć swoje domyślne miejsce.

image image

image

Oczywiście ten sam zasób można podłączyć do wielu komputerów. Ponieważ nie planuję edytować np. plików Worda jednocześnie z żoną na osobnych komputerach, synchronizacja Offline Files w zupełności mi wystarcza.

Przy okazji grupowania danych do zasobów wykorzystałem jeszcze jedną ciekawą sztuczkę Windowsa – symlinki, czyli “dowiązania symboliczne”. W Windows 7 robi się je komendą mklink, w WHS trzeba dociągnąć Win2003 Resource Kit z komendą dlink:

mklink <nazwa linka>  <ścieżka>

np.

mklink C:\P  “C:\Program Files”

Triku tego używam czasem do skrócenia ścieżki Program Files podczas dodawania do zmiennej systemowej %path% – ma ona ograniczoną długość i wpisywanie w niej 20 razy “C:\Program Files” może prowadzić do problemów.

W Chomiku używam jej w innym celu – do zgrupowania różnych zasobów w jednym katalogu, który potem mapuję na innym komputerze. Wiąże się to z moim wstrętem do mapowania miliona (ok, 26) liter dysków do wszystkich możliwych zasobów, co jest jedną z głównych rozrywek administratorów sieci w korporacjach. Czyli zamiast mapować np.

I: –> \\Chomik\Users\Ekus
J: –> \\Chomik\Software\Install
K: –> \\Chomik\Video\Coding
L: –> \\Chomik\Video\Podcasts (nie chcę mapować całego Video ;-) )

mapuję tylko dwie rzeczy:

A: –> \\Chomik\Users\Ekus
B: –> \\Chomik\Links\T60

Na komputerze kuchennym oczywiście mapuję inny zestaw linków niż na firmowym laptopie, a część zasobów jest tam reużyta.

image

Na dzisiaj to tyle, gigabajty się ładnie synchronizują, pora zaczerpnąć jesiennego powietrza! Następnym razem napiszę więcej o moim hybrydowym – szyfrowanym – energooszczędnym Chomiku.

2009-09-27 at 13:14

Tata 2.0!

Dziś znienacka powiększyła mi się rodzina. Do niespełna 3-letniej Milenki dołączył Janek.

p12005321

Z mojego korytarzowego punktu widzenia wszystko przebiegło bardzo sprawnie, poród z przyczyn zdrowotnych był przez cesarskie cięcie. Sam nie mogłem uwierzyć kiedy usłyszałem donośne wrzaski zaledwie 2 godziny po przyjeździe do szpitala. W drodze do ważenia junior był już grzeczny, choć nie omieszkał rozpłakać mi się na ręku. Nie ze mną te numery – po kilku sekundach lulania uspokoiłem brzdąca i oddałem do dalszej administracyjnej obróbki. Wyniki bardzo ładne – 3,56 kg i 55 cm. Mimo że od kilku miesięcy brzuszek Ani zajmował coraz większą część sypialni, a i Milena przygotowywała się na przyjście braciszka (sama przez chwilę też “była w ciąży”), to i tak do końca sam nie byłem przygotowany na szczęście, które mnie spotkało.

Dziękuję za życzenia i modlitwy! Nie mogę już się doczekać odzyskania ze szpitala malca i mojej ukochanej. A wraz z nimi Milenki, która zawędrowała na kilka dni do dziadków i chyba zaczyna autentycznie tęsknić. Zuch dziewczyna :-)

2009-04-19 at 23:45 1 comment

Klawiatura z wosku

Właśnie opublikowałem swój pierwszy open source’owy projekt – WPF On Screen Keyboard, czyli Wosk.

Wosk - Wpf On Screen Keyboard

Po zakupie zgrabnego tablecika z dotykowym ekranem (Samsung Q1U) brak prawdziwej klawiatury mocno dał mi się we znaki. Q1U to co prawda już druga, poprawiona wersja platformy UMPC (ultra mobile PC) i w przeciwieństwie do wersji pierwszej ma oprócz dotykowego ekranu prawdziwe klawisze, ale są one do niczego. Nie dość, że maleńkie (wyobraź sobie TicTaca. Przetnij go na pół. Brawo, masz dwa klawisze do Q1U.), to jeszcze brakuje rzędu z cyframi i trzeba się męczyć z NumLockiem.

Wosk running on Samsung Q1U UMPC

Po ściągnięciu kilku programów udających klawiatury ekranowe oczywiście okazało się, że żadna nie odpowiada moim wygórowanym potrzebom, więc napisałem swoją. Przy okazji nauczyłem się co nieco o starym, niskopoziomowym API Windowsa, oraz sporo o WPF – nowym, lśniącym, graficznym, wektorowym GUI Microsoftu.

Efekt kilkunastu późnych wieczorów (już zapomniałem ile czasu zabiera przesuwanie przycisków na formularzu płótnie i wymyślanie heksadecymalnych kolorków z kanałem alfa) oczywiście okazał się tak niesamowity, że postanowiłem podzielić się nim z całym światem. Wersja dość podstawowa, ale u mnie działa.

  1. WPF On Screen Keyboard, czyli Wosk: http://www.codeplex.com/wosk.

2008-12-14 at 4:31

Surface pod strzechy

Jakiś czas temu było głośno o rewolucyjnym projekcie Microsoftu – dotykowym stole z ekranem, który nie tylko rozpoznawał kilka palców na raz, ale także inne położone na nim obiekty – telefony komórkowe, pędzle itp. i reagował na nie odpowiednio – np. wyświetlając SMSy z komórki lub umożliwiając malowanie po ekranie różnymi narzędziami. Entuzjazm studziła tylko informacja o cenie – ponad 10 tys. dolarów za sztukę (oferta kierowana do salonów sprzedaży, hoteli itp.).

Właśnie pojawiły się pogłoski, że MS bada rynek pod kątem wprowadzenia uproszczonej, domowej wersji, w hipotetycznej cenie 1500$. Dla mnie bomba, wszak to cena porównywalna z telewizorem. A dodatkowo można grać na nim w pasjansa i warcaby oraz czytać gazety! Hmm chwileczkę… ok, to chyba nie są najlepsze przykłady zastosowania, dużo lepsze podaje sam Microsoft, zapraszam do źródła: istartedsomething.com

2008-10-15 at 10:26 1 comment

Pasja programowania

Właśnie wróciłem ze spotkania krakowskiej grupy .net. I mam powody do mruczenia (z zadowolenia). Przypomniały mi się trochę czasy konwentów RPG, o których mój zacny kompan Michał Mochocki pisał, że tak naprawdę nie chodzi o tematy, prelekcje i granie, a raczej o spotkanie ludzi dzielących z nami wspólną pasję. Choć spotkania grupy programistów są o wiele mniej serdeczne i żywiołowe niż zjazdy samozwańczych Sarmatów, krasnoludów czy wampirów, łączy je jedno – pasja.

Dzisiejsze spotkanie było specjalne – gościliśmy dwóch popularnych showmanów – Carla Franklina (prowadzącego podcast .NET Rocks) i Tima Huckaby, którzy wnieśli sporo amerykańskiego luzu do poważnej sali konferencyjnej Comarchu. Jak dla mnie – strzał w dziesiątkę. Niezależnie od tematów (obracających się głównie wokół I/O oraz WPFa), największą zaletą gości był prawdziwy entuzjazm, z jakim opowiadali o programowaniu. Autentyczne “coding4fun“. Dla mnie fun był podwójny – podczas sesji udało mi się wygrać trochę softu oraz całkiem porządną kamerkę USB Microsoftu – parę dni wcześniej rozważałem zakup podobnej dla jakiegoś domowego hackowania :-). Żałuję trochę, że nie wykorzystałem możliwości pogadania z Carlem i Timem po spotkaniu… Wiele z przedstawionych przez nich ciekawostek dobrze komponowało się z moimi domowymi projektami (surface/multipoint, wiimote, niedługo może roomba i MIDI)…
Note to self: następny punkt doświadczenia przeznaczyć na podniesienie social skilla.

Swoją drogą to ciekawe jak MS zjednuje sobie tubylców z całego świata, na szczęście nie tylko świecidełkami. Steve Ballmer podskakujący na scenie dobitnie to ilustruje. Tę firmę naprawdę można lubić. Czuć w niej wciąż odradzającą się pasję, autentyczną chęć zmiany świata na lepsze i świadomość realności tego celu. Tablet PC, UMPC, Surface, Media Center, Home Server, Xbox Live (IMHO chyba najprostszy w obsłudze wideotelefon dla babci), Mesh… Nawet jeśli czasem chybione i niedoskonałe, z pewnością mają/miały potencjał na polepszenie jakości życia wielu ludzi. Przedsięwzięcia Google czy Apple wyglądają często przy tym jak czysty, wyrafinowany, i – niestety – nudny w gruncie rzeczy biznes.

2008-10-11 at 1:40

Older Posts Newer Posts


RSS Unknown Feed

  • An error has occurred; the feed is probably down. Try again later.

RSS Unknown Feed

  • An error has occurred; the feed is probably down. Try again later.

Feeds

del.icio.us/Ekus