Iterating Over a Generic Sequence in Swift

Here's a goofy bit of generic programming I do all the time in Swift—ironically, it's one thing C++ makes easier than Swift! The use case is simple: I want a function to be able to accept a container (really a Swift Sequence) of any type, as long as its values are of the right type. … Continue reading Iterating Over a Generic Sequence in Swift

A look inside X-Plane’s massive multiplayer server

This morning I published a blog post on the X-Plane Developer blog titled "Have You Heard the Good News About Elixir?". It's a look at the requirements and goals that drove me to choose Elixir for X-Plane's massive multiplayer game server, with a look at both the pros and cons of that choice. This post … Continue reading A look inside X-Plane’s massive multiplayer server

Missing SwiftUI Preview Window in Xcode

This is no doubt obvious if you've dutifully watched all the WWDC sessions on SwiftUI, but if you're like me and just diving in and hacking the hell out of it, you might be baffled that the much-renowned preview pane isn't showing up when you create your SwiftUI View. There are two things you need: … Continue reading Missing SwiftUI Preview Window in Xcode

Creating a SwiftUI Window in an Objective-C AppKit App

I've been "rehabbing" a legacy Objective-C app (the Unbound photo browser), trying to make up for a couple years of neglect, and I wanted to start building new views in SwiftUI. There are a lot of good tutorials online for hosting SwiftUI views in UIKit apps (either iOS/iPadOs or macOS + Catalyst), but not much … Continue reading Creating a SwiftUI Window in an Objective-C AppKit App

Default Capacity & Growth Rate of C++ std::vector

If you're creating a lot of small vectors in C++, you should probably consider using a small-size optimized vector instead. But, if you can't do that for some reason, you might wonder if there is any win to be had by reserve()ing a small size in advance. While the standard doesn't require vectors to have … Continue reading Default Capacity & Growth Rate of C++ std::vector