DuckDB and C++

A few years ago I heard about a new database project called DuckDB, a new kind of database embracing columnar storage over the traditional row storage. The other thing, possibly the main thing at the time, was that it was designed to be embedded in your application. Even better it was developed in C++ and seemed to have extensive API coupled with a permissive license. Looking Back I started out writing stuff using what was the typical (at the time) LAMP stack where the database was always MySQL.

Read more

Share Comments

Six Years Since Naturalizing

It is hard to believe my wife and I became naturalized US citizens six years ago! It was a long journey filled with uncertainty. I had friends while studying in England who were on similar journeys and while I empathized I had no idea what it was like. We held off from buying a home until we got green cards, and even then felt some apprehension at times and naturalization represented the final step where I finally felt like I belonged.

Read more

Share Comments

CMake, Dependencies, Superbuilds and Vcpkg

I was a Gentoo developer before I got serious about C++ software development, and one of the things we hated most about packages was when they copied libraries into their codebase. From the developers point of view they just want to be able to build their codebase, and copying in code so you can just build it all in one go is the easiest way to achieve that if there is no solid packaging story.

Read more

Share Comments

C++ Modules and CMake

I have been thinking about creating a new project for a while, one that abandons a lot of my previous style where I needed to support old compilers, operating systems, etc. I have no idea where this project leads, but it is something of a playground to approach the state-of-the-art as I see it. Using the latest features in C++, CMake and other parts of the ecosystem. It is targeting my preferred development environment which is a completely up to date Arch Linux desktop and other places may catch up at some point or this may be generalized to work more widely.

Read more

Share Comments

Vacation 2023

We have been on a few overnight trips, day trips, celebrations, etc but with one thing and another we haven’t been away for what I would call a proper vacation. We haven’t really been away for more than a few days at a time. Some of that was pandemic, some of it was moving jobs (the first time), some of it was crazy inflation, some was moving jobs (the seconds time).

Read more

Share Comments

New Job at Voltron Data

I started a new job at a startup called Voltron Data in July of this year! For anyone who follows me you may remember I only just moved jobs in 2020, leaving Kitware to take a position at Brookhaven National Lab. Moving jobs and house during the pandemic was a lot, I went pretty quiet, the pandemic was hard on many of us. Things didn’t work out as I had hoped and I did a lot of soul-searching over the last few years too.

Read more

Share Comments

New PC Build

The last time I built a PC was before the pandemic, in upstate, before we moved down to Long Island. Before that it was way back in England before we moved to America. The last PC I built I couldn’t decide how much I would use it, and so I stayed fairly mid-range too, whereas this time I had more of a sense that I would make a lot of use of the machine.

Read more

Share Comments

Obi

Yesterday we had to say goodbye to Obi, our family pet. He joined us in upstate and has been a big part of our lives since then. Devastated to say he didn’t make it to eight years old, last Friday it became clear that the medication to help with a chronic condition simply was not working. The vet gave him something to help him for a few weeks maybe, but even that only had a moderate effect.

Read more

Share Comments

Generating User Interfaces: Convenience and Utility

I recently attended a talk about generating user interfaces from Python, I have fought for and against doing this in various projects. I have also seen places where it really helps and other places where it was a huge detriment (at least in my opinion). The talk got me thinking about how many times how many of us have written our interface generation. At times we also talk about reuse and whether it is worth reusing another approach versus writing our own.

Read more

Share Comments

Target Property Based Modern CMake

Something an old mentor told me to never do is call a thing “Modern …” as you can guarantee someone will be chuckling in 10-20 years. I can neither confirm nor deny that I found myself sitting at my desk at gone 1am immersing myself in what “Modern CMake” was exactly, and what I wanted to apply to the Avogadro build system. It seems to have its nucleation in about 2017 where I find a number of posts, talks, etc.

Read more

Share Comments