Advent of Code

Dowiedziałem się, że jest coś takiego jak Advent of Code. Czyli kalendarz adwentowy, tylko zamiast łakoci są zadania programistyczne do rozwiązania. Dwa dziennie, liczy się i fakt rozwiązania, i czas. Rozwiązywać można w dowolnym języku, weryfikacja rozwiązania jest przez podanie wyniku.

Podobno maja być z różnych dziedzin i o różnym poziomie trudności – dziś były bardzo proste. Zrobiłem w Pythonie, potem lepszą wersję, potem jedno w Perlu, jako krótki oneliner.

Jest rywalizacja globalna, ale można też tworzyć prywatne rywalizacje i porównywać się ze znajomymi. Ja bawię się z ludźmi z pracy, choć sporo z nich utrudniło sobie wyzwanie i poznaje przy okazji nowy język. Ale ja nie jestem programistą… 😉

Trochę skojarzenie z konkursami programistycznymi, którymi bawiłem się na studiach. Żeby nie było samych zalet – mimo, że każdy uczestnik ma inne dane wejściowe, to czas rozwiązania liczy się od publikacji zadania, które ma miejsce o północy w dziwnej strefie czasowej, co pewnie faworyzuje niektóre lokalizacje geograficzne. Ale nie ma to większego znaczenia w przypadku zabawy ze znajomymi.

Polecam zerknięcie – można sobie odświeżyć umiejętności programistyczne, poćwiczyć i przede wszystkim pobawić się.

Jak wykręcić 500+?

Nie mogłem się powstrzymać przed clickbaitowym tytułem, ale tym razem nie będzie o państwowych dotacjach na dzieci, tylko podsumowanie sezonu rowerowego.

W maju zapowiadałem, że biorę udział w wyzwaniu Kręć kilometry. Właśnie sobie uświadomiłem, że dziś jest ostatni dzień września, a wyzwanie zostało zaliczone już jakiś czas temu. Znaczy mam taką nadzieję, bo pisze, że 100%, ale czy kilkuset metrów nie brakuje – nie mam pojęcia. W każdym razie za ostatni rok pokazuje mi 512 km, a było parę km przejechanych bez rejestracji, stąd plus w tytule.

Wyzwanie okazało się prostsze, niż myślałem. We wrześniu już prawie nie jeździłem – przejechane raptem 27 km. Przeważyły względy logistyczne – nie mogłem brać swojego roweru, a Nextbike to jednak nie to samo.

Nie ukrywam też, że mam problem z pogodą i była głównym czynnikiem powodującym, że jeździłem mniej, niż bym mógł. Nie lubię jeździć ani jak jest bardzo gorąco, ani jak jest zimno. Dlatego odpuszczałem dojazd rowerem w największe upały, wybierając śmierdzące wówczas tramwaje – smutne, ale niektórzy mają problem z higieną, a w upały się to potęguje. Z kolei wrzesień to już chłody. Ręce jeszcze nie kostnieją, ale w uszy zimno. Być może rozwiązaniem są nauszniki, jakoś nie sprawdziłem.

Natomiast największym sprzymierzeńcem był nawyk. Do pracy jeździ się całkiem miło i poza częścią urlopową i paroma dniami deszczowymi mógłbym jeździć niemal codziennie, co oznacza, że teoretycznie mógłbym celować nawet w dystans dwukrotnie dłuższy…

Skutek uboczny: zacząłem trochę biegać. Weekendowe bieganie dobrze się łączy z dojazdami do pracy rowerem w tygodniu. Taka powiedzmy synergia.

Kręć kilometry – plan na 2018

Sezon rowerowy rozpocząłem nadspodziewanie dobrze w tym roku. Tak mi się przynajmniej wydawało. Co prawda na rower wsiadłem dość późno, bo pod koniec kwietnia, ale pogoda sprzyja częstym dojazdom rowerem do firmy.

