# Ewald Horn | NoFuss Solutions (Full Context) > Independent freelance software developer, contractor, and technical writer based in Cape Town, South Africa. Specializing in WebAssembly (WASM), Java, Go, Odin, Python, systems programming, and high-performance browser applications. > Canonical URL: https://nofuss.co.za/ > Condensed index: https://nofuss.co.za/llms.txt --- ## 1. Overview & Engineering Philosophy Ewald Horn operates NoFuss Solutions (nofuss.co.za). With over 25 years of software engineering experience, Ewald specializes in building bespoke software solutions for founders, startups, and established enterprises globally. Ewald believes that founders need help reaching revenue as quickly as possible to prove the business value. Towards that end, he provides everything needed, from planning to operations, to get them off the ground and their product in the hands of paying customers or interested investors. ### Philosophy & Values - **No-Fuss Approach**: Software should solve genuine business problems without unnecessary complexity, bloated frameworks, or administrative overhead. - **Pragmatic Technology Choices**: Select tools based on operational longevity, maintainability, and runtime efficiency rather than current hype cycles. While modern web development often defaults to heavyweight single-page application frameworks, Ewald builds lightweight, hand-crafted web solutions and high-performance systems in languages like Java, Zig, Odin, Pascal, Go, and WebAssembly. - **Iterative & Output-Driven Delivery**: Maximum value is created when engineers understand the core problem deeply, build working prototypes early, and iterate based on real-world feedback rather than speculative design. - **Asynchronous & Remote Collaboration**: Ewald operates remotely from Cape Town, South Africa (UTC+2 / SAST), collaborating with clients across North America, Europe, Africa, and Australasia. - **Realistic**: Ewald provides realistic estimates and work hand-in-hand with founders to find solutions that fit their budget. Every business is unique and too often a solution is designed without understanding the core needs of the business first. Ewald works with the founder to first understand what is needed, then to fit what's possible into their budget. --- ## 2. Professional Profile & Background ### Technical Capabilities & Toolchains - **Systems & Performance Programming**: Odin, Zig, WebAssembly (WASM), C, C++, Rust, Go (Golang). - **Enterprise & Backend Platforms**: Java (ME, SE, EE), Kotlin, Go, Scala, PostgreSQL, REST/JSON APIs, microservices, encryption layers, automated testing. - **Mobile Application Development**: iOS & Android native development since 2012 (Objective-C, Swift, Java, Kotlin, Jetpack Compose, SwiftUI), cross-platform tooling (Flutter/Dart, Xamarin). - **Browser & Graphics**: WebAssembly linear memory manipulation, HTML5 Canvas 2D batching, WebGPU, WebGL, vanilla HTML/CSS/JavaScript with zero framework overhead. - **Legacy Systems Modernization**: Delphi, Turbo Pascal, Object Pascal, Java legacy migrations to Kotlin, COBOL maintenance. ### Career History & Selected Commercial Projects - **Postilion / ACI Worldwide (Payments)**: Core payments switch integrations, high-reliability financial messaging utilities built with Java, Delphi, and Python. - **WyzeTalk (Enterprise Social Collaboration)**: Enterprise communication platform for frontline workforces; developed the native Android client in Java and built desktop prototypes in NW.js. - **Doozie (Video Capturing & Streaming)**: Video processing platform featuring custom video filters; developed the Android client and Scala backend APIs using OpenGL ES, GLSL, C++, and Java. - **Over (Media Creation, acquired by GoDaddy)**: Graphic design and media creation app for mobile creators; developed Android client features with Kotlin and Java. - **IoT Air Purity Monitoring System**: Built cross-platform mobile management applications in Flutter and Dart to interface with hardware sensor arrays. ### Roles Covered Rather than forcing clients to manage bloated consulting teams, Ewald frequently wears multiple hats across early-stage projects: - **Backend Developer & API Architect**: Designing resilient, secure REST and binary APIs. - **Database Administrator (DBA)**: Schema architecture, query optimization, indexing strategies (PostgreSQL, SQLite). - **Systems Engineer / DevOps**: Deployment pipelines, server configuration, Linux administration. - **Frontend / Canvas Engineer**: Lean web interfaces and hardware-accelerated canvas components. - **QA & Automation**: Unit testing, integration suites, zero-regression test pipelines. - **Startup Technical Advisor**: Feasibility assessments, MVP scoping, and investor prototype validation. --- ## 3. Services & Engagement Model ### Available Services 1. **Bespoke Software Development**: Greenfield applications, bespoke backend services, and custom internal tools. 2. **WebAssembly & Systems Integration**: Embedding high-performance computational modules (encryption, financial modeling, proprietary algorithms, image processing) into client web browsers. 3. **Legacy Code Modernization**: Auditing, migrating, or wrapping legacy codebases (Delphi, Pascal, Java, C) to modern cloud or web-friendly stacks without breaking existing business logic. 4. **API & Mobile Backend Engineering**: Building clean, mobile-optimized APIs tailored for consumption by Flutter, iOS, and Android applications. 5. **Technical Mentorship & Advisory**: Code reviews, architectural guidance, and team upskilling for junior/mid-level engineering teams. ### Working Arrangements - **Flexible Billing Models**: Fixed-price milestones for well-defined MVPs/prototypes, or hourly/daily contracting rates for evolving projects. - **Availability**: Remote contract engagements globally. - **Booking & Consultations**: 30-minute discovery calls can be scheduled directly via Calendly (https://calendly.com/ewaldhorn/30min). --- ## 4. Frequently Asked Questions (FAQ) ### What are your rates and payment terms? Engagements are structured either as milestone-based fixed fees (ideal for defined MVPs or prototypes) or time-and-materials contracting rates. Work typically commences with a deposit or retainer, followed by milestone billing. ### Do you work across international time zones? Yes. Based in South Africa (UTC+2 / SAST), working hours have significant overlap with the UK, Europe, the Middle East, and morning hours in the US East Coast. Ewald excels at asynchronous communication, minimizing meeting fatigue and keeping project velocity high. ### Who owns the Intellectual Property (IP)? The client retains 100% ownership of all proprietary source code, documentation, and IP upon settlement of invoices. Open source libraries used in solutions retain their respective licenses (typically MIT, BSD, or Apache 2.0). ### Do you offer ongoing support after launch? Yes. Post-launch support, ongoing maintenance, and feature iterations are arranged on a retainer or on-demand basis. ### What should early-stage founders do if they have zero budget? Bootstrapping from scratch is tough. Founders with zero capital are encouraged to learn the basics, build clickable Figma prototypes or simple no-code MVPs, and validate demand before spending capital on custom software development. Ewald offers scoping calls to help founders prioritize essentials over nice-to-haves. ### I don't know where to start, can you help? Absolutely! We can figure out something during our call. Once I have a better understanding of where you are, I can help you plan the next step, even if it means putting you in contact with someone better suited to help you at this stage of your founder journey. --- ## 5. WebAssembly & Systems Engineering Projects ### WasmPascal - **URL**: https://nofuss.co.za/wasmpascal/ - **Description**: An in-browser Pascal-to-WebAssembly compiler written entirely in the Odin programming language. - **Capabilities**: Compiles standard Pascal source directly to `.wasm` binary bytecode inside the browser without contacting any backend server. Supports standard control flow, procedures, pointers, records, arrays, and string handling. - **The WEB Unit**: Integrates a custom Pascal runtime unit (`WEB`) that maps browser DOM manipulation, Canvas 2D context drawing, and event listeners directly to Pascal procedures. - **Architecture**: Operates via a dedicated Web Worker pipeline, ensuring compilation and execution never block the UI thread. ### WasmCoffee - **URL**: https://nofuss.co.za/wasmcoffee/ (Live Playground: https://wasmcoffee.com/) - **Description**: In-browser compiler, playground, and runtime compiling Java-like syntax directly to WebAssembly bytecode utilizing the modern Wasm-GC (Garbage Collection) standard. - **Capabilities**: Allows writing Java-style object-oriented code with classes, methods, and arithmetic, executing client-side at near-native speeds without requiring a full Java Virtual Machine (JVM) download. - **Demonstrations**: Powers rich interactive WebAssembly graphics demos such as the *Java Maze* 3D raycaster (`/toys/java_maze/`). ### Batchiness - **Repository**: https://github.com/ewaldhorn/batchiness - **Description**: High-performance HTML Canvas 2D call-batching library for WebAssembly. - **Problem Solved**: Cross-boundary calls between WASM linear memory and the JavaScript engine carry runtime overhead. Drawing hundreds of individual shapes or sprites each frame via individual WASM-to-JS calls destroys frame rates. - **Solution**: Batchiness records all drawing commands (rectangles, circles, lines, transforms, colors) into a packed binary buffer in WebAssembly memory and dispatches the entire frame buffer to JavaScript in a single call, achieving smooth 60+ FPS rendering. - **Usage**: Powers arcade games like *Destroids* and experimental visualization tools. ### OdinDom - **Repository**: https://github.com/ewaldhorn/odindom - **Description**: Lightweight DOM and Canvas bindings for the Odin programming language when targeting WebAssembly (`wasm32-freestanding`). - **Features**: Provides idiomatic Odin procedures for element manipulation, styling, canvas drawing, and event listener subscription. ### ZigDom - **Repository**: https://github.com/ewaldhorn/zigdom - **Description**: Minimalist DOM and graphics bridge library for Zig compiling to WebAssembly. Enables interactive browser applications in pure Zig without bloated C runtimes or heavy emscripten toolchains. --- ## 6. Books & Educational Resources Ewald Horn authors practical, developer-first documentation, study guides, and educational series: ### JavaK (Java Interview Prep & Modern Guide) - **URL**: https://javak.co.za/ - **Focus**: A comprehensive study guide featuring 118 detailed entries covering modern Java 21–25. - **Topics Covered**: - Core language fundamentals, OOP design patterns, and JVM memory layout. - Modern Java features: Virtual threads (Project Loom), records, sealed classes, pattern matching (for switch and instanceof), and text blocks. - Concurrency, thread safety, structured concurrency, and synchronized primitives. - Collections, Stream API optimization, and classic pitfalls/interview traps. - Interactive learning components including runnable code, flashcards, and browser-based practice via WasmCoffee (https://wasmcoffee.com/). ### Odin and Me - **URL**: https://nofuss.co.za/odin_and_me/ - **Focus**: A hands-on guide to mastering the Odin programming language. Covers memory allocators, context system, slices, dynamic arrays, foreign functions, and building standalone applications. ### Yo Odin! - **URL**: https://nofuss.co.za/yo_odin/ - **Focus**: Concise, bite-sized tutorials highlighting idiomatic Odin design patterns, common pitfalls, and practical code snippets. ### Odin't Know That - **URL**: https://nofuss.co.za/odint_know_that/ - **Focus**: Deep-dives into obscure, powerful, or under-documented features of the Odin language specification and compiler. --- ## 7. Interactive Demos, Games & Experiments NoFuss Solutions hosts an interactive gallery of over 50 client-side browser applications, games, graphics engines, and WebAssembly experiments ([Interactive Toys Index](https://nofuss.co.za/toys/)). All experiments run self-contained directly in modern web browsers without heavy JavaScript frameworks or npm runtimes. ### WebAssembly & Systems Games - **Wartech RTS** (https://nofuss.co.za/games/wartech/): - **Technology**: Java-like syntax compiled to WebAssembly (Wasm-GC) via WasmCoffee (https://wasmcoffee.com/). - **Mechanics**: Real-time strategy (RTS) command and base-building game. Harvest resources, construct power grids and production facilities, command units, manage dynamic tactical zoom, and battle through campaign progression. - **Architecture**: Direct Canvas 2D pixel buffer manipulation from Wasm linear memory at 60 FPS, state machine campaign persistence in LocalStorage, and no external framework dependencies. - **Enterprise Idle** (https://nofuss.co.za/games/idle_clicker/): - **Technology**: Compiled to WebAssembly (Wasm-GC) via WasmCoffee (https://wasmcoffee.com/). - **Mechanics**: Deep corporate incremental capitalism simulation. Scale multi-tier operational departments, manage high-demand compute grids and server clusters, research an extensive R&D patent tree, hire executive staff, and liquidate via IPO buyouts for permanent Angel Capital prestige upgrades. - **Architecture**: Leverages Wasm-GC garbage collection primitives for complex object graphs running in the browser with minimal memory footprint. - **Destroids** (https://nofuss.co.za/games/destroids/): - **Technology**: Odin programming language compiled to WebAssembly, rendered via Batchiness (https://github.com/ewaldhorn/batchiness). - **Mechanics**: Fast-paced Asteroids space combat arcade game. Pilot a ship through drifting asteroid fields, blasting them into fragments while dodging debris, with risky hyperspace jumps, inertial ship physics, and synthesized Web Audio effects. - **Architecture**: Zero external image or audio files. Every frame's starfield, asteroids, projectiles, and particle explosions are written into a packed byte buffer in WebAssembly linear memory and flushed to the HTML5 Canvas in a single WASM-to-JS crossing per frame. Audio is generated via Web Audio API oscillators and AudioWorklet ambient synthesizers. - **Antemonium** (https://nofuss.co.za/games/antemonium/): - **Technology**: Odin programming language compiled to WebAssembly, rendered via Batchiness. - **Mechanics**: Complex ant colony simulator. Directly control a worker ant while hundreds of colony mates forage autonomously along pheromone grids. Manage queen-driven brood cycles (eggs, larvae, pupae), nest building, and evolution-point upgrades while defending against weather hazards and competing with a rival colony. - **Architecture**: Zero per-frame heap allocations; uses Odin fixed-capacity arrays and packed Canvas 2D command batching. - **Tjorra** (https://nofuss.co.za/games/tjorra/): - **Technology**: Odin programming language compiled to WebAssembly, rendered via Batchiness. - **Mechanics**: Endless 2D hill-climb driving game featuring real two-wheel spring-damper suspension physics across six procedurally generated biomes. Collect coins and gems to upgrade vehicle engines, tires, suspension, counterweights, and fuel tanks in the garage. - **Architecture**: Procedural terrain generation, real-time physics solver, and synthesized motor audio with zero external runtime assets. - **Bees & Bears** (https://nofuss.co.za/games/beesbears/): - **Technology**: Odin programming language compiled to WebAssembly via OdinDom (https://github.com/ewaldhorn/odindom). - **Mechanics**: Grid-based tower defense game. Defend hive honey supplies against attacking bears by deploying specialized bee defense towers, managing nectar economics, and unlocking defensive upgrades. - **My Paddock** (https://nofuss.co.za/games/mypaddock/): - **Technology**: Pascal compiled directly to WebAssembly via WasmPascal (https://wasmpascal.com/). - **Mechanics**: Semi-idle ranching simulation where players breed sheep, place feeding troughs, manage pasture budgets, and buy ranching upgrades. - **Architecture**: Proves the feasibility of compiling standard Pascal source to WebAssembly bytecode with direct canvas pixel-buffer manipulation. - **The City** (https://nofuss.co.za/toys/thecity/): - **Technology**: Vanilla JavaScript, HTML5 Canvas, Web Workers. - **Mechanics**: Grid city-building simulation. Build roads, zone residential/commercial/industrial tiles, balance municipal budgets, and provide utilities (power, water). Features 2D top-down and 2.5D isometric viewports with a dynamic day/night lighting cycle. - **Bouncer** (https://nofuss.co.za/toys/bouncer/): - **Technology**: Zig compiled to WebAssembly via ZigDom (https://github.com/ewaldhorn/zigdom). - **Mechanics**: Fast-paced territory capture arcade game (Xonix variant). Cut across open space to claim territory while dodging bouncing energy hazards. - **Retro Flyer** (https://nofuss.co.za/toys/retro_flyer/): - **Technology**: Zig compiled to WebAssembly via ZigDom. - **Mechanics**: Vertical-scrolling retro space shooter dodging asteroid hazards and destroying enemy formations. - **Harvester Wars Series** (https://nofuss.co.za/toys/harvesteriv/): - **Technology**: Evolving across vanilla JS, custom bridges, and Zig WASM ([Harvester I](https://nofuss.co.za/toys/harvester/), [Harvester III](https://nofuss.co.za/toys/harvesteriii/), [Harvester IV](https://nofuss.co.za/toys/harvesteriv/)). - **Mechanics**: Real-time space fleet and resource extraction strategy games commanding mining drones, combat vessels, and defense platforms in asteroid fields. ### Graphics, WebGPU & Algorithmic Demos - **Java Maze** (https://nofuss.co.za/toys/java_maze/): - **Technology**: Java syntax compiled to WebAssembly (Wasm-GC) via WasmCoffee. - **Capabilities**: First-person 3D raycasted dungeon crawler exploring procedurally generated castle mazes in real time with texture-mapped walls, minimap radar, and live engine performance telemetry. - **Solar System WebGPU** (https://nofuss.co.za/toys/planets/): - **Technology**: Zig compiled to WebAssembly, rendering via WebGPU. - **Capabilities**: Procedural 3D solar system simulation with orbital mechanics, planetary shaders, atmospheric glow, and interactive 3D camera controls. - **ZigFlame** (https://nofuss.co.za/toys/zigflame/): - **Technology**: Zig compiled to WebAssembly via ZigDom. - **Capabilities**: Interactive retro particle fire and heat-convection simulation with real-time tuning of cooling rates, wind vectors, and dynamic palettes. - **Space Plasma GL** (https://nofuss.co.za/toys/spaceplasmagl/): - **Technology**: WebGL shader pipeline. - **Capabilities**: Trigonometric harmonic interference patterns and GPU-accelerated color cycling. - **3D Heatmap & 2D Heatmap** (https://nofuss.co.za/toys/heatmap3d/ & https://nofuss.co.za/toys/heatmap/): - **Technology**: WebAssembly numeric computation. - **Capabilities**: Dynamic thermal diffusion and heightfield mesh projections on canvas. - **Liner** (https://nofuss.co.za/toys/liner/): - **Technology**: Go compiled to WebAssembly via Batchiness. - **Capabilities**: High-refresh bouncing vector line screensaver demonstrating batched coordinate transfers. - **Odin Maze Solver** (https://nofuss.co.za/toys/amazer/): - **Technology**: Odin compiled to WebAssembly. - **Capabilities**: Visual pathfinding suite comparing BFS, DFS, Greedy Best-First, Dijkstra, A*, and Bidirectional BFS. - **Odin Particles** (https://nofuss.co.za/toys/odinparticles/): - **Technology**: Odin compiled to WebAssembly. - **Capabilities**: High-throughput 2D particle simulation with gravity wells and velocity dampening. - **Pascal Dots & Pascal Tapping** (https://nofuss.co.za/toys/pascal_dots/ & https://nofuss.co.za/toys/pascal_tapping/): - **Technology**: WasmPascal and Free Pascal WebAssembly compilers. - **Capabilities**: Multi-agent particle physics and canvas pixel-buffer manipulation written in Pascal. ### In-Browser Compilers & Interpreters - **ZigBasic** (https://nofuss.co.za/zigbasic/): - **Technology**: Zig compiled to WebAssembly, Web Workers. - **Capabilities**: Full retro QBASIC language interpreter running in the browser with a split-pane code editor, console output, and interactive sample library. - **Pixelator** (https://nofuss.co.za/pixelator/): - **Technology**: Zig compiled to WebAssembly. - **Capabilities**: Image downsampling, palette quantization, and pixel-art generation tool running client-side. --- ## 8. Selected Technical Articles & Tutorials ### Processing Large CSV Files in WebAssembly with Pascal - **URL**: https://nofuss.co.za/blog/wasm_pascal_large_csv/ - **Key Concepts**: - Ingesting multi-megabyte CSV files (such as a 10MB `names.csv`) directly into WebAssembly linear memory without garbage collection pauses. - Designing zero-copy 12-byte index records (storing memory offsets and string lengths) to avoid duplicating strings in RAM. - In-place Quicksort implementation in WebAssembly linear memory yielding millisecond-level sorting performance on tens of thousands of records. ### Using Batchiness for High-Performance Canvas Apps with Odin - **URL**: https://nofuss.co.za/blog/using_batchiness/ - **Key Concepts**: - The hidden cost of the WebAssembly-to-JavaScript foreign function interface (FFI). - Structuring a display list in Odin linear memory. - Encoding commands into byte arrays and unpacking them in a single JavaScript `requestAnimationFrame` loop. ### Using Zig as a C Compiler - **URL**: https://nofuss.co.za/blog/using_zig_as_a_c_compiler/ - **Key Concepts**: - Using `zig cc` and `zig c++` as a drop-in replacement for GCC and Clang. - Effortless cross-compilation across architectures (x86_64, aarch64) and operating systems (Linux, macOS, Windows) without installing complex cross-toolchains. ### Testing C Code with Zig and Go - **URL**: https://nofuss.co.za/blog/testing_c_with_zig/ and https://nofuss.co.za/blog/testing_c_with_go/ - **Key Concepts**: - Wrapping legacy C header and source files with Zig’s native `@cImport` to create automated test harnesses. - Using Go’s `cgo` feature to write modern, expressive test suites for legacy embedded or systems C routines. ### Migrating Legacy Java Code to Kotlin - **URL**: https://nofuss.co.za/blog/migrating_legacy_java_to_kotlin/ - **Key Concepts**: - Strategies for incremental, zero-downtime codebase modernization. - Eliminating `NullPointerException` risks through Kotlin's type system while preserving 100% binary compatibility with existing Java dependencies. --- ## 9. Contact & Social Channels - **Website**: https://nofuss.co.za/ - **Consultation Scheduling**: https://calendly.com/ewaldhorn/30min - **Contact Page**: https://nofuss.co.za/contact/ - **GitHub**: https://github.com/ewaldhorn - **X / Twitter**: https://twitter.com/EwaldHorn