January 13, 2026
Who am I?: Hi! My name is Patrick. I was born and raised in Gothenburg, on the Swedish West Coast. I’m a trained Computational Linguist, specializing in Large Language Models (LLM) and Agentic Artificial Intelligence. I’m passionate about building systems that are simple, have few parts, are easy to maintain, and very fast. I’m looking for my first professional developer role. I have several years of experience in developing Open Source Software.
Read more
In production financial systems, security is paramount. FIX messages often contain sensitive trading information that must be protected during transmission. TLS (Transport Layer Security) provides the cryptographic foundation for secure FIX communication. This post explores building a TLS-enabled FIX acceptor using miniFIX, focusing on security best practices for financial applications.
Simple Open Framing Header (SOFH) is a lightweight framing protocol often used to wrap FIX messages for reliable transport over TCP connections. When building high-throughput financial systems, combining SOFH framing with async Rust provides excellent performance characteristics. This post demonstrates how to build a SOFH-enabled TCP server using miniFIX and Tokio.
Modern trading systems require interactive, user-friendly interfaces that can handle real-time market data and order management. This post explores building an interactive trading client using miniFIX with Tokio for async operations, combined with a command-line interface for trader interaction.
Modern financial systems often need to work with multiple message formats. While FIX is the standard for electronic trading, many systems also use JSON for APIs, configuration, testing, and integration with web-based interfaces. miniFIX provides seamless conversion between JSON and FIX tag=value formats, enabling flexible system architectures.
While standard FIX specifications (4.0, 4.1, 4.2, 4.4, etc.) cover most trading scenarios, many organizations need custom fields and message types. Exchanges like Coinbase often extend FIX with proprietary fields for their specific business needs. miniFIX supports custom specifications through QuickFIX XML format and provides code generation capabilities to create type-safe Rust definitions.
While decoding FIX messages is essential for processing incoming data, encoding messages is equally important for sending orders, confirmations, and other trading instructions. miniFIX provides a powerful, type-safe encoder that makes creating FIX messages straightforward while maintaining the performance and reliability needed for financial applications.
In real-world trading applications, FIX messages often arrive as continuous streams over network connections. Unlike processing individual complete messages, streaming scenarios require handling partial messages, buffering incomplete data, and parsing messages as they arrive. miniFIX provides excellent support for streaming FIX message decoding.
The Financial Information eXchange (FIX) protocol is the backbone of electronic trading in financial markets. If you’re building trading systems in Rust, miniFIX provides a modern, type-safe way to work with FIX messages. In this post, we’ll explore how to decode FIX messages using miniFIX’s powerful decoding capabilities.
Intro to a comprehensive blog post tutorial series covering all aspects of the miniFIX Rust crate, from basic usage to advanced production scenarios.
Having spent considerable time looking for information on this format - which is still under development - I decided to compile my own version of the specification.
Just something I read and found interesting.
Just something I read and found interesting.
August 20, 2025
Agents
Just something I read and found interesting.
Having spent considerable time with mathematics, Python, and reading up on Ai, I wanted to spend the next couple of weeks revising my Rust knowledge, from the ground up. I’ll be writing short posts everyday where I cover the language, idiomatic patterns, and interesting crates. This series is inspired by one of my favorite artists, Beeple, who creates a piece of art everyday - hence the title of this series (Rust: Everyday).
June 22, 2025
MATHML
This summer I will be reading the book Mathematics for Machine Learning, by marc Peter Deisenroth, A. Aldo Faisal, and Cheng Soon Ong. As one reviewer stated ‘This book provdides great coverage of allthe basic mathematical concepts for machine learning.’. The book has 12 chapters, and my goal is to read one chapter each week.
I recently coded a tiny Rust library, implementing a cryptographic idea in an old paper which had caught my interest. This post is my way of cementing my understanding of the concepts in the paper which I found difficult to grasp.
A quick, non-scientific, look at how we might estimate the number of squarings modulo n that a computer can perform per second.
Exploring how to use Bitcoin block hashes as time-dependent keys for encrypting messages that can only be decrypted after a specific block is mined.
TypeState is a powerful design pattern that we can use to provide compiletime checks based on the state of things. This post is my way of writing about what I’m learning with the hopes that it’ll stick better.