Orthogonality is central to developer experience

Orthogonality is a somewhat fancy, definitely mathematical word. But it’s a crucial property of good developer experiences. From programming languages to API design, orthogonality makes all the difference between experiences that “just work” and experiences that are frustrating. What is Orthogonality? Orthogonality is a mathematical term that shows up in several mathematical fields. The most common one is geometry, where lines that are orthogonal are said to intersect at a 90 degree angle and be perpendicular.
Read full post

When the readability of Go falls off a cliff

I’ve had to pleasure of working on programming languages for several years, including helping design several features in one of them . I’ve always taken an interest into the often unquantifiable, squishy, touchy, feely-weely aspects of languages. Language design is interesting because it’s both technical and art-like. When you help design a language, you’ll straddle the world between extremely complex backwards compatibility issues and whether or not something “feels right”.
Read full post

Microsoft doesn't hate F#

Every once in a while, somewhere on the internet some people get into a cycle of doomerism about F# and Microsoft. You can see a fun catalogue of this on Reddit but it comes up in the F# slack, discord, hacker news, and social media too. All I can say is: ugh, come the fuck on. Nobody invests in F# as much as Microsoft does First of all, anyone who has a bone to pick with Microsoft should take a close look at the high and consistent volume of code contributions over the years.
Read full post

Kubecon is a tradeshow

I attended my first Kubecon/CloudNativeCon and it was pretty cool. I hadn’t been to an in-person conference since before the COVID pandemic, so I really enjoyed getting out there and socializing with all kinds of folks. But I was kind of bothered by how much focus was spent on vendors and sponsors. The vendor showcase (booths for all the sponsors) was enormous, on the first floor, and in the main building.
Read full post

The best docs are the ones you don't need

If a developer product is self-consistent and intuitive, it can get by with surprisingly little documentation. Some (perhaps obvious) examples come to mind: RESTful conventions in a web API Common flags and verbs in a command-line app (e.g., -v controls verbosity) Descriptive error messages with unique error codes Objectives developers have (e.g., get shopping cart data) have a single command or gesture But it can get much deeper than this:
Read full post