ESP-IDF (Espressif IoT Development Framework), tj. oficiální vývojový framework pro vývoj aplikací na mikrokontrolérech řady ESP32, byl vydán v nové verzi 6.0. Detaily na portálu pro vývojáře.
DeepMind (Alphabet) představila novou verzi svého multimodálního modelu, Gemma 4. Modely jsou volně k dispozici (Ollama, Hugging Face a další) ve velikostech 5-31 miliard parametrů, s kontextovým oknem 128k až 256k a v dense i MoE variantách. Modely zvládají text, obrázky a u menších verzí i audio. Modely jsou optimalizované pro běh na desktopových GPU i mobilních zařízeních, váhy všech těchto modelů jsou uvolněny pod licencí Apache 2.0. Návod na spuštění je už i na Unsloth.
Cursor (Wikipedie) od společnosti Anysphere byl vydán ve verzi 3. Jedná se o multiplatformní proprietární editor kódů s podporou AI (vibe coding).
Průkopnická firma FingerWorks kolem roku 2000 vyvinula vícedotykové trackpady s gesty a klávesnice jako TouchStream LP. V roce 2005 ji koupil Apple, výrobu těchto produktů ukončil a dotykové technologie využil při vývoji iPhone. Multiplatformní projekt Apple Magic TouchstreamLP nyní implementuje funkcionalitu TouchStream LP na současném Apple Magic Trackpad, resp. jejich dvojici. Diskuze k vydání probíhá na Redditu.
Byla vydána nová verze 10.3 sady aplikací pro SSH komunikaci OpenSSH. Přináší řadu bezpečnostních oprav, vylepšení funkcí a oprav chyb.
Cloudflare představil open source redakční systém EmDash. Jedná se o moderní náhradu WordPressu, která řeší bezpečnost pluginů. Administrátorské rozhraní lze vyzkoušet na EmDash Playground.
Bratislava OpenCamp 2026 zverejnil program a spustil registráciu. Štvrtý ročník komunitnej konferencie o otvorených technológiách prinesie 19 prednášok na rôzne technologické témy. Konferencia sa uskutoční v sobotu 25. apríla 2026 v priestoroch FIIT STU v Bratislave.
Na iVysílání lze zhlédnout všechny díly kultovního sci-fi seriálu Červený trpaslík.
Společnost Valve aktualizovala přehled o hardwarovém a softwarovém vybavení uživatelů služby Steam. Podíl uživatelů Linuxu dosáhl v březnu 5,33 % (Windows -4,28 %, OSX +1,19 %, Linux +3,10 %). Nejčastěji používané linuxové distribuce jsou Arch Linux, Linux Mint a Ubuntu. Při výběru jenom Linuxu vede SteamOS Holo s 24,48 %. Procesor AMD používá 67,48 % hráčů na Linuxu.
Společnost Apple slaví padesáté narozeniny. Založena byla 1. dubna 1976.
Ve zdojácích xinetd jsem v souboru xinetd/int.c narazil na řádek, který nechápu:
socklen_t size = AF_UNIX ;
Proč do proměnné „velikost“ někdo přiřazuje hodnotu z číselníku AF_*? Vždyť AF_UNIX = 1 a to přece není žádná velikost, ne?
V Gitu jsem k tomu našel zprávu:
24.5.2012 int.c: fix possible uninitialized value call when socket family detection fails
Ano, inicializovat proměnnou je fajn – ale proč zrovna hodnotou AF_UNIX?
Řešení dotazu:
socket.h je:
/* Address families. */ #define AF_UNSPEC PF_UNSPEC #define AF_LOCAL PF_LOCAL #define AF_UNIX PF_UNIX #define AF_FILE PF_FILE #define AF_INET PF_INET #define AF_AX25 PF_AX25 #define AF_IPX PF_IPX …
/* Protocol families. */ #define PF_UNSPEC 0 /* Unspecified. */ #define PF_LOCAL 1 /* Local to host (pipes and file-domain). */ #define PF_UNIX PF_LOCAL /* POSIX name for PF_LOCAL. */ #define PF_FILE PF_LOCAL /* Another non-standard name for PF_LOCAL. */ #define PF_INET 2 /* IP protocol family. */ #define PF_AX25 3 /* Amateur Radio AX.25. */ #define PF_IPX 4 /* Novell Internet Protocol. */ …Nepřijde mi, že by ta čísla měla znamenat nějakou velikost.
AF_UNIX je samozřejmě nesmysl, ta proměnná (aspoň na začátku) obsahuje délku příslušné sockaddr struktury, takže když už tam autor chtěl dát nějakou zdánlivě smysluplnou hodnotu, měl použít např. "sizeof(struct sockaddr)".
Ve skutečnosti je ale úplně jedno, jak se to inicializuje, protože pokud ten kód má mít nějaký smysl, funkce int_fail() se nebude vracet, nejspíš volá exit() nebo něco podobného. V okamžiku použití tak size vždy inicializovaná bude a ten warning je false positive.
Problém bude pravděpodobně v tom, že je int_fail() definovaná v jiném souboru a kompilátor tak neví, že se nemůže vrátit, pokud to není explicitně uvedeno v deklaraci (gcc na to má "__attribute__ ((__noreturn__))"). Nebo to řádně označeno je (případně je ta funkce inline) a jde o úlitbu starším kompilátorům, které nedokážou vyhodnotit, že proměnná bude vždy včas inicializovaná.
socklen_t size;a v pohode. Mozno to dava warningy pri pedantnejsej kontrole kodu. A samozrejme. Bud nic alebo nula. Napis autorovi.
Tiskni
Sdílej: