Bylo oznámeno vydání nové verze 8.1 "Hoare" kolekce svobodného softwaru umožňujícího nahrávání, konverzi a streamovaní digitálního zvuku a obrazu FFmpeg (Wikipedie). Doprovodný příspěvek na blogu Khronosu rozebírá kódování a dekódování videa pomocí Vulkan Compute Shaders v FFmpeg.
Byl představen open-source a open-hardware prototyp nízkonákladového raketometu kategorie MANPADS, který byl sestaven z běžně dostupné elektroniky a komponent vytištěných na 3D tiskárně. Raketa využívá skládací stabilizační křidélka a canardovou stabilizaci aktivně řízenou palubním letovým počítačem ESP32, vybaveným inerciální měřicí jednotkou MPU6050 (gyroskop a akcelerometr). Přenosné odpalovací zařízení obsahuje GPS,
… více »Vědci z univerzity La Sapienza v Římě vyvinuli systém, který dokáže identifikovat jednotlivce pouze na základě toho, jak narušují signály Wi-Fi. Autoři tuto novou technologii nazvali WhoFi. Na rozdíl od tradičních biometrických systémů, jako jsou skenery otisků prstů a rozpoznávání obličeje, nevyžaduje tato metoda přímý fyzický kontakt ani vizuální vstupy. WhoFi může také sledovat jednotlivce na větší ploše než kamera s pevnou polohou; stačí, je-li k dispozici Wi-Fi síť.
SuperTux (Wikipedie), tj. klasická 2D plošinovka inspirovaná sérií Super Mario, byl vydán v nové verzi 0.7.0. Videoukázka na YouTube. Hrát lze i ve webovém prohlížeči.
Ageless Linux je linuxová distribuce vytvořená jako politický protest proti kalifornskému zákonu o věkovém ověřování uživatelů na úrovni OS (AB 1043). Kromě běžného instalačního obrazu je k dispozici i konverzní skript, který kompatibilní systém označí za Ageless Linux a levné jednodeskové počítače v ceně 12$ s předinstalovaným Ageless Linuxem, které se chystají autoři projektu dávat dětem. Ageless Linux je registrován jako operační
… více »PimpMyGRC upravuje vzhled toolkitu GNU Radio a přidává alternativní barevná témata. Primárním cílem autora bylo pouze vytvořit tmavé prostředí vhodné pro noční práci, nicméně k dispozici je nakonec celá škála barevných schémat včetně možností různých animací a vizuálních efektů (plameny, matrix, bubliny...), které nepochybně posunou uživatelský zážitek na zcela jinou úroveň. Témata jsou skripty v jazyce Python, které nahrazují
… více »GIMP 3.2 byl oficiálně vydán (Mastodon, 𝕏). Přehled novinek v poznámkách k vydání.
FRANK OS je open-source operační systém pro mikrokontrolér RP2350 (s FRANK M2 board) postavený na FreeRTOS, který přetváří tento levný čip na plně funkční počítač s desktopovým uživatelským rozhraním ve stylu Windows 95 se správcem oken, terminálem, prohlížečem souborů a knihovnou aplikací, ovládaný PS/2 myší a klávesnicí, s DVI video výstupem. Otázkou zůstává, zda by 520 KB SRAM stačilo každému 😅.
Administrativa amerického prezidenta Donalda Trumpa by měla dostat zhruba deset miliard dolarů (asi 214 miliard Kč) za zprostředkování dohody o převzetí kontroly nad aktivitami sociální sítě TikTok ve Spojených státech.
Projekt Debian aktualizoval obrazy stabilní větve „Trixie“ (13.4). Shrnuje opravy za poslední dva měsíce, 111 aktualizovaných balíčků a 67 bezpečnostních hlášení. Opravy se týkají mj. chyb v glibc nebo webovém serveru Apache.
má sice skvěle imlementováno OOP, ale obsahuje nechutný příkaz switchNechápu, jaký je v tom rozpor. Naopak, rubí switch by bez rubího OOP nefungoval, protože jeho podstatou je porovnávat zadaný objekt s alternativami pomocí metody
=== (objektové! přetížitelné! přizpůsobitelné!
), přičemž standardní třídy (číslo, interval, řetězec, regexp, třída...) mají velmi smyslupnou výchozí implementaci (je rovný číselně, je v intervalu, shodný řetězec, matchuje, je instancí...). Někdy se to hodi. A když se to nehodí, tak to prostě nepoužiju. Nikdo nikoho nenutí to používat. A komu vadí postcondition cyklus? To jako mám (když to občas potřebuju) psát <blok> ; while(<podmínka>) <blok> jako blbec?
Scheme je šíleně minimalistické, kdo potřebuje unless a until, tak si je dodělá, a kdo potřebuje when a while, tak je ani nemá.
ale hrozně se váže na EmacsVýborná pohádka na dobrou noc. Dík, hned se mi bude líp spát. Ne, opravdu k programování ve scheme nepotrebujes Emacs
.
je v praxi špatně použitelný....a proto v něm kamarád programuje špičkové realtimové měřicí přístroje.
(Vidím, že už si, krucinál, fakt budu muset najít čas na psaní a osvětu.
Nicméně se mi s jarem vrací energie.
)
Nějak nevím, nechce se mi učit nic, k čemu není dostupná čitelná dokumentace.Je opravdu řeč o Scheme?
)...spousta věcí.
Kromě toho, na draftu R6RS je vidět, že ten jazyk pomalu opouští sféru "čistě akademické hračičky" - standardizované hashovací tabulky a systém modulů rozhodně nejsou ve výukovém jazyku vyloženě zapotřebí. Svědčí o tom i roztrhnutí specifikace na vyčerpávající popis jazyka (cca. 80 stránek) a základní knihovny (cca. 60, jestli se nepletu). Pořád ještě to zůstává příjemně malé a přitom mocné. (Autor Gauche se také veřejně zavázal, že implementuje R6RS, jakmile bude schváleno, v co nejkratší době - některé jiné implementace se rozhodly zůstat u R5RS, přeci jen ne každému změny v R6RS sednou.)
Jen nevím, jak moc by bylo košér psát díly stylem "write-as-you-learn" - jsem paranoik a bojím se toho, že bych se pak za to sám styděl.
Asi by to bylo cílené na konkrétní implementaci, s tím, že R5RS a SRFI si každý může přečíst sám, kdežto Gauche má 600stránkový manuál (BTW, velmi pěkně udělaný) samo o sobě. Nicméně něco napsat budu muset, šířím osvětu i jinde a budu potřebovat ukázky tak jako tak.
U unless a until mě štve jen jejich naprosto zbytečná existenceUff, nechci vidět, jak byste se tvářil na jazyky, které mají cyklus s podmínkou uprostřed!
virgin=1;
while(condition||virgin){
blok;
virgin=0;
}
Může mi někdo z "odpíračů SWITCHe" říct, jak implementujete konečný automaty/lexikální analyzátory (pomocí řídící struktury) bez switche? Ten kód hemžící se if-ama musí bejt děsně sexy... (Na to, že by to někdo řešil "objektově" nějakym polymorfizmem se ani neodvažuju pomyslet)
if (blablabla):
pass
elif (blablabla):
pass
...
else:
pass
fakt genialny napad, nedefinovat v jazyku switch
Když budu chtít, tak si ho tak napíšu a hotovo.
myslim ze vacsina aspon trochu normalnych tvorcov prekladacov to tak so switchom spravi - tam sa to priam samo ponuka... ale ako take nieco clovek spravi s if-elif-else, to fakt netusim :o)
# pro vycet 0..n
switch1 = ( fce1, fce2, fce3, fce4 )
# obecna verze pomoci slovniku
switch = {'hodnota1' : fce1, 'hodnota2' : fce2}
# vlastni switch
switch[x](argumenty)
Výhoda je, že jsou tyto konstrukce modifikovatelné za běhu programu, což hromada ifů, nebo case ... switch není
*nenormální dokonce tak moc, že oba PEPy týkající se přidání switche - #0275 i #3103 byly zamítnuty ...
** starší verze Javy dělaly hash řetězce pomocí prvních 15 znaků. Potom do ní někdo nacpal klíče v podobě URL, kde bylo prvních 15 znaků stejných, takže místo hash mapy dostal jenom implementačně složitější lineární seznam
ale ako take nieco clovek spravi s if-elif-else, to fakt netusim :o)Hmm, na to stačí jednoduché makro s lokální datovou strukturou, do které se napchají jednotlivé alternativy a při rozhodování se z ní jen vytáhne blok kódu a zavolá...syntakticky dietní, sémanticky výkonné.
Samozřejmě, někteří začnou kvůli takové blbosti hned přepisovat parser.
Když má jazyk bloky, switch ve specifikaci jazyka nepotřebuje.
Tiskni
Sdílej: