Chris Kühl (CEO), Christian Brauner (CTO) a Lennart Poettering (Chief Engineer) představili svou společnost Amutable. Má přinést determinismus a ověřitelnou integritu do linuxových systémů.
Byla vydána (𝕏) nová verze 26.1 open source firewallové a routovací platformy OPNsense (Wikipedie). Jedná se o fork pfSense postavený na FreeBSD. Kódový název OPNsense 26.1 je Witty Woodpecker. Přehled novinek v příspěvku na fóru.
Deník TO spustil vlastní zpravodajský webový portál ToHledej.CZ s internetovým vyhledávačem a bezplatnou e-mailovou schránkou. Dle svého tvrzení nabízí 'Zprávy, komentáře, analýzy bez cenzury' a 'Mail bez šmírování a Velkého bratra'. Rozložením a vizuálním stylem se stránky nápadně podobají portálu Seznam.cz a nejspíše je cílem být jeho alternativou. Z podmínek platformy vyplývá, že portál využívá nespecifikovaný internetový vyhledávač třetí strany.
Computer History Museum (Muzeum historie počítačů) zpřístupnilo své sbírky veřejnosti formou online katalogu. Virtuálně si tak můžeme prohlédnout 'rozsáhlou sbírku archivních materiálů, předmětů a historek a seznámit se s vizionáři, inovacemi a neznámými příběhy, které revolučním způsobem změnily náš digitální svět'.
Ruský hacker VIK-on si sestavil vlastní 32GB DDR5 RAM modul z čipů získaných z notebookových 16GB SO-DIMM RAM pamětí. Modul běží na 6400 MT/s a celkové náklady byly přibližně 218 dolarů, což je zhruba třetina současné tržní ceny modulů srovnatelných parametrů.
Národní identitní autorita (NIA), která ovlivňuje přihlašování prostřednictvím NIA ID, MEP, eOP a externích identit (např. BankID), je částečně nedostupná.
Byla vydána nová verze 1.16.0 klienta a serveru VNC (Virtual Network Computing) s názvem TigerVNC (Wikipedie). Z novinek lze vypíchnout nový server w0vncserver pro sdílení Wayland desktopu. Zdrojové kódy jsou k dispozici na GitHubu. Binárky na SourceForge. TigerVNC je fork TightVNC.
Byla vydána nová verze 4.6 (𝕏, Bluesky, Mastodon) multiplatformního open source herního enginu Godot (Wikipedie, GitHub). Přehled novinek i s náhledy v příspěvku na blogu.
Rozsáhlá modernizace hardwarové infrastruktury Základních registrů měla zabránit výpadkům digitálních služeb státu. Dnešnímu výpadku nezabránila.
Čínský startup Kimi představil open-source model umělé inteligence Kimi K2.5. Nová verze pracuje s textem i obrázky a poskytuje 'paradigma samosměřovaného roje agentů' pro rychlejší vykonávání úkolů. Kimi zdůrazňuje vylepšenou schopnost modelu vytvářet zdrojové kódy přímo z přirozeného jazyka. Natrénovaný model je dostupný na Hugging Face, trénovací skripty však ne. Model má 1 T (bilion) parametrů, 32 B (miliard) aktivních.
/^11 / { print t($5*180/3.141592653589) "\n" t($6*180/3.141592653589); }
Současný příkaz:
/^$/ { flag=0; next; }
/D Format/ { flag=0; next; }
/F Format/ { flag=1; next; }
/^ 9 / { print t($5) "\n" t($6); }
/^10 / { print t($5) "\n" t($6); }
/^11 / { print t($5*180/3.141592653589) "\n" t($6*180/3.141592653589); }
/^15 / { print t($5*100) "\n" t($6*100); }
/^16 / { print t($5) "\n" t($6); }
/^20 / { print t($5*10) "\n" t($6*10); }
/^23 / { print t($5) "\n" t($6); }
/^24 / { print t($5) "\n" t($6); }
function t(n, s) {
s=index(n,".");
return (s ? substr(n,1,s+6) : n);
}
Jak napsat více vstupních souborů?
awk -f code dcout1.active dcout2.active dcout3.active..... Jde to lépe?
Proč mám špatně vyhraněnou tu oblast? Vypisují se tam i hodnoty z následující tabulky.
Děkuji moc
/^$/ { flag=0; next; }
/D Format/ { flag=0; next; }
/F Format/ { flag=1; next; }
/^26 / { next; }
flag && /^ *[0-9]/ { print t($5) "\n" t($6); }
function t(n, s) {
s=index(n,".");
return (s ? substr(n,1,s+6) : n);
}
a to
43.685030
0.106608
0.080182
0.000675
2.734748
0.011468
0.219356
0.001769
83.864830
0.115873
2.250249
0.004792
3.936308
0.005290
7.491860
0.009210
ale potřeboval bych tam zahrnout to počítání.
# promenna FS urcuje oddelovac sloupcu, v mem pripade je to ;
# promenna OFMT urcuje pocet desetinnych mist a mezery mezi cisly
echo " Aritmeticky prumer dat od $USERDATE3 $USERTIME1 do $USERDATE4 $USERTIME2" >/datalog_bin/prumer/ctiprumer.$$
awk --use-lc-numeric 'BEGIN { FS = " "; print " Merici ustredna Difuse (OS GNU/Linux with Tux Inside)" }
{ s=s+$2; s1=s1+$3; s2=s2+$4; s3=s3+$5; s4=s4+$6; s5=s5+$7; s6=s6+$8; s7=s7+$9;\
s8=s8+$10; s9=s9+$11; s10=s10+$12; s11=s11+$13; s12=s12+$14; s13=s13+$15; s14=s14+$16; s15=s15+$17 }
END { OFMT= "%3.2f ";
print ""
printf("%-15s %6.2f %4s %-40s\n"," CHANNEL_0", s/NR+0.00001, "%RH ", "Prumerna_vlhkost_Skrin_1")
printf("%-15s %6.2f %4s %-40s\n"," CHANNEL_1", s1/NR+0.00001, "°C ", "Prumerna_teplota_Skrin_1")
printf("%-15s %6.2f %4s %-40s\n"," CHANNEL_2", s2/NR+0.00001, " ", " ")
printf("%-15s %6.2f %4s %-40s\n"," CHANNEL_3", s3/NR+0.00001, " ", " ", " ")
printf("%-15s %6.2f %4s %-40s\n"," CHANNEL_4", s4/NR+0.00001, "%RH ", "Prumerna_vlhkost_Skrin_2")
printf("%-15s %6.2f %4s %-40s\n"," CHANNEL_5", s5/NR+0.00001, "\260C ", "Prumerna_teplota_Skrin_2")
printf("%-15s %6.2f %4s %-40s\n"," CHANNEL_6", s6/NR+0.00001, " ", " ")
printf("%-15s %6.2f %4s %-40s\n"," CHANNEL_7", s7/NR+0.00001, " ", " ")
printf("%-15s %6.2f %4s %-40s\n"," CHANNEL_8", s8/NR+0.00001, "%RH ", "Prumerna_vlhkost_Skrin_3")
printf("%-15s %6.2f %4s %-40s\n"," CHANNEL_9", s9/NR+0.00001, "\260C ", "Prumerna_teplota_Skrin_3")
printf("%-15s %6.2f %4s %-40s\n"," CHANNEL_10", s10/NR+0.00001, " ", " ")
printf("%-15s %6.2f %4s %-40s\n"," CHANNEL_11", s11/NR+0.00001, " ", " ")
printf("%-15s %6.2f %4s %-40s\n"," CHANNEL_12", s12/NR+0.00001, "%RH ", "Prumerna_vlhkost_okoli")
printf("%-15s %6.2f %4s %-40s\n"," CHANNEL_13", s13/NR+0.00001, "\260C ", "Prumerna_teplota_okoli")
printf("%-15s %6.2f %4s %-40s\n"," CHANNEL_14", s14/NR+0.00001, "kPa ", "Prumerny_tlak_vzduchu")
printf("%-15s %6.2f %4s %-40s\n"," CHANNEL_15", s15/NR+0.00001, " ", " ")}' \
< /datalog_bin/prumer/doprumeru.dat.$$ >>/datalog_bin/prumer/ctiprumer.$$
Výstup je takový:
CHANNEL_0 59,91 %RH Prumerna_vlhkost_Skrin_1 CHANNEL_1 22,71 °C Prumerna_teplota_Skrin_1 CHANNEL_2 0,00 CHANNEL_3 0,00 CHANNEL_4 52,60 %RH Prumerna_vlhkost_Skrin_2 CHANNEL_5 23,08 `C Prumerna_teplota_Skrin_2 CHANNEL_6 0,00 CHANNEL_7 0,00 CHANNEL_8 73,46 %RH Prumerna_vlhkost_Skrin_3 CHANNEL_9 22,68 `C Prumerna_teplota_Skrin_3 CHANNEL_10 0,00 CHANNEL_11 0,00 CHANNEL_12 42,59 %RH Prumerna_vlhkost_okoli CHANNEL_13 21,30 `C Prumerna_teplota_okoli CHANNEL_14 99,10 kPa Prumerny_tlak_vzduchu CHANNEL_15 0,00Více vstupních souborů:
hlavicka="/datalog_bin/tlak-vzduchu-html/hlavicka"
last200csv="/datalog_bin/tlak-vzduchu-html/200.csv"
paticka0="/datalog_bin/tlak-vzduchu-html/paticka0"
paticka="/datalog_bin/tlak-vzduchu-html/paticka"
{ #Start podminky
if (hlavicka == 1) #Pokud je promenna hlavicka=1, tiskni soubor1 (hlavicka)
print
if (hlavicka == 2) #Pokud je promenna hlavicka=2, uprav soubor2 (200.csv)
{ #Start programu - uprav soubor2
split($18, datum, "[\t -]")
$18 = datum [3] "." datum [2] "." datum [1] " " datum [4]
#Vypocet relativniho tlaku vzduchu
AbsPress = $16 #Absolutni tlak v kPa
ElevationDifuse = "217" #Nadmorska vyska v m
GravConst = "9,80665" #Isaac Newton
GasConst = "287,04" #Merna plynova konstanta R = 287,04 J/K
AverTempDifuse = $15 + (ElevationDifuse * "0,0025")
RelPressDifuse = AbsPress/exp(-ElevationDifuse * GravConst/(GasConst * ( "273,15" + AverTempDifuse ))) * 10* "1,0012"
format1 = " %s ""\n"
format2 = " %.2f °C ""\n"
format3 = " %.3f kPa ""\n"
format4 = " %.2f HPa ""\n"
if ($0 !~ /[a-z]/) #V datech je radek s textem, ktery musim odfiltrovat
{
printf "" "\n"
printf (format1 format2 format3 format4, $18, $15, $16, RelPressDifuse "\n")
print " " "\n"
}
else
{
next
}
} #Stop programu
if (hlavicka == 3) #Pokud je promenna hlavicka=7, print tabletty1
{
print
}
{ if (hlavicka == 4) #Pokud je promenna hlavicka=3, print paticka0
print
}
{ if (hlavicka == 5) #Pokud je promenna hlavicka=3, print aktualnihodnoty
print
}
{ if (hlavicka == 6) #Pokud je promenna hlavicka=3, print paticka
print
}
}' hlavicka=1 "$hlavicka" hlavicka=2 "$last200csv" hlavicka=3 "$tabletty1" hlavicka=4 "$paticka0" hlavicka=5 "$aktualnihodnoty" hlavicka=6 "$paticka" |tee \
"$destination1" "$destination2" >/dev/null
done
Tiskni
Sdílej: