Byla vydána nová verze 25.12.30 svobodného multiplatformního video editoru Shotcut (Wikipedie) postaveného nad multimediálním frameworkem MLT. Shotcut je vedle zdrojových kódů k dispozici také ve formátech AppImage, Flatpak a Snap.
Společnost Valve publikovala přehled To nej roku 2025 ve službě Steam aneb ohlédnutí za nejprodávanějšími, nejhranějšími a dalšími nej hrami roku 2025.
Byly publikovány výsledky průzkumu mezi uživateli Blenderu uskutečněného v říjnu a listopadu 2025. Zúčastnilo se více než 5000 uživatelů.
V dokumentově orientované databázi MongoDB byla nalezena a v upstreamu již opravena kritická bezpečností chyba CVE-2025-14847 aneb MongoBleed.
Při úklidu na Utažské univerzitě se ve skladovacích prostorách náhodou podařilo nalézt magnetickou pásku s kopií Unixu V4. Páska byla zaslána do počítačového muzea, kde se z pásky úspěšně podařilo extrahovat data a Unix spustit. Je to patrně jediný známý dochovaný exemplář tohoto 52 let starého Unixu, prvního vůbec programovaného v jazyce C.
FFmpeg nechal kvůli porušení autorských práv odstranit z GitHubu jeden z repozitářů patřících čínské technologické firmě Rockchip. Důvodem bylo porušení LGPL ze strany Rockchipu. Rockchip byl FFmpegem na porušování LGPL upozorněn již téměř před dvěma roky.
K dispozici je nový CLI nástroj witr sloužící k analýze běžících procesů. Název je zkratkou slov why-is-this-running, 'proč tohle běží'. Klade si za cíl v 'jediném, lidsky čitelném, výstupu vysvětlit odkud daný spuštěný proces pochází, jak byl spuštěn a jaký řetězec systémů je zodpovědný za to, že tento proces právě teď běží'. Witr je napsán v jazyce Go.
Yazi je správce souborů běžící v terminálu. Napsán je v programovacím jazyce Rust. Podporuje asynchronní I/O operace. Vydán byl v nové verzi 25.12.29. Instalovat jej lze také ze Snapcraftu.
Od soboty do úterý probíhá v Hamburku konference 39C3 (Chaos Communication Congress) věnovaná také počítačové bezpečnosti nebo hardwaru. Program (jiná verze) slibuje řadu zajímavých přednášek. Streamy a záznamy budou k dispozici na media.ccc.de.
Byl představen nový Xserver Phoenix, kompletně od nuly vyvíjený v programovacím jazyce Zig. Projekt Phoenix si klade za cíl být moderní alternativou k X.Org serveru.
Ahojte,
snažím se rozběhnout script pro vytvoření cyklu, který spočítá teplotu dohramdy a na konci provedu dělení a získám tak průměrnou teplotu.
Bohužel se mně to nějak nedaří dát dohromady. Poradíte prosím?
#!/bin/bash
total_temp=0
avg_temp=0
for i in {1..5}
do
teplota="`cat /sys/bus/w1/devices/28-0301977927ab/w1_slave | sed -n 's/^.*\(t=[^ ]*\).*/\1/p' | sed 's/t=//' | awk '{x=$1}END{print(x/1000)}'`"
total_temp = $total_temp + $teplota
sleep 2
done
avg_temp = $total_temp / 4
echo $avg_temp
total_temp=$(($total_temp + $teplota)) avg_temp=$(($total_temp / 4))Co je vystupem prikazu:
cat /sys/bus/w1/devices/28-0301977927ab/w1_slave?
Co je vystupem prikazu:neco jako:cat /sys/bus/w1/devices/28-0301977927ab/w1_slave?
9a 01 4b 46 7f ff 0c 10 9f : crc=9f YES 9a 01 4b 46 7f ff 0c 10 9f t=25625
#!/bin/bash
total_temp=0
values=0
for i in {1..5}; do
teplota=`awk -F'=' '/t/{print $2/1000}' /sys/bus/w1/devices/28-0301977927ab/w1_slave`
total_temp=`echo $total_temp + $teplota | bc -l`
values=$(($values + 1))
sleep 2
done
avg_temp=`echo $total_temp / $values |bc -l`
echo $avg_temp
let values++
((values++))
#!/bin/bash
total_temp=0
values=5
for ((i=0; i<$values; i++)); do
teplota=`sed -n 's/^.*t=\([^ ]*\).*/\1/p' /sys/bus/w1/devices/28-0301977927ab/w1_slave`
((total_temp+=teplota))
sleep 2
done
((avg_temp=total_temp/values))
echo ${avg_temp%???}.${avg_temp: -3}
A mas to aj s povodnou presnostou (fixed point arithmetic) a s minimom novych procesov (aj ta funkcnost toho sedu sa da prepisat do cisteho bashu, cim sa to asi 10x urychli, ale uz sa mi nechce).
# cat w1_awg.awk
BEGIN {
if ((ARGC < 2) || (ARGC > 3)) {
print "Usage:", ARGV[0], "/sys/bus/w1/devices/[sensor_id]/w1_slave [samples]"
exit 1
}
if (ARGC==3){
SAMPLES=ARGV[2]
if (SAMPLES !~ "[1-9][0-9]*") {
print "Number of samples must be number greather than zero"
exit 2
}
} else {
SAMPLES=5
}
FNAME=ARGV[1]
TEMP_SUM=0
for (i = 1; i <= SAMPLES; ++i) {
while((getline line < FNAME) > 0 ) {
if (line ~ "t=") {
split(line, f, "=")
TEMP_SUM+=f[2]/1000
}
}
close(FNAME)
system("sleep 2")
}
print TEMP_SUM/SAMPLES
}
# awk -f w1_awg.awk /sys/bus/w1/devices/28-0301977927ab/w1_slave 3 25.75 #
Tiskni
Sdílej: