I am someone who genuinely enjoys digging into complex processes — understanding how things work, where the friction is, and how it could be better. Computers and software development have been a constant thread through my life, not as a career label but as a deep interest that never wore off.

I also care about the human side. I like talking to people, exchanging ideas, and finding solutions together. The best outcomes I have been part of came from understanding a problem thoroughly before touching any code — often that meant sitting with the people who actually lived with the process day to day.

Aviation EFB and EFF software is where those interests happen to converge. Over more than 20 years I have worked across the full chain — from ARINC standards and dispatch systems to the iPads in the cockpit — and I find the domain genuinely interesting. This site is a place to share what I have picked up along the way, in the hope that it is useful to others working in the same space.

Background

I hold a Diploma in Mechanical Engineering with a specialisation in Manufacturing Technology — a foundation that shaped my approach to software: precision, structure, and a healthy respect for the machine underneath.

My interest in computing began long before professional software development. Starting on a Commodore VIC-20, I progressed through the Commodore 64 and the Amiga line (500, 2000, and 3000). I began with BASIC on the VIC-20, but quickly moved to 6502 and 68000 assembly language — drawn by the performance headroom and, frankly, by the demands of writing games. Writing demos and games in assembler on those machines gave me a deep intuition for memory layout, CPU cycles, and the cost of every instruction that I still draw on today.

In the mid-1990s I transitioned to C and later C++, moving with the industry toward more portable, structured systems code. Around the same time I settled on Linux and macOS as my primary platforms — a choice I have not revisited. I work with Windows in professional contexts without difficulty, but the Unix philosophy of composable, transparent tooling has always matched the way I think about systems.

Following the release of the iPad in 2010 I added Objective-C to my toolkit for iOS and iPadOS application development.

Today my primary language is Rust. It combines the performance and control of systems-level programming with a modern type system, a first-class async runtime, and a compiler that catches entire categories of bugs at build time. The fact that Rust is now an officially supported language for Linux kernel development is, to me, a confirmation rather than a surprise.

Domain Expertise

Technology Stack

Primary language: Rust (async/await, Axum, Tokio, SQLx, serde, quick-xml, utoipa)

Database: PostgreSQL 16 — parameterized queries, multi-tenant row-level isolation, schema migrations via SQLx

Observability: Grafana 13, structured logging, denormalized fact tables for analytics dashboards

Frontend: React + TypeScript + Vite, deck.gl for route map visualization

Infrastructure: Docker, docker-compose, Linux (Debian/Ubuntu, 20+ years), shell scripting, webhook-driven event delivery

CLI tooling: ratatui (terminal UI), Clap (CLI parsing), blocking and async reqwest

Earlier languages: C, C++, Objective-C, 68000 & 6502 assembly, BASIC

Selected Projects

pps-api — Multi-tenant REST gateway for PPS EFB. Proxies live SOAP calls, maintains canonical flight records in PostgreSQL, powers Grafana analytics dashboards, and ships with a ratatui TUI and a React route map.

aviant — ARINC 633 EFF briefing platform. EFF package ingestion, folder-tree navigation derived from eff.xml, and document delivery for flight crews.

Contact

Email: dirk.leese@tuxware.de

If something on this site prompted a question or you want to discuss a topic in depth, feel free to write. I am not looking for work — just happy to talk about aviation software with people who work in the same space.