Blog

Field notes.

Engineering writeups, pipeline post-mortems, geek talk, and the occasional opinion on the geospatial stack.

  1. High Performance Async I/O: IOCP vs. I/O Rings - Part III: The Synergy

    High Performance Async I/O: IOCP vs. I/O Rings - Part III: The Synergy

    This is the final article in my three-part series on high-performance asynchronous I/O.

    Martin Chapman

  2. High Performance Async I/O: IOCP vs. I/O Rings - Part II: A Tale of Two Titans

    High Performance Async I/O: IOCP vs. I/O Rings - Part II: A Tale of Two Titans

    Now, I investigate a direct comparison between this "new kid on the block" and the long-standing champion of Windows asynchronous I/O, I/O Completion Ports (IOCP).

    Martin Chapman

  3. High Performance Async I/O: IOCP vs. I/O Rings - Part I: The New Kid on the Block

    High Performance Async I/O: IOCP vs. I/O Rings - Part I: The New Kid on the Block

    IoRingAPI isn't a direct replacement for IOCP, but a specialized tool that provides a new level of performance for device I/O.

    Martin Chapman

  4. Polymorphic Microservices: A Simple Design Pattern for Elegant Adaptation

    Polymorphic Microservices: A Simple Design Pattern for Elegant Adaptation

    We will discuss a design pattern that ensures your microservices are not just portable, but truly adaptive to any environment they are deployed in.

    Martin Chapman

  5. C++26 and The Sender/Receiver Pattern: A Game-Changer for High-Performance Computing

    C++26 and The Sender/Receiver Pattern: A Game-Changer for High-Performance Computing

    With the upcoming C++26 standard, a new asynchronous execution framework, known as the Sender/Receiver pattern, is poised to be a game-changer.

    Martin Chapman

  6. The Physics of Software Development: How Understanding Hardware Architecture Leads to Highly Performant Software

    The Physics of Software Development: How Understanding Hardware Architecture Leads to Highly Performant Software

    Let's talk about why understanding the physical architecture of hardware is a fundamental requirement to good software design in high-performance computing (HPC).

    Martin Chapman

  7. Intel IPP vs. NVIDIA NPP: When Is the CPU a Better Choice Than the GPU?

    Intel IPP vs. NVIDIA NPP: When Is the CPU a Better Choice Than the GPU?

    This isn't a holy war between CPU and GPU, but a practical guide to help you pick the right tool for the job.

    Martin Chapman

  8. Bootstrap vs. Tailwind CSS: A C++ Developer's Journey to Modern Web UI

    Bootstrap vs. Tailwind CSS: A C++ Developer's Journey to Modern Web UI

    The days of desktop-only websites are long gone; to stay relevant, even us "old-timers" need to embrace responsive design to ensure our applications are usable across phones, tablets, and a myriad of other devices.

    Martin Chapman