Niusy

Ż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 ...

Czytaj dalej...

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 ...

Czytaj dalej...

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 ...

Czytaj dalej...

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/

Czytaj dalej...

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 ...

Czytaj dalej...

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 ...

Czytaj dalej...

Słowo wstępne

Pająki tkają pajęczyny, ptaki zakładają gniazda, bobry budują żeremia a informatycy piszą blogi informatyczne. Takie jest prawo natury, więc i ja nie mogłem się mu długo opierać.

http://commons.wikimedia.org/wiki/File:Castor_canadensis1.jpg

"Salve munde!" ma za cel służyć Ludzkości i nieść sztandar Postępu ku powszechnej szczęśliwości to taka szuflada, do której będę wrzucał wszystkie pomysły, które wydały mi się ciekawe, ale nie chciało mi się ich do końca zrealizować. Prawda jest taka, że wejście w ...

Czytaj dalej...