Byla vydána verze 2026 distribuce programu pro počítačovou sazbu TeX s názvem TeX Live (Wikipedie). Přehled novinek v oficiální dokumentaci.
Jihokorejská Národní daňová služba (NTS) zabavila kryptoměnu Pre-retogeum (PRTG) v hodnotě 5,6 milionu dolarů. Pochlubila se v tiskové zprávě, do které vložila fotografii zabavených USB flash disků s kryptoměnovými peněženkami spolu se souvisejícími ručně napsanými mnemotechnickými obnovovacími frázemi. Krátce na to byla kryptoměna v hodnotě 4,8 milionu dolarů odcizena. O několik hodin ale vrácena, jelikož PRTG je extrémně nelikvidní, s denním objemem obchodování kolem 332 dolarů a zalistováním na jediné burze, MEXC [Bitcoin.com].
Komunita kolem Linuxu From Scratch (LFS) vydala nové verze knih s návody na instalaci vlastního linuxového systému ze zdrojových kódů Linux From Scratch 13.0 a Beyond Linux From Scratch 13.0. Pouze se systemd.
Byla vydána nová stabilní major verze 25.12 linuxové distribuce primárně určené pro routery a vestavěné systémy OpenWrt (Wikipedie). Jedná se o nástupce předchozí major verze 24.10. Přehled novinek v poznámkách k vydání. Podporováno je více než 2200 zařízení.
Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za únor (YouTube). Odstraněn byl veškerý kód napsaný ve Swiftu. JavaScriptový engine LibJS byl reimplementován v Rustu.
Byla vydána verze 1.94.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example. Zveřejněny byly výsledky průzkumu mezi vývojáři v programovacím jazyce Rust: 2025 State of Rust Survey Results.
Google zveřejnil seznam 185 organizací přijatých do letošního Google Summer of Code (GSoC). Dle plánu se zájemci přihlašují od 16. do 31. března. Vydělat si mohou od 750 do 6600 dolarů. V Česku a na Slovensku je to 900 dolarů za malý, 1800 dolarů za střední a 3600 dolarů za velký projekt. Další informace v často kladených otázkách (FAQ). K dispozici jsou také statistiky z minulých let.
Byla vydána únorová aktualizace aneb nová verze 1.110 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.110 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.
Apple představil 13palcový MacBook Neo s čipem A18 Pro. V základní konfiguraci za 16 990 Kč.
Kalifornský zákon AB 1043 platný od 1. ledna 2027 vyžaduje, aby operační systémy požadovaly po uživatelích věk nebo datum narození a skrze API poskytovaly aplikacím informaci, zda je uživatel mladší 13 let, má 13 až 16 let, má 16 až 18 let nebo má alespoň 18 let. Vývojáři linuxových distribucí řeší, co s tím (Ubuntu, Fedora, …).
Dobrý den, pořídil jsem si vypalovačku (LG GSA-H12L) s podporou LightScribe (potisk speciálních cd laserem) a i když se dá o užitečnosti pochybovat, řekl sem si že stejně tento úžasný zázrak vyzkouším. Koupil sem si speciální medium a začal googlit jak v linuxu na to.
Dostal sem se k ovladačům od Lacie a HP (prakticky to samé, jen má HP novější verzi) v rpm (bohužel v ničem jiném, proprietární bastl). Přes rpm2tar jsem to nějak prasácky nainstaloval, včetně kreslících softů (jak od lacie, tak od hp) a jal se to vyzkoušet.
A zde nastal problém. Při detekci mé mechaniky dojde vždycky k SIGSEGV chybě a konec. Přes strace jsem dostal toto:
strace 4L-cli enumerate
execve("/usr/bin/4L-cli", ["4L-cli", "enumerate"], [/* 42 vars */]) = 0
brk(0) = 0x8058000
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f7a000
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=94694, ...}) = 0
mmap2(NULL, 94694, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7f62000
close(3) = 0
open("/usr/local/lib/liblightscribe.so.1", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0000\267"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=1360448, ...}) = 0
mmap2(NULL, 1428220, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7e05000
mmap2(0xb7f10000, 262144, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x10b) = 0xb7f10000
mmap2(0xb7f50000, 72444, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7f50000
close(3) = 0
open("/lib/libpthread.so.0", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\300J\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=68940, ...}) = 0
mmap2(NULL, 74204, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7df2000
mmap2(0xb7e01000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xe) = 0xb7e01000
mmap2(0xb7e03000, 4572, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7e03000
close(3) = 0
open("/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/libstdc++.so.6", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\0\310\3"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=867168, ...}) = 0
mmap2(NULL, 886404, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7d19000
mmap2(0xb7de7000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xce) = 0xb7de7000
mmap2(0xb7dec000, 22148, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7dec000
close(3) = 0
open("/lib/libm.so.6", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\2603\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=150380, ...}) = 0
mmap2(NULL, 143488, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7cf5000
mmap2(0xb7d17000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x21) = 0xb7d17000
close(3) = 0
open("/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/libgcc_s.so.1", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\220\26"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=40120, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7cf4000
mmap2(NULL, 40548, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7cea000
mmap2(0xb7cf3000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x8) = 0xb7cf3000
close(3) = 0
open("/lib/libc.so.6", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\212Y\1"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=1167888, ...}) = 0
mmap2(NULL, 1140092, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7bd3000
mmap2(0xb7ce3000, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x10f) = 0xb7ce3000
mmap2(0xb7ce7000, 9596, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7ce7000
close(3) = 0
open("/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/libstdc++.so.5", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0p\277\3"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=719340, ...}) = 0
mmap2(NULL, 738816, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7b1e000
mmap2(0xb7bc9000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xaa) = 0xb7bc9000
mmap2(0xb7bce000, 17920, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7bce000
close(3) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7b1d000
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7b1c000
set_thread_area({entry_number:-1 -> 6, base_addr:0xb7b1c6b0, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}) = 0
mprotect(0xb7ce3000, 12288, PROT_READ) = 0
mprotect(0xb7d17000, 4096, PROT_READ) = 0
mprotect(0xb7de7000, 12288, PROT_READ) = 0
mprotect(0xb7e01000, 4096, PROT_READ) = 0
mprotect(0xb7f95000, 4096, PROT_READ) = 0
munmap(0xb7f62000, 94694) = 0
set_tid_address(0xb7b1c6f8) = 15906
rt_sigaction(SIGRTMIN, {0xb7df66d6, [], SA_SIGINFO}, NULL, 8) = 0
rt_sigaction(SIGRT_1, {0xb7df6610, [], SA_RESTART|SA_SIGINFO}, NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0
getrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM_INFINITY}) = 0
_sysctl({{CTL_KERN, KERN_VERSION}, 2, 0xbfb1f850, 38, (nil), 0}) = 0
futex(0xb7ded4dc, FUTEX_WAKE, 2147483647) = 0
brk(0) = 0x8058000
brk(0x8079000) = 0x8079000
getcwd("/opt/lightscribeApplications/SimpleLabeler", 4096) = 43
open("/etc/lightscribe.rc", O_RDONLY) = 3
write(2, "Using /etc/lightscribe.rc\n", 26Using /etc/lightscribe.rc
) = 26
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, 0xbfb1f1a8) = -1 ENOTTY (Inappropriate ioctl for device)
fstat64(3, {st_mode=S_IFREG|0644, st_size=0, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f79000
read(3, "", 8192) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, 0xbfb1f188) = -1 ENOTTY (Inappropriate ioctl for device)
close(3) = 0
munmap(0xb7f79000, 4096) = 0
rt_sigaction(SIGHUP, {0x804a7d0, ~[RTMIN RT_1], 0}, NULL, 8) = 0
rt_sigaction(SIGINT, {0x804a7d0, ~[RTMIN RT_1], 0}, NULL, 8) = 0
rt_sigaction(SIGPIPE, {0x804a7d0, ~[RTMIN RT_1], 0}, NULL, 8) = 0
rt_sigaction(SIGTERM, {0x804a7d0, ~[RTMIN RT_1], 0}, NULL, 8) = 0
rt_sigaction(SIGIO, {0x804a7d0, ~[RTMIN RT_1], 0}, NULL, 8) = 0
rt_sigaction(SIGPROF, {0x804a7d0, ~[RTMIN RT_1], 0}, NULL, 8) = 0
rt_sigaction(SIGIO, {0x804a7d0, ~[RTMIN RT_1], 0}, NULL, 8) = 0
rt_sigaction(SIGPWR, {0x804a7d0, ~[RTMIN RT_1], 0}, NULL, 8) = 0
rt_sigaction(SIGQUIT, {0x804a7d0, ~[RTMIN RT_1], 0}, NULL, 8) = 0
rt_sigaction(SIGILL, {0x804a7d0, ~[RTMIN RT_1], 0}, NULL, 8) = 0
rt_sigaction(SIGABRT, {0x804a7d0, ~[RTMIN RT_1], 0}, NULL, 8) = 0
rt_sigaction(SIGFPE, {0x804a7d0, ~[RTMIN RT_1], 0}, NULL, 8) = 0
rt_sigaction(SIGSEGV, {0x804a7d0, ~[RTMIN RT_1], 0}, NULL, 8) = 0
rt_sigaction(SIGBUS, {0x804a7d0, ~[RTMIN RT_1], 0}, NULL, 8) = 0
rt_sigaction(SIGSYS, {0x804a7d0, ~[RTMIN RT_1], 0}, NULL, 8) = 0
rt_sigaction(SIGTRAP, {0x804a7d0, ~[RTMIN RT_1], 0}, NULL, 8) = 0
rt_sigaction(SIGXCPU, {0x804a7d0, ~[RTMIN RT_1], 0}, NULL, 8) = 0
rt_sigaction(SIGXFSZ, {0x804a7d0, ~[RTMIN RT_1], 0}, NULL, 8) = 0
rt_sigaction(SIGALRM, {SIG_IGN}, NULL, 8) = 0
rt_sigaction(SIGUSR1, {SIG_IGN}, NULL, 8) = 0
rt_sigaction(SIGUSR2, {SIG_IGN}, NULL, 8) = 0
rt_sigaction(SIGVTALRM, {SIG_IGN}, NULL, 8) = 0
open("/proc/sys/dev/cdrom/info", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f79000
read(3, "CD-ROM information, Id: cdrom.c "..., 8192) = 433
read(3, "", 7168) = 0
read(3, "", 8192) = 0
close(3) = 0
munmap(0xb7f79000, 4096) = 0
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
+++ killed by SIGSEGV +++
Process 15906 detached
Pomocí google jsem nedospěl k ničemu. Pochopil jsem, že někomu to funguje, a snad není ani problém v /proc/sys/dev/cdrom/info (který mi mimochodem opravdu odkazuje na DVD vypalovačku, po přepojování IDE kabelu).
LightScribe jsem zkoušel se dvěmi jádry, obojí 2.6.19-gentoo-x. Někde na stránkách lacie (hp uvádí supported 2.6) jsem četl něco o 2.6.17 (ještě jsem netestoval), ale zase kvůli takové blbosti se na jedno jádro fixovat nehodlám. Do systému mi to rpmko žádný jaderný modul nedostalo, jenom knihovna a pár dalších souborů.
Pro upřesnění udám ještě konec výpisu aplikace od HP (velmi podobné).
open("/proc/sys/dev/cdrom/info", O_RDONLY) = 9
fstat64(9, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb71f1000
read(9, "CD-ROM information, Id: cdrom.c "..., 8192) = 433
read(9, "", 7168) = 0
read(9, "", 8192) = 0
close(9) = 0
munmap(0xb71f1000, 4096) = 0
open("/usr/lib/gconv/ISO8859-2.so", O_RDONLY) = 9
read(9, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\200\4\0"..., 512) = 512
fstat64(9, {st_mode=S_IFREG|0755, st_size=9572, ...}) = 0
mmap2(NULL, 12316, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 9, 0) = 0xb71ee000
mmap2(0xb71f0000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 9, 0x1) = 0xb71f0000
close(9) = 0
mprotect(0xb71f0000, 4096, PROT_READ) = 0
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
+++ killed by SIGSEGV +++
Process 16003 detached
Moh bych ti ukázat jak škrábu já, pochopil bys
Navíc mechaniky s Lightscribe jsou dost rozšířené, stojí mnohdy skoro stejně a média stojí to samé co klasická CD před pár lety...
Tiskni
Sdílej: