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.

Jak przenieść aplikację na kartę SD w systemie Android? HOWTO

Na jednym starym urządzeniu z Androidem mam śmieszną ilość wbudowanego dysku w urządzeniu – poniżej 512 MB. Do tego wydawało mi się, że aplikacje ze sklepu Google Play mogą być instalowane tylko na wbudowanym flash w urządzenie. Dziś dowiedziałem się, jak zmusić Androida (przynajmniej poniżej wersji 5) do instalacji oprogramowania bezpośrednio na karcie SD. Operacja jest umiarkowanie prosta, więc jeśli ktoś ma problem z brakiem miejsca na telefonie, to polecam. Co zdziwiło mnie najbardziej to fakt, że nie jest konieczne rootowanie telefonu. Zatem jak przenieść aplikację na kartę?

Wymagania

Aby odblokować możliwość przenoszenia praktycznie dowolnego oprogramowania na kartę SD, potrzebne będą:

  • kabel USB do połączenia telefonu i komputera,
  • Android w wersji niższej niż 5,
  • włączenie USB debugging na urządzeniu na czas zmiany ustawień,
  • oprogramowanie Android Debug Bridge (ADB) zainstalowane na komputerze (w przypadku Linuksa powinno być w repozytoriach).

Odblokowanie przenoszenia aplikacji na kartę SD

  • upewniamy się, że tryb USB debugging jest włączony lub włączamy go,
  • podłączamy urządzenie do komputera,
  • sprawdzamy, czy jest widoczne (polecenie adb devices),
  • jeśli jest widoczne, wydajemy polecenie adb shell,
  • w powstałej konsoli wydajemy polecenie pm get-install-location – zapewne zobaczymy 0 lub 1, co oznacza odpowiednio wybór automatyczny lub wewnętrzną pamięć flash,
  • zmieniamy wartość na 2: pm set-install-location 2,
  • zamykamy konsolę adb, odpinamy telefon od komputera, wyłączamy USB debugging.

Przenoszenie programów na kartę SD

  • na telefonie wybieramy Ustawienia -> Aplikacje -> Na karcie SD,
  • „ptaszek” przy nazwie programu oznacza, że jest on na karcie SD,
  • wybieramy kolejno aplikacje i w ich ustawieniach wybieramy przenieś na kartę SD.

Po chwili powinniśmy zauważyć przyrost wolnego miejsca na wbudowanym w urządzenie nośniku.

Wady

Poza oczywistą zaletą, czyli możliwością instalacji większej ilości programów, co często oznacza być albo nie być dla urządzenia, są też wady:

  • wbudowana pamięć flash jest zwykle szybsza, niż karta, ale w praktyce nie odczuwam tego, na typowej lowendowej karcie,
  • niektóre aplikacje, zwł. systemowe lub Google nadal nie dają się przenieść,
  • przenoszone aplikacje zajmują nadal trochę miejsca na wewnętrznej pamięci.

Na zakończenie polecam lekturę pełniejszego opisu, z obrazkami (ang.) opisującego jak przenieść aplikację na kartę. Widziałem kilka opisów, ale ten wydaje mi się najlepszy i najbardziej przystępny.

UPDATE

Debugowanie USB w Androidzie 4.2 i nowszych

W przypadku Androida w wersji 4.2 i nowszych, nie można tak zwyczajnie włączyć debugowania USB. Należy najpierw odblokować ukryte menu, a żeby to zrobić należy zostać programistą.
Wybieramy Ustawienia -> System -> Informacje o urządzeniu -> O telefonie i naciskamy 7 razy (nie, to nie jest żart). Po tym otrzymujemy informację, że zostaliśmy programistą. Następnie standardowo w Opcje programisty wybieramy Debugowanie USB.