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).
Do 30. května lze v rámci akce Warhammer Skulls 2024 získat na Steamu zdarma hru Warhammer 40,000: Gladius - Relics of War.
HelenOS (Wikipedie), tj. svobodný operační systém českého původu založený na architektuře mikrojádra, byl vydán ve verzi 0.14.1. Přehled novinek v poznámkách k vydání. Vypíchnou lze nabídku Start. Videopředstavení na YouTube.
BreadboardOS je firmware pro Raspberry Pi Pico (RP2040) umožňující s tímto MCU komunikovat pomocí řádkového rozhraní (CLI). Využívá FreeRTOS a Microshell.
Vývojáři KDE oznámili vydání balíku aplikací KDE Gear 24.05. Přehled novinek i s náhledy a videi v oficiálním oznámení. Do balíku se dostalo 5 nových aplikací: Audex, Accessibility Inspector, Francis, Kalm a Skladnik.
Byla vydána (𝕏) nová verze 18.0.0 open source webového aplikačního frameworku Angular (Wikipedie). Přehled novinek v příspěvku na blogu.
V neděli 26. května lze navštívit Maker Faire Rychnov nad Kněžnou, festival plný workshopů, interaktivních činností a především nadšených a zvídavých lidí.
Byla vydána nová stabilní verze 3.20.0, tj. první z nové řady 3.20, minimalistické linuxové distribuce zaměřené na bezpečnost Alpine Linux (Wikipedie) postavené na standardní knihovně jazyka C musl libc a BusyBoxu. Z novinek lze vypíchnou počáteční podporu 64bitové architektury RISC-V.
Společnost Jolla na akci s názvem Jolla Love Day 2 - The Jolla comeback představila telefon se Sailfish OS 5.0 Jolla Community Phone (ve spolupráci se společností Reeder) a počítač Jolla Mind2 Community Edition AI Computer.
Jsem zakladatelem tohoto portálu. Linux jsem používal spousty let, nějaký čas jsem se aktivně podílel na jeho propagaci v Česku (CZLUG, časopisy ComputerWorld, Network Magazine atd). Se současným Abíčkem už nemám nic společného.
Aspoň mám ten pocit. Chci napsat dcerce na tablet aplikaci na procvičování matematiky. Udělal jsem si poměrně jasnou představu o designu i funkčnosti a začal jsem ji realizovat. Před večeří jsem dopsal komplexní datový model, co vše se dá parametrizovat pro generování rovnic. Zadavatel bude mít obrovské možnosti. Problém nastal, když jsem začal psát generátor.
Sepsání myšlenek mi možná pomůže odrazit se dál, pokud ne, třeba mi někdo ze čtenářů konstruktivně poradí.
Pro oba operandy rovnice i výsledek je možné nadefinovat buď minimální nebo maximální či obě hodnoty, případně rozsah hodnot (v tom případě jsou min a max zakázány). Pro jednoduchost zapomeňme na možné omezení vzdálenosti operandů. Triviální příklad se všemi možnostmi zadání je na prvním řádku, jedno řešení je na druhém řádku
min: 1, max: 10 | + | min: 10 | = | výčet: 12, 13, 14, 18 |
2 | + | 11 | = | 13 |
Problém je, jak napsat obecný generátor? Nejspíše bych měl začít od výčtu hodnot, ze kterého si náhodně vyberu jedno číslo. A pak náhodně vybrat druhé číslo a dopočítat zbývající číslo. Například u uvedeného příkladu si k náhodnému výsledku (13) náhodně vygeneruju první operand (2) a vypočtu druhý (11). Bohužel je ale až příliš snadné zvolit číslo, se kterým rovnice nikdy nebude sedět; ke kterému nenajdu vhodné operandy. Můžu si pomoci chytristikou pro konkrétní situace. Zde u odečítání je lepší si vybrat vyšší číslo, takže začnu druhým operandem (11) a odečtem získám první (2). Ale stejně mi hodnota nemusí vyjít v rozsahu povolených hodnot. Takže pak musí následovat hledání správné kombinace brutální silou s pojistkou proti uváznutí (když zadání nemá řešení nebo mám smůlu na blbě vylosovaná čísla).
Během psaní jsem nic nového nevymyslel. Napadá něco vás?
Tiskni Sdílej:
Pamatuju na přednášku na UPOL od Drdy...Toto je stezi uveritelna historka, ... protoze Dr.Dla na prednasky zasadne nechodil.
Reálné výsledky na Nexus 4: během jedné milisekundy zvládne 5 cyklů nalezení jedné rovnice (obsahující 2x generování náhodného čísla, dvě matematické operace, pár porovnání a hlavně několik volání funkcí).
Parametry:
FormulaDefinition{unknowns=[RESULT], operators=[+], result=Values{minValue=null, maxValue=null, listing=[10, 11, 12]}, operandDifference=null, rightOperand=Values{minValue=3, maxValue=60, listing=null}, leftOperand=Values{minValue=0, maxValue=90, listing=null}}Moje optimalizovaná verze najde v 10 případech řešení do 3 pokusů 6x, do 5 pokusů 1x, do 9 pokusů 2x a jednou potřebovala 35 pokusů (což zabralo 7 ms). To je docela slušné
Například u uvedeného příkladu si k náhodnému výsledku (13) náhodně vygeneruju první operand (2) a vypočtu druhý (11).Já jsem na to šel opačně, vždy jsem vygeneroval operandy, z nich jsem vypočítal výsledek. Pokud byly příklady sčítání a násobení, vypsaly se operandy, pokud byly odčítání a dělení, vypsal se výsledek a první operand, bez ohledu na to jestli je větší nebo menší. Tak jsem se vždycky vešel do zadaného limitu. Nedělaly se před třiceti lety takovéhle věci v BASICu na dvacet řádků?
I. a >= 2 II. a <= 9 III. b >= 11 IV. c >= 12 ---> a + b >= 12 V. c <= 14 ---> a + b <= 14 ------------------------------------ b <= 12 V. - I. a <= 3 V. - III. ------------------------------------ 2 <= a <= 3 11 <= b <= 12Nyni postupuji tak, ze si postupne volim promenne z intervalu a dopocitam ostatni. Pro a = 2 a dosazeni do zbytku mi zadna omezujici podminka nepribude, takze mam reseni [2; 11], [2; 12]. Pro a 3 mi pribude b <= 11 (z V.), takze tam je jedno reseni [3; 11]. Pote dopocitam c a opakuji pro c = 18. Dalsi moznost je resit to graficky a reseni generovat nahodnym vzorkovanim pres obdelnikovou obalku vysledneho utvaru.