Portál AbcLinuxu, 8. května 2025 16:14
Australská linuxová konference linux.conf.au se tento rok trochu překvapivě nekonala v Austrálii, ale na Novém Zélandu, což je hnedle vedle, coby kamenem dva tisíce kilometrů dohodil. Letošní LCA2010 poctilo svými moudry Wellington – novozélandské hlavní město. V první části reportáže např.: Open source 3D tiskárna RepRap, Weta Digital – jak se chladí Avatar.
Záběr konference je velmi široký – od programování embedded zařízení přes paralelní algoritmy až po webové technologie, od administrace systémů přes softwarové patenty a „ženy v Linuxu“ až po open source vozítko mířící na Měsíc. A to jsem ještě zdaleka nezmínil všechno. Díky tak širokému okruhu témat si z přednášek vybere skutečně každý. Já jsem si vybral mimo jiných tyto:
RepRap je „Open source 3D printer“, neboli zařízení které umí „tisknout“ prostorové objekty. Dejme tomu, že potřebujete věšák na ručník. Buď si ho můžete dojít za 5 Kč koupit, nebo se rozhodnete nepodporovat čínský ekonomický růst a radši si ten věšák sami „vytisknete“. V nějakém CADu si ho navrhnete, spustíte RepRap, chvíli počkáte… ještě chvíli počkáte … no dobře, dáte si i druhé kafe… tak a je to – z útrob RepRapa se na vás směje krásný nový věšáček. Jen ho přišroubovat!
Jako úvod do 3D tisknutí doporučuji krátké video o Cupcake CNC, což je klon RepRapu:
Jak jsem už zmínil, RepRap je open source projekt – všechny informace, které k jeho postavení potřebujete, jsou k dispozici na internetu. Cílem projektu je postavit tiskárnu, která se bude umět sama vytisknout, tedy replikovat a bude tak levná, že prakticky každý bude mít možnost si doma vyrábět všemožné serepetičky tak jednoduše, jako je dnes možné tisknout ve 2D na papír.
Přednáška od (nejen-)kernelového vývojáře Rustyho Russela. Talloc je alokátor paměti, který – na rozdíl od klasického malloc() – podporuje hierarchické alokace. Řekněme, že potřebujete místo pro strukturu, v níž jsou ukazatele na nějaké buffery. Od malloc()u všechnu tuto paměť postupně získáte a když už data nepotřebujete, zase párkrát zavoláte free() a tím paměť vrátíte. Naproti tomu talloc() vám umožní alokovat místa pro buffery jako potomky rodičovské struktury a když už data nepotřebujete, uvolníte jen rodiče a talloc sám zajistí rekurzivní uvolnění všech potomků.
To je samo o sobě celkem pohodlné, ovšem Talloc jde dál – každý talloc()ovaný ukazatel může mít přiřazené jméno, což se hodí pro ladění. Dále si může počítat „reference“, tedy ukazatele, které na danou alokaci ukazují, a neuvolní paměť, dokud je počet odkazů větší než jedna. Také podporuje destruktory, které navíc mohou selhat a tím pádem přerušit uvolňování. Třešničkou na dortu jsou pomocné funkce jako talloc_asprintf() nebo talloc_strdup(), které umožňují v jediném kroku paměť alokovat a zároveň jí něčím zaplnit:
struct foo *X = talloc(mem_ctx, struct foo); X->name = talloc_strdup(X, "foo"); /* kopie řetězce "foo" je potomkem X */ … talloc_free(X); /* uvolní i X->name */
Weta je novozélandský hmyz, jehož některé druhy dorůstají délky až 20 cm a váží až 70 g. Tedy zhruba tolik jako dva průměrní vrabčáci dohromady. Weta Digital ovšem není digitální verze nějakého megabrouka, ale studio zabývající se tvorbou počítačových efektů pro filmy. Možná jste zaslechli něco o King Kongovi, Pánu prstenů nebo Avataru. Právě Weta Digital má tyhle filmy na svědomí. Ovšem věděli jste, že…
Jeden den jsem se místo oběda vydal do nedaleké galerie. Zaujala mě už na první pohled svou neobvyklou puntíkovaností. Ovšem to, co na mě čekalo vevnitř, překonalo všechna očekávání – jakási Yayoi Kusama, nyní 80letá Japonka, je naprosto posedlá tečkami a puntíky všech velikostí. Už u pokladen mě mělo varovat ve smyčce běžící video, na kterém ta dáma freneticky polepuje kočku zářivými samolepkami, samozřejmě kulatými, načež ji v šeru vyžene do lesa, takže to vypadá že se mezi stromy proplétá puntíkatá příšera. Nenechal jsem se odradit, za $10 vstoupil do tečkovaného ráje^Wpekla^Wráje^Wprostoru a celou následující hodinu nevyšel z úžasu.
Za zmínku určitě stojí dílo „Fireflies on the water“ – vejdete do tmavé místnosti, zavřou se za vámi dveře, najednou se rozsvítí tisíce malých různobarevných žároviček, jejichž světlo se odráží od zrcadel na všech stěnách. Kam oko dohlédne, tam jsou barevné světlušky. Píchnete prstem do černého prostoru vedle lávky na níž stojíte. Ale jen opatrně, celé to tu vypadá tak strašidelně… Uff, je to jen voda. V tu chvíli pochopíte, proč vstup není doporučován osobám s klaustrofobií, s problémy se stabilitou, malým dětem, starým lidem atd.
Dalším dílem je žlutá místnost s nafouknutými žlutými megabalony, to vše polepené černými tečkami. Druhá místnost sakumprásk stejná, jenže černá se žlutými tečkami. Obě místnosti spojuje chodba plná vypouklých zrcadel. Tam, uprostřed té chodby, pod soustředěným útokem odlesků černých puntíků i žlutých antipuntíků, jsem si poprvé řekl „Ty vole…“ (ovšem prozatím zůstala myšlenka nedokončena).
Přesvědčen, že nic drsnějšího už mě potkat nemůže, jsem zamířil na projekci filmu Kusama's Self Obliteration. Celý jsem ho dokoukat nezvládl, inu zkuste si to sami:
Cestou z galerie mě konečně napadl konec té rozpracované myšlenky. Celé je to takhle: „Ty vole, tak to byl masakr!“
Příště se dozvíte, jak si postavit kompletně open-source raketu, ukážeme si slide s českým textem „H.G.Wales – Prvni lide na mesici“, představíme si Yubikey, zmíníme Linux containers a dojde i na další kulturní vsuvku.
Cílem projektu je postavit tiskárnu, která se bude umět sama vytisknoutLOL
talloc()
by mohl být dalším mechanismem, který umožní vývojářům GTK+ přiblížit se C++? ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.