* Nápady na vývoj Konqueroru

2. November 2009, Jakub Horák. Categorized as Konqueror.


Objevil jsem chybu v modulu kdewebkit, která způsobila pád konqueroru z flashplayeru. Bug to byl velice hnusný, protože nevracel žádný použitelný crashreport. Po víkendu bughuntingu jsem zjistil, že chybu způsobuje AdblocK, který zablokuje reklamu vkládanou youtubem do videí.

Bug byl odhalen, ale než se tak stalo, nastavil jsem si vcelku pěkné prostředí pro vývoj KDE a zkompiloval SVN verzi jeho knihoven. Tak si říkám, že bych mohl taky něco naprogramovat.

Mám následující nápady:

  • Fulltextové hledání v konqueror shortcuts history
    • když napíšu “seznam”, chci aby mi to našlo, že jsem hledal “g seznam” (nebo to může být jak v opeře -nenajde to g seznam, ale v historii prohlížení to najde googlesearch seznam)
    • když napíšu “g máš”, chci, aby mi to našlo “g ahoj jak se máš”
    • když napíšu “g seznam”, chci, aby mi to našlo, že jsem hledal “j seznam”
  • FastDial pro konqueror? To bude asi složité.

Tags: .



* Ještě k Tele3

20. October 2009, Jakub Horák. Categorized as Unassigned.


Ukázalo se, že pánové z tele3 .cz nejsou ohledně databází tak oškliví, jak jsem popisoval v příšpěvku Trable s hostingem. Osobně mě kontaktovali a nabídli freehosting databáze. Za to jim děkuji.

Tags: .



* Pacman da Pampuch

4. September 2009, Jakub Horák. Categorized as Pacman.


Pacmana ovládáte šipkami. Cílem je získat co nejvyšší skóre, čehož lze dosáhnout jezením žlutých puntíků. Když sníte všechno jídlo, postupujete do dalšího levelu. Po mapě vás honí duchové, na které si musíte dávat pozor, protože máte jen 3 životy. Když Pacman sní modrý puntík, získá na 10 vteřin schopnost zabít příšery.

Pokyny pro Windows

  1. Stáhněte zip soubor (22.8MB)
  2. Rozbalte
  3. Pusťte pacman.exe

Pokyny pro Unix

  1. Stáhněte zdrojový kód (2.5MB)
  2. Zkompilujte, nainstalujte a spusťte pomocí příkazů:
$ qmake
$ make
$ sudo make install
$ bin/pacman

Tags: , .



* Vývoj Pacmana – beta fáze

3. September 2009, Jakub Horák. Categorized as Pacman.


Uplynul přes měsíc a v něm jsem s Pacmanem pohnul do velice použitelné verze. Mimo oprav mnoha a mnoha bugů jsem si pohrál s intrem `Pacman da Pampuch`, připravil nápovědu, vyrobil levely a omaloval zdi. Snažím se o co nejvíce user-friendly rozhraní.

Do finální verze už chybí jen dodělat zvuky a vyřešit pár dalších drobných problémů.

První level Pacmana se spuštěnou nápovědou na pozadí

První level Pacmana se spuštěnou nápovědou na pozadí

Tags: , .



* Trable s hostingem

2. September 2009, Jakub Horák. Categorized as Unassigned.


Posledních pár dnů byl web mimo provoz kvůli problémům s freehostingovou společností AgilityHoster, u které jsem dosud hostoval. AgilityHoster mě naštval, protože po aktualizaci na novější verzi WordPressu mi neustále házel chybu `500: script failure` a nešlo se jí zbavit.

Hledal jsem tedy nový freehosting a našel jsem tele3.cz. Souběžně s tím jsem se hrabal v doméně bloog.cz, a tak se stalo, že jsem omylem převedl doménu zee.cz pod hosting banan.cz. Když už tam byla, prodloužil jsem ji o rok a následně převedl pod tele3.cz. Všechno se zdálo být v pořádku, až jsem si najednou uvědomil, že tele3 nemá zadarmo MySQL. Dokonce ani SQLite na tele3 není dostupné. Sakra!

