Byla vydána (𝕏) dubnová aktualizace aneb nová verze 1.100 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.100 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.
Open source platforma Home Assistant (Demo, GitHub, Wikipedie) pro monitorování a řízení inteligentní domácnosti byla vydána v nové verzi 2025.5.
OpenSearch (Wikipedie) byl vydán ve verzi 3.0. Podrobnosti v poznámkách k vydání. Jedná se o fork projektů Elasticsearch a Kibana.
PyXL je koncept procesora, ktorý dokáže priamo spúštat Python kód bez nutnosti prekladu ci Micropythonu. Podľa testov autora je pri 100 MHz približne 30x rýchlejší pri riadeni GPIO nez Micropython na Pyboard taktovanej na 168 MHz.
Grafana (Wikipedie), tj. open source nástroj pro vizualizaci různých metrik a s ní související dotazování, upozorňování a lepší porozumění, byla vydána ve verzi 12.0. Přehled novinek v aktualizované dokumentaci.
Raspberry Pi OS, oficiální operační systém pro Raspberry Pi, byl vydán v nové verzi 2025-05-06. Přehled novinek v příspěvku na blogu Raspberry Pi a poznámkách k vydání. Pravděpodobně se jedná o poslední verzi postavenou na Debianu 12 Bookworm. Následující verze by již měla být postavena na Debianu 13 Trixie.
Richard Stallman dnes v Liberci přednáší o svobodném softwaru a svobodě v digitální společnosti. Od 16:30 v aule budovy G na Technické univerzitě v Liberci. V anglickém jazyce s automaticky generovanými českými titulky. Vstup je zdarma i pro širokou veřejnost.
sudo-rs, tj. sudo a su přepsáné do programovacího jazyka Rust, nahradí v Ubuntu 25.10 klasické sudo. V plánu je také přechod od klasických coreutils k uutils coreutils napsaných v Rustu.
Fedora se stala oficiální distribucí WSL (Windows Subsystem for Linux).
Společnost IBM představila server IBM LinuxONE Emperor 5 poháněný procesorem IBM Telum II.
Byla vydána nová vývojová verze datového formátu a souvisejících nástrojů Relational pipes. Novinkou verze v0.11 je podpora vstupu i výstupu ve formátu recfile používaném programem GNU Recutils a dále pak základní podpora výstupu ve formátu ASN.1 BER.
Tiskni
Sdílej:
Záměrně má každý nástroj vlastní mercurial, důvody jsou popsané tady: Small code footprint and modular design / Optional complexity.
V poznámkách k vydání je návod / skript, jak to všechno postahovat a zkompilovat. Distribuční balíčky zatím nejsou.
Protože jsem s Mercurialem začal před více než deseti lety (tehdy byl main-stream Subversion) a od té doby jsem s ním spokojený, nemám důvod od něj odcházet. Nicméně s Gitem taky dělám (záleží, co který projekt používá, někde mají dodnes SVN).
GNU RecutilsTo mě docela zaujalo. Takovej punkovej přístup. "Data si klidně editujte ručně, ale je lepší používat nástroje. Nejsou žádné povinné fieldy, pokud si je nenadefinujete. A to klidně až po insertu dat. Stejně jako zakázané fíeldy si přidejte kdykoliv." Takové schémové neschémové, oblečená neoblečená, přijela nepřijela. Je to použitelné na něco seriózního? Předpokládám, že výkon půjde hodně rychle dolů v případě častějších update, jsou to všechno textové soubory, neupdatuje se po blocích, takže při každém update nebo delete se ten soubor defacto musí zapsat znovu. Insert může psát jen na konec, ten rychlej asi bude.
Osobně to nepoužívám, ale jako textový formát pro serializaci těchto strukturovaných dat mi to přijde celkem dobré. Co jsem četl nějaké články, tak to lidi používají pro různé osobní organizační úkoly, agendy – často se tím asi dá nahradit tabulkový kalkulátor. U malých databází (na které se to používá) na problémy s výkonem nenarazíš.
Nemůžeš to srovnávat s PostgreSQL nebo jinými velkými databázemi. Spíš by se dalo uvažovat o srovnání se sqlite. A oproti ní je to přeci jen jednodušší:
$ cloc-relpipe.sh gnu.org/recutils/ počty_řádků_kódu: ╭────────────────┬───────────────────┬─────────────────────┬─────────────────────┬────────────────┬──────────────────╮ │ jazyk (string) │ souborů (integer) │ prázdných (integer) │ komentářů (integer) │ kódu (integer) │ celkem (integer) │ ├────────────────┼───────────────────┼─────────────────────┼─────────────────────┼────────────────┼──────────────────┤ │ C │ 139 │ 4501 │ 6468 │ 19376 │ 30345 │ │ Bourne Shell │ 16 │ 1568 │ 711 │ 5603 │ 7882 │ │ TeX │ 1 │ 719 │ 2878 │ 5556 │ 9153 │ │ Lisp │ 2 │ 243 │ 199 │ 1847 │ 2289 │ │ C/C++ Header │ 7 │ 833 │ 1326 │ 902 │ 3061 │ │ CSS │ 1 │ 77 │ 34 │ 357 │ 468 │ │ make │ 12 │ 113 │ 179 │ 322 │ 614 │ │ lex │ 1 │ 49 │ 43 │ 175 │ 267 │ │ m4 │ 1 │ 53 │ 36 │ 173 │ 262 │ │ yacc │ 1 │ 23 │ 26 │ 127 │ 176 │ │ Python │ 1 │ 5 │ 14 │ 25 │ 44 │ │ sed │ 2 │ 0 │ 0 │ 16 │ 16 │ │ celkem │ 184 │ 8184 │ 11914 │ 34479 │ 54577 │ ╰────────────────┴───────────────────┴─────────────────────┴─────────────────────┴────────────────┴──────────────────╯ Record count: 13
alespoň co do počtu řádků, cca 10×:
$ cloc-relpipe.sh sqlite/sqlite počty_řádků_kódu: ╭───────────────────────┬───────────────────┬─────────────────────┬─────────────────────┬────────────────┬──────────────────╮ │ jazyk (string) │ souborů (integer) │ prázdných (integer) │ komentářů (integer) │ kódu (integer) │ celkem (integer) │ ├───────────────────────┼───────────────────┼─────────────────────┼─────────────────────┼────────────────┼──────────────────┤ │ C │ 322 │ 26851 │ 89879 │ 229524 │ 346254 │ │ Bourne Shell │ 19 │ 3122 │ 3479 │ 20459 │ 27060 │ │ Tcl/Tk │ 77 │ 2185 │ 3558 │ 17140 │ 22883 │ │ m4 │ 6 │ 1266 │ 87 │ 11989 │ 13342 │ │ C/C++ Header │ 55 │ 1460 │ 8976 │ 8575 │ 19011 │ │ yacc │ 3 │ 199 │ 370 │ 1424 │ 1993 │ │ make │ 5 │ 186 │ 234 │ 920 │ 1340 │ │ HTML │ 1 │ 149 │ 0 │ 915 │ 1064 │ │ DOS Batch │ 2 │ 154 │ 406 │ 598 │ 1158 │ │ Markdown │ 8 │ 143 │ 0 │ 503 │ 646 │ │ C++ │ 4 │ 87 │ 52 │ 410 │ 549 │ │ C# │ 2 │ 88 │ 286 │ 299 │ 673 │ │ Windows Resource File │ 1 │ 10 │ 23 │ 50 │ 83 │ │ XAML │ 2 │ 3 │ 0 │ 18 │ 21 │ │ celkem │ 507 │ 35903 │ 107350 │ 292824 │ 436077 │ ╰───────────────────────┴───────────────────┴─────────────────────┴─────────────────────┴────────────────┴──────────────────╯ Record count: 15
Na druhou stranu i sqlite je oproti tomu vyspělá relační databáze se vším všudy, akorát je souborová (což je ale pro ty menší úkoly spíš výhoda).
ale jako textový formát pro serializaci těchto strukturovaných dat mi to přijde celkem dobréJo, proč ne.
Nemůžeš to srovnávat s PostgreSQL nebo jinými velkými databázemi.To jsem ani moc nechtěl, jen mi přišel zvláštní ten přístup "edituje si to klidně ručně". Jasně, má to nástroje na kontroly apod., ale většina podobných projektů důrazně nedoporučuje do datových adr. vůbec chodit a tady píšou, že to dokonce lze editovat. Ale dovedu si představit integraci do editoru (Emacs
BTW: tenhle formát používá i balíčkovací systém v Guix SD, takže jeho výstup jde pak strojově zpracovávat. To byl jeden z důvodů, proč jsem v těch Relačních rourách implementoval jeho parser. Data si pak můžeš hodit do tabulky nebo převést na jiný formát.
$ guix package -s malloc | recsel -p name,version,relevance | relpipe-in-recfile | relpipe-out-tabular recfile: ╭───────────────┬──────────────────┬────────────────────╮ │ name (string) │ version (string) │ relevance (string) │ ├───────────────┼──────────────────┼────────────────────┤ │ jemalloc │ 4.5.0 │ 6 │ │ glibc │ 2.25 │ 1 │ │ libgc │ 7.6.0 │ 1 │ ╰───────────────┴──────────────────┴────────────────────╯ Record count: 3
P.S. Totéž můžeš udělat v Ubuntu nebo Debianu:
$ apt show emacs* | sed 's/^ /+/g' | relpipe-in-recfile | relpipe-tr-cut '.*' 'Package|Version|Section|Installed-Size|Homepage|Supported' | relpipe-out-tabular WARNING: apt does not have a stable CLI interface. Use with caution in scripts. recfile: ╭─────────────────────────┬──────────────────────┬────────────────────┬─────────────────────────┬─────────────────────────────────────────────────┬────────────────────╮ │ Package (string) │ Version (string) │ Section (string) │ Installed-Size (string) │ Homepage (string) │ Supported (string) │ ├─────────────────────────┼──────────────────────┼────────────────────┼─────────────────────────┼─────────────────────────────────────────────────┼────────────────────┤ │ emacs25 │ 25.2+1-6 │ editors │ 19,7 MB │ http://www.gnu.org/software/emacs/ │ 5y │ │ emacsen-common │ 2.0.8 │ editors │ 139 kB │ │ 5y │ │ emacspeak │ 47.0+dfsg-1 │ universe/editors │ 21,8 MB │ http://emacspeak.sf.net │ │ │ emacs │ 47.0 │ editors │ 8 192 B │ │ 5y │ │ emacs25-lucid │ 25.2+1-6 │ universe/editors │ 19,7 MB │ http://www.gnu.org/software/emacs/ │ │ │ emacs25-nox │ 25.2+1-6 │ editors │ 17,9 MB │ http://www.gnu.org/software/emacs/ │ 5y │ │ emacs-goodies-el │ 36.3ubuntu1 │ editors │ 3 433 kB │ │ 5y │ │ emacs25-bin-common │ 25.2+1-6 │ editors │ 473 kB │ http://www.gnu.org/software/emacs/ │ 5y │ │ emacs25-common-non-dfsg │ 25.2+1-1 │ multiverse/editors │ 4 685 kB │ │ │ │ emacs25-common │ 25.2+1-6 │ editors │ 66,9 MB │ http://www.gnu.org/software/emacs/ │ 5y │ │ emacs25-el │ 25.2+1-6 │ editors │ 16,3 MB │ http://www.gnu.org/software/emacs/ │ 5y │ │ emacs25-dbg │ 25.2+1-6 │ debug │ 5 604 kB │ http://www.gnu.org/software/emacs/ │ 5y │ │ emacs25-lucid-dbg │ 25.2+1-6 │ debug │ 5 703 kB │ http://www.gnu.org/software/emacs/ │ 5y │ │ emacs25-nox-dbg │ 25.2+1-6 │ debug │ 3 996 kB │ http://www.gnu.org/software/emacs/ │ 5y │ │ emacs-nox │ 47.0 │ universe/editors │ 8 192 B │ │ │ │ emacs-window-layout │ 1.4-1 │ universe/lisp │ 65,5 kB │ https://github.com/kiwanami/emacs-window-layout │ │ │ emacs-calfw │ 1.6+git20170704-1 │ universe/lisp │ 193 kB │ https://github.com/kiwanami/emacs-calfw/ │ │ │ emacs-calfw-howm │ 1.6+git20170704-1 │ universe/lisp │ 37,9 kB │ https://github.com/kiwanami/emacs-calfw/ │ │ │ emacs-intl-fonts │ 1.2.1-10 │ universe/x11 │ 11,2 MB │ │ │ │ emacs-jabber │ 0.8.92+git98dc8e-2 │ universe/net │ 10,2 kB │ http://emacs-jabber.sourceforge.net/ │ │ │ emacs-mozc │ 2.20.2673.102+dfsg-2 │ universe/utils │ 125 kB │ https://github.com/google/mozc.git │ │ │ emacs-mozc-bin │ 2.20.2673.102+dfsg-2 │ universe/utils │ 837 kB │ https://github.com/google/mozc.git │ │ │ emacspeak-espeak-server │ 47.0+dfsg-1 │ universe/editors │ 58,4 kB │ http://emacspeak.sf.net │ │ │ emacspeak-ss │ 1.12.1-7 │ universe/editors │ 270 kB │ │ │ │ emacs24 │ │ │ │ │ │ ╰─────────────────────────┴──────────────────────┴────────────────────┴─────────────────────────┴─────────────────────────────────────────────────┴────────────────────╯ Record count: 25
Akorát apt
varuje, že to není stabilní API. A chtělo by to trochu poladit formátování, aby to byly víc strojově čitelné údaje (např. velikosti).