Posts filed under 'Uncategorized'

Wizualizacja trasy z GPSa

W poprzednim poście zamieściłem linka do GPS-owej mapki z wycieczki, chwilę później doszedłem do wniosku, że może komuś przyda się krótki opis tworzenia takiej mapki (zamiast biegania po góglach).

Automapa 4 na Pocket PC zapisuje trasę (w naszym przypadku ślad, czyli aktualną pozycję) jako czyste komunikaty GPSa w pliku tekstowym .gps. Zdaje się że niektóre programy obsługują to jako .nma (można ręcznie zmienić rozszerzenie). Notabene AM zapisuje także to samo w pliku .gps.bin, ale on nas nie interesuje.

Automapa 4 na Pocket PC

W moim przypadku wystarczyła świetna strona GPS Visualizer, która przyjmuje zapis .gps (można go ew. zzipować przed uploadem) i produkuje efekt w wybranej postaci: Google Maps, Google Earth lub statyczne obrazki czy inne wykresy.

Po wybraniu Google Maps i wczytaniu pliku mogłem przeglądać trasę online, ale link do niej był tymczasowy (można sobie zapisać źródło strony z danymi trasy w JavaScripcie). GPS Visualizer pozwala jednak automatycznie przenieść taką gotową mapkę do zaprzyjaźnionego serwisu, który ma wiele wycieczko-blogowych funkcji: EveryTrail.com. Po szybkim założeniu konta mamy gotową mapkę do dzielenia się ze znajomymi i nie tylko:

screenshot of everytrail.com

Niestety WordPress.com na którym hostuję tego bloga nie pozwala na wklejenie iframe’ów (np. z google maps) więc musi wystarczyć zwykły link; dla wygody powtórzę go tutaj: Krakow Kayaking at EveryTrail


Add comment 2008-06-03

Pracowity dzień z Subversion i PowerShellem

Ostatnio zainstalowałem lokalne repozytorium Subversion i wczekinowałem solucję nad którą ostatnio pracuję. Niestety, okazało się, że oprócz wartościowych plików VB/C# znalazły się tam śmieci typu bin/*.* (głównie dll-ki). Szybko naprawiłem błąd i zacząłem od nowa, tym razem ustawiając w TortoiseSvn ignorowanie plików dll. Wszystko było OK do czasu, aż zacząłem pracować z kodem - okazało się, że warto byłoby wyrzucić z repozytorium także katalogi obj/Debug/ - oprócz dll-ek znajdują się tam np. pliki .projdata, które Visual Studio chce lockować, co nie bardzo podoba się żółwikowi (Tortoise).

Niestety, w międzyczasie mam wprowadzone sporo zmian i nie chcę tworzyć repozytorium od nowa (w końcu po coś ono istnieje ;-)

Aby repozytorium było bez skazy, zacząłem mozolnie usuwać z niego niechciane foldery i pliki. Niestety, obecna solucja zawiera około 50 takich zestawów w poszczególnych podprojektach. Zamiast poświęcić pół godziny na wyszukiwanie i usuwanie tych śmieci, postanowiłem zaprząc do pracy…

PowerShell.

Czytałem swego czasu o projekcie nowego shella (command line’a) Microsoftu, pierwotnie nazywanego Monad. Przemianowany na PowerShell i wydany oficjalnie pod koniec 2006 coraz częściej przewija się na blogach i webcastach. Jest podobny do powłok *niksowych, duży nacisk położono w nim na przekazywanie wyników jednego polecenia do następnego (piping), przy czym ma jedną bardzo istotną zaletę - zamiast stringów przekazuje obiekty. To się wiąże z kolejną zaletą: działa na .necie i w pełni korzysta z jego dobrodziejstw.

W rezultacie dostajemy nowoczesny sposób dostępu do bardzo różnych struktur danych (system plików, rejestr, otoczenie sieciowe, różnorakie API programów…). Microsoft zobowiązał się publikować wszystkie nowe narzędzie administracyjne w formie nakładek GUI na właśnie skrypty i klasy (tzw. cmdlety)PowerShella. Tak właśnie wygląda panel administracyjny najnowszego MS Exchange Servera.

Kilka przykładów z wikipedii:

  • Stop all processes that begin with the letter “p”:
 PS> get-process p* | stop-process
  • Find the processes that use more than 1000 MB of memory and kill them:
 PS> get-process | where { $_.WS -gt 1000MB } | stop-process
  • Calculate the number of bytes in the files in a directory:
 PS> get-childitem | measure-object -property length -sum

Get-ChildItem .\ -include bin,obj -Recurse | foreach ($_) { remove-item $_.fullname -Force -Recurse }

O ile dobrze rozumiem (dopiero zaczynam się tym bawić), to teoretycznie używając składni z ostatniego przykładu i podając inne dane wejściowe, możemy np. usunąć wszystkie klucze rejestru lub np. userów z grupy. Raj dla adminów/skrypciarzy/hackerów :-)

Wracając do mojego Subversiona…

Po kilku godzinach :-D udało mi się usiągnąć cel. Znajduję wszystkie niechciane katalogi na dysku i na ich podstawie uzyskuję bliźniaczą listę takich katalogów, tyle że w Subversion. Pozostało tylko wykasować je z repozytorium, co uczyniłem z poczuciem dobrze spełnionego obowiązku. Co prawda w tym przypadku to była armata na muchy, ale za to mam zainstalowanego PowerShella, napisane pierwsze skrypty w nowym środowisku z użyciem pajpingu i iterowania, poustawiane kilka rzeczy w systemie na przyszłość no i …czyste repozytorium :-]

Get-ChildItem Src\ -include bin,obj -Recurse | foreach { 
 $fullPath = $_.FullName.Replace("\","/")
 $srcPath = (get-location).Path.Replace("\","/")
 $repoPath = "file:///c:/Repo/NexTra"
 $fullPath = $fullPath.Replace("$srcPath","$repoPath")
 svn delete --message "AutoDelete" --force --non-interactive "$fullPath"
} 

Add comment 2007-09-04

Stare, dobre gry

Sukces Wii (sprzedaje się lepiej niż Xbox 360 i PS3 razem wzięte) pokazuje, że nie samą grafiką i gigahercami człowiek żyje. Ostatnio, po wielu latach, odmłodziłem swojego PeCeta, mając cichą nadzieję na odrobienie zaległości w graniu (Xbox jest fajny, ale to jednak coś innego).

Niestety, okazuje się, że zbyt wiele tych zaległości nie ma - dobre gry istniały już dawno, a nowe… Half Life 2, choć ładny, rozczarował mnie niewiele mniej od pierwszej części. STALKER, choć trzymający klimat książki, nie zachwycił “rewolucyjną grafiką”, a Far Cry przypadł mi co prawda do gustu, ale ponoć szybko się nudzi. Dołączony do karty graficznej Supreme Commander pogrzebał moje nadzieje do reszty.

Tak więc pora na powrót do naprawdę starych, sprawdzonych przebojów - Starcrafta, Diablo, Baldur’s Gate… Ostatnio po pracy grywamy w biurze właśnie w nieśmiertelnego Starcrafta, chodzi nawet pod Virtual PC :-)

Ponadto szukam ostatnio czasu by zainstalować na Pocket PC stare przygodówki Lucas Arts, które swego czasu przegapiłem - Secret of Monkey Island, Beneath a Steel Sky…

Ale nie wszystko złoto, co się starzeje - swego czasu nie zachwycił mnie kultowy Another World (pechowo uprzedził go u mnie jego sequel - Flashback); ostatnio zagrałem w jubileuszowy remake AW i zmęczyłem go do końca głównie z “kronikarskiego obowiązku”. Choć na szczęście nie tylko.

Marzy mi się wskrzeszenie tych starych, pięknych kolorowych gierek na Pocket PC czy innej PSP.. Oprócz Flashbacka koniecznie Chaos Engine (ostatnio wyszło na komórki Java :-), Syndicate, Gobliiiiiiins…

Na szczęście zawsze pozostaje nieśmiertelny Pasjans - zarówno pod Windows jak i Pocket PC :-D


Add comment 2007-08-02

Nowy Rok 2007

Minął kolejny dobry, bardzo owocny rok. Ale nowy, dwytysięcznysiódmy będzie jeszcze lepszy! :-) Wszystkiego …lepszego!


Add comment 2007-01-01

Res publica non dominetur.

Niesamowita “reklama” Linuksa. Ma już chyba parę lat, ale wcześniej jej nie widziałem. Na mnie osobiście największe wrażenie wywarła fraza “res publica non dominetur” - w luźnym tłumaczeniu (z pomocą angielskiego ;-) ) “rzeczy publicznej nie wolno zawłaszczać”. Dobrze jest sobie przypomnieć prawdziwy sens słowa republika. Rzecz pospolita. Wspólna. I przy okazji przypomnieć go naszym kochanym kaczorom. I wszystkim innym “sługom ludu”.

P.S. Firefox 2.0 ma świetną funkcję - słownik ortograficzny, działający we wszystkich formularzach. Podczas pisania tego wpisu upomniał mnie, gdy napisałem “linuksa” z małej litery ;-)


Add comment 2006-12-05

Hello world!

Welcome to WordPress.com. This is your first post. Edit or delete it and start blogging!


1 comment 2006-07-15

Hello world!

Welcome to WordPress. This is your first post. Edit or delete it, then start blogging!


Add comment 2006-04-19


Tagi

Ostatnie wpisy

Top Posts

RSS Twitter / Ekus

del.icio.us/Ekus

Archiwa

Meta