Byla vydána Java 27 / JDK 27. Nových vlastností (JEP - JDK Enhancement Proposal) je 9.
Byl vydán Mozilla Firefox 156.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Vestavěný prohlížeč PDF se nyní spouští o 45 % rychleji. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 156 bude brzy k dispozici také na Flathubu a Snapcraftu.
Článek na Raspberry Pi představuje nový vzhled desktopu operačního systému Raspberry Pi OS v aktuálním vydání 2026-09-15.
Nové verze Roundcube Webmailu 1.6.19 a 1.7.4 řeší několik zranitelností.
Na Kickstarteru běží kampaň na podporu hloupého (jenom volání a SMS) tlačítkového DIY telefonu MAKERphone 2.0 od společnosti CircuitMess postaveného na ESP32-S3 a volitelně také s hodinkami MAKERband. S možností psaní vlastních aplikací. S volitelnými HW rozšiřujícími moduly.
Byla vydána nová verze 10.7 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. Přehled novinek v poznámkách k vydání. Přibyly balíčky HomeBox a Scrypted.
OpenRGB (GitLab) dospěl do verze 1.0 (YouTube). OpenRGB (dříve OpenAuraSDK) je svobodný multiplatformní software umožňující nastavení podsvícení celé řady různých „herních“ komponent a periferií.
Dnes startuje prodej headsetu Steam Frame. Počínaje dneškem se tedy můžete zapsat na seznam pro jeden z následujících modelů: Steam Frame 256 GB za 1 049 EUR a Steam Frame 1 TB za 1 279 EUR.
Vládní CERT upozorňuje na kritickou zranitelnost v GitLab Community Edition (CE) a Enterprise Edition (EE). Zranitelnost CVE-2026-85706 typu path traversal v Repository Commits API dosahuje skóre CVSS 10.0. Kvůli nedostatečnému omezení cest a chybějícímu vynucení autentizace může za určitých podmínek neautentizovaný útočník číst libovolné soubory ze serveru GitLab, a získat tak přístup k citlivým datům a konfiguraci instance.
Linux může běžet nativně na ESP32-S3 – bez emulace a rovnou s 9,7″ e-paperem.
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: