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 »Vědci z univerzity La Sapienza v Římě vyvinuli systém, který dokáže identifikovat jednotlivce pouze na základě toho, jak narušují signály Wi-Fi. Autoři tuto novou technologii nazvali WhoFi. Na rozdíl od tradičních biometrických systémů, jako jsou skenery otisků prstů a rozpoznávání obličeje, nevyžaduje tato metoda přímý fyzický kontakt ani vizuální vstupy. WhoFi může také sledovat jednotlivce na větší ploše než kamera s pevnou polohou; stačí, je-li k dispozici Wi-Fi síť.
SuperTux (Wikipedie), tj. klasická 2D plošinovka inspirovaná sérií Super Mario, byl vydán v nové verzi 0.7.0. Videoukázka na YouTube. Hrát lze i ve webovém prohlížeči.
Ageless Linux je linuxová distribuce vytvořená jako politický protest proti kalifornskému zákonu o věkovém ověřování uživatelů na úrovni OS (AB 1043). Kromě běžného instalačního obrazu je k dispozici i konverzní skript, který kompatibilní systém označí za Ageless Linux a levné jednodeskové počítače v ceně 12$ s předinstalovaným Ageless Linuxem, které se chystají autoři projektu dávat dětem. Ageless Linux je registrován jako operační
… více »PimpMyGRC upravuje vzhled toolkitu GNU Radio a přidává alternativní barevná témata. Primárním cílem autora bylo pouze vytvořit tmavé prostředí vhodné pro noční práci, nicméně k dispozici je nakonec celá škála barevných schémat včetně možností různých animací a vizuálních efektů (plameny, matrix, bubliny...), které nepochybně posunou uživatelský zážitek na zcela jinou úroveň. Témata jsou skripty v jazyce Python, které nahrazují
… více »GIMP 3.2 byl oficiálně vydán (Mastodon, 𝕏). Přehled novinek v poznámkách k vydání.
Tiskni
Sdílej:
Zrovna jsem chtěl navrhnout, že by bodlo inkrementální zálohování 
\\?\D:\very long path. Toto předáváte fcím FindFile, CreateFile, ... Taky je potřeba použít FILE_FLAG_POSIX_SEMANTIC, aby to respektovalo case-sensitive názvy a povolilo různé znaky ve výchozím stavu zakázané. Díky tomuto přístupu pak budete moci i otevřít soubory vytvořené z linuxu na NTFS systému, kde jste prdly do názvu věci jako dvojtečku. Pak je taky potřeba počítat se symlinky, hardlinky a junction, na všechno existuje API, ale runtime free pascalu s tím nepočítá (resp. nepočítalo před pár lety, jak je to teď, nevím). Pro zálohovací utilitku je potřeba tohoto použít, jinak záloha může dopadnout špatně a to jistě u zálohy nechcete.
To je AFAIK věc souborového systému, ne Windows/Exploreru.NTFS dvojtečku v názvu podporuje, stejně tak < > apod. Dokonce i Windows API se s tím vypořádá a takový soubor otevře, pokud se však to API použije správně a né mizerně, tak jak ho používá Qt či Explorer a mnoho dalších aplikací (už jenom to, že Qt interpretuje '/' jako oddělovač adresářů na Windows je stupidní). Třeba takový 7-zip je jedna z mála aplikací, která to API dokáže použít lépe, než ostatní aplikace (tj. dokáže rozbalit archiv s obrovskou hloubkou adresářů a názvy až 32k dlouhými, tak, že to pak ani nejde smazat z Exploreru, protože to neumí). Bohužel už ale nezvládá case-sensitive názvy, které jak Windows, tak NTFS podporuje.
Před časem jsem došel ke stejnému závěru: že stávající zálohovací programy mi úplně nevyhovují a že si zkusím napsat něco vlastního.
Takže jsem se do toho pustil v C++ & Qt a dotáhnul to do nějakého funkčního stavu, kde fungují alespoň základy. Pak mi ale (typicky) kvůli práci došel čas a už mi to pár měsíců leží bez toho aby na to někdo sáhl. A napsané to taky není kdovíjak skvěle.
Kdyby měl někdo zájem v tom třeba pokračovat, nebo se jen podívat, tak tady to je...
- dodělat časovátko aby to kopírovalo v nastavený časPridaj TTimer (asi zalozka System) na formular, do udalosti OnTimer pridaj
if now > datum_kedy_sa_to_ma_spustit then
try
timer1.Enabled := false;
...samotny kod...
datum_kedy_sa_to_ma_spustit := dalsi_datum;
finally
timer1.Enabled := true;
end;
Pripadne ak chces aby sa to spustalo napr. kazdych 5 minut tak nastav Interval toho timeru na 300000 (to je 300s) a ten kod daj priamo do toho.
- mazat adresáře starší než nastavený počet dníListuj adresare cez TSearchRec (cez FindFirst, FindNext, FindClose) a starsie adresare maz cez DeleteDir. Nevie to mazat prazdne takze musis mazat rekurzivne.
- mazat adresáře od nejstaršího po dosažení nastavené velikosti adresáře zálohyHod si adresare do listu (alebo string listu, metoda CustomSort), funkcia Sort akceptuje ako parameter triediacu funkciu, vytvor si triediacu funkciu s 2 pointer parametrami ktora bude porovnavat adresare podla datumu. Alebo pouzi rovno datum yyyy-mm-dd-HH-MM-SS-zzz a bude to triedit spravne. Potom len vymazes prvy adresar z toho listu.
- možnost purgekopírování dat v adresáři – jen poslední verze ProE partů (ukládá soubory jako sestava.asm.1, při změně a uložení to vytvoří nový soubor sestava.asm.2 atd atd a purgekopírování zkopíruje jen ty poslední)To iste ako s tym sortovanim len si vytvoris inu sortovaciu funkciu.
function TriedenieAsmSuborovPodlaPripony(a,b : integer) : integer;
var fa,fb : string;
ca,cb : integer;
begin
fa := subory[a];
fb := subory[b];
if pos('.asm.', fa) then
ca := StrToIntDef(ExtractFileExt(fa), -1);
if pos('.asm.', fb) then
cb := StrToIntDef(ExtractFileExt(fb), -1);
result := ca - cb;
end;
- ukládání nastavení do xml nebo cfg souboru. Nyní to používá registry (fuj?)Pouzi ini subory, pozor, cesta v atribute Create musi byt uplna!
uses IniFiles;
with TIniFile.Create(GetEnvironmentVariable('HOME')+PathDelim+'.config'+PathDelim+'nieco.ini') then
try
Left := ReadInteger('OKNO', 'Left', 0);
Top := ReadInteger('OKNO', 'Top', 0);
b := ReadBool('OKNO', 'B', false);
s := ReadString('OKNO', 'Meno', '');
... zapis cez WriteInteger, WriteString, WriteBool, ...
finally
Free;
end;