V neděli 17. května 2026 proběhne v Českých Budějovicích první MobileLinux Hackday zaměřený na Linux v mobilech, embedded platformy a open source hardware. Po sedmi úspěšných měsíčních setkáních v Praze se akce přesouvá také do jižních Čech, aby se komunita mobilního Linuxu mohla potkat i mimo hlavní město. Akce se uskuteční v konferenčním sále Vajgar v Clarion Congress Hotelu (Pražská tř. 2306/14) se zahájením mezi 14:00 až 15:00 a … více »
Vývojáři Debianu zhruba v polovině vývojového cyklu Debianu 14 s kódovým názvem Forky rozhodli, že Debian musí dodávat reprodukovatelné balíčky, tj. kdokoli si může nezávisle ověřit, že daný binární balíček vznikl překladem a sestavením z konkrétních zdrojových kódů. Aktuálně je reprodukovatelných 98,29 % balíčků.
Německý e-shop Škoda Auto byl hacknut. Útočníci získali přístup k uživatelským údajům (jméno, adresa, e-mail, heslo, telefon, …).
Na webu konference Den IPv6 2026, která se uskuteční 4. června v Národní technické knihovně v pražských Dejvicích, je nyní k dispozici kompletní program této tradiční akce věnované tématům spojeným s protokolem IPv6. Na celodenní pásmo přednášek je třeba se přihlásit a zaplatit účastnický poplatek 242 korun. Registrační formulář najdou zájemci opět na webu akce. Konferenci Den IPv6 2026 organizují i letos společně sdružení CESNET, CZ.NIC a NIX.CZ.
Byl představen emulátor terminálu Ratty (GitHub) s podporu 3D grafiky přímo v terminálu. Inspirací byl operační systém TempleOS od Terryho Davise. Ratty je napsán v jazyce Rust. Využívá knihovnu Ratatui pro tvorbu rozhraní a herní engine Bevy pro 3D vykreslování.
Evropské instituce i některé americké státy dál zpřísňují pravidla pro ověřování věku na internetu. Cílem je zabránit dětem v přístupu k obsahu pro dospělé. Úřady ale narážejí na zásadní problém – stále více lidí používá VPN, tedy služby umožňující skrýt identitu i skutečnou polohu na internetu. Právě VPN nyní Evropská parlamentní výzkumná služba (EPRS) označila za „mezeru v legislativě, kterou je potřeba uzavřít“ [Novinky.cz].
Multiplatformní open source aplikace pro psaní poznámek Joplin (Wikipedie) byla vydána v nové verzi 3.6. Nově lze mít v poznámkách embedovaný externí obsah, např. YouTube videa.
Open Hardware Summit 2026 organizovaný OSHWA (Open Source Hardware Association) proběhne o víkendu 23. a 24. května v Berlíně na Technické univerzitě Berlín.
Navigace se soukromím CoMaps postavena nad OpenStreetMap byla vydána v nové verzi 2026.05.06. Přibyla možnost aktualizovat mapy v aplikaci CoMaps, aniž by bylo nutné aktualizovat i verzi aplikace. CoMaps je komunitní fork aplikace Organic Maps.
OCCT3D (Open CASCADE Technology) Open Source 8.0 bylo vydáno. OCCT3D (Wikipedie, GitHub) je objektově orientovaná knihovna pro 3D CAD, CAM nebo CAE. Používá se například v softwarech FreeCAD a KiCad.
Podobně jako TeX, i Common Lisp má mechanismus pro modifikování parseru (ve smyslu lexikální analýzy) svých programů. Doteď jsem to k ničemu nepotřeboval, ale dnes se to hodilo - překvapilo mne, jak jednoduché bylo pomocí modifikace parseru vytvořit parser pro konfigurační soubor v na první pohled odlišném formátu
Soubor, který jsem chtěl parsovat, měl podobný formát jako třeba /etc/lvm/lvm.conf nebo /etc/logrotate.conf: komentářové řádky uvozené #, informace seskupené pomocí { }, řetězce v uvozovkách.
Abych byl schopen soubor načíst pomocí funkce read, potřeboval jsem tedy zejména nadefinovat chování { a #:
;;; Nemodifikujeme přímo to, co používá lisp, ale separátní kopii
(defparameter *conf-readtable* (copy-readtable)
"Definice parsování pro konfigurační soubory")
; # se bude chovat stejně jako ;
(set-macro-character #\# (get-macro-character #\;)
nil *conf-readtable*)
; { } bude načítat list
(set-macro-character #\{
(lambda (stream char)
(read-delimited-list #\} stream t))
t *conf-readtable*)
Toť vše. Nyní už lze použít běžné prostředky pro načtení souboru - pro jednoduchost třeba s makry balíku series:
(let ((*readtable* *conf-readtable*)) ; bude se používat nová tabulka (collect (scan-file #P "/etc/lvm/lvm.conf"))) => (DEVICES (DIR = "/dev" SCAN = [ "/dev" ] FILTER = [ "r|/dev/cdrom|" ] CACHE = "/etc/lvm/.cache" WRITE_CACHE_STATE = 1 SYSFS_SCAN = 1 MD_COMPONENT_DETECTION = 1) LOG (VERBOSE = 0 SYSLOG = 1 OVERWRITE = 0 LEVEL = 0 INDENT = 1 COMMAND_NAMES = 0 PREFIX = " ") BACKUP (BACKUP = 1 BACKUP_DIR = "/etc/lvm/backup" ARCHIVE = 1 ARCHIVE_DIR = "/etc/lvm/archive" RETAIN_MIN = 10 RETAIN_DAYS = 30) SHELL (HISTORY_SIZE = 100) GLOBAL (UMASK = 77 TEST = 0 ACTIVATION = 1 PROC = "/proc" LOCKING_TYPE = 1 LOCKING_DIR = "/var/lock/lvm") ACTIVATION (MISSING_STRIPE_FILLER = "/dev/ioerror" RESERVED_STACK = 256 RESERVED_MEMORY = 8192 PROCESS_PRIORITY = -18 MIRROR_REGION_SIZE = 512 MIRROR_LOG_FAULT_POLICY = "allocate" MIRROR_DEVICE_FAULT_POLICY = "remove"))Pro hledání konkrétní informace lze pak použít běžné nástroje pro práci se seznamy, což zrovna v Lispu jde docela dobře:
(third ; tag = value ... (member 'proc (getf * 'global))) => "/proc"Samozřejmě, není to dokonalé - pro to co jsem potřeboval jsem ještě musel předefinovat 0, aby byla rozpoznána konvence 0777 (viz umask nakoře) resp 0xffff, a u toho lvm by mohlo být vhodné předefinovat i [, ale je to vcelku přímočaré a zřejmě občas užitečné. A o řád přesnější než grep.
Tiskni
Sdílej:
(Asi jsem snob, ale i na ten lvm.conf bych si radši napsal parser, už kvůli detekci chyb. A pro vlastní aplikace jedině S-expy a READ, proč to komplikovat.
)