Czy rozmiar ma znaczenie?

W tym przypadku prawo nagłówków Betteridge’a nie ma zastosowania, odpowiedź będzie twierdząca, a wszystko za sprawą Androida.

Logo Androida
Źródło: https://en.wikipedia.org/wiki/Android_(operating_system)

Od roku korzystam z Yanosika. Jakiś czas temu zauważyłem, że niemal skończyło mi się miejsce na karcie SD. Szybkie śledztwo ujawniło, że głównym winowajcą nie są – jak przypuszczałem – zdjęcia, tylko katalog yanosik-new, który zajmował ponad 700 MB z dostępnych 2 GB na karcie (wiem, mała, taka zaszłość). Ponarzekałem na FB, usłyszałem, że zawartość katalogu można bezpiecznie usunąć – odbuduje sobie co potrzebne. Znaczy się klasyczny cache. OK, rok używany, karta mała, nie robię afery. Usunąłem.

Ostatnimi dniami coś Yanosik zaczął zgłaszać błędy w stylu aplikacja nie odpowiada – czekaj/zgłoś/zamknij. Coś mnie tknęło, żeby znowu sprawdzić zajętość karty i… bingo. Znowu brak wolnego miejsca. Co prawda zrobiłem na urlopie parę zdjęć, ale zdecydowanie nie kilkaset MB. Oczywiście znowu yanosik-new ma rozmiar ponad 700 MB… Zacząłem szukać większej karty i rozglądać się za instrukcją zmiany karty w telefonie na większą. Przy okazji obmyślając, jakich ciepłych słów użyć pod adresem autorów Yanosika, bo zużycie 700 MB w rok to jeszcze jestem jakoś w stanie zrozumieć, ale w 3 tygodnie?

Znalazłem jakąś kartę 4 GB, ale okazało się, że muszę sprawdzić, czy jest sprawna. Wymiana karty SD w urządzeniach z Androidem jest prosta – wystarczy zgrać całą zawartość na komputer, sformatować nową kartę, przegrać wszystkie dane na nową. I powinno działać. Wygląda prosto, ale stwierdziłem, że zrobię backup, poza tym i tak wygodniej wrzucić całość na chwilę na komputer, niż kopiować między czytnikami.

I tu niespodzianka. Po usunięciu miniaturek zdjęć (jakieś 200 czy 300 MB) i skopiowaniu wszystkich danych na dysku katalog zajął… 880 MB.  Czyli jakąś połowę tego, co na karcie. W tym momencie zapaliła mi się lampka ostrzegawcza. Czyżby rozmiar bloku? Katalog Yanosika ma dużo małych kilkusetbajtowych plików, więc może o to chodzi. Sprawdziłem jego rozmiar w komputerze. 130 MB, więc bez dramatu. Czyżby autorzy zrobili taki bezsensowny i niedostosowany do Androida cache?

Zacząłem drążyć temat i okazało się, że cfdisk pokazuje jako system plików FAT16. No ale jak to? I jaki jest rozmiar bloku dla FAT 16? I czy w ogóle pojemności rzędu 2 GB są obsługiwane przez taki zabytek? Szybka wyprawa do muzeum i okazało się, że owszem, FAT16 obsługuje pojemności dysku do 2 GB. A rozmiar bloku to wówczas… 32 kB. Zamiast wymieniać kartę, postanowiłem zrobić mały eksperyment: zmienić system plików na FAT32.

Zmieniłem typ partycji w cfdisk (raczej bez znaczenia) i sformatowałem kartę przy pomocy mkfs.vfat -F 32, czyli wymuszając FAT32. Skopiowałem dane z komputera, włączyłem telefon, odbudowałem cache zdjęć. Po tym zabiegu jest 930 GB wolnego, bez kasowania jakichkolwiek danych! Czyli rozmiar bloku ma w przypadku urządzeń z Androidem duże znaczenie.

Zastanawiam się tylko, jak to możliwe. Kto w XXI w. używa FAT16? Nie kojarzę gdzie była formatowana karta. Wiele wskazuje na to, że w samym telefonie. Czyżby Android był tak słabo zaprojektowany, że domyślnie formatuje karty o rozmiarze 2 GB i mniejsze na FAT16? Jeśli tak, to jak widać zupełnie bez sensu. Ciekawe też, jaki system plików jest w na wbudowanej pamięci flash. Bo o ile karty microSD są tanie (8 GB class 4 od 12 zł widzę, za mniej niż 20 zł można nawet 16 GB class 10 w sklepie kupić), więc rozważania o rozmiarze 2 GB są czysto teoretyczne, o tyle w przypadku wbudowanej pamięci nie ma możliwości zmiany jej rozmiaru – trzeba zmienić urządzenie. Gra w tym przypadku (Yanosik i jego cache plus jakieś inne dane typu zdjęcia, ale przypuszczam, że nie on jeden tak robi…) toczy się w praktyce o podwojenie miejsca…

Pewnego rodzaju obejściem problemu może być w tym przypadku opisane kiedyś przeniesienie aplikacji z pamięci wbudowanej na kartę. Oczywiście najlepiej sformatowaną na FAT32, ale to powinno już stać się automatycznie w przypadku pojemności większych niż 2 GB.

Dokładność GPS, albo jej brak

Że GPS dokładny nie jest, to żadna nowość. Pisałem zresztą o tym już nieco przy okazji opisu wrażeń z Ingress. Znaczy w komentarzu. Poza tym, wiadomo, że GPS zawyża dystans. Ale wiadomo, że jest to łatwo dostępny, wygodny sposób pomiaru przebytej odległości, co w połączeniu z czasem pozwala zmierzyć prędkość. Niedawno na zastosowanie w sporcie narzekał torero, ale wiadomo, to niewielkie dystanse, więc i błąd większy.

Z GPS korzystam głównie w aucie, za sprawą Yanosika. Nawet zbytnio nie narzekam. Poza jednym odpałem, kiedy z ok. 240 km zrobił 480 km (i tak mu zostało), prędkość pokazuje na moje oko dobrze. No i dłuższe dystanse, niż przy bieganiu, więc chwilowe odchylenia o kilka czy kilkadziesiąt metrów nie grają aż tak wielkiej roli. A przynajmniej nie powinny.

Tak się jednak składa, że ostatnio dość regularnie jeżdżę po tej samej trasie. Średni pomiar ok. 10 km. Wg Google Maps – bardziej 8-9 km. Biorąc pod uwagę, że to jazda w mieście, jakieś 15-20 minut, więc całkiem sporo. Zastanawiające są natomiast pomiary skrajne. Wartość minimalna to 6 km, a maksymalna, uzyskana dziś to… 15 km. Może przez chmury, może kwestia montażu (mógłby być bardziej przy szybie…), może czasu na złapanie pozycji, może sprzętu albo samego Yanosika… Niemniej, rozrzut plus minus 50% to nie jest to, co tygrysy lubią najbardziej.

Tak dla pamięci, ale i ku przestrodze, gdyby komuś przyszło brać na poważnie pojedynczy pomiar GPSem.

Rozważania o blokowaniu ekranu

Przy okazji trwającej dramy dotyczącej xscreensavera w Debianie[1] przypomniał mi się pokrewny temat, o którym miałem robić wpis jakiś czas temu. Chodzi o blokadę dostępu do komputera, niezależnie od używanego systemu (Windows, Linux, OS X). Tradycyjnie jest to jakiegoś rodzaju wygaszacz ekranu, który po pierwsze blokuje możliwość odczytu danych z ekranu, po drugie, blokuje możliwość wprowadzania danych do uruchomionych programów. Do odblokowania zwykle konieczne jest podanie przez użytkownika hasła do systemu.

Rozwiązanie znane jest od dawna i wydawać by się mogło, że to wystarczy, ale czy tak jest faktycznie? Coraz więcej danych jest wprowadzanych i odbieranych z komputera nie tylko przy pomocy klawiatury i ekranu, ale także przy pomocy innych urządzeń. Programy do komunikacji VoIP, czy to Skype, czy aplikacja dostępna przez przeglądarkę typu appear.in czy hubl.in, po zablokowaniu ekranu nadal działają. Umożliwiają i odsłuchiwanie połączonych osób, i przekazują dane z otoczenia do nich. Zarówno za pośrednictwem audio, jak i video. Blokada ekranu co prawda wyłączy możliwość podglądu naszego rozmówcy, ale już nie wyłączy naszego webcama…

Jak na razie nie wiem nic o alternatywach dla wygaszaczy ekranu, które w momencie aktywacji blokowałyby nie tylko klawiaturę i ekran, ale dodatkowo wyłączały webcam(y) oraz wyciszały (mute) audio[2]. Pobieżne testy urządzeń z Androidem pokazują, że także na nich problem jest aktualny, przynajmniej w zakresie dźwięku. Warto po prostu pamiętać, że zablokowany komputer czy telefon w naszym otoczeniu wcale nie musi być tak do końca zablokowany…

[1] Skomentowałem u developera na blogu i wystarczy, wpisu nie będzie, sytuacja jest IMHO żenująca, więc szkoda klawiatury – jeśli ktoś ma cierpliwość, to wystarczy śledzić podlinkowane źródła.

[2] Jeśli istnieją systemy z takimi rozwiązaniami, albo samodzielne aplikacje, to chętnie poznam – u nikogo z nowszym Windowsem nie widziałem takiego rozwiązania.