Po více než roce vývoje od vydání verze 5.40 byla vydána nová stabilní verze 5.42 programovacího jazyka Perl (Wikipedie). Do vývoje se zapojilo 64 vývojářů. Změněno bylo přibližně 280 tisíc řádků v 1 500 souborech. Přehled novinek a změn v podrobném seznamu.
Byla vydána nová stabilní verze 7.5 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 138. Přehled novinek i s náhledy v příspěvku na blogu.
Sniffnet je multiplatformní aplikace pro sledování internetového provozu. Ke stažení pro Windows, macOS i Linux. Jedná se o open source software. Zdrojové kódy v programovacím jazyce Rust jsou k dispozici na GitHubu. Vývoj je finančně podporován NLnet Foundation.
Byl vydán Debian Installer Trixie RC 2, tj. druhá RC verze instalátoru Debianu 13 s kódovým názvem Trixie.
Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za červen (YouTube).
Libreboot (Wikipedie) – svobodný firmware nahrazující proprietární BIOSy, distribuce Corebootu s pravidly pro proprietární bloby – byl vydán ve verzi 25.06 "Luminous Lemon". Přidána byla podpora desek Acer Q45T-AM a Dell Precision T1700 SFF a MT. Současně byl ve verzi 25.06 "Onerous Olive" vydán také Canoeboot, tj. fork Librebootu s ještě přísnějšími pravidly.
Licence GNU GPLv3 o víkendu oslavila 18 let. Oficiálně vyšla 29. června 2007. Při té příležitosti Richard E. Fontana a Bradley M. Kuhn restartovali, oživili a znovu spustili projekt Copyleft-Next s cílem prodiskutovat a navrhnout novou licenci.
Svobodný nemocniční informační systém GNU Health Hospital Information System (HIS) (Wikipedie) byl vydán ve verzi 5.0 (Mastodon).
Open source mapová a navigační aplikace OsmAnd (OpenStreetMap Automated Navigation Directions, Wikipedie, GitHub) oslavila 15 let.
Vývojář Spytihněv, autor počítačové hry Hrot (Wikipedie, ProtonDB), pracuje na nové hře Brno Transit. Jedná se o příběhový psychologický horor o strojvedoucím v zácviku, uvězněném v nejzatuchlejším metru východně od všeho, na čem záleží. Vydání je plánováno na čtvrté čtvrtletí letošního roku.
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;
Tiskni
Sdílej: