Sami Badawi
@samibadawi
Coder monkey 🐒 - aerospace amateur 🚀
Scary microcontroller bug 🐛 Arduino Mega just died during pressure test, with 80 bars of pressure on the tank 😅
@unison-lang.org v 1.0 passes my language readiness criteria * Good language server support * Trivial to make a word frequency program with tests It's mind blowing 🤯 to program with code fragments, instead of projects of files. Very composable. Promising, but hard to imagine its effect on DevOps
The rumours were true: Installing and setting up Haskell in 2025 is a breeze. Install ghcup. Use that to install ghc, Cabal and HLS. #Haskell feels ergonomic and modern. Took an hour from start till I had made my sample app with unit tests in VS Code.
Lean 4 is a theorem prover that has been adapted by working mathematicians. But it is also a nice Haskell style programming language. Solid with good tooling. I was productive right away.
Microprocessors are messy 😵💫 Tried many abstractions to simplify, but I surrendered and embraced bare metal and embedded C. Annoying to read a 300 page pdf datasheet in order to program a microprocessor, but it's better than leaky abstractions. europe1.discourse-cdn.com/arduino/orig...
Is Mojo 🔥 Ready? Documentation states 2 heavy dependencies: * Pixi tool recommended * Needs Ubuntu 22.04 LTS on Linux I installed Mojo with uv tool, that worked on nightly build ✅ Compiled Conway's Game of Life on Fedora, it segfaulted, but worked after fixing Pygame bindings ☑️ Is that ready? 🤔
Mojo is the most promising new programming language. It combines ideas from C++, CUDA, Python, Rust, and Zig. 🐍 Last year it was too alpha, but I took a second look. The Mojo tutorial example is Conway's Game of Life. I got it compiled and running in around 1 hour. Impressive. ✨
Replacing burned out spark igniter, with glow plug, before next static engine test
Post mortem for a spark igniter, which malfunctioned when engine hit 1300 degrees celsius, during static engine test.
I wondered how the Isar Aerospace engineers felt about seeing their beautiful new Spectrum rocket crash after 30 seconds of flight. A few of their guidance, navigation and control engineers stopped by on their way back from Andøya, Norway, and went out for beers. They looked genuinely happy. 😃
Spectrum flew for 30 seconds. 😅 Nobody was surprised or judgemental about the crash. Failure is part of the job. One of the engineers argued that they should have failed earlier.
Watched the first launch of the Isar Aerospace Spectrum rocket with several rocket engineers. They cheered at take off. Isar Aerospace chief executive had said that he would be happy with a 30 seconds flight.
But pose-estimation app is quite complex, built in layers by Conan, CMake, Ninja and compiler. Using Heavyweight libraries OpenCV and TensorFlow. See in dependency graph below 😱 Fine when the abstractions are not leaky, but I spent a lot of time troubleshooting the app due to a corrupted XCode
I got pose-estimation, Conan 2's computer vision example to build from same CI script on Mac and PC 🔨 cd examples/libraries/tensorflow-lite/pose-estimation cp -r ../../../../test . python ci_test_example.py ./pose-estimation Never thought I would see easy C++ cross platform builds. 🤩
More tests of C++ package manager Conan 2. Computer vision example using OpenCV and TensorFlow also worked on Windows! Commands build and run: cd examples\libraries\tensorflow-lite\pose-estimation Copy-Item ..\..\..\..\test . -Recurse python.exe .\ci_test_example.py .\Release\pose-estimation.exe
Slowed down by conflicting #microcontroller advice 😵💫 Use * Arduino Mega with Atmel studio * ESP32 with PlatformIO and RTOS * Raspberry Pi Pico * CMake and C++ I experimented and had luck with PlatformIO, RB Pico; Arduino Uno, Mega and Nano. Finally I got my digital 🧑💻 foot in the analog door ⚡
Retooling again 🛠️ It was more fun than relearning CMake 🥱 or configuring Kubeflow on AWS 😱
Luckily I could clean up my sloppy welding with an angle grinder. Hope my steel work 👷 does better than my acrylics 🧑🎨 😅
Today I welded steel and it felt like when I started painting with acrylics. 🎨 Acrylics were supposed to be durable with smooth transitions and endless painting on top. To me they were hard to mix and dull. At my 1st MIG welding, the steel melted and became sticky, boiling chewing gum at 1300° C.