Robustness, Tolerance, and JSON Schema
I’ve been exploring the topic of schema entropy, the idea that we can understand the complexity of a schema by exploring all possible variations of the schema. The more variations, the higher the schema. The higher the schema, the more complex it is.
When evolving an API, it’s helpful to look at how the entropy of schemas change. For example, with request bodies, it’s necessary to increase entropy for each schema change.
Weeknote 11
We took a mini vacation with another family this week. Our friends rented a cabin on a lake with a pool. We spent all our time swimming, canoeing, and lounging around. I love vacations like that. You get a chance to unplug mentally from it all and do nothing or whatever you want.
After our trip, we took the kids to see Garden of the Gods for their first time. It’s a beautiful place.
Weeknote 10
I’m into a habit of writing these every Saturday when my wife leaves to go to work building bikes. It’s just me and my kids here at home, and they spend the 30 minutes or so I’m upstairs yelling at me that I’m taking too long. I’m OK with it. One day I’ll miss them screaming their frustrations and disappointments at me from the bottom of the stairs.
I’ve started spending a lot of time this week stretching to help my lower back.
Turning an API Into a Programming Language
What if we could combine the power of HTTP with the universal qualities of URLS to create a way to build an API that works like code? It would be a way to turn the web into a programming language of sorts, to treat an API as if it were code.
To explain this weird idea, we’ll think about it in terms of calling functions with HTTP calls similar to how you’d call functions in code.
A Wonderful Side of the Web
I came across a link to unique website called Special Fish and got lost in the nostalgia of the old web and the creativity of people. I think someone referred to Special Fish as social media site, but I don’t think that captures it. The FAQ says:
Special Fish is a directory of profiles. Each profile is composed of a text-based log, lists, and links.
It’s a simple site, but it has an interesting community around it.
Weeknote 9
I’ve had time this week to write more. I wrote a post for Optic titled The Missing Pieces of Design First Workflows. I also wrote a few posts here on this site—I think this is the fourth post of the week.
In the last weeknote I mentioned I was considering buying a new chair. I had used my old one for the last 20 years. The padding on the seat and back were all but gone, and there hadn’t been any lumbar support for the last decade.
Scheduling Posts With Hugo
I mentioned in my latest weeknotes that I’ve started using Rake to automate writing tasks for this site. The first ones were for creating a new post and deploying it. I can now run a command that creates the files and opens my editor for writing.
I’ve wanted to add a way to schedule posts. Lots of times, I keep an idea in my head, sit down to write it out, then immediately publish.
Arguing about the Shape of Water
When we want to discuss an abstract concept in software, we reach for a metaphor.
For instance, when we want to describe being quick and nimble, able to react to any change the world throws at us, we say we’re agile. When we try avoid over-powering development processes that push us toward the inevitable edge without letting us pause to reflect and learn, we say we’re avoiding waterfall.
But no metaphor is safe from the petrifying effects of pop culture.
In Support of the Fifteenth Standard
When tinkering with a new standard, one of the first responses people send me is a link without any other text with it. It’s a link to this XKCD comic.
Even though I expect it, it still gives me a laugh. I know I know. Do we really need yet another standard?
Now I unapologetically say yes, we need another standard.
One might interpret the XKCD comic as showing how new standards stifle innovation.
Weeknote 8
My experiment of starting over on this site is working. If I counted correctly, this is my 11th post here. I’ve written in a few weeks what took me several years before.
I haven’t stopped tinkering with the site, though, but it’s a different tinkering. I started out publishing with make, but decided to switch to Rake because I can.
I added a couple new tasks, one for writing posts and one for creating new weeknotes.