abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 18:11 | Zajímavý software

    Nazdar! je open source počítačová hra běžící také na Linuxu. Zdrojové kódy jsou k dispozici na GitHubu. Autorem je Michal Škoula.

    Ladislav Hagara | Komentářů: 0
    dnes 16:55 | Nová verze

    Po více než třech letech od vydání verze 1.4.0 byla vydána nová verze 1.5.0 správce balíčků GNU Guix a na něm postavené stejnojmenné distribuci GNU Guix. S init systémem a správcem služeb GNU Shepherd. S experimentální podporou jádra GNU Hurd. Na vývoji se podílelo 744 vývojářů. Přibylo 12 525 nových balíčků. Jejich aktuální počet je 30 011. Aktualizována byla také dokumentace.

    Ladislav Hagara | Komentářů: 1
    dnes 15:44 | Zajímavý software

    Na adrese gravit.huan.cz se objevila prezentace minimalistického redakčního systému GravIT. CMS je napsaný ve FastAPI a charakterizuje se především rychlým načítáním a jednoduchým ukládáním obsahu do textových souborů se syntaxí Markdown a YAML místo klasické databáze. GravIT cílí na uživatele, kteří preferují CMS s nízkými nároky, snadným verzováním (např. přes Git) a možností jednoduchého rozšiřování pomocí modulů. Redakční

    … více »
    2012 | Komentářů: 0
    dnes 12:55 | Zajímavý software

    Tým Qwen (Alibaba Cloud) uvolnil jako open-source své modely Qwen3‑TTS pro převádění textu na řeč. Sada obsahuje modely VoiceDesign (tvorba hlasu dle popisu), CustomVoice (stylizace) a Base (klonování hlasu). Modely podporují syntézu deseti různých jazyků (čeština a slovenština chybí). Stránka projektu na GitHubu, natrénované modely jsou dostupné na Hugging Face. Distribuováno pod licencí Apache‑2.0.

    NUKE GAZA! 🎆 | Komentářů: 0
    dnes 01:11 | Nová verze

    Svobodný citační manažer Zotero (Wikipedie, GitHub) byl vydán v nové major verzi 8. Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    včera 16:55 | Nová verze

    Byla vydána verze 1.93.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.

    Ladislav Hagara | Komentářů: 0
    včera 14:00 | Komunita

    Svobodný operační systém ReactOS (Wikipedie), jehož cílem je kompletní binární kompatibilita s aplikacemi a ovladači pro Windows, slaví 30. narozeniny.

    Ladislav Hagara | Komentářů: 8
    včera 11:00 | IT novinky

    Společnost Raspberry Pi má nově v nabídce flash disky Raspberry Pi Flash Drive: 128 GB za 30 dolarů a 256 GB za 55 dolarů.

    Ladislav Hagara | Komentářů: 2
    včera 10:22 | Zajímavý software

    Technologie Skip pro multiplatformní mobilní vývoj, která umožňuje vývojářům vytvářet iOS a Android aplikace z jediné Swift a SwiftUI kódové základny, se s vydáním verze 1.7 stala open source.

    Ladislav Hagara | Komentářů: 6
    včera 03:33 | Zajímavý software Ladislav Hagara | Komentářů: 1
    Které desktopové prostředí na Linuxu používáte?
     (17%)
     (6%)
     (0%)
     (10%)
     (21%)
     (3%)
     (5%)
     (2%)
     (11%)
     (36%)
    Celkem 580 hlasů
     Komentářů: 17, poslední včera 15:24
    Rozcestník

    Žirafa na Marsu!

    30.4.2008 17:32 | Přečteno: 1275× | Dev/Tech/Gnu | poslední úprava: 30.4.2008 18:45

    Tak jsem zase zapracoval na svém quick'n'dirty vyhledávači Žirafa, přitom bych měl dělat hromadu jiných věcí.

    Novinky jsou tak neuvěřitelně zásadní, že jsem zvedl minor verzi, z 0.0.4 jsem šel rovnou na 0.1.0, tedy "skoro hotovo". Ne, vážně, teď už umí asi všechno, co jsem potřeboval.

    Ikonky

    Nalezené výsledky už nejsou jenom čistý text, ale u každého souboru se zobrazuje správná ikonka (tu dodá GNOME). Ve Windows zůstal čistý text.

    Táhni a pusť

    Žirafa uměla otevírat soubory poklepáním. To bylo pěkné, když člověk našel playlist a v XMMS se otevřelo celé album. Problém ale byl, když jsem chtěl do hrajícího XMMS přidat novou písničku - musel jsem ji najít v Krusaderu a přetáhnout. Teď už můžu do XMMS přetahovat přímo z výsledků Žirafy.

    Vícevláknovost

    Žirafa vyhledává rovnou během psaní dotazu. I když je to dost rychlé, přece jenom je to jednovláknová aplikace v Pythonu, takže během psaní dotazu přece jenom byly zřetelné lagy. Vzal jsem to jako výzvu a udělal vyhledávání v extra vláknu (aby neblokovalo GUI).

    Pitomá dvě vlákna a já jsem se s tím docela natrápil. Ono totiž GTK má globální zámek, o který je potřeba se starat (gtk.gdk.threads_enter()/leave a tak). Je potřeba ho vzít v hlavním vláknu (před zavoláním gtk.main) a pak se o něj snažit, když šaháte na GUI z jiného vlákna. Zámek není rekurzivní, tudíž když se ho pokusíte vzít v jenom vláknu vícekrát, máte deadlock. Aby to nebylo moc jednoduché, tak Python má taky svůj globální zámek (GIL), jak to spolu souvisí jsem z dokumentace moc nepochopil. Naopak pomůže návod zde. Při snaze udělat to výkonné jsem vyrobil několik deadlocků a párkrát jsem core-dumpl celé GTK. Formální důkaz samozřejmě nemám, ale řekl bych, že teď to mám dobře.

    Ke všemu jsem zjistil, že GTK port pro Windows má ty vlákna zkriplená - jakmile šáhnete na GUI z vedlejšího vlákna, tuháč. Tak jsem tam udělal fallback na singlethread - Windows jsou zde trpěná platforma, nikoliv podporovaná :-)

           

    Hodnocení: 100 %

            špatnédobré        

    Obrázky

    Žirafa na Marsu!, obrázek 1 Žirafa na Marsu!, obrázek 2

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    belisarivs avatar 30.4.2008 19:08 belisarivs | skóre: 22 | blog: Psychobláboly
    Rozbalit Rozbalit vše Re: Žirafa na Marsu!
    Vypada to fajn. Video jsem zkouknul. Ale ma to smysl pridavat si talsi indexovaci program k Trackeru?

    Nebo je tenhle mene komplexni a tedy sviznejsi?
    IRC is just multiplayer notepad.
    30.4.2008 20:07 paskma | skóre: 13 | blog: Paskmův blog
    Rozbalit Rozbalit vše Re: Žirafa na Marsu!
    U mě to smysl má, protože tím indexuju MP3ky na externím disku, který občas odpojuju (a nevím, jak by to Trackerovi dělalo dobře). V podstatě to používám jako nadstavbu nad XMMS.

    Je to malé, rychlé a napsané z hecu. Mně se to pro mé účely hodí. (Trackera používám taky.)

    Něco o pohnutkách, které mě na Žirafu přivedly, jsem psal v prvním žirafím postu.
    30.4.2008 20:07 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
    Rozbalit Rozbalit vše Re: Žirafa na Marsu!
    Žiju v dojmu, že jediné vlákno pro GUI je takový standard (v Javě se mu říká Event Dispatching Thread), dokonce jsem o tom svého času četl v knížce o Delphi. Čekal bych, že to budeš čekat :-)
    Ještě na tom nejsem tak špatně, abych četl Viewegha.
    30.4.2008 20:17 paskma | skóre: 13 | blog: Paskmův blog
    Rozbalit Rozbalit vše Re: Žirafa na Marsu!
    No to já vím. Jediný systém, co měl multithreaded gui byl prej BeOS.

    Ďábel je samozřejmě v detailech, třeba tohle:
    	def main(self):
    		gtk.gdk.threads_enter()
    		gtk.main()
    		gtk.gdk.threads_leave()
    
    Člověk by řekl, že hlavní vlákno ten globální GTK zámek nikdy nepustí, protože z gtk.main() to vyleze až po zavření okna. Jenže GTK event loop ten zámek čas od času pustí a nechá líznout ostatní vlákna. Tohle byl v podstatě hlavní kámen úrazu.

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.