V Brně na FIT VUT probíhá třídenní open source komunitní konference DevConf.CZ 2025. Vstup je zdarma, nutná je ale registrace. Na programu je celá řada zajímavých přednášek, lightning talků, meetupů a workshopů. Přednášky lze sledovat i online na YouTube kanálu konference. Aktuální dění lze sledovat na Matrixu, 𝕏 nebo Mastodonu.
Vyloučení technologií, které by mohly představovat bezpečnostní riziko pro stát, má umožnit zákon o kybernetické bezpečnosti, který včera Senát schválil spolu s novelami navazujících právních předpisů. Norma, kterou nyní dostane k podpisu prezident, počítá rovněž s prověřováním dodavatelů technologií pro stát. Normy mají nabýt účinnosti od třetího měsíce po jejich vyhlášení ve Sbírce zákonů.
Open source platforma Home Assistant (Demo, GitHub, Wikipedie) pro monitorování a řízení inteligentní domácnosti byla vydána v nové verzi 2025.6.
Po Red Hat Enterprise Linuxu a AlmaLinuxu byl v nové stabilní verzi 10.0 vydán také Rocky Linux. Přehled novinek v poznámkách k vydání.
Bylo vydáno Eclipse IDE 2025-06 aneb Eclipse 4.36. Představení novinek tohoto integrovaného vývojového prostředí také na YouTube.
Americká filmová studia Walt Disney a Universal Pictures podala žalobu na provozovatele populárního generátoru obrázků pomocí umělé inteligence (AI) Midjourney. Zdůvodňují to údajným porušováním autorských práv. V žalobě podané u federálního soudu v Los Angeles označují firmu za „bezednou jámu plagiátorství“, neboť podle nich bez povolení bezostyšně kopíruje a šíří postavy z filmů jako Star Wars, Ledové království nebo Já, padouch, aniž by do nich investovala jediný cent.
Ultra Ethernet Consortium (UEC), jehož cílem je optimalizace a další vývoj Ethernetu s důrazem na rostoucí síťové požadavky AI a HPC, vydalo specifikaci Ultra Ethernet 1.0 (pdf, YouTube).
Francouzský prezident Emmanuel Macron chce zakázat přístup na sociální sítě pro děti do 15 let. Francie podle něj tento krok udělá sama do několika měsíců, i pokud se na něm neshodnou další státy Evropské unie. Reaguje tak na úterní vraždu vychovatelky, kterou ve východofrancouzském městě Nogent pobodal 14letý mladík. Jednotlivé sociální sítě podle něj mají možnost věk ověřit a vymáhat zákaz pomocí systémů na rozpoznávání tváří.
Byl aktualizován seznam 500 nejvýkonnějších superpočítačů na světě TOP500. Nejvýkonnějším superpočítačem zůstává El Capitan od HPE (Cray) s výkonem 1,742 exaFLOPS. Druhý Frontier má výkon 1,353 exaFLOPS. Třetí Aurora má výkon 1,012 exaFLOPS. Nejvýkonnější český počítač C24 klesl na 165 místo. Karolina, GPU partition klesla na 195. místo a Karolina, CPU partition na 421. místo. Další přehledy a statistiky na stránkách projektu.
Oficiálně byl vydán Android 16. Detaily na blogu a stránkách věnovaných vývojářům.
Kdysi dávno jsem byl v konferencích cecko@pandora.cz a os@pandora.cz. Už nevím, do které z nich kdosi poslal kus kódu v céčku, který řadu přítomných udivil. Jednalo se o Duff's device, které by se ale mělo jmenovat spíš Hell device. Po letech jsem na tuto konstrukci znovu narazil, tak se s vámi chci podělit
O co jde? Je to kus kódu, kde je konstrukce switch
promíchána s jinou konstrukcí - v tomto případě do/while
. A je to validní céčkový zdroják.
switch (count % 8) /* count > 0 assumed */ { case 0: do { *to++ = *from++; case 7: *to++ = *from++; case 6: *to++ = *from++; case 5: *to++ = *from++; case 4: *to++ = *from++; case 3: *to++ = *from++; case 2: *to++ = *from++; case 1: *to++ = *from++; } while ((count -= 8) > 0); }
K čemu je to dobré? Dnes k ničemu. Ale v 80. letech se dělaly optimalizace na zmenšení počtu větvení programu, takže výše uvedený kód byl rychlejší než:
do { /* count > 0 assumed */ *to++ = *from++; } while (--count > 0);
Dneska už jsou procesory někde jinde, zrychlení to nepřinese. A programátoři takhle už optimalizovat neumí - za vše mluví, že když jsem si psal na tohle benchmark, vyrobil jsem Segmentation Fault. Jdu zase Pythonit.
Tiskni
Sdílej:
1. Pokud by taková optimalizace skutečně pomohla, měl by ji dělat překladač, ne programátor. Takhle zprasit a znečitelnit zdroják kvůli drobnému zrychlení, to nejsem při nejlepší vůli ochoten považovat za chvályhodné.
2. Současné verze GCC (a nejspíš i jiných překladačů) mají funkce typu memcpy()
implementované jako builtin, který už je optimalizován pro danou platformu.
3. Až někdy nebudu mít do čeho dloubnout, docela rád se podívám, jestli je to syntakticky opravdu v pořádku nebo jestli je to jen nepozornost překladače.
memcpy()
. do { /* count > 0 assumed */ *to = *from++; /* Note that the to pointer is NOT incremented */ } while (--count > 0);Tedy neinkrementuje pointer
to
. Čuměl jsem na to jak puk, a myslel jsem, že ostatní čtenáři by čuměli taky. Pak jsem si přečetl, že na adrese to
je namapován I/O port a rozsvítilo se mi. Takže původní verze sice nelze smést ze stolu tvrzením "použij memcpy", ale zato je dnes zcela dokonale pasé. I když jednou jsem v nějaké embedded krabičce na port takhle přistupoval...
Kdysi dávno jsem byl v konferencích cecko@pandora.cz a os@pandora.cz.A proč už nečteš OS? Nedávno jsme tam probírali, jestli by náhodou kluci od Flexu nechtěli to svoje dítko opensourcovat
Tento hustý kousek kódu mě zaujal natolik, že jsem udělal malý benchmark.