• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    SPIRALIRust - Programovací jazyk

    A language empowering everyone to build reliable and efficient software.

    The Rust Programming Language - The Rust Programming Language
    The book of Rust
    Idiomatic rust
    GitHub - usagi/rust-memory-container-cs: Rust Memory Container Cheat-sheet
    Memory container cheat sheet
    rozbalit záhlaví
    FALL
    FALL --- ---
    ELHO_CID: Ano, ST33 je asi komerčně nejúspěšnější čip implementující SC300, de-fakto všechny eSE/eUICC v telefonech používají ST33 HW, ale k dokumentaci a samotnému čipu se dostanou jen velcí hráči jako Thales/Gemalto, G&D, Idemia... Malý podíl má i NXP (jejich eSE v iPhonech podle mě také používá SC300) a Infineon (SLC37, SLE97 jsou oba založené na SC300).

    Já osobně doufám, že někdo udělá v zásadě dostupný čip založený alespoň na SC000, třeba příští iterace RPi2040. Ty ARM TrustZone a CryptoCell jsou krok správným směrem, ale stále to pro trochu zkušeného útočníka nic není (= dostane se do čipu oklikou skrz jakoukoliv HW chybu a vysype FW i s daty a klíči, aniž by musel překonávat nějaký secure boot s TrustZone a podobně).

    Ale zpět k tématu: Rust a ARM Cortex-M podle mě má budoucnost a snad budu mít výhledově čas si s tím alespoň pohrát a vyzkoušet to na něčem reálném (jako jsou ty STM32F nebo L generické čipy).
    ELHO_CID
    ELHO_CID --- ---
    FALL: na SC300 je založena rodina ST33, ale bojím se že není normálně na prodej koncovým zákazníkum. Ale STM32 L5 používá Cortex-M33 a ten má TrustZone.
    RUDOLF
    RUDOLF --- ---
    REDGUY: to je i benefit, někteří tvrdí že ten compiler tě nutí lépe programovat.
    RUDOLF
    RUDOLF --- ---
    SATAI: V angelcamu, kolega tam napsal několik služeb na kterých to běží, plus dělá ještě v jedný firmě, kde řeší customizaci kamer. Chvilku tam pracoval zrzka na vyučenou a napsal si tam službu na nahrávání rtsp do AWS. Myslím, že si to přitáhl do firmy kde pracuje.

    Ale Angelcam zatím spíš přežívá svoji téměř smrt, ale teď zase pomaloučku ožívá.
    FALL
    FALL --- ---
    Tohle vypadá jako ta správná aplikace v "embedded" světě: bezpečnostní token (FIDO a PIV), potenciálně i na temper resistent chipu (ten SoloKey je bohužel jen standartní STM32L4, ale dalo by se to potentiálně přeportovat i na čipy, které mají sofistikovanější HW ochrany a jsou ARM Cortex-M0/3/4 kompatibilní, t.j. třeba ARM SC000 nebo SC300)

    Trussed® Announcement - Trussed®
    https://trussed.dev/blog/trussed-announcement/
    SPIRALI
    SPIRALI --- ---
    WOODMAKER: Redoxu take hodne fandim, ale nevim jestli si tvurci neukousli prilis velke sousto. Ve stredobem horizontu na tomto poli ocekavam spise vysledky z Rustu v Linuxu, kde je nove mozne psat ovladace. Navic Linus se k tomu stavi celkem pozitivne (obzlastne v porovnani s C++). Myslim ze je celkem velka sance ze se to postupne uchyti a Linuxove jadro postupne zacne krok za krokem rustovatet tak jako Firefox.
    WOODMAKER
    WOODMAKER --- ---
    Super projekt v rustu je OS na bazi mikrokernelu. Moc jim fandim.
    Redox - Your Next(Gen) OS - Redox - Your Next(Gen) OS
    https://www.redox-os.org/
    SPIKE411
    SPIKE411 --- ---
    THERIDANE: To mi připomnělo...

    Using Rust for a simple hardware project | tonari blog
    https://blog.tonari.no/rust-simple-hardware-project

    V životě v tom programovat asi nebudu, ale rád si o tom čtu. :)
    THERIDANE
    THERIDANE --- ---
    SPIRALI: Co jsem si zatím blikal, tak to bylo no_std.
    SPIRALI
    SPIRALI --- ---
    THERIDANE: Takovy hardware je stale no_std svet nebo uz se na tom da pouzivam i standardni knihovna?
    THERIDANE
    THERIDANE --- ---
    Já jsem se teď zavázal u jednoho svýho zákazníka přivést na svět fungl nový PLC s firmwarem v Rustu, tak budu průběžně hlásit, jak se to rozjede (zatím prototypuju hardware) :-) Nebude to úplně ultra-embedded, vybral jsem si STM32F407, což je poměrně velkej mikrokontroler (192 kB paměti), ale myslím že potom zkusím přepsat firmware na svých starších projektech s jednocifernou velikostí RAM. Co jsem zatím zkoušel mě všechno nadchlo, rust má excelentní tooling.
    SPIRALI
    SPIRALI --- ---
    REDGUY: V podstate ano, presneji je to spise 3h odstranovani compile erroru, pak 2min na nalezeni puvodu "thread 'main' panicked at 'already borrowed: BorrowMutError'" a pak funguje:)
    REDGUY
    REDGUY --- ---
    Taky mate s Rustem takovou tu bizarni zkusenost, ze nejdriv tri hodiny odstranujete compile errory, ale pak to najednou na prvni spusteni funguje? 8)
    SPIRALI
    SPIRALI --- ---
    MARASAN: Uff, to jsem netusil ze je potreba nejaka minimalne erudice pro zalozeni klubu .. tak snad jsem latku prelezl:)

    MARASAN: Muzes poodhalit kde je to "u nas" a co resis za problemy?:)
    MARASAN
    MARASAN --- ---
    SPIRALI: cool, RUST sem postradal, ale necitim se dost erudovanej na vlastnictvi klubu o
    MARASAN
    MARASAN --- ---
    SATAI: ja ho u nas pouzivam :-)
    REDGUY
    REDGUY --- ---
    XCHAOS: nevim, co presne si predstavujes pod "standardni soucast Rustu" a "funkce read_lines", ale metoda "lines()", pouzita v tom prikladu, jeho standarni soucasti je a neprilis prekvapive vraci iterator pres radky a je v podstate ekvivalentem pythonovskeho "readlines" (modulo osetreni problemu). Coz vypada jako presne co chces. 8)
    B42
    B42 --- ---
    SATAI: braiins v tom dělají firmware pro bitcoin minery: https://github.com/braiins/braiins (a hledají lidi, takže nejspíš je to to co zmiňuje SPIRALI)
    SPIRALI
    SPIRALI --- ---
    SATAI: Pouzivame Rust v IT4I (Narodni superpocitacove centrum), kam jsem ho pro svou skupinu dotahl ja. Ale je to spise na pomezi akademicke a komercni sfery. Jinak mne posledni dobou pisou nejaci headhunteri na vyvoj nejakeho cryptomenoveho systemu v Rustu.
    SPIRALI
    SPIRALI --- ---
    Ahoj,

    Vitam vas v diskuzi, kterou jsem jiz chtel zalozit pred nejakou dobou, ale pripomely mi to az dve posledni udalosti, a to Nyx v Rustu (o cemz bych se rad dozvedel vic:) a Xchaosovo upozorneni v klubu o C.

    Za sebe muzu rict, ze Rust pouzivam hlavne pro ony dve vykricene veci a to memory safety a performance. Delame systemy pro distribuovane vypocty kde je potreba oboji. Pametovou bezpecnost ani tak ne kvuli utokum, ale predevsim aby nam nezesedively vlasy pri ladeni.

    Takze to co je mi nejblizsi je nejake relativne nizko-urovnove sitovani nad Tokiem a psani scheduleru. (O cem naopak nevim vubec nic je Rust & WASM nebo embedded systemy.) Takze z hlediska zakladniho systemu uz v podstate vsechny veci co bych chtel mam.
    Takova posledni bolistka je to ze nase ustredni struktura je jeden velky graf a tam bych byl rad aby se jednou dostaly do Rustu GhostCells nebo nejaka varianta na ne, ale i s RefCelly se da nejak zit, navic to mame v podstate na jednom (trebaze ustrednim) miste.
    XCHAOS
    XCHAOS --- ---
    Když už jsem zřejmě patřil mezi ty, kdo založení klubu iniciovali, tak sem taky něco napíšu/na něco se zeptám.

    Zatím nevím, jestli ze mě bude přesvědčený "rezýš" ("crustacean"?), i když některé features se mi podle dokumentace jeví dost sympaticky.

    V zásadě třeba konstrukce for .. in .. vypadá skoro jako ukradená z Pythonu, a v případě načítání řádků textového souboru to skoro vypadá komfortně:
    read lines - Rust By Example
    https://doc.rust-lang.org/stable/rust-by-example/std_misc/file/read_lines.html

    Problém je, že nic jako funkce read_lines standardní součástí Rustu zřejmě není a ten chrchel čtyřteček, kterým je implementována, bude asi povědomý spíš programátorům sběhlým v C++ ... jak chci říct, kdyby Rust byl to, co je ukázané v té horní části příkladu, tak jsem nadšený, ale ono to je podle všeho to, co je uvedené v dolní částí příkladu :-)
    Kliknutím sem můžete změnit nastavení reklam