Byly zpracovány a na YouTube zveřejněny videozáznamy jednotlivých přednášek z letošního Installfestu.
Během akce Arduino Days 2026 byl publikován Arduino Open Source Report 2025 (pdf) a oznámeno 7 nových produktů kompatibilních s deskou UNO Q (Arduino USB-C Power Supply, USB-C Cable, USB-C Hub, UNO Media Carrier, UNO Breakout Carrier, Bug Hopper, Modulino LED Matrix).
Google v pátek spustil v Česku Vyhledávání Live. Tato novinka umožňuje lidem vést plynulou konverzaci s vyhledávačem v češtině. A to prostřednictvím hlasu, nebo prostřednictvím toho, na co ukážou svým fotoaparátem či kamerou v mobilu. Rozšíření této multimodální funkce je možné díky nasazení Gemini 3.1 Flash Live, nového hlasového a audio modelu, který je od základu vícejazyčný, takže umožňuje lidem po celém světě mluvit na vyhledávač přirozeně a v jazyce, který je jim nejbližší.
Jsongrep je open-source nástroj, který efektivně prohledává JSON dokumenty (editovat je neumí). Kompiluje regulérní jazyk dotazu do podoby deterministického konečného automatu (DFA), díky čemuž prochází strom JSON dokumentu pouze jednou a je v tom tedy rychlejší než jiné nástroje jako jsou například jq, JMESPath nebo jql. Jsongrep je napsaný v programovacím jazyce Rust, zdrojový kód je dostupný na GitHubu.
O víkendu probíhá v Praze na Karlově náměstí 13 konference Installfest 2026. Na programu je celá řada zajímavých přednášek a workshopů. Vstup na konferenci je zcela zdarma, bez nutnosti registrace. Přednášky lze sledovat i online na YouTube.
Mozilla a společnost Mila oznámily strategické partnerství za účelem rozvoje open source a suverénní AI. Cílem je ukázat, že open source AI může konkurovat uzavřeným systémům. Obě organizace chtějí posílit technologickou suverenitu a snížit závislost na hrstce velkých technologických firem.
Adam Rice předvedl, že pomocí DNS lze distribuovat a spustit kompletní hru DOOM. Rozdělil WAD soubory a binárky do téměř 2000 DNS záznamů v Cloudflare zóně (jeden TXT záznam v DNS může nést okolo 2000 znaků textu). Ty pak stáhl PowerShellem, dekomprimoval a spustil přímo v paměti počítače bez nutnosti zápisu na disk, což prakticky dokazuje, že DNS může sloužit jako distribuované úložiště dat a možný kanál pro načítání kódu. Repozitář projektu je na GitHubu.
Dnes a zítra probíhají Arduino Days 2026. Na programu je řada zajímavých přednášek. Sledovat je lze od 17:00 na YouTube. Zúčastnit se lze i lokálních akcí. Dnes v Poličce v městské knihovně a zítra v Praze na Matfyzu.
Byla vydána beta verze Ubuntu 26.04 LTS s kódovým názvem Resolute Raccoon. Přehled novinek v poznámkách k vydání. Dle plánu by Ubuntu 26.04 LTS mělo vyjít 23. dubna 2026.
Byla vydána aktualizována Příručka pro začínající wikipedisty a wikipedistky (pdf).
Jsem zakladatelem tohoto portálu. Linux jsem používal spousty let, nějaký čas jsem se aktivně podílel na jeho propagaci v Česku (CZLUG, časopisy ComputerWorld, Network Magazine atd). Se současným Abíčkem už nemám nic společného.
Sypu si popel na hlavu. Konečně jsem odhalil, proč je server tak strašně zatížen a proč žádná moje optimalizace nezabírá.
Kdysi dávno, nevím odkud, nevím proč, jsem stáhnul volby pro virtuální stroj javy a nastavil jsem je pro jetty, pod kterou běží abíčko. Jedna z těch voleb je -Xint, která zakazuje Just In Time kompilátor a tudíž způsobuje, že java běží výhradně v interpretovaném modu. JIT překládá kód javy do instrukcí procesoru a na základě složitých analýz běhu provádí další optimalizace, díky kterým java může běžet stejně rychle (a někdy i rychleji) než zkompilovaný céčkový program. A já mu to nevědomky zakázal.
Na druhou stranu mi připadá neuvěřitelné, že přesto abíčko dokázalo obsloužit tolik návštěvníků (150 tisíc zobrazených stránek denně) a to velmi rychle. Zkusím malé přirovnání. Je to asi podobné, jako kdyby vám někdo svázal nohy k sobě, přes hlavu přetáhl černý pytel a poslal vás běžet maraton
. Ty cache a optimalizace jsou asi dost účinné.
Ráno jsem tedy těch šest písmen smazal a restartoval server. Výsledkem je okamžité načítání stránek a prudký pokles zatížení serveru. Poslední měsíce bylo CPU neustále zatíženo nejméně na 99% a load se pohyboval mezi šesti až třiceti. Dneska ve špičce byl na úrovni 0,25.
Tiskni
Sdílej:
a bastaTo je ale pádný argument
Jinak, super, abíčko opravdu chodí o hodně rychleji...
Ale teď vážně, myslím, že tím to nebylo, vypnul jsem si totiž nahrazování smajlíků za obrázky, takže příčinu bych viděl spíš v tom.
JIT překládá kód javy do instrukcí procesoru a na základě složitých analýz běhu provádí další optimalizace, díky kterým java může běžet stejně rychle (a někdy i rychleji) než zkompilovaný céčkový program.Trošku zjednodušeně: JIT překládá kód Javy na nativní a díky optimalizacím může ten program běžet rychleji než zkompilovaný céčkový kód. Nebo ještě zjednodušeněji: optimalizovaný nativní kód může běžet rychleji než nativní kód. To by jeden neřekl. Když byl JIT vypnutý, ábíčko se vleklo --> interpretovaná Java JE pomalá. Když se přeloží do nativní podoby, funguje mnohem rychleji, ale už to v podstatě není Java (procesor podle instrukcí těžko pozná, v jakém jazyce ten program byl napsán)
interpretovaná Java JE pomalá. Když se přeloží do nativní podoby, funguje mnohem rychleji, ale už to v podstatě není Java (procesor podle instrukcí těžko pozná, v jakém jazyce ten program byl napsán)Pak ale neni duvod zavrhovat javu. Ciste interpretovana java se vyskytovala tak v roce 1996, od te doby vznikly JIT kompilatory a byly vyladeny k maximalni optimalnosti. Java je narocna na pamet, ale v realnych aplikacich z hlediska rychlosti nezaostava za nativnimi programy (tim mam na mysli, ze by byla o nasobky ci rady pomalejsi).
Pak ale neni duvod zavrhovat javu.Jak kde... pokud jde o program, který běží několik týdnů v kuse někde na serveru (žádný příklad mě zrovna nenapadá
) a JIT kompilátor ho odladí, tak je Java stejně dobrý jazyk jako většina jiných.
Problém je, že v Javě dost lidí vyvíjí uživatelské programy, které se spustí, vykonají nějakou práci a ukončí se, to vše interpretovaně a tedy většinou zbytečně pomalu. Takové nasazení Javy mi přijde, když použiju tvoje slova, "zavrženíhodné".
Nemyslím, že by interpret byl důvod nějakého výrazného zpomalení.Abych pravdu řekl, nechci se pouštět do nějakých porovnání jak velké zpomalení interpreter způsobí (Když to zjednoduším, Leoš v nadpisu tohoto blogu tvrdí že dvacetinásobné.) To, co tvrdím, je, že to zpomalení je zbytečné, když je tu možnost kód zkompilovat a interpreter úplně vynechat.
Vždy je to něco za něco. Kompilace něco stojí, i proto má Sunovské JRE dva režimy – v prvním se optimalizuje méně (tedy optimalizace je hotová dřív), takže start je rychlý, ale aplikace pak běží pomaleji. Ve druhém aplikace sice startuje dýl, ale optimalizuje se víc.Tady možná došlo k nedorozumění - já mluvil o možnosti kód zkompilovat z jazyka typu C++.
Stejně by se dalo říct, že je zbytečné používat operační systém. Pokud bude program přistupovat přímo k hardwaru, nebudou se "zbytečně" přepínat kontexty uživatelského prostoru a jádra a odpadnou "zbytečná" systémová volání, bude program taky rychlejší.Tohle srovnání tak trochu pokulhává - tohle už tu kdysi bylo a mělo to tu nevýhodu, že šlo spustit jenom jeden program naráz. OS je mezivrstva navíc, ale dle mého mínění ta možnost spouštět víc programů naráz a zabránit jim, aby se mezi sebou chybně ovlivnily, stojí za ten ztracený výkon. JVM nic takového neposkytuje, pro každý spuštění program v Javě se spouští znovu (a rozhodně neříkám, že je to špatně - proč by JVM měl řešit přepínání úloh, když to samé dokáže OS vyřešit za něj). Podle mě ta přidaná hodnota JVM (bez optimalizací) nestojí za to. Samozřejmě je tu velký prostor pro zlepšení. Napadá mě například situace (nevím, jak moc je reálná), kdy by JVM uměl provést optimalizace již při vývoji a testování programu a výsledky do programu uložit, aby je na nejrozšířenějších platformách vůbec nebylo nutné dělat (a aby se při opětovném spuštění mohly rovnou použít). To by podstatně měnilo situaci.
Inak skvelá práca, ábičko je rýchle ako blesk.
Podle mě ta přidaná hodnota JVM (bez optimalizací) nestojí za to.Dost lidí má asi jiný názor, když vznikají věci jako .NET, podpora virtualizace v Linuxovém jádru nebo virtualizační software. Někdy se to prostě vyplatí a jindy ne – záleží dokonce i na tom, co vše započítáte, takže i u jednoho a toho samého projektu může mít někdo názor, že přidaná hodnota VM je menší, než ztráta výkonu (protože počítá čistě efetktivitu běhu programu), někdo započítá i náklady na vývoj a údržbu programu, a najednou se nějaká přidaná hodnota vykoupená zpomalením vyplatí.
Samozřejmě je tu velký prostor pro zlepšení. Napadá mě například situace (nevím, jak moc je reálná), kdy by JVM uměl provést optimalizace již při vývoji a testování programu a výsledky do programu uložit, aby je na nejrozšířenějších platformách vůbec nebylo nutné dělat (a aby se při opětovném spuštění mohly rovnou použít). To by podstatně měnilo situaci.Při vývoji asi ne, během vývoje se program používá dost netypicky. Ale keš zkompilovaného kódu, která by přežila restart JVM, je jedno z možných řešení. Další možností je sdílení tříd mezi běžícími JVM (implementováno v Sunovském JRE od verze 1.5). Vzhledem k tomu, že např.
gcj nejspíš nepředstavuje nějaké výrazné zrychlení proti klasické JVM, je spíš než kompilace do strojového kódu důležitá rychlost startu běhového prostředí (GC, classloader, "základní" třídy). Tedy spíš pomůže volitelné ponechávání JVM v paměti a nějaké optimalizace rychlosti startu GUI. Což jsou shodou okolností všechno věci známé z programů psaných v C++ – ať už je to ponechávání v paměti u OOo, Mozilly nebo MSIE, nebo různé prelink techniky grafických prostředí na Linuxu. Je vidět, že programy v Javě i C++ řeší vlastně stejné problémy
if v 99,9 % projde větví else, takže vytvoří takový strojový kód, aby procesorové cache a "počítání napřed" šlo touhle větví (to je jen příklad, nevím, zda nějaká JVM konkrétně tohle dělá). Samozřejmě, V C si můžete takovou JVM naprogramovat taky, pak bude výsledný program i stejně rychlý – ale může to být zrychlení oproti klasickému Cčkovému ifu optimalizovanému pouze kompilátorem a procesorem.
Blahopřeju k odvaze se veřejně přiznat. Máš mé silné sympatie.
vim ~/.emacs
.
Btw. v lynxe to naskakovalo okamžite aj predtým.
gcj plně podporována. Myslím, že gcj je slepá cesta…
. Soft by se mel psat na pomalejch strojich, by to pak userum behalo jak splasena kuna
eclipse používá spoustu nativních knihoven. Mně osobně tedy připadá daleko nepochopitelnější ten Outlook a FF. Java také paměť využívá trochu jiným způsobem – naalokuje si od systému větší kus paměti, kterou si pak spravuje ve vlastní režii (GC). Taky jsem měl dříve pocit, že Java chce víc paměti, ale když to porovnám s FF, OOo, tak mám pocit, že víc paměti chce všechno… V té Javě se alespoň něco pro nižší paměťovou náročnost dělá.
Docela by mne zajímalo, kolik RAM máte a jaké aplikace na tom PC provozujete, protože 1 GB RAM podle mne už na Javu na desktopu stačí, eclipse trochu víc RAM neuškodí. Ne že by mne ty nároky na paměť těšily, ale obávám se, že je to všeobecný trend a paměťová nenažranost Javy se vyřešila/řeší tím, že takové paměťové nároky začínají být běžné.
0.05 0.18 0.21 1/220 10754To je rozdil