Shooting Yourself in the Foot with GenServers

Elixir’s GenServers are great. Their fault tolerance makes them a natural choice for situations where you need to store some state over time in a resilient way. They’re not without their gotchas, though. In particular, it’s quite easy to fall into traps with respect to scheduling work within the GenServer's process. Consider this toy example: … Continue reading Shooting Yourself in the Foot with GenServers

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