Posted on:

Following on from the Bolt-swift 6.0 release, Theo has also been modernized for Swift 6. Theo is the high-level Neo4j client library that sits on top of Bolt-swift, providing a more convenient API for working with graph data in Swift.

The name comes from the combination of "Neo" (as in Neo4j) and "Thomas" (Thomas Anderson being Neo's real name in The Matrix). It's been around since 2016, originally created by Cory Wiles, and I've been maintaining it since version 3.

The Swift 6 update brings the same concurrency improvements as Bolt-swift. The library now properly supports Swift's strict concurrency checking, with Sendable conformances throughout. This means you can use Theo safely in concurrent code without worrying about data races.

Here's ...

Posted on:

It's been a while since Bolt-swift got some love. The library has been quietly working away for many users, but Swift has evolved significantly since the last major release, and Neo4j has moved on, so it was time for an update.

The main driver for this release was getting the library to work with modern Neo4j versions. I kept getting reports that connections to Neo4j 5.x were failing. Now the library works across the full spectrum from Neo4j 3.5 all the way to Neo4j 2025.12.1.

While I was in there, I took the opportunity to modernize the codebase for Swift 6. The library now uses Swift's structured concurrency with async/await, which makes for much cleaner code than the old EventLoopFuture-based approach. You can now write queries like this:

let connection = try await Connection.connect(
  ...
Posted on:

Lots of companies are working on VR, and we're led to believe that this is the defining technology of the near future. I'm an optimist when it comes to new technologies, so I wanted to try it out to get a status of where we are today.

My background in VR is not great - I tried a giant helmet once in the 90s at a technology fare. It was a very pixelated rollercoaster, it was all very interesting, and nothing became of it. I tried a VR setup in a Medialogy lab ca 2007, and it looked better but it was mostly a very expensive way of doing storytelling with better immersion.

The reason I find VR interesting today is that it has become cheap, because you can use your smartphone for all the tech and just add some lenses via Google Cardboard. A DIY kit can be had for a dollar ...

Posted on:

I'm an iOS developer at Snapsale, and I spend some time on the road, either travelling to our main office in Oslo, or to conferences. For my out-of-office work, I chose the entry-level Macbook.

The specs were not very powerful: a 1,1Ghz dual-core Broadwell Core-M with 8GB of RAM and 256GB SSD. But then again my expectation was mainly to do meetings and notes, UI review and the occasional Xcode hacking. Thus I chose 12" to optimize for being able to "comfortably" work from the flight seat and the coach seat, and retina for working on UI together with our designer.

Optimizing for the screen is something I would not have expected to do five years ago, and I must admit to being a bit hesitant to how the Macbook would deal with Xcode. The answer is: surprisingly well. What I had not factored in was that the SSD is ...

Posted on:

Welcome to my website. The reason I have a website is that I like to maintain a space where you can find my content. But the way I use the internet, which is not so different from so many others, I leave much of my original content in places like Facebook and Twitter. I don't mind sharing, if I did I'm sure this content would have been behind a paywall and no-one would read it, but I do like to remain in control of it. When I give it to Facebook and Twitter, they can do more or less what they would like with it.

I'd therefore like to put it out there that I'm investigating options to have what I write there appear here also. Either as a carbon-copy, or even better, with this space as the original source. I could do that as a separate micro-blog feed, but I think that I perhaps prefer embedding it between the blog posts. We'll see, ...

Image Image

Father, husband, software developer, musician and photographer.


Get to know what I'm up to

© 2020 Niklas Saers Contact Me