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.
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:
When I worked for Microsoft, I regularly talked directly to users and customers of the software I worked on. Because nobody tells you each time their code compiles successfully, I’d usually hear from them when things were broken or unsatisfying. Most of these problems would be straightforward - we messed up and regressed something, there was a latent bug in the system someone found, we hadn’t implemented a feature that someone thinks is really important, and so on.
Most code I’ve written isn’t particularly special, let alone something to be proud of, but I’m perhaps unreasonably proud of this one.
Finding the correct parameter when writing code Tracking the “next” parameter in a tooltip The code is what powers which parameter in a tooltip gets bolded.
Basically, when you’re calling in F# function, there’s (now, after many years!) a tooltip that will pop up and tell you a few things:
In this post I’ll skip ahead to the fun stuff and teach you how you can use OpenTelemetry with F#.
How to install OpenTelemetry First, make sure you’re using the latest .NET SDK and create a new F# web app:
dotnet new webapp -lang F# -o FSharpOpenTelemetry Now, install the OpenTelemetry package in the FSharpOpenTelemetry directory:
dotnet add package OpenTelemetry You can install a preview by providing an explicit version, but the stable version will work fine here.