Misje fajne, ale czasu brak

Po części ten post jest odpowiedzią na post Malcoma

Naprawdę to miał on być podsumowaniem do misji 016, bo rozwiązanie, jakie zaprezentował Gynvael trochę mnie zaskoczyło. Analizując sygnał bardziej wyobrażałem sobie, że autor foxtrot_charlie napisał funkcję, która przyjmując dane wejściowe wypluwa falę sinusoidalną różnej długości (jak powstał pomysł misji). Nie spodziewałem się tego, że ten sygnał mógłby być znanym formatem SSTV, który można w łatwy sposób odczytać dostępnym programem (np. RX-SSTV). Tak to już ze mną jest, że najpierw w głowie pojawia się myśl “jakby to można zaprogramować”, a dopiero później “wejdź na google i poszukaj”, bo może ktoś już coś takiego zrobił.

Po co podsumowanie do misji? Bo one są zajebiste. Do każdej z nich można by napisać masę wniosków i rozważań. Zaproponować alternatywne rozwiązania, także w innych językach. Dużo ciekawej wiedzy z tego wypływa, z którą na co dzień nie jest nam dane obcować. Bardzo ważnym elementem jest możliwość zobaczenia w jaki sposób inni rozwiązali ten sam problem. Często zaskakuje mnie zwięzłość rozwiązania, w szczególności w Pythonie i Ruby. Niby poważne zadanie, a tu 3 linijki i załatwione.

Właściwie to od Ruby się zaczęło. Pierwszą misję Gynvaela zobaczyłem na blogu KrzaQ. Była to misja 009. Czytając jego rozwiązanie w pierwszej chwili pomyślałem, że albo to jakiś nieznany mi język programowania, albo jakiś dziwny pseudokod. Trochę poszperałem i wyszło że najprawdopodobniej to Ruby. I w taki oto sposób przy okazji czytania rozwiązania misji poznajemy nowy język programowania.

Pauza…….. Co w tym może być nie tak?

Mianowicie… Brak czasu.

Nie mam czasu na rozwiązywanie misji, a co dopiero na jakąś analizę. Przychodzi kolejny tydzień i mamy dwie następne misje do rozwiązania. Ile jest ich jeszcze!? Gynvael czy nie mógłbyś robić w jednym tygodniu misję EN, a w drugim PL i tak na zmianę? Daj szansę dziadkom 😉

OK… ale wróćmy jeszcze kilka tygodni wstecz… tfu ten czas zapierdziela… kilka miesięcy wstecz. Pierwszą misję, za którą się zabrałem to misja z Dronem. Dawno już była rozwiązana i nawet filmiki z animacjami były, ale mi się bardzo spodobała. Rozwiązałem ją na jeden sposób i zacząłem implementować na 2 kolejne. Głównie chodziło o wydajność. Nie wiedziałem jeszcze wtedy, kiedy będzie następny livestream. Nie przejmowałem się tym. O tym, że misje są na końcu każdego streama też nie wiedziałem. Miałem w głowie tylko tyle, że do zrobienia jest jeszcze 7 poprzednich misji. Super! Zrobię je sobie kiedyś. Będzie fajna zabawa i nauka przy okazji.

Zacząłem oglądać live streamy, polskie i angielskie. Widziałem, że Gynvael pokazuje na początku osoby, które rozwiązały misję. Hmmm… fajnie by było też się tam znaleźć. Rach ciach… No i udało się. Była to misja 015 z kanału GynvaelEN, więc stwierdziłem, że wypadałoby napisać rozwiązanie po angielsku. Niestety mój angielski wybitny nie jest, więc napisałem kilka zdań, dodałem kod i udostępniłem na GitHub’ie. Cel został osiągnięty, rozwiązanie pojawiło się na YouTube.

Bardzo miłe uczucie, gdy ktoś prezentuje twoją pracę i pozytywnie się o niej wypowiada. Był aczkolwiek mały zgrzyt, bo Gynvael powiedział, że był “little confused” na początku. No mógł być, bo faktycznie opis mizerny. A tak na marginesie wtf, co tam robi na filmie $”Analyse rows”? Przecież to jest analiza kolumn, a nie wierszy. Najprawdopodobniej skopiowałem to skądś i nie zmieniłem. Niestety to co się dostanie na filmik to już zostaje.

Filmik ten pojawił się w Niedzielę, a kilka dni wcześniej w środę zaprezentowana była kolejna misja 016. W tym momencie ja już miałem sygnał rozszyfrowany. Trzeba było tylko rozwikłać szyfr Playfair i napisać posta. Znowu zapragnąłem znaleźć się na filmiku (czyżby parcie na szkło?). Tym razem opis przygotowywałem po polsku, bo po angielsku nie dał bym rady. Dni leciały, a tekst się nie posuwał. Mam tylko czas wieczorami na siedzenie przed kompem. Limit był do soboty… uff udało się. Zarwałem trochę nocy, ale skończyłem. Czy było warto?

