Aero2 – powiadamianie o konieczności wpisania CAPTCHA

Kolejny wyjazd na urlop i znowu dostęp do internetu sponsoruje Aero2. Oczywiście w wariancie z kompresowanym tunelem i proxy cache’ującym. Pewnie gdyby nie to rozwiązanie, to po prostu kupiłbym pakiet w Aero2, bo są naprawdę tanie, a jak testowałem przy okazji awarii netu u mojego ISP – śmiga to bardzo dobrze. Tak czy inaczej, gołe Aero2 jest nieprzyzwoicie wolne do WWW, po włączeniu ww. proxy śmiga na tyle dobrze, że stwierdziłem, że nie ma sensu kupować, tym bardziej, że nie pamiętam, czy aktywują od razu itp., a po włączeniu rozwiązania z tunelem wszystko działało. Przy czym najwięcej czasu przy włączaniu zajęło odszukanie wpisu z opisem.

W związku z użyciem ww. proxy WWW pojawia się jeden problem: nie działa przekierowanie i podstawowa przeglądarka nie wyświetla w takiej konfiguracji pytania o captchę. Zresztą, nawet gdyby przekierowanie działało, to mało ono pomaga przy czynnym korzystaniu z internetu, tj. nie przy biernym przeglądaniu, ale np. podczas pisania komentarza na jakiegoś bloga. Co prawda dzięki dodatkowi Lazarus do przeglądarki (polecam!) treść komentarza nie zginie nawet jeśli funkcja cofnij w przeglądarce nie działa i nastąpi przekierowanie, ale postanowiłem sobie sprawę ułatwić, przez napisanie prostego skryptu w Perlu, który sprawdzi dostępność zdefiniowanych hostów, a przy braku dostępności zadanej ilości wyświetli wyskakujące powiadomienie (xmessage). Przy czym sprawdza dość często (co 15 sekund), a jak brak łączności, to przerwa jest dłuższa.

Wyszło trochę ciekawiej, niż się spodziewałem. Wiadomo, że mocną stroną Perla są moduły, więc postanowiłem oprzeć się na dedykowanym module. Po pierwsze, okazało się, że Net::Ping domyślnie korzysta z TCP, nie ICMP, którego planowałem użyć, ale wydało się nawet lepsze. Niestety tylko do czasu, gdy okazało się, że przy podaniu hostów w formie domen i sprawdzaniu portu 80, za sprawą mechanizmu przekierowania Aero2 strona nadal jest dostępna. Tyle, że jest to strona mówiąca o konieczności wpisania captcha.

Rozwiązania są trzy. Pierwsze, to sprawdzanie zawartości strony, tj. czy nie pojawił się tekst mówiący o konieczności wpisania kodu captcha. Po pierwsze komplikuje to budowę skryptu, po drugie, zmniejsza jego uniwersalność (będzie działał tylko dla Aero2), po trzecie, możliwe, że przestanie działać przy jakiejś zmianie komunikatu. Drugie rozwiązanie, to podanie IP zamiast nazw domenowych. Przy takim rozwiązaniu przekierowanie dokonywane przez Aero2 nie będzie miało wpływu. Mniej czytelne i… zwyczajnie nie wpadłem w pierwszej chwili.

Zamiast tego postanowiłem skorzystać z wersji najoczywistszej i pierwotnie zamierzonej: wykorzystać jednak ICMP do sprawdzania osiągalności hostów. I tu największa niespodzianka: Net::Ping (ogólnie Perl) do wykorzystania ICMP wymaga uprawnień roota. Zdziwiłem się, ale po prostu tak jest i nie jest to feature Perla, a systemu – zwykli użytkownicy nie mają dostępu do tworzenia socketów. Z tego co znalazłem w sieci, polecane/najprostsze rozwiązanie na obejście tego to… wykorzystanie systemowego polecenia ping, do którego zwykle użytkownicy mają dostęp (SUID). Tak też uczyniłem.

Efekty można zobaczyć na mojej ulubionej sieci społecznościowej (hrhrhr), czyli w repo aero2-watch na GitHubie. Grupa potencjalnych użytkowników bardzo wąska (Linux + Aero2), ale może się komuś przyda…

