Během akce Arduino Days 2026 byl publikován Arduino Open Source Report 2025 (pdf) a oznámeno 7 nových produktů kompatibilních s deskou UNO Q (Arduino USB-C Power Supply, USB-C Cable, USB-C Hub, UNO Media Carrier, UNO Breakout Carrier, Bug Hopper, Modulino LED Matrix).
Google v pátek spustil v Česku Vyhledávání Live. Tato novinka umožňuje lidem vést plynulou konverzaci s vyhledávačem v češtině. A to prostřednictvím hlasu, nebo prostřednictvím toho, na co ukážou svým fotoaparátem či kamerou v mobilu. Rozšíření této multimodální funkce je možné díky nasazení Gemini 3.1 Flash Live, nového hlasového a audio modelu, který je od základu vícejazyčný, takže umožňuje lidem po celém světě mluvit na vyhledávač přirozeně a v jazyce, který je jim nejbližší.
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.
Potřebuji převést string - řetězec znaků z UTF-8 na cp1250 a nevím jak na to - jakou funkci použít v C.
Kdyby to bylo pouze překodování znaku je to bez problému, ale problém je že je to UTF-8 takže tam znak může být různě dlouhý a na to nevím jakou funkci v C použít - nikdy jsem s unicode nedělal.
Nebo to převést na pevnou délku tj UTF-8 na UNICODE (UTF-16) a porovnávat to potom a nahrazovat ?
Prostě mám program který mi převádí data z linuxu pro PocketPC a potřebuji překodovat znakovou sadu.
možná vám pomůže man 3 iconv
Nebo to převést na pevnou délku tj UTF-8 na UNICODE (UTF-16) a porovnávat to potom a nahrazovat ?
BTW., UTF-16 není Unicode (je to formát kódování používané pro kódování Unicode) a UTF-16 nemá pevnou délku znaků.
Jasně trochu se v tom ještě neorientuji pod MS-DOS jsem s UNICODE nedělal
v tu dobu nebyl.
iconv()? viz Wikipedie
Jasně to asi bude ono - jdu se na to kouknout co to dělá.....
#define DELKA_POZNAMKY 256
char convStr[DELKA_POZNAMKY];
...........
/* převod kodování */
char * UTF8toWindows (char * from)
{
char *p1, *p2;
iconv_t i;
size_t fromlen, tolen;
size_t iconv_value;
errno=0;
if (strlen(from) > DELKA_POZNAMKY) {
perror("ICONV: Poznámka je moc dlouhá.");
exit(errno);
}
memset(convStr,0,sizeof(convStr));
tolen = fromlen = strlen(from);
p1 = (char *)from;
p2 = (char *)convStr;
i = iconv_open("WINDOWS-1250", "UTF-8");
if (i == (iconv_t) -1) {
if (errno == EINVAL)
perror("ICONV: Nepodporuji převod z UTF-8 do CP1250.");
else
perror("ICONV: Chyba převodu kodování.");
exit(errno);
}
/* Převod */
/* iconv_value = iconv(i, (const char **)&p1, &fromlen, &p2, &tolen); */
iconv_value = iconv(i, &p1, &fromlen, &p2, &tolen);
if (iconv_value == (size_t) -1) {
perror ("ICONV: Převod kodování se nepovedl.");
exit(errno);
}
iconv_close(i);
return(convStr);
}
........
Tiskni
Sdílej: