Společnost Valve aktualizovala přehled o hardwarovém a softwarovém vybavení uživatelů služby Steam. Podíl uživatelů Linuxu dosáhl 3,58 %. Nejčastěji používané linuxové distribuce jsou Arch Linux, Linux Mint a Ubuntu. Při výběru jenom Linuxu vede SteamOS Holo s 26,32 %. Procesor AMD používá 67,43 % hráčů na Linuxu.
V Las Vegas probíhá veletrh CES (Consumer Electronics Show, Wikipedie). Firmy představují své novinky. Například LEGO představilo systém LEGO SMART Play: chytré kostky SMART Brick, dlaždičky SMART Tagy a SMART minifigurky. Kostka SMART Brick dokáže rozpoznat přítomnost SMART Tagů a SMART minifigurek, které se nacházejí v její blízkosti. Ty kostku SMART Brick aktivují a určí, co má dělat.
Vládní CERT (GovCERT.CZ) upozorňuje (𝕏) na kritickou zranitelnost v jsPDF, CVE-2025-68428. Tato zranitelnost umožňuje neautentizovaným vzdáleným útočníkům číst libovolné soubory z lokálního souborového systému serveru při použití jsPDF v prostředí Node.js. Problém vzniká kvůli nedostatečné validaci vstupu u cest k souborům předávaných několika metodám jsPDF. Útočník může zneužít tuto chybu k exfiltraci citlivých
… více »V úterý 13. ledna 2025 se v pražské kanceláři SUSE v Karlíně uskuteční 5. Mobile Hackday, komunitní setkání zaměřené na Linux na mobilních zařízeních, kernelový vývoj a související infrastrukturu. Akci pořádá David Heidelberg.
… více »Už je 14 dní zbývá do začátku osmého ročníku komunitního setkání nejen českých a slovenských správců sítí CSNOG 2026. Registrace na akci je stále otevřená, ale termín uzávěrky se blíží. I proto organizátoři doporučují, aby se zájemci přihlásili brzy, nejlépe ještě tento týden.
… více »Rok 2026 sotva začal, ale už v prvním týdnu se nashromáždilo nezvykle mnoho zajímavostí, událostí a zpráv. Jedno je ale jisté - už ve středu se koná Virtuální Bastlírna - online setkání techniků, bastlířů a ajťáků, kam rozhodně doražte, ideálně s mikrofonem a kamerou a zapojte se do diskuze o zajímavých technických tématech.
Dějí se i ne zcela šťastné věci – zdražování a nedostupnost RAM a SSD, nedostatek waferů, 3€ clo na každou položku z Číny … více »Vývojáři GNOME a Firefoxu zvažují ve výchozím nastavení vypnutí funkce vkládání prostředním tlačítkem myši. Zdůvodnění: "U většiny uživatelů tento X11ism způsobuje neočekávané chování".
Nástroj pro obnovu dat GNU ddrescue (Wikipedie) byl vydán v nové verzi 1.30. Vylepšena byla automatická obnova z disků s poškozenou čtecí hlavou.
Protokol IPv6 má již 30 let. První návrh specifikace RFC 1883 je z prosince 1995.
Byli vyhlášeni vítězové ocenění Steam Awards 2025. Hrou roku a současně nejlepší hrou, která vám nejde, je Hollow Knight: Silksong.
Už je to delší dobu, co jsem (aspoň doufám) vyrostl z období - než používat něco ne-úplně-jasného, to si to radši naprogramuju sám... Při programování se snažím používat již hotové nástroje a knihovny, leč ne vždy lze. Co použít na fulltextové prohledávání? A navíc v Pythonu?
Aneb těžký život programátora v Pythonu, obzvláště programátora neziskových projektů...
Nepřítel nám zadal webové stránky a my máme použít co nejchytřejší prohledávač v češtině. Nemůžeme použít Google či Jyxo, protože bychom nemohli (jednoduše) zpracovávat statistiky vyhledávání, navíc není možné (dostatečně) customizovat vzhled výsledků.
K fulltextovému prohledávání existuje výborná knihovna Lucene, která je bohužel (Leoš promine) v Javě. Existují k ní sice porty CLucene (pro C++), Lucene4c (pro C) a jistě i pro jiné obskurní jazyky.
Pro CLucene existuje téměř přímočarý wrapper pro Python (SWIGový), ke kterému ovšem je nulová dokumentace a téměř žádný příklad použití (pouze testovací sada). Rozchození IndexWriteru, IndexReaderu a IndexSearcheru bylo úkolem značně netriviálním - naštěstí je možné použít dokumentaci k CLucene a nahlédnout do zdrojáku.
Drobnou nevýhodou CLucene + Pythonového wrapperu je nemožnost (alespoň v mé konfiguraci) rozchodit jiný než StandardAnalyzer, pokusy o subclassing Analyzeru vedly spolelivě k core. Dočasně se to dá vyřešit prostým ořezáním diakritiky
, ale do budoucna to jako průchozí řešení nevidím...
Zkoumáním SWIGového kódu jsem žádný problém nenašel, po týdnu zkoumání jsem to (zatím) vzdal.
Tady končí vyzkoušené (naprogramované) znalosti, zbytek jsem vyčetl z dokumentace.
Původní Lucene je více-méně bezproblémová knihovna, jenom je v Javě, což mne moc netěší, neboť mé programovací prostředí je Webware for Python. Částečným řešením může býti projekt PyLucene.
PyLucene využívá možností kompilátoru gcj, který zkompiluje Javu do objektového kódu použitelného z C, ten se potom opět pomocí SWIGu zabalí do "úhledného" Pythonového modulu. Prý to funguje.
Nevýhodou je mišmaš tří jazyků a tří paměťových modelů (Java = garbace collector, C++ = ruční uvolňování, Python = reference counting + garbage collector). Druhou nevýhodou - neméně podstatnou - jest moje nedůvěra k Javě, v ostrém prostředí nainstalovaná (zatím) není - počítač má pouze 360MB RAM a nechci ho trápit Javou, dokud to nebude akutně nutné.
Zajímavě se mi jeví Lude - démon, který běží na pozadí, přes XML-RPC se do něho tlačí dokumenty a požadavky na vyhledávání a padají z něho výsledky. Je v Javě (malé mínus), ale nemá ostrou verzi - mínus o něco větší. Zajímavé by bylo slepit CLucene a XML-RPC, dosáhlo by se tím větší rychlosti, navíc by to fungovalo bez Javy.
Pěkné, funkční, umí to český stemming(!), ale konfigurace pro prohledávání webu je velká. Navíc má špatné reference, co se týče výkonu. Moc důvěryhodně nepůsobí ani ukládání vyhledávacích dat v relační databázi. Neexistuje modul pro Python, ale v nejhorším případě se ponořím do PHP a napíšu si XML-RPC rozhraní 
Vzhledem k tomu, že český stemming je založen na datech z ispellového slovníku, neměl by být velký problém jej z MnogoSearche vypárat.
Na Xapian jsem narazil náhodou. Má vazbu pro Python, oproti Lucene mi není moc jasný indexovací koncept. Lucene je intuitivní, dokument má pole (fields), která nějak plním a podle nich se vyhledává. Xapian pole nemá, nebo jsou někde utajená? Takže nevím, kam mám vložit data ze titulku, apod...
Pro rýpaly poznamenávám, že návod jsem si četl, jen jsem jej možná nepochopil dostatečně 
Zatím jsem použil CLucene + Python-wrapper. Češtinu odřezávám, takže můžu použít klasický StandardAnalyzer. Přemýšlím, čím ji nahradit, protože aktuální řešení je Quick and Dirty™
Existuje nějaký další vyhledávací stroj? Pěkný, použitelný a udržovaný? V C, C++ nebo ideálně s Pythonovým wrapperem? Umí stemming? A alespoň z poloviny to co Lucene?
Tiskni
Sdílej:
Word variations. For example, if I entered the query "swim", a search engine that supports stemming might return results that include "swimming" or "swims".
Jen co najdu něco, co umí vyhledávat...