Czy zastanawialiście się kiedyś, czy programowanie można uznać za formę sztuki? Czy czujecie się czasem artystami przed komputerem?
Zaciekawił mnie ten temat więc zacząłem go drążyć, pytając o to moich znajomych programistów i czytając artykuły filozoficzne na temat tego, co definiuje sztukę.
W poniższym filmie zebrałem całą moją wiedzę i próbowałem odpowiedzieć na pytanie jak prawdziwy inżynier – używając logiki boolowskiej 😉
Opcje na akcje często pojawiają się jako dodatkowa zachęta w ofertach pracy. W moim kolejnym video postanowiłem, na konkretnym przykładzie, wyjaśnić jak działają opcje i czy rzeczywiście zawsze są wartościowym dodatkiem do kontraktu.
Niedawno na Medium Productboarda pojawił się mój post opowiadający o tym, w jaki sposób dodaliśmy drugą bazę danych do naszej monolitycznej aplikacji w Railsach oraz skonfigurowaliśmy ją tak, aby nie marnować czasu CI i nie utrudniać życia tym deweloperom w zespole, którzy nie potrzebują nowej bazy do tworzenia swoich feature’ów.
W moim najnowszym poście piszę o tym, w jaki sposób zintegrować RSpec, ngrok, Capybarę i CrossBrowserTesting.com żeby testować interfejs użytkownika zdalnie na różnych przeglądarkach i systemach.
Ostatnio spędziłem kilka ładnych godzin pracując nad blogiem w Leadfeederze (blog stoi na Jekyllu). Moim celem było wyświetlenie customowego pliku w formacie Liquid. Pozornie prosta sprawa pochłonęła mnóstwo czasu. Z tego powodu postanowiłem opisać to w moim najnowszym poście tak, aby oszczędzić czasu innym „śmiałkom” podchodzącym do tego tematu.
Zapraszam do przeczytania w serwisie dev.to: LINK.
Jakiś czas temu, zainspirowany filmem The Imitation Game, zacząłem drążyć temat niemieckiej maszyny szyfrującej Enigma z II Wojny Światowej. Chciałem zrozumieć jej działanie i, być może, spróbować stworzyć moją własną, elektroniczną, wersję tego urządzenia.
Zrozumienie mechanizmu zajęło mi więcej czasu niż przypuszczałem. Bardzo pomógł mi w tym film na YT na kanale numberphile, w którym prowadzący objaśnia temat na prawdziwym egzemplarzu Enigmy. Oprócz tego ciekawym dodatkiem z punktu widzenia historycznego okazał się rozdział o Enigmie z książki Łamacze Kodów – Historia Kryptologii Davida Kahna. Autor w zajmujący sposób opowiada o tym, jak maszyna ewoluowała w czasie tak, aby coraz bardziej utrudniać przeciwnikom łamanie szyfrów.
Enigma widnieje nawet na okładce książki
Ostatecznie okazało się, że nie jest to aż tak skomplikowane urządzenie. Powiedziałbym wręcz, że jest genialne w swojej prostocie. Wiedząc już jak działa Enigma zabrałem się za pisanie programu.
Napisanie samego algorytmu okazało się być naprawdę proste – całość logiki zamknęła się w 160 liniach Javascriptu. Bardziej czasochłonne okazało się stworzenie UI – prawdopodobnie przez moje niezbyt wysublimowane umiejętności tworzenia arkuszy CSS oraz to, że postanowiłem jednocześnie nauczyć się obsługi webpacka 🙂
Uważam że całkiem fajnie wygląda też łączenie kabli w panelu w dolnej części aplikacji (plugboard) gdzie wykorzystałem pakiet https://github.com/sasza2/arrows który pozwala na rysowanie zakrzywionych (krzywe Beziera) linii bardziej przypominających kable niż zwykłe, proste odcinki.