TerminalTextEffects (TTE) je engine pro vizuální efekty v terminálu. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.
Od čtvrtka 30. 5. do soboty 1. 6. lze v Praze navštívit Veletrh vědy, tj. největší populárně naučnou akci v České republice, kterou každoročně od roku 2015 pořádá Akademie věd ČR. Vstup zdarma.
Canonical představil Ubuntu optimalizované pro jednodeskový počítač s RISC-V procesorem Milk-V Mars.
Armbian, tj. linuxová distribuce založená na Debianu a Ubuntu optimalizovaná pro jednodeskové počítače na platformě ARM a RISC-V, ke stažení ale také pro Intel a AMD, byl vydán ve verzi 24.5.1 Havier. Přehled novinek v Changelogu.
Společnost xAI založena Elonem Muskem a stojící za AI LLM modelem Grok získala investici 6 miliard dolarů.
Finálový zápas mistrovství světa v ledním hokeji přinesl nový rekord NIX.CZ (𝕏): "Dosavadní absolutní maximum našeho propojovacího uzlu bylo překonáno v čase 21:10, kdy jsme při přenosu dat dosáhli 3,14 Tbps. Je třeba také doplnit, že po deváté hodině večerní byly na maximu i ostatní datové přenosy nesouvisející s hokejovým šampionátem".
Přihlaste svou přednášku na další ročník konference LinuxDays, který proběhne 12. a 13. října na FIT ČVUT v pražských Dejvicích. CfP poběží do konce prázdnin, pak proběhne veřejné hlasování a výběr přednášek.
Na crowdsourcingové platformě Crowd Supply byla spuštěna kampaň na podporu open source biometrického monitoru ve tvaru hodinek HealthyPi Move. Cena je 249 dolarů a plánovaný termín dodání listopad letošního roku.
Firma Murena představila /e/OS verze 2.0. Jde o alternativní sestavení Androidu bez aplikací Google. Mezi novinkami je podrobnější nastavení ochrany soukromí před sledováním aplikacemi. Murena prodává několik smartphonů s předinstalovaným /e/OS (Fairphone, repasovaný Google Pixel 5).
pull based přístupu scalaz-stream (následující články řetězu tahají data od předchozích)Ano, scalaz-stream je pull based. Push lze nasimulovat například pomocí fronty:
val p = (Process(1, 2, 3).toSource ++ eval_(Task.delay(println("print")))).repeat val processItem: Sink[Task, Int] = io.stdOutLines.contramap(_.toString) // Vytvorime frontu. val q = async.unboundedQueue[Int] // Prvky produkovane procesem p posleme do fronty. p.to(q.enqueue).run.runAsync(x => println("enqueue end")) // q.dequeue je proces prvku z fronty. // Prvky z fronty posilame do Sinku processItem, ktery prvky zpracovava. // Az jsou prvky zpracovany (nebo po vyhozeni vyjimky) frontu zavreme // -- zavreni fronty zajisti ukonceni procesu, jenz dava prvky do fronty // -- tj. ukonceni p.to(q.enqueue).run.runAsync(x => println("enqueue end")). (q.dequeue.to(processItem).take(2) onComplete eval_(q.close)).run.runKód obvykle několikrát vypíše řetězec print – počet vypsaných řetězců print závisí na tom, jak rychle se prvky produkované
p
posílají do fronty q
. Kromě neomezené fronty async.unboundedQueue
existuje i omezená fronta async.boundedQueue
.
A jaký je vlastně rozdíl mezi pull-based přístupem a obyčejnými streamy?Myslím, že obyčejné streamy jsou také pull based.
Tiskni Sdílej: