Byl zveřejněn průběžně aktualizovaný program konference OpenAlt 2026 o otevřeném softwaru a datech, IT bezpečnosti, DIY a IoT. Konference proběhne o víkendu 7. a 8. listopadu v prostorách FIT VUT v Brně. Vstup je zdarma.
Po 9 týdnech vývoje od vydání Linuxu 7.2 oznámil Linus Torvalds vydání Linuxu 7.3. Podrobný přehled novinek a vylepšení na Linux Kernel Newbies nebo LWN.net: první a druhá polovina začleňovacího okna.
Memtest86+ (Wikipedie), svobodný nástroj pro kontrolu operační paměti, byl vydán ve verzi 9.00. S podporou architektury AArch64 (ARM64).
Společnost Fairphone stojící za stejnojmennými mobilními telefony představila (pdf) bezdrátová špuntová sluchátka Fairbuds 2. Opravitelná, s vyměnitelnými bateriemi a tříletou zárukou. Cena 119 eur.
O víkendu 17. a 18. října lze na brněnském výstavišti navštívit s jednou vstupenkou dvě akce: Maker Faire Brno, festival inovací, kreativity a kutilství, a GameDev Connect, akci určenou pro všechny současné a hlavně budoucí herní vývojáře.
Canonical vydal (email) Ubuntu 26.10 Stonking Stingray. Přehled novinek v poznámkách k vydání. Jedná se o průběžné vydání s podporou 9 měsíců, tj. do července 2027.
České Radiokomunikace (CRA) ve čtvrtek odstřelily rozhlasový vysílač Liblice B, dosud nejvyšší stavbu v Česku. O demolici dvou 355 metrů vysokých stožárů rozhodly z důvodu jejich nevyužívání, už v úterý přitom zhasly a demontovaly jejich osvětlení.
plot 1:($2+$3+...)
#!/bin/bash
# USAGE: mergefuncs FILE...
# Martin Cizek <cizek@webland.cz>
[ $# -gt 0 ] || exit 1;
awk '
function complete_last()
{
for (i = idx; i <= count; i++)
res[i] = res[i] " 0"
idx = 1
have_prev = 0
}
BEGIN {
xi = 0
idx = 1
}
ARGIND < ARGC/2 {
if (length($1))
x[xi++] = (double)$1
next
}
!sorted {
count = asort(x)
sorted = 1
lastind = ARGIND
}
/[^ \t]/{
if (lastind != ARGIND)
complete_last()
lastind = ARGIND
while (idx <= count && x[idx] <= $1) {
if ((have_prev && x[idx] == prev_x) || x[idx] == $1)
res[idx] = res[idx] " " $2
else if (have_prev && x[idx] >= prev_x)
res[idx] = res[idx] " " (prev_y + ($2-prev_y)*(x[idx]-prev_x)/($1-prev_x))
else
res[idx] = res[idx] " 0"
idx++;
}
}
/[^ \t]/&&!have_prev {
have_prev = 1
prev_x = (double)$1
prev_y = (double)$2
}
END {
complete_last()
for (i = 1; i <= count; i++)
print x[i] " " res[i]
}
' "$@" "$@"
join -e 0 -j 1 files...
Tiskni
Sdílej: