MicroPython (Wikipedie), tj. implementace Pythonu 3 optimalizovaná pro jednočipové počítače, byl vydán ve verzi 1.28.0. Z novinek lze vypíchnout novou třídu machine.CAN.
Michael Meeks, CEO společnosti Collabora, na apríla oznámil, nebyl to ale apríl, že nadace The Document Foundation zastřešující vývoj kancelářského balíku LibreOffice vyloučila ze svých řad všechny zaměstnance a partnery společnosti Collabora, tj. více než třicet lidí, kteří po mnoho let přispívali do LibreOffice. Nadace The Document Foundation po několika dnech publikovala oficiální vyjádření. Přiznává pochybení při zakládání
… více »Protože je už po aprílu, můžou strahováci opět zveřejnit program další Virtuální Bastlírny, aniž by připravená témata působila dojmem, že jde o žert. Vězte tedy, že v úterý 14. dubna (změna!!!) od 20:00 proběhne VB, kde se setkají bastlíři, technici, učitelé i nadšenci do techniky a kde i vy se můžete zapojit do družného hovoru, jako by všichni seděli u pomyslného piva. Co mají bastlíři tento měsíc na srdci? Pravděpodobně by nás musel zasáhnout
… více »Byla vydána verze 26.1 aneb čtvrtletní aktualizace open source počítačového planetária Stellarium (Wikipedie, GitHub). Vyzkoušet lze webovou verzi Stellaria na Stellarium Web.
VOID (Video Object and Interaction Deletion) je nový open-source VLM model pro editaci videa, který dokáže z videí odstraňovat objekty včetně všech jejich fyzikálních interakcí v rámci scény (pády, kolize, stíny...) pomocí quadmaskingu (čtyřhodnotová maska, která člení pixely scény do čtyř kategorií: objekt určený k odstranění, překrývající se oblasti, objektem ovlivněné oblasti a pozadí scény) a dvoufázového inpaintingu. Za projektem stojí výzkumníci ze společnosti Netflix.
Design (GitHub) je 2D CAD pro GNOME. Instalovat lze i z Flathubu. Běží také ve webovém prohlížeči.
Příspěvek na blogu herního enginu Godot představuje aplikaci Xogot přinášející Godot na iPad a iPhone. Instalovat lze z App Storu. Za Xogotem stojí Miguel de Icaza (GitHub) a společnost Xibbon.
Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za březen (YouTube).
ESP-IDF (Espressif IoT Development Framework), tj. oficiální vývojový framework pro vývoj aplikací na mikrokontrolérech řady ESP32, byl vydán v nové verzi 6.0. Detaily na portálu pro vývojáře.
DeepMind (Alphabet) představila novou verzi svého multimodálního modelu, Gemma 4. Modely jsou volně k dispozici (Ollama, Hugging Face a další) ve velikostech 5-31 miliard parametrů, s kontextovým oknem 128k až 256k a v dense i MoE variantách. Modely zvládají text, obrázky a u menších verzí i audio. Modely jsou optimalizované pro běh na desktopových GPU i mobilních zařízeních, váhy všech těchto modelů jsou uvolněny pod licencí Apache 2.0. Návod na spuštění je už i na Unsloth.
Současné firmy, stejně tak jako ty dřívější, dokáží generovat velké objemy dat o svých aktivitách a více či méně je podrobují zkoumání. To vše proto, aby zachytily trendy nebo hrozby v tržních segmentech jejich zájmu. Co se však mění, je způsob, jakým chtějí svá data zkoumat. Stále více je zájem zaměřen na porovnání stavů v určitých okamžicích jejich historie, přičemž starší data jsou typicky zajímavá v delších intervalech, řádu měsíců, nová data jsou zajímavá v intervalech dnů.
ROLAP team společnosti GoodData proto začal hledat v současných datově orientovaných enginech způsob, jak uchovávat historická data a současně umožnit nahlížet na jejich stav v libovolném historickém okamžiku s ohledem na možnost tyto okamžiky porovnávat. Ačkoli se od začátku jevil ověřený přístup implementace pomalu se měnících dimenzí v konvenční relační databázi jako optimální, ukázalo se, že akceptovatelný výkon takovéhoto řešení je spojen s neakceptovatelnými náklady. Když bylo zřejmé, že žádná dostupná technologie nesplňuje požadavky v masovém měřítku, zaměřil se ROLAP team na hledání vlastního řešení.
Zákaznická data často představují tzv. "snapshot", tedy otisk stavu uživatelem sledovaných aktivit k určitému času. Jednotlivé snapshoty jsou svázané unikátní entitou, jež je platná přes vybrané snapshoty. Zákazník pak typicky potřebuje znát stav svého systému v určitém okamžiku, který porovnává s jiným. Zatímco data starší více než rok nejčastěji porovnává v kvartálním intervalu, data starší tří měsíců pak v měsíčním intervalu a data do tří měsíců po týdnech.
Velmi často poslední (neúplný) týden chce zákazník vidět po dnech. Použití konvenčního databázového serveru vede na tvorbu ohromného množství záznamů na úrovni jednotlivých dnů, které jsou často identické v po sobě následujících snapshotech. Namísto toho zaznamenání pouhých změn mezi jednotlivými snapshoty představuje malé množství dat. Z pohledu dat je vlastně zapotřebí jen přehrávat změny tak, jak se staly v čase, a v patřičný okamžik uživatelům data poskytnout. Tato jednoduchá věta pak popisuje myšlenku na jejímž konci je datové úložiště známé v GoodData jako EventStore.
Vše co se děje uvnitř EventStore se zcela vymyká klasickému světu SQL. Data na vstupu do EventStoru jsou rozbita na sloupce, ze sloupců jsou vybrány změněné hodnoty entity a jen ty jsou uložené společně s okamžikem jejich platnosti. Přečtení dat pak připomíná přehrávač, který do výstupní matice dat zapisuje změny. Na konci čtení je kompletní matice s hodnotami platnými v rozhodném časovém okamžiku. Přehrávač přitom na začátku přehrává rychle po kvartálech, na konci pomalu po dnech.
Zatímco princip NoSQL úložiště byl dostatečně zřejmý, programovací jazyk nikoliv. Implementace, ve které by toto unikátní řešení mohlo fungovat, potřebovalo neméně unikátní jazyk. Perl se v tomto ohledu ukázal jako velice mocný programovací jazyk. Zejména jeho práce s asociativními poli (hashes) zcela přesně vyhovovala potřebám úložiště. Identifikace změn v nově nahrávaných datech, stejně tak přehrávání změn a získávání požadovaných snapshotů, jsou v Perlu neuvěřitelně přímočaré.
Použití uzávěrů (closures) vede k rychlému a přitom stále dostatečně čitelnému kódu. Pro každou transformaci či agregaci dat, zadanou strukturovaným předpisem AST (Abstract syntax tree), je za běhu vygenerován kód, který “eval” zkompiluje do anonymní funkce (zde do “closure”). Přímo za běhu tak využíváme interpret jazyka Perl pro kompilaci dynamicky sestaveného kódu. S podobným řešením se ve statických jazycích potkáte jen výjimečně. Perl také umožnil velice efektivně implementovat podporu pro generování historických relací. Nyní je možné výstup EventStoru nahrát přímo do klasické relační databáze, včetně pomalu se měnících dimenzí a v ní provádět klasickou ROLAP analýzu.
Úspěch celého řešení byl završen nasazením EventStoru v cloudovém prostředí Amazonu. Bylo tak dotaženo k dokonalosti webové řešení pro analýzu dat, od sběru, přes uchování, přepočítání až po vizualizaci. “Webovost” řešení je umocněna skutečností, že většina dat od zákazníků pochází z jejich webových systémů. Dá se říci, že data jsou na webu uložena a zákazníci si je nakonec přes web i zobrazí a analyzují. Co dodat závěrem? Snad jen, že ROLAP team GoodData stále hledá inovátory, kteří se nebojí opustit klasická řešení.
Jiří Schmid pracuje v oblasti BI od roku 2003, postupně prošel pozicemi od analytika a implementátora BI projektů až k vývoji klíčových komponent BI software GoodData, kde v současnosti pracuje jako vedoucí ROLAP teamu.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej:
S podobným řešením se ve statických jazycích potkáte jen výjimečně.Pokud tomu dobře rozumím, tak tohle by neměl být problém v jazycích, jenž podporují tzv. quotations (například C#, F#, OCaml nebo Haskell)?
Navic jsem 100% presvedcen, ze vetsina lidi (vcetne mne) nepochopila zcela o co jde.Není to tak složité. ROLAP (kde R znamená Relational) tým GoodData seznal, že relační databáze se na spoustu věcí nehodí, a tak vymyslel MOLAP (kde M znamená Multidimensional). A protože dneska je v módě všechno, co není SQL, označit za NoSQL, i když je to třeba postaveno nad SQL, tak tomu taky řekli NoSQL.
. Možná jsme to chytli od nich.
EventStore je vpodstatě součastí ETL procesu a některá data předpočítává. Za EvenStorem je klasická data warehouse databáze pro ROLAP. Většina zákazníků EventStore nepoužívá a nepotřebuje. Ti ostatní nám zaplatili vývoj tohoto řešení.
To, že eval a uzávěry v Perlu jsou normální i v jiných dynamických jazycích je jasné.
Perl je dost rozumný, ostatně jako Ruby a Python. Asi by se to zvrhnlo na flamewar, tak jen připojím link na snad ještě stále aktuální seznam odkazů Perl mýty.
I já jse kdysi dělal koniny a dneska také.
Prostě mne to ne že naštvalo, ale rozveselilo
Omlouvám se, jestli jsem to přehnal.
I autorovi a nakonec všem vám.
Díky.