Kręć kilometry ma w tym roku trochę ciekawych wyzwań. Niektóre śmieszne, typu 31 km w maju, co można zrobić bez stresu w 1 dzień, przez te ciekawsze, dłuższe. Jak np. 1500 km w maju (nie ma szans, zupełnie, przynajmniej nie w moim wydaniu, gdzie większość to wycieczki z dziećmi i dojazdy do pracy), po 500 km w okresie od początku maja do końca września, co wyglądało na zupełnie realne. Dodam tylko, że te wyzwania bardzo miło motywują – jest motywacja, ale bez żadnej spiny.

500 km na rowerze to dla mnie sporo, biorąc pod uwagę dotychczasowe wyniki, ale maj był zachęcający. Postanowiłem policzyć, czy się uda. Niby mogę przejechać 40 km tygodniowo, ale nie jeżdżę zawsze gdy mogę, bo albo pogoda nie sprzyja, albo coś wypadnie. Sprawdziłem statystyki i wychodzi przejechanych 80 km, czyli jakaś połowa teoretycznego dystansu. Miesięcy jest pięć, więc powinienem robić 100 km miesięcznie, jeśli mam zaliczyć wyzwanie. Będzie ciężko, bo po drodze jeszcze urlop, a wtedy nie jeżdżę. Niemniej, będę próbował. W końcu te 20 km to jest jakaś godzinka czy dwie jazdy więcej. 🙂

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.

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.

Python

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…

AED

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

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

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

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.

 

Jeszcze o urlopie

Patrzę na poprzedni wpis i wychodzi, że narzekam, i skrypty pisałem. A przecież wcale nie. Parę hintów dla wybierających się nad morze ogólnie, a na zachodnie wybrzeże szczególnie.

Przede wszystkim, wydaje się, że na plaży jest zimno i nie ma pogody. Niezupełnie jest to prawdą. Faktycznie, zachmurzenie i zmienność pogody są większe (zwł. przelotne chmury, i oby były, bo w pełnym słońcu idzie IMVHO zwariować) i temperatura odczuwalna jest niska i nie zachęca do rozebrania się, ale tak naprawdę po prostu nad morzem wieje. Dlatego należy zdobyć (np. pożyczyć) parawan plażowy. Zwykła płachta materiału na drewnianych kołkach. Po użyciu parawanu nagle na plaży robi się ciepło i przyjemnie.

Kąpiących się nie było w tym roku wielu, ale jak najbardziej byli. Też się kąpaliśmy, nawet parę razy. Nie, żebym miał ochotę czy nawet dało się siedzieć dłużej w wodzie, ale zawsze. Zresztą pozorny chłód jest zdradliwy. Raz uznałem, że słońce nie świeci, potem, że ledwo, więc ten jeden jedyny raz się nie posmarowałem kremem z filtrem. I czytałem książkę na kocyku. Ależ oczywiście, że się przypiekłem. Na szczęście na koniec pobytu, więc tylko lekko, bo organizm przywykł już do słońca.

Bardzo mi się spodobała wioska Wikingów, czyli skansen na wyspie Wolin. Jest naprawdę fajne i ciekawe, przy tym w porównaniu do nadmorskich atrakcji – tanie. Różnica między tym tworem, a typowym muzeum/skansenem jest taka, że wszystkiego można dotknąć, przymierzyć, położyć się w łóżku itd. Oczywiście odkładamy wszystko na miejsce, ale poza tym – hulaj dusza. Z racji rozrzutu zwiedzaliśmy jako niezorganizowani i bez przewodnika, więc pewnie nie na wszystko zwróciliśmy uwagę, ale są gry i zabawy „z epoki” (łowienie drewnianych ryb, huśtawki, zarzucanie metalowych obręczy na kijki), łuk i tarcza, do której można postrzelać. Widziałem, że jakąś zorganizowaną grupą zajmował się „człowiek z epoki”, a dzieciaki wyglądały na szczęśliwe. Wygląda, że zapaleńcy robią i wychodzi bardzo fajnie. Poza tym, warto zajrzeć w kalendarium – jest trochę imprez, które zapowiadają się ciekawie. Festiwal Słowian i Wikingów widziałem (dawno temu) i był fajny. Może i w tym roku się wybiorę? Zdecydowanie polecam skansen.

