Byla vydána nová verze 10.2 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. Přehled novinek v poznámkách k vydání. Vypíchnout lze nové balíčky Immich, Immich Machine Learning, uv a RustDesk Client.
TypeScript (Wikipedie), tj. JavaScript rozšířený o statické typování a další atributy, byl vydán v nové verzi 6.0. Příští verze 7.0 je kvůli výkonu přepisována do programovacího jazyka Go.
Christian Schaller z Red Hatu na svém blogu popsal své zkušenosti s používáním AI při vývoji open source aplikací pro Linux. Pomocí různých AI aktualizoval nebo vytvořil aplikace Elgato Light GNOME Shell extension, Dell Ultrasharp Webcam 4K, Red Hat Planet, WMDock, XMMS resuscitated (aktualizace z GTK 2 a Esound na GTK 4, GStreamer a PipeWire) a Monkey Bubble. SANE ovladač pro skener Plustek OpticFilm 8200i se mu zatím nepovedl.
Americké firmy Tesla a SpaceX postaví v texaském Austinu moderní komplex na výrobu čipů pro umělou inteligenci (AI). Součástí projektu s názvem Terafab budou dvě moderní továrny na výrobu čipů – jedna se zaměří na automobily a humanoidní roboty, druhá na datová centra ve vesmíru. Uvedl to generální ředitel těchto firem Elon Musk. Projekt by podle odhadů měl stát 20 miliard USD (zhruba 425 miliard Kč).
Byla vydána nová stabilní verze 6.11 (YouTube) multiplatformního frameworku a GUI toolkitu Qt. Podrobný přehled novinek v poznámkách k vydání.
Ubuntu 26.04 patrně bude ve výchozím nastavení zobrazovat hvězdičky při zadávání hesla příkazu sudo, změna vychází z nové verze sudo-rs. Ta sice zlepší použitelnost systému pro nové uživatele, na které mohlo 'tiché sudo' působit dojmem, že systém 'zamrzl' a nijak nereaguje na stisky kláves, na druhou stranu se jedná o možnou bezpečnostní slabinu, neboť zobrazování hvězdiček v terminálu odhaluje délku hesla. Původní chování příkazu sudo
… více »Projekt systemd schválil kontroverzní pull request, který do JSON záznamů uživatelů přidává nové pole 'birthDate', datum narození, tedy údaj vyžadovaný zákony o ověřování věku v Kalifornii, Coloradu a Brazílii. Jiný pull request, který tuto změnu napravoval, byl správcem projektu Lennartem Poetteringem zamítnut s následujícím zdůvodněním:
… více »Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 163 (pdf).
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.
Zacnu trochu ze siroka (snad to nebudou moc velke jilkoviny). Pred dvema mesici jsem mel tu cest prezentovat Schemika na dalsi konferenci. A nebyl to zadny okresni prebor... o cemz svedci i to, ze autorem prispevku, ktery nasledoval hned po mne nebyl nikdo jiny nez Bjarne Stroustrup. C++ i C++0x jsou sice hrozne jazyky, ale je mile vyskytovat se v takove spolecnosti. ;-] Vlastne kdyz jsem poprve videl program konference, tak jsem si myslel, ze je to jen shoda jmen. Dost bylo honeni trika a k veci...
Zjistil jsem, ze balit holky na interpreter programovaciho jazyka je pekna blbost. Proto jsem zahajil novy projekt: ,,Schemik: The Next Generation''. Jehoz cilem je vyvinout JIT prekladac jazyka Schemik.
ctenari abclinuxu nejsou jedini, koho pravidelne otravuji vykladanim jiraskovsky dlouhych pribehu o schemikovi, implicitne paralelnim dialektu scheme a lispu. jelikoz ze schemika delame vedu, tak clanky o nem obstastnujem v pravidelnych cyklech i recenzenty na konferencich... s ruznymi vysledky...
kazdy asi vi, ze Šemík je bajny kun, objevujici ve starych povestech ceskych. mene zname je, ze schemik je taky bajny interpreter jazyka scheme podporujici implicitne paralelni vyhodnocovani.
jelikoz jsem sem uz vic nez rok o schemikovi nic nepsal, mohlo by se nekomu zdat, ze z nej je uz jen zdechlina a byl pochovan nekde u neumetel. opak je pravdou... schemik zije blaze a prosperuje....
rad bych vedel jestli nekdo z vas nepotkal nejakou symapatickou datovou strukturu, ktera by splnovala moje predstavy.
nedavno jsem resil, ze bysme si mohli poridit prekladac od intelu a jelikoz se pravidelne opakuje, ze gcc je mizerne optimalizuji prekladac, a ze intel je s vyvojem nekde uplne jinde. (prece jen ma tu vyhodu, ze vi naprosto presne, jak ti mravenci v tech procesorech opravdu pobihaji)
a kdyz jsem zjistil, ze icc by mel podporovat automatickou paralelizaci vypoctu, zacalo to pro me byt jeste lakavejsi sousto. udelal jsem si proto par testu na svych ,,obsesivnich'' prikladech s fibonaccihy cisly.
tak mam tu dalsi priklad ze sbirky -- chyby v programech, ktere jsem videl a udelal.
dneska jsem na cviceni narazil na strasne trivialni problem. dejme tomu, ze chceme vytvorit adresar a po vytvoreni se do nej presunout. proc na to nevytvorit specialni prikaz. neco jako xmkdir
predcasem jsem objevil ve svem kodu chybu... teda neda se rict, ze bych ji nejak objevil... o tom, ze je tam problem jsem vedel, uz kdyz jsem to psal. a neda se rict, ze by to byla chyba, protoze ten program funguje bez problemu a i pres urcite snahy se mne tu chybu nepodarilo presvedcit, aby se chovala jako chyba.
po dlouhem rozmysleni jsem se na konec rozhodl jit se svou kuzi na trh. (nebojte nejsou to uvahy z zenskeho casopisu). rozhodl jsem se dat k dispozici beta verzi sve diplomky, nyni i vcetne textu.
Okolnostmi jsem byl donucen prijmout do sveho projektu (viz predchozi prispevky) knihovnu readline se vsemi dusledky. Ta knihovna ma spostu much (je mastodontni, rozhrani pomoci globalnich promennych, o thread-safety si muze nechat jen zdat a navic je pod spatnou licenci a se sveraznou dokumentaci). Jeji klony, pod rozumnymi licencemi, na tom nejsou o nic lip... navzajem se osocuji ze zastaralosti a s dokumentaci to taky neni nejruzovejsi...
pred casem tu probehl tradicni flame na tom jaka licence je nejlepsi... je mi to uprime jedno... ale spis jsem si rikal, ze uz jsem dlouho nic "rozumneho" "nevyprodukoval".
nicmene, jelikoz uz pres rok programuju jako diplomku implicitne paralelni implementaci schemu (viz zatim nedokonceny serial) a vzhledem k tomu, ze obhajoba se blizi milovymi kroky... tak uz to zacina byt i pouzitelne. pokud mate tedy zajem -- studujte, kompilujte, uzivejte -- schemik-0.5.0.tar.bz2 (pro ty co by zajimala licence... spravna odpoved zni: "MIT")
vcera jsem mel hezkou prilezitost sledovat prirodni ukaz, ktery se objevuje jeste zridkavej nez zatmeni slunce -- upgrade debianu. pro radu lidi veskera romantika konci u prepsani konfigurace apt. ale ja jsem si udelal drobny experimentek.
ve flamu na rootu jsem nasel krasnou vecicku o niz jsem ani netusil, ze ji gcc umi -- optimalizace podle vysledku profileru. pri beznych optimalizacich nema tradicni prekladac (nemlouvim ted o JIT kompilaci) sanci zjistit, jak ktere casti kodu budou volany casto, z jakych mist a podobne... a proste jen hada a tipuje. nicmene, pomoci vcelku zastrcenych direktiv prekladace -fprofile-generate a -fprofile-use jde situace velice hezky zmenit a hodne pozitivnim smerem.
potom co jsme poresili gramatiky a takove ty veci a mame hezky derivacni strom. muzeme prejit k vyhodnocovani, resp. k samotnemu vypoctu. takze vsechno doted byly jenom takove pomocne plky a ted si drzte klobouky, protoze jedeme z kopce
v beznem clanku o programovacich jazycich je minimalne jedna kapitola venovana gramatikam a podobnym vecem. abych pravdu rekl, neni to tema ktere by me nejak extra rajcovalo a teoreticky by se bez nej i interpretr mohl obejit. ale budiz. muj posledni prispevek budiz ukazkou toho, jak nektere nastroje mam rad. premyslel, jsem jestli parser udelat v ruce nebo generovat. ale jelikoz mam v nadpisu "snadno a rychle" a ne "slozitejc a poradne", tak jsem se rozhodl nakonec pouzit generatory.
gramatika scheme neni zavratne slozita ajak jsem rikal, bez problemu se da udelat v ruce, teda bez pouziti generatoru jako flex a bison, ale radsi jej pouzijeme. r5rs mluvi dokonce o tom, ze diky kvazikvotovani, se nejedna o bezkontextovou gramatiku a tudiz bison by na to mel byt kratky, ale kdyz se kvazikvotovani presune do standardni knihovny, uz tento problem odpada.
serial o schemu se mne malinko zasekl, protoze kazdy clanek o programovacich jazycich musi mit aspon jednu kapitolu o gramatikach a tak. abych pravdu rekl, formalni jazyky a takove ty srandy okolo me nikdy nebavily. do ted jsem pouzival starou dobrou kombinaci flex + bison. nicmene... nicmene, zacinaji me mirne stvat.
bohuzel, jsem se ted musel venovat trosku bezne rutinni praci, takze scheme ma na chvilku pauzu, ale zaujal me jiz treti dil serialu o smarty a prislo me to docela mastodontni.
v beznem clanku o jazycich by alespon druha kapitola urcite byla o gramatikach a takovych tech vecech. ale necham si ji zatim pro sebe. v jazycich odvozenych od lispu, je rozdil mezi hodnotou a samotnym kodem hodne tesny, tak bych napsal neco o implementaci typu. neni to nic svetoborneho a priznavam, inspirovaneho guile.
rad bych zde zacal maly tutorialek o tom jak si napsat interpetr programovaciho jazyka. kazdy spravny programator, by si mel za zivot urcite nejaky programovaci jazyk napsat. vite, jaky to dela dojem na zenske, kdyz je balite se slovy: "nechcete, abych vas uvedl do taju sveho interpretru?" jelikoz z urcitych duvodu pisu dialekt schemu, tak bych se o nektere poznatky rad podelil a jelikoz se to vleze na par set radku nebude to ani tezke. berte to spis jako inspiraci, nez nejake fundamentalni cteni.
Mam tu rozepsany text srovnavajici spravu pameti z pohledu aplikace a jelikoz vetsina je o automaticke dealokaci a jejich vyhodach, tak jsem zkusil udelat priklad, kde by tolik pomlouvani sberaci odpadku vyhrali.
Momentalne tunim jednu aplikaci na vykon a presto, ze jsem pri posledni aplikaci, co jsem psal v Basicu nadaval jak spacek. Postesklo se mne po jedne uzasne basicove konstrukci -- ON <cislo> GOTO <adresa1>, <adresa2>...