Byly publikovány informace (technické detaily) o bezpečnostním problému Snapu. Jedná se o CVE-2026-3888. Neprivilegovaný lokální uživatel může s využitím snap-confine a systemd-tmpfiles získat práva roota.
Nightingale je open-source karaoke aplikace, která z jakékoliv písničky lokálního alba (včetně videí) dokáže oddělit vokály, získat text a vše přehrát se synchronizací na úrovni jednotlivých slov a hodnocením intonace. Pro separaci vokálů využívá UVR Karaoke model s Demucs od Mety, texty písní stahuje z lrclib.net (LRCLIB), případně extrahuje pomocí whisperX, který rovněž využívá k načasování slov. V případě audiosouborů aplikace na
… více »Po půl roce vývoje od vydání verze 49 bylo vydáno GNOME 50 s kódovým názvem Tokyo (Mastodon). Podrobný přehled novinek i s náhledy v poznámkách k vydání a v novinkách pro vývojáře.
Článek na stránkách Fedora Magazinu informuje o vydání Fedora Asahi Remixu 43, tj. linuxové distribuce pro Apple Silicon vycházející z Fedora Linuxu 43.
Byl zveřejněn program konference Installfest 2026. Konference proběhne o víkendu 28. a 29. března v Praze na Karlově náměstí 13. Vstup zdarma.
Byla vydána Java 26 / JDK 26. Nových vlastností (JEP - JDK Enhancement Proposal) je 10. Odstraněno bylo Applet API.
Byla vydána nová verze 260 správce systému a služeb systemd (Wikipedie, GitHub). Odstraněna byla podpora skriptů System V. Aktualizovány byly závislosti. Minimální verze Linuxu z 5.4 na 5.10, OpenSSL z 1.1.0 na 3.0.0, Pythonu z 3.7.0 na 3.9.0…
Byla vydána nová verze 5.1 svobodného 3D softwaru Blender. Přehled novinek i s náhledy a videi v poznámkách k vydání. Videopředstavení na YouTube.
Bylo oznámeno vydání nové verze 8.1 "Hoare" kolekce svobodného softwaru umožňujícího nahrávání, konverzi a streamovaní digitálního zvuku a obrazu FFmpeg (Wikipedie). Doprovodný příspěvek na blogu Khronosu rozebírá kódování a dekódování videa pomocí Vulkan Compute Shaders v FFmpeg.
Byl představen open-source a open-hardware prototyp nízkonákladového raketometu kategorie MANPADS, který byl sestaven z běžně dostupné elektroniky a komponent vytištěných na 3D tiskárně. Raketa využívá skládací stabilizační křidélka a canardovou stabilizaci aktivně řízenou palubním letovým počítačem ESP32, vybaveným inerciální měřicí jednotkou MPU6050 (gyroskop a akcelerometr). Přenosné odpalovací zařízení obsahuje GPS,
… více »@vars = sort @{$dailyvars{$_}};
Pokud bych měl tedy uloženy odchylky v podobném poli jako hodnoty, a tímto způsobem zamíchám s jejich pořadím,tak už nepřísluší například pátý prvek pole vars k pátému prvku pole odchylek. Principielně je snad řešení snadné, prostě kromě hodnot je třeba naskládat do pole @{dailyvars{1}} ještě odkazy na konkrétní prvky pole odchylek a na ty se potom odvolávat. Já jsem ale v Perlu doccela nováček a netuším jak tohle zapsat nebo mě nenapadá nějaké snažší řešení. Děkuji za každou radu.
Celý výpis kódu je zde
while (<>)
{
if (/^#/) { next; }
/([\d-]+) (\d+) ([\d\.]+) ([\d\.]+)/ or die "daily_median.pl: Error processing line: $_";
if (! exists $dailyvars{$1}) { @{$dailyvars{$1}} = ( $3 ); $count{$1} = 1; }
else { push @{$dailyvars{$1}}, $3; $count{$1} += 1; }
}
foreach (sort keys %dailyvars)
{
@vars = sort @{$dailyvars{$_}};
$n = $#vars + 1;
if ($n % 2 == 1) {
$median = $vars[($n - 1) / 2]; }
else {
$median = ($vars[$n / 2] + $vars[$n / 2 - 1]) / 2; }
print $_ . " $median " . $count{$_} . "\n";
}
Řešení dotazu:
if (! exists $dailyvars{$1}) { @{$dailyvars{$1}} = ({var => $3, odchylka => $4}); $count{$1} = 1; }
else { push @{$dailyvars{$1}}, {var => $3, odchylka => $4}; $count{$1} += 1; }
...
@vars = sort { $a->{var} <=> $b->{var} } (@{$dailyvars{$_}});
...
$median = $vars[($n - 1) / 2]->{var};
A další změny analogicky.
Vtip je v tom, že do $dailyvars{$den} neukládáš jen hodnoty, ale ukazatele na hash, který má dva klíče: var a odchylka. Tím si podržíš ty přidružené hodnoty pospolu.
Doufám, že je to trochu srozumitelné, spěchám, tak to vysvětluju tak nějak narychlo a ne moc exaktně. Podívej se do manuálu na sort, tam uvidíš, že to, co dávám do prvních složených závorek, je funkce, která určuje, podle čeho se bude třídit.
popř. něco takového
use 5.010;
use warnings;
use strict;
my %dailyvars;
while (<>) {
next if /^#/; #ignoruj komentáře
/(?<date>[\d-]+) \d+ (?<var>[\d\.]+) (?<odchylka>[\d\.]+)/ #rozeber řádek
or die "daily_median.pl: Error processing line: $_";
push @{ $dailyvars{ $+{date} }{vars} },
$+{var}; #přidej hodnotu mezi hodnoty
push @{ $dailyvars{ $+{date} }{'odchylky'} },
$+{odchylka}; #přidej odchylku mezi odchylky
$dailyvars{ $+{date} }{count}++; #přičti k počtu 1
}
foreach ( sort keys %dailyvars ) { #pro všechny dny (seřazené)
my $median;
my @vars = sort { $a <=> $b } @{ $dailyvars{$_}{vars} }; #srovnej hodnoty
my $n = @vars; #počet hodnot;
if ( $n % 2 == 1 ) {
$median = $vars[ ( $n - 1 ) / 2 ]
; #vypočti median pro sudý počet hondot
}
else {
$median = ( $vars[ $n / 2 ] + $vars[ $n / 2 - 1 ] )
/ 2; #vypočti median pro lichý počet hodnot
}
#vypiš výsledek
say $_
. "\tmedian: $median "
. "\tpocet: $dailyvars{$_}{count} "
. "\todchylky: @{ $dailyvars{$_}{odchylky} }";
}
Tiskni
Sdílej: