Nix Your Bugs & Rust Your Engines #2

Nix Your Bugs & Rust Your Engines is a new meetup for people in the Rhein-Neckar region that are interested in Rust (the programming language), Nix (the package manager), or NixOS (the Linux distribution). This time, it took place at the RaumZeitLabor in Mannheim on March 18, 2024. 0:00 - Welcome 3:10 - Enola Knezevic: Fighting cancer with Rust 25:00 - Q&A 37:15 - Niklas Korz: Nix for Monorepos 1:00:15 - Q&A If you have any questions, feel free to send us an email at nixrust@rheinneckar.events or contact us on Mastodon at @NixRust@rheinneckar.social. We also have a Matrix room: #nixrust-hd:matrix.org. Talk 1 Enola Knezevic is a software engineer, working as a research associate in Martin Lablans' group at the German Cancer Research Centre and the Medical Faculty Mannheim. https://github.com/samply Biospecimens and high-quality clinical data are essential for cancer research. At the same time, health data is highly sensitive with regards to data protection, hence, instead of centralizing all the data, federated information systems enable researchers to locate and work with data/biospecimens having certain characteristics, e.g. specimen type, diagnosis, and molecular markers, across hospitals, countries, or even continents. At the German Cancer Research Center (DKFZ), Germany’s largest biomedical research center, we develop, operate, and maintain such national infrastructures in hospitals and biobanks around Germany, Europe and the world, using 100% FLOSS. Recently, we have re-implemented and open-sourced key components in Rust with great benefits towards stability, safety and performance. In particular, we report on Beam, a distributed task broker for efficient communication across strict network environments, and Focus, a federated query dispatcher protecting patient privacy using differential privacy. Talk 2 Niklas Korz is a co-founder of and technical lead at Alugha GmbH, the multilingual video platform and dubbing toolsuite from Mannheim. https://dl.korz.dev/meetup-nix-monorepos.pdf At alugha, all development happens in a monorepo with many different packages and services in different programming languages. Managing CI pipelines for such a setup can be tricky and is often solved with a solution like Google's Bazel. Another alternative that has been gaining traction in recent years is Nix - the declarative package manager based on a pure, functional programming language. We use Nix to build all our packages and their dependencies in isolation, paving the way for granular caching. In the final step, Nix also allows us to build Docker-compatible OCI container images from these packages without ever entering a container runtime.

LicenseDefault alugha License

More videos by this producer

Flake it until you make it: Nix Flakes in a Nutshell

by Stefan Machmeier The flakes experimental feature is a major development for Nix, it introduces a policy for managing dependencies between Nix expressions, it improves reproducibility, composability and usability in the Nix ecosystem. Although it's still an experimental feature, flakes have been

Reading from Streams and Writing to Sinks

by Benjamin Sparks Robust data streaming is a complex task, requiring low runtime overhead, safe buffer management, and robust error handling. To address these challenges, this talk showcases managing data streams in Rust, by using the well-known Tokio libraries to asynchronously read from and writ

Using NixOS for Pragmatical Self-hosting

by Andre Dossinger Nix and NixOS enable new ways of managing systems. This talk is about using and abusing NixOS within a self-hosting setup. Do not expect best practices from this talk, but insights into how NixOS can be used in a problem oriented manner to preserve privacy and make complex setups