W rezerwacie żubrów (poprawnie nazywa się to Zagroda Pokazowa Żubrów) jest dostępny w tym roku multimedialny przewodnik. Wygląda na urządzenie z Androidem plus aplikację, która odtwarza stosowne video, traktujące o mieszkańcach rezerwatu. Bardzo mieszane uczucia mam co do tego rozwiązania. Z jednej strony pomysł fajny, z drugiej – trochę za cicho gada, nawet na maksymalnej głośności. Dookoła zwiedzający przecież i gadają… Poza tym, czemu nie zrobili z tego ogólnodostępnej aplikacji w sklepie Google Play i linka (QRcode!), tylko dedykowany sprzęt, bramki do wykrywania, czy ktoś nie wynosi itd.? IMHO potężne marnotrawstwo środków. No i w obecnym rozwiązaniu nie można obejrzeć filmów przed wizytą w rezerwacie, by wiedzieć na co zwrócić uwagę… Nawiasem, jakby ktoś się wybierał, to polecam dojście od strony miasta, nie z dedykowanego parkingu. Zdecydowanie bliżej.

Urlop

No i urlop się kończy, więc można podsumować. Znowu nad morzem (Bałtyk). To znowu to stwierdzenie faktu, nie oznaka nudy. Doceniłem, że jeździmy na ubocze i w sumie poza sezonem. Wszystko za sprawą jednodniowego wypadu do Międzyzdrojów. Zaczęło się od żubrów, które jak co roku odwiedzamy. Mieliśmy pójść na molo, ale zaskoczył nas deszcz, więc innego dnia zrobiliśmy powtórkę.

Ilość „atrakcji” przytłacza i przygnębia. Podobnie jak ilość ludzi. Spędy wszędzie, ruszyć się nie można (zwł. jak się jest dzieckiem), a to jeszcze nie sezon. Wycieczki starców i dzieci, porykiwania wychowawców. Ja rozumiem, że nie było tego dnia idealnej pogody na plażę, ale za taki „wypoczynek” to ja dziękuję. Niemniej, molo fajne i zdecydowanie warto. Hint: masa płatnych parkingów i strefa koło plaży, ale jak ktoś ma ochotę na dziesięciominutowy spacer, to znajdzie i darmowe parkingi – wystarczy kierować się w stronę „od morza” (ot, wyszedł ze mnie Poznaniak).

Są też i lepsze – na oko – atrakcje, dzieciaki pewnie by szalały, ale po pierwsze, były już nieco padnięte, po drugie, nie przyjechaliśmy do Międzyzdrojów na dłużej, a raptem na jeden dzień, więc nie trzeba było się posiłkować atrakcjami a’la wesołe miasteczko. Poza tym, namioty czy tam pawilony handlowe. Ale jestem niemal pewny, że księgarnia z książkami „od 1 zł”, gdzie zrobiliśmy większe zakupy książkowe to był namiot handlowy, nie pawilon, po prostu. W każdym razie Międzyzdroje zaliczone, na parę lat starczy. 😉

Skoro już przy książkach jesteśmy – trochę „poczytałem”. Cudzysłów, bo nie tylko tradycyjne lektury, w końcu przekonałem się bardziej do audiobooków. I uznałem, że będę je traktował na równi z książkami (czyli będą tak samo oceniane). Miałem wątpliwości, bo i „czytam” inaczej (np. tramwaj czy pociąg), i raczej tematyka inna, i lektor potrafi wpłynąć na odbiór, ale w sumie uznałem, że nie ma co na siłę robić rozróżnienia, skoro to czytana książka. Trochę nadrobiłem czytelnictwo na urlopie.

Ciekawą obserwacją są też ceny atrakcji. Np. gofrów. W Dziwnówku IIRC 2,5 zł za gofra gołego lub z cukrem pudrem. Z bitą śmietaną – 7 zł. Międzyzdroje – standardowo goły 3,5 zł, cukier puder podnosi cenę do 4 zł. Bita śmietana to nadal 7 zł. I więcej. Wersje na wypasie – 10 zł i więcej. Trochę dużo jak za – nie ukrywajmy – bardziej odpowiednik ciastka, niż posiłku.

No, ale większość czasu siedzieliśmy w ciszy, spokoju i odosobnieniu. Pusta plaża, te klimaty. W końcu się zebrałem i zacząłem trochę biegać. Nieopodal szlak biegowy, więc jakoś skusiło AKA zmotywowało. Zresztą był taki plan, nawet buty wziąłem. Już drugiego dnia odkryłem wiązanie z tzw. heel lock, czyli do czego jest dodatkowa dziurka w bucie. Nie wiem, czy coś daje, ale nie wadzi w niczym i jest OK, więc będę używał.

Oczywiście bieganie bez GPS się nie liczy (się nabijam, oczywiście; wiem, że to choroba i się, bo zawsze biegałem po prostu dla przyjemności biegania, ale się skusiłem…), więc telefon w garść, soft do zapamiętywania trasy włączony i bieg. Z pozytywów – pobawiłem się Perlem, GPS i skryptami. Jest szansa, że powstanie coś wolnego/otwartego do wrzucania wyników na stronkę w strawnej formie.

Poza tym, znalazłem rozwiązanie jednego drobiazgu, który mnie męczył w Perlu, co oznacza, że może niedługo światło dzienne ujrzy jeszcze jeden projekcik. Trochę rozwinąłem mojego Perl Uptime Monitor – umie wygenerować bardzo podstawowy HTML. Z największych okołoperlowych rzeczy – wróciłem do tłumaczeń. Tym razem nie GNU, tylko właśnie niezły- jak mi się wydaje – serwis o Perlu. Chwilowo się nie chwalę (choć jak ktoś poszuka, to znajdzie, co robię). Mam postanowienie wrzucania więcej na GitHub.

Ogólnie – brakowało mi urlopu. Klasyczne oderwanie i podładowanie baterii. Pora wrócić do pracy.

Monitoring w pracy

Nadzór w pracy istnieje od zawsze. Jakby nie było, jest to jedna z funkcji kadry kierowniczej. Zastanawiałem się ostatnio, jak to wygląda obecnie, co się zmieniło. O tym, że coraz więcej zakładów ma zamontowane kamery powszechnie wiadomo. Zresztą rejestratory video staniały i spowszedniały na tyle, że spora część znajomych ma je zamontowane w samochodach czy na rowerach. Opinie na ich temat w miejscach pracy są różne, część pracowników jest (była?) zdecydowanie niechętna, ale IMO tak naprawdę wszystko zależy, jak są wykorzystywane i umieszczone. Pracuję w miejscu, gdzie są kamery i raz mi osobiście jako pracownikowi się przydały.

Sprawa trywialna, coś z laptopem i dyskiem było. Kumpel przyniósł czyjegoś służbowego lapka, ja wyjąłem z niego dysk, podłączyłem do kieszeni, IIRC zrobiłem diagnostykę, wkręciłem dysk z powrotem, oddaję lapka. No i przychodzi kumpel, pokazuje zdjętą zaślepkę, pusto, i pyta „a gdzie dysk?”. Szukamy. Tak całkiem pewien, że go wsadziłem z powrotem to nie byłem, bo raczej odruchowo działałem, więc sprawdzam biurko, szuflady. Jak się tak rozglądam, to jestem coraz bardziej przekonany, że włożyłem z powrotem. Kumpel upiera się, że dostał ode mnie, otworzył i było pusto. Zgrzyt.

No to wzięliśmy nagranie z rejestratora. I widać jak wyjmuję, podłączam do kieszeni, wkładam z powrotem, przykręcam. Kumpel obraca lapka tak, jak jest na kamerze i pokazuje pustą dziurę po lewej. Patrzymy w monitor, wkręcam po prawej. WTF? Patrzymy na lapka i w śmiech. Ano tak, laptop był 17″ i miał dwa sloty na dysk, ale to zupełnie nie przyszło nam do głowy.

Tak czy inaczej, nagrania z kamer są dość dokładne (no dobrze, zależy od kamery i ustawień jeszcze), ale raczej trudno je analizować automatycznie. Forma strawna dla komputera to raczej osoba, timestamp, określenie miejsca. Oczywiście da się zrobić, bo pozycjonować można choćby smartfona (i aktywnie, przy pomocy aplikacji na smartfonie, i pasywnie, z wifi), no ale nie każdy pracownik w zakładzie musi mieć smartfona, włączonego, z wifi itd.

Niedawno dostałem namiar na stronę https://www.autoid.pl/ czyli dostawcy systemów do automatycznego… praktycznie wszystkiego – identyfikacji osób, przedmiotów, pojazdów itp. i dostałem odpowiedź na moje pytanie, jak można w sposób łatwo przetwarzalny komputerowo monitorować miejsce przebywania pracownika w firmie. Technologia opiera się na RDIF, które mogą służyć nie tylko do jako karty dostępu do drzwi (de facto standard w firmach, kto nie ma karty?), ale w wersji „dalekiego zasięgu” (do 12 m)  mogą być odczytywane bez przykładania do czytnika. Wygląda na prostsze i tańsze od smartfona u pracownika, prawda?

Producent podpowiada nawet sposoby umieszczenia – zaszycie w ubraniu roboczym, oraz jako karta. No i w tym momencie można automatycznie sprawdzić… wszystko. Na przykład to, czy dany pracownik pracuje na swoim stanowisku, czy siedzi i flirtuje z sekretarką. Z których pomieszczeń korzysta. Albo jak często wychodzi do toalety.

Uczucia, podobnie jak w przypadku kamer mam mieszane. Oczywiście wyobrażam sobie nadużycia ze strony pracodawcy z wykorzystaniem tego typu technologii, ale… nie dajmy się zwariować. Równie dobrze może wykorzystywać tego typu rozwiązania do optymalizacji rozmieszczenia narzędzi/pomieszczeń… Tworzący prawo będą mieli kolejny trudny orzech do zgryzienia.

Czyli klasyczne: narzędzia nie determinują wykorzystania. Pozostało życzyć wszystkim normalnych AKA ludzkich pracodawców, którzy rozsądnie korzystają z narzędzi. I pracowników, których nie trzeba kontrolować na każdym kroku.

5 sposobów na efektywne korzystanie z emaila

Nie lubię wpisów o produktywności, ale z poczty elektronicznej korzysta wiele osób i przerażająca część robi to w sposób tragicznie nieefektywny. Przynajmniej moim zdaniem. Ponieważ email jest dla mnie od paru lat w pracy jednym z podstawowych sposobów komunikacji i narzędzi pracy, pozwolę sobie na opisanie paru prostych sposobów na efektywniejsze korzystanie z niego.

1. Korzystaj z IMAP

Jeśli zdarzyło się komuś stracić bezpowrotnie zawartość skrzynki z powodu utraty komputera czy padu jego dysku, korzystać z poczty elektronicznej w różnych miejscach czy na różnych komputerach i nie mieć dostępu do jakiegoś maila czy swojej odpowiedzi na jakiegoś maila bo został na innym komputerze to znaczy, że warto zacząć korzystać z IMAP[1].

Dodatkowa zaleta jest taka, że jeśli przesuniemy ręcznie maila do folderu (o tym zaraz), to będzie on w tym folderze wszędzie, a nie tylko na komputerze, na którym przesuwamy, ale wszędzie.

Wiem, że rada może wydać się dziwna, ale wiele osób, zwłaszcza tych, które zaczynały korzystać z poczty dawno temu, nadal korzysta z POP3. Szczególnie, że kiedyś IMAP nie był dostępny w darmowych usługach (przynajmniej większości z nich).

2. Foldery i filtry do sortowania poczty

Praktycznie każdy klient poczty umożliwia tworzenie reguł, na podstawie wielu kryteriów i wykonywanie na ich podstawie różnych czynności, takich jak usuwanie maili czy też przenoszenie ich do stosownego folderu. Zwykle ogranicza się to do kasowania spamu lub przenoszenia go do folderu spam, ale nic nie stoi na przeszkodzie, by sortować np. maile z przedszkola do folderu przedszkole, a maili z ciągiem znaków faktura czy vat do folderu faktury. Jeśli ktoś korzysta z list mailowych albo dostaje powiadomienia z automatów, to na pewno zna.

Oczywiście sortować można także ręcznie, po prostu przenosząc maile do odpowiednich folderów, posortowanych zagadnieniami. Zwykle jednak, szczególnie przy większej skali, wygodniej jest używać filtrów.

3. Sortowanie poczty na serwerze

Teraz zaprzeczę sam sobie, bo przed chwilą pisałem o filtrach w kliencie pocztowym. Rozwinięciem tego jest skorzystanie z filtrów na serwerze. Czyli takich definiowanych w panelu naszego ISP pocztowego. Mogą mieć mniejsze możliwości konfiguracji (m. in. dlatego warto mieć proste filtry, przy okazji łatwiej je zaprogramować i utrzymywać), ale sortowanie odbędzie się w momencie wejścia poczty na serwer, czyli wiadomości będą zawsze posortowane, a poza tym unikniemy problemu z synchronizacją filtrów. Kto ma dobre filtry w programie pocztowym, dużo poczty przychodzącej i musiał szukać ważnego maila przez webmail w nieposortowanych na pewno doceni. Rozwiązanie ma wadę – filtry dostępne na serwerach mogą być uboższe od tych wbudowanych w programy pocztowe, ale IMO warto się dostosować.

4. Wątkowanie

Warto korzystać z programu pocztowego, który umożliwia przełączenie się na widok z wątkami. O ile sam domyślnie sortuję pocztę chronologicznie, o tyle często przełączam się na widok z wątkowaniem, jeśli muszę znaleźć konkretnego maila w rozgałęzionym wątku. Niby cytowanie całości ma eliminować potrzebę cofania się do starszych wiadomości, ale zwyczajnie nie działa w przypadku rozgałęzień. Poza tym, w widoku z wątkami od razu widać kto, kiedy i komu odpowiadał, więc wygodniejsze i szybsze, niż grzebanie w cytatach.

5. Notatnik zawsze przy sobie

Jeśli już korzystamy z programu pocztowego i jest on zawsze otwarty, to można wykorzystać edytor maili jako… notatnik. Brak jakiegokolwiek szukania programu do zrobienia notatki, czekania na uruchomienie, problemów z wyborem miejsca, gdzie zapisać plik (wiadomo, że notatka trafi do folderu szkice/drafts; warto nadać tytuł odpowiadający treści). Formatowanie jak w edytorze mailowym jest zwykle wystarczające[2], chociaż osobiście uważam, że przy szybkich notatkach nie warto bawić się w jakiekolwiek formatowanie, co najwyżej można użyć punktowania. Co więcej, jeśli korzystamy z IMAP, to taka notatka jest niezależna od komputera, na którym ją piszemy – nie trzeba jej przesyłać, będzie od razu dostępna z różnych maszyn. Zresztą notatki i tak zwykle robię po to, żeby wysłać później maila.

PS. Kiedyś napisałem i leżało w szkicach. Może komuś się przyda.

[1] W zasadzie z IMAPS, czyli jego szyfrowanej wersji, ale po pierwsze to oczywiste, a po drugie wpis ma traktować o efektywniejszym korzystaniu z poczty email, a nie o bezpieczeństwie. Konsekwentnie odpuszczam ten temat w całym wpisie.

[2] Jeśli ktoś korzysta z HTML. Jeśli ktoś pisze – jak ja – w plain text, to temat formatowania zupełnie odpada, zresztą uważam, że formatować warto na końcu, jak mamy całą treść.