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.
Řešení dotazu:
// C++
#include <iostream>
using namespace std;
void solve_recursive(int level, int values[10], bool set[10]) {
if (level == 10) {
// test podmienky
if (values[0]*100000 + values[1]*10000 + values[0]*1000 + values[2]*100 + values[3]*10 + values[4] - (values[5]*1000 + values[6]*100 + values[7]*10 + values[8]) * (100 * values[9] + 10 *values[2] + values[3]) == values[0]*10000 + values[1]*1000 + values[0]*100 + values[2]*10 + values[3]) {
for (int i = 0; i < 10; i++)
cout << (char) ('a' + i) << ":" << values[i] << ", ";
cout << endl;
}
} else {
for (int i = 0; i < 10; i++)
if (!set[i]) {
set[i] = true;
values[level] = i;
solve_recursive(level + 1, values, set);
set[i] = false;
}
}
}
int main() {
int values[10];
// mozno pouzit aj cyklus ;)
bool set[10]={false, false, false, false, false, false, false, false, false, false};
solve_recursive(0, values, set);
return 0;
}
000000 - 0000 * 000 = 00000
#include <iostream>
#include <algorithm>
int main() {
int ints[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
int &A = ints[0];
int &B = ints[1];
int &C = ints[2];
int &D = ints[3];
int &E = ints[4];
int &F = ints[5];
int &G = ints[6];
int &H = ints[7];
int &I = ints[8];
int &J = ints[9];
do {
if ((100000*A+10000*B+1000*A+100*C+10*D+E) -
(1000*F+100*G+10*H+I) *
(100*J+10*C+D) ==
(10000*A+1000*B+100*A+10*C+D))
{
std::cout << A << B << A << C << D << E << " - "
<< F << G << H << I << " * "
<< J << C << D << " = "
<< A << B << A << C << D << "\n";
}
} while (std::next_permutation (ints, ints+10));
}
Tiskni
Sdílej: