NixOS config tutorial series
A practical learning path for operating BGP safely before requesting public Internet number resources or a FreeTransit tunnel.
A public ASN, an IP prefix and a BGP session are production Internet resources. They are not a first BGP laboratory. A mistake can make your own network unreachable, leak routes learned from one provider to another, or announce address space that does not belong to you.
FreeTransit helps community networks obtain and use Internet number resources. We also expect applicants to understand the basic operational responsibility that comes with those resources. You do not need to be an expert, but you should be able to build, filter, verify and monitor a simple BGP setup before it is connected to a public network.
Alles zum ASN-Registrierungsprozess bei der RIPE NCC: LIR-Sponsoring, Multihoming-Anforderung, Dokumentation und was nach der Zuteilung zu tun ist.
Wenn Sie eigene IP-Prefixe per BGP ankündigen, an einem Internet Exchange peeren oder ein multihomed Netzwerk betreiben möchten, benötigen Sie eine Autonomous System Number. Diese Anleitung führt Sie durch den ASN-Registrierungsprozess bei der RIPE NCC: Voraussetzungen, das LIR-Sponsoring-Modell, Kosten, Dokumentation, Zeitrahmen und die nächsten Schritte nach der Zuteilung.
Learn alongside me - The nix programming language can be a little intimidating, do what I do and you'll know it too!
Deep in your innermost being, you’ve always known you were destined to learn Clojure. Every time you held your keyboard aloft, crying out in anguish over an incomprehensible class hierarchy; every time you lay awake at night, disturbing your loved ones with sobs over a mutation-induced heisenbug; every time a race condition caused you to pull out more of your ever-dwindling hair, some secret part of you has known that there has to be a better way.
Now, at long last, the instructional material you have in front of your face will unite you with the programming language you’ve been longing for.
This version of the text assumes you’re using Rust 1.85.0 (released 2025-02-17) or later with edition = "2024" in the Cargo.toml file of all projects to configure them to use Rust 2024 Edition idioms. See the “Installation” section of Chapter 1 for instructions on installing or updating Rust, and see Appendix E for information on editions.
The HTML format is available online at https://doc.rust-lang.org/stable/book/ and offline with installations of Rust made with rustup; run rustup doc --book to open.
Several community translations are also available.
This website is an experiment by the Cognitive Engineering Lab at Brown University. The goal of this experiment is to evaluate and improve the content of the Rust Book to help people learn Rust more effectively.
🦀

This is the beginning of Learn You Some Erlang for Great Good! Reading this tutorial should be one of your first steps in learning Erlang, so let's talk about it a bit.
Erlang logo
First of all, I began growing the idea of writing this after reading Miran Lipovača's Learn You a Haskell for great Good! (LYAH) tutorial; I thought he did a great job making the language attractive and the learning experience friendly. As I already knew him, I asked him how he felt about me writing an Erlang version of his book. He liked the idea, being somewhat interested in Erlang.
So here I am typing this. Of course there were other sources to my motivation: I mainly find the entry to the language to be hard (the web has sparse documentation and otherwise you need to buy books), and I thought the community would benefit from a LYAH-like guide. Less importantly, I've seen people attributing Erlang too much or not enough merit sometimes based on sweeping generalizations. Then there are people who sure as hell believe Erlang is nothing but hype. If I'd like to convince them otherwise, I know they're not likely to read this in the first place.
This book thus wants itself to be a way to learn Erlang for people who have basic knowledge of programming in imperative languages (such as C/C++, Java, Python, Ruby, etc) and may or may not know functional programming (Haskell, Scala, Erlang, Clojure, OCaml...). I also want to write this book in a honest manner, selling Erlang for what it is, acknowledging its weaknesses and strengths.

The Nix language is designed for conveniently creating and composing derivations – precise descriptions of how contents of existing files are used to derive new files. It is a domain-specific, purely functional, lazily evaluated, dynamically typed programming language.
You may quickly encounter Nix language expressions that look very complicated. As with any programming language, the required amount of Nix language code closely matches the complexity of the problem it is supposed to solve, and reflects how well the problem – and its solution – is understood. Building software is a complex undertaking, and Nix both exposes and allows managing this complexity with the Nix language.
Yet, the Nix language itself has only few basic concepts that will be introduced in this tutorial, and which can be combined arbitrarily. What may look complicated comes not from the language, but from how it is used.
Overview
This is an introduction to reading the Nix language, for the purpose of following other tutorials and examples.
Using the Nix language in practice entails multiple things:
- Language: syntax and semantics
- Libraries: builtins and pkgs.lib
- Developer tools: testing, debugging, linting, formatting, …
- Generic build mechanisms: stdenv.mkDerivation, trivial builders, …
- Composition and configuration mechanisms: override, overrideAttrs, overlays, callPackage, …
- Ecosystem-specific packaging mechanisms: buildGoModule, buildPythonApplication, …
- NixOS module system: config, option, …
This tutorial only covers the most important language features, briefly discusses libraries, and at the end will direct you to reference material and resources on the other components.
The Pain of NixOS Beginners - Documentation and Flakes
NixOS is a highly distinctive Linux distribution built upon the Nix package manager, with a design philosophy that sets it apart from traditional distributions like Ubuntu, CentOS, Arch Linux and others.
One of NixOS's major advantages over other distributions lies in its reproducibility and declarative configuration, allowing users to replicate consistent system environments across multiple machines.
While NixOS is powerful, its strength also comes with increased system complexity. This makes it more challenging for newcomers. One major challenge is that the knowledge accumulated on other Linux distributions is not easily transferable to NixOS. Another is that official and community documentation is often scattered and outdated. These issues have troubled many NixOS beginners.
One can observe these issues with the experimental feature of the Nix package manager called Flakes. Inspired by package managers like npm and Cargo, Flakes uses flake.nix to record all external dependencies and flake.lock to lock their versions. This significantly enhances the reproducibility and composability of the Nix package manager and NixOS configurations.
Flakes' advantages have made it widely popular within the community: according to official surveys, over half of the new Nix repositories created on GitHub now utilize Flakes.
However, to maintain stability, the official documentation covers barely any Flakes-related content. This has left many Nix/NixOS users feeling confused. They see everyone using Flakes and want to learn it too, but find nowhere to start, often having to piece together scattered information, search through Nixpkgs source code, or seek help from more experienced users.
Testing applications has become a standard skill set required for any competent developer today. The Python community embraces testing, and even the Python standard library has good inbuilt tools to support testing. In the larger Python ecosystem, there are a lot of testing tools. Pytest stands out among them due to its ease of use and its ability to handle increasingly complex testing needs.

JMESPath is a query language for JSON
Enter an expression in the search box to see JMESPath in action.
The expression is evaluated against the JSON data and the result is shown in the result pane.
To learn more about JMESPath, check out the JMESPath Tutorial and JMESPath Examples.

The Perl Maven tutorial will teach you the basics of the Perl programming language. You'll be able to write simple scripts, analyze log files and read and write CSV files. Just to name a few common tasks.
You'll learn how to use CPAN and several specific CPAN modules.
It will be a good foundation for you to build on.
If you are interested in getting updated when new parts are published, please subscribe to the newsletter.
There is also an e-book version of the material available for purchase. In addition to the tutorial, the eBook also includes some material that is only available pro subscribers.
Die Image WB in FreeCAD dient dazu, Grafiken (Bilder, Fotos, techn. Zeichnungen) als Referenzen in FreeCAD einzuladen. Auf deren Basis kann man anschließend 3D-Modelle erzeugen.
In diesem Video wird der FreeCAD 0.19 Image Arbeitsbereich im Detail vorgestellt - alle Befehle der WB werden ausprobiert und es gibt noch ein paar Hinweise zum Workflow.


Kostenfreie CAD/ CAM/ CAE Tutorials auf Deutsch.
Auf diesem YouTube Kanal wird hauptsächlich mit der freien Open Source CAD Software FreeCAD gearbeitet, aber auch andere Programme aus dem CAD Bereich werden hier vorgestellt.
FreeCAD ist meiner Meinung nach die beste kostenlose CAD Software als Alternative zu kostenpflichtigen Software Angeboten wie etwa SolidWorks oder Inventor.
Mit dieser Software kannst du Computer aided Design als Kerngebiet des technischen Zeichnen üben, vertiefen und auch anwenden.
Dieses FreeCAD Tutorial ist Teil eines in den nächsten Wochen kommenden FreeCAD Kurs, in dem ich dir die essentiellen Grundlagen im Umgang mit CAD Software zeige. Der Kurs richtet sich also an FreeCAD Anfänger und Leute, die noch nicht viel mit CAD Software gearbeitet haben.
Der Umgang mit CAD Software ist im Maschinenbaustudium und für Ingenieure aller Art eine unablässliche Kernkompetenz. Speziell, falls du später in der Konstruktion und Entwicklung tätig sein möchtest, ist dieser Skill essentiell. Die Nutzung von CAD Software ist die digitale Komponente im technischen Zeichnen und stellt neben dem technischen Zeichnen von Hand die zweite Säule für das gleichnamige Modul im Bachelor Maschinenbau dar.

Das Tutorial zeigt, wie mit Hilfe der PartDesign und Assembly A2+ Workbench die Teile einer Baugruppe konstruiert und zusammengefügt werden können. Die A2+ Workbench ist nicht standardmäßig in FreeCAD enthalten, kann aber einfach mit dem Addon-Manager (Tools & Addons) nachinstalliert werden.

