Posts

RandomWords 0.1.7

Image
Puściłem przed chwilą na githuba i pypi nową wersję RandomWords 0.1.7. Główna zmiana to porzucenie modułu pickle i zastąpienie go modułem ujson , o którym ostatnio pisałem . Zrobiłem testy i jasno wyszło, że o wiele szybciej będę wczytywał dane za pomocą ujsona. Poniżej zamieściłem wykresy z testów. Każdy był przeprowadzony sto razy. Wykres szybkości wczytywania danych dla nowej wersji RandomWords. We wszystkich klasach widać wyraźny wzrost prędkości ładowania danych przy tworzeniu instancji.

Pobieranie słów z The Free Dictionary

Image
Do nauki języka i nie tylko, korzystam z programu  Anki . Przy okazji bardzo go polecam. Problem na jaki dzisiaj natrafiłem był taki, iż w większości decków stworzonych przez userów nie ma dźwięków i obrazków. O ile brak obrazka jeszcze przejdzie, to brak przykładu wymowy danego słowa już nie za bardzo. Jak się domyślasz znudziło mnie ciągłe przełączanie się między Anki i Google Translate czy The Free Dictionary w celu usłyszenia poprawnej wymowy danego słowa, więc postanowiłem napisać skrypt, który będzie za mnie szukał danego słowa, pobierał go w formacie mp3 i zapisywał do katalogu sounds, po czym ręcznie będę go mógł dodać gdzie zechcę, np. do Anki ;) Skrypt wrzuciłem na githuba: TDFPronunciation . Jak z niego korzystać znajdziesz w pliku README.md . Po pobraniu słowa, skrypt zapisze go w katalogu TDFPronunciation/sounds/ . Możesz sam utworzyć katalog sounds  po sklonowaniu repo, jednak nic się nie stanie gdy go nie będziesz miał, skrypt to wykryje i sam go stworzy. Przed ka

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: c

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