Week 4 Reading Roundup

Each week I find myself reading a lot of interesting articles online. This is from many valuable sources that I have followed. This post is a roundup of what I have read this week and anything that I have taken away from the material I found valuable.

Performance testing HTTP/1.1 vs HTTP/2 vs HTTP/2 + Server Push for REST APIs

https://evertpot.com/h2-parallelism/

A very in-depth difference and trade-offs of the http/2 and even http/3. The tests really inspire learning more about how each spec changes the way the browser works and operates. I expect to come back to this often as a refresher.

Helping Browsers Optimize With The CSS Contain Property

https://www.smashingmagazine.com/2019/12/browsers-containment-css-contain-property/

Contain really seems magical. Almost one of those ideas that are obvious in hindsight. Why has it taken so long to get something like this! I’m looking forward to using contain in most if not all of my future work. Especially that it will contain the z-index. That solves many issues. Now it begs the question, How can I break the containment on demand?!

Finally a CSS Only Solution to Hover on Touchscreens

https://medium.com/@mezoistvan/finally-a-css-only-solution-to-hover-on-touchscreens-c498af39c31c

I have to say that I’ve never encountered the ‘sticky hover’ myself. In fact, I’m more used to having the issue of zero hover occurring since the touchscreen has no idea that my finger is hovering! However, I’m all for more media tags to help solve the issue. Even though this is not fully implemented yet, the solution is simple, @media(hover: hover) and (pointer: fine) {}.

HTTP Decision Diagram

https://github.com/for-GET/http-decision-diagram

A really cool breakdown of HTTP and how they should be handle via a visual state diagram. Kept up to date with pull requests none the less! Now someone just needs to sell these as posters.

Letting Tools Make Choices

https://www.jackfranklin.co.uk/blog/letting-tools-make-choices/

Learning this lesson can take some many years. I think that the author comes to their conclusion in a well thought out way. However, this is something that will need reminding for years to come, especially when you have to ‘teach’ this lesson to a team member that insists on changes that really are semantic and subjective.

How Shopify Manages API Versioning and Breaking Changes

https://engineering.shopify.com/blogs/engineering/shopify-manages-api-versioning-breaking-changes

Full of detail. Truthfully still not all the way through it. Fascinating to get some behind the scenes on how teams solve tough problems.

Effective Mental Models for Code and Systems

https://medium.com/@copyconstruct/effective-mental-models-for-code-and-systems-7c55918f1b3e

I think that I have read and reread this at least a few times in the past week. It’s very impactful and helpful to what I do. These models and the thinking behind them really give someone the edge, assuming that you practice them.

Twitter Status @shreyas

https://twitter.com/shreyas/status/1218724150312751104

This is really impactful and gives a lot of clarity to the situations I myself have been in. I would expect this rule to be near the top of the list of what needs to be challenged in any software company. Imagine if this behavior was acceptable in anything that could harm someone, like rockets, jets or military equipment!

Resources

  1. PHP Weekly
  2. CSS Weekly #392
  3. Changelog Weekly #287
  4. Software Lead Weekly #371