Poznański Budżet Obywatelski i CAPTCHA

Jak co roku można było głosować na Poznański Budżet Obywatelski. Wszedłem na stronę, zobaczyłem CAPTCHA i… zaniemówiłem. Implementacja, którą zobaczyłem była prostsza do połamania (czyt.: rozwiązania automatem) niż opisywana kiedyś CAPTCHA Agory. Polegała na podaniu wyniku dodawania dwóch liczb, podanych słownie, z zakresu 1-10. Dla ułatwienia tekst był podawany jawnie, jako tekst w HTML.

Jak już podniosłem szczękę z podłogi i przetarłem oczy, to dziesięć minut później miałem skrypt, który bezbłędnie podawał wynik. Zgłosiłem podatność, wraz z sugestią, żeby skorzystać z gotowców, a nie własnej, wadliwej implementacji CAPTCHA i szybko otrzymałem odpowiedź, którą można streścić… it’s not a bug, it’s a feature:

Obecnie funkcjonujący mechanizm CAPTCHY został wprowadzony nie tylko w oparciu o bezpieczeństwo, ale również przystępność użytkowania, co w przypadku tak różnorodnej grupy osób jak grupa głosujących w Poznańskim Budżecie Obywatelskim, jest szczególnie ważne.

[…]

Zaproponowane przez Pana rozwiązanie – skorzystanie z usług zewnętrznych takich jak Google – jest niemożliwe do wprowadzenia, ponieważ musimy opierać się na własnych, niezależnych od firm zewnętrznych rozwiązaniach, co zapewnia nam pełną możliwość ingerowania w przypadku wystąpienia ewentualnych błędów czy problemów z usługą.

Wyciąłem opis dodatkowych mechanizmów weryfikacji osób głosujących, które na szczęście są obecne, ale, biorąc pod uwagę stawkę, o którą toczy się gra (nawet 2 mln za projekt ogólnomiejski), liczę, że w przyszłym roku zabezpieczenia będą lepsze. Rozważyłbym wręcz wykorzystanie Profilu Zaufanego, tak po prostu. W tym roku wygenerowanie dodatkowych głosów było dość proste, choć sam automat do łamania CAPTCHA nie wystarczyłby.

Tak w ogóle nie zagłosowałem w tym roku – pamiętałem, żeby czekać do końca października i… przypomniałem sobie o głosowaniu 31.10. Skończyło się dzień wcześniej. Mówi się trudno.

UPDATE Niewielka aktualizacja w celu doprecyzowania w czym rzecz wynikająca z rozmowy. CAPTCHA, której rozwiązanie jest możliwe automatycznie to… nie CAPTCHA. Spokojnie można ją pominąć. Gdyby ktoś miał złe intencje i dostęp do bazy danych z danymi paru tysięcy mieszkańców Poznania, to stosunkowo łatwo, automatycznie mógłby w tym roku zmienić wyniki głosowania. Przy czym problem jest głębszy i CAPTCHA, nawet działająca, nie ratuje tu sytuacji – skala kilku tysięcy głosów jest do obsłużenia ręcznie, nawet przez pojedynczą osobę.

Profil Zaufany jest podobno mało popularny, nie mam zatem pomysłu jak sensownie zabezpieczyć tego typu głosowanie przez internet.

Wybór najlepszego interfejsu

Dodana kolejna funkcja, zwracająca trasy i odpowiednie dla nich najlepsze interfejsy. Napisane na szybko rano, przetestowane i poprawione przed chwilą, bo nie wiem jakim cudem napisałem rano taki bezsens. Plan był znacznie bardziej ambitny, dzień zapowiadał się pięknie i nawet zaryzykowaliśmy bonusowy wypad do centrum handlowego Posnania celem nabycia oświetlania, ale…

Zanim przejdziemy do ale dygresja nt. owego centrum. Nie wiem co jest zrobione źle. Albo nie jest skończone i nie działają wentylatory, albo jakaś awaria czujników, albo… broken by design. W każdym razie efekt jest taki, że na dość luźnym parkingu, przy braku jeżdżących aut jest duszno i mocno śmierdzi spalinami. Pierwszą rzeczą po wyjeździe było gruntowne przewietrzenie auta, nie chcę myśleć co będzie przy większym ruchu…

Inne wtopa – oprogramowanie do znajdowania trasy na tabletach (oj, można się zgubić, można…) działa w oszczędnej (Poznań, prawda? ;-)) wersji demo, zachęcającej klientów do zakupu licencji. Albo poczekania. Profesjonalnie. Niestety, fotki nie zrobiłem, bo napis zdążył zniknąć, a trochę mi się spieszyło, więc nie uruchamiałem drugi raz.

Wracając do ale: brak czasu, sponsoruje bieg Wings for Life World Run (ciekawa formuła, swoją drogą, może kiedyś się skuszę?). Nie wiedziałem, że się odbywa, więc nie sprawdziłem trasy i na powrocie utknąłem w korkach. Pewnie nie wkurzałoby, gdyby nie fakt, że bieg najpierw blokował główną ulicę z jednej strony centrum, a potem… inną ulicę z drugiej strony centrum. Jak doczytałem później, w międzyczasie jeszcze trzecią ulicę. Generalnie wjazd do centrum w praktyce wyłączony na ponad godzinę (stawka mocno rozciągnięta…), miasto totalnie zablokowane, bo korki się skumulowały, podobno 800 aut stało na rondzie Śródka.

Nie wiem co za umysł wytyczył tak trasę, ale jeśli chce w ten sposób zniechęcić ludzi do biegów czy też tej konkretnej imprezy, to jest na doskonałej drodze. Bo rozumiem start w centrum, przebiegnięcie przez centrum i jakieś utrudnienia w ruchu, żeby biegacze „byli widoczni”, ale totalna blokada centrum i pałętanie się biegaczy przez godzinę? Noż wyraz.

W każdym razie po godzinie stania w korku cała energia i chęć pisania czegokolwiek poszły się paść, więc tylko poprawki, ten wpis i tyle. Sondy dziś nie będzie.

PS Oświetlenie kupiłem.

Allegro Tech Talks Poznań #4 – wrażenia

W projekcie abcc panuje chwilowy zastój, spowodowany czynnikami różnymi – od osobistych (bardziej, znacznie bardziej), przez zawodowe (mniej, znacznie mniej), ale faktem jest, że spocząłem na laurach nieco i nic się od ostatniego wpisu nie zmieniło w temacie. Plan jest taki, żeby uruchomić sobie stację testową opartą o Raspbbery Pi, która będzie działać na dwóch lub trzech łączach (kabel, modem GSM i być może, jeśli RPi wyrobi prądowo, karta WiFi) i zrzucać pomiary, w celu lepszego dobrania parametrów. Ale to plany…

Tymczasem w ramach pożeraczy czasu byłem w zeszłym tygodniu na spotkaniu Allegro Tech Talks Poznań #4. Staram się bywać, jeśli akurat mam czas. Jeśli dobrze zrozumiałem, po raz pierwszy można było wysłuchać przez net na żywo, ale jakoś nie przepadam za taką formą – lepiej mi się obiera na żywo, nie mam nawyku słuchania przez net. No i zawsze można spotkać znajomych i poplotkować.

Prezentacje były dwie, obie dotyczyły Apache Solr, więc zupełnie nie moja działka, i przyznaję, że wahłem się, czy w ogóle iść, ale obie były IMO bardzo dobrze i interesująco poprowadzone, więc części merytorycznej też nie żałuję.

Pierwsza prezentacja dotyczyła uruchamiania Solra w kontenerach dockerowych, poczynając od tego jak to skonfigurować i uruchomić, przez przedstawienie wyników benchmarków pomiędzy sprzętem fizycznym (bare metal), przez pełną wirtualizację, po kontenery. Różnice były duże, przedstawione dane przekonują do kontenerów, ale… Zawsze jest jakieś ale, w tym przypadku testy były robione na ustawieniach domyślnych. Z jednej strony rozumiem, bo jakiś wspólny mianownik trzeba mieć, z drugiej produkcję konfiguruje się pod konkretny przypadek. Niemniej, różnice były na tyle istotne, że konfiguracja raczej nie będzie w stanie ich zniwelować. W sumie można było traktować tę prezentację mniej jako o Solr, bardziej jako o dockerze.

Druga prezentacja dotyczyła optymalizacji Solra w Allegro. Jak pisałem, nie moja działka, więc momentami była to trochę chińszczyzna (na zasadzie: nie wiem co to dokładnie jest), ale opowiedziane przystępnie, ciekawie i z przykładami. Mocno nieoczywiste przypadki i wyniki, efekty dobre. Stawiam, że dla osób zajmujących się Solrem perełka. Jest dostępna w wersji online.

Spotkałem też starych znajomych i poplotkowaliśmy, więc ogólnie bardzo udane wydarzenie – 10/10.

Smogly – miernik poziomu smogu

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/

Rowery miejskie cztery lata później

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.