Majówka

Dziwna to majówka i dziwny urlop. Jedno i drugie poszatkowane i pracowite. Pierwszą i najważniejszą rzeczą do załatwienia była – jak zwykle spóźniona – zmiana opon na letnie. Spojrzałem na felgi od zimówek i stwierdziłem, że warto je odświeżyć, bo trochę ruda zaczyna wychodzić. A skoro zakładam letnie, to najpierw letnie. Poszedłem na łatwiznę – spray czarny matowy, wyklejenie boku opony taśmą malarską, przetarcie drucianą szczotką i papierem ściernym. Jest powiedzenie, że gdy masz młotek, wszystko wygląda jak gwóźdź. Zmieniłbym na gdy masz spray, wszystko wygląda jak wymagające malowania. Faktem jest, że sprayem maluje się bardzo fajnie – łatwo i szybko. Niestety, przygotowanie felg zajmuje dłuższą chwilę. I oczywiście na jedną stronę z kół letnich zabrakło mi spray, a jak pojechałem dokupić w niedzielę, to okazało się, że sklep już zamknięty, więc w sumie zeszło znacznie dłużej, niż planowałem, więc odświeżone zostały tylko letnie. Zimówki i zapas muszą dłuższą chwilę poczekać.

Potem musiałem wrócić – tym razem pociągiem – do Poznania. Jedna sprawa do załatwienia, ale głównym powodem było złożenie PITa. Również tradycyjnie w ostatni dzień. Powody składania na papierze są różne – coś mi świta, że pod Linuksem nie szło to łatwo, trzeba mieć jakieś dodatkowe dane z poprzednich lat, a jakieś dziwne dodatki ostatnio jeszcze musiałem rozliczać. Głównie jednak chodzi o to, że papierowe mam przećwiczone, a nie chce mi się kombinować w ostatni dzień z nowym sposobem.

Oczywiście mogłem wysłać PIT pocztą, ale była jeszcze sprawa na miejscu, a stwierdziłem, że w pociągu sobie poczytam. Faktyczni, nadrobiłem lekturę i mam nadzieję, że wciągnę się z powrotem do czytania książek bo – wstyd się przyznać – to pierwsza przeczytana „moja” książka w tym roku. Nieco zasługa tego, że łapię się za cegły, niektóre nie podpasowują, a nie lubię brać się za kolejną książkę mając nieprzeczytaną inną.

Załatwiwszy temat opon, stwierdziłem, że zrobię lepszą składankę z muzą do auta. Do tej pory używałem uszkodzonej karty pochodzącej z Raspberry Pi (całkiem dobrze sobie radziła, ale w sumie nic dziwnego, to tylko odczyt, a uszkodzony jest IIRC konkretny fragment). Niestety, okazało się, że nowe utwory nie wejdą. Nie wiem czy to zaleta mtp[1], czy łapały się w uszkodzony obszar. Może kiedyś pobawię się w diagnostykę (ciekawe czy radio poradzi sobie z dwiema partycjami?), teraz po prostu pojechałem do sklepu i kupiłem nową. Oraz żarówkę do świateł pozycyjnych, w końcu. TBH wymieniłbym już dawno oryginalne W5W na stosowne LEDy, ale podobnoż się czepiają na przeglądach. Nie wiem czemu, w końcu i tak to praktycznie nie świeci, więc wolałbym, żeby przynajmniej prądu nie brało, przy zbliżonej jasności.

Tak naprawdę kupiłem dwie karty. Druga wylądowała w Raspberry Pi robiącym za router GSM. Tu słowo o stabilności Linuksa i rozwiązań chałupniczych (rpi + modem USB + hub USB), bo miałem niedawno okazję na ten temat rozmawiać. Albo raczej jeden uptime:

08:32:00 up 287 days, 18:42, 1 user, load average: 0.06, 0.08, 0.08

Głównym zasłużonym jest tu… prąd, bo router działa bez UPSa…

Kartę wymieniłem, bo chciałem zrobić upgrade Raspbiana – lada moment Debian Jessie przestanie być wspierany, a używany Raspbian właśnie na nim bazował. Poszedłem na łatwiznę i po prostu wrzuciłem najnowszy image,  bazujący na Stretch, dograłem brakujące pakiety i wrzuciłem kluczowe pliki z konfiguracją. Jestem nieco zaniepokojony, że taka rzeźba na szybko zaczyna mi wychodzić. Chyba muszę to na Githuba wrzucić. I może jakieś ansible do kompletu? W sumie rozjechała się tylko jedna rzecz – wyciąganie IP z interfejsu w jednym skrypcie. I tylko dlatego, że ifconfig zmienił format, więc automatyzacja i tak nic by tu nie pomogła…

Poza tym, sporo działki. Trochę pomogłem rodzicom na działce, trochę odpocząłem. Generalnie raczej pracowicie, choć i tak wielu rzeczy nie udało się zrobić, jak np. porządków z przekierowaniem ruchu ze starego bloga. Ale to może jeszcze w weekend ogarnę.

[1] Korzystałem z telefonu, bo okazało się, że nie bardzo mam czytnik kart micro SD – muszę kupić jakiś tani badziew i niech leży na takie okazje, bo wyciąganie modemu USB to nie jest to, co tygrysy lubią najbardziej.

Internet bez kabla

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. Słabo się to 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. Tak czy inaczej internet bez kabla działa.

Przerwa majowa

Uważni czytelnicy dostrzegli, że w zeszłym tygodniu nie pojawił się żaden wpis. Regulamin DSP2017 dopuszcza przerwy w prowadzeniu projektów i… zeszły tydzień należy potraktować jako przerwę. Zresztą ponad tydzień, bo w zasadzie majówka cała nieprojektowa, z małym wyjątkiem, o którym zaraz. W każdym razie z konkursu się nie wycofałem i mam nadzieję, że tygodni roboczych będzie wystarczająco dużo. Nie liczyłem ile jest dokładnie, a zarejestrowałem się z opóźnieniem. Tak czy inaczej, nie chodzi o to by złowić króliczka…

Przerwy są dobre, czy to w pracy jako urlop, czy przy projekcie. Można spojrzeć z boku, wyskoczyć z utartych torów i nabrać energii. W każdym razie zeszły tydzień był mocno pracowity, a wypełnianie PITów, to nie jest coś, co warto odkładać na ostatnią chwilę, powiadam wam. Zresztą warto wcześniej sprawdzić, czy ma się komplet papierów, jak się okazuje. W każdym razie zdobyłem kolejny skill w zakresie obsługi podatków. Ale ostatecznie wszystko w miarę wyprostowane.

Potem był czas dobrych imprez i intensywnego chodzenia po sklepach celem urządzenia oświetlenia – powiedzmy, że 20% zrobione. A w międzyczasie doglądanie zewnętrznych rzeczy – a to serwer się zaczął restartować bez przyczyny (odpowiedź ISP rozwaliła, ale restarty ustały, hm…), a to ktoś zepsuł format danych, z których korzystam… Chwilę trwało, zanim przyswoili, że błąd zgłasza osoba z zewnątrz, a nie pracownik. Fun, fun, fun. Tylko czasu szkoda.

Udało mi się zrobić dwie związane z projektem rzeczy: przetestować uruchomienie programu na czystym systemie z ARM (działa, czemu miałby nie działać?) oraz wstawić Raspberry Pi zamiast Banana Pi jako router, czyli odzyskać właściwą sondę. Co prawda to ostatnie nie udało się w 100%, bo robiłem na szybko, trochę czasu zeszło na ustalenie, że NAT lepiej działa, jak się włączy forwarding, a po wszystkim okazało się, że logowanie przy pomocy autossh coś nie działa, ale powiedzmy, że wariant minimum jest zrobiony. Z powodu małej ilości czasu nie zaryzykowałem też wpięcia drugiego modemu.

Przerwa i programowanie w pracy skłoniło ku refleksji, że może jednak lepiej będzie docelowo przepisać to obiektowo. Głównie chodzi o łatwość wykorzystania kodu w innych projektach – dokładnie to przerabiam w pracy. W cele projektu oficjalnie tego nie wpisuję póki co, ale jeśli tylko starczy czasu, to będzie próba refaktoringu kodu.