Archiwum

Kliknij na nagłówek żeby zobaczyć zwiastun artykułu.

Advent of Code
Chciałbym wszystkich niniejszym zachęcić do udziału w konkursie programistycznym Advent of Code. Natrafiłem na niego przypadkiem, ale już wcześniej zdarzyło mi się o nim słyszeć. W skrócie mamy 25 problemów do rozwiązania, jeden na każdy dzień adwentu. Wspaniała forma na wyczekiwanie i przygotowanie do świąt ;). W Advent of Code nie musimy wysyłać kodu źródłowego. Wystarczy otrzymanie wyniku obliczonego dla podanych danych wejściowych. Postanowiłem spróbować swoich sił. Takie wydarzenia, to na przykład wspaniała forma poznawania nowych języków programowania. Ja na pierwsze zadania wybrałem Groovy. Język łatwy do przyswojenia dla zaznajomionych z Javą. Jednocześnie dużo lżejszy i bardziej ekspresyjny. Czytaj Więcej ›

Jak (nie) szukać mieszkania w Sztokholmie, cz. 1
W niniejszym artykule dzielę się swoimi doświadczeniami związanymi z poszukiwaniem mieszkania na wynajem w Sztokholmie. Temat być może dla niektórych interesujący. Dla innych może po prostu przydatny. Szczególnie gdy im się kontrakt kończy. Tak jak to było w moim przypadku jeszcze nie tak dawno temu. Wpis pisany z perspektywy upływu czasu. Z wygodnego skórzanego fotela i maca postawionego na dębowym stole w świeżo wynajętym mieszkaniu. A jakże! Nie jest to 40. piętro, więc panorama skromna, ale narzekać nie można. No ale o tym później. Na początek zapodam preludium w postaci opisu sytuacji mieszkaniowej w stolicy Szwecji. Czytaj Więcej ›

Microservices #3 › Mikroserwis w Clojure – testy jednostkowe
Kolejny raz o naszym serwisie w Clojure z wykorzystaniem Compojure. Ostatnio zobaczyliśmy jak stworzyć projekt pozwalający na zarządzanie zasobami książkowymi. Pokażę teraz w jaki sposób możemy wzbogacić go o niezbędne testy jednostkowe. W praktyce pisane równocześnie z implementacją. Zasługujące jednak na samodzielny wpis. Czytaj Więcej ›

Lifehacki Czasu Programistów #1 › Sprawne kończenie rozmowy telefonicznej
Macie czasem tak, że po obgadaniu prawdziwej przyczyny wykonania telefonu, rozmowa traci na tempie i zaczyna poruszać przypadkowe tematy lub zawierać frazy typu “i co tam jeszcze u ciebie”, choć tak naprawdę nie jest to zbytnio interesujące dla żadnej ze stron? A może zdarza się wplatać niepotrzebne tłumaczenia podjętej decyzji, czy to biznesowej, czy prywatnej? A jak już dojdzie do fazy pożegnania – tutaj szczególnie w przypadku zażyłych relacji – to następuje stanowczo zbyt długa wymiana różnych synonimów zwrotu “cześć”, niczym w problemie bizantyjskich generałów? Czytaj Więcej ›

Minimalizm
Ostatnio słyszę i czytam na okrągło o minimaliźmie. Mimimalizm tu, minimalizm tam. Less is more, mniej tego, mniej tamtego. Paradoksalnie blogów, artykułów i szumu coraz więcej. Czarę zniecierpliwienia przelał jakiś kompletnie beznadziejny, autopromocyjny dokument, który obejrzałem na Netfliksie. No dobra, muszę przyznać, że nie na okrągło (to apropos czytania i słyszenia). Byłoby tak z całą pewnością, gdybym tylko (o ironio) nie był na - modnej jak się ostatnio dowiedziałem - diecie informacyjnej. Tak się składa, że chciałbym dodać swoje trzy centy mimochodem. Ale najpierw muszę się rozprawić z ogólnym brakiem ogarnięcia i pomieszaniem na tym polu. Czytaj Więcej ›

Microservices #2 › Clojure RESTful CRUD service
Rozwinięcie artykułu o stawianiu webserwisu opartego na Compojure. Pokazałem wtedy jak stworzyć od podstaw projekt, który z grubsza jedynie wita się ze światem. Przetransformujemy go teraz w minimalną działajacą aplikację. Będzie to fragment systemu obsługującego księgarnię. Celem jest napisanie REST-owego interfesju do zarządzania bazą książek. Czytaj Więcej ›

Microservices #1 › Piszemy nasz pierwszy REST-owy webserwis w Clojure
W artykule tym spotkamy się po raz pierwszy z Clojure. Fantastycznym nowoczesnym dialektem Lispa, działającym na JVM. Mógłbym o nim mówić w samych superlatywach. Na to jednak będziecie musieli trochę poczekać. Z pewnością nastąpi to w jednym z najbliższych postów. Teraz bowiem będzie krótko, zwięźle, do rzeczy i technicznie. Napiszemy najprostszy możliwy REST-owy serwis. Cóż więc innego mielibyśmy napisać, jeżeli nie sztandarowe hello world? Czytaj Więcej ›

O Prologu... – arytmetyka i rekursja
Mam nadzieję, że poprzednim wpisem udało mi się wzbudzić zainteresowanie tematem. Chciałbym dodać, że z Prologiem, podobnie jak z innymi językami o ciekawych paradygmatach, zetknąłem się po raz pierwszy na drugim semestrze informatyki na mojej uczelni. Niniejszy wpis jest nieco krótszy, wynika to z tego, że jest on rezultatem połowienia planu pierwotnego. Tematem będzie wykorzystanie arytmetyki maszynowej w Prologu oraz rekursja. Całość bardzo elementarna. Następne zdecydowanie już takie nie będą. Czytaj Więcej ›

5 restauracji wartych odwiedzenia w Zadarze
Do przeczytania dla wszystkich wybierających się do Zadaru. Dla niewtajemniczonych dodam, że to w Chorwacji ;) Podaję baardzo subiektywną listę miejsc, o których wiem, że warto w nich coś zjeść. Wiem, bo byłem i próbowałem. Od razu zaznaczam, że oprócz plusów pojawić się tam mogą też minusy. O tych, które są mi znane, postaram się wspomnieć. Lista zdecydowanie nie jest wyczerpująca, jako że nie odwiedziłem jeszcze wszystkiego, co potencjalnie interesujące. Kolejność jakościowa z lekką nutką losowości. Zaczynamy! Czytaj Więcej ›

Zdalna część rekrutacji do szwedzkiej firmy Klarna › Jak wyjechałem do Szwecji, cz. 1
Od zawsze wiedziałem, że będę chciał wyjechać za granicę. Wyjechać i pomieszkać w zupełnie innym miejscu przez bliżej nieokreśloną ilość czasu. Sprawdzić czy gdzie indziej płynie on inaczej. Poznawać i przebywać wśród ludzi o odmiennym spojrzeniu na świat. Uwarunkowanym innymi korzeniami, historią i kulturą, zwyczajami czy panującym tam klimatem. To także dla mnie jeden z filarów życiowej wolności: dzisiaj jestem tutaj, jutro mogę być gdzie zechcę... Czytaj Więcej ›

Wprowadzenie do sieci neuronowych cz. 2
To druga część pościgu za sieciami neuronowymi. Pojawienie się nowych postaci, skomplikowanie fabuły, zawiązanie akcji. Pełen emocji punkt kulminacyjny oraz zakończenie. Takie niby melancholijne, ale jednak podszyte wiarą i nadzieją. Wszystko co potrzebne żeby opowiedzieć interesującą historię. Prawie jak ,,Stary człowiek i morze''. Tylko sieci już nie te. Czytaj Więcej ›

Wprowadzenie do sieci neuronowych, cz. 1
Jeden z nielicznych (jeszcze) postów napisanych przeze mnie oryginalnie po angielsku. IMO wartościowy i godny zamieszczenia także na niniejszym blogu. Wersja ojczysta. W artykule dzielę się swoją wiedzą i przemyśleniami na temat sieci neuronowych. Moim zdaniem jednego z najbardziej przecenianych i jednocześnie niedocenianych bytów w informatyce. To jedna z rzeczy, o których wszyscy (aktualnie coraz częściej) mówią, ale niewielu tak naprawdę wie z czym się to je. Czytaj Więcej ›

Opowieść o przywództwie › The Five Dysfunctions of a Team
Miałem ostatnio przyjemność przeczytać tytułową książkę Patricka Lencioni. Otrzymałem ją w ramach prezentu świątecznego od CEO mojej firmy. Dostali ją zresztą wszyscy. Razem ze słuchawkami. Nie chce ktoś kupić może? Dla mnie za małe. Spoko że była w oryginale. Mogłem przy okazji poćwiczyć angielski, co było chyba główną motywacją. Ale sama książka też mi się spodobała. Na tyle, że chętnie podzielę się po trochu jej treścią w sparafrazowanej formie, jak i swoimi przemyśleniami. Czytaj Więcej ›

Pierwszy krok w podróż dookoła świata › Czy opłaca Ci się rozpoczynać naukę programowania?
Pytanie absolutnie fundamentalne, na które odpowiedź nasuwa się sama: pewnie! Same korzyści. Możliwość pracy z dowolnego miejsca na świecie, niezależność, prestiż, n-krotność średniej krajowej, praca (subiektywnie) bardzo ciekawa, rozwojowa, itd. itp... Byłaby to jednak odpowiedź z mojego punktu widzenia. A tysiące godzin konsultacji programistycznych nauczyć mogą, że rzeczy nie zawsze wyglądają tak samo z każdej strony... Czytaj Więcej ›

Bezpiecznie i wygodne przechowywanie danych w Dropbox: Truecrypt vs EncFS
Większość z nas przechowuje chociaż część swoich danych w różnego rodzaju ,,chmurach'', których mamy teraz bogaty wybór. Niniejszy wpis traktuje o aspektach bezpiecznego z nich korzystania, które przedstawione zostaną na podstawie Dropboksa, a znajdą z pewnością także zastosowanie w przypadku innych rozwiązań. Interesującym nas zagadnieniem jest szyfrowanie danych. A w zasadzie jego brak. Bo o ile pliki przesyłane w bezpieczny sposób, to już przechowywane są w swojej zwyczajnej postaci. I tutaj pomimo zapewne wysokich standardów bezpieczeństwa, teoretycznie, mogą uzyskać do nich dostęp osoby trzecie. Co Dropbox oczywiście przyznaje... Czytaj Więcej ›

Rzecz o potrzebie nieustannego samodoskonalenia › Nie kupuj nowego routera Wi-Fi. Możesz mieć Raspberry Pi!
Potrzeba matką wynalazku. Taki mógłby być (pod)tytuł tego wpisu. Byłoby to jednak małe przekłamanie. Niestety niczego wynaleźć mi się nie udało. Skorzystałem z pewnego opisanego już tu i ówdzie rozwiązania. Niestandardowego jednak. Takie lubię najbardziej. Otóż: nie zamieniłem starego routera bezprzewodowego na nowszy model, gdy ten odmówił posłuszeństwa. Kupiłem zamiast tego Rasperry Pi. Taki mały komputer. Mały, ale jary... czy jak tam to leciało... Czytaj Więcej ›

HackerRank – świetny sposób na programistyczny event dla twojego zespołu
Jestem zwolennikiem wszelkiego rodzaju rekreacyjnej programistycznej aktywności pozapracowej. Szczególnie kiedy odbywa się ona w biurze, w godzinach pracy i to jeszcze przy zachęcie przełożonych. Mam na myśli tutaj wszelkiego rodzaju coding dojo czy hackatony.Moim zdaniem filary dobrej kultury kodowania w firmie. Jako że moja firma kulturę tę ma wysoko rozwiniętą, nie ma problemu z organizacją takich wydarzeń. Mam zatem przyjemność podzielenia się pomysłem, sprawdzonym przeze mnie niedawno w moim zespole. Czytaj Więcej ›

Pytanie nie tak trudne jak się może wydawać › Jaki język programowania?
W tematach okołokomputerowych, chyba nawet częściej niż w ,,normalnym'' życiu, sporo jest miejsca do zażartych dyskusji typu: ,,o wyższości Świąt Bożego Narodzenia nad Świętami Wielkiej Nocy''. Oto jeden z bardziej popularnych tematów. Czytaj Więcej ›

W 2 minuty dookoła programowania logicznego › O Prologu słów kilka
Artykuł opierający sie na materiałach sięgających czasów studenckich autora tego bloga, czyli dobrą dekadę wstecz. Wtedy to jednym z wykładów do wyboru było programowanie logiczne. Jest to niecodzienny rodzaj programowania. Mała szansa, że choćby usłyszymy o nim w statystycznym projekcie w firmie. Czuję jednak wielką chęć na wniesienie swojego wkładu w rozpowszechnianiu prologowych idei. Muszę przy okazji przyznać, że go bardzo lubię. Szczególnie za ten deklaratywny styl. W programie prologowym nie mówimy krok po kroku, co należy zrobić żeby dane zadanie czy problem rozwiązać. Zamiast tego po prostu *deklarujemy* jakie warunki powinno spełniać jego rozwiązanie. Prolog sam znajdzie interesujące nas instancje. Czytaj Więcej ›

Nie tylko dla blogerów › Jak założyć profesjonalnego bloga za darmo: Jekyll i GitHub Pages, cz. 1
Prawdopodobnie inauguracyjny wpis na niniejszym blogu. O czymże więc miałoby być, jeżeli nie o początku przygody z technicznymi aspektami jego założenia. W moim przypadku wybór padł na Github Pages. Rozwiązanie pełne zalet. Bardzo wygodne dla kogoś korzystającego z gita na co dzień. Jeszcze lepsze dla pozostałych. Czytaj Więcej ›