Jsongrep je open-source nástroj, který efektivně prohledává JSON dokumenty (editovat je neumí). Kompiluje regulérní jazyk dotazu do podoby deterministického konečného automatu (DFA), díky čemuž prochází strom JSON dokumentu pouze jednou a je v tom tedy rychlejší než jiné nástroje jako jsou například jq, JMESPath nebo jql. Jsongrep je napsaný v programovacím jazyce Rust, zdrojový kód je dostupný na GitHubu.
O víkendu probíhá v Praze na Karlově náměstí 13 konference Installfest 2026. Na programu je celá řada zajímavých přednášek a workshopů. Vstup na konferenci je zcela zdarma, bez nutnosti registrace. Přednášky lze sledovat i online na YouTube.
Mozilla a společnost Mila oznámily strategické partnerství za účelem rozvoje open source a suverénní AI. Cílem je ukázat, že open source AI může konkurovat uzavřeným systémům. Obě organizace chtějí posílit technologickou suverenitu a snížit závislost na hrstce velkých technologických firem.
Adam Rice předvedl, že pomocí DNS lze distribuovat a spustit kompletní hru DOOM. Rozdělil WAD soubory a binárky do téměř 2000 DNS záznamů v Cloudflare zóně (jeden TXT záznam v DNS může nést okolo 2000 znaků textu). Ty pak stáhl PowerShellem, dekomprimoval a spustil přímo v paměti počítače bez nutnosti zápisu na disk, což prakticky dokazuje, že DNS může sloužit jako distribuované úložiště dat a možný kanál pro načítání kódu. Repozitář projektu je na GitHubu.
Dnes a zítra probíhají Arduino Days 2026. Na programu je řada zajímavých přednášek. Sledovat je lze od 17:00 na YouTube. Zúčastnit se lze i lokálních akcí. Dnes v Poličce v městské knihovně a zítra v Praze na Matfyzu.
Byla vydána beta verze Ubuntu 26.04 LTS s kódovým názvem Resolute Raccoon. Přehled novinek v poznámkách k vydání. Dle plánu by Ubuntu 26.04 LTS mělo vyjít 23. dubna 2026.
Byla vydána aktualizována Příručka pro začínající wikipedisty a wikipedistky (pdf).
Ubuntu plánuje v budoucích verzích nahradit tradiční nástroje pro synchronizaci času (chrony, linuxptp a gpsd) novým, v Rustu napsaným ntpd-rs, který nabídne vyšší bezpečnost a stabilitu.
Byla vydána nová verze 7.6 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Správce hesel KeePassXC byl nahrazen správcem hesel GNOME Secrets. Bitcoinová peněženka Electrum byla povýšena na verzi 4.7.0. Tor Browser byl povýšen na verzi 15.0.8. Další novinky v příslušném seznamu.
Chris Down v obsáhlém článku „vyvrací mýty o zswap a zram“, vysvětluje, co vlastně dělají a jaké jsou mezi nimi rozdíly. Doporučuje vyhýbat se zram na serveru a bez OOM.
[Code]
////////// zaciatok psvince.dll //////////
const
ProgramName = 'notepad';
ProgramExeName = 'notepad.exe';
ProgramRunningOnInstallMessage = ProgramName + ' is currently running. ' + #13 + #13 + 'Please close it and then click on ''Retry'' to proceed with the installation.';
InstallationCanceledMessage = 'The installation was canceled.';
ProgramRunningOnUninstallMessage = ProgramName + ' is currently running. ' + #13 + #13 + 'Please close it and then click on ''Retry'' to proceed.';
UninstallationCanceledMessage = 'The uninstallation process was canceled.';
// IsModuleLoadedI - function to call at install time
// Also added setuponly flag
function IsModuleLoadedI(modulename: AnsiString ): Boolean;
external 'IsModuleLoaded@files:psvince.dll stdcall setuponly';
// IsModuleLoadedU - function to call at uninstall time
// Also added uninstallonly flag
function IsModuleLoadedU(modulename: AnsiString ): Boolean;
external 'IsModuleLoaded@{app}\psvince.dll stdcall uninstallonly' ;
function IsModuleLoaded( modulename: String; isUninstallation: Boolean ): Boolean;
begin
if isUninstallation then
Result := IsModuleLoadedU( modulename )
else
Result := IsModuleLoadedI( modulename );
end;
//------------------------------------------------------------------------------
// Prompt the user to close a program that's still running.
// Finish when the executable is closed or the user cancels the process.
// -> message : A message to show the user to prompt them to close
// -> isUninstallation : Whether this is an uninstallation (to call the right function.)
// <- True if the program was closed (or was not running),
// False if the user clicked on the Cancel button and didn't close the program
function PromptUntilProgramClosedOrInstallationCanceled(message: String; isUninstallation: Boolean ): Boolean;
var
ButtonPressed : Integer;
begin
ButtonPressed := IDRETRY;
// Check if the program is running or if the user has pressed the cancel button
while IsModuleLoaded( ProgramExeName, isUninstallation ) and ( ButtonPressed <> IDCANCEL ) do
begin
ButtonPressed := MsgBox( message , mbError, MB_RETRYCANCEL );
end;
// Has the program been closed?
Result := Not IsModuleLoaded( ProgramExeName, isUninstallation );
end;
//------------------------------------------------------------------------------
function InitializeSetup(): Boolean;
begin
Result := PromptUntilProgramClosedOrInstallationCanceled( ProgramRunningOnInstallMessage, False );
if Not Result then
begin
MsgBox( InstallationCanceledMessage, mbInformation, MB_OK );
end;
end;
//------------------------------------------------------------------------------
function InitializeUninstall(): Boolean;
begin
Result := PromptUntilProgramClosedOrInstallationCanceled( ProgramRunningOnUninstallMessage, True );
// Unload the DLL, otherwise the dll psvince is not deleted
UnloadDLL(ExpandConstant('{app}\psvince.dll'));
if not Result then
begin
MsgBox( UninstallationCanceledMessage, mbInformation, MB_OK );
end;
end;
////////// koniec psvince.dll //////////
teraz by som potreboval, aby premenné ProgramRunningOnInstallMessage, InstallationCanceledMessage sa naplnili textom jazykovej mutácie, ktorú si užívateľ vybral, t.j. povedzme stringom UninstallAppRunningError z slovak.isl (jazyky mám v inno scripte nadefinované). ako mám pozmeniť v kóde vyššie tú časť :???
const
ProgramRunningOnInstallMessage = ProgramName + ' is currently running. ' + #13 + #13 + 'Please close it and then click on ''Retry'' to proceed with the installation.';
prosím o názorný príklad, lebo pascal vôbec neovládam
Řešení dotazu:
Tiskni
Sdílej: