There's a common idea amongst a lot of my friends, peers, and colleagues that "AI" is and can only ever be bad. Given a lot of the bullshit that's been peddled by former NFT bros around AI, this is a reasonable conclusion to come to. However, I fear that we are losing track of some nuance in the conversation and throwing the baby out with the bathwater. I've been using LLMs a decent amount over…
(Spoilers for both The Last of Us Part 2 the game as well as The Last of Us the TV series.) So despite it being very trendy to hate The Last of Us , mostly because it's violent and takes itself very seriously despite being flawed in a multitude of ways, I'm a sucker for it. The first game hit me at just the right time in college. The second game came out in the midst of the pandemic and was a nice…
I have a confession to make: I've been test-driving AI tools a bit in my work lately. I haven't pushed it to its limits, but I have been occasionally impressed with its ability to get me over humps in the road when it comes to software development. In my off time, I also used it to get up and running with a complete personal website re-write. It hit a lot of edge cases where it couldn't seem to…
Humans did not evolve in a world of eight billion people. We didn’t evolve with the internet, or television, or phones, or ChatGPT, or airplanes, or a 24-hour news cycle, or even light bulbs. We evolved in a cold world where we’d only ever meet a few hundred people and only ever travelled within a few hundred miles. So when at the end of the day, after dealing with work that likely spans…
Right now, in the year 2025 CE, it is relatively common to believe that if you are born with a penis, you are a man, and if you are born with a vagina, you are a woman. It is common to believe that anyone who attempts to assert otherwise is mentally ill at best. At face value, when I put it that way free of any other context, reading it as a severed employee of Lumon Corporation might read it, it…
Task Management in Swift The Problem Introducing the Task Store Duplicate Key Behavior note: this post uses Swift 6.0 and Xcode 16.2 Let’s recap the different behaviors we want to allow when duplicate keys come up in our task store 1 : Cancel the previous task if it’s there, and run the new task immediately Cancel the previous task and wait for it to finish, then run the new task Wait for the…
Task Management in Swift The Problem Introducing the Task Store Duplicate Key Behavior note: this post uses Swift 6.0 and Xcode 16.2 Let’s set up some goals before we get into the weeds. We want to: Be able to run async work and not have the end user need to worry about managing task state Explicitly support a variety of behaviors when multiple tasks come into play Handle several different tasks…
Task Management in Swift The Problem Introducing the Task Store Duplicate Key Behavior note: this post uses Swift 6.0 and Xcode 16.2 Concurrency is hard in any language. It was hard in Swift before modern tools like async / await /etc were introduced, and it’s still hard, sometimes harder in ways you might not expect. Over the past few years I’ve found a few somewhat novel solutions to some of the…
Greetings! It's been awhile since I've written something long-form publicly. Three and a half years, to be more precise. Not for lack of want; more for lack of followthrough. I have ADHD and anxiety, a combination which makes stimulant medications a bit of a catch-22, and I've prioritized other stuff, like just enjoying my life. Unfortunately I also have a desire to fiddle with stuff and "do it…