Nové verze webových prohlížečů Chrome a Firefox jsou vydávány každé 4 týdny. Aktuální verze Chrome je 145. Aktuální verze Firefoxu je 148. Od září přejde Chrome na dvoutýdenní cyklus vydávání. V kterém týdnu bude mít Chrome větší číslo verze než Firefox? 😀
Apple představil nové čipy M5 Pro a M5 Max, MacBook Pro s čipy M5 Pro a M5 Max, MacBook Air s čipem M5 a Studio Display a nový Studio Display XDR.
Bylo spuštěno hlasování o přednáškách a workshopech pro letošní Installfest, jenž proběhne o víkendu 28. a 29. března v Praze na Karlově náměstí 13.
Byla vydána (Mastodon, 𝕏) třetí RC verze GIMPu 3.2. Přehled novinek v oznámení o vydání. Podrobně v souboru NEWS na GitLabu.
Apple představil iPhone 17e a iPad Air s čipem M4.
Byla vydána verze 1.0 editoru kódů Gram. Jedná se o fork editoru Zed bez telemetrie a umělé inteligence.
Byla oznámena spolupráce GrapheneOS s Motorolou. Podrobnosti v tiskové zprávě. GrapheneOS (Wikpedie) je varianta Androidu zaměřující se na bezpečnost a soukromí.
Armbian, tj. linuxová distribuce založená na Debianu a Ubuntu optimalizovaná pro jednodeskové počítače na platformě ARM a RISC-V, ke stažení ale také pro Intel a AMD, byl vydán ve verzi 26.2.1. Přehled novinek v Changelogu.
Volí se dvě místa v Radě openSUSE. Seznamte se se čtyřmi kandidáty. Členové projektu openSUSE mohou hlasovat od 1. do 8. března. Výsledky budou oznámeny 9. března.
Společnost OpenAI uzavřela dohodu s americkým ministerstvem obrany o poskytování technologií umělé inteligence (AI) pro utajované sítě americké armády. Firma to oznámila několik hodin poté, co prezident Donald Trump nařídil vládě, aby přestala využívat služby společnosti Anthropic.
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: