Eric Lengyel dobrovolně uvolnil jako volné dílo svůj patentovaný algoritmus Slug. Algoritmus vykresluje text a vektorovou grafiku na GPU přímo z dat Bézierových křivek, aniž by využíval texturové mapy obsahující jakékoli předem vypočítané nebo uložené obrázky a počítá přesné pokrytí pro ostré a škálovatelné zobrazení písma, referenční ukázka implementace v HLSL shaderech je na GitHubu. Slug je volným dílem od 17. března letošního
… více »Sashiko (GitHub) je open source automatizovaný systém pro revizi kódu linuxového jádra. Monitoruje veřejné mailing listy a hodnotí navrhované změny pomocí umělé inteligence. Výpočetní zdroje a LLM tokeny poskytuje Google.
Cambalache, tj. RAD (rapid application development) nástroj pro GTK 4 a GTK 3, dospěl po pěti letech vývoje do verze 1.0. Instalovat jej lze i z Flathubu.
KiCad (Wikipedie), sada svobodných softwarových nástrojů pro počítačový návrh elektronických zařízení (EDA), byl vydán v nové major verzi 10.0.0 (𝕏). Přehled novinek v příspěvku na blogu.
Letošní Turingovou cenu (2025 ACM A.M. Turing Award, Nobelova cena informatiky) získali Charles H. Bennett a Gilles Brassard za základní přínosy do oboru kvantové informatiky, které převrátily pojetí bezpečné neprolomitelné komunikace a výpočetní techniky. Jejich protokol BB84 z roku 1984 umožnil fyzikálně zaručený bezpečný přenos šifrovacích klíčů, zatímco jejich práce o kvantové teleportaci položila teoretické základy pro budoucí kvantový internet. Jejich práce spojila fyziku s informatikou a ovlivnila celou generaci vědců.
Firefox 149 dostupný od 24. března přinese bezplatnou vestavěnou VPN s 50 GB přenesených dat měsíčně (s CZ a SK se zatím nepočítá) a zobrazení dvou webových stránek vedle sebe v jednom panelu (split view). Firefox Labs 149 umožní přidat poznámky k panelům (tab notes, videoukázka).
Byla vydána nová stabilní verze 7.9 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 146. Přehled novinek i s náhledy v příspěvku na blogu.
Dle plánu byla vydána Opera GX pro Linux. Ke stažení je .deb i .rpm. V plánu je flatpak. Opera GX je webový prohlížeč zaměřený na hráče počítačových her.
GNUnet (Wikipedie) byl vydán v nové major verzi 0.27.0. Jedná se o framework pro decentralizované peer-to-peer síťování, na kterém je postavena řada aplikací.
Byly publikovány informace (technické detaily) o bezpečnostním problému Snapu. Jedná se o CVE-2026-3888. Neprivilegovaný lokální uživatel může s využitím snap-confine a systemd-tmpfiles získat práva roota.
Protože to začíná být moderní, tak jsem si i já konečně pořídil počítač na platformě OpenPOWER. Tedy konkrétně základní desku BlackBird s čtyřjádrovým procesorem IBM POWER9. No a teĎ si začínám nést následky svého rozhodnutí.
Aneb proč dělat věci jednoduše, když nad nimi můžeme strávit půl soboty, že jo?
WD Elements Desktop 10TB u zeleného uřvaného chrchla stojí 6500Kč a obsahuje v sobě WD „white“ což je podle lidí, co to zkoumali, z HW i firmware hlediska až na nepodstatnou drobnost identický disk jako WD Red. Co jiného by tam také dali, WD Red je v zásadě nejlowendovější disk který v současnosti WD pro OEM trh vyrábí. WD Green už dlouho není a WD Blue už jen „dojíždí“ v nízkých kapacitách a je nahrazován WD Blue SSD. 10TB WD Red stojí 9000Kč.
V minulém díle jsem rozepsal jak vypadají moje bajtkódy. Jak se k nim ale dostat? Přes moje původní obavy se ukázalo, že neoptimalizující kompilátor je v případě, že existuje abstraktní syntaktický strom krásně jednoduchý.
Lexer rozděluje vstupní text na tokeny, které jsou parserem transformovány na abstraktní syntaktické stromy. Ty by měl vzít kompilátor a udělat z nich bytecode. Předtím je ovšem nutné si důkladně rozmyslet, jak má vlastně výsledný bajtkód vypadat, a tedy hlavně jak má vypadat virtuální stroj, kterým bude interpretován.
Pokud jste někdy viděli nápaditou přednášku Breta Victora The Future of Programming, určitě si pamatujete na pasáž, ve které popisuje procesor jako spoustu udřených tranzistorů, které se mohou přetrhnout, zatímco tranzistory operačních pamětí se většinu doby vyloženě flákají. A pokud chcete z vašeho křemíku dostat maximum, měli byste jít cestou velkého množství malých výpočetních jader, každým opatřeným malou, ale dostatečnou paměťovou kapacitou.
Dalším logickým krokem by mělo být vytvoření virtuálního stroje, který bude programovací jazyk interpretovat, a kompilátoru, který pro tento virtuální stroj zkompiluje zdrojový kód. Před tím, než se do toho můžu pustit je však třeba ujasnit si, nejlépe formou konkrétní implementace, jak bude vypadat reprezentace a rozložení objektů v paměti.
/etc/shadow, cracks the hashes and sshs back to the attacking machine.
Předchozí díly se věnovaly především jazyku a prostředí jako takovému. V tom dnešním se podíváme na komunitu kolem Selfu, jeho historii, budoucí rozvoj a možné důsledky, které Self přinesl.
Parser parsuje, testy procházejí a svítí zeleně. Co víc si přát. Snad jen .. Ve všemožných článcích psali, že je dobré provádět časté testy, zda jde kód přeložit RPythonem. Během psaní parseru to nemělo smysl, protože parser je obtížně dělitelný kus a moje soustředění mířilo směrem k projití unittesty. Řešit u toho ještě datové typy a všechna omezení RPythonu mi přišlo jako zbytečný masochismus, který by mohl způsobit, že projekt nikdy nedodělám.
Zarazilo vás někdy, že příkaz stat(1) z GNU Coreutils na Linuxu vypisuje kromě klasické trojice unixových časových značek access, modify a change navíc také jakési birth, u kterého ale hodnota chybí? Co tu vůbec to prázdné birth dělá? Zajímat o tuto málo známou časovou značku jsem se začal až před pár měsíci při debugování jednoho problému, kdy jsem se snažil chytil čeho se dalo. A i když mi to nakonec přímo nepomohlo, postupně jsem se začal nořit do její historie a budoucnosti, takže tento zápisek je někde na pomezí softwarové archeologie a jaderných novinek, a mj. se v něm dozvíte, kde se tato časová značka vzala, jak s ní dnes na GNU Linuxových distribucích pracovat a jak to s ní vypadá do budoucna.
Ve třetím dílu seriálu Jak se píše programovací jazyk se podíváme na způsob, kterým se z jednorozměrného pole Token objektů udělá syntaktický strom, který pak následně můžeme dále zpracovávat a vyhodnocovat.
Dneska se bude jednat o mezi-díl, kam jsem nacpal věci, jenž se mi moc nevešly nikam jinam. Podíváme se detailněji na debugger a transporter a taky si rozebereme nevýhody Selfu jako jazyka, prostředí, ale i obecně principu používání prototypového programování.
V předchozí části jsem popsal motivaci, jenž mě zavedla na trnitou cestu vývojářů vlastního jazyka. V dnešní části se podíváme na to jak vlastně má můj jazyk vypadat a taky se na první a pravděpodobně nejjednodušší komponentu: lexer.
Minulý díl představil Self jako projekt, ukázal kde ho stáhnout a jak se orientovat v prostředí morphic interface. Dnes se podíváme na jazyk samotný a jeho standardní knihovnu.
Cca před rokem a něco jsem začal tvořit vlastní programovací jazyk a na obrazu paměti založené interaktivní prostředí ve stylu Smalltalku či Selfu. Zpočátku jsem vůbec neměl tušení jak na to, nakonec jsem však začal řešit jeden problém za druhým a tak vznikl tento seriál.
Přináším vám zvěst o jazyku, který stál u zrodu mnoha dalších, leč skoro nikdo ho nezná. Zvěst o grafickém prostředí nabízejícím možnosti jako žádné jiné, leč skoro nikdo ho nepoužívá. Přináším také zvěst o virtuální mašině podporující reflexi téměř do nekonečna, a svého času dosahující v numerických výpočtech výkonu poloviny C, přesto dnes zapomenuté.
Relativně nedávno jsem narazil na to, že je nějaká koncepce výuky programování na středních školách založená na Arduinu. Do té doby jsem tuto hračku neznal, ale velice mne to zaujalo. Kdysi před nějakými 35 lety jsem bastlil podle Amatérského Rádia, co se dalo, a pokud by tehdy existovalo něco takového jako dnes, byl bych nadšen, i když by tomu asi padnul za oběť můj volný čas. Takže možná dobře, že nic takového tehdy nebylo 
Světlo světa spatřilo Pharo 7.0, což je nová verze otevřené implementace programovacího jazyka Smalltalk. Příchází s celou řadou systémových změn, které zásadním způsobem zasahují do samotné podstaty tohoto vývojového prostředí.
Historický přehled snah o použití Smalltalku přímo jako operačního systému.
Programovací jazyk Self byl první programovací jazyk, který byl přišel s konceptem prototypů. Self si plně vystačí s objekty složenými ze slotů, delegací mezi nimi a případným kódem, který je k objektům přiřazen. Z těchto ingrediencí dokáže poskládat velice mocný a flexibilní objektový model. O tom, jak to dělá, je tento zápisek.
Před nějakou dobou se mi dostalo do rukou zamyšlení, zdali je vlastně zapotřebí operační systém, či ne. Sám na toto téma provádím jakýsi „průzkum“ už přibližně dva roky. Rozhodl jsem se tedy, že bych mohl sepsat nosné myšlenky spolu s odkazy na některé relevantní zdroje informací.
Na konci července proběhlo médii srovnání 2 satelitních záběrů pořízených se zhruba měsíčním odstupem, na kterých je vidět, jak se za tu dobu projevilo na vegetaci v krajině letošní sucho. To je samo o sobě sice docela poučné, ale chci se tu na to podívat z pohledu odkazování na primární zdroje a používání dat s otevřenou licencí. Což je vzhledem k finišující reformně autorského práva také více méně aktuální.