Goodbye Yanosik!

Nie napisałem nic o tegorocznym urlopie. W zasadzie urlopach. W ramach nadrobienia zaległości spojrzenie na urlopy przez pryzmat appek androidowych. Zmiany są dwie: zacząłem korzystać ze Strava – ot, kolejna appka do mierzenia biegania czy pedałowania. W sumie poznałem ją, gdy oficjalna appka Kręć Kilometry przestała mi poprawnie i stabilnie działać, zwłaszcza zapisywać trasę. Zalety: dość dokładna, fajne automagiczne porównywanie czasów na odcinkach, liczenie rekordów. Wady: dość długo „się zbiera” do wykonania operacji, czyli czasami trzeba poczekać. Ale potem działa już pewnie, więc lubię.

Zmiana druga wymaga wstępu. Na jednym z wakacyjnych wyjazdów, przed podróżą powrotną do Poznania, zaczęło się kończyć paliwo. Poszukałem stacji, zjechałem parę kilometrów w nieznany teren, zatankowałem. I wracam, wg nawigacji, tak samo zresztą jak przyjechałem. O dziwo inna trasa, niż przyjechałem, ale nie wnikam – na oko kierunek się zgadza.

Więc jadę sobie drogami między wioskami. Pasażerowie przysypiają. I nagle widzę rozjazd. Asfalt lekkim łukiem w lewo, na wprost nawierzchnia szutrowa. Nawigacja zdecydowanie pokazuje jazdę na wprost, po szutrowej. Azymut się zgadza, wiec trochę zwalniam i wjeżdżam w tę szutrową. Chwilę później ostre hamowanie, bo okrutna dziura, idealna, by urwać koło. Dobrze, że zwolniłem wjeżdżając na tę szutrową. Jadę dłuższy kawałek, dziur wcale nie ubywa. Potem było jeszcze lepiej – gruntówka w lesie, ogromne kałuże na całą szerokość. Jakoś uniknąłem zakopania czy utopienia auta i przejechałem, ale było to ładne parę kilometrów. Dodam, że w poprzednią stronę przyjechałem całą drogę zupełnie znośnym asfaltem.

Nawigacja, która mnie tak poprowadziła to oczywiście Yanosik. Stwierdziłem, że enough is enough, tym bardziej, że to nie pierwszy tego typu wyczyn. Choć w tym przypadku skala porażki zadziwiła.

Dodatkowo Yanosik grabił sobie u mnie już wcześniej zbieraniem dużej ilości danych („styl jazdy”). I późniejszą próbą monetyzacji tej wiedzy w formie sprzedaży ubezpieczenia. Nie mam złudzeń, w tej grze kierowca traci – algorytmy i big data dają przewagę ubezpieczycielowi. O ile w przypadku cech ogólnych liczy się statystyka, to dane o stylu jazdy pozwalają na wnioskowanie poza granicą ludzkiej percepcji. Czyli software ubezpieczyciela zna lepiej zachowania kierowcy niż on sam. I jeśli stwierdzi, że jeździsz o niebezpiecznych porach, to nie tylko nie dostaniesz zniżki, ale jeszcze dopłacisz. Nawet jeśli jeździsz bezpiecznie. Na dodatek nie informują, co dokładnie jest mierzone. Oczywiście nie wyraziłem zgody, ale sam fakt możliwości zbierania takich danych jest niepokojący. Pytanie o zgodę było ponawiane – liczą na to, że użytkownik się pomyli i kliknie, że się zgadza?

W każdym razie po tej akcji z nawigacją Yanosik wyleciał w trybie ekspresowym, po przejechanych z nim jakichś 20 tys. Oczywiście potrzebuję dość często nawigacji, więc użyłem tego, co miałem pod ręką – Google Maps. Korzystałem kiedyś dawno temu przez chwilę i albo nie doceniałem, albo spory postęp zrobili.

Pierwsze wrażenie: Yanosik dawał instrukcje trochę za późno czasami (do tego stopnia, że zdarzało mi się nie skręcić we właściwą ulicę). Google Maps radzi sobie o wiele lepiej, informując z sensownym wyprzedzeniem. Do tego ma przyjemny ficzer w postaci zmiany skali w zależności od aktualnej prędkości. Nie ukrywam, że przestawienie się i przyzwyczajenie do dobrego zajęło mi chwilę. Różnica jest kolosalna – Google Maps potrafi pokazywać pasy, dawać drobne wskazówki gdzie odbić. Jest to bardzo przydatne na węzłach na autostradach. Za to przyznaję, że na rondach Yanosik radził sobie lepiej, choć też nie idealnie.

Brakuje oczywiście głównej funkcji Yanosika, czyli „antyradaru”, nie ma całej grywalizacji i statystyk ale… w sumie w Yanosiku grywalizacja była niedorobiona, a statystyki niespecjalnie coś wnosiły. Chociaż lubię popatrzeć. Google Maps dobrze nawiguje i… tyle. W każdym jeśli chodzi o nawigację to niebo a ziemia – totalna przepaść w jakości oprogramowania.

Rozważam jeszcze wypróbowanie głównego polskiego konkurenta Yanosika, czyli Ryśka, ale boję się, że nawigacja będzie słabsza od Google Maps, a dane dot. sytuacji na drodze gorsze, niż w Yanosiku.

UPDATE: Rysiek może kiedyś będzie testowany, ale najpierw szansę dostanie Waze. Wiele osób poleca Wazie i w komentarzach na blogu (nie tylko pod tym wpisem), i poza blogiem. Podobno wykupione przez Google, jest nawigacja i antyradar, może być fajne. Recenzja za jakiś czas.

UPDATE: Pewnie nie wszyscy zauważyli, ale Yanosik zaliczył poważną wtopę. Wykorzystywał urządzenia użytkowników bez ich wiedzy i zgody do realizowania innej usługi swojej firmy. Szczegóły opisała ZaufanaTrzecia strona, a pokrótce wykorzystywane były: włączenie bluetooth, co za tym idzie zwiększone zużycie baterii, transmisja dodatkowych danych – zużycie transferu. IMO takie nadużycie i pokrętne próby tłumaczenia są dyskwalifikujące, więc zamierzam trzymać się z daleka od wszelkich rozwiązań tej firmy.

Aktualizacja Androida

Na wstępie uprzedzam – to nie poradnik, to marudnik. Z uwagi na drastyczne sceny nie polecam lektury ludziom o słabych nerwach.

Zaczęło się od tego, że zaczęło ginąć miejsce w telefonie. Wyglądało to nieco podobnie jak w przypadku opisanym kiedyś – zajęta niby połowa miejsca, a niczego zainstalować nie sposób. Poza tym, niedawno ukazała się aktualizacja Androida, którą spróbowałem zainstalować. Dotychczas przebiegało to bezproblemowo z poziomu telefonu, tym razem jednak aktualizację pobrał, zaczął rozpakowywać i… zdechł w trakcie. Prawdopodobnie na skutek skończenia się miejsca w trakcie aktualizacji, bo przecież sprawdzenie ilości wolnego miejsca, ze stosownym zapasem przed rozpoczęciem aktualizacji to trudna sprawa jest.

Byłem pewien, że zdechł całkiem, ale nie – uruchomił się w zgrabnym trybie wyglądającym miło i przyjaźnie – zupełnie jak konsola Linuksa. Z miejsca mi się spodobało. Sprawdziłem integralność instalacji (failed), mimo ostrzeżeń uruchomiłem normalnie i… wszystko działało, tylko w starej wersji. Zwolniłem znacznie więcej miejsca i spróbowałem jeszcze parę razy. Z tym samym skutkiem, więc może jednak nie o miejsce chodziło? Zapomniałem o sprawie na parę tygodni.

System pozwala na aktualizację na kilka sposobów. Pierwszy, z którego korzystałem, to pobranie aktualizacji z sieci. Drugi, to umieszczenie aktualizacji na karcie SD i wybranie odpowiedniej opcji. Tyle, że tryby działania karty są dwa, mocno rozłączne i związane z formatowaniem karty. Pierwszy, to zwykła karta do przenoszenia zdjęć, drugi, to pamięć wewnętrzna. Oczywiście, żeby zrobić aktualizację Andoroida w tym trybie, karta musi być w trybie zwykłej karty SD, a ja miałem w trybie pamięci wewnętrznej. Zresztą, gwoździem do trumny dla tej opcji okazał się problem ze znalezieniem na stronie producenta aktualizacji do umieszczenia jej na karcie.

Z uwagi na problemy z integralnością instalacji i podejrzeniem uszkodzenia systemu plików, zacząłem rozważać pełen reinstall systemu, zamiast aktualizacji, która w ww. przypadku niekoniecznie musiała się udać. Co prawda na stronie producenta nie widziałem pełnych wersji do instalacji, ale stwierdziłem, że w sumie goły Android to nawet lepsza opcja może być. Zacząłem szukać wersji waniliowej albo jakiegoś CyanogenMod.

I tu zaczyna się horror show. Jakieś pliki wrzucone w jakieś miejsca, przez jakieś skracacze linków. Autor nieznany, treść niepodpisana cyfrowo. GPG jest przecież takie trudne, a malware’u dołożyć nie sposób. Do tego dziwne rozczłonkowanie i po modelach telefonów (pół biedy, jeśli oznaczenie jest dokładnie to samo), i po plikach. Totalne puzzle.

Dla pewności sprawdziłem jeszcze raz stronę producenta, czy aby nie przegapiłem gdzieś obrazu czy czegoś w ten deseń. No jednak nie. Postanowiłem zatem uznać wyższość Windows i skorzystać z aplikacji do aktualizacji dostarczanej przez producenta. Instalacja bez problemu, ale po podłączeniu telefonu system… zapragnął sterownika. W trakcie instalacji „się przerwało” i musiałem odczynić jakiś cyrk, żeby ponownie go wykrył. Oczywiście logów czy sensownych komunikatów brak.

Po wykryciu telefonu i instalacji sterowników pozostało już tylko wybranie modelu (nie żeby przed chwilą nie był wykryty, prawda?) i zaczął się pobierać system. A potem zaczął się wgrywać na telefon. Radosny komunikat na ekranie głosił, że gdyby rozłączył się w trakcie, to należy wyjąć z niego baterię i podłączyć ponownie. Chyba nie do końca umiem korzystać z Windows, bo za nic nie potrafiłem stwierdzić czy jest podłączony, czy nie. Możliwe, że nie dość uważnie wpatrywałem się w diodę dysku czy wsłuchiwałem w szum wentylatora. W każdym razie po kilkunastu minutach bez postępu stwierdziłem, że chyba nastąpiło rozłączenie. Oczywiście logów czy jasnego komunikatu na ekranie nie ma, bo po co?

Słusznie stwierdziłem! Wyjąłem baterię podłączyłem ponownie i… cały proces zaczął się od początku. No dobrze chociaż, że wykrył pobrany już plik. Tym razem flashowanie dotarło do szczęśliwego finału. Restart telefonu i… Zamiast wersji najnowszej, jest ta, którą miałem wcześniej. Ale system czysty, więc połączyłem się z siecią WiFi i tym razem aktualizacja Androida do naprawdę najnowszej dostępnej wersji przebiegła już bez problemu.

Cel został osiągnięty. W jedyne dwie godziny. Czy tam dwie i pół.

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.