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.
(!R)@&{&/x!/:2_!x}'!R
Ray tracer se vejde na 7 řádků: http://www.nsl.com/k/ray/raya.k.
Wow, taky moc pekne, ale popravde na psani webovych aplikaci bych to asi nepouzival, ackoliv na nejake podulohy by se to hodilo.
O tom jak si napsat vlastní obalení okolo C knihovny bude možná, některý z mých dalších zápisků.O tom už jsem trochu napsal na czwiki4d.
to ja se spis rozepisu o tom jak predelat .h do .d
Z linuxové sekce jsem pochopil, že se k D programu linkuje statická knihovna. To není, po čem by příčetný vývojář toužil. Co dynamické knihovny?
A hlavně, co by se mi líbilo, by byl opačný postup, kdy v D napíšu knihovnu a tu pak linkuji k jiné céčkové aplikaci. To je totiž problém všech (snad až na objective C) vysokoúrovňových jazyků, že co v nich napíšete, zůstává zakleto pro daný jazyk. Například java má tohle standardizované (JNI), ale použití je značně kostrbaté a osobně mám pocit, že efektivita přenosu dat a volání mezi oběma systémy je bídná.
no me tusim zde funguje linkovani i dynamickejch a to jak ldc, gdctak dmd
JJ, me slo spis o to ze to jde jak v dmd tak i ldc, gdc sice jde alejen nekdy a nejak to blbne
To je totiž problém všech (snad až na objective C) vysokoúrovňových jazyků, že co v nich napíšete, zůstává zakleto pro daný jazyk.Například v Haskellu to jde.
Nevíte jak se to chová, když výsledek výpočtu v haskelu se nevejde céčkového intu?Nastane přetečení. Zde je zdrojový kód odkazovaného příkladu (k funkcím
fromIntegral jsem doplnil typy):
fibonacci :: Int -> Int
fibonacci n = fibs !! n
where fibs = 0 : 1 : zipWith (+) fibs (tail fibs)
fibonacci_hs :: CInt -> CInt
-- S typy:
-- fibonacci_hs = (fromIntegral :: Int -> CInt) . fibonacci . (fromIntegral :: CInt -> Int)
fibonacci_hs = fromIntegral . fibonacci . fromIntegral
foreign export ccall fibonacci_hs :: CInt -> CInt
V příkladu pravý fromIntegral převede hodnotu typu CInt na Int a v případě, že by rozsah CInt byl větší než rozsah Int (norma Haskellu garantuje minimální rozsah typu Int 30 bitů), tak číslo přeteče. Levý fromIntegral provádí převod opačným směrem, a opět hodnota může přetéct.
CInt je typ Haskellu, jenž umí reprezentovat všechny hodnoty typu int z C.
Ach ta ma cestina, ma tam samozrejme byt tvrde y. jinak tuto vetu jsm nenapal nejstastneji. Chtel jsem proste rict, ze s hlavickovymi soubory je to proste obcas zazitek, protoze narozdil od modulu se jedna o prime vlozeni souboru,kdezto u modulu v jazyce D se jedna jen o exportovani symbolu. Jinak k tomu poradi pokud prvne vlozim soubor kterej ocekava treba nejakej typ a az nasledne soubor kde je danej typ definovan tak se dostanu do potizi.
#ifdef
Ano toto makro samozrejme znam, ale neni to vse spasne a hlavne to resi jen problem ze se nenainkluduje soubor vicekrat a nefunguje to uplne vzdy dobre, uz jsem zazil situace kdy se mi to stejne vlozilo vickrat.
#pragma once!
Vsak co vim tak python je na tom dost podobne co se typovani tyce jako D, pokud promenou pouziji jako int tak uz je stale int ne? Sice se ta typy neuvadeji ale to je tak vse
auto jako specifikátoru typu, při kterém si ho kompilátor sám odvodí datový typ podle použití, což ovšem opět neumožňuje použití jedné proměnné na cokoliv. V phobosu je typ variant, který tak použít jde.
Na druhou stranu, mě statické typování v D vyhovuje do té míry, že ho používám často radši než python :)
Opravdu nemusi, aha tak to jsem to nekde spatne cetl :), ja stejne vzdy i v pythonu, PHP atd zachovaval to ze jedna promena vzdy reprezentuje stale ten stejny typ
JJ, ono kdyz pak clovek prepisuje po nekom kod a promena title na zacatku obsahuje nejaky retezec, uprostred je to pole a nakonec kdyz se dostane az k return title, tak zjisti ze to vraci cislo :D
Kód mimo funkcí v IO monádách je s drobnými omezeními verifikovatelný (např. Zeno). No a pak je tu ještě Agda nebo Coq 
U silně staticky typovaných jazyků jako např. haskell (98 i 2010) je uvedený příklad (řetězec -> pole/seznam -> číslo) neproveditelný.Technicky vzato mohu napsat
coerce = coercea přetypovat cokoliv na cokoliv. Další nepříjemností Haskellu je, že nemá induktivní typy, takže není možné použít matematickou indukci.
coerce = coerce lze "přetypovat" jen jednou a to buď explicitním uvedením signatury nebo typovou inferencí, tzn. v celém programu má jedinečný typ. Tedy AFAIK, stále se haskell teprve učím.
Haskell nemá induktivní typy ? Např. Maybe Int nebo String nejsou ?
coerce :: forall a. a – všimněte si toho kvantifikátoru – za a mohu dosadit cokoliv.
Hodnoty induktivně definovaného typu vzniknou konečnou aplikací "zobecněných nul" (u seznamu Nil) a "zobecněných následníků" (u seznamu Cons). Jenže například repeat 'c' je hodnota typu String resp. [Char], která vznikla nekonečnou aplikací.
inf = S inf):
data Peano = O | S Peano
) trida jazyku, ktera sjednocuje staticke a dynamicke typovani (nebo lepe, vyhody obou). A nejsou to verifikovatelne jazyky, i kdyz ty do te tridy patri take. Teste se na budoucnost, bude zajimava!
Napisete program, provedete experiment (spustite ho na nejakych datech), a prekladac doplni typy na zaklade vysledku experimentu.
Napisete program, provedete experiment (spustite ho na nejakych datech), a prekladac doplni typy na zaklade vysledku experimentu.Jak se ale zajistí, že odvozené typy budou správné i pro jiné běhy? Podobnou věc mohu udělat abstraktní interpretací.
Ono kdyz se podivate na programy v realnem svete, tak tohle by pomohlo opravdu vic nez snazit se vsechno dokazat.
Je to proste klasicky spor logicka dedukce vs. logicka indukce. Co vydedukujete bude 100% spravne, ale zase toho bude mene a slabsi. Indukci dostanete ne 100% spravny vysledek, ale zase se dozvite plno zajimavych veci. Ten muj pristup dedukci nevylucuje, kdezto ciste logicke formalni systemy indukci ano.
Základní výhodou je pro mě syntaxe velmi podobná C/C++Tohle moc nechapu, a nechapal jsem to ani u Javy nebo C#, a vlastne retrospektivne ani u C++ (vuci C). Prijde mi to jako takova vejicka na uzivatele - pojdte sem, mame skoro stejnou syntax! Ale ve skutecnosti se v tech jazycich programuje jinak a maji zcela jine zakladni knihovny. Syntax je jen mala cast toho, co musite znat. A ten rozdil se zvetsuje s tim, jak se jazyky vyviji. Jelikoz D je (doufam) jeste stale ve vyvoji, je to trochu podfuk, ne?
Ano Qt ma i port pro D jmenuje se QtD
Ale popravde jsme to nestestoval jak moc je to funkcni a i vyvoj se zda ze je momentalne pomalej, pokud jsme se dival tak 10 mesicu na to nikdo nechytl, ale duvodem muze byt ze proste nebylo treba :)
JJ vala vypada moc pekne, treba se k ni taky nekdy dostanu, ale zatim jsem jenom u D a V je prece jen jeste daleko :D
Tiskni
Sdílej: