Things I Found Interesting #2

Published on April 14, 2021

Two months after the previous edition, I gathered enough interesting resources to share them. In this edition, you will find content about HTTP, WebDev, versioning, tech, and problem solving.

Also, as previously, because it makes everything on the internet better, here is another photo of my cats:

You must believe me, we do not torture them

Weird and counter-intuitive things in HTTP protocol
What does Cache-Control: private, no-cache header do, what header name is misspelled, do websockets honor CORS and are X-* headers custom ones?

Font size is useless
There are well-known rules for web development on setting font size to be displayed in the same way on different devices. But the sad truth is: it’s impossible because of how the size is declared in fonts themself.

HTTP SEARCH method on the horizon
To GET, POST, PUT, PATCH, DELETE, and their few lesser-known siblings, a new one can join. It aims to solve the caching and semantics for API definition, where you GET things but need to POST what exactly you want. Think Elasticsearch and GraphQL.

How Stripe handles API versioning (2017)
An interesting solution for how not to be stuck with old API decisions but incrementally update it in small steps. Backward-incompatible API updates are done so that developers can easily handle on both sides, server and client.

Project Cambria for transforming schema between versions
If the Stripe solution above got you interested, this is a tool to take it even further. Still under development, but looks promising.

Responsively – tool to preview websites on multiple resolutions at once
You can already use developer tools in your browser to see how the website looks on different devices. But with Responsively, you can preview how it looks and behaves on many devices at once.

Choose Boring Technology
An explanation on why NOT choosing the fancy, cutting-edge technology can help you deliver the product. And as much a fan of the new technologies I am, I think it should be at least taken into account every time you start a new project.

Semantic Versioning Will Not Save You
SemVer is great, but if you think you are safe because all the libraries you use are semantically versioned, you can have a bad time. I also wrote about it from a little bit different perspective.

RegEx Crossword puzzle
I’ve spent 2.5 hours solving this, and it was time well spent. It’s like sudoku, but better.

The Cursed Computer Iceberg Meme
If you did not lose enough hours solving RegEx Crossword above, here you can waste a few more. A collection of weird, funny, and surprising facts about how things work in IT. How many did you already know?

People tend to add, not remove, when make changes
A series of psychological experiments show that when given a problem, we try to solve it by adding more parts instead of removing existing ones. Even if the latter is simpler. We, developers, should be aware of this when approaching problems.