pl  |  en

Erlang zmienia życie

Erlang, który zmienia życie, sztuka tworzona dzięki procesorom 8 bitowym i kobiety, które są motywacją do pracy… Publikujemy wywiad z Adamem Rutkowskim – klientem MegiTeam, laureatem konkursu 5 historii na pięciolecie.

DSC_4688

MegiTeam: Na swojej stronie piszesz, że kochasz Erlanga. Za co językowi programowania należy mu się takie uwielbienie?

Adam Rutkowski: Przede wszystkim za OTP (Open Telecom Platform), które jest zbiorem generycznych abstrakcji i niesamowitych bibliotek, pozwalających budować systemy rozproszone, równoległe i odporne na awarie.  No i oczywiście fascynuje mnie też społeczność skupiona wokół Erlanga – nigdy wcześniej nie poznałem tylu ciekawych osobowości.

MT.: Erlang zmienił Twoje spojrzenie na programowanie?

A.R.: Nieodwracalnie! Przede wszystkim kompletnie przestałem rozumieć OOP, którym posługiwałem się przez kilka lat.  Wcześniej używałem głównie Pythona i JS, szczególnie w kontekście aplikacji webowych. Mój traumatyczny związek z Javą i technologiami „enterprise” trwał (szczęście w nieszczęściu) bardzo krótko. Dziś rzadko tam wracam, choć czasem posiłkuję się tymi językami (nadal pracując nad systemami “przemysłowymi”). Kiedy mam lepszy dzień siadam do Lua, próbując sił nad edukacyjną grą dla mojego procesu potomnego. Dziś, OOP rozwiązuje (z mojej skrzywionej perspektywy) tylko te problemy, które samo tworzy. Ból fizyczny sprawia mi myślenie o programach, w których wykorzystanie wielu rdzeni jest trudne, lub takich, które oferują wątki do zrównoleglania prac. Strach ogarnia mnie na myśl o mutowalnych zmiennych i braku optymalizacji rekurencji w innych językach. Erlang jest językiem funkcyjnym i sprawdzonym w bojach produkcyjnych – to dosyć rzadkie zestawienie. Nie lubię programować obsługi błędów. Wolę eliminować błędy. Dlatego wiążę swoją przyszłość z Erlangiem – na conajmniej nadchodzącą dekadę :-). Wszystkim polecam także ten film (zamieszczamy go poniżej – przyp. MegiTeam).

MT.: Wykorzystujesz Erlanga w codziennej pracy?

A.R.: Jak do tej pory bardzo mi się przydawał. Mam do czynienia głównie z systemami pracującymi w środowiskach operatorów telekomunikacyjnych. Obecnie pracuję nad dosyć złożonym proxy webserwisów oraz usługą umożliwiającą zmianę i automatyczny provisioning parametrów konta (numeru, taryfy itd.). W przyszłości chciałbym go wykorzystać do projektów realizowanych w „chmurach” (muszę przyznać, że nie cierpię tego słowa) i wygląda, że jestem na dobrej drodze. Wkrótce zaczynam pracę nad dużym systemem rozproszonym. W ostatnich latach było to moim największym marzeniem. Niestety nie mogę zdradzać szczegółow (NDA!). Może kiedyś uda mi się zmienić świat na lepsze, och! 🙂

MT.: Podobno masz obsesję na punkcie efektywności pracy?

A.R.: Mam obsesję na punkcie narzędzi zwiększających wydajność pracy –  wynika to wyłącznie z mojego lenistwa. Lubię pisać na klawiaturze, ale nie po drodze mi z bólem nadgarstków – stąd moja miłość do Vima (chociaż evil-mode 1.0 wygląda całkiem fajnie!). Lubię „tuningować” swoje narzędzia, a Vim (pomimo obskurnego języka skryptowego) pozwala mi na odrobinę fantazji. Unikam posługiwania się myszą. Mój system operacyjny, przeglądarka i kilka innych aplikacji, wspierają skróty klawiszowe zgodne z moimi preferencjami w Vimie. Dzięki temu powstaje miłe złudzenie, że nie tracę cennych milisekund na bzdury, bo minimalizuję ilość powtarzających się czynności i ilość ścieżek do nich. Wypracować sobie zestaw narzędzi i poznać je na wylot – wtedy można czerpać radość z używania ich. Moją skromną (w porównaniu np. do użytkowników Vima z Japonii) konfigurację można obejrzeć tu:

https://github.com/aerosol/vim-conf/blob/master/.vimrc

MT.: Patrzymy na Twoje konkursowe zdjęcie – trzymasz córkę na kolanach. Pracujesz z domu, czy córka wpada czasem do biura?

A.R.: Pracuję w różnych miejscach, w zależności od humoru, potrzeb i warunków – ale też  nie chodzę z macbookiem do Starbucksa ;). Odkąd moje dziecko nauczyło się biegać i skakać, raczej unikam wspólnych lokalizacji. Chyba, że akurat śpi. Moje dziewczyny (żona i córka) są przecudowne. Są najlepszą motywacją, żeby wciskać guziczki i gapić się w ekran bez względu na wszystko.

Zdjęcie konkursowe

MT.: Piszesz o sobie:„I am retired ASCII/ANSI artist” – opowiesz nam o hobby sprzed czasów „emerytury”? 

A.R.: Jakieś 15 lat temu fascynowałem się demosceną. Często jeździłem na copy parties gdzie naprawdę zdolni ludzie wyciskali siódme poty z procesorów 8-bitowych. Ja należałem do tych trochę mniej zdolnych, którzy zajmowali się swappowaniem (czyli nawiązywaniem kontaktów i dystrybucją produktów demosceny na dyskietkach, pocztą tradycyjną) lub robieniem ASCII/ANSI. Byłem w grupach Remorse1981, Secular i Beepop Ascii (którą założyłem z moim sąsiadem Maciusiem). W tamtym czasie żyło jeszcze kilka BBS-ów i było na to spore zapotrzebowanie. Niektórzy artyści ASCII/ANSI wciąż działają. Teraz to już tylko sztuka dla sztuki.  Co nieco takich prac można znaleźć na sixteencolors.net, a mały miks moich na https://mtod.org/ascii/.

MT.: To ostatni wywiad z cyklu 5 historii na 5 lecie, który zamyka obchody okrągłych urodzin naszej firmy.  Zamkniemy  go Twoimi spostrzeżeniami na temat MegiTeam?

A.R.: Cenię Was za profesjonalny support, miłość do open source i entuzjazm. Chciałbym widzieć więcej firm, w których tak, jak u Was liczą się ludzie i ich pasja do pracy.

  • Grzegorz Głąb

    „Dziś, OOP rozwiązuje (z mojej skrzywionej perspektywy) tylko te problemy, które samo tworzy.” – zgadzam się i też od tego uciekam – w obecnych czasach działania systemów rozproszonych głównie w oparciu o wymianę informacji w czasie rzeczywistym przestaje być to wygodne 😉

    Wprawdzie nie wykorzystuję erlanga (kiedyś robiłem przymiarkę, ale z braku dobrych materiałów odpuściłem – chyba, że coś Pan poleci dobrego to chętnie na nowo się zainteresuję), ale skupiam się na javascript i krążę gdzieś wokół google v8 engine (założenia: aplikacje rozproszone, komunikacja oparta o zdarzenia, na wszystkich warstwach jako język programowania javascript) i frameworkach/narzędziach wspierających komunikację w czasie rzeczywistym (głównie technologie: WebSockets, WebRTC) i podobnie jak Pan widzę potencjał w projektach realizowanych w chmurach i przetwarzaniu rozproszonym.

    3mam kciuki i życzę wszystkiego najlepszego! Fajnie się czyta takie wpisy o ciekawych ludziach 😉