Tweede golf Blog Zola
Rust for systems, web, and embedded
- Posts
- 156 from 19 Jan 2015 to 27 Oct 2026
- Posting
- monthly (15 in the last year)
- Kind
- company blog
- Feed
- https://tweedegolf.nl/feed.xml
2026 12
- Finding panics with Call Graph Analyzer
- Using TrustZone-M in Rust on the Raspberry Pi Pico 2
- PoC for universal hardware-in-the-loop HAL test suite
- Developing CRA-compliant products with us
- Are we mainstream yet? Takeaways from the RustWeek Industry Track
- Contributing to Dutch election software at RustWeek 2026
- Async Rust never left the MVP state
- Debloat your async Rust
- Fixing our own problems in the Rust compiler
- Video: Building openleadr-rs for real-world demand response (FOSDEM 2026)
- How we built Remails: a European Mail Transfer Agent
- Video: sudo-rs and beyond (Ubuntu Summit 25.10)
2025 21
- Emulating avx-512 intrinsics in Miri
- A quick intro to Merkle Tree Certificates
- Running real-time Rust
- Fixing rust-lang stdarch issues in LLVM
- Talk about memory safety at ONE Conference
- Rust Meets the Grid: Building openleadr-rs for Real-World Demand Response
- Embedded async debugging and inspect-embassy
- Update on our advocacy for memory safety
- Building a gamified learning tool for healthcare professionals
- Reconstructing lost data from parity blocks
- Exception handling in rustc_codegen_cranelift
- Putting seat calculations in Dutch election software to the (fuzz) test
- SIMD in zlib-rs (part 2): compare256
- What is my fuzzer doing?
- Does using Rust really make your software safer?
- SIMD in zlib-rs (part 1): Autovectorization and target features
- Translating bzip2 with c2rust
- zlib-rs is faster than C
- Mix in Rust with Java (or Kotlin!)
- OpenLEADR 3.0: Initial Traction and Future Plans
- The hunt for error -22
2024 31
- Power consumption of an experimental webserver
- Travelling to the land of the rising sun with Statime
- Manipulating time through (S)NTP
- Rust implementation of OpenADR 3.0 becomes part of OpenLEADR
- Rust needs an official specification
- Enabling pools in NTS
- Rust is rolling off the Volvo assembly line
- ISPCS paper: Estimating noise for clock-synchronizing Kalman filters
- Rust interop in practice: speaking Python and Javascript
- Mix in Rust with C++
- Mix in Rust with Python: PyO3
- Current zlib-rs performance
- Mix in C with Rust: A taste of C in your Rust
- Mix in Rust with C: Delegating FFI definitions to Diplomat
- Statime vs Linux PTP: Comparison of precision
- Will Rust be alive in 10 years?
- Want more Rust? Break the cycle!
- Tock binary size
- Mix in Rust with C
- Authentication for PTP
- Mix in Rust
- A safe Internet requires secure time
- Hacking time: how you can control anyone's clock
- Save the planet, code in Rust
- Sudo-rs dependencies: when less is better
- “Software must become safer”, but how?
- Teach-rs: Rust 101 evolved
- Rust in Production at Tweede golf (podcast)
- Sequential-storage: efficiently store data in flash
- Building an Async Runtime with mio
- Rust for hardware vendors
2023 29
- Introducing ntpd-rs metrics
- An unusual tool for unused code
- Implementing NTPv5 in ntpd-rs
- Pendulum long-term goals: usability and security (video)
- ntpd-rs: Folkert explains the project (video)
- Statime continues: Boundary Clocks and Master Ports
- sudo-rs' first security audit
- Why we sponsor memory safety event Tectonics
- Dealing with Dependencies in Rust
- First stable release of ntpd-rs
- Our pixel-rendered planner with a Rust backend
- Are we embedded yet?
- Rust 101's first run at STU Bratislava
- Sovereign Tech Fund invests in Pendulum
- Target practice: ntpd-rs on FreeBSD and other platforms
- Why Rust is a great fit for embedded software - 2023 update
- Our talk at CYSAT 2023
- Report: NTP security audit
- Threat Modelling
- ntpd-rs: NTP for the modern era (video)
- Re-implementing Sudo in Rust (when you want more than just a sandwich)
- Memory Safe Network Time (NTP) Has New Home, Seeks Early Adopters
- Rust at Royal Netherlands Aerospace Centre
- Optimizing a parser/compiler with data-oriented design: a case study
- Introducing MailCrab!
- TrustZone, trials and tribulations
- Mindsort: Building a research tool for the Donders Institute
- Crash! And now what?
- Low power & low frustration (video)
2022 15
- Rust 101: an open-source university course
- Our year in Rust
- Meetup: Rust in open-source critical infrastructure
- Sorting with SIMD
- Pioneering Rust in High Tech
- Implementing the Network Time Protocol (NTP) in Rust
- Using C libraries in your Rust project
- Security headers: How to go from F to A+
- Announcing: Statime, a Rust PTP implementation
- Introducing Rust in security research
- We asked 5 people why they like Embedded Rust
- LoRaWAN Applications in Rust
- Why we replaced Google Analytics with Matomo, and why you should too
- Optimizing Image Processing on the Edge
- Async Rust vs RTOS showdown!
2021 14
- My first weeks at Tweede golf
- Async on Embedded: Present & Future
- Measuring power consumption: sync vs. async
- RP1: an experimental Diesel-based CRUD for Rocket
- Cryptify: your identity ís the key
- How we sped up our GitLab pipelines
- Async and asleep: designing our future embedded applications
- Rise and Shine: Putting the nRF52840 to sleep, and waking it back up
- Cryptographically proving timed validity without showing an expiry date
- Learning Rust, Svelte, and IRMA building a chat application with strong authentication
- The future of the BSN and Dutch identification
- David's first weeks at Tweede golf
- Kubernetes access with your yubikey
- Long range networking with LoRa: an overview
2020 16
- Build your own async primitive
- Safe video conferencing with Jitsi and IRMA
- Potential improvements for Rust embedded abstractions
- Rust will be the Constant in your Life (5/5)
- Functional Rust? (4/5)
- A racing bike with training wheels (3/5)
- Rust wide web (2/5)
- Instant data retrieval from large point clouds
- Rust, my first embedded language (1/5)
- Why is Rust loved? 5 developers, 5 stories
- The promise of Rust async-await for embedded
- Cloud storage simplification and abstraction for Node.js
- Why Rust is a great fit for embedded software
- The persistent microservice
- Making embedded robust with Rust
- Transitioning to a miniservice architecture
2019 6
2018 2
2016 1
2015 9
- Some fun with physics in Three.js
- Adding artificial intelligence to 3D design
- Three.js Collada to JSON converter
- Point Light Shadows In Three.js, part II
- 3D data visualization for geospatial analysis using WebGL and Three.js
- Point light shadows in Three.js
- Threejs rotations
- WebVR and Three.js
- The history of virtual reality