Menu

Pomiędzy bitami

Techno, porno i duszno. Blog niezupełnie technologiczny.

Inne

Ilość rowerów Nextbike na stacjach - reaktywacja

rozieblox

Dawno temu pisałem o monitoringu rowerów Nextbike na stacjach. Moja strona podająca aktualną ilość rowerów miejskich na stacjach Nextbike działała do kwietnia tego roku, po czym przestała odświeżać dane. Jest to o tyle niefajne dla mnie, że appka androidowa Nextbike i jej wyszukiwanie rowerów to jakaś kpina i zdecydowanie łatwiej i szybciej znajdowałem potrzebne dane u siebie. Albo po prostu I don't like the bugs but the bugs like me, czyli znowu mam pecha i u mnie nie działa. W ogóle o appkach na Androida, zwłaszcza polskich wypadałoby już popełnić osobny wpis...

Poczyniłem szybki debug i okazało się, że Nextbike zapytany o konkretne miasto zwraca od niedawna błędny XML, zawierający zawsze także dane dla Indii. Zgłosiłem błąd mailem, co wiązało się z zabawną sytuacją, bo po pierwsze zostałem przez centralę wzięty za pracownika (chyba raczej stażystę) firmy Nextbike i odesłany do innego pracownika, który może założyć ticket w systemie. Padło też pytanie, a skądże to ja mam namiar na ten URL (przypominam, mający official w nazwie). No cóż, URL lata w wielu miejscach w sieci...

W każdym razie błąd został zgłoszony, a dane się nie pokazywały. Próbowałem na szybko zreanimować skrypt w Perlu, ale albo zmian było więcej, albo nie do końca umiem korzystać z tej biblioteki. W każdym razie poległem, a na dłuższe grzebanie w Perlu nie miałem ochoty. Przy okazji niegdyś poukładany kod wydał mi się już nie taki fajny i w sumie można by go przepisać...

Wczoraj zrobiłem przymiarkę do napisania tego w Pythonie. Okazało się, że bez problemu jestem w stanie parsować XML. Przy okazji zrezygnowałem z pobierania danych dla każdego miasta oddzielnie - miast jest na tyle dużo, że szybciej jest pobrać plik XML raz. Skoro zapowiadało się tak fajnie, to od razu postanowiłem przerzucić konfigurację z hasha w programie do pliku YAML. A skoro szło tak fajnie, to zmieniłem "template", zaszyty w printach w skrypcie, na Jinja2, przy okazji mając pierwszy praktyczny kontakt z tym rozwiązaniem, bo wcześniej "korzystałem" z niego tylko w template'ach dla bloga opartego o Pelican. Bardzo fajne, rozbudowane bardziej, niż przypuszczałem i jednak rządzące się swoimi prawami. W każdym razie mniej oczywiste niż mi się wydawało do tej pory.

Skoro szło tak dobrze, to dorzuciłem pięć kolejnych miast (Pszczyna, Zgierz, Kędzierzyn-Koźle, Kołobrzeg i Tychy), bo tyle pojawiło się od kwietnia. Oczywiście już nie do skryptu, tylko do prostego w utrzymaniu pliku z konfiguracją. :-) Całość zapakowana w virtualenv oczywiście, dla przenośności.

Ze skryptu nie jestem w 100% zadowolony - pewnie można go jeszcze uprościć, ale... może kiedy indziej, tym bardziej, że mógłbym jeszcze uzupełnić dane o geolokalizacji i pewnie gdzieniegdzie zostało błędne kodowanie znaków. Póki co, strona z ilością rowerów znowu działa. Ciekawostka - wszystkie pliki (skrypt, konfig, dane o wymaganych modułach) mają tyle samo linii co oryginalny Perl (TBH żadne nie było specjalnie sprzątane czy optymalizowane pod kątem wielkości), a jest o niebo czytelniej i prościej.

Internet bez kabla

rozieblox

Raspberry Pi radzi sobie w połączeniu z modemem Huawei 3131 (stara wersja) zaskakująco dobrze jako router do Aero2 (wariant płatny). Przesiadka z Banana Pi nie była całkiem bezproblemowa - internet w domu co prawda działał, ale straciłem zdalny dostęp przy pomocy autossh. Diagnostyka była prosta - okazało się, że nie wystarczy skopiować skrypty i crony, warto jeszcze sprawdzić, czy autossh jest w ogóle zainstalowane...

Prawdopodobnie przez brak nawiązanego połączenia SSH zmienia się IP i przesyłanych (a w zasadzie zliczanych) jest więcej danych podczas okresowego (co 5 minut) wywoływania wget w ramach namiastki dyndns. Znaczy zamiast jednego pakietu 3GB po 5 zł sztuka miesięcznie schodzą dwa. Można kupić więcej od razu, więc żaden problem, zresztą i tak raczej się zdziwiłem, że na początku mieścili się w jednym.

Internet z GSM działa przyzwoicie. Nie zauważyłem ani specjalnych lagów, ani spowolnienia. Co prawda może to być kwestia porównywania ze starym pakietem, ale póki co skłaniam się ku teorii, że jestem w stanie przesiąść się w domu całkowicie na internet bezprzewodowy, po GSM. Przynajmniej technologicznie, bo ceny wyższych pakietów jeszcze nie zachwycają. Poza tym, LTE działa podobno jeszcze lepiej...

Pozostało dołożenie drugiego modemu z internetem od innego operatora, uruchomienie abcc do wybierania aktualnie lepszego (i działającego) łącza i... tyle. No, muszę przerobić jeszcze wywoływanie autossh, bo zrobiłem proste @reboot w cronie, co słabo się sprawdza w przypadku zerwania sesji - raz się jednak pakiet Aero2 skończył i trzeba było doładować, a jak się nie zrobi tego od razu, to się zapomina.

Oczywiście można kombinować jeszcze z wyniesieniem modemów GSM w lepsze miejsce, podpięciem anten itp. ale... po co komplikować, skoro działa? Z drugiej strony byłby pretekst do zabawy z antenami i potestowania wpływu siły sygnału GSM na prędkość działania internetu.

Rockbox 3.14

rozieblox

Nie sądziłem, że kiedykolwiek napiszę jeszcze coś w tym temacie, bo projekt Rockbox wyglądał na martwy, ale wczoraj dowiedziałem się, że blisko miesiąc temu, po ponad czterech latach od ostatniego wydania, ukazała się kolejna stabilna wersja alternatywnego oprogramowania dla odtwarzaczy mp3. Pełna lista zmian w Rockbox 3.14 dostępna jest tutaj, z ciekawszych IMO rzeczy: poprawki wydajności systemu plików i bazy danych, dostępna gra 2048 jako plugin oraz niemal podwojona(!) długość pracy na baterii dla AMS v2 devices (Sansa Clip v2, Clip+, Clip Zip, and Fuze v2).

Już zaktualizowałem urządzenia. :-)

Guetzli - lepsza kompresja JPEG

rozieblox

Przedwczoraj Google ogłosiło na blogu nowe narzędzie do kompresji JPEG o nazwie Guetzli, wydawane na wolnej licencji (Apache License). Ma dawać lepsze optycznie rezultaty przy mniejszym rozmiarze wynikowym (mowa nawet o 35% mniejszych plikach). Cena? Oczywiście czas kompresji.

Postanowiłem przetestować na szybko, co mogło by się zmienić, gdybym wykorzystał grafiki skompresowane przy pomocy Guetzli na blogu. W tym celu sięgnąłem po obrazki z backupu bloga i uruchomiłem program (domyślne opcje kompilacji, domyślne ustawienia jakości, czyli 90%) na moim laptopie (CPU: Intel(R) Core(TM) i3 CPU M 380 @ 2.53GHz). Zdziwiło mnie to, że aż przy 12 plikach nie udało się ukończyć działania - program zgłosił błąd:

Invalid input JPEG file
Guetzli processing failed

Udało się przetworzyć 66 plików, całość trwała prawie 17 minut (sic!). Czyli jest bardzo wolno. Kompresor wykorzystywał tylko jeden rdzeń CPU. Efekty są obiecujące, zarówno wizualne, jaki i objętościowe. Mimo, że algorytm jest zaprojektowany z myślą o działaniu na możliwie nieprzetworzonych obrazach wejściowych, a te na blogu raczej są już zoptymalizowane, to łączny rozmiar udało się zmniejszyć o 14% (z ok. 3,3 MB do ok. 2,8 MB).

Jeśli wezmą się za wykorzystanie i optymalizację duże firmy, a jest na to szansa po uwolnieniu programu, może to oznaczać mniej przesyłanych danych po sieci, czyli szybsze ładowanie się stron, widoczne zwłaszcza na komórkach. Chwilowo główną barierą jest czas działania, który wygląda na zależny bezpośrednio od wielkości pliku wejściowego.

Zrobiłem jeszcze jeden test - plik JPG bezpośrednio z aparatu, rozmiar 2560x1440, rozmiar wejściowy 1,2 MB. Po kompresji (trwającej kilka minut) brak zauważalnych zmian jakości, natomiast rozmiar zmniejszony aż o 50% (614 kB).

Smogly - miernik poziomu smogu

rozieblox

Dużo ostatnio mówi się w mediach o smogu i zanieczyszczeniu powietrza, widzę też, że pomału wśród znajomych popularne stają się różnego rodzaju, mniej lub bardziej DIY, mierniki poziomu zanieczyszczeń powietrza. Niezależnie od tego, co słychać w mediach, istnieją oddolne obywatelskie inicjatywy, mające na celu monitorowanie zanieczyszczenia powietrza w miastach. Przykładem jest Smogly AKA EnviroMonitor.

Czym jest Smogly?

Celem projektu jest stworzenie otwartego, zarówno sprzętowo, jak i programowo, przystępnego cenowo rozwiązania do monitoringu zanieczyszczenia powietrza, zbudowanie społeczności zainteresowanej jakością powietrza i finalnie zbieranie danych z wielu punktów pomiarowych w celu tworzenia pełnego obrazu jakości powietrza, nie tylko w Polsce, choć większość twórców - o ile nie wszyscy - pochodzi z Polski.

Istnieją co prawda podobne rozwiązania, ale brakuje im przekrojowości. Przykładowo w Poznaniu są dwa czujniki zanieczyszczeń dostępne online - jeden na obrzeżach miasta, drugi w okolicach centrum, ale zanieczyszczenia potrafią się różnić znacząco między poszczególnymi rejonami miasta, nawet między sąsiednimi dzielnicami.

Projekt Smogly składa się z kilku części. Zasadniczą jest sam miernik jakości powietrza. Potrafi on mierzyć ciśnienie, wilgotność, temperaturę oraz zanieczyszczenie pyłami PM 2.5 oraz PM 10. Czujnik przeznaczony jest do samodzielnego montażu (DIY) i wysyła dane do serwera łącząc się z internetem przy pomocy WiFi. Można skorzystać z własnego serwera lub - co jest lepszym rozwiązaniem - wysyłać dane do serwera utrzymywanego przez twórców projektu.

Koszt części (bez obudowy) szacowany jest na ok. 150-200 zł. Nie jest to dużo, biorąc pod uwagę, że - jak
zapewniają twórcy - pomiary były konfrontowane z wykonywanymi przez WIOŚ i różnice w przypadku wersji z grzałką, zapewniającą osuszenie powietrza przed pomiarem zanieczyszczeń, są na poziomie kilku procent.

Kolejne elementy układanki to wspomniany serwer, odbierający dane z sensorów, frontend, prezentujący dane w
przeglądarce oraz obudowa. Sonda badająca jakość powietrza musi być zamontowana na zewnątrz, do zasilania wystarcza zasilacz o prądzie 1A.

Czemu Smogly?

Wyróżniki Smogly na tle "konkurencji" są następujące:

  • montaż zewnętrzny, zapewniający realne dane nt. stanu powietrza w okolicy
  • grzałka, zapewniająca poprawne działanie także w warunkach zwiększonej wilgotności
  • usieciowienie, czyli zbieranie danych z różnych punktów do wspólnej bazy, możliwość odczytu wyników za pomocą np. smartfona
  • otwarty projekt, pozwalający na swobodne ulepszanie i dający nadzieję na utrzymanie i rozwój

Jak pomóc?

W tej chwili najpotrzebniejszą rzeczą są ochotnicy, którzy zbudują i zamontują czujki. Ambicją twórców projektu są 2-3 sensory w każdej dzielnicy, żeby zapewnić miarodajne wyniki. Na pewno projektowi przyda się nagłośnienie, więc jeśli macie znajomych interesujących się ochroną środowiska albo geeków interesujących się Arduino, to dajcie im znać. Podobnie dajcie znać znajomych zainteresowanych kupnem gotowego miernika - prawdopodobnie taniej mogą mieć urządzenie dokładniejsze, o większych możliwościach i bardziej użyteczne społecznie.

Przyłączyć się można za pośrednictwem GitHuba - standardowy flow pracy, czyli zgłaszanie issues,
forkowanie i pull requesty. Projekt korzysta również ze Slacka, dostępnego na zaproszenie - automat zapraszający dostępny jest tutaj.

Na koniec garść linków na temat pyłów PM10 i PM2.5:

  1. O pyłach PM2.5 i PM10 https://airnow.gov/index.cfm?action=aqibasics.particle
  2. Artykuł na Wikipedii https://en.wikipedia.org/wiki/Particulates
  3. Strona projektu Smogly https://github.com/EnviroMonitor
  4. Wpływ zanieczyszczeń na zdrowie http://smog.imgw.pl/content/health
  5. Dopuszczalne normy zanieczyszczeń powietrza http://smog.imgw.pl/content/norm
  6. Poziomy zanieczyszczeń PM2.5 i PM10 online: http://aqicn.org/

Częstochowa czyli paskudny kościół

rozieblox

Niedawno jechałem samochodem do Tych. Po skonsultowaniu z Google Maps, postanowiłem jechać przez Łódź, płatną autostradą, głównie za sprawą przewidywanego czasu przejazdu (lekko ponad 4h) i potencjalnego stanu dróg, bo harmonogram imprezy był dość napięty, a akurat przyszło ochłodzenie i możliwość oblodzenia. Odcinek pierwszy, Poznań - Łódź, znałem od strony technicznej, natomiast zaskoczyły mnie ceny. Patrząc od strony Poznania dwie bramki po 18 zł, potem jedna za 10 zł. Razem 46 zł za ~250 km. Jak na możliwość skorzystania z drogi wybudowanej za moje pieniądze, w dodatku własnym środkiem transportu - zdecydowanie za drogo, w podobnej cenie za kilometr są taksówki.

Jednak nie o tym miało być. W okolicy Częstochowy zaczęły się korki. Oddając sprawiedliwość: Google Maps ostrzegło o pracach drogowych, ale liczyłem, że skoro wakacje za nami, to nie będziemy pokonywać miejsc z robotami drogowymi w tempie 5 km/h, tylko powiedzmy jak na znakach (30-60 km/h). Myliłem się, i cała podróż trwała ponad 6h.

W każdym razie, dla pełnego obrazu sytuacji, w okolicy Częstochowy utknęliśmy w korku, aura niesprzyjająca. I nagle wyłonił się ten widok. Oczywiście nie było zieleni, po prostu bryła górująca nad miastem.

Chodzi o ten obiekt, czyli kościół św. Antoniego z Padwy:

Kościół św. Antoniego z Padwy Częstochowa

Źródło: Wikipedia

Powyższe zdjęcie w Wikipedii ukazuje ten kościół chyba od najlepszej możliwej strony, więc wygląda, że uchodzi. Piękny nie jest, ale nie widać tej totalnej szkaradności, którą widzą wjeżdżający od północy. Poniżej widok z Google Street View, nie oddający w pełni klimatu, ale można już dostrzec o co tak naprawdę chodzi.

Kościół św. Antoniego z Padwy, Częstochowa

Źródło: Google Maps

To też jeszcze nie oddaje klimatu, ale szperając po sieci znalazłem zdjęcie, które nie jest najlepszej jakości, ale trafia w sedno:

Kościół św. Antoniego z Padwy, Częstochowa

Źródło: MapOfPoland

Tak to właśnie wygląda, przy czym aby oddać pełnię wrażenia, należałoby skrzyżować szerszą perspektywę z przedostatniego zdjęcia i kolorystyką ostatniego.

Jakbym miał nazwać ten styl to chyba najlepiej pasuje kpina z gotyku. Do tego jest totalnie nieprzystający proporcją do reszty miasta. Miałem wrażenie, jakby ktoś celowo chciał oszpecić miasto stawiając takie wielkie, brzydkie monstrum. Skojarzenia z Grą o tron i obecną tam sektą panoszącą się w stolicy jak najbardziej na miejscu.

Python

rozieblox

Tak się składa, że ostatnio podstawowym językiem programowania, którego używam, jest Python. W związku z tym kilka przemyśleń na jego temat i na temat rozpoczynania zabawy z nim. Disclaimer: do Pythona podchodziłem już kiedyś, jeśli muszę coś napisać, to domyślnie korzystam z Perla (niekoniecznie pięknego, często poganiającego polecenia systemowe, ale działającego), a historycznie bawiłem się Pascalem, C i oczywiście miałem kontakt z Bashem i PHP (do ostatniego oficjalnie się nie przyznaję).

Po pierwsze, istnieją czytelne reguły, np. PEP 8, którego wszyscy używają[1] czy PEP 20. Są też narzędzia, które ułatwiają zachowanie zasad dotyczących formatowania kodu, aby był zgodny z wytycznymi. Nie sposób tu nie wspomnieć o edytorze Atom, którego kiedyś włączyłem i wydał mi się straszną kobyłą, ale w połączeniu z pluginami działa naprawdę dobrze. Na tyle na ile mogę stwierdzić przy tak małym doświadczeniu. W każdym razie ma wszystko, do czego używałem kate. I sporo więcej. Vim nigdy mi nie podszedł na tyle, bym go używał w bardziej zaawansowany sposób. Do szybkich poprawek zawsze było albo nano, albo właśnie vim, ale tryb tekstowy to nie jest to, co preferuję przy pracy nad dłuższym kodem.

Po drugie, dostępnych jest dużo materiałów do nauki Pythona. Także bezpłatnych. Samych książek/kursów jest kilkanaście (choćby oficjalny The Hitchhiker's Guide to Python), istnieją też gry, które uczą programować w Pythonie (choćby Codecombat, którym kiedyś się bawiłem, o którym miała być notka, ale które ostatecznie mnie nie wciągnęło, a pomysł na notkę jakoś się rozmył). Mi do gustu przypadł jednak interaktywny kurs Learn Python na Androida. Jednak jeśli coś piszę i są interaktywne testy, a nie tylko czytam, to zapamiętuję więcej. Oczywiście nawet jeśli zapamiętam to do poziomu "potrafię użyć w programie" jest jeszcze kawałek, ale przynajmniej rozumiem przykłady i gotowy kod.

Po trzecie, istnieje sporo gotowych modułów, które ułatwiają pisanie, ale nawet gdyby nie istniały, to kod można "pożyczać" z innych skryptów przy pomocy import. I można mieć różne wersje bibliotek za sprawą środowisk wirtualnych. Z jednej strony fajne, z drugiej tworzy bałagan. Do developerki przydatne i zgodne z modną ostatnio ideą konteneryzacji. Ogólnie nauczyłem się z tym żyć, ale odruchu, żeby wszystko robić w virutalenv jeszcze nie mam.

Skoro mowa o bałaganie, to pora na wady, a tych jest zaskakująco wiele. Po pierwsze, Python 2 nadal żyje, ma się dobrze i można go spotkać na wolności. Taka umowna wada i na razie nie bardzo przeszkadza. Niemniej, nie każdy kod napisany w Pythonie 3 daje się wykorzystać w wersji drugiej.

Inna trochę dziwna na początku rzecz, to struktury danych. Jest tablica (list, w Perlu array), jest tablica asocjacyjna (dict, w Perlu hash), ale są też tuple (niemodyfikowalne listy) i sety (nieuporządkowane zbiory unikatowych wartości). Nie żebym nie widział zalet, ale żeby aż wydzielać to? Zwł. sety (normalnie to po prostu się hasha tworzy, klucze są nieuporządkowane i unikatowe)...

To co się najbardziej rzuca w oczy: wcięcia. Są wymagane i rzutują na kod. Najprostszy przykład to:

for i in range (3):
    print ("wartosc: ")
    print (i)

Usunięcie wcięcia w ostatnim wierszu totalnie zmieni sposób działania programu. Drażni szczególnie na początku, gdy chcemy coś na szybko przetestować i np. coś wklejamy - trzeba poprawić i dokładnie sprawdzić wcięcia, inaczej mogą być kwiatki jak wyżej.

Kolejna rzecz, która irytuje, to wciskanie filozofii w stylu zen. Na siłę i niekoniecznie zgodnie z prawdą. Weźmy mój ulubiony przykład:

There should be one-- and preferably only one --obvious way to do it.

No to teraz bierzemy na tapetę set. Można go utworzyć przez

mojset = set([1, 2, 3])

Ale od wersji 2.7 można użyć do tworzenia równoważnej formy

mojset = {1, 2, 3}

Nie ma problemu? No to jak utworzyć pustego seta? Gdyby ktoś wpadł na całkiem logiczny pomysł użycia

mojset = {}

to niech wie, że nie pustego seta stworzył, a pustego dicta i za chwilę dostanie błędem po oczach. BTDT, dobry kwadrans dumania, czemu to nie działa i dopiero wezwana pomoc uratowała sytuację, bo nie wiem ile bym jeszcze nad tym dumał.

Także one way my ass, skoro Tim Toady wita nas już na samym wstępie, przy tworzeniu jednego z podstawowych typów danych.

Możliwe, że dla ludzi, którzy zaczynają programowanie od Pythona, wady nie są tak zauważalne czy irytujące.

Niemniej, oddaję sprawiedliwość - w Pythonie pisze się przyjemnie i w praktyce jest to łatwiejsze, niż wygląda na pierwszy rzut oka. Wystarczy przejrzeć jakiś tutorial. Zdarzało mi się pisać rozszerzenia do istniejących skryptów po kilku dniach styczności z językiem i nie było większych problemów. Więc faktycznie, może być czytelnie, prosto i wygodnie. Oczywiście mogło być tak, że na ładne skrypty trafiłem. ;-)

Z Perlem oczywiście nie kończę, bo do pewnych rzeczy nadaje się IMHO lepiej, trochę gratów mam w nim napisanych, ale wersji 6 raczej już nie zacznę.

[1] A przynajmniej prawie wszyscy. A przynajmniej starają się. Prawie wszyscy.

UPDATE: Wspomniany kurs Learn Python skończyłem i szczerze polecam. Świetna podstawka, traktująca szeroko o różnych zagadnieniach, przy czym, jednak, te praktyczne części są lepsze, a teoretyczne kuleją. Jest w sumie o wszystkim najważniejszym, z programowaniem obiektowym i regexpami włącznie. Zapomniałem też wspomnieć o ipython - bardzo fajny do szybkiego sprawdzenia jakichś drobiazgów.

Swoją drogą, dziwi mnie to wciskanie regexpów do nauki programowania. To jest IMHO osobna działka zupełnie i nijak się nie klei z resztą.

Przy okazji kolejny kamyczek do ogródka w Pythonie jest inaczej: tym razem chodzi o re.match, które działa totalnie nieintuicyjnie, choć przyznaję, że w sposób zgodny z dokumentacją. Otóż ww. funkcja dopasowuje wyrażenie tylko na początku stringa. Czyli ma takie niejawne, hardcodowane ^ - i albo .* na początku, albo korzystamy z re.search, żeby było normalnie. One way my ass, ponownie. Szczęśliwie wyszło to na Learn Python, nie w praktyce. Nie wiem co za piękny umysł to wymyślił i w imię czego...

Porządki

rozieblox

Od jakiegoś czasu noszę się - niezbyt intensywnie, ale jednak - z zamiarem zmiany dostawcy internetu u rodziców, czyli rezygnacji ze starego, wolnego łącza ADSL, ale taniego w wartościach bezwzględnych, będącego zaszłością na rzecz czegoś nowego, szybszego i przede wszystkim tańszego. Bo 1 Mbps ssie coraz bardziej. Klasyczne radiówki-osiedlówki odpadały zawsze w przedbiegach. Prędkość OK, ale za dobrze znam realia, więc wiem, że ze stabilnością może być... różnie, a na prędkości aż tak mi nie zależy. Do tego dochodzi jednak konieczność montażu anteny i to, plus brak istotnych różnic w cenie przeważa szalę. Żeby był sens cokolwiek zmieniać, to cena musiałaby spaść do jakichś 25 zł/m-c.

Potem pojawił się internet od operatorów GSM. Początkowo drogi, ale ceny już spadły, transfery i opóźniania są niższe, niż na obecnym rozwiązaniu. Jedynym problemem, który pozostał, są pakiety ruchu. Na routerze mam odpalonych trochę własnych gratów (backupy, wykrywanie spamu na Blox itp. itd.), do tego dochodzi ruch generowany przez komputery. Z logów pppd wynika, że wysyłane dane to 50-100 MB/dobę, a pobierane to 500-1000 MB. Gdyby któryś operator dawał 30 czy 50 GB w pakiecie za grosze, to nie byłoby problemu, ale niczego takiego nie znalazłem (TBH nie szukałem jakoś intensywnie).

Zatem do tej pory głównym blokerem było ustalenie, co generuje transfer. O ile ustalenie, czy ruch powstał lokalnie, czy pochodzi z końcówek nie jest problemem (wystarczy sprawdzić liczniki na interfejsach), o tyle totalnie odbiłem się od możliwości ustalenia, które procesy generują ruch sieciowy w Linuksie. Tzn. problemu nie ma, jeśli są to działające cały czas demony, ale jeśli mamy - jak w tym przypadku - wiele skryptów uruchamianych z crona, w dodatku korzystających z zewnętrznych poleceń to jest... ciężko. Wyszło mi, że można albo zrobić wrapper, podpiąć go pod wszystkie skrypty i zliczać ruch przy wywołaniu, albo - jeśli uruchomione procesy działają dłużej - uruchamianie z crona skryptu, który sprawdzi dane dla aktualnie uruchomionych procesów w /proc. Tak czy inaczej, trochę za dużo pracy w stosunku do potencjalnego zysku, bo ostateczne i tak nie wszystkie skrypty chcę wynieść na obcą infrastrukturę.

Dziś siadłem, rzuciłem okiem w crona i odpowiedziałem sobie na zajebiście ważne pytanie: co jest tak naprawdę niezbędne? Zbieranie danych o Blox i spamie - z tego nic się nie urodzi. Backupy blogów - przeniesienie w inne miejsce jest trywialne. Więc nie będę zliczał ruchu, tylko wyłączę rzeczy, które raczej generują spory transfer, a które były kiedyś fajne i zajmujące, ale są już nieprzydatne i działają z rozpędu. Za tydzień zaś po prostu sprawdzę, ile jest wygenerowanego ruchu i jak to się ma do pakietów danych w GSM.

I tu pytanie do czytelników. Jakie rozwiązania (operatorzy, pakiety) do transmisji danych po GSM polecacie? Warunki brzegowe: cena oraz brak abonamentu (dokładniej: lojalki). Na razie na oku mam:

  • Aero2 z pakietami 30 GB za 30 zł (to na wypasie, starczyłoby i teraz, ale jak mówiłem, bez sensu zmiana cenowo) oraz 3 GB za 5 zł (brzmi bdb i jest spora szansa, że po porządkach dwa czy trzy takie wystarczą w zupełności)
  • Virgin Mobile z pakietami 3 GB za 15 zł oraz 10 GB za 25 zł (gdybym mieścił się w odpowiednio dwóch i jednym pakiecie). Niby drożej, ale jest szansa, że opędzę wszystko na kodach USSD plus dochodzi normalny numer głosowy, co może nie być głupie.

Jesienne tło na telefon

rozieblox

Wczoraj byłem na Cytadeli na spacerze z rodziną. Taka jesienna wycieczka. Nawet ładna jesień i trochę słońca. Stwierdziłem, że zrobię sobie tapetę na telefon. Coś prostego, jesiennego. Oczywiście telefonem.  Pierwotnie myślałem o drzewie na tle nieba, ale... fota/ujęcie może ładna, ale na tapetę się zdecydowanie nie nadaje - za jasne, napisy i ikony giną.

Postanowiłem zrobić coś, co zawsze wychodzi - jednolita mozaika, w tym przypadku liście. Oryginał wyglądał tak (wyświetla się pomniejszony, rozmiar jest oryginalny):

Liście jesień tapeta

Źródło: fot. własna

Tapeta całkiem przyjemna, ale... nadal za jasno i białych napisów nie widać. Ale efekt na zablokowanym ekranie był naprawdę fajny, więc postanowiłem pobawić się chwilę w Gimpie. Balans bieli plus lekka zabawa z kolorami (nie znalazłem prostego ściemnij) plus zabawa z kompresją (zupełnie nie oszczędzałem) i ostateczny efekt wygląda tak:

Jesień tapeta wersja ostateczna

Źródło: fot. własna

Daje się używać jako tapeta na telefonie, napisy widać, ale nadal mogło by być ciut ciemniejsze. Póki co zostaje w tej wersji.

Rowery miejskie cztery lata później

rozieblox

Pozmieniało się... Po pierwsze, zmieniło mi się miejsce pracy. Oczywiście można dojeżdżać tramwajem, ale ponieważ pogoda ciągle jeszcze dopisuje, trochę się trzeba ruszać, a na Kręć Kilometry można wygrać nagrody, postanowiłem wrócić do wypożyczania rowerów. Teoretycznie mogłem korzystać z domowego roweru, ale właścicielka korzysta i ma opory, więc jednak nie.

Rowery miejskie w Poznaniu

Rowery miejskie Nextbike w Poznaniu. Źródło: fot. własna.

Po drugie, wiele się w Nextbike'u zmieniło. Jak patrzę na stare wpisy, to jest lepiej. Przede wszystkim w końcu w Poznaniu jest dość sensowna ilość stacji. Oczywiście zawsze mogłoby być więcej, ale w stosunku do początkowych kilku, jest bajka - jak widać na mapie, centrum jest pokryte nieźle, obrzeża jako tako. Wpis o rowerach miejskich w Szczecinie jest praktycznie nieaktualny, bo to też już Nextbike. Doczekaliśmy się zniżek dla posiadaczy kart PEKA[1], z tego co czytałem na FB ma też być zrobiona integracja wypożyczeń z PEKA. Jedno co się nie zmieniło, to możliwość sprawdzenia stanu rowerów miejskich każdym z miast na poszczególnych stacjach w lekkiej formie.

Trochę wyluzowałem (to tak ogólnie z wiekiem chyba...) i przywykłem do długich zwrotów i tego, że coś nie działa. Tzn. często zdarza mi się, że stacja nie działa albo wystąpi inny wyjątek w systemie, ale IVR jest przyzwoity, z dodzwonieniem się na infolinię nie ma problemu, a obsługa jest miła i pomocna. Jedyne co bywa nie do przeskoczenia, to brak prądu na stacji i rowery wpięte elektrozamkiem. Raz prawie mi się zdarzyło. Prawie, bo kilka było przypiętych tylko linką. Podobno appka na Androida też jest fajna i bardzo ułatwia, ale jeszcze jej nie testowałem.

W Poznaniu przybyło ścieżek rowerowych i... nawet da się jeździć. Co prawda ścieżki momentami są mocno nieoczywiste, kręte, momentami trudno dojść czy są jedno- czy dwukierunkowe a oznaczenia są... niekoniecznie czytelne, ale da się przywyknąć. Doszedłem do tego, że warto jeździć, rozglądać się za znakami (często ścieżka znika, a pojawia się dopuszczony ruch rowerowy na chodniku) i patrzeć, co robią inni rowerzyści. Dzięki temu można poznać trochę knyfów, gdzie warto przeskoczyć na drugą stronę ulicy, zamiast stać na światłach po "właściwej" itp. Niestety, mocno to wszystko nieoczywiste i w niektórych miejscach rowerzyści jeżdżą co prawda po ścieżce, ale pod prąd. Pakując się pod auta, które się ich tam nie spodziewają, szczególnie jeśli kierowca sam jest rowerzystą i wie, jak w tym miejscu jechać.

Zauważyłem też ciekawą manierę wśród poznańskich rowerzystów - z konsekwencją godną lepszej sprawy omijają studzienki telekomunikacyjne obecne gdzieniegdzie na ścieżkach. Nie wiem o co chodzi - studzienki są równe i stabilne. Jakieś wypadki były o których nie wiem?

Skoro o samochodach i rowerach mowa, ostatnio widziałem mem mówiący, żeby rowerzyści zwalniali przy przejazdach/skrzyżowaniach, bo kierowcy samochodów ich nie widzą. I mam mieszane uczucia. Z jednej strony jakby jechać rowerem, stać na każdych światłach (to i tak trzeba...) i jeszcze zwalniać do prędkości - jak rozumiem - pieszego przy każdym przejeździe, to cała przyjemność z jazdy i sens poruszania się rowerem ginie. I ciśnie się na klawiaturę sam sobie kierowco zwalniaj, żebyś miał czas się rozejrzeć. Z drugiej strony wiem o co chodzi, bo widuję rowerzystów mijających z pełną prędkością (tak ~30 km/h i więcej) samochody z włączonym kierunkowskazem sygnalizującym zamiar przekroczenia ścieżki. OK, nie mają pierwszeństwa, ale... to skrzyżowanie i szczególna ostrożność dotyczy wszystkich uczestników ruchu. Więc fajnie, jakby i kierowcy, i rowerzyści zwalniali tam, gdzie ich drogi się krzyżują.

Jeszcze uwaga do rowerzystów: jak jest ciemno, to was nie widać i bierzcie to proszę pod uwagę. Pomijam całkiem nieoświetlonych albo tylko z odblaskami, ale nawet zwykłe oświetlenie rowerowe wypada w porównaniu ze światłami samochodów, latarniami ulicznymi i reklamami... blado.

Na koniec krótko o Kręć Kilometry - zainteresowałem się późno, bo we wrześniu, ale wygląda, że parę wyzwań uda mi się zrealizować. Appka prosta, dokładność przyzwoita, choć jak to z GPS - nie jest idealnie. W sumie i tak starałem się rejestrować aktywność typu bieganie czy jazda na rolkach (choć innymi narzędziami), a tu jest zabawa, wyzwania, dodatkowa motywacja do dziś rower, nie tramwaj i szansa na nagrody. Więc czemu nie?

[1] Mam wrażenie, że ta informacja nie jest należycie nagłośniona. Co prawda był wpis na stronie i FB, ale nie ma jej w cenniku, a wpis jest "schowany" w archiwum.

AED

rozieblox

Inspiracje do wpisu są niestety trzy. Pierwsza jest fajna - byłem na szkoleniu BHP w pracy, było tam m.in. o pierwszej pomocy. Szkolenie prowadzone przez zapaleńca i ciekawe. Trochę się w temacie pierwszej pomocy pozmieniało odkąd się ostatnio o tym uczyłem, więc miło było sobie odświeżyć. Przy okazji było o AED, czyli automatycznym defibrylatorze zewnętrznym, czyli takiej czerwonej skrzyneczce widocznej ostatnio w coraz większej ilości miejsc. O tym dalej.

Przyczyny druga i trzecia są już niefajne. Żona była dziś świadkiem zasłabnięcia, a że również jest świeżo po szkoleniu, to pomagała. Znaczy wariant minimum - telefon na 112 i wezwanie karetki, która podobno szybko przyjechała. Tylko tyle, bo poszkodowana się ocknęła. Gapie nie pomagali, a wręcz przeszkadzali w zgłoszeniu gadając bez ładu i składu w międzyczasie. Przyczyna trzecia - dziś dowiedziałem się, że żona znajomego z netu miała wypadek. Poważny. I niby człowieka znam tylko z sieci, a się przejąłem.

Postanowiłem więc opisać AED, bo im więcej osób będzie wiedziało, co to jest i jak działa, tym lepiej - ja do niedawna nie wiedziałem.

Przykładowy AED na ulicy

Przykładowy AED na ulicy Źródło: Wikipedia

tl;dr

trzy fakty o AED

  • stosowanie AED jest bardzo proste - urządzenie jest zaprojektowane do obsługi przez osobę nieprzeszkoloną: samo wydaje instrukcje, wystarczy słuchać i postępować zgodnie z nimi
  • stosowanie AED jest bardzo skuteczne - w połączeniu z RKO zwiększa szanse przeżycia do 50-75%
  • stosowanie AED jest bezpieczne - to nie tylko defibrylator, ale przede wszystkim monitoring; defibrylacja wykonywana jest tylko w razie potrzeby

użycie AED - moje streszczenie

  • wyjąć i włączyć urządzenie
  • podłączyć elektrody zgodnie z grafiką (w razie potrzeby usunąć nadmierne owłosienie u poszkodowanego)
  • słuchać co AED mówi i stosować się do poleceń

Bardziej dociekliwym polecam lekturę dokładnego opisu AED i jego użycia na Wikipedii, z tego co widzę zgodny ze szkoleniem i całkiem dobrze wyglądający. Od razu polecam opis RKO - na mój gust trochę za długi i za skomplikowany, na szkoleniu było to prościej przedstawione.

Urlop II i III

rozieblox

Uważni czytelnicy zapewne dostrzegli pewną lukę, bo był urlop I, był urlop IV, a zabrakło dwóch części pomiędzy. Otóż był to urlop, który nie był urlopem. Po prostu młodzież została sprzedana - po raz pierwszy na dłuższy czas, czyli pełen tydzień - dziadkom. Oznaczało to, że nagle - mimo chodzenia do pracy - jest dużo czasu wolnego. Udało się ogarnąć parę spraw, odpocząć. Generalnie dużo mniej krzątania, a więcej czasu dla siebie, stąd określenie urlop. Ponadrabiane zaległości filmowe, trochę wypadów na miasto.

Wszystkim trzem stronom podobało się to na tyle, że zostało za jakiś czas powtórzone, bo czemu młodzież ma się nudzić w domu w mieście, kiedy może korzystać z wakacji co prawda też w mieście, ale z działką i w ogóle.

Do wpisu musowo komentarz muzyczny, taki stary, ale oddaje klimat. Chociaż z racji braku urlopu tak dobrze to nie było. ;-) No i tym wpisem można w zasadzie zakończyć wakacje.

Urlop IV

rozieblox

Ostatni urlop w te wakacje to wypad pod namioty pełną gębą do Przemęckiego Parku Krajobrazowego. Podobno ładnie - jeziora i krajobraz polodowcowy, plus dobra infrastruktura, nie bez znaczenia była też odległość, bo zwierzaki zostały same i trzeba było wyskoczyć w połowie nakarmić... Wyjechaliśmy w długi weekend, a po przyjeździe na miejsce okazało się, że jest to jakiś koszmar. Ilość ludzi w wybranej miejscowości, łażących wszędzie, łącznie z jezdnią, budy z błyskotkami i żarciem, jakieś pojazdy czterokołowe z dzieciakami w środku a'la rower (wspomniałem, że na jezdni?)... Jednym słowem tłumy i klimat takie, jak w miejscowościach nadmorskich. A miały być namioty i cisza. Zrezygnowaliśmy z noclegu na wybranym polu namiotowym, nieopodal kąpieliska i zaczęliśmy szukać jakiejś alternatywy.

Tu po raz pierwszy dał o sobie znać słaby zasięg sieci Virgin Mobile. Nie wiem, czy po prostu taka słaba infrastruktura GSM w rejonie, czy przypadłość VM[1]. W każdym razie przez cały wypad zero lub jedna kreska zasięgu były standardem, zdarzało się tylko połączenia alarmowe, w takich warunkach internet działa bardzo słabo. Skoro przez sieć ciężko było coś znaleźć, podjęliśmy szukanie organoleptyczne. I niestety, wszędzie tłumy. Ostatecznie zdecydowaliśmy się na prywatne pole, na jedną noc i poszukanie w spokoju.

Na polu dużo ludzi, dużo przyczep i grillowanie, ale miejsce okazało się świetne - dobra infrastruktura, czyste łazienki, blisko do pięknych okoliczności przyrody. I mimo tłumów na polu spokój, więc ostatecznie cały wyjazd spędziliśmy tam. Zresztą oblężenie było tylko w długi weekend - poza nim ilości ludzi i na "naszym" polu namiotowym, i w całej okolicy raczej mizerne. Za to ostatnie dwa dni dane nam było obserwować fenomen typu wyjazd samochodami pod namioty, grille, sprzęt grający, tym sporych rozmiarów kolumna i łupanka disco polo przez cały czas przebywania przy namiocie. Daleko od nas, niespecjalnie głośno i nie do późna, natomiast sam repertuar lasujący mózg - Ona tańczy dla mnie[2] było tam całkiem znośne; z utworów, które poznałem i utrwaliłem był Dziadek[3]. Mam nadzieję, że to się spierze...

Lokalne atrakcje pozaprzyrodnicze szału nie czynią, ale jest ptactwo do dokarmiana, są wędkarze, jest dużo jezior i dostępny sprzęt pływający. W zasadzie bez dostępu do sprzętu nie widzę sensu się tam wybierać... Jeziora są połączone malowniczymi kanałami, które są na tyle szerokie i drożne, że można zaryzykować wycieczkę rowerem wodnym między jeziorami (polecam).


Kanał między jeziorami

Kanał między jeziorami. Źródło: fot. własna

Co poza tym? Niewesoła refleksja na temat stanu dostępności stron WWW na mobilkach i ciekawa dyskusja pod tym postem[4]. Polecam lekturę podlinkowanych stron. Efekt bardziej bezpośredni, to ucywilizowanie i lepsze dostosowanie do urządzeń mobilnych kolejnych stron: stanu rowerów miejskich Nextbike oraz - przede wszystkim - Planety Joggera, którą teraz powinno dać się czytać w miarę wygodnie nawet na małych ekranach.

[1] Jak teraz sprawdziłem, to wyszukiwarka BTSów wskazuje jednak na słabą infrastrukturę.

[2] Gorąco polecam wersję z lektorem. Zresztą Piosenki z Lektorem fajne są i dzień mi kiedyś zrobiły.

[3] Komentarz To jest prawdziwe czy parodie disco polo robia? dobrze oddaje moje uczucia. Niestety, to jest prawdziwe.

[4] Hmm, skoro blipnięcie na Blipie, blabnięcie na Blablerze, twitnięcie na Twitterze, to chyba na Diasporze są diaspy?

Urlop I

rozieblox

Pora na tradycyjny wpis pourlopowy, choć tym razem z lekkim poślizgiem. W tym roku urlop i krótszy - z racji przysługującego wymiaru, i później bo nie w okolicach początku czerwca, a pod koniec. Tak wyszło. Może nieco krócej, ale jakby bardziej intensywnie. Ze stałych fragmentów - nie byliśmy u żubrów. Ale na Wolin do skansenu Wikingów już się wybraliśmy.

Przede wszystkim, pod czerwca jest znacznie cieplej, niż na początku, zwłaszcza dotyczy to wody w Bałtyku. Jednego dnia zdarzyło nam się siedzieć w morzu praktycznie całe wyjście na plażę, czyli z dwie godziny. No i parawan jakby zbędny. Nie wiem czy mniej wiało, czy o tyle cieplej. W każdym razie odnotowuję różnicę.

Inna sprawa, że pogoda jakby bardziej zmienna. Praktycznie nie było dnia, żeby nie padało. Z drugiej strony praktycznie nie było też dnia, żeby nie świeciło słońce. Czyli w sumie idealnie, szczególnie, jeśli ktoś nie przepada za piękną pogodą (30 stopni i żar z nieba).

Przejechane 800 km (tylko), z czego już jadąc na urlop była przygoda, bo na S3 rozpadła się opona. Wady: duża prędkość. Zalety: jest gdzie zjechać wymienić koło, walnęło z tyłu i nie gwałtownie. No i nie padało. Nie żeby było wielkie zaskoczenie, bo czułem, że coś nie gra już wcześniej i miałem pojechać na doważanie, ale... nie było terminów, a dobrzy ludzie powiedzieli, że jak przy większej prędkości coś telepie, to pewnie źle wyważona. Otóż nie była źle wyważona, tylko pewnie odkształciło/wybrzuszyło oponę (ale od wewnętrznej, więc nie było widać). Co w ogóle IMO stawia sens przekładania opon, skoro przy zmianie wulkanizator takich rzeczy nie widzi. Drugi komplet felg nie jest drogi, a odpada jeżdżenie, czekanie i zmienianie, więc jest plan. Jest też plan alternatywny, pt. jazda na zimowych przez cały rok. Przebiegi mam niewielkie, zimówki i tak się starzeją z wiekiem... Nawet jak zjadę je w trzy lata (w co wątpię), to się opłaci.

Z większych zmian: wszystkie noclegi w namiocie. Bardziej dla zabawy, bo i tak byliśmy przy domu, a namiot w ogrodzie, ale dla dzieci frajda. No i był to test, czy są już na tyle duże, by jeździć pod namiot. Zdecydowanie tak, choć pełna infrastruktura tuż obok robi różnicę. Niemniej można myśleć o krótkich wyjazdach pod namiot i zwiedzaniu.

Wakacyjne bieganie było, choć mniej intensywne, niż planowałem. Trochę forma nie ta, trochę deszcz i komary. No właśnie, zdecydowanym odkryciem wyjazdu jest preparat na ukąszenia owadów. Kupiony głównie z myślą o dzieciach, bo się drapią, ale też używałem i... rewelacja. Rzadko robię wow, ale ten produkt bardzo mi się spodobał, więc polecam. Nie wiem czy wszystkie preparaty po ugryzieniach owadów są równie dobre, czy ten jest wyjątkowo skuteczny, ale po komarach - pełen zachwyt. Po ugryzieniu smaruje się przez kilka sekund, jakby wazeliną. Ani zapachu, ani nic na skórze nie czuć. No właśnie - nic nie czuć. Bo po chwili nie czuć też swędzenia. Działa kilkanaście godzin. Nazwę podam, jak znajdę. Vaco krem łagodzący dokładnie taki jak na zdjęciu poniżej. Nie wiem, czy inne opakowania to po prostu inne opakowania, czy produkty.

Vaco krem łagodzący
Vaco krem łagodzący. Źródło: http://selgros24.pl

Kodowanie też było, ale o tym już pisałem. Ogólnie bardzo fajnie. I chyba wolę dwa razy tydzień urlopu (czyt.: 9 dni), niż raz dwa tygodnie (czyt.: 16 dni). Chociaż może złudzenie, bo choć bardzo mi się podobało, to pewien niedosyt pozostał. Staram się nadrobić weekendami.

 

© Pomiędzy bitami
Blox.pl najciekawsze blogi w sieci