Bananino – owocowo-warzywna klawiatura MIDI

Ten tekst powstał na zamówienie Niebezpiecznik.pl. Nie został jednak tam opublikowany, a ja zostałem „zghostowany” (?!). Może to znaczy, że ten tekst jest tak zły, że nie warty dalszej uwagi, ale ja się nad nim napracowałem, więc publikuję go tutaj. Jest i dobra okazja 21 urodziny tego bloga.

To teraz coś z zupełnie innej beczki – owocowo warzywna klawiatura midi:

owocowo warzywna klawiatura midi

a działa to tak:

melodia „Flinstonowie” zagrana na bananach (kiepsko)

Pomysł

Pomysł nie jest ani oryginalny, ani nowy. Już lata temu widziałem na YouTube jak ktoś gra na jakichś owocach i bardzo mi się to wtedy spodobało. Kiedyś nawet chciałem sobie kupić takie urządzenie do zabawy, ale zobaczyłem ceny i zrezygnowałem.

Gdy zacząłem sam się bawić w konstruowanie grającej elektroniki (własny syntezator modułowy) pomysł powrócił, jako „coś, co kiedyś zrobię”. Ostateczną motywację dał mi kolega z Warsztatu Miejskiego który akurat robił zupełnie inny projekt z czujnikami dotykowymi (kupnymi). Zapadła decyzja: robię to teraz, a nie „kiedyś”.

Najpierw prototyp, żeby sprawdzić, czy to w ogóle będzie działać tak, jak sobie wyobrażam, że może działać. Oczywiście poczytałem o czujnikach pojemnościowych, ale nie chciałem używać albo kopiować jakiegoś istniejącego projektu.

pierwszy prototyp

Zasada działania

Każde dwa przewodniki oddzielone jakimś izolatorem tworzą kondensator. Większa powierzchnia przewodnika – większa pojemność kondensatora. Dwa piny wyprowadzone z płytki drukowanej to już kondensator, ale o pojemności tak małej, że w większości przypadków pomijalnej. Jednak, gdy człowiek dotknie takiego pinu, to staje się częścią obwodu, zwiększając znacznie powierzchnię przewodzącą. Pojemność istotnie rośnie.

Kondensator może się ładować albo rozładowywać. Czas ładowania i rozładowywania jest proporcjonalny do pojemności kondensatora i do oporu elektrycznego drogi którą ładunki wpływają lub wypływają. Tak więc można zmierzyć pojemność licząc czas w którym się ładuje albo rozładowuje.

W tym przypadku nie muszę dokładnie mierzyć pojemności, wystarczy, że układ rozpozna, że pojemność wejścia istotnie się zwiększyła.

Wykorzystuję tu jedno wyprowadzenie (GPIO – uniwersalne wejście/wyjście) mikrokontrolera najpierw do naładowania naszego kondensatora, a potem do zmierzenia czasu w którym się rozładuje. Wysyłam na to wyjście ‚1’, czyli napięcie 3.3 V i zaraz po tym przełączam wyprowadzenie w tryb wejścia (żeby odczytywać jego stan) o wysokiej impedancji (rezystancji – żeby samo nie rozładowywało kondensatora).

sygnał z czujników na oscyloskopie

Wyprowadzenie mikrokontrolera jest połączone rezystorem 10 MΩ do masy układu, dzięki czemu nasz kondensator rozładowuje się wystarczająco powoli, żeby można było to zmierzyć. mikrokontroler po prostu czeka aż z ‚1’ na tym wejściu zrobi się ‚0’, a czas po którym nastąpiła zmiana zależy od tego czy dotykamy wejścia, czy nie.

W praktyce wejście układu nie jest podłączone bezpośrednio do pinu mikrokontrolera, po drodze jest jeszcze rezystor i kondensator.

Kondensator izoluje wejście jednocześnie zabezpieczając mikrokontroler i zapewniając prawidłowe działanie nawet, gdy wejście zewrze się z masą. Z punktu widzenia mikrokontrolera dla naszego algorytmu ten dodatkowy kondensator jakby nie istnieje – jest połączony szeregowo z mierzoną pojemnością i ma sporo większą wartość niż mierzona, więc wypadkowa pojemność jest i tak zbliżona do tej, którą chcemy zmierzyć (szeregowe połączenia kondensatorów tak mają).

Dodatkowy rezystor zabezpiecza układ przed wyładowaniami elektrostatycznymi – ogranicza prąd który może przepłynąć przy nagłym skoku napięcia.

uproszczony schemat czujnika

Projekt

Prototyp był prosty, ale w głowie już miałem wizję całego projektu:

  • Jako serce układu płytka z mikrokontrolerem Raspberry Pi Pico. Bo tani, bo
    znam, bo lubię.
  • 16 czujników, bo to okrągła liczba i mieści się cała chromatyczna oktawa (12
    dźwięków). Jakby ograniczyć się do skali diatonicznej, to zmieszczą się dwie
    oktawy.
  • Adresowalne diody LED (WS2812B) pokazujące stan klawiszy – prościej, a przez
    to pewnie i taniej niż jakbym miał 16 LEDów sterować bezpośrednio (w samym Pi
    Pico by pinów brakło). Do tego kolorki „gratis”.
  • Tradycyjne wyjście MIDI (gniazdo DIN-5) oraz MIDI przez USB. Żeby dało się
    podłączyć i mój „pół-analogowy” syntezator modułowy, i chociażby smartfona.
  • Przycisk do kalibracji, potencjometr do ustawiania czułości.
  • No i dodatkowe wejście zasilające, bo czemu by nie?

Schemat i projekt płytki drukowanej przygotowałem w programie KiCAD.

Płytkę zaprojektowałem dość specyficznie (miejscami niekoniecznie zgodnie z przyjętymi praktykami), bo z myślą o metodzie w jakiej ją wykonam. Jednak i tak dość ambitnie – dwustronną, na drobne elementy SMD.

Wykonanie

Płytki drukowanej nie zamawiałem w Chinach (typowe rozwiązanie w dzisiejszych czasach), ani nie trawiłem (tradycyjna metoda). Użyłem mini frezarki CNC, którą mamy w Warsztatacie Miejskim w Gliwicach do wycięcia w miedzi izolacji między ścieżkami na płytce.

frezowanie płytki

Pliki Gerber z KiCAD przerobiłem na gcode (język maszyn CNC) przy pomocy pcb2gcode, potem jeszcze przerobiłem moim skryptem, żeby wygodniej się w bCNC tego używało.

Nie udało się za pierwszym razem. Szło dobrze, ale częściowo za płytko, żeby przeciąć warstwę miedzi – to dlatego, że płytka nie była idealnie równa. Gdy próbowałem to poprawić, to tylko pogorszyłem sprawę i zniszczyłem płytkę oraz złamałem frez.

Za drugim razem wykorzystałem opcję auto-poziomowania w programie bCNC i starałem się być nieco
ostrożniejszy. I się udało. Dopiero pod koniec robienia drugiej strony maszyna nieco zaczęła świrować, ale tym razem niczego to nie zepsuło.

ścieżki z bliska

Frezarka też precyzyjnie wywierciła mi otwory. No może trochę za płytko, ale
to już błąd operatora.

otwory z góry
otwory z dołu

Gdy płytka była gotowa i zrobiłem przelotki z mosiężnych nitów, przyszedł czas
na lutowanie. Malutkie elementy SMD to wyzwanie. Brak soldermaski (nie umiem
jej zrobić domowymi metodami) dodatkowo utrudniał. Mimo to poszło mi całkiem
sprawnie. Po paru drobnych poprawkach układ był gotowy. I zadziałał!

nity jako przelotki
przylutowane elementy SMD
gotowa płytka
urządzenie gotowe do gry

Oprogramowanie

Firmware urządzenia napisałem w Rust wykorzystując świetny asynchroniczny framework Embassy.

Nie Python, bo chociaż znam go najlepiej, to nie wydaje mi się najlepszym narzędziem do takiego zastosowania. I pewnie byłby po prostu za wolny.

Naturalny wyborem byłoby C – to standard w zastosowaniach wbudowanych i właśnie w C dostarczane jest oficjalne SDK do Raspberry Pi Pico. Jednak w C strasznie łatwo o głupie błędy, które potem trudno wyłapać i poprawić. A w ogóle dobrze się nauczyć czegoś nowego.

Narzędzia Rust okazały się też wiele wygodniejsze w użyciu niż oficjalne SDK.

Program po włączeniu zasilania świeci diodami na kolorowo, a następnie rozpoczyna proces kalibracji. Mierzy czasy rozładowywania każdego z pinów. Użytkownik powinien dotknąć przynajmniej jednego „klawisza”, a najlepiej kilku. Program wtedy zbierze informacje o minimalnych i maksymalnych zarejestrowanych czasach. Na tym etapie wykrywane są też anomalie (zbyt długi czas rozładowania,
jak w przypadku gry wejście jest zwarte do masy). Przyciśnięcie przycisku kończy kalibrację.

W wyniku kalibracji ustalony jest próg załączenia, który można dodatkowo regulować potencjometrem. Teraz program po prostu wysyła co chwilę „1” na odpowiednie wyjścia kontrolera, czeka ustalony czas (ten próg załączenia), i sprawdza które wejścia zmieniły się w tym czasie z „1” na „0”. Wejścia które
nie zmieniły stanu (nie zdążyły się rozładować) zostają uznane za „wciśnięte klawisze”, a zmiana stanu „klawisza” powoduje wysłanie komunikatu MIDI: „note on”, albo „note off” – przez port szeregowy i przez USB.

Kod źródłowy, jak i projekt w KiCAD dostępne są na GitHub: https://github.com/Jajcus/midi_touch_keyboard

Co dalej?

Spróbuję zbudować jeszcze do tego obudowę (w Warsztacie Miejskim mamy też drukarkę 3D) i dodać nowe funkcje w oprogramowaniu (transpozycja i przełączanie w tryb diatoniczny). A potem projekt pójdzie na półkę, gdzie inne urządzenia, które kiedyś zbudowałem i nigdy więcej nie użyłem.

Jak dziurę w OpenLDAP znalazłem (CVE-2022-29155)

Potrzebowałem zrobić bramkę LDAP do istniejącej bazy adresowej. To wziąłem to, co wydawało się oczywistym wyborem: OpenLDAP i jego plugin ‚back-sql’. Skonfigurowanie bramki okazało się niespodziewanie skomplikowane. Nie dość, że schemat LDAP niespecjalnie jest kompatybilny z naszym schematem bazy (generalnie struktura katalogu LDAP niespecjalnie się mapuje do
relacyjnej bazy danych), to jeszcze ten ‚back-sql’ wydawał się nieco przekombinowany. Szczegóły mapowania schematów same musiały być zapisane w bazie SQL. No ale coś udało mi się wydziergać i jakoś działało.

Problem wyszedł gdy próbowałem wyszukać kontakt z apostrofem w nazwisku (ktoś się naprawdę postarał przygotowując nasze dane testowe). Wyszukiwanie zamiast oczekiwanego wyniku dawało błędy SQL w logach serwera. Nieładnie.

Wiedząc czym to pachnie zacząłem kombinować z zapytaniami, aż udało mi się to, czego się obawiałem: byłem w stanie wykonać dowolną instrukcję SQL na serwerze. Niby nie był to duży problem, bo uprawnienia bramki LDAP były ograniczone tylko do odczytu konkretnych tabel, ale jednak uznałem to za niedopuszczalne.

Następny krok to Google: na pewno ktoś już to zauważył, może jest już poprawioen. I tu niespodzianka: ani śladu zgłoszenia takiego błędu. Co wciąż nie wykluczało możliwości, że jest dawno poprawiony. Użyłem jakiegoś antycznego OpenLDAP 2.4 (swoją drogą nawet Debian wciąż na 2.4 stoi), a już był dostępny OpenLDAP 2.6.1. No to czas na aktualizację!

Przy okazji okazało się, że ‚back-sql’ już nie tylko jest ‚experimental’, ale też ‚obsolete’ i w ogóle nie zalecany… No fajnie, ale ja już tego użyłem, a implementacja bramki od nowa, w Perlu, jakoś mnie nie pociąga. Tak, czy siak, ‚back-sql’ wciąż jest częścią OpenLDAP i powinien działać. Niestety, w 2.6.1 bez zmian: babol ‚SQL injection’ jak był, tak jest.

Zajrzałem do kodu, może jestem w stanie to poprawić. Ale szybko się poddałem. Ten ‚back-sql’ jest faktycznie przekombinowany. Kod masakrycznie złożony, prościej będzie już nową bramkę z użyciem ‚back-perl’ napisać niż się w tym połapać i czegoś bardziej nie zepsuć.

Błąd postanowiłem jednak zgłosić do autorów, bez większej nadziei na jego poprawę (skoro siedzi tam od kilkunastu lat, a plugin jest ‚experimental’ i ‚obsolete’). Skleciłem do tego prosty ‚proof of concept’ kasujący rekordy w przykładowej bazie. Ku mojemu zaskoczeniu już po paru godzinach dostałem pierwszego patcha który miał to poprawić. Patch nie do końca działał, ale ewidentnie wola rozwiązania problemu była.

Po dwóch dniach miałem już działającą poprawkę. A teraz poprawiona wersja OpenLDAP jest już publicznie dostępna, a problem zarejestrowany jako CVE-2022-29155.

Dzień Dobroci

Dzisiejszy dzień zaczęliśmy od pomocy sąsiadce w przesadzaniu krzaczków pod blokiem. Potem odwoziłem Krysię do centrum handlowego, gdzie miała akompaniować wolontariuszom zbierającym pieniądze dla hospicjum.

Gdy Krysia się udzielała artystycznie ja miałem pojechać do innego marketu na większe zakupy, ale dobroczynny nastrój chyba mi się udzielił, bo nie spławiłem od razu (jak zwykle) podejrzanego gościa na parkingu, co „miał pytanko”.

Gostek opowiedział, że dopiero co wyszedł z więzienia, że nie chce pieniędzy, że mieszka w ośrodku Fundacji Pomost w Zabrzu, więc ma gdzie mieszkać, ale że potrzebują tam coś do jedzenia. „Jakieś ziemniaki, czy coś do ziemniaków…”.

Ja mu mówię, że teraz się spieszę, ale że tak do dwóch godzin pewnie znowu tu będę i się jeszcze zastanowię. Chciał się umówić na konkretną godzinę – nie miałem konkretnych godzinowych planów i nie zamierzałem mieć, sugerował kontakt telefoniczny, ale średnio mi się widziało wymienianie się telefonami z obcym gostkiem, co właśnie z więzienia wyszedł. Spytałem, czy ma jakąś wizytówkę tej fundacji, żebym mógł później z nimi to załatwić, to wyciągnął jakąś swoją umowę z ośrodkiem. Zrobiłem zdjęcie danych kontaktowych, z dopisanym numerem „szefa”. Stwierdziłem, że coś kupię, jak nie temu gostkowi jak wrócę na ten parking, to może inaczej fundacji. I pojechałem do Selgrosa na swoje zakupy.

Już po drodze zaczęło do mnie dochodzić, że historyjka nie do końca trzymała się kupy, ale skoro obiecałem, to się nie będę wykręcał. W Selgrosie dotarło do mnie, że właśnie jestem w najlepszy miejscu na takie zakupy dla potrzebujących… tylko co kupić? Do gostka z parkingu kontaktu nie miałem, ale miałem numer do „szefa”. Dzwonię i pytam „co potrzebujecie?”. Facet nie bardzo wiedział o co chodzi, ale jak już załapał to się ucieszył i zasugerował kupić coś co się długo trzyma – „makarony, konserwy, kostki rosołowe”, żadne ziemniaki. Ok. Kupiłem kaszę, makaron, kostki rosołowe, jakieś konserwy i worek jabłek (niech mają też coś świeżego).

Swoje zakupy zawiozłem do domu i pojechałem po córkę. Gostka z parkingu już nie znalazłem, ale miałem adres ośrodka, to sami tam pojechaliśmy. Na miejscu znowu wielkie zdziwienie. Gostek z umowy chyba faktycznie tam mieszkał, ale szybko się wyniósł, „bo nie było tu jedzenia, a on się jakiegoś hotelu spodziewał”. Z zakupów się ucieszyli, chociaż podobno pierwszy raz się zdarzyło, żeby ktoś im coś takiego przyniósł.

Tak więc potwierdziło się moje zwykłe założenie – żebrającym zwykle nie warto nic dawać, bo często nie są tymi, za których się podają. I to, że lepiej uderzać do konkretnych organizacji. Tamten facet pewnie liczył na frajerów, co mu wcisną 20zł i tyle. Zamiast tego załatwił kolegom składniki do paru obiadów. I mnie odpadło zastanawianie się, czy nie odmówiłem pomocy naprawdę potrzebującemu.

Jajcus Yousician

Był geocaching, było pieczenie chleba, była jazda na rowerze, była uprawa papryczek,  było granie w Ingressa… i wygląda na to, ze w tym sezonie moim głównym hobby jest granie na gitarze, a przynajmniej próby nauki na gitarze.

Zaczęło się od tego, że wyczytałem na Reddicie, że jest pod Linuksa coś w rodzaju Rocksmith. Rockmithem się chwilę pobawiłem parę lat temu, gdy promowano to podczas festiwalu Colours of Ostrava. Jednak to była bardzo droga gra, niezbyt u nas dostępna i oczywiście nie pod Linuksa. Poza tym skąd bym wziął gitarę elektryczną?  Tym razem trafiłem na coś, co działa pod Linuksem (ale też pod Androidem, Windowsem, iOSem i macOSem), nie wymaga żadnego specjalnego sprzętu i można ćwiczyć za darmo, z dowolną gitarą. W domu mamy nawet dwie gitary klasyczne (małą i dużą), bo żona i córka uczyły się grać. Zainstalowałem więc tego Yousiciana, wziąłem gitarę i spróbowałem jak to działa.

Okazało się, że nie tylko działa, ale nawet sprawia frajdę. Nawet większą niż Guitar Hero, które też miałem, ale szybko się znudziłem. Po kilku „lekcjach” grałem z Yousicianem jakieś przyjemne melodie – coś z tego wychodziło.

Początki Yousicianowania

Wypróbowałem wersję ‚Premium’ (bo na tydzień była za darmo) i bez autoreklam i limitów można było ćwiczyć więcej i szybciej. Nie stać mnie jednak na to żeby zapłacić za rok z góry, a miesięczny abonament ma dla nas cenę nieco zaporową. Później sobie jeden miesiąc wykupiłem, ale generalnie ograniczam się do tego, co jest dostępne za darmo.

Były jednak drobne problemy techniczne – czasem program zaliczał nutki, których nie zagrałem, bo sam siebie słyszał. Innym razem nie zaliczył co zagrałem dobrze, tylko dlatego że dziecko obok akurat nuciło coś innego. Użycie zewnętrznego mikrofonu zamiast wbudowanego istotnie poprawiało sytuacje, ale nie do końca i nie było zbyt wygodne. Pewnie sporo łatwiej byłoby z gitarą elektryczną, ale kupowanie takiej dla chwilowego kaprysu byłoby głupie. Lepiej sobie radzić z tym co mam.

Pogooglałem i dowiedziałem się, że tanio można kupić przetwornik piezo do gitary klasycznej. Taki przetwornik ma wyjście na wzmacniacz, jak gitara elektryczna. Wciąż wypadałoby mieć czym to podpiąć do komputera. Podobno da się i bezpośrednio do wejścia mikrofonowego (potrzebna tylko przejściówka z dużego na małego jacka), ale dla odpowiedniej jakości dźwięku wypada mieć dedykowane wejście instrumentalne (dużej impedancji). Postanowiłem, że kupię sobie przetwornik, ale od razu i porządny interfejs audio do którego będę mógł go wpiąć. Wybrałem taki, do którego mogę podpiąć też mikrofon albo keyboard – jakbym chciał nagrywać nasze muzykalne dzieci. Stanęło na tanim przetworniku Cherub WCP-60G i nieco lepszych interfejsie audio Lexicon Alpha.

DSC_6518

Ten Cherub okazał się faktycznie tani. Sygnał z przetwornika po nagraniu czy puszczeniu na żywo na głośniki nie był zbyt miły dla ucha, no ale trudno, żeby dynsk za 30zł robił z gitary klasycznej pięknie brzmiącą elektroakustyczną. Dla Yousiciana jednak było to więcej niż wystarczające i jedynym źródłem niezaliczonych ćwiczeń była już tylko moja technika gry.

Natomiast Lexicon okazał się faktycznie bardzo solidnym urządzeniem – robi dokładnie to co trzeba i jak trzeba. Uznałem, że nawet jeśli mi przejdzie Yousicianowanie to nie będą to zmarnowane pieniądze, a jak nie przejdzie… to będę miał gdzie podłączyć gitarę elektryczna. Bo po miesiącu zabawy jeszcze nie miałem dość i zacząłem planować, że jak do urodzin (w lutym) będę dalej tak ćwiczył i robił postępy, to mogę sobie gitarę elektryczną sprawić.

W międzyczasie kupiłem dzieciom ukulele (tanie z promocji w Lidlu) i okazało się, że do tego też Yousician daje radę.

Urodziny się zbliżały, a ja grałem dalej. W bólach zbliżałem się do końca szóstego levelu w „Lead Guitar” (początki były dużo prostsze). Pewności, że jeszcze będę długo grał nie było, ale… cholera, zasłużyłem sobie! Tak więc kupiłem sobie gitarę – Epiphone Les Paul Special Vintage Edition, w kolorze wiśni – Paulinkę.

DSC_6509Z Paulinką zaraz zaliczyłem szósty poziom w gitarze prowadzącej i piąty w rytmicznej. W rytmicznej zaraz też będę miał szósty, ale w prowadzącej zaczęło się robić naprawdę trudno…

Spróbowałem też trochę pograć „na basie” (Yousician przymyka oko na to, że gram oktawę wyżej) i osiągnąłem tam trzeci level. Może mam powód, żeby ostro ćwiczyć do kolejnych urodzin? 😉

Tymczasem z Yousiciana korzystają też Krysia i Krzyś – zarówno z ukulele jak i z gitarami (Krzyś próbował wcześniej z keyboardem, ale nie wciągnęło tak bardzo). Zamówiłem nawet kolejny interfejs audio – tym razem najtańszy (około 30zł), bo ten Cherub wpięty wprost do laptopa niespecjalnie daje radę.  Ciekawe ile jeszcze miesięcy zabawy z tego będzie i co nam po tym zostanie.

Konkursowo

Jakiś czas temu Krysia zaczęła coś wspominać o jakimś konkursie informatycznym. Ok, nic nowego, ona ciągle na jakieś konkursy w szkole chodzi, czy to muzyczne, czy przedmiotowe, nawet na konkursie ortograficznym była (!). Z wygrywaniem bywa różnie, ale przecież liczy się udział.

Nie przejmowaliśmy się szczególnie tym konkursem, coś tam do nas dochodziło, że to drużynowe, że już ćwiczyli zaciskanie kabelków Ethernet, że będzie HTML i mógłbym pokazać.

Ciekawiej się zrobiło, gdy przekazała maila od pani, w sprawie konkursu „Avatarek”… że trzeba dać 100zł na bilet do Grodziska Wielkopolskiego oraz śpiwór, bo będą tam nocować. I trzeba wybrać, czy jadą w południe, czy po południu. Yyyy… to nie jest jakiś wewnątrz szkolny konkurs?

W zeszłą sobotę „nauczyłem” Krysię HTMLa. W 15 minut. Znaczy się, pokazałem tagi <html>, <p>, <h1>, <ol>, <li> i niewiele więcej. Pobawiła się tym chwilę i tyle. Z Wordem było podobnie, tyle że bez Worda – coś poklikała w Open Office, Ika jej w czymś pomogła i na tym koniec. Normalnie szał nauki i przygotowań na konkurs. 🙂

Na szczęście wiemy, że Krysia w drużynie jest ze swoim genialnym kolegą, więc nie powinno być wielkiego wstydu. Na wygraną nie mają pewnie szans, ale zawsze będzie wycieczka i jakaś przygoda.

Na konkurs pojechali wczoraj, po południu, bo przecież jeszcze w szkole była „liga przyrodnicza”. Ta opcja dojazdu oznaczała, że na miejsce dojechali po 23. Po drodze córka nawet nam się meldowała, ale potwierdzenia, że dojechała na miejsce nie dostaliśmy. Dopiero rano jakieś oznaki życia. Trudno, nie było się co spodziewać więcej.

Dzisiaj, przed wyjściem z pracy, uznałem, że pewnie konkurs już się skończył i postanowiłem zażartować, wysyłając SMSa:

I jak? Wygraliście? 😉

Odpowiedź mnie nieco zaskoczyła:

2 miejsce

Pogratulowałem oczywiście. Po godzinie dostałem kolejnego SMSa:

Tableta rozpakuję w domu 🙂

Pogooglałem trochę, z dzisiejszego finału nic nie znalazłem, tylko coś o różnych eliminacjach regionalnych (?!) i zdjęcia z poprzedniego finału (też w 2016, żeby bardziej zamieszać). Nie bardzo rozumiem co się stało, ale chyba mi się to podoba. A może powinienem poczekać aż córka z tym rzekomym tabletem przyjedzie do domu?  😉

Update: faktycznie przywiozła tableta, może wartego więcej niż te bilety. 😉

Słodko-gorzkie kupowanie na amazon.de

Przyszedł czas, żeby sprawić sobie nowego laptopa. Laptopa używam głównie do grania, ale mimo to nie jestem skłonny zapłacić za „gamingową” maszynę. Jednak chciałbym coś mocniejszego niż moje dwuletnie Lenovo. Po zastanowieniu uznałem, że chcę laptop z procesorem Intel i5 i grafiką Intel Iris Graphics. Po ustaleniu podstawowych parametrów wystarczyło znaleźć ofertę na Allegro, morelach, czy innych owocach…

Problem w tym, że w Polsce takich laptopów nie ma. Bo nie liczę maszyn Apple, które poza tym, że są Apple, to kosztują sporo więcej niż jestem skłonny za laptopa zapłacić. Postanowiłem jeszcze zajrzeć na amazon.de, skoro już bezproblemowo wysyłają do Polski.

Tam wybór też nie był wielki, ale coś było. Znalazłem komputer w pasującej konfiguracji i cenie, a gdy tylko przyszła wypłata wyklikałem zakup. Coś się jednak nie zgadzało. Na liście przedmiotów w koszyku jest „i3”, chociaż wybierałem „i5”. Wróciłem do wyboru – gdy zmieniam opcje, zmienia się tytuł oferty (np. z SSD lub bez), ale „i3” pozostaje. Gdzieś jest babol, albo w tytule, albo w wybieranych opcjach. Pogooglałem i wyszło że taka kombinacja, z taką ceną to raczej  musi być i5. Przy okazji wyszło, że nawet producent na swojej stronie do takiego modelu się nie przyznaje, ale ileś niemieckich stron o nim wspomina i parę sklepów oferuje. Wypadałoby się skontaktować z Amazonem i wyjaśnić sprawę… ale ja, będąc mną, wolałem zaryzykować zakup niż próbować kontaktu z żywym człowiekiem, nawet mailowo. Tak więc w czwartek około 16:00 kupiłem laptopa na amazon.de i czekało mnie parę dni nerwów o to, co przyjdzie. Darmowa standardowa wysyłka oznaczała w tym przypadku „poniedziałek albo wtorek”. Można było dopłacić za ekspresową wysyłkę, wtedy „na pewno poniedziałek, albo zwracamy kasę” – aż tak mi się nie spieszyło.

W piątek, o 14:38 mail „Your Amazon.de order of „Acer Aspire E 15…” has been dispatched!” potwierdził, że wszystko idzie zgodnie z planem. Zaskoczenie przyszło wieczorem… SMS z DHL, że paczkę dostarczą w sobotę i że mogę sobie wybrać gdzie. Ale że jak w sobotę?! To już w weekend będę mógł się pobawić nową zabawką? 😀

Skorzystałem z formularza przekierowania paczki, bo przecież w sobotę nie będę siedział w biurze. Odpuściłem sobie obronę czołgu i od rana siedziałem w domu z komórką pod ręką, żeby czatować na kuriera… O 8:32 przyszedł SMS, że kurier już jedzie… o 11:17… że był, ale mnie nie zastał, a szczegóły na WWW. Szczegóły mówią, że spróbują ponownie we wtorek… Noż… To dzwonię do DHL. O dziwo od razu się połączyłem z kimś, kto był w stanie powiedzieć co się dzieje z moją paczką. Miła pani spróbowała się najpierw połączyć z kurierem, a jak to się nie udało, przekazała sprawę do „działu interwencji”. Wkrótce mieli się ze mną skontaktować. O 13:20 przyszedł mail (z „13:04” w dacie): „Kurier jest w tym momencie pod Państwa adresem, niestety nikogo nie zastał, brak również kontaktu telefonicznego.”. Noż…

Wybiegłem przed blok, poleciałem pod drugi (biuro mam dwa bloki dalej). Śladu po kurierze nie ma. Dzwonię znowu do DHL… Miła pani (nie jestem pewien, czy ta sama) znowu próbuje wyjaśnić sytuację. Kurier był, nawet zrobił zdjęcia i zachował historię połączeń. Nikogo na miejscu nie było, telefonów nie odbieram. Ale kurier był pod adresem biura, bo informacja o przekierowaniu co prawda jest w systemie, „ale się nie ściągnęła”. Część tajemnicy rozwiązana, ale co dalej. Jak już mi narobili nadziei na ten weekend, to do wtorku nie mam zamiaru czekać. Podobno przesyłka wróciła na terminal w Zabrzu i można ją jeszcze tego samego dnia odebrać… upewnią się i dadzą mi znać. W międzyczasie wróciła Krysia, poprosiłem ją, żeby do mnie zadzwoniła. Mój telefon działał.

Przyszedł mail, że przesyłka jest do odbioru osobistego, ale jakoś z niego nie wynika, że na pewno już mogę tam jechać. Już nie chciałem do nikogo dzwonić, pojechałem…

Na miejscu nieco mniej miła pani od razu moją paczkę znalazła i wydała. Przekonywała mnie, że kurier był pod oboma adresami i nikogo nie zastał. „Może pan złożyć reklamację”. Teraz to już na nic, ważne że mam laptopa!

Wróciłem do domu, rozpakowałem. Cały, wygląda solidnie. W pudełku materiały po angielsku – fajnie, że nie wszystko po niemiecku. Dałem mu chwilę odpocząć i się podładować. Odpalam… Windows 10, tak jak miało być, bo opcji bez systemu nie było… i gada do mnie po niemiecku! Do tego to ma klawiaturę niemiecką! Jakieś umlauty, „Z” z „Y” zamienione i „gdzie jest Delete?”. Najbardziej mnie zaskoczyło moje zaskoczenie. Miałem już przecież do czynienia z laptopami z niemiecką klawiaturą i wiedziałem że kupuję produkt dostępny tylko na niemieckim rynku. No cóż, do klawiatury zawsze można się przyzwyczaić (byle na nią nie patrzeć!), a Windowsa i tak nie będę używał, przynajmniej poza tym, ile potrzebne do przygotowania laptopa pod Linuksa.

 

Pełny dysk i film z Australii

Teściowa mi od jakiegoś czasu się skarżyła, że ma mało miejsca na dysku. Jak to mało? Nowy laptop im kupiłem, może z nie największym dyskiem, ale do kulek i madżonga powinno starczyć.
 
Poprosiłem córkę, żeby dowiedziała się coś więcej i może sama zobaczyła co się dzieje. Dziś więc mogło coś zacząć się wyjaśniać. Na początek informacja przekazana od babci: „jest tu jakiś film z Australii, co nie da się go skasować i można tylko przesłać dalej”. Chciałem dowiedzieć się coś więcej, ale nic z tego, bo filmu nie znalazły. Udało mi się za to dowiedzieć co „df” pokazuje. Owszem, 100% zajęte, ale na /boot. Znaczy się, miejsca nie brakuje tam gdzie jest potrzebne, ale coś /boot zeżarło (czyżbym za mały zrobił? ale przecież użyłem defaultów z i instalatora). Telefonicznie więcej nie zrobię, ale okazało się, że Krysia może laptopa przynieść.
Przyniosła laptopa, zawiniętego w kocyk, „żeby się nie przeziębił”. Odpalam, zagląda do /boot, a tam… dziesięć i pół kernela. Kto wymyślił, że zwykły użytkownik, który nawet nie musi wiedzieć co to jest, potrzebuje więcej niż jeden kernel?
Wygooglałem jak usuwać nadmiarowe kernele, wpisałem do crona i z tym powinien być spokój. Ciekawe jaką następną niespodziankę nam to Ubuntu zaserwuje. Jak na „bezobsługowy” system dla „zwykłego użytkownika” coś to mało od PLD odbiega. 😉
Co to za film z Australii i czemu nie można go skasować, to dalej nie wiem.

Jeszcze MO nie zginęło…

Wczoraj na Facebooku pojawił się wpis:

Serdecznie dziękuję policjantowi o numerze służbowym: 96 58 30 i Policji za skuteczne zniwelowanie 20 lat mojej pracy wychowawczej.
Wracającego znad Wisły 20-latka policja zaprosiła do radiowozu za znaczek Razem  na plecaku.
ZA ZNACZEK NA PLECAKU.

Tam, w zaciszu, bez świadków, policjant-kozak mówił, że nie lubi lewackich kurew i pedałów. Zapytał, czy młody lubi w dupę i czy bzyka się z pedałem Zandbergiem.
Zapytał, czy jest komunistą czy tylko lewacką spierdoliną.

Pierwszy błąd — delikwent założył, że nie zrobił nic złego i może nie mieć dowodu.
Drugi błąd, że potem jednak ten dowód znalazł.
Panowie policjanci mu do wyboru mandat albo Kolska. Błąd trzeci — młody mandat przyjął, chociaż pałowania i paralizatorów w ofercie nie było, ale może był to pakiet specjalny.
Błąd czwarty — uwierzył w to, co mówił policjant, że mandat 200 zł i podpisał nie sprawdzając kwoty.

W efekcie dostał mandat za 600 zł za „wprowadzenie funkcjonariusza w błąd i używanie słów uznanych za obraźliwe”.
Jeśli nie dopisali znieważenia funkcjonariusza na służbie, do znaczy, że musiał mówić „do kroćset”, „olaboga” i „sacrebleu”.
Panów było czterech, gówniarz sam, świadków nie ma.

Przepraszam synu, że Cię dwadzieścia lat okłamywałam, że obywatel, nawet lekko nietrzeźwy, nie musi obawiać się policji.
Że policja tak naprawdę jest po Twojej stronie. Przepraszam, że nauczyłam Cię, że żeby cię ukarać, musisz być winny i że mandaty dostaje się sprawiedliwie. Niestety również nauczyłam Cię, że się je płaci i teraz muszę Ci pożyczyć 600 zł, które ze swoich studenckich dochodów będziesz mi spłacał trzy miesiące.

Panie Mariuszu, Marianie lub Marcinie, numer służbowy 96 58 30, już wiemy, że wróciły czasy, w których noszenie nieprawomyślnych znaczków jest niebezpieczne, że przed policją znowu należy uciekać.

Wychowałam się w latach ’80, wiedzę jak omijać milicję wyssałam z mlekiem matki. Może pan być pewien, że ją przekażę synowi, żebyście z niego nie zrobili Grzegorza Przemyka Dobrej Zmiany.

A Panu i kolegom serdecznie dziękuję za rozwianie naszych złudzeń.

Tekst ten jest też wciąż dostępny na Google+.

Gdyby nie to, że Annę-Marię i Jakuba uważam za wyjątkowo wiarygodnych, to byłbym pełen wątpliwości, co do prawdziwości tego wpisu. Niestety, wszystko wskazuje na to, że to prawda.

Dzisiaj okazało się, że taka relacja „jest niezgodna ze standardami społeczności Facebooka”:

facebook_dupa

Update: Facebook wpis przywrócił, ale bardzo możliwe, że „po znajomości”, bo nie każdemu się tak udaje.

Nie sądziłem, że tak szybko doczekamy się czasów, gdy krytyka działania Policji będzie natychmiastowo „zdejmowana z internetu”. Tak, wiem, tu raczej chodzi o słabość polityki i algorytmów Facebooka niż o korupcję, ale i tak nie wygląda to dobrze. Toż to nawet kobiecym sutkom zdarza się na FB dłużej wisieć.

Jeszcze niedawno mój brat wyrażał zaskoczenie i prawie podziw dla Policji, która Razem w demonstracjach nie przeszkadzała, a wręcz im służyła (w końcu od tego „służby” są). Gdy parę lat wcześniej działał w innych organizacja, którym z władzą było nie po drodze, zdarzały się szykany. No cóż, myślę, że właśnie został przywołany do rzeczywistości. Chociaż nie sądzę, żeby faktycznie miał jakieś złudzenia.

Oczywiście nie można uogólniać. Nie ma powodów sądzić, że już cała Policja jest zła, ale jednak to, że taki przypadek się zdarzył nie świadczy o instytucji dobrze. Ciekawe co będzie z tym dalej. Oczywiście bez dowodów sprawa jest nie do wygrania w sądzie. W demokratycznym państwie prawa, w świetle takich, i tylko takich, oskarżeń, policjant musiałby być uniewinniony. Ale jakoś nie sądzę, żeby to był pojedynczy przypadek i jeśli policjant ma przyzwoitego i odpowiedzialnego przełożonego, to powinien być teraz porządnie sprawdzony i przypilnowany. To powinno wystarczyć, żeby szybko z roboty wyleciał. Nie ma tam dla niego miejsca. Mam nadzieję, bo przy tym co się ostatnio słucha o zbrojeniu organizacji paramilitarnych itp., to może właśnie takich władza poszukuje i ceni…

Nie dziwi mnie też specjalnie, że taka osoba jest funkcjonariuszem policji. Miałem w życiu raz do czynienia z Milicją Obywatelską (jako dzieciak miałem nieprzyjemność być przesłuchiwanym, w roli podejrzanego) i parę razy z Policją. Z Policją już zawsze jako praworządny obywatel, ale niekoniecznie wyglądało to tak, jak powinno.

Pamiętam składanie wyjaśnień w sprawie kradzieży, której byłem ofiarą na Przystanku Woodstock w Szczecinie. Pół roku po zgłoszeniu, zostałem zaproszony na posterunek Policji w mieście w którym mieszkam. Panowie policjanci przyjęli moje zeznania, wyglądało to mniej–więcej tak:

– Byłeś na tym festiwalu i ukradli ci namiot?
– Tak.– To chujowo. Tam były wszystkie dokumenty itd.?
– Tak.
– To chujowo
[…]

Muszę przyznać, że policjanci byli, na swój sposób mili. Wykazali się nawet empatią. Ale jakoś nie byłem zachwycony, że właśnie takie osoby są odpowiedzialne za nasze bezpieczeństwo. Obskurny pokoik, z przestarzałym sprzętem nie pomagał wizerunkowi Instytucji.

W innych przypadkach sami policjanci sprawiali lepsze wrażenie, ale warunki ich pracy zawsze wydawały się przygnębiające. Trudno sobie wyobrazić, żeby ludzie o lepszych perspektywach pchali się tam do pracy drzwiami i oknami. Poza paroma idealistami raczej muszą tam trafiać tacy, co niekoniecznie gdzie indziej by pracę znaleźli.

Teraz do kiepskich warunków (chociaż te akurat chyba się ostatnio trochę polepszyły) i kiepskich kadr dochodzą jeszcze nie najlepsze sygnały z góry. To ulgowe traktowanie skrajnie-prawicowych ugrupowań i osłabianie wszelkich instytucji od obrony praw obywatelskich i równouprawnienia, nie wróży nic dobrego. Ustawa „antyterrorystyczna”, dająca służbom kolejne przywileje, raczej też nie ukróci nadużywania władzy przez funkcjonariuszy.

Chciałbym móc ufać Policji, chciałbym, żeby przypadek Jakuba okazał się tylko okazją wyrzucenia zgniłego jabłka z koszyka. Niestety, jakoś obecnie słabe są na to widoki. Chwała władzy, że „jeszcze nie pałuje”, ale jakoś to trochę mało.

Będą owocki!

Wisząca truskawka kwitnie przepięknie. Szkoda, że z trzech krzaczków dwa padły.
Poza tym, zakwitły też poziomki, pojawiły się pierwsze papryczki, a rukola już chyba przeterminowana, bo już jej pędy kwiatowe wycinałem.