Gdyby ktoś się zastanawiał, czemu klepię skrypty/siedzę na necie na urlopie to: lubię i zawsze to robię, poza tym, do porannej kawy jak znalazł; robię też inne, typowo urlopowe rzeczy; napisanie ~50 linii w Perlu trwa znacznie krócej, niż napisanie tego wpisu.

Ile warte jest świadectwo szkolne?

Zapewne w związku z końcem roku szkolnego w radiu pojawiły się nachalne reklamy Mediaekspert, dotyczące rabatów udzielanych za oceny na świadectwie szkolnym. Jak się można dowiedzieć z reklamy, konkretnie za piątkę dają 5 zł, za szóstkę 6 zł.

Pierwsze, co mnie zasmuciło, to niedowartościowanie szóstek. Za moich czasów o szóstkę było dużo trudniej, niż o piątkę, więc już na wstępie jest lekki niesmak, że tylko złotówka różnicy. Skoro liczyć proporcjonalnie, to może 1 zł za niedostateczny? OK, szału nie ma, ale na świadectwie może być nawet kilkanaście ocen, a płacą było nie było obcy ludzie, więc postanowiłem się przyjrzeć bliżej sprawie, bo pewnie są jakieś warunki dodatkowe.

Na stronie sieci Mediaexpert znalazłem regulamin zeszłorocznej promocji – wyszukiwarka płata figle i zdecydowanie łatwiej znaleźć było dane dotyczące zeszłorocznej promocji. Przeczytałem i pierwszym moim skojarzeniem były wpisy Pacyfki z serii don’t be fool, quit the school. Co prawda tam bardziej o studiach, ale niestety ma zastosowanie.

Po pierwsze, żeby skorzystać z promocji, trzeba wydać minimum 300 zł. Uczący się matematyki szybko policzą, że świadectwo z dziesięcioma pozycjami, same szóstki to… 60 zł, czyli szalone 20% rabatu. Oczywiście, gdyby zakup był droższy, to procentowo będzie jeszcze mniej. Liczyłem bardziej na 100 zł.

Po drugie, wszystkie świadectwa są równe, ale są i równiejsze. Świadectwo opisowe to 20 zł, jeśli jest promocja do następnej klasy. Z jednej strony łatwiej uzyskać rabat, z drugiej, w przypadku dobrych ocen, wypada ono dużo gorzej. Teoretycznie szkoły zapewniają tradycyjne świadectwa, z ocenami, ale… trzeba się o nie postarać i wypisanie ich zajmuje trochę czasu.

I teraz zaczyna się najciekawsze. Pomocja trwa… całe dwa dni. Chyba po to, żeby ktoś przypadkiem nie zdążył skorzystać. Czy może w lipcu będą wakacyjne przeceny?

W tym roku akcja chyba (jakoś nazwa sklepu mi umknęła w reklamie) dotyczyła Media Markt. Znalazłem w sieci informacje o promocji (regulamin w pdf niedostępny, choć promocja jeszcze trwa, ciekawe…). Jak widać jest lepiej, niż w zeszłym roku w Mediaexpert, choć nadal niewesoło.

Klasy I-III jak widać w tym roku traktowane równo – 20 zł rabatu. Bawi za to podejście do oceny procentowej. Odpowiednikiem szóstki jest ponad 85%. Kiedyś przysługiwała ona za „ponad program”. Odpowiednik piątki to 66% i więcej. I tu już nic nie rozumiem, bo IIRC zdarzało mi się pisać testy (choć raczej na studiach), gdzie okolice 60% były wymagane na zaliczenie (i słusznie).

Poza tym, promocja trwa teraz pięć dni, a rabat przysługuje przy zakupach za 200 zł (ale nie jest wyższy, niż 100 zł). OK, zdecydowanie bardziej ludzko w tym roku.

Tak czy inaczej, uważam reklamę i pseudopromocję za szkodliwą. I celowana w dzieciaki, i deprecjonuje wartość nauki w ogóle, a ocen celujących w szczególe. Ja rozumiem, że to taki chłyt marketingowy, żeby przyciągnąć ludzi do sklepów, ale może nie mieszajcie w to dzieci i szkoły.

Nie żeby moim dzieciom zależało. I jest to co najwyżej dobry przyczynek do tego, żeby pokazać, jak reklama i promocje są tylko po to, żeby mamić.

Brexit. Histeria. Histereza.

No i stało się to, czego „nikt nie przewidział”. Zjednoczone Królestwo[1] wychodzi z Unii Europejskiej po referendum i stosunku głosów 52% za wyjściem, 48% za pozostaniem.

Wielu jest w szoku (głównie media), ja nie tak bardzo. UK było w UE, ale… jednak tak nie do końca. Wielka Brytania ani nie przystąpiła do strefy euro, ani nie ratyfikowała Traktatu z Schengen[2], co w przypadku tak dużego członka jest co najmniej dziwne. Trochę bolały ostatnio nierozwiązane problemy wewnątrz UE, więc można było się spodziewać takiego wyniku, chociaż początkowa reakcja na rynkach walutowych była dość histeryczna.

Przypuszczam, że w praktyce wielkich zmian nie będzie. Przypuszczam, że ekonomicznie wiele się nie zmieni (chyba, że mamy na horyzoncie naprawdę większą zawieruchę, ale to pomińmy…), a nawet – paradoksalnie – wyjście UK z UE może doprowadzić nie do rozpadu UE, który wieszczą niektórzy, a do scementowania i wzmocnienia Unii. Zresztą, po początkowej histerii na rynkach walutowych szybko przyszło opanowanie.

I na koniec zastanawia mnie jedna rzecz: jak to możliwe, że w tego typu głosowaniach nie ma histerezy? W tej chwili o kształcie długofalowej polityki decydują pojedyncze punkty procentowe głosujących. Jest wielce prawdopodobne, że gdyby referendum przeprowadzić parę miesięcy wcześniej albo później, wynik byłby odwrotny. Po prostu przy małych różnicach istnieje ryzyko oscylacji. Znacznie lepiej by było, gdyby przy tego typu referendach wymagać nie zwykłej większości głosów, ale np. 55% za przyjęciem, a następnie do zmiany 55% za odrzuceniem. Na pewno sprzyjało by to stabilizacji polityki długofalowej.

Niestety, pojawia się problem sformułowania pytania (czy jesteś za pozostaniem w UE vs czy jesteś za opuszczeniem UE), istotny zwłaszcza przy pierwszym referendum. Nie bardzo mam pomysł jak to rozwiązać. Być może jakimś rozwiązaniem byłby wymóg większości dla zmiany, ale jak to od strony prawnej ugryźć, to pojęcia nie mam.

UPDATE Jeszcze dwie kwestie, które pojawiły się po referendum. Pierwsza ojej, oni teraz googlają za czym naprawdę głosowali. No jakby mnie to nie dziwi, bo tak jest w większości przypadków w każdych demokratycznych wyborach. Ludzie zaskakująco często głosują niemerytorycznie, bez zrozumienia, na zasadzie kandydat ładnie wygląda na plakacie albo w radyjku mówili, żeby tak głosować. Nie żebym sam jakoś dogłębnie grokował politykę i zdarza mi się głosować „na partię”, no ale główne założenia programu/poglądy partii znam.

Kwestia druga, to młodzi głosowali za pozostaniem w UE, starzy taki zgotowali im los. Dane, na których opiera się ta teza poniżej.

Brexit przedziały wiekowe.

No i znowu, po pierwsze, to sondaż, po drugie praktycznie nikt z pierwszych dwóch przedziałów nie decydował o przystąpieniu UK do UE z tego prostego względu, że za młody był. I jakby wypada oddać im prawo do nie do takiej unii przystępowaliśmy. I dania temu wyrazu.

[1] Jak to ładnie kumpel dziś na FB ujął teraz to ani zjednoczone, ani królestwo.

[2] Na dodatek używają dziwnych miar i mają kierownicę po złej stronie. Ale nie bądźmy złośliwi…

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.

Jak zenbox.pl z domen klientów korzystał

Niedawno na blogu sprawnymarketing.pl pojawił się wpis o tym, jak rzekomo Zenbox stosował black hat SEO. Sprawa okazała się znacznie głębsza, szersza i ciekawa, niż na pierwszy rzut oka wyglądał. W różnych wymiarach, od technicznych, po prawne.

Przede wszystkim, niezaprzeczalnym faktem jest, że niektóre strony (raczej: większość) hostowane na zenbox.pl, pokazywały co innego przy wejściu przez HTTP, a co innego przez HTTPS. Jak pokazują zamieszczone w ww. wpisie zrzuty ekranu, narzędzia do badania SEO zauważały te linki. Raczej słusznie, bo wbrew temu, co twierdzi zenbox.pl, strony te nie zostały zignorowane przez Google, lecz normalnie zaindeksowane, co pokazuje poniższy zrzut ekranu:

Zenbox.pl SEO HTTPS

Szybko okazało się, że zenbox.pl nie jest jedynym hostingiem, który działa w ten sposób, a winny jest prawdopodobnie panel DirectAdmin, którego domyślna konfiguracja powoduje pokazywanie „zaślepki” przy braku podpiętego certyfikatu SSL. Potem było już tylko weselej, bo w dyskusji na Wykopie niektórzy sugerowali, że w zaślepkach powinien być w linkach atrybut nofollow. Uważam, że akurat brak nofollow świadczy w tym przypadku na korzyść zenbox.pl i braku celowego działania – gdyby ktoś zawracał sobie głowę atrybutami czy anchor text (a są i tacy), to znaczy, że pomyślał o pozycjonowaniu.

Jeszcze bardziej dziwi mnie skupienie się na SEO i ominięcie sedna sprawy: nie chodzi o – celowe lub nie – wprowadzenie w błąd Google. Przede wszystkim mamy do czynienia z podmianą treści na stronie zamieszczonej w określonej domenie. Wątpię, by właściciele domen mieli wiedzę, że taka podmiana miała miejsce. Jeszcze bardziej wątpię w ich zgodę na takie działanie.

HTTPS zamiast HTTP niewiele tu zmienia – oczywiście jest możliwość serwowania różnych treści w zależności od protokołu, podobnie jak strona z przedrostkiem www (de facto subdomena) z technicznego punktu widzenia może kierować zupełnie gdzie indziej, niż domena bez takiego przedrostka, ale przyjęte jest, że kierują w to samo miejsca. W przypadku HTTPS jest to IMO wręcz oczywiste.

Pamiętajmy też, że strony WWW, zwłaszcza popularniejsze blogi, potrafią po prostu sprzedawać miejsce na reklamę na stronie. Wydaje mi się, że w przypadku takich blogów wykazanie szkody w sądzie byłoby trywialne. Dlatego podejście zenbox.pl do sprawy mnie dziwi. Jak widać w komentarzach na blogu, mamy kolejno:

  1. straszenie „na takie działania godzić się nie można i zrobimy wszystko aby takie akcje miały konsekwencje”
  2. negacja, najpierw problemu w ogóle (screenshot w ww. wpisie), potem wpływu „działania nie mają wpływu na pozycję stron klientów ani wpływu na pozycję witryny zenbox.pl”
  3. przyznanie istnienia problemu „wspomnianego problemu nie doświadczyli” i w końcu podjęcie działań (zmiana konfiguracji, mailingi)

Wydaje mi się, że znacznie bardziej na miejscu byłaby analiza sytuacji, podziękowanie za zwrócenie uwagi, naprawienie problemu (poprawa konfiguracji) i przeproszenie klientów.

Cała sprawa ma jeszcze jeden ciekawy aspekt. Wydaje mi się, że największy błąd popełniło… Google, które podmienioną treść na stronie jak widać łyka jak pelikan. Mimo ewidentnych błędów HTTPS (certyfikat nie pasuje do domeny), które m.in. przed taką podmianą miały chronić. W czasach, gdy każda domena może mieć rozpoznawany przez przeglądarki certyfikat SSL za darmo (oczywiście chodzi o projekt Let’s Encrypt) strony za niepasującymi, wygasłymi i self signed certyfikatami powinny po prostu być ignorowane.

Prawidłowa konfiguracja to IMHO ta sama treść dostępna po HTTP i HTTPS. Czy to za sprawą odpowiedniego przekierowania (to sensownie uda się tylko z HTTP na HTTPS…), czy też – zwł. na shared hostingu – pod certyfikatem hostingodawcy, jeśli domena nie ma własnego.

5 V

Tak sobie myślę, że 5 volt czy też bardziej po polsku 5 woltów to byłaby dobra nazwa kategorii, albo i nawet bloga, gdyby ktoś chciał pisać więcej o drobiazgach zasilanych albo zasilających tym napięciem, czyli ogólnie gadżetach. Łapią się telefony, smartfony, różne SoC z ARM, ładowarki, powerbanki, osprzęt do komputera typu mysz, klawiatura czy słuchawki… Nie zauważyłem tego wcześniej, ale od dość dawna coraz więcej urządzeń zasilanych jest właśnie tym napięciem, choć niekoniecznie przy użyciu gniazd USB, i stało się ono w jakiś sposób znakiem naszych czasów.

Ostatnio poczyniłem, głównie w Chinach, parę zakupów spod znaku 5V właśnie. Po pierwsze, kupiłem miernik prądu na USB. Pokazuje napięcie i natężenie w zakresie odpowiednio 3,5-7 V oraz 0-3 A. Głównie z myślą o mierzeniu, ile prądu pobierają różne urządzenia peryferyjne podłączane do komputera, bo powertop wydawał się pokazywać wartości co najmniej dziwne (mysz w pracy 1W IIRC). Potem dowiedziałem się, że są rozwiązania ciekawsze, choćby z pomiarem pojemności, którego mi trochę brakuje (o tym później), ale to urządzenie robi robotę, a w sumie informacja o napięciu i natężeniu wnosi najwięcej.

Miernik prądu USB

Źródło: aukcja sprzedawcy na aliexpress.com

Szybko okazało się, że drugie (wg producenta pierwsze, bo miernik ma napis charger doctor, co dopiero teraz zauważyłem), co najmniej równie interesujące zastosowanie, to diagnostyka ładowarek. Mam taką jedną, tandeta wysokiej klasy, nie wiem jak do nas trafiła do domu. Szybko przestała działać, coś grzechotało w środku. Okazało się, że urwał się drucik od 230V idący do płytki. Przylutowałem. Nie wiem, czy drucik nie robi czasem za bezpiecznik, bo przewodnik w nim ma grubość włosa i ogólnie zastanawiam się, kto ten badziew do obrotu dopuścił… Wspomniana ładowarka ma jeszcze jedną „ciekawą” cechę – ładowane smartfony wariują. Testowane na dwóch różnych. Zachowują się, jakby ktoś naparzał w zablokowany ekran. Jeden cały czas, drugi tylko przy próbie korzystania z ekranu. Podłączenie miernika ujawniło podejrzanie niskie napięcie podczas ładowania, które prawdopodobnie jest przyczyną. No chyba, że jest kolejnym objawem „jakości”, a przyczyna to np. szybkie skoki napięcia… 😉

Skoro o ładowarkach mowa, w Biedronce są/były zestawy za 9,99 zł składające się z ładowarki sieciowej i samochodowej. Sieciowa niby 750mA, ale Banana Pi z kartą WiFi działa. Samochodowa też jest świetna, w porównaniu z jakąś chińską, którą miałem wcześniej. Wcześniejsza ładowała, ale bilans energii przy włączonym Yanosiku i niewygaszonym ekranie był ujemny (patrz wpis i komentarze). Na tej z Biedronki jest zdecydowanie dodatni, czyli ładowarka faktycznie ładuje.

Kolejny chiński zakup to powerbank. 5000 mAh, z ogniwem słonecznym (200 mA, więc raczej gadżet, ale od biedy…). Nawet wydaje się działać, trochę nie mam pomysłu jak sprawdzić rzeczywistą pojemność. Na razie ładuję telefon, który ma baterię 1160 mAh. W godzinę naładował od 25% do 86%, więc nieźle. Zobaczę, ile razy naładuje telefon. Wynik będzie trochę zafałszowany, bo powerbank leży na biurku i twierdzi, że się ładuje od słońca, mimo braku bezpośredniego nasłonecznienia. Lepszego pomysłu na sprawdzenie pojemności chwilowo nie mam.

Po konkrety odsyłam na bloga o pomiarach energii, gdzie wkrótce pojawi się kategoria 5V i dokładniejsze dane dla poszczególnych urządzeń.