Oczekiwanie… W końcu jest Gynvael dodał nowy filmik. Na początku zdziwienie. Wystarczyło użyć programu i sygnał byłby rozkodowany. No ale na końcu dostaliśmy pochwałę, tzn. Adrian Laskowski i Ja, za to, że nie wiedzieliśmy co to może być za sygnał, a udało nam się go zdekodować. Cel osiągnięty, satysfakcja ogromna.

Jednocześnie byłem świadomy, że przepadła mi misja z kanału polskiego (ta która była na drugi dzień). Szkoda, bo była w tematyce, którą lubię. Z tym, że to było 3 streamy temu, a na kolejnych dwóch doszły dwie kolejne misje, a za parę dni znowu dwie kolejne. Za dużo tego. Trochę dołujące to jest.

 

No i w końcu mogę napisać to o czym chciałem na samym początku. czyli o poście Malcoma. To co napisał spowodowało że poczułem wielką ulgę. Nie mówię tutaj o tym, że wymienił mnie w swoim poście i  pochwalił to co zrobiłem, tylko o tym:

…jak już uda mi się kiedyś znaleźć trochę wolnego czasu, to sam spróbuję.

… Za dużo mam innych pomysłów i planów do realizacji.

To jest bardzo pokrzepiające jeśli słyszy się, że ktoś ma podobne problemy do ciebie. Ja też cierpię na brak czasu. Aktualnie aktywnie (bo nie da się inaczej) prowadzę dwa projekty, które pochłaniają masę czasu i zaangażowania… Syn skończył 3 lat, a córka ma już prawie 9. 😀

Czasem trzeba z czegoś zrezygnować. Nie można za wszystko brać się od razu. Misja nie zając nie ucieknie. Jednak to co jest fajne gdy rozwiązuje się te zadania na bieżąco to całe to community, zgromadzone wokół. Tego nie da się odtworzyć później. Zostają tylko komentarze na youtube i posty na blogach.

Dlatego moim zdaniem dobrym pomysłem jest zerknięcie na zadanie i jeśli przychodzi nam do głowy jakiś pomysł to próbujmy coś zrobić, kilka minut, a jeśli nie to dajemy szansę innym. Z misją 016 miałem tak, że na pomysł rozwiązania wpadłem po chwili, a ~godzinę później miałem już sygnał rozkodowany i patrzyłem na obraz z zaszyfrowanym hasłem. Natomiast druga cześć to był hardkor. Przez kilka dobrych dni nie umiałem tego rozkminić. Teraz gdy na to patrzę, to mogłem sobie darować i zobaczyć rozwiązania innych. Zaoszczędziłbym trochę czasu, bo nawet gdybym napisał posta tylko z pierwszą częścią to i tak byłoby fajnie.

Wydaje mi się, że dużą rolę odgrywa tutaj doświadczenie (i trochę szczęścia). Jeśli ktoś miał styczność z danym formatem to albo od razu będzie wiedział jak to zdekodować albo przynajmniej będzie wiedział od czego zacząć. Patrząc na rozwiązania innych, także powiększamy swój zakres wiedzy i może się on przydać w rozwiązywaniu kolejnych zadań.

Podsumowując wszystko…

Czy było mi lepiej bez misji? Hmm i tak i nie. Jest to dobra zabawa na rozruszanie kości, bo na co dzień siedząc w większym projekcie zapominamy o tym, jak np. wczytać dane z pliku. Dzięki takim misjom mamy okazję zejść do niższych poziomów naszego pięknego programistycznego świata.

Post Author: marbel82

1 thought on “Misje fajne, ale czasu brak

    Malcom

    (16 października 2017 - 10:42)

    Czasami, gdy się nie ma pojęcia, jak robią to inni lub że nie da się tego zrobić, wpada się na niecodzienne kreatywne rozwiązania.

    Ja ciągle jestem pod wrażeniem ręcznej analizy sygnału, muszę kiedyś coś podobnego spróbować. Na pewno się przyda, bo kiedyś trzeba będzie ruszyć także trochę DSP przy radiowych zabawach…

    A brak czasu to niestety paskudna choroba, której ciężko się pozbyć, nie zawsze dobre planowanie wystarcza, choć sam staram się z tym walczyć. Ale gdy wracasz zmęczony po pracy, po ciężkich bojach z kodem źródłowym i binarnym… to często po prostu nie masz już na nic ochoty… Możesz albo odpocząć i zrelaksować się poza tematyką techniczno-technologiczną, albo jednak porobić coś dla zabawy lub chociaż nieco mniej absorbującego, aby się nie “przegrzać”. Czasami wybór jest ciężki, a planów i pomysłów na liście todo przybywa 🙂

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *