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 17:44 | Zajímavý článek

    Devadesátková hra Brány Skeldalu prošla portací a je dostupná na platformě Steam. Vyšel i parádní blog autora o portaci na moderní systémy a platformy včetně Linuxu.

    karkar | Komentářů: 0
    dnes 12:11 | Humor

    Lidi dělají divné věci. Například spouští Linux v Excelu. Využít je emulátor RISC-V mini-rv32ima sestavený jako knihovna DLL, která je volaná z makra VBA (Visual Basic for Applications).

    Ladislav Hagara | Komentářů: 1
    dnes 10:44 | IT novinky

    Revolut nabídne neomezený mobilní tarif za 12,50 eur (312 Kč). Aktuálně startuje ve Velké Británii a Německu.

    Ladislav Hagara | Komentářů: 21
    dnes 09:55 | IT novinky

    Společnost Amazon miliardáře Jeffa Bezose vypustila na oběžnou dráhu první várku družic svého projektu Kuiper, který má z vesmíru poskytovat vysokorychlostní internetové připojení po celém světě a snažit se konkurovat nyní dominantnímu Starlinku nejbohatšího muže planety Elona Muska.

    Ladislav Hagara | Komentářů: 0
    dnes 09:33 | IT novinky

    Poslední aktualizací začal model GPT-4o uživatelům příliš podlézat. OpenAI jej tak vrátila k předchozí verzi.

    Ladislav Hagara | Komentářů: 0
    dnes 08:11 | Nová verze

    Google Chrome 136 byl prohlášen za stabilní. Nejnovější stabilní verze 136.0.7103.59 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 8 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.

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

    Homebrew (Wikipedie), správce balíčků pro macOS a od verze 2.0.0 také pro Linux, byl vydán ve verzi 4.5.0. Na stránce Homebrew Formulae lze procházet seznamem balíčků. K dispozici jsou také různé statistiky.

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

    Byl vydán Mozilla Firefox 138.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 138 je již k dispozici také na Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 0
    včera 15:55 | Pozvánky

    Šestnáctý ročník ne-konference jOpenSpace se koná 3. – 5. října 2025 v Hotelu Antoň v Telči. Pro účast je potřeba vyplnit registrační formulář. Ne-konference neznamená, že se organizátorům nechce připravovat program, ale naopak dává prostor všem pozvaným, aby si program sami složili z toho nejzajímavějšího, čím se v poslední době zabývají nebo co je oslovilo. Obsah, který vytvářejí všichni účastníci, se skládá z desetiminutových

    … více »
    Zdenek H. | Komentářů: 2
    včera 15:44 | IT novinky Ladislav Hagara | Komentářů: 4
    Jaký filesystém primárně používáte?
     (58%)
     (1%)
     (9%)
     (22%)
     (4%)
     (1%)
     (2%)
     (0%)
     (1%)
     (3%)
    Celkem 491 hlasů
     Komentářů: 19, poslední dnes 11:32
    Rozcestník

    Žirafa na Marsu!

    30.4.2008 17:32 | Přečteno: 1240× | 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.