# Koduj z Hakierspejsem
Data: 04.05.2020, 18:00
Nazwa: Koduj z hakierspejsem
wiemy, musimy na razie siedzieć w domach, jednak nic nie stoi na przeszkodzie spotkać się z nami online, a przy okazji dowiedzieć się czegoś o nas więcej! Przygotowaliśmy dwa Was dwuczęściowe spotkanie, na którym będziecie mogli się czegoś nauczyć!
## Rozkład jazdy
### Co w torrencie piszczy: jak czytać pliki bencode w Pythonie
Poprowadzi Jacek (czas trwania: 30 - 60 min).
* **Szybkie wyjaśnienie**:
* Bittorrent to sieć, która pozwala na przesyłanie plików między użytkownikami. Jest "peer to peer", co oznacza że nie ma jednego węzła centralnego przez który możnaby całość cenzurować.
* Bencoding to format zapisu danych używany w plikach .torrent. Jest to standard serializacji, czyli można z nim robić podobne rzeczy jak z JSON czy YAMLami. Ma tę przewagę, że dane binarne zajmują w nim mniej miejsca.
* Celem zajęć będzie napisanie (albo chociaż zaczęcie pisania) prostego czytnika plików torrent. Nie będzie on nic pobierał z sieci, ale będzie umiał wyświetlić listę plików do których ten plik .torrent się odwołuje.
* Przy okazji pokażę, jak Hakierspejs regularnie komunikuje się online - użyjemy tych samych narzędzi, których zwykle używamy na spotkaniach, dzięki czemu lody będą już przełamane :)
* **Target audience** - idealny słuchacz:
* Używał kiedyś sieci bittorrent / rozumie jak ona działa z perspektywy użytkownika (polecam przetestować na jakimś obrazie płyty CD Ubuntu)
* Umie programować w Pythonie na poziomie podstawowym: operacje na plikach, rozumie struktury danych takie jak listy i słowniki, funkcje rekurencyjne
* (nie jest to konieczne) miał do czynienia z jakimś formatem serializacji, np YAML albo JSON
* Nie boi się patrzeć w terminal ani zadawać pytań
### Wstęp do Go: prosty i wydajny język programowania
* **Kto poprowadzi**: [Beniamin](https://t.me/thinkofher).
* **Ile potrwa**: 60 - 90 minut.
* **Target audience** - idealny słuchacz:
* Zna podstawowe pojęcia związane z programowaniem (typy danych, zmienne, procedury).
* Programował kiedyś w innym języku.
* Korzystał kiedyś z narzędzi CLI (np. **npm** lub **pip**).
* **Program**:
* Proste typy danych, zmienne
* Złożone typy danych
* Podstawowe instrukcje kontroli przepływu
* Struktury, metody oraz interfejsy
* Prosty serwer http
* Środowisko go (jak starczy czasu)
## Jak uczestniczyć?
* Wgrać Mumble
* pod Linuksem: `apt-get install mumble`
* pod Windowsem: https://www.mumble.info/downloads/
* pod Androidem: nie testowałem, ale podobno się da
* Skonfigurować mumble, najlepiej w trybie Push to Talk żeby nie było echo
* alternatywa: po prostu się wyciszać ręcznie dopóki nie chce się czegoś powiedzieć
* push to talk wymaga podpięcia jakiegoś klawisza, który trzeba wciskać w trakcie mówienia
* Połączyć się z serwerem junkcc.net (nie ma go na liście, trzeba wprowadzić ręcznie)
* można to zrobić wcześniej, żeby przetestować ustawienia - zwykle na serwerze jest nasz bot, dzięki czemu widać wiadomości z naszego Telegrama
* Link do wideo prześlę po chacie Mumble