Awesomeness
Od jakiegoś czasu łapię się na tym, że gdy nie mogę znaleźć dobrego określenia na coś, co mi się naprawdę podoba, używam angielskiego (a chyba bardziej amerykańskiego) słowa awesome. Jeden z moich znajomych zapytał: "musiałeś aż to po angielsku powiedzieć?". Fakt, łapię się też na tym, że coraz więcej mówię (nawet do siebie!) po angielsku!
Więc jaki jest dobry odpowiednik "awesome"? Wspomniany znajomy podpowiedział "zajefajny", a jeden z tłumaczy pewnego serialu telewizyjnego używa "zarąbisty", które też mi się podoba.
Swoją drogą od zawsze myślałem, że "awesome" oznacza "wspaniały" (por. Awesome Plate of the Lion, jedna z najlepszych zbroi w Diablo I). A tym czasem Google Translate pokazuje mi "straszliwy" i "przeraźliwy".
Zarąbistość.
Choć na tłumaczeniach w napisach tworzonych przez fanów nie mogę się opierać, odkąd "ultimate" było przetłumaczone na "alternatywny". Bo do braku poszanowania ortografii się przyzwyczaiłem.
Otwarte źródło, otwarty plik
Kiedyś do zarządzania moim telefonem używałem programu floAt's Mobile Agent. Ten, dedykowany telefonom Sony Ericsson, program między innymi zapisywał wszystkie moje wiadomości SMS w swoim własnym archiwum. Ja, z wrodzonego chomikowania, sobie te jego zapisy backupowałem.
Niedawno znalazłem je, szukając pewnego bardzo starego wpisu. Otworzyłem tenże plik, a moim oczom ukazała się struktura pliku CSV, wartości rodzielanych przecinkami. Gdzie bez żadnych problemów dało się wyczytać datę otrzymania lub wysłania danej wiadomości. I pewnie dało by się też dojść do tego, co oznaczają pozostałe zmienne, jednak największy problem był z samą wiadomością, która przyjmowała postać długich ciągów cyfr w systemie szesnastkowym.
Nie miałem w pierwszej chwili pojęcia cóż to za format jest tych danych. Pierwsze bajty w kilkudziesięciu linijkach były stałe. Potem znów było coś... i tak dalej. Nie mam obycia w komendach AT, nie znam się na kodowaniach w sieci komórkowej (zbytnio). Ale znam się co nieco na programowaniu. Pomyślałem zatem - oto jest moment, by wykorzystać potęgę oprogramowania o dostępnym kodzie źródłowym! Wspomniany FMA to program napisany w języku Delphi, w którym kiedyś bardzo dużo siedziałem. A jego źródła są dostępne na licencji GPL.
Ściągnąłem zatem źródła, znalazłem moduł uSMS.pas, który wydawał się pasować do tego, co ja potrzebuję znaleźć (przekształcić te ciągi do postaci czytelnej dla człowieka). Po pierwsze okazało się, że te ciągi to po prostu "SMS Packet format", który zaczyna się od numeru SMS Center, dlatego początki ciągów były identyczne. Ale to nie przybliżało mnie do rozwiązania problemu - musiałbym zaimplementować zatem parsowanie tegoż formatu w swoim programie... ale moment, przecież mam moduł, który to robi!
W pierwszej chwili pomyślałem o przepisaniu tego na C#. Ale spojrzałem na 58 KB kodu i zrezygnowałem. Za dużo roboty, która ma być wykorzystana tylko raz, tylko do przerobienia jednego pliku na inny. Rozważałem przez chwile skompilowanie modułu do postaci .netowego assembly (za pomocą Delphi.NET), by użyć tej klasy w moim programie - ale musiałbym znów Delphi.NET instalować, grzebać, nie wiadomo jak by to miało działać. A przecież kiedyś Delphi było moim żywiołem, dlaczego więc nie odkurzyć starych umiejętności?
Po krótkiej chwili zabawy z Free Pascal Compiler, wyrzuceniu zbędnych zależności z tego wspomnianego modułu, po napisaniu prostego programu testującego - okazało się, że miałem rację i moje tajemnicze ciągi zmieniły się w treść wiadomości "Idziesz na rower?" wysłanej ponad 6 lat temu. Obiecujący początek. Dłuższa chwila zabawy (i zmagania, od Delphi się odzwyczaiłem) z kodem zaowocowały prostą aplikacją do przerabiania formatu archiwum FMA do prostego pliku CSV. Sam program jest jeszcze pełen błędów, nie obsługuje żadnego wyjątku od reguły i zapewne będzie się psuł - ale na moich dwóch plikach zadziałał.
A morał tej bajki jest krótki i niektórym znany - używanie otwartego, udokumentowanego standardu przechowywania danych może pozwolić, że w przyszłości, będziemy mogli dane nadal otrzymać. Wystarczy tylko napisać aplikację, która to zrobi jak nakazuje dokumentacja. Ewentualnie - używanie oprogramowania o dostępnym kodzie źródłowym może pozwolić na to, że część starego oprogramowania może zostać użyta do przekształcenia starych danych na jakiś nowy, czytelny format. Wiwat otwartość, dzięki której, bez konieczności instalacji tego starego, nierozwijanego już programu (z czym pewnie by się wiązały problemy) udało mi się dane odczytać, praktycznie bez problemów.
Oczyma wyobraźni widzę, jak za X lat będę tak samo się starał odczytać dane zapisane w prehistorycznym formacie .xyz...1
A teraz krok następny - w jakim formacie dane przechowuje PPCPimBackup, program zamknięty, rozprowadzany jako freeware? I czy te dane też mi się uda odczytać? Tu już wiem, że będzie znacznie gorzej ;-)
[1] Znalazłem też kiedyś moje pliki zapisane w formacie graficznym PCX przez PaintBrusha z Windows 3.1, którego już na Windows 64-bitowym nie mogę uruchomić. Sytuacja bardzo podobna.
HP Compaq 2710p
Jeszcze niedawno, prawie dokładnie miesiąc temu, świętowałem dwa lata używania HP Compaq tc1100. Jednak, kilka dni po napisaniu tamtego tekstu, coś się zmieniło.
Pojawił się w mojej głowie szatański plan. Sprzedać dwa laptopy i kupić jednego, nowego, ładnego, małego, oszczędnego... Wpadł mi w oko HP Compaq 2710p. Komputer niby dwuletni, a dało się na pewnym popularnym portalu znaleźć sztuki "nówki", pochodzące z programu "HP renew", w rozsądnej całkiem cenie. Wiedziony impulsem kupiłem. Niestety, okazało się, że kupiłem model, który po przyjściu do mnie odmówił współpracy. Kupiłem potem drugi, modląc się w duchu, by wszystko było dobrze. I jest, jak dotąd.
2710p to 12,1" Tablet PC typu "convertible", znaczy z obracanym ekranem. Waży nieco ponad półtora kilograma, wytrzymuje na baterii ponad 5 godzin. Moja wersja dysponuje niskonapięciowym procesorem Core 2 Duo U7600 o częstotliwości 1,2 GHz, 2 GB pamięci RAM, zintegrowanym układem graficznym Intel X3100. Punktem, gdzie najwyraźniej widać oszczędność i co za tym idzie straty wydajności jest twardy dysk. 1,8" dysk (podłączony przez nieznany mi wcześniej interfejs ZIF) o szybkości obrotowej 4200 RPM nie jest demonem szybkości, ale działa całkiem sprawnie do zadań do jakich go potrzebuję. Sam komputer wyposażony dodatkowo jest w slot kart SD, czytnik linii papilarnych, moduł TPM, kamerkę internetową i... światełko oświetlające klawiaturę w nocy. Oprócz tego, charakterystyczna jest wysuwana antena modemu WWAN, którego (jeszcze) nie posiadam.
Standardowo pod kontrolą Windows Vista Business, pod moim okiem używa Windows 7 Professional. Działa szybko, sprawnie, bezproblemowo. I bez większości badziewia dostarczonego przez firmę HP, które to spowodowało, że pierwsze uruchomienie i wstępna konfiguracja trwała 2 godziny - zanim mogłem cokolwiek zrobić. Niestety, do działania m.in. automatycznego obracania ekranu muszę mieć program od HP, który z kolei likwiduje dwa tryby ekranu (tzw. Landscape-Secondary i Portrait-Secondary). Dlaczego? Nie mam pojęcia.
Z ciekawostek, oprócz lampki do klawiatury - brak touchpada. Jest tylko i wyłącznie trackpoint. Mój model do tego ma brytyjską klawiaturę, w której jak dla mnie lewy Shift jest trochę za wąski. Przestawione literki mnie nie martwią, takie same mam w stacjonarnym komputerze.
Ale najistotniejsze - komputer jest mały, zgrabny, niezbyt ciężki. Jego wielkość jest porównywalna z tc1100, a rozdzielczość 1280x800 jest wyraźnie fajniejsza, jak i sama klawiatura jest wygodniejsza. Nie wspomnę o szybkości pracy. Jest cichy (choć daje się usłyszeć pisk przy pracy na baterii - jakieś problemy z zasilaniem, mam podobną sytuację w nx7400), nie grzeje się. Na baterii pracuje bardzo długo. Piórko działa doskonale i ma gumkę, której nie używam. Stacja dokująca jest mała i fajna, dodaje napęd DVD, kilka kolejnych portów USB (sam komputer ma tylko dwa) i - co ciekawe - wyjście S-Video. Czytnik linii papilarnych to fajny gadżet, choć nie zawsze rozpoznaje mój palec wskazujący. Bateria, "jak zwykle", ma diodki wskazujące poziom naładowania. A, jest też Intel vPro, któremu będę musiał się dokładniej przyjrzeć.
Nie wiem jeszcze jak wygląda praca w słońcu (ekran jest matowy, ale nie jest to Outdoor View), dźwięk jest nędzny, a dziwne zachowanie sterowników usuwające dwa tryby ekranu - denerwujące. Poza tym jednak sprzęt jest bardzo dobry. Elegancko wygląda, obudowa sprawia świetne wrażenie, nie wygląda też jakby się miała wycierać. Zobaczymy za parę lat.
Jestem piekielnie zadowolony. To drugi komputer, o którym mogę powiedzieć, że podpasował mi idealnie.