Situaci jsem vyřešil velice jednoduše. Zařídil jsem si účet a databázi na freemysql.net. Nakonec mám rychlý, i když ořezaný webhosting s moooc pomalou databází. Oproti předchozímu hostingu by měla být delší doba přístupu ke stránce, ale po získání HTML už by se stránka měla načíst rychle.

Při příležitosti funkčního hostingu jsem napsal malý widget na zobrazování TODO listu. Seznam je uložen v textovém souboru, který lze upravovat přes FTP. TODO list můžu elegantně editovat z konzole a změny se ihned zobrazí zde na webu.

Tags: .



* Vývoj Pacmana – Den 5

1. August 2009, Jakub Horák. Categorized as Pacman.


Sice už je po oficiálním termínu odevzdání, díky malému triku ale můžu na programu pracovat o něco déle. Cvičícímu jsem totiž poslal na soubory s programem pouze odkaz, takže pokud bude můj projekt kontrolovat později, uvidí aktuální verzi a ne tu, co jsem měl hotovou do termínu. I kdyby trik nevyšel, stejně budu mít možnost ukázat lepší verzi při osobním předvedení. Chci dotáhnout svého Pacmana do maximálně použitelného a hratelného stavu.

Od předchozí verze jsem pracoval na AI a na příšerách obecně. AI teď skutečně funguje: příšery hráče chytnou, když nic nedělá. Po snědení žrací  kuličky se změní barva monster a utíkají pryč od Pacmana. Po zabití se příšera vrací směrem k základně. Bohužel je v návratu k základně bug, protože příšery nevlezou dovnitř, ale jenom okolo ní projdou. Chybu spojuji s problémem s detekcí křižovatek, příšery na některých totiž nereagují.

Screenshot, kde mě honí příšery

Tags: , .



* Vývoj Pacmana – Den 4

31. July 2009, Jakub Horák. Categorized as Pacman.


Hru programuji v C++ s knihovnou Qt, se kterou už mám pár dobrých zkušeností. Sice bych to měl správně programovat v kombinaci C# + .NET, ale zkusil jsem napsat cvičícímu a záměna mu nevadila. Ušetřil jsem si tím lapálie spojené s programováním ve Windows, Qt je totiž na rozdíl od .NETu multiplatformní. Při psaní mi trochu chybělo debugování Visual Studia, používal jsem totiž IDE zvané QDevelop, které v tomhle ohledu dost zaostává.

Dnes v 8 hodin vypršel čas na odevzdání finální verze zápočtového programu. Špatně jsem odhadnul práci, posledních pár dnů proflákal a strávil pařbou na Let it roll, takže jsem v noci spal jenom asi 3 hodiny. Můj mail ale odešel včas, přesně v 8:00. Včera po desáté hodině jsem dodělal základní třídy starající se o zobrazení objektů na hrací ploše a jejich pohyb  v rámci dlaždicové mapy. Nezbylo mi tedy moc času na nejtěžší část Pacmana, AI. V časové tísni jsem se  sice pokusil napsat nalezení nejkratší cesty k Pacmanovi za pomocí prohledávání do šířky, jenže moc nefunguje a příšerky chodí chvíli pseudonáhodně, dokud se trvale nezaseknou v jedné části bludiště.

Snažil jsem se dodělat základní featury hry, mezi které patří i jezení “žracích kuliček”. Chovají se podobně jako normální jídlo, problém ale spočívá v tom, že zvýší rychlost Pacmana. Ve vyšší rychlosti pak hráč často nemůže změnit směr, protože musí stisknout šipku ve chvíli, kdy se nachází do 20 pixelů od křižovatky (má na to přibližně 180ms). Co se týče žracích kuliček, dokonce se mi dvakrát stalo, že mi po jejich snědení úplně vytuhnul počítač. Nemám zdání, co se v tu chvíli stalo, jen doufám, že tahle nedebugovatelná chyba sama zmizí.

Poznámka na okraj: Při psaní tohoto příspěvku se mi poprvé v životě kvůli přehřátí vypnul počítač. Teplota se pohybovala vysoko, o tom žádná. Na pozadí běžel `emerge -vu world`. Myslím si ale, že teplota tohohle notebooku už během uplynulých tří a půl let dosáhla vyšších hodnot. Zřejmě je vypínání při přehřátí vychytávka nového kernelu 2.6.30.

Dnes v 8 hodin byl termín odevzdání finální verze zápočtového programu. Spal jsem asi 3 hodiny a

Tags: , , , , , , , .



* Vývoj Pacmana – Den 1

22. July 2009, Jakub Horák. Categorized as Pacman.


Dneškem začínám psát zápočtový program na programování, hru Pacman. Nebaví mě hrát nové hry spoléhající se na grafiku a super efekty. Mám rád jednoduché old-school hry, které člověka nevcucnou a měsíc nebo rok nepustí. Mezi takové hry patří i Pacman, známá jednoduchá hra se žlutou koulí, duchy a fascinujícím zvukem “waka waka”. O popularitě a kulturním vlivu svědčí i fakt, že videohra Pacman vystupuje v zásadní roli v jednom dílu kultovního seriálu Přátelé.

Co jsem tedy dnes udělal?

  • UI v designeru a napojení na akce (které ale ještě nic nedělají)
  • namaloval obrázek Pacmana, přidal ho do zdrojů a vložil ho do QGraphicsView
  • sehnal pár zvuků a rozchodil knihovnu pro audio (Phonon)

Tags: , .



* Popup upozornění na změnu písničky v MPD

8. June 2009, Jakub Horák. Categorized as Unassigned.


Zkouškové je období, kdy se má student učit. Bohužel zjišťuji, že se o zkouškovém učím ještě míň než v průběhu semestru. Moje nechuť dělat cokoliv do školy tak dala vzniknout další utilitě pro MPD.

Zachtělo se mi vědět, jaké písničky moje MPD právě přehrává. Po chvilce hledání jsem našel skript, který používá Galago notification-daemona. Přišlo mi ale zbytečné používat dalšího daemona, když už mám standardně puštěného knotify4 kvůli aplikacím KDE. Napsal jsem si tedy vlastní KDE aplikaci, která zobrazuje pěkné popupy včetně album arts.

Screenshot

Screenshot

Další info na http://mpd.wikia.com/wiki/Client:MpdKNotifier

UPDATE:  xaizek vylepšil můj MpdKNotifier a zveřejnil kód na GitHubu. Doporučuji použít tuto verzi.

Tags: , .



* Zobrazování textů písní pro MPD

19. April 2009, Jakub Horák. Categorized as Scripts.


Narazil jsem na další problém přehrávače MPD. Kvůli absenci grafického rozhraní nemá jak zobrazovat texty písní. Zkoušel jsem různé skripty, které mají texty zobrazovat, ale žádný nefungoval, takže jsem se rozhodl obětovat chvíli času a napsat si skript vlastní.

Zajímavé bylo řešit, jak texty získat. Existuje totiž spoustu webů s databázemi textů, které jsou ale značně pochybné a texty se z nich špatně vytahují. Napadlo mě použít nejlepší výsledek vyhledávání v Yahoo! a zobrazit ho v prohlížeči. Yahoo! poskytuje webovou vyhledávací službu BOSS, pomocí níž by se toto implementovalo velice snadno. Bohužel testování ukázalo, že v praxi Yahoo! na první pozici často nedá správný odkaz. Škoda… Ještě v souvislosti s vyhledávači a jejich službami mě překvapila skutečnost, že Google tu svojí přestal poskytovat.

Vzpomněl jsem si na Amarok a na jeho řešení vyhledávání textů písní, které ve verzi 2.0+ funǵuje docela spolehlivě. Po chvilce pátrání ve zdrojácích jsem objevil službu lyricwiki.org. LyricWiki.org podporuje vyhledávání textů pomocí SOAP, což je pro programátora velká výhra 🙂 Zbytek práce už bylo jenom skládání v Ruby.

Více o skriptu na oficiálních stránkách MPD

Tags: , .