Byla vydána nová verze 5.13 svobodného multiplatformního softwaru pro konverzi a zpracování digitálních fotografií primárně ve formátů RAW RawTherapee (Wikipedie). Vedle zdrojových kódů je k dispozici také balíček ve formátu AppImage. Stačí jej stáhnout, nastavit právo ke spuštění a spustit.
Jean-Baptiste Kempf na svém blogu představil novou verzi 9.0 "Lei" kolekce svobodného softwaru umožňujícího nahrávání, konverzi a streamovaní digitálního zvuku a obrazu FFmpeg (Wikipedie).
Richard Hughes oznámil, že službu Linux Vendor Firmware Service (LVFS) umožňující aktualizovat firmware zařízení na počítačích s Linuxem, nově sponzoruje také společnost NVIDIA.
Edvard Rejthar na blogu zaměstnanců CZ.NIC představil svou aplikaci SlideRshow (GitHub). Funguje jako prohlížeč fotek, ale i jako jejich organizér a prezentátor. Neinstaluje se, běží přímo v prohlížeči. Bez serveru. Offline.
Kermit, tj. protokol pro přenos souborů, vznikl před 45 lety. Při této příležitosti byla po 15 letech od vydání poslední stabilní verze 9.0.302 vydána nová stabilní verze 11 implementace C-Kermit. S podporou IPv6.
První verze konverzního nástroje Pandoc byla vydána před 20 lety. Jeho autor John MacFarlane při tomto výročí rekapituluje jednotlivé etapy vývoje a přidávání nových funkcí – rozšíření nejen Markdownu a podporu mnoha dalších formátů.
Srpen přinesl nejen další spalující vedro, ale také Virtuální Bastlírnu s neméně žhavými novinkami. Využijte tedy předpovědi na deštivý čtvrteční večer a od 20:00 se připojte online k tomuto neformálnímu setkání kutilů, techniků a vědců, kde se strahovskými bastlíři proberete nejzajímavější věci, na které jste narazili za poslední měsíc. Pokud jde o novinky, řeč zcela jistě přijde na systém INDX pro tiskárny Průša, který na konci
… více »Firma T-Mobile blokovala „dezinformační web“ AC24 bez toho, aniž by k tomu měla závazný pokyn orgánů veřejné moci. Píše to ve svém rozsudku Městský soud v Praze, který po čtyřech letech uzavřel kauzu blokace zmíněného webu. Operátor musí uhradit škodu ve výši 35 tisíc korun. Advokát společnosti T-Mobile se snažil i u odvolacího senátu argumentovat tím, že firma jednala v dobré víře, když na stránky omezila přístup poté, co ji k tomu vyzvalo
… více »Padla obžaloba v bitcoinové kauze. Státní zástupkyně chce pro Blažka 6,5 roku vězení, pro Titze 8 let.
Z aktuálních globálních statistik společnosti Statcounter: na desktopu má Linux celosvětově podíl 7,53 % (USA 11,92 %, Česko 4,31 %, Slovensko 4,36 %) a Firefox celosvětově podíl 6,51 % (USA 10,86 %, Česko 11,07 %, Slovensko 13,61 %).
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:
První dva se dají sehnat v AJ a první i v ČJ (knihkupectví Neoluxor, Kanzelsberger). Že by třetí vyšel v AJ a druhý byl v ČJ pochybuji.
No a pak je tu ještě (také nedokončená) série od D. Knutha
Ono v této oblasti přeci jen asi ještě nebylo řečeno poslední slovo...
Ale ta knížka je, pravda, docela nová. Bohužel "lepiče v džavě" asi tolik nezaujme...