Posts

Ultra szybki JSON, czyli ujson

Image
Kilkanaście godzin temu natknąłem się na moduł  ujson , który jest napisany w czystym C i może pochwalić się niebywałą szybkością :) Mimo, iż na stronie modułu są przedstawione testy z trzema innymi popularnymi modułami, sam również postanowiłem to sprawdzić. Moduł  ujson porównałem ze standardowym modułem w pythonie, czyli  json . Dane testowe Pierwsze dane to obiekt, z którym możemy się najczęściej spotkać przy codziennej pracy z różnego rodzaju api, natomiast do drugich danych wpisałem po prostu to co przyszło mi do głowy ;) test_data1 = {'status': True, 'msg': 'Message'} test_data2 = [{'name': 'tomislater', 'age': 24, 'sex': 'male'}, 8461, True, False, 8923, 7162, 1, 6, 7, None, [[True, False], ['!', '?']], 'yeah'] Serializacja do formatu JSON Do porównania obu bibliotek stworzyłem cztery funkcję. Po dwie do każdej. def test_json_data1(): return json.dumps(test_data1) def test_u...

Anki nie odtwarza plików wav

Ostatnio wraz ze zmianą laptopa zmieniłem również system operacyjny z Fedory na Ubuntu. Po zainstalowaniu Anki i zaimportowaniu swojego profilu mogłem zacząć naukę. Przeleciałem kilka decków, wszystko fajnie działa, odtwarza pliki mp3, pokazuje obrazki etc. Lecz na jednym z decków za cholerę nie chciał odtworzyć plików wav. Info przykładowego pliku: PerfectP(100).wav Codec: MPEG 1 Audio, Layer 3 (MP3) Channels: Mono Sample rate: 44100 Hz Bitrate: 63 kbps No dobra, pewnie nie mam potrzebnych kodeków. Poinstalowałem co trzeba, nadal nic... Co ciekawe w każdym programie do odtwarzania muzyki, pliki te działały. Czyli kodeki mam, to nie ich wina. To spróbuję dowiedzieć się coś o tym pliku przez soxa: >> soxi PerfectP\ \(100\).wav soxi FAIL formats: can't open input file `PerfectP (100).wav': WAV file encoding `MP3' is not supported Acha. Ciekawie się zaczyna. To może uda mi się go odtworzyć, próbuję: >> play PerfectP\ \(100\).wav play FAIL formats:...

Brak flagi xterm_clipboard w vimie pod ubuntu

Jeżeli pod Ubuntu zainstalowałeś vima poprzez sudo apt-get install vim  system zainstalował tobie tak naprawdę vim-tiny , który jest lekko okrojony. Np. nie ma ustawionej flagi xterm_clipboard , która bardzo się przydaje przy kopiowaniu. Możesz oczywiście skompilować vima z tą flagą albo wykonać polecenie sudo apt-get install vim-gnome lub vim-gtk , które zainstaluje rozszerzonego   vim 'a i zapewni ci między innymi ustawioną flagę xterm_clipboard . Nie musisz usuwać vim-tiny .

Krzaki w powerline

Jeżeli używasz powerline-bash czy vim-powerline i w konsoli masz krzaki . Tutaj znajdziesz rozwiązanie ;). Skopiuj czcionkę z której korzystasz do /usr/share/fonts/trutype i to wszystko. Osobiście polecam Source Code Pro lub Droid Sans Mono.

Kill Spiders 0.2.1

Miałem trochę wolnego czasu więc dodałem kilka rzeczy do repo. Dodałem bonusy polegające na tym, że gracz rzuca nie jedną, a dwiema lub trzema czaszkami jednocześnie. Im silniejszego pająka zabijesz tym większe prawdopodobieństwo, że otrzymasz bonus ;) Poprawiłem zapisywanie highscore, nie wiedzieć czemu gdy program wychodził z głównej pętli nie wykonywał zapisu do pliku :/ Zwiększyłem liczbę "specjalnych" pająków oraz zmieniłem liczbę czarnych czaszek które gracz otrzymuje za kolejny poziom z jednej na pięć. Na końcu jak zawsze lekka refaktoryzacja kodu ;) Chętnych zapraszam tutaj: kill_spiders Grę odpalasz komendą: python start_game.py

Anki - zapamiętuj łatwiej!

Anki to program, oparty trochę na zasadzie fiszek. Czyli przykładowo, masz kartkę na której z jednej strony jest słowo w języku obcym, a z drugiej strony to samo słowo przetłumaczone na Twój ojczysty język. Idea programu jest łatwa, częściej wyświetlane są słowa, które częściej zapominasz, a rzadziej wyświetlane te, które pamiętasz bardzo dobrze. Oczywiście to Ty decydujesz o tym z jaką częstotliwością program ma Ci przypominać o danej frazie. Ciekawym dodatkiem jest możliwość umieszczania obrazków, dźwięków, wideo oraz coś jak LaTeX , dzięki czemu o wiele lepiej zapamiętasz dane zagadnienie. Anki pozwala dodawać więcej niż tylko jedno słowo/zdanie ;) Można używać go do prze najróżniejszych celów. Kogo nie spytałem z osób, które go używają, to prawie każdy używał go jeszcze do kilku innych rzeczy oprócz zapamiętywania słówek, np. nauka komend unixowych nauka komend gita czy mercuriala zapamiętywanie stolic/państw przypominanie wzorów matematycznych :)) przypominanie...

tzf.pyramid_routing

Fizyk przygotował paczkę , za pomocą której w wygodny sposób można wczytywać ścieżki we frameworku Pyramid ;). Instalacja przez pip: pip install tzf.pyramid_routing Github: git clone https://github.com/fizyk/pyramid_routing.git cd pyramid_routing python setup.py install Dodawanie ścieżek Załóżmy, że tworzysz jakąś prostą appkę, gdzie za pomocą urla, chcesz zobaczyć profil jakiegoś użytkownika, statystyki (ogólne, jak i dla każdego usera z osobna) oraz prosty blog. Link do appki to: http://localhost:6543. Struktura appki: /my_app lib/ routing/ __init__.py blog.py user.py views/ __init__.py __init__.py development.ini W pliku __init__.py aplikacji umieszczasz: config.include('tzf.pyramid_routing') W pliku konfiguracyjnym np. w development.ini  ustawiasz coś na wzór: routing_package = my_app.lib.routing gdzie my_app  to nazwa aplikacji, a reszta to ścieżka do katalogu, gdzie będzie cały Twój routing. W  katalogu...