A URI Template is a compact sequence of characters for describing a range of Uniform Resource Identifiers through variable expansion.
Lexical Scanning in Go is one of my favorite talks by Rob Pike. In it, he shows that concurrency is a way to structure programs, not necessarily a performance optimization.
Bryan C. Mills, in his talk on concurrency:
In Go, synchronous and asynchronous APIs are equally expressive. We can call synchronous APIs concurrently, and they’re clearer at the call site. We don’t need to pay the costs of asynchronicity to get the benefits of concurrency.
A few people have asked me about my new development setup:
A few weeks ago, I’d started to develop pain in my right wrist. This isn’t the first time it has happened on the job. Given my heavy use of spaces in macOS, I finally stressed my wrist too much with switching from keyboard to trackpad and back.
I spent some time researching which ergonomics changes I could make. I didn’t want an external monitor (I am not a fan). I also wanted something portable enough to carry to coffee shops.
I started with the M570 to reduce the strain from swiping on my trackpad. I added a hot corner to trigger Mission Control for switching spaces. Next, I added the Roost laptop stand. I think this is the biggest improvement because forward head posture is a health risk factor. Yet the most noticeable change is the Planck EZ. It’s a “40%” ortholinear mechanical keyboard, meaning the keys align vertically. It’s a strange choice, but it has one major advantage: less finger travel. typing.io has been great for teaching me to keep my fingers in place while programming.
Overall, I’m satisfied with the setup. I’m less efficient with keyboard shortcuts, but I don’t mind so much. I’d rather move my hand to the trackball ever so often than not be able to type at all.
@pika/web installs modern npm dependencies in a way that lets them run natively in the browser, even if they have dependencies themselves. That’s it.
It’s refreshing to use the Web Platform without a bunch of tooling again.
Moment bio case for iPhone 11
Acme acts as a glue which links together other programs and tools. With Acme the OS becomes your IDE.
Click through for a good list of Acme resources.
Russ Cox, explaining the motivation behind Go’s design decisions:
Software engineering is what happens to programming when you add time and other programmers.