<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>blog.nodraak.fr</title>
    <link>https://blog.nodraak.fr/</link>
    <description>Recent content on blog.nodraak.fr</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    <copyright>Written by &lt;a href=&#34;https://blog.nodraak.fr/about/&#34;&gt;Nodraak&lt;/a&gt;</copyright>
    <lastBuildDate>Tue, 16 Nov 2021 00:00:00 +0000</lastBuildDate><atom:link href="https://blog.nodraak.fr/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Launch Windows - How is Matthias Maurer going to join Thomas Pesquet&#39;s Halloween party?</title>
      <link>https://blog.nodraak.fr/2021/11/launch-windows/</link>
      <pubDate>Tue, 16 Nov 2021 00:00:00 +0000</pubDate>
      
      <guid>https://blog.nodraak.fr/2021/11/launch-windows/</guid>
      <description>This article is a transcript of my talk &#34;Launch Windows - How is Matthias Maurer going to join Thomas Pesquet&#39;s Halloween party?&#34; given on the 2021-11-03 at PTS on our weekly &#34;PTS lunch &amp; learn&#34; event. The source of the slides are available on my Github.      Introduction NASA&amp;rsquo;s Crew-3 Mission    The leftmost person is Matthias Maurer. He is a German astronaut, and joined the ESA astronaut corp in 2015.</description>
    </item>
    
    <item>
      <title>GPS trace collection and edition with OpenGPSTracker and Viking</title>
      <link>https://blog.nodraak.fr/2021/08/gps-trace-manipulation/</link>
      <pubDate>Tue, 24 Aug 2021 00:00:00 +0000</pubDate>
      
      <guid>https://blog.nodraak.fr/2021/08/gps-trace-manipulation/</guid>
      <description>I don&amp;rsquo;t really have a bucket list, but I do have a list of things I want to do: I keep a short list of things to focus on and make progress. I review and update this list yearly or so. Since some time, I have been thinking about running a marathon, and this item has finally made it to this year&amp;rsquo;s focus list.
After reading a couple training plans, I prepared my own, fitting my schedule and time commitment.</description>
    </item>
    
    <item>
      <title>Moon lander project: thrust vectoring with a PID controller</title>
      <link>https://blog.nodraak.fr/2021/04/aerospace-sim-3-thrust-vector-control/</link>
      <pubDate>Sun, 18 Apr 2021 00:00:00 +0000</pubDate>
      
      <guid>https://blog.nodraak.fr/2021/04/aerospace-sim-3-thrust-vector-control/</guid>
      <description>The goal of my Moon lander guidance software series is to learn and gain some experience with an end-to-end aerospace software project, especially on the topic of GNC. I have already written a few articles sharing my findings: for instance, this one about guidance.
Today I want to talk about control. I will use the engine gimbal controller of my Moon lander1 project to explain how to design, tune and validate a PID controller.</description>
    </item>
    
    <item>
      <title>Dimensional analysis in Rust: how not to crash &#34;Mars Climate Orbiter&#34;</title>
      <link>https://blog.nodraak.fr/2021/03/dimensional-analysis-in-rust/</link>
      <pubDate>Tue, 23 Mar 2021 00:00:00 +0000</pubDate>
      
      <guid>https://blog.nodraak.fr/2021/03/dimensional-analysis-in-rust/</guid>
      <description>Software is complicated: ensuring that old features keep working, while holding the bugs away, is an every day&amp;rsquo;s fight. Thankfully, there are many (too often unknown) gems, either built in the language/compiler or as third-party libraries.
Some time ago, I introduced SymPy, which allows one to use symbolic maths in Python, and do things such as solving equations or integrating functions. In this article, I will introduce you another nice library, for Rust this time: uom (units of measurement).</description>
    </item>
    
    <item>
      <title>How I&#39;m learning Spanish and German</title>
      <link>https://blog.nodraak.fr/2021/02/learning-a-language/</link>
      <pubDate>Sat, 27 Feb 2021 00:00:00 +0000</pubDate>
      
      <guid>https://blog.nodraak.fr/2021/02/learning-a-language/</guid>
      <description>After finishing my studies in France, I wanted to enjoy the possibility of traveling and working in 26 countries without passport or laborious paperwork. The aerospace industry in France is also very international, and I consider it an asset to have lived in different countries and be able to speak various languages.
 Flag of Europe - Wikipedia, Public domain  For these reasons, I searched outside France for my first job, and was able to get a job in Madrid, Spain.</description>
    </item>
    
    <item>
      <title>Moon lander project: PID-based vs TGO-based guidance</title>
      <link>https://blog.nodraak.fr/2020/12/aerospace-sim-2-guidance-law/</link>
      <pubDate>Thu, 31 Dec 2020 00:00:00 +0000</pubDate>
      
      <guid>https://blog.nodraak.fr/2020/12/aerospace-sim-2-guidance-law/</guid>
      <description>As part of my Moon lander guidance software, I am making several small prototypes for each subsystems, in order to test ideas, learn and choose the best option. While I progress on the overall project, I have already learned a lot of things and wanted to share some of them.
In this article, I will talk about how to control the altitude and vertical velocity of a spacecraft in order to guide it to a soft landing.</description>
    </item>
    
    <item>
      <title>Symbolic maths in Python: Attacking a castle with SymPy</title>
      <link>https://blog.nodraak.fr/2020/11/symbolic-maths-in-python/</link>
      <pubDate>Sat, 21 Nov 2020 00:00:00 +0000</pubDate>
      
      <guid>https://blog.nodraak.fr/2020/11/symbolic-maths-in-python/</guid>
      <description>While working on my Moon lander guidance software, I am making several small prototypes to test ideas. One of them involves testing several control laws (of the acceleration), which implies quite a lot of manual calculations (to integrate to obtain the velocity and position).
Doing these calculations by hand is tedious and error prone, and I thought about using a symbolic math program. Usually, a programming language can not manipulate variables without predefined values, but I found a Python library which can: SymPy.</description>
    </item>
    
    <item>
      <title>Software quality notes: nested &#34;for&#34; loops considered harmful</title>
      <link>https://blog.nodraak.fr/2020/09/software-quality-notes-nested-for-loops/</link>
      <pubDate>Wed, 30 Sep 2020 00:00:00 +0000</pubDate>
      
      <guid>https://blog.nodraak.fr/2020/09/software-quality-notes-nested-for-loops/</guid>
      <description>While working on Exomars as a software engineer, I was notified an issue to fix. I thought it was an interesting one, and spent some moments to think about how it could have been prevented in the first place. I care about code quality, and always try to build reliable software. For this purpose, I do not believe in rockstar developers (we are all fallible humans), but rather in (automatically enforced) processes and tools.</description>
    </item>
    
    <item>
      <title>Moon lander project: preliminary study of the guidance software</title>
      <link>https://blog.nodraak.fr/2020/08/aerospace-sim-1-preliminary-study/</link>
      <pubDate>Tue, 04 Aug 2020 00:00:00 +0000</pubDate>
      
      <guid>https://blog.nodraak.fr/2020/08/aerospace-sim-1-preliminary-study/</guid>
      <description>I have always struggled during my control theory classes, and almost failed one (out of the three I attended). With this history, some people would have developed a hatred for this subject, but I personally felt in love with it: I have always found it magical to be able to control physical things with software. I love making a pile of silicon1 do things by itself, and developing control algorithms makes it possible to build robots and other automated machines.</description>
    </item>
    
    <item>
      <title>Hello World with Rust and WebAssembly</title>
      <link>https://blog.nodraak.fr/2020/07/rust-wasm-2-hello-world/</link>
      <pubDate>Tue, 14 Jul 2020 00:00:00 +0000</pubDate>
      
      <guid>https://blog.nodraak.fr/2020/07/rust-wasm-2-hello-world/</guid>
      <description>For the second part of my Rust &amp;amp; WebAssembly journey, I will write a basic hello world project.
Note: you can jump to the demo by clicking here.
This will give me the opportunity to demonstrate how to write a simple Wasm module in Rust. I will focus on a simple frontend and ignore the backend: no complicated GET or POST requests, no websockets, etc. This article will present how to build a simple game, such as Matt&amp;rsquo;s Pont.</description>
    </item>
    
    <item>
      <title>Introduction to Rust and WebAssembly</title>
      <link>https://blog.nodraak.fr/2020/06/rust-wasm-1-introduction/</link>
      <pubDate>Sat, 27 Jun 2020 00:00:00 +0000</pubDate>
      
      <guid>https://blog.nodraak.fr/2020/06/rust-wasm-1-introduction/</guid>
      <description>In this article, I would like to talk about two technologies I&amp;rsquo;ve been playing with recently: the Rust programming language and the WebAssembly standard.
I&amp;rsquo;ll start by presenting each of these two technologies and which problems they are trying to solve. Then, I&amp;rsquo;ll explain what are the advantages of a Rust-powered Wasm module, and why it can be useful. Finally, I&amp;rsquo;ll provide links to interesting documentation.
WebAssembly Since many years, client side web applications, implemented in JavaScript, have been becoming larger and larger.</description>
    </item>
    
    <item>
      <title>&#34;Too much precision&#34; bug</title>
      <link>https://blog.nodraak.fr/2020/05/too-much-precision-bug/</link>
      <pubDate>Sun, 10 May 2020 00:00:00 +0000</pubDate>
      
      <guid>https://blog.nodraak.fr/2020/05/too-much-precision-bug/</guid>
      <description>I am currently working on the Rosalind Franklin rover, part of the Exomars 2022 mission to Mars. I develop a software layer to integrate the autonomous navigation algorithms (developed by CNES) with the hardware rover (built by Airbus). CNES has been working on image processing algorithms to give some autonomy to robots. Their expertise is being used, among other projects, in Exomars. Airbus is developing the actual rover, and has defined some APIs to be exposed to allow executing CNES&amp;rsquo;s algorithms.</description>
    </item>
    
    <item>
      <title>Calculating the distance to the Moon</title>
      <link>https://blog.nodraak.fr/2020/02/moon-distance/</link>
      <pubDate>Sat, 01 Feb 2020 00:00:00 +0000</pubDate>
      
      <guid>https://blog.nodraak.fr/2020/02/moon-distance/</guid>
      <description>On 13th sept 2019, Pauline Acalin, a spaceflight photojournalist, posted two pictures of the Moon, taken 8.5 hours apart. Scott Manley commented &amp;ldquo;I should try measuring the distance to the Moon with this&amp;rdquo;.
That&amp;rsquo;s was more than enough to get me started to attempt to do exactly this. After months of procrastination, here is finally an article with my findings and the detailed steps to reproduce them.
 &amp;ldquo;Rotating planets come in handy when you want to make a giant stereoscopic gif of the moon [&amp;hellip;]&amp;rdquo; - Pauline Acalin  Introduction The size of the Earth will be assumed to be known.</description>
    </item>
    
    <item>
      <title>Flying to the moon with Apollo</title>
      <link>https://blog.nodraak.fr/2019/06/free-return-trajectory-1-flying-to-the-moon-with-apollo/</link>
      <pubDate>Wed, 05 Jun 2019 00:00:00 +0000</pubDate>
      
      <guid>https://blog.nodraak.fr/2019/06/free-return-trajectory-1-flying-to-the-moon-with-apollo/</guid>
      <description>About 50 years ago, humans landed on the Moon for the first time. I initially wanted to write on this subject because I like rockets and space, but this anniversary is a nice coincidence.
Going to the Moon is not an easy endeavor. It requires an outstanding number of subsystems and components to work flawlessly, and many maneuvers to execute right as planned. Each time a rocket takes off, an engineering miracle happens.</description>
    </item>
    
    <item>
      <title>Future space articles</title>
      <link>https://blog.nodraak.fr/2019/02/future-space-articles/</link>
      <pubDate>Wed, 30 Jan 2019 00:00:00 +0000</pubDate>
      
      <guid>https://blog.nodraak.fr/2019/02/future-space-articles/</guid>
      <description>This article is a little teasing on future articles that I might write. After two articles on Kubernetes, I am going to switch to aerospace themed articles. Nonetheless, they will probably be fairly focused on software.
Since a few years, I am getting more interested in space. Of course, I watched Scott Manley&amp;rsquo;s videos, played KSP, etc. But nowadays I like to design missions or spacecrafts with back-of-the-envelope estimations, perform computations and simulations.</description>
    </item>
    
    <item>
      <title>Kubernetes: why all this hype?</title>
      <link>https://blog.nodraak.fr/2018/09/kubernetes-why-all-this-hype/</link>
      <pubDate>Mon, 17 Sep 2018 00:00:00 +0000</pubDate>
      
      <guid>https://blog.nodraak.fr/2018/09/kubernetes-why-all-this-hype/</guid>
      <description>Since a few years, Docker and Kubernetes are very hot topics. Theses two technologies, and many other related technologies, are growing quickly. My goal in this article is to explain why Kubernetes is such a big deal. I will explain what is so important when maintaining software in production, that Kubernetes helps having.
Before diving into technical details, and for those who don&amp;rsquo;t know Kubernetes or system administration, I will first go back a little in time and explain in simple terms what is needed to operate software in production in order to fulfill users expectations.</description>
    </item>
    
    <item>
      <title>How to design a Kubernetes cluster</title>
      <link>https://blog.nodraak.fr/2018/05/kubernetes-cluster-architecture/</link>
      <pubDate>Wed, 30 May 2018 00:00:00 +0000</pubDate>
      
      <guid>https://blog.nodraak.fr/2018/05/kubernetes-cluster-architecture/</guid>
      <description>TL;DR:
 There is no best architecture, it all depends on your requirements and resources Clusters with 1 to 3 nodes are good for testing, but for production you should have at least 5 nodes Feel free to do differently as I say  Introduction Since its launch in 2015, Kubernetes is the new bitcoin and every company wants to migrate all its infrastructure (which is obviously made of hundreds of microservices) to show how cool they are.</description>
    </item>
    
    <item>
      <title>Hello, world!</title>
      <link>https://blog.nodraak.fr/2018/04/hello-world/</link>
      <pubDate>Sun, 08 Apr 2018 00:00:00 +0000</pubDate>
      
      <guid>https://blog.nodraak.fr/2018/04/hello-world/</guid>
      <description>I&amp;rsquo;ve been thinking about starting a blog since a long time, and I finally took the time to think about it and set up one. The only thing missing now is content!
Let me introduce myself and what my plans for this blog are (ie. what you might find here if you come back later). I will also quickly present the tech stack I am using, but I will probably make a more complete description in an upcoming article.</description>
    </item>
    
  </channel>
</rss>
