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 již v úterý 7. dubna 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 meteorit
… 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.
Cursor (Wikipedie) od společnosti Anysphere byl vydán ve verzi 3. Jedná se o multiplatformní proprietární editor kódů s podporou AI (vibe coding).
Průkopnická firma FingerWorks kolem roku 2000 vyvinula vícedotykové trackpady s gesty a klávesnice jako TouchStream LP. V roce 2005 ji koupil Apple, výrobu těchto produktů ukončil a dotykové technologie využil při vývoji iPhone. Multiplatformní projekt Apple Magic TouchstreamLP nyní implementuje funkcionalitu TouchStream LP na současném Apple Magic Trackpad, resp. jejich dvojici. Diskuze k vydání probíhá na Redditu.
Na YouTube byly zveřejněny záznamy přednášek z letošního InstallFestu. Přednášky v rámci OpenWRT tracku byly streamovány přes Google Hangouts, najdete je tedy v nižší kvalitě na YouTube v kanálu SUT SH; nahráváno bylo také offline, takže kvalitní záznam bude k dispozici později.
Tiskni
Sdílej:
schoda teda ale, ze nezminil Nix(OS), resp. Guix (ktery Nix vevnitr pouziva), ktery vypada jako dost zajmavy a pokud vim jediny fundamentalne prehodnoceny pohled na to jak distribuovat a nasazovat softwareTak na to je asi dost brzo, zvlášť pro Jirku, který se zabývá současností a velmi blízkou budoucností. Pokud si dobře pamatuju, tak jsme slyšeli o tomto systému poprvé na FOSDEMu a nejsem si jistý, zda je známo něco mimo tu únorovou přednášku.
nedavno se trochu rozepsal jeden ze spravcu Nixu: Why Puppet/Chef/Ansible aren't good enough (and we can do better), to vyvolalo zajmavou diskuzi na HN a ReddituJak to tak čtu, tak mi přijde, že je to z pohledu dnešních distribucí trošku hardcore. Už jsem pár takových experimentů viděl a slyšel jsem spoustu lidí snít, ale jak často se počáteční nadšení promění v hromadné nasazení?
Už jsem pár takových experimentů viděl a slyšel jsem spoustu lidí snítto zni zajmave, ja totiz zatim slysel jen o Nixu a Guixu (a jeste GNU Stow), co mas na mysli?
musim ale dodat, ze treba takovy OSTree, ac ne tak hardcore jako Nix, na me nepusobi jako uplna tuctovka. posle me ma bliz k "ukrutne inovativnosti"Pokud jde o ostree/continuous od Colina Walterse, tak to vnímám jako nástroj na značně jiné účely než package manager.
jinak NixOS neni pohopouhy teoreticky konstukt, je to skutecna fungujici distribuce, kterou pouzivaji skutecni lide, a kterou si mouho vyzkouset i ctenari abicka, napr ve VirtualBoxu. v pripade Guixu to jde v QEMUJenže pořád zústává nezodpovězená otázka, proč by to měli zkoušet, tedy co je na tom tak úžasného, aby to stálo za zkoušku.
jeden z dalsich "vystrednich" projektu na ktery jsem si ted vzpomel, je GoboLinux -- distribuce, ktera provozuje system "kazda aplikace ve svem adresari". tento projekt byl dlouha leta byl v komatu, ale v posledni dobe opet ozil.I tady bych se rád dozvěděl proč, s výjimkou MS-DOS nostalgie, by to měl člověk chtít používat.
Napriklad chci otestovat novou verzi nejakeho projektu, ktera ma ale hrozne moc (build) zavislosti. Takto se mi vsechny nainstalujou na jedno misto a nezase*u si tim kompletne system.Něco podobného dělá mock, akorát je ukrutně pomalý, ale v tom by teoreticky mohl pomoci docker.
S Nix nainstalujes python3 na jeden prikaz do systemu ciste (a poresi ti to i (build) zavisloti (takze pak neskoncis s pythonem, kde treba nefunguje https v urllib).Nevěřím na magii v lennartovském smyslu. Znám zhruba reálné problémy s přípravou a instalací software balíků od autotools a alternativ přes ebuild a rpm až po konflikty v instalaci. Znám současná řešení v RPM distribucích (a tím pádem i ve značně podobných .deb distribucích) a v Gentoo. Jsi schopný mi přesně říct, v čem se Nix liší a jak v RHEL6 magicky vyřeší všechny problémy distribuce software, aniž bych pro to musel hnout prstem? Narážím na limitace jak RPM tak i ebuildů, jsou věci, které se dají jednoznačně vylepšit, jsou věci, kde je potřeba se rozhodnout mezi více možnostmi s různými výhodami. Ale zatím si nejsem vědom toho, že bych mohl vzít nějaký kus software a od zítra tvrdit, že se všechno udělá samo.
v čem se Nix liší a jak v RHEL6 magicky vyřeší všechny problémy distribuce softwareIf only
... vsechno fakt nevyresi, ale stejne umoznuje dost veci, ktere s klasickymi package managery zni jako pohadka.
Napriklad chci otestovat novou verzi nejakeho projektu, ktera ma ale hrozne moc (build) zavislosti. Takto se mi vsechny nainstalujou na jedno misto a nezase*u si tim kompletne system.
Dospělé balíčkovací systémy umožňují instalaci mimo /.
A stejne tak na jeden prikaz muzu vsechno vycistit.
Dospělé balíčkovací systémy poznají, že implicitně nainstalovaný balíček už není potřeba, a odinstalují ho.
nikdo nema cas to delat ciste
Od práce tě nezachrání žádný balíčkovací systém. Pokud software nikdo ještě nezabalil, tak někdo tu práci první udělat musí. Jinak to bude vždy špinavé.
Nix je dost prakticky a resi realny problem s deploymentem software na dnesnich linuxovych distribucich.
Řeší jeden problém a naopak vytváří jiný.
Dělá to, že po instalaci balíčku jeho obsah nelze přímo použít. Takže nezase*u si tim kompletne system
. Jenže naopak to znamená, že každý program, který ho chce použít, musí v metadatech deklarovat, že ho potřebuje, aby systém mohl potřebné závislosti explicitně zapnout.
Díval jsem se do manálu i na zdrojáky Nixu a třeba u perlových skriptů dělá to, že přepisuje shebangy, aby v nich zpřístupnil požadované perlové moduly. Podobně při build-requires přidává překladači parametry s vyhledávácími cestami k závislým hlavičkovým souborům.
Tipuji, že u programů a knihoven přidává cesty to PATH a LD_LIBRARY_PATH.
V podstatě se jedná o složitější environment modules.
Co je novátorské, je identifikace zkompilovaných balíků přes hashe, což (nějakým způsobem?) umožňuje poskládat řetězec build-time závislostí a jednoznačně na něj odkazovat (třeba při replikaci instalací). Ostatně stejně to dělá OS-Tree nebo Docker.
Jenže přesně tahle novátorská vlastnost je dvousečná – jedná se efektivně o bundlování. (Pravda v podání Nixu je prostorově účinné, protože jednotlivé balíky se instalují jen jednou, ale zapínají se jakožto závislost u mnohokrát. Tedy zachovává se myšlenka sdílených knihoven.) Efektivně, protože se fixuje konkrétní build závislosti skrze hash. Takže když distribuce změní (například opraví bezpečnostní chybu) balík, tak balíčkovací systém potichu nechá původní verzi. A pokud distributor reverzní závislosti tohle nesleduje a nevydává rebuildy s aktuálními hashi, tak uživatelé budou používat rozbitý balík nadosmrti.
Což je přesně to, proti čemu jsou klasické balíčkovací systémy navržené.
Jirka Eischmann v přednášce řekl něco moc důležitého: Distributor nemá kapacitu všechno zabalit a vývojáři třetích stran nic balit nechtějí. Než se vypustí džin bundlování z lahve, je třeba zařídit izolaci programů, jinak se uživatelé v hnoji, který jim budou vývojáři třetích stran nabízejí, utopí.
Já nejsem v principu proti Nixu nebo podobným věcem. Někdo tu potřebu má, tak proč mu ji zakazovat. Ale vždy je to o tom, jak se takový nástroj použije a jestli se domyslí všechny důsledky a jestli s nimi budou všichni srozuměni. Tady se obávám, že k zamyšlení nedošlo.
Ještě jsem se na to díval.
Hashe se při překladů balíků nepoužívají. Používají se jen pro identifikaci binárních balíků, pro jejich stahování ze sítě a pro správu běhového prostředí.
PATH a jiné vyhledávací proměnné se neupravují. Místo toho ukazují do adresáře plného symlinků na spustitelné programy, dynamické knihovny a podobně. Když se „aktivuje nainstalovaný balík“, tak se adresář symlinků zkopíruje, přidají se odkazy na soubory z aktivovaného balíku a nakonec se adresáře atomicky přes rename(2) prohodí. Tím je docílena atomicita aktualizací i přes více balíků na jednou.
Návrat k předešlé verzi běhové prostředí se řeší tak, že adresáře symlinků se nemažou, ale pojmenovávají jakýmsi lokálně platným rostoucím číslem (něco jako revize v SVN), takže rollback je o jen o použití stejně pojmenovaného adresáře). (Ve skutečnosti i tohle je implementované přes symlinky.) Balíky v podstatě odinstalovat nelze. Pouze lze zavolat garbage collector, který smaže balíky, které již nejsou dostupné ze žádné verze běhového prostředí. To samozřejmě znamená, že není radno skladovat celou historii prostředí, ale s jistým zpožděním ji zametat (jako logově orientované souborové systémy).