Blog Banner

  • Navigating the Chaos: My Inaugural Experience at CCC in Hamburg!

    Four exciting days at the 37C3 have come to an end, and it’s time to look back on some of the interesting things I saw and learned. The Chaos Computer Club usually hosts a convention every year, but this year was special because it was the first in-person convention after the COVID pandemic, and it took place in the newly renovated Congress Center Hamburg.

  • JupyterHub Image Building: A Layered Approach for Customized User Environments

    I gave this answer about image management for JupyterHub on StackOverflow today and thought I’d turn it into a short blog post, with some code thrown in.

  • TIL: Unlocking Internal URLs with SSH Proxy

    What is a TIL?

    Today I learned a neat trick: if your institution doesn’t support VPN, you can still access internal URLs using an SSH proxy. Here are the steps:

  • GitHub Action for Monitoring Workflow Billing with Custom Metrics in Datadog

    Some time ago, I crafted a GitHub Actions for a custom Datadog metric to meticulously monitor GitHub minutes usage for a substantial project. The primary objective was to gain a precise understanding of how many minutes per workflow were consumed within the billing period, enabling us to pinpoint areas for improvement.

  • ReCreate: Bridging Nature and Technology for Sustainable Renaturation

    I’ve been meaning to share this update on the ReCreate project, a collaborative initiative that unfolded in 2021/22 at inno-space Mannheim in partnership with CERN. The project’s mission was to employ design thinking and various methodologies to ideate and prototype a solution addressing challenges within the UN Sustainable Development Goals, specifically focusing on Goal 15 - Life on Land, which states: “Protect, restore and promote sustainable use of terrestrial ecosystems, sustainably manage forests, combat desertification, and halt and reverse land degradation and halt biodiversity loss”. Without further ado, let me present the outcome and pitch the resulting idea to you.

  • TIL: Automated Python Script Reloading with Watchdog

    What is a TIL?

    Today I learnt about watchdog, a Python utility that allows you to monitor file system events, useful for example if you want to restart a script when changes are made to it. I used it with Docker Compose to run a Python program every time I changed the file.

  • Launch of the TIL - Today I Learned blog post series

    TILs, or “Today I Learned” entries, are concise snippets with code examples designed to quickly share recent learnings. I find this approach particularly appealing for blog posts as it significantly lowers the hurdle to write and publish. While I have a backlog of ideas and drafts waiting to be completed, sometimes it’s challenging to bring them to fruition. TILs offer a solution by enabling me to publish brief blog posts about things I’ve learned more swiftly and in a more structured manner.

  • Mastering Mobile Magic: Crafting a Seamless React Native Experience with Expo

    In this post, we’ll delve into the structured process of creating React Native apps with Expo.

    Expo is a set of tools, libraries, and services built around React Native to simplify the development process. It provides a set of pre-built components and a development environment that eliminates the need for setting up and configuring native build tools. Expo also offers a range of services, such as a cloud build service, which allows you to build and deploy your app without the need for Xcode or Android Studio. Expo is particularly helpful for developers who want to focus on the JavaScript side of their application and reduce the complexity of native development tasks.

  • Understandable Diagrams of Software System Architecture

    In my search for an understandable and intuitive model for designing a software system architecture, I recently came across the C4 model. The C4 model makes use of Shneiderman’s mantra, which is a simple concept for data visualisation and can be summarised as: “Overview first, zoom and filter, then detail on demand”. I would like to demonstrate the use of the C4 model by illustrating the architecture of the Autonomous Robot described in a previous blog post.

  • Insights from JupyterCon 2023 in Paris

    This articel has also appeared in the CERN Computing Blog

    Project Jupyter and IPython have no doubt revolutionized the way scientific computing is done. Today CERN and many other major organisations around the globe are using them to do their research. This article gives you the newest insights into Project Jupyter from its biggest community gathering in 2023 in Paris - the JupyterCon!

  • Rebasing: A Git Tool for Cleaner and More Organized Commit History

    If you’re a developer working on a project using Git, you may have come across the term “rebasing” before. Rebasing is a powerful Git tool that can help you clean up your commit history and make it more organized.

  • Getting Started with Terraform: Variable Declaration, Local Values, Variable Usage, and Defining Outputs

    Terraform is an open-source infrastructure as code tool that enables users to manage cloud resources efficiently. It is widely used by DevOps engineers to create, manage, and update their infrastructure as code. In a previous blog post, we discussed how to deploy a Kubernetes cluster and deploy a Helm Chart to it on OpenStack using Terraform. In this post, we will provide some quick and practical knowledge for working with Terraform.

  • Streamlining Kubernetes Deployments: Using Terraform to Maintain Flux

    As more and more organizations adopt Kubernetes for container orchestration, it has become increasingly important to have a robust and reliable tool for managing Kubernetes deployments. Flux, an open-source tool for GitOps continuous delivery, has emerged as one of the most popular tools for managing Kubernetes deployments. Terraform, another popular tool for infrastructure management, can be used to manage the installation and configuration of Flux. In this blog post, we will explore the benefits of using Terraform to maintain Flux.

  • Working with Terraform: Building a K8s cluster and deploying a Helm Chart to it on OpenStack

    Infrastructure as Code (IaC) has become a popular approach to managing IT infrastructure. This approach treats infrastructure components as code, allowing automated deployment and management of infrastructure resources across different platforms, with the advantage of having all this information stored and tracked in a repository. In this blog post, we want to explore Terraform by HashiCorp - which is a popular tool for this purpose - by building a Kubernetes cluster on OpenStack and installing a Helm Chart on it.

  • Working at CERN - My experiences and some tips for newcomers

    In September, I began my Technical Studentship at CERN in Geneva, and the time just flew right by. By now, it’s been almost five months and time to reflect a bit on my experiences thus far. I’ll also include some useful information on administrative and organizational things along the way, in case you’re interested in applying to CERN or are starting to work here.

  • Development of an Autonomous Robot for Detecting and Collecting Objects

    This past summer, I attended a lecture on autonomous mobile robots at my university in Mannheim. The topic fascinated me, and in this post, I want to share a few details about the project we performed and the paper we published.

    We aimed to build an autonomous robot capable of detecting and collecting given objects in a room and moving them to another given object (a target to search for and a goal essentially).

  • Switching from ArrowOS to Xiaomi EU custom ROM on my Poco X3 NFC

    After I bought my Xiaomi POCO X3 NFC last year, I flashed the latest ArrowOS. I wanted a clean android with more control and an open source, and ArrowOS delivered that. However, after one year of using ArrowOS, I noticed some strange behavior. My network usage went up almost exponentially without me changing my behavior or the settings. The statistics showed that “System Updates” was constantly downloading data in the background for no apparent reason and I couldn’t get it to stop, so eventually, I decided the best way to handle this was to reinstall the entire OS. A friend recommended to flashing Xiaomi.EU, and so I did. As there is a lot of information out there on how to flash your android phone and some of it is very confusing (at least I felt that way). I decided to share my experience/documentation on the matter.

  • NYT Articles and Comments Analysis with MongoDB and Docker

    Inspired by Spiegel Mining lecture by Daniel Kriesel I decided to try some mining my own using this New York Times dataset from Kaggle.

  • Creating presentations with RISE (Jupyter Notebook)

    I recently did a lot of work in Jupyter Notebook. Jupyter Notebook offers great ways to convert your content to LaTex or PDF, but what if you want to hold a presentation with your Notebook without having to scroll through the entire notebook on your screen?

  • My reverse engineering challenge: Broken Password Safe

    In the past semester, I took a lecture on Reverse Engineering. The goal of Reverse Engineering is to understand as much as possible about a piece of software or system while knowing very little about it. So in most cases, you start with just an executable. Those pieces of compiled software cannot simply be read and understood and in this blog post, I want to talk about the different approaches that can be used to analyze such files. I’ll be using a simple Capture the Flag Challenge I developed for others to try, to walk you through the process.

  • The purpose of this blog

    Welcome to my personal blog, where I post about myself, projects I work(ed) on, and other stuff that interests me.