Niusy

Implementing Huffman algorithm in Rust 🤔

Well, in the beginning I have to confess that I thought that this task will be easy enough to complete it within few hours max. It turned out that I spent a way more. Really a lot. Enough to say that I discovered what is all this hassle with "fighting borrow checker" about.

What was my goal?

My goal was to implement Huffman coding algorithm as in this example: https ...

Read more...

Thougths about HTTP status codes for REST API

Recently I've been working on an API based system, which used HTTP as protocol for communication. It's nothing really unusual, everyone use it, because it has a lot of beneficial features and it's quite mature.

Yet when applying HTTP for purpose of API calls in frontend-backend or backend-backend calls you face some fundamental (well, not so fundamental in the live-death sense, but still) questions.

405

What was the ...

Read more...

How to organize tests in Rust?

rust

Recently I begun to play with Rust - a promising, multi paradigm programming language, that looks similar to C family at first glance, but turns out to be something way more interesting.

At the same time I was obsessed with TDD (test-driven development) methodology and wanted to write used it in a Rust project. However, I encountered some problems with organizing the test directories in my Rust. We'll be investigating ...

Read more...

PAN Kreator bot

Now in english. ᕕ( ᐛ )ᕗ

Check what we have created on Hackaton Kulturalny in Warsaw!



Bonifacio portrait


PAN Kreator github

This is something that we made for our friends from PAN Biblioteka Gdańska (library of Gdańsk). It's an internet bot used to fish out some interesting things from library, analyze them using simple machine learning algorithm and publish to Twitter and Facebook.

Check them!

https://twitter.com/PAN_Kreator
https://www ...

Read more...

Żeby zrozumieć rekurencję, trzeba zrozumieć rekurencję

Niedawno spotkałem się z koniecznością wygenerowania wszystkich kombinacji* pinów na potrzeby bruteforce'a i przy okazji zacząłem się zastanawiać w jaki sposób można by to zaimplementować we własnym zakresie.

*ściśle mówiąc permutacji z powtórzeniami

Każdy rozsądny człowiek otworzyłby google i po wpisaniu "python pin permutations" znalazł na stack-overflow'le funkcję product w bibliotece itertools. Funkcja ta generuje nam iloczyn kartezjański z danych wejściowych i właściwie nie wymaga zrozumienia istoty problemu ...

Read more...

Python po polsku - proof of concept

Przyszła mi do głowy szalona myśl, z rodzaju tych myśli, które przemeblowują aparat pojęciowy wewnątrz czaszki. Co by się stało, gdyby to nie anglosasi (w szczególności Amerykanie) wynaleźli komputer, a wraz z nim programowanie? Jakby to wyglądało, gdyby zamiast:

if, elif, else, while, try:except

używać kolejno:

jeżeli, albo jeżeli, dopóki, spróbuj:wyjąwszy ?

W myśl zasady, że należy podejmować wyzwania dla samej przyjemności podejmowania wyzwań, zmieniłem kod źródłowy Pythona 3 ...

Read more...

Poniat wzbogacił się o oprawę dźwiękową.

Dopisałem dziś do kodu coś, co jest obowiązkowym elementem gry i co w dużym stopniu decyduje o grywalności - dźwięki. Muzyka, dźwięki tła oraz wszystkie zdarzenia obsługiwane są za pomocą jednej prostej klasy.

 1 class Sounds(object):
2
3 def __init__(self):
4 mixer.set_num_channels(8)
5 self.a = mixer.Channel(1)
6 self.b = mixer.Channel(2)
7 self.c = mixer.Channel(3)
8 self.d = mixer.Channel(4)
9 ...

Read more...

Poniat - gra o trudach warszawskiego rowerzysty

Zapraszam wszystkich do wypróbowania gry, którą napisałem w efekcie rozważań nad rowerową przejezdnością mostu księcia Józefa Poniatowskiego w Warszawie.




Napisałem ją na prostym silniku graficznym własnego pomysłu, którego szczegóły niebawem przedstawię. Tymczasem zachęcam do pobierania. Gra działa zarówno na Linuksach, jak i Windowsach.

https://sourceforge.net/projects/poniat/

Read more...

Iptables jako prosty serwer proxy

Stare dobre iptablesy, znane i cenione przez wszystkich linuksiarzy mogą służyć jako prosty serwer proxy, zgadza się.

W poprzednim wpisie przedstawiłem przykład programu do odtwarzania muzyki na Raspberry, którym steruje się za pomocą panelu webowego - zwyczajnymi zapytaniami GET. Wszystko działa jak należy, ale pojawił się problem. Odtwarzacz (a konkretniej jego moduł socket) słucha na porcie 8080, a ja chciałbym, żeby można było się do niego dostać po porcie 80, czyli ...

Read more...

Odtwarzacz mp3 na Raspberry

Jakiś czas temu zapragnąłem odtwarzać muzykę z Raspberry Pi, urządzenia bardzo fajnego, tym, bardziej, że wyposażonego w port jack. Problem polegał jednak na tym, że nie mogłem znaleźć odpowiednio wygodnego programu do odtwarzania muzyki. Mpalyer i Omxplayer są niby jakimś rozwiązaniem, ale żeby z nich korzystać trzeba shella, tzn. trzeba się zalogować do Raspberry przez ssh. Napisałem sobie więc takie cudeńko.

Graj.py

Udostępniam to na licencji GPL3, więc NIE ...

Read more...
more