<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Posts on Matt Bolitho</title><link>https://mattbolitho.github.io/posts/</link><description>Recent content in Posts on Matt Bolitho</description><generator>Hugo -- gohugo.io</generator><language>en-GB</language><copyright>Matt Bolitho</copyright><lastBuildDate>Sat, 27 Jun 2026 07:00:00 +0000</lastBuildDate><atom:link href="https://mattbolitho.github.io/posts/index.xml" rel="self" type="application/rss+xml"/><item><title>Trip Report - ACCU on Sea 2026</title><link>https://mattbolitho.github.io/posts/trip-report-accu-on-sea-2026/</link><pubDate>Sat, 27 Jun 2026 07:00:00 +0000</pubDate><guid>https://mattbolitho.github.io/posts/trip-report-accu-on-sea-2026/</guid><description>Three years after my first live conference at C++ on Sea I returned to Folkestone for the new ACCU on Sea conference, which ran between the 16th and 20th of July.
I am slightly late to posting this owing to a heat dome, which is wreaking havoc all over Europe right now. Luckily, the weather was lovely for the duration of the conference, save for a few showers.
As the name implies, the two biggest UK systems programming conferences (C++ on Sea and ACCU) have merged.</description></item><item><title>(Virtual) Trip Report: C++ Online 2026</title><link>https://mattbolitho.github.io/posts/virtual-trip-report-cpp-online-2026/</link><pubDate>Sun, 15 Mar 2026 08:00:00 +0000</pubDate><guid>https://mattbolitho.github.io/posts/virtual-trip-report-cpp-online-2026/</guid><description>This week I virtually attended C++ Online 2026. The conference ran from the 11th to the 13th of March, with 14 workshops scheduled as far out as May.
Front Matter I attended C++ Online 2025 last year and in terms of the format of the conference, not much has changed since last year. As such, I won&amp;rsquo;t rehash a full description of every aspect of the event here - please refer to the previously linked post for that!</description></item><item><title>Calling Fortran subroutines from Rust</title><link>https://mattbolitho.github.io/posts/calling-fortran-subroutines-from-rust/</link><pubDate>Mon, 13 Oct 2025 00:00:00 +0000</pubDate><guid>https://mattbolitho.github.io/posts/calling-fortran-subroutines-from-rust/</guid><description>I&amp;rsquo;ve been working on some Rust bindings to the COIN HSL Archive - a Fortran package containing solvers for linear equations and finding matrix scaling factors. HSL make some of the best algorithms in this domain, and are they commonly used in large scale nonlinear optimization packages such as Ipopt. The algorithms in the free archive package have largely been superseded by more modern alternatives, but these cost money to acquire.</description></item><item><title>Scientific Computing in Rust 2025 Workshop</title><link>https://mattbolitho.github.io/posts/scientific-computing-in-rust-2025/</link><pubDate>Sat, 21 Jun 2025 20:00:00 +0000</pubDate><guid>https://mattbolitho.github.io/posts/scientific-computing-in-rust-2025/</guid><description>A few weeks ago, I listened to talks from the Scientific Computing in Rust 2025 workshop. Unfortunately, this post is a little late due to a fairly busy month.
I was interested to attend the workshop to gain some insight into the current state of Rust in the science and HPC world. Whilst I am not really something of a scientist myself I am very interested in simulation software which is a domain that I think that Rust is a great fit for.</description></item><item><title>Skipping hardware instruction dependent tests in C#</title><link>https://mattbolitho.github.io/posts/skipping-hardware-instruction-dependent-tests-in-csharp/</link><pubDate>Thu, 08 May 2025 19:00:00 +0000</pubDate><guid>https://mattbolitho.github.io/posts/skipping-hardware-instruction-dependent-tests-in-csharp/</guid><description>When writing tests for a project that uses hardware intrinsics, we face the problem of ensuring that we only run tests that the host hardware supports. I recently ran into this issue for a personal project in C#, and wanted to write a post about it. There is nothing hugely complicated here, but it does allow us to explore hardware intrinsics, standard library API design, and practical testing advice in a single post.</description></item><item><title>(Virtual) Trip Report: C++ Online 2025</title><link>https://mattbolitho.github.io/posts/virtual-trip-report-cpp-online-2025/</link><pubDate>Thu, 13 Mar 2025 21:30:00 +0000</pubDate><guid>https://mattbolitho.github.io/posts/virtual-trip-report-cpp-online-2025/</guid><description>I virtually attended C++ Online 2025, which was my first experience of the conference. The conference ran from the 26th to the 28th February, with workshops scheduled afterwards.
I&amp;rsquo;ve had a lot of (very positive!) life happenings over the last few months which have taken me away from programming, so it was time to dust off the cobwebs with one of the first C++ conferences of the year. It&amp;rsquo;s also the reason this post is nearly two weeks late!</description></item><item><title>(Virtual) Trip Report: Meeting C++ 2024</title><link>https://mattbolitho.github.io/posts/virtual-trip-report-meeting-cpp-2024/</link><pubDate>Mon, 18 Nov 2024 22:30:00 +0000</pubDate><guid>https://mattbolitho.github.io/posts/virtual-trip-report-meeting-cpp-2024/</guid><description>I virtually attended Meeting C++ 2024, which was my first experience of Meeting C++ in any format.
Much like with ACCU earlier this year it was awesome to see another conference with online access. Whilst, in my opinion, the experience from online conferences pales in comparison to in-person attendance, it is great for accessibility. This year I have had more going on than usual, so the cheaper and easier to access online conferences have been useful.</description></item><item><title>Tiny C++ container images with `-static`</title><link>https://mattbolitho.github.io/posts/generating-statics-executables-with-clang/</link><pubDate>Thu, 24 Oct 2024 20:00:00 +0000</pubDate><guid>https://mattbolitho.github.io/posts/generating-statics-executables-with-clang/</guid><description>Both gcc and clang support the -static compilation option. When we pass this option, we are asking the compiler to create a static executable. That is, an executable with no dynamic dependencies.
If we compile a &amp;ldquo;Hello World&amp;rdquo; program both with (with-static) and without (no-static) this option enabled, we can see the difference highlighted by ldd. For reference, I am using clang++-19 with the mold linker on an amd64 based Ubuntu 24.</description></item><item><title>JAL Booking Error: Total length of first name plus last name plus date of birth is too long</title><link>https://mattbolitho.github.io/posts/jal-name-length-error/</link><pubDate>Mon, 16 Sep 2024 20:00:00 +0000</pubDate><guid>https://mattbolitho.github.io/posts/jal-name-length-error/</guid><description>Today my wife and I encountered an error attempting to book flights to Japan on Japan Airlines (JAL). After correctly filling out the passenger details for the desired return journey, we were presented with the following curious error:
Total length of first name plus last name plus date of birth is too long. Please modify your entry and try again. (1160)
We had previously booked directly with JAL on multiple occasions and never had this issue before.</description></item><item><title>Structured Validation Rules in C++</title><link>https://mattbolitho.github.io/posts/structured-validation-rules-in-cpp/</link><pubDate>Sun, 08 Sep 2024 19:00:00 +0000</pubDate><guid>https://mattbolitho.github.io/posts/structured-validation-rules-in-cpp/</guid><description>Validation is a common problem when dealing with any data provided by a user. Even when developing a library, you likely provide custom data types for consuming developers, which are equally (if not more!) untrustworthy.
In a personal project, I was dealing with validating user provided numerical optimization problems. For the sake of brevity in this post, let&amp;rsquo;s assume these problems look like this:
1struct OptimizationProblem 2{ 3 std::vector&amp;lt;double&amp;gt; XLb; 4 std::vector&amp;lt;double&amp;gt; XUb; 5 std::function&amp;lt;double(std::span&amp;lt;double const&amp;gt;)&amp;gt; Eval; 6}; OptimizationProblem contains upper and lower bounds for the primal variables we are optimizing over.</description></item><item><title>A Result type for C#</title><link>https://mattbolitho.github.io/posts/a-result-type-for-csharp/</link><pubDate>Mon, 13 May 2024 20:00:00 +0000</pubDate><guid>https://mattbolitho.github.io/posts/a-result-type-for-csharp/</guid><description>I was recently thinking about optional/result types and how C# doesn&amp;rsquo;t have them natively. I thought I would have a go at implementing a result type myself as a challenge, because I hadn&amp;rsquo;t written any C# for a while. I chose result types specifically because C# has T? for optional types (which aren&amp;rsquo;t perfect) and there are already good functional type libraries out there with optional type implementations.
The end result was at least a little interesting, so I thought I&amp;rsquo;d write a quick post about it!</description></item><item><title>(Virtual) Trip Report: ACCU 2024</title><link>https://mattbolitho.github.io/posts/virtual-trip-report-accu-2024/</link><pubDate>Sat, 20 Apr 2024 17:00:00 +0000</pubDate><guid>https://mattbolitho.github.io/posts/virtual-trip-report-accu-2024/</guid><description>This week, I virtually attended ACCU 2024.
Notwithstanding the normal benefits of in-person conference attendance, being a Somerset native who grew up about 30 miles from Bristol, I was especially gutted to not be able to attend in person. Hopefully, I&amp;rsquo;ll have the opportunity to attend a conference in person soon!
Because I didn&amp;rsquo;t actually go to the conference, this virtual trip report will mainly focus on the talks I went to, because that was basically the only part of the conference I experienced!</description></item><item><title>vcpkg with libc++</title><link>https://mattbolitho.github.io/posts/vcpkg-with-libcxx/</link><pubDate>Wed, 17 Apr 2024 08:00:00 +0000</pubDate><guid>https://mattbolitho.github.io/posts/vcpkg-with-libcxx/</guid><description>I have been using vcpkg for a few C++ projects recently. Over the last few months or so, I have mostly been switching over to LLVM tools for my personal C++ projects.
One small pain point is that, if you link against libc++ with your consuming project that links against libraries from vcpkg, you will almost certainly get linker errors. This is because vcpkg will link libraries against libstdc++ by default and, because your project uses libc++ instead, you will get undefined symbols.</description></item><item><title>Configurable devcontainers with Docker targets</title><link>https://mattbolitho.github.io/posts/configurable-devcontainers-with-docker-targets/</link><pubDate>Sun, 04 Feb 2024 10:00:00 +0000</pubDate><guid>https://mattbolitho.github.io/posts/configurable-devcontainers-with-docker-targets/</guid><description>🎊 Happy New Year! 🎊
A bit late to the party, but this is my first post of 2024 so if you&amp;rsquo;re reading this: I hope you have a great year!
This weekend, I found out about the build.target property in devcontainer.json files and it filled in a massive knowledge gap for me: adding conditional logic in your devcontainer image.
This could be useful when:
You have a monorepo and the projects have slightly differing requirements for their development environments.</description></item><item><title>Event Report: .NET 8 Launch Party at Williams F1</title><link>https://mattbolitho.github.io/posts/event-report-dotnet-8-launch-party-at-williams-f1/</link><pubDate>Tue, 28 Nov 2023 18:00:00 +0000</pubDate><guid>https://mattbolitho.github.io/posts/event-report-dotnet-8-launch-party-at-williams-f1/</guid><description>Tonight I made my first visit to .NET Oxford for their .NET 8 launch party at the Williams F1 Experience Centre!
It has been a while since I have done any serious C# programming, but there are are definitely a lot of interesting developments in that space. I am especially interested to see how AOT compilation and Profile-Guided Optimization (PGO) can be used to generate some lean, high performance C# programs.</description></item><item><title>Compile Time 'Hashing' in C++</title><link>https://mattbolitho.github.io/posts/compile-time-hashing-in-c++/</link><pubDate>Sat, 07 Oct 2023 07:00:00 +0000</pubDate><guid>https://mattbolitho.github.io/posts/compile-time-hashing-in-c++/</guid><description>This post is an amalgamation of a couple of previous posts that have been deleted and merged together for cleanliness and conciseness.
Hashing C++ types as compile time identifiers (2023-08-09) Improving constexpr hashing and iteration (2023-08-31) A few months ago, I started looking into compile time hashing in C++. The main reason for this, was wanting a way to identify components in a system at based on their types. This is a pattern that had been used in a previous role, and I found the code that we ended up with being very easy to read and understand.</description></item><item><title>Efficient, configurable functions with constexpr and std::optional</title><link>https://mattbolitho.github.io/posts/efficient-configurable-lambdas-with-constexpr-and-optional/</link><pubDate>Fri, 18 Aug 2023 18:00:00 +0000</pubDate><guid>https://mattbolitho.github.io/posts/efficient-configurable-lambdas-with-constexpr-and-optional/</guid><description>Introduction I was hacking around with a personal project and bumped into a cool thing with constexpr, std::optional, and lambdas. Maybe it&amp;rsquo;s a well known interaction, but I thought I&amp;rsquo;d write a post either way!
The project in question was a library which contains an algorithm that can be parameterised by the user through options. These options are just struct instances which are pretty trivial, plain old data, and compile-time constructable.</description></item><item><title>Trip Report: C++ on Sea 2023</title><link>https://mattbolitho.github.io/posts/trip-report-cpp-on-sea-2023/</link><pubDate>Thu, 06 Jul 2023 22:30:00 +0000</pubDate><guid>https://mattbolitho.github.io/posts/trip-report-cpp-on-sea-2023/</guid><description>Last week, I was lucky enough to attend my first programming conference - C++ on Sea 2023.
In this post, I&amp;rsquo;ll share my experiences of the conference. We&amp;rsquo;ll look at what was on offer throughout the week and some interesting points from the talks.
As an aside, recreating my personal site is something that I became motivated to do after attending C++ on Sea, so I think it is only fitting that this should be the first post!</description></item></channel></rss>