Advent of Code – po latach

Całkiem niedawno M. w mailu zapytał, czy znam Advent of Code. Ano znam. Nawet miałem o tym notkę. Odkąd poznałem, to bawię się regularnie. Z przerwą w 2019 z powodów, których nie pamiętam.

Ponieważ z tego co pamiętam nie robiłem jeszcze zadań „poza konkursem”, to dobry moment na podsumowanie. 2018 – 10 gwiazdek. 2020 – 33 gwiazdki, 2021 – 29 gwiazdek. W tym roku póki co 21 gwiazdek. Oczywiście na ilość gwiazdek rzutuje wiele czynników, z których istotnym jest czas, który mogę poświęcić na zabawę.

Niemniej staram się siąść codziennie rano o szóstej do komputera i porywalizować. Głównie ze znajomymi z pracy. Wspólny dashboard z wynikami to dobry motywator. I AoC ma to rozwiązane bardzo fajnie. W sumie tego najbardziej zabrakło mi w opisywanym rok temu Advent of Cyber.

Czy coś się zmieniło? Wydaje mi się, że tak. Dorobiłem się schematu rozwiązywania zadań. Po pierwsze, wszystko rozwiązuję w Pythonie. Po drugie, standardu dorobiły się struktura katalogów, nazewnictwo plików, nazewnictwo plików z wejściem, czytanie wejścia. Parsowanie wejścia, i debug podczas pisania też. Niekoniecznie zawsze jest przez to wszystko szybciej, ale mam wrażenie, że czas rozwiązywania jest stabilniejszy.

Wydaje mi się, że lepiej radzę sobie ze strukturami danych i podziałem na funkcje. Staram się pisać bardziej pythonowo, ale różnie to wychodzi. Z innych obserwacji – do rozwiązywania niektórych zadań (np. części drugiej dziś) przydaje się zabawa w CTFy.

Ogólnie Advent of Code bardzo mi się spodobał. Na tyle, że wykupuję co roku AoC+. Warto, bo to prawdziwe pay what you want.

Spotify

W końcu się skusiłem na Spotify. Co prawda do tej pory największy portal z pirackim contentem, czyli YouTube, dawał radę, ale inni członkowie rodziny byli innego zdania. W sumie rozumiem. YouTube na telefonie to nieporozumienie. Wymaga włączonego ekranu i focusa na odtwarzającej aplikacji. To do słuchania muzyki jest zupełnie zbędne, a tylko rozładowuje baterię.

Na razie korzystam z wersji free, ale kupno wersji family[1] jest postanowione. W zasadzie mógłbym mieć wersję premium, bo dają, chyba na trzy miesiące[2], ale odkryłem ciekawostkę. Przy korzystaniu z przeglądarki internetowej, z ublockiem, nawet wersja free nie ma reklam. Co prawda korciło wypróbowanie ficzerów dostępnych w wersji płatnej, ale ponieważ i tak chwilowo nie mam czasu, gram z przeglądarki. I oznaczam ulubione.

Jeśli chodzi do ficzery to jest najważniejsze – możliwość pobierania muzyki do słuchania offline. Przyda się do zrobienia składanek do słuchania w aucie. Co prawda i tak mało jeżdżę ostatnio, ale składanki się przydadzą. Do tej pory nastawiałem się na album splitter opisany przy okazji tego wpisu.

Kolejna sprawa: jest aplikacja na Linuksa. Niejedna, bo widziałem jakieś nieoficjalne, działające w konsoli. Nie testowałem, bo ta oryginalna nawet działa, ale ponieważ miała reklamy, to wróciłem do przeglądarki. Sama aplikacja posiada ciekawą funkcjonalność – pozwala sterować odtwarzaniem na innych podłączonych urządzeniach. Wygląda bardzo interesująco, tym bardziej, że widziałem np. głośniki WiFi, które potrafią same odtwarzać Spotify. Może kiedyś na coś podobnego się skuszę.

Dostępność muzyki bardzo dobra. W sumie chyba nie zdarzyło mi się nie znaleźć czegoś z mainstreamu. Niszowych kapel garażowych nie ma, ale tego się spodziewałem. Raczej zdziwiłbym się, gdyby były. W końcu nie miały oficjalnych wydań albumów. Trochę brakuje mi danych o utworze i płycie z której pochodzi. Zdarzyło mi się trafić na wersje koncertowe, gdy szukałem podstawowych, z albumów.

To, co najbardziej mnie rozczarowało, to funkcja podpowiadania muzyki. Gdzie te ML i AI, się pytam? Nie no, oczywiście, coś tam się znalazło. Ale nadal, spodziewałem się czegoś, co zareaguje na like czy skip na utworze. Tymczasem nic takiego się nie dzieje, podpowiada wg swojego widzimisię. W dodatku zauważyłem, że ma tendencję do zapętlania się na tych samych utworach. Znaczy nic, czego nie było w YouTube. Szkoda, bo przydałby się tryb odkrywania nowej muzyki, czyli polecania utworów albo wykonawców w jakiś sposób podobnych, ale różnych. W wersji idealnej – ze sterowaniem poziomem losowości. Wygląda jednak, że Spotify skupiło się na radiach i różnego rodzaju listach itp. grupach tematycznych.

No nic, spróbuję zrobić na razie własne składanki… dlatego oznaczam ulubione utwory.

[1] Wersja family kosztuje aktualnie 30 zł. Jestem praktycznie pewien, że przed chwilą było to 25 zł.
[2] Też co chwilę się zmienia. Były trzy m-ce, są cztery.

UPDATE Z miejsca obok pojawiły się godne odnotowania sugestie dotyczące YouTube na Androidzie, rozwiązujące problem świecącego ekranu: LibreTube, Newpipe. Obie appki niedostępne w oficjalnym sklepie Google, wymagany F-Droid.

Advent of Cyber

Jakiś czas temu pisałem o Advent of Code. Uspokajam, że bawię się co roku. W zeszłym nawet z pewnymi sukcesami, przynajmniej według mojej subiektywnej oceny. Jednak nie samym programowaniem człowiek żyje. Jeśli ktoś interesuje się – albo zamierza interesować się – bezpieczeństwem komputerowym, to informuję, że jest coś takiego jak Advent of Cyber.

Wydarzenie ma za zadanie naukę podstaw IT security poprzez codzienne, proste zadania. Czyli nieco podobnie jak w przypadku Advent of Code. Na tym jednak podobieństwa się kończą. Zacząłem korzystać wczoraj, więc mogę nie mieć pełnego oglądu, ale pozwolę sobie na podsumowanie dotychczasowych spostrzeżeń.

Advent of Cyber ma trochę przyległości[1]. W pierwszym zadaniu jest spore parcie na obserwowanie firmy w social media. Co prawda tylko deklaratywne, ale jest. Całość też jest zauważalnie związana z platformą organizatora. Za to, w przeciwieństwie do Advent of Code, są nagrody rzeczowe losowane wśród uczestników.

Kolejna różnica, to zapewnienie pełnych materiałów edukacyjnych. Try Hack Me, czyli organizator to serwis oferujący szkolenia security i nie jest tu inaczej. Do pierwszego zadania było podane pełne wytłumaczenie podatności. Czyli w zasadzie zero wyzwania. Dla przypomnienia w Advent of Code dostajemy tylko treść zadania i trzeba kombinować samodzielnie od początku do końca.

Teoretycznie wymagane jest zestawienie tunelu VPN, ale organizator zapewnia maszynę wirtualną dostępną przez przeglądarkę. Jedyne ograniczenie to czas dostępności dla darmowych kont – jest to jedna godzina dziennie. Wydaje mi się, że powinno w zupełności wystarczyć na zadania z eventu.

Wydarzenie zaczęło się wczoraj, ale nie jest to żadna przeszkoda, by dołączyć. Można traktować je jako wprowadzenie do CTFów. Formuła podobna – zadania do zrobienia, flagi do zdobycia. Planuję się pobawić, trochę dla odświeżenia wiedzy, trochę dla bliższego zapoznania z platformą.

UPDATE: Po pierwszych paru dniach mogę potwierdzić spostrzeżenie po pierwszym dniu. To wydarzenie raczej edukacyjne, z gotowcami lub praktycznie gotowcami, niż wyzwanie. Nie jest to zarzut, a stwierdzenie faktu.

[1] Strings attached byłoby tu idealnym określeniem, nie znam polskiego odpowiednika.