Bevy is the most popular and powerful game engine in Rust. Because of its flexibility, it can be used not only for games but also for (scientific) physics simulations. In this blog post, I will share my experience using Bevy for physics simulations from scratch as part of my master's thesis supervised by Prof. Elmar Schömer . Note This blog post is the base for my talk at Scientific Computing…
Rustlings is a program with a set of small exercises to get you used to reading and writing Rust code 🦀 I have been working on version 6 of Rustlings for more than 3 months. During this time, I rewrote the whole program, extended it, improved the exercises and added idiomatic solutions. Now, I am happy to finally release it 🎉 In this blog post, I will talk a about my journey of becoming a…
Quadlet lets you run your Podman containers as systemd services. This is especially useful for running containers in the background and automatically starting them after a server reboot. Running Podman containers under systemd isn't new. Indeed, this was supported by Podman for a long time with the command podman generate systemd . But this command now shows a deprecation warning to migrate…
An AD blocker killed a project that I was working on for 4 months. It was one commit adding 2 lines that killed 419 commits with more than 2000 total lines of code. The script that powers my project was placed on the filter list "EasyPrivacy". But is the project that I designed with privacy as the first feature trying to invade your privacy? This brings up the topic about telemetry in FOSS…
The tech industry happily wastes a lot of resources on serializing and deserializing JSON with its inefficient plain text format. But sadly, JSON is currently (still) the standard for sending data over the internet. Nevertheless, we can at least try to make serialization and deserialization as efficient as possible! In this blog post, we will see how you can improve the serialization performance…
I gave a 5-day Rust course at my university and want to share my experience teaching Rust. In this blog post, I want to answer the following questions: Can you learn Rust in 5 days? What learning resources are currently available for teaching Rust? What should you focus on when teaching Rust?
Although the scientific domain often requires the highest performance out of programming languages, people in this domain have often preferred less efficient dynamic languages like Python for flexibility and ease of use. At some point, a project grows out of that efficiency compromise and the software has to be rewritten in a statically-typed language like C/C++. This means that people in the…
SQLx is an awesome crate for interacting with databases in Rust with compile time checks. In this blog post, we will learn how to use it in an Axum backend to store and retrieve data from a database. The example will be storing submitted contact forms from the previous post about Axum . During the SQLx integration, we will learn about states and returning JSON in Axum.
SQLx is an async Rust crate that let's us interact with a database with compile-time checked queries 🧰 This post will be a short introduction to SQLx with PostgreSQL, but SQLx also supports MySQL, SQLite, and MSSQL. The example will be a todo list in a database. A classical programming example , I know 😅 We will also see if SQLx protects us against SQL injections 💉
This post is about running rootless Podman containers with PostgreSQL as a central example 📦️ The post serves as an optional preparation for the next post about interacting with databases with SQLx in Rust 🦀