Valkey (Wikipedie) byl vydán v nové major verzi 9.0. Valkey je fork Redisu.
Byly publikovány informace o kritické zranitelnosti v knihovně pro Rust async-tar a jejích forcích tokio-tar, krata-tokio-tar a astral-tokio-tar. Jedná se o zranitelnost CVE-2025-62518 s CVSS 8.1. Nálezci je pojmenovali TARmageddon.
AlmaLinux přinese s verzí 10.1 podporu btrfs. XFS bude stále jako výchozí filesystém, ale instalátor nabídne i btrfs. Více informací naleznete v oficiálním oznámení.
Společnost OpenAI představila svůj vlastní webový prohlížeč ChatGPT Atlas. Zatím je k dispozici pouze na macOS.
Desktopové prostředí KDE Plasma bylo vydáno ve verzi 6.5 (Mastodon). Přehled novinek i s videi a se snímky obrazovek v oficiálním oznámení. Podrobný přehled v seznamu změn.
Rodina jednodeskových počítačů Orange Pi se rozrostla (𝕏) o Orange Pi 6 Plus.
Na Humble Bundle běží akce Humble Tech Book Bundle: All Things Raspberry Pi by Raspberry Pi Press. Se slevou lze koupit elektronické knihy od nakladatelství Raspberry Pi Press a podpořit Raspberry Pi Press, Raspberry Pi Foundation North America nebo Humble.
Přidaný režim autonomního řízení vozidel Tesla Mad Max je dostupný pro vybrané zákazníky v programu EAP (Early Access Program). Nový režim je na silnici agresivnější, častěji mění pruhy a ne vždy dodržuje rychlostní limity. Agentura JPP spekuluje, že v Česku by se mohl nový režim namísto Mad Max jmenovat Mad Turek...
Byla vydána nová verze 9.18 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. Nově také pro NanoPi R3S, R3S LTS, R76S a M5. Přehled novinek v poznámkách k vydání.
bat, tj. vylepšený cat se zvýrazňováním syntaxe a integrací s gitem, byl vydán ve verzi 0.26.0.
O víkendu jsem si vzal do vlaku na čtení Algoritmy, Datové struktury a programovací techniky od Computer Pressu. Ta kniha je plná chyb, popisky v textu nesouhlasí s obrázky, na mnoha místech nesmyslně přeložená a spousta dalších podobných nepříjemností. Část z toho vzniklo zjevně při překladu, ale dost hodně je také věcí velmi mizerné redakce. To je ale u Computer Pressu celkem obvyklé, skoro by se dalo říct, norma. Nicméně mě to přimělo si některé příklady zkusit vyřešit jen tak cvičně.
Ke kapitole 2:
-module(exer2). -compile(export_all). -define(DO8(X), X, X, X, X, X, X, X, X). -define(DO64(X), ?DO8(?DO8(X))). %%% 2.1 % reverse jako přirozená rekurze % Stupid and ineffective of course (čistě jen jako test) reverse_natural([]) -> []; reverse_natural([H|T]) -> reverse_natural(T) ++ [H]. % reverze s pomocnou proměnou % With Acc - realy fast reverse(L) when list(L) -> reverse(L, []). reverse([], L) -> L; reverse([H|T], L) -> reverse(T, [H|L]). %%% 2.2 % binární prohledávání seřazeného pole, nemaje pole, použito na tuple % udělat si seřazené tuple lze například: % list_to_tuple(lists:sort( % lists:map(fun(_)->random:uniform(100) end, lists:seq(1,10)) % )). binSearch(T, N) when tuple(T)-> binSearch(T, N, 1, size(T)). binSearch(T, N, P, P) -> N == element(P, T); % only speed up binSearch(T, N, S, E) when S < E -> P = (E+S) div 2, M = element(P, T), if M == N -> true; M < N -> binSearch(T, N, P+1, E); true -> binSearch(T, N, S, P-1) end; binSearch(_, _, _, _) -> false. %%% 2.3 % převod čísla do binární soustavy integerToBin(N) when integer(N) -> integerToBin(N, []). integerToBin(0, []) -> "0"; integerToBin(0, L) -> L; integerToBin(N, L) -> integerToBin(N div 2, [ N rem 2 +$0 | L ]). %%% 2.5 % největší společný dělitel % (elegantní, ale na dc verzi '?[dSarLa%d0<a]dsax+p' to stále nemá) bcd(A,0) -> A; bcd(A,B) -> bcd(B, A rem B). %%% Benchmarking % pár funkciček na měření časové náročnosti timeIt(X) -> timeIt(X, 1000). timeIt(X, N) -> statistics(runtime), for(1, N, X), element(2, statistics(runtime))/N/1000. for(S, E, F) when S < E-64 -> ?DO64(F()), for(S+64, E, F); for(S, E, F) when S < E -> F(), for(S+1, E, F); for(S, S, F) -> F(). % funkce na změření kolik zabere for % exer2:timeIt(fun exer2:empty/0, 10000000). % cca 60 ns na AMD Athlon 1.2 empty()->ok.
Tiskni
Sdílej: