Chef i cookbooki bez metadata.rb

W firmie korzystamy z Chefa, niby robi swoją robotę, ale nie przepadam za nim z różnych względów. Jedna z rzeczy, która mnie drażni, to wersjonowanie i niekompatybilność (bardziej: pozorna kompatybilność) pomiędzy wersjami. W Debianie Jessie, którego mam na desktopie jest chef w wersji 11, który generalnie działał. Na serwerach mamy Chefa 12.

Ostatnio instaluję cookbook nodejs:

knife cookbook site install nodejs
Installing nodejs to /home/rozie/chef-repo/cookbooks
Checking out the master branch.
Pristine copy branch (chef-vendor-nodejs) exists, switching to it.
Downloading nodejs from the cookbooks site at version 2.4.2 to /home/rozie/chef-repo/cookbooks/nodejs.tar.gz
Cookbook saved: /home/rozie/chef-repo/cookbooks/nodejs.tar.gz
Removing pre-existing version.
Uncompressing nodejs version 2.4.2.
removing downloaded tarball
No changes made to nodejs
Checking out the master branch.
ERROR: IOError: Cannot open or read /home/rozie/chef-repo/cookbooks/nodejs/metadata.rb!

Zacząłem szukać i widywać różne dziwne rozwiązania na nieistniejące metadata.rb, przez chwilę przyszło mi dogenerowanie „brakującego” pliku na podstawie obecnego metadata.json, ale… coś mnie tknęło i postanowiłem najpierw spróbować z nowszym Chefem u siebie na lapku.

Ależ oczywiście, że instalacja Chefa w wersji 12 rozwiązała problem.

Jak Vagla do Senatu startował

Miałem napisać ten wpis już jakiś czas temu, ale nie napisałem wtedy, a przed wyborami ostatni dzwonek, więc napiszę teraz.

Kim jest Vagla można sprawdzić na Wikipedii. To może kim jest dla mnie? Pozytywnie zakręconym człowiekiem o sporym poczuciu humoru (biorąc pod uwagę pewne działania; sam dałem się nabrać), którego stronę (nie-blog!) czasami czytuję (choć nie mam jej w RSSach, pewnie to się zmieni zaraz), piszącym o prawie, sieci i wolności (głównie w sensie wolności dostępu do informacji) i działającym na rzecz obywateli (dostęp do informacji publicznej). Ostatnio: kandydatem na senatora. I właśnie o tym będzie.

Na początku był chaos. Po tym, jak Vagla zapowiedział, że kandyduje do Senatu i zbiera 1000 podpisów poparcia, pojawiła się dość nieskładna komunikacja – częściowo na FB, częściowo na istniejącej stronie. Typowe pospolite ruszenie, ale dla osoby jednak trochę znanej zadanie zebrania 1000 podpisów (fizycznych) jest wykonalne, mimo ewidentnych niedociągnięć w komunikacji i wpadek (typu zła ilość okienek na formularzu). Końcówka była lepsza informacyjnie, choć nie doskonała. Podpisałem i ja…

Ciekawa była też obserwacja pewnych… niezamierzonych, jak przypuszczam, konsekwencji prawa. Bo Vagla wystartował głównie dla funu, jak sam pisał, żeby zobaczyć, czy zwykłemu (no…), obywatelowi bez zaplecza partyjnego uda się w ramach obowiązujących przepisów (skrupulatnie je wypełniając) spełnić wymogi prawne stawiane kandydatom do Senatu. Bo to co robił, robił już wcześniej, nie będąc senatorem.

Byłem praktycznie pewien, że o ile pierwszy etap spokojnie uda mu się przebyć, o tyle z drugim (2000 podpisów od ludzi ze swojego okręgu) mogą być spore problemy. Czasu było niewiele, kampania zaczęta późno, a mam wrażenie, że Vagla jest znany raczej w sieci, niż IRL (OK, nic nie wiem o samej W-wie). Prognozy po pierwszych dniach były „na styk”, ze wskazaniem na „o włos za mało”. W międzyczasie bardzo poprawiła się komunikacja (głównie FB). Najbardziej dramatyczna okazała się końcówka, bo sprawa była praktycznie przesądzona (negatywnie), ale w ostatnich dwóch dniach udało się zebrać podpisy, nawet z bezpiecznym zapasem.

Od tego momentu można było zaobserwować parę ciekawych zjawisk, typu publiczna, dostępna online lista przychodów i wydatków komitetu wyborczego (zresztą jawne były też takie rzeczy jak ilość zdobytych w kolejnych dniach podpisów z drugiego etapu), poparcie dla kandydata z różnych stron sceny politycznej (do lewicy, przez centrum, do prawicy), zapowiedzianą migrację ludzi z całej Polski do Warszawy w celu oddania głosu na Vaglę. Oczywiście było trochę trollingu, jak np. fotomontaż z banerem na budynku. Interesujące (choć raczej smutne) były też reakcje ludzi oraz projekcje poglądów – Vagli zostały przypisane już łatki i prawicowca, i lewicowca. Szufladkowanie i instynkty stadne mają się dobrze…

IMO bardzo duży sukces, niezależnie od wyniku niedzielnych wyborów. Nie wiem, na ile sukces samego Vagli, a na ile pomagającego mu sztabu, a na ile po prostu ludzi, ale udowodnił, że „się da”. A co najważniejsze, zbudował bardzo silny przyczółek, którego brakowało teraz, dla wyborów za cztery lata. Oczywiście o ile będzie kandydował…

Póki co, czekam na wyniki niedzielnych wyborów. Okręgi są jednomandatowe, więc, jak rzekomo mówi cytat, there can only be one.

UPDATE: Trzecie miejsce (z czterech startujących w okręgu), 10,2% ważnych głosów (7% uprawnionych do głosowania). Więcej o wynikach.

„Must have” aplikacje na telefon z Androidem

Android robot - logo

Źródło: https://en.wikipedia.org/wiki/Android_(operating_system)

Okazuje się, że trochę z Androida jednak na telefonie korzystam. Do tej pory znalazłem dwie sprytne aplikacje, które bardzo ułatwiają mi życie.

Pierwsza z nich to Screebl Lite.

Zadaniem aplikacji jest blokowania funkcji wygaszania ekranu, jeśli wygląda na to, że korzystamy z urządzenia, czyli trzymamy je w ręku. Używanie wykrywane jest po nachyleniu – jeśli odłożymy telefon na płask, to się wygasi normalnie, ale jeśli będzie pod kątem, to się nie wygasi. W połączeniu z agresywnym ustawieniem wygaszania (zawsze takie miałem), pozwala oszczędzać baterię, ale z drugiej strony nie przeszkadza w pracy.

Przyznaję, że na początku po poleceniu przez D. (thx!) i instalacji Screebl Lite nie zauważyłem różnicy i stwierdziłem, że w sumie nieprzydatny bajer, ale po namyśle i dłuższym korzystaniu – wręcz przeciwnie, znacznie wygodniej jest z tą appką. Doceniłem różnicę, gdy wyłączyłem aplikację… A wyłączyłem, bo niezupełnie dobrze współgra z Yanosikiem – podczas jazdy przy aktywnym Screebl, ekran cały czas pozostał niewygaszony.

Druga sprytna aplikacja to Wi-Fi Matic.

Zasada działania jest prosta: aplikacja zapamiętuje lokalizacje, w których włączamy Wi-Fi, a następnie wyłącza Wi-Fi po ich opuszczeniu, a włącza po powrocie do tych lokalizacji. Proste i skuteczne, zwalnia z konieczności ręcznej aktywacji Wi-Fi w telefonie i pozwala oszczędzać pakiet danych u operatora GSM. Okres, co ile ma być sprawdzana lokalizacja można zdefiniować w aplikacji, a określanie lokalizacji nie korzysta z GPS, tylko jest zrobione sprytnie, w oparciu o stacje bazowe GSM.

Z Wi-Fi Matic korzystam raptem od paru dni, ale jestem bardzo zadowolony. Przy okazji, aplikacja posiada wolny kod źródłowy dostępny na Githubie i jest dostępna w repozytoriach F-Droid.

Bonusowo: F-Droid.

F-droid, czyli manager wolnoźródłowych i wolnych (także dodatki i dane) appek dla Androida. Pozwala na łatwe wyszukiwanie i instalowanie aplikacji z opisywanego kiedyś repozytorium f-droid.org. Spodoba się pewnie głównie miłośnikom Linuksa, ale i tak warto się zainteresować – trochę ciekawych aplikacji, wszystkie appli dostępne bez reklam i opłat, z wyszczególnionymi zagrożeniami prywatności.

Spis wyborców a rejestr wyborców

Człowiek uczy się całe życie. Czasem nawet patrzy i nie widzi. Jakiś czas temu opisywałem głosowanie poza miejscem stałego zameldowania w kontekście wyborów samorządowych. Nawet pomarudziłem, że dużo roboty, w porównaniu z wyborami parlamentarnymi. Tymczasem przeoczyłem słowo rejestr, które się tam pojawia, zamiast słowa spis, które pojawia się zwykle przy wyborach parlamentarnych itp. W innym moim wpisie użyłem w ogóle słowa lista, które też potocznie jest synonimem spisu czy rejestru, ale w prawie w ogóle nie występuje.

Postanowiłem więc przybliżyć różnice między spisem wyborców, a zupełnie innym tworem, jakim jest rejestr wyborców. Wszystkie procedury są opisane dokładnie w Kodeksie Wyborczym (link do tekstu jednolitego jest w linkach zewnętrznych), w razie wątpliwości odsyłam tam, tu będzie tylko skrót. Zaznaczam, że nie jestem prawnikiem, więc pewne niuanse

Dopisanie do spisu wyborców

  • Określone jest w art. 28 Kodeksu Wyborczego,
  • Dokonuje się go w urzędzie gminy w miejscu czasowego pobytu,
  • Jest proste – wystarczy wypełnić formularz i okazać dokument potwierdzający tożsamość,
  • Jest jednorazowe, tj. działa tylko na konkretne wybory. Czyli jest tymczasowe.

Dopisanie do rejestru wyborców

  • Określone jest w art. 19 Kodeksu Wyborczego,
  • Również dokonuje się go w urzędzie gminy w miejscu stałego pobytu,
  • Jest nieco bardziej skomplikowane – dwa formularze, konieczność wykazania stałości pobytu (zaświadczenie z miejsca pracy, umowa najmu, akt własności/nr księgi wieczystej)
  • Działa na stałe – zostajemy wykreśleni z rejestru w miejscu stałego zameldowania i wpisani do rejestru wyborców tam, gdzie złożyliśmy wniosek. Czyli jest stałe.

No i pora na zadanie praktyczne, czyli mały hacking systemu, albo lifehack (zależy jak patrzeć). Zagadnienie, od którego rozpoczęła się dyskusja na FB to:

Czy można, będąc zameldowanym na stałe w Przemyślu, mieszkając na stałe w Szczecinie, pobrać – bez wyprawy do Przemyśla, czyli w szczecińskim urzędzie miasta – zaświadczenie, uprawniające do głosowania w Warszawie?

Wygląda, że da się (rozwiązanie nie jest wymyślone przeze mnie), o ile rozpoczniemy operację odpowiednio wcześniej:

  1. Dopisujemy się do rejestru wyborców w Szczecinie (wykazujemy, że mieszkamy tam na stałe itp.).
  2. Po pomyślnym dopisaniu do rejestru wyborców, udajemy się do urzędu miasta w Szczecinie i informujemy, że chcemy zaświadczenie uprawniające do głosowania poza miejscem zamieszkania (art. 32 Kodeksu Wyborczego).
  3. [solved] 🙂

Orange, wvdial i modem Huawei E1752C

Ponieważ w ramach jednego projektu (hm, na razie nic nie nadaje się do publikacji) klikałem na dwa modemy GSM, to obok mojego Huawei E3131 w laptopie pojawił się pożyczony modem GSM Huawei E1752C z kartą sieci Orange. Dla pamięci i gdyby komuś miało się przydać – konfiguracja dostępu do internetu dla sieci Orange pod Linuksem.

W lsusb Huawei E1752C jest widoczny jako:

new high-speed USB device number 11 using ehci-pci
New USB device found, idVendor=12d1, idProduct=141b
New USB device strings: Mfr=3, Product=2, SerialNumber=4
Product: HUAWEI Mobile
Manufacturer: HUAWEI Technology

w dmesg jako:

Bus 002 Device 011: ID 12d1:141b Huawei Technologies Co., Ltd.

Sam modem działał od kopa (kernel 4.1.0-1-amd64, Debian unstable) i nie wymagał żadnych ingerencji, ale zaznaczam, że trafił do mnie jako używka, więc nie wiem, czy było grzebane.

Szybka przeróbka mojej konfiguracji dla Aero2, w oparciu o oficjalne instrukcje ze strony Orange nie zakończyła się sukcesem. Poszukiwania w sieci naprowadziły mnie na ten artykuł nt. konfiguracji modemu GPRS dla sieci Orange w Debianie. Potwierdzam, działa. Ale IMO trochę przydługie, więc postanowiłem skrócić do wersji mniej więcej minimalnej. Skończyłem z takim konfigiem do wvdial:

[Dialer orange-pin]
Modem = /dev/ttyUSB0
Init1 = ATZ
Init2 = AT+CPIN=1234

[Dialer orange]
Modem = /dev/ttyUSB0
Init3 = AT+CGDCONT=1,"IP","internet"
Username = "internet"
Password = "internet"
Phone = "*99#"
Dial Command = ATDTW
Stupid Mode = yes
Dial Attempts = 0

Najpierw trzeba wywołać wvidal orange-pin, a gdy się zakończy, można połączyć się z siecią przy pomocy wvidal orange. Jak widać, kluczową różnicą było ustawienie parametru Dial Command.

Samo połączenie z Orange można uruchomić na Linuksie prościej, bo na desktopie da się wyklikać konfigurację w network manager. Sprawdzone na Debianie Jessie z kernelem w okolicach 4.0. Ale czasem może przydać się wersja bardziej ręczna, szczególnie jeśli ktoś nie ma GUI w maszynce.

Microsoft kupi Canonical?

Dziś przy porannej kawie natknąłem się na ten artykuł i postanowiłem skrobnąć szybką notkę. Sprawa nie jest wcale taka nieprawdopodobna.

Po pierwsze, wiadomo, że Microsoft interesuje się coraz bardziej rozwiązaniami opartymi o Linuksa. Uważam to za zupełnie naturalne, bo Linux w wielu zastosowaniach radzi sobie równie dobrze, albo i lepiej, niż Windows. Poczynając od nietypowych architektur (typu ARM), przez zastosowania serwerowe, po chmurę i wirtualizację. Jeśli chodzi o desktopy i łatwość obsługi (IMO pozorną, ale…), to oczywiście wygrywa Windows, choć nie ukrywajmy, że Ubuntu miało ambicje tu powalczyć, i miało trochę podobną filozofię, co Windows. Ze wszystkimi jej wadami i zaletami, ale także dodatkowymi wadami Linuksa.

Po drugie, Ubuntu to nie tylko kolejna dystrybucja Linuksa. Jest o tym w artykule, ale ponieważ ostatnio „trochę” siedzę w OpenStacku, to widzę, co mają w tej dziedzinie. A mają sporo, poczynając od dystrybucji w wersji LTS, z gwarantowanym wsparciem przez ok. 5 lat, co jest wartością przyzwoitą i akceptowalną, co niekoniecznie można powiedzieć o debianowym wariancie. Mają też sporo narzędzi ułatwiających tworzenie i zarządzanie chmurą (na różnych poziomach, od hardware’u, po wirtualizację (OpenStack)). Większość instalacji OpenStacka w tej chwili jest właśnie oparta o Ubuntu. Dochodzi do tego specyficzne podejście – Ubuntu ma tendencję do własnych rozwiązań, które niby są opensource, ale w praktyce nie bardzo jest sens używania ich bez Ubuntu. Z perspektywy wieloletniego użytkownika Debiana, Ubuntu jawi mi się trochę jako państwo w państwie…

Dlatego uważam, że jeśli Microsoft poważnie myśli o Linuksie, to kupno Canonical nie tylko jest możliwe, ale wręcz jest jedną z niewielu sensownych opcji pojawienia się na tym rynku. Niechęć części użytkowników do MS i tak pozostanie, ale z drugiej strony i tak musieliby z nią walczyć, jeśli chcą mieć swoją dystrybucję, community i pozycję na linuksowym rynku… Kupno Canonical (lub podobnej firmy) zapewniłoby dostęp do wiedzy, technologii i bazy „oswojonych” użytkowników. Bez tego są skazani na wymyślanie koła od nowa i eksperymenty, a wygląda mi na to, że Microsoft w ogóle nie grokuje Linuksa, więc mieliby trudne zadanie…

Zatem, choć wiele przemawia za tym, że plotka niekoniecznie jest prawdziwa, to raczej po prostu nie tym razem, a nie rzecz zupełnie nie do pomyślenia.

SLA 99.5% – so what?

SLA na poziomie 99,5% robi wrażenie, prawda? Przy okazji dyskusji pod wpisem u Boniego poleciało 99.5% jako synonim jakości (czegoś tam). Co z kolei skłoniło mnie do sprawdzenia, jak to się ma do danych dotyczących dostępności łącza, które wystawiam przy pomocy PUM. No i w skrócie: 99,5% dostępności w skali miesiąca to żaden wyczyn.

Na początek disclaimer: nie jest to wyraźnie napisane w FAQ, ale z tego co się dowiedziałem od autorów/supportu, Uptime Robot w wersji darmowej nie zlicza (poprawnie?) uptime dla okresu powyżej jednego miesiąca. Co niestety nie przeszkadza mu zwracać jakichś wartości dla okresów powyżej 30 dni.

The Free Plan can return uptime ratios back to 1 month due to the limit of the logs kept. The Pro Plan supports back to 1 year. And, the alltimeuptimeratio variable in the API currently returns 1-month uptime (and it’ll be removed from the APIv2).

I jak widać z powyższego, All uptime to tak naprawdę, w przypadku planu darmowego, uptime dla poprzedniego miesiąca.

Spójrzmy na the domek. Komputer Linuksem (OK, Seagate Dockstar robiący za router, więc trochę embedded w porównaniu z typowym PC, czyli bardziej niezawodny), za to z dyskiem w kieszeni USB, bez jakiegokolwiek podtrzymania prądu przy pomocy UPS. Łącze przez wiekowy modem USB, 3rd party dostawca over linia TPSAOrange (BSA).

Aby było weselej: połączenie resetowane raz dziennie, skrypt podnoszący/sprawdzający uruchamiany co 4 minuty , a PPPoE trochę wstaje…

I cała ta rzeźba, łącznie z przerwami po stronie 3rd party usługodawcy, Orange, dostawcy monitoringu (czyli Uptime Robot), zwłoką przy odświeżaniu dyndns (monitoring jest po domenie) i problemami w globalnym internecie daje radę. Generalnie, bo oczywiście są miesiące, że nie da.

99.5% my ass… 😉

[1] Nie pamiętam już, czemu tak, zdaje się, że musiał mieć chwilę na sprawdzenie albo ubicie pppd, albo nie chciało mi się pisać obsługi lockfile’a, bo parę minut przerwy w nocy i tak jest pomijalne w tym zastosowaniu…