Design (GitHub) je 2D CAD pro GNOME. Instalovat lze i z Flathubu. Běží také ve webovém prohlížeči.
Příspěvek na blogu herního enginu Godot představuje aplikaci Xogot přinášející Godot na iPad a iPhone. Instalovat lze z App Storu. Za Xogotem stojí Miguel de Icaza (GitHub) a společnost Xibbon.
Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za březen (YouTube).
ESP-IDF (Espressif IoT Development Framework), tj. oficiální vývojový framework pro vývoj aplikací na mikrokontrolérech řady ESP32, byl vydán v nové verzi 6.0. Detaily na portálu pro vývojáře.
DeepMind (Alphabet) představila novou verzi svého multimodálního modelu, Gemma 4. Modely jsou volně k dispozici (Ollama, Hugging Face a další) ve velikostech 5-31 miliard parametrů, s kontextovým oknem 128k až 256k a v dense i MoE variantách. Modely zvládají text, obrázky a u menších verzí i audio. Modely jsou optimalizované pro běh na desktopových GPU i mobilních zařízeních, váhy všech těchto modelů jsou uvolněny pod licencí Apache 2.0. Návod na spuštění je už i na Unsloth.
Cursor (Wikipedie) od společnosti Anysphere byl vydán ve verzi 3. Jedná se o multiplatformní proprietární editor kódů s podporou AI (vibe coding).
Průkopnická firma FingerWorks kolem roku 2000 vyvinula vícedotykové trackpady s gesty a klávesnice jako TouchStream LP. V roce 2005 ji koupil Apple, výrobu těchto produktů ukončil a dotykové technologie využil při vývoji iPhone. Multiplatformní projekt Apple Magic TouchstreamLP nyní implementuje funkcionalitu TouchStream LP na současném Apple Magic Trackpad, resp. jejich dvojici. Diskuze k vydání probíhá na Redditu.
Byla vydána nová verze 10.3 sady aplikací pro SSH komunikaci OpenSSH. Přináší řadu bezpečnostních oprav, vylepšení funkcí a oprav chyb.
Cloudflare představil open source redakční systém EmDash. Jedná se o moderní náhradu WordPressu, která řeší bezpečnost pluginů. Administrátorské rozhraní lze vyzkoušet na EmDash Playground.
Bratislava OpenCamp 2026 zverejnil program a spustil registráciu. Štvrtý ročník komunitnej konferencie o otvorených technológiách prinesie 19 prednášok na rôzne technologické témy. Konferencia sa uskutoční v sobotu 25. apríla 2026 v priestoroch FIIT STU v Bratislave.
A minulém týdny mi náhle začal zlobit slovníkový editor. Dámy z UJČ vyplašeně hlásily, že jim slovník sežral jejich hesla. Já zůstával v klidu, mám přece zálohy a journal v podobě podrobného logu, který bych v nejhorším případě přehrál.
Vypadalo to, že postgres nesouhlasí ze zásadní tezí, totiž že 'BŘEZIŇÁK' == 'BŘEZIŇÁK'
slovnik=> select '-'||heslove_slovo||'-' from entries where heslove_slovo='BŘEZIŇÁK'; ?column? ---------- (0 řádek) slovnik=> select '-'||heslove_slovo||'-' from entries where heslove_slovo like 'BŘEZIŇÁK'; ?column? ------------ -BŘEZIŇÁK- (1 řádka)
Po zmateném googlovaní jsem se odhodlal k podrobnějšímu ohledání a hned jsem pojal podezření na index.
slovnik=> select '-'||heslove_slovo||'-' from entries where heslove_slovo||'' = 'BŘEZIŇÁK'; ?column? ------------ -BŘEZIŇÁK- (1 řádka)
To se také potvrdilo: při použití seq scan je výsledek správný, při index scan špatný
slovnik=> explain select '-'||heslove_slovo||'-' from entries where heslove_slovo = 'BŘEZIŇÁK';
QUERY PLAN
--------------------------------------------------------------------------------------------
Index Scan using entries_heslove_slovo_index on entries (cost=0.00..5.97 rows=1 width=12)
Index Cond: ((heslove_slovo)::text = 'BŘEZIŇÁK'::text)
(2 řádek)
slovnik=> explain select '-'||heslove_slovo||'-' from entries where heslove_slovo||'' = 'BŘEZIŇÁK';
QUERY PLAN
--------------------------------------------------------------------
Seq Scan on entries (cost=0.00..272.04 rows=37 width=12)
Filter: (((heslove_slovo)::text || ''::text) = 'BŘEZIŇÁK'::text)
(2 řádek)
slovnik=> explain select '-'||heslove_slovo||'-' from entries where heslove_slovo like 'BŘEZIŇÁK';
QUERY PLAN
----------------------------------------------------------
Seq Scan on entries (cost=0.00..253.38 rows=1 width=12)
Filter: ((heslove_slovo)::text ~~ 'BŘEZIŇÁK'::text)
(2 řádek)
Nakonec jsem se naučil nový SQL příkaz:
slovnik=> \h reindex
Příkaz: REINDEX
Popis: rebuild indexes
Syntaxe:
REINDEX { DATABASE | TABLE | INDEX } name [ FORCE
Po reindexaci tabulky je zaze BŘEZIŇÁK BŘEZIŇÁKem.
Postgresql 8.1 je určitě výrazný krok vpřed proti verzi 7.4, kterou jsem používal dřív. Kromě kupy nových funkcí, které stejně neocením, protože nejsem žádný DB guru, oceňuji subjektivní zrychlení (všimli si ho i koncoví uživatelé) a autovacoom. Nicméně jestě je určitě co dohánět. Lookupy přes index nefungovaly a v logu přitom nebylo žádné varování, nepříjemná záležitost...
Tiskni
Sdílej: