Learning every week – 3-Jan-2020

It’s 2020, and I am doing this with a fairly predictable schedule. In other words, this is becoming a habit of mine and I couldn’t be happier. But let me be careful and not invoke the curse of speaking-too-soon and knock some wood.

One of the reasons I do this is that I believe we always learn. And if we’re not careful, we forget what we learn. This is simply my attempt to try to make the best of my learnings from everything around me by writing it down. There is a saying to lock down the knowledge using a pen. Since I cannot inflict my handwriting to others (or myself 2 weeks later), I am locking it down using these keys on my laptop.

Training results

One of my favourite podcasts I listen to is Coaching For Leaders. This week, I listened to the episode on measuring training results. The whole episode is quite insightful but my main takeaway was about four levels of training evaluation, usually dealt with in reverse order. They are:

  • 4 – Results
  • 3 – Behaviours
  • 2 – Learning
  • 1 – Reaction

One of the reasons this caught my attention is something I read in the book I am reading, “Primal Leadership”. There is a passage in the book which talks about the effort involved in training, the enthusiasm after the training, followed by hardly any change. This is called the honeymoon effect after training. I couldn’t find a good enough description using a simple search but this page hits the spot close enough.

This is why the levels of training evaluation was a very useful discussion for me. If you’re into training in any way, do listen to the episode.

The three ghosts of web performance

HTTP/3 is here. It seems like only yesterday we first heard about HTTP/2 and I was expecting it will take at least as long for us to get to HTTP/3, but here we are. The Cloudflare page is quite detailed about what’s different but from what I understand, the protocol is basically HTTP/2 but uses a different underlying protocol called QUIC to solve some of the problems that plague TCP, and hence HTTP/2 as well.

If you’re using Cloudflare, there is a waiting list to enable it for your site. As of right now, none of the stable browsers supports QUIC but Chrome Canary supports it (read the blog). Even curl has added support for this as an experimental feature.

State machines

Syntax.fm is another podcast I enjoy very much. I listened to an episode this week about state machines and animations. I don’t touch a lot of CSS or JavaScript in my work but I do keep up with the trends here and this looked cool. In the episode interview, they talk about xstate which is a finite state machine library for JavaScript. Look at the examples on the documentation to understand the concept better. There is also a visualizer which builds a visualization of your finite state machine definition, which is quite a cool concept in itself.

New Year Resolutions Goals

Yet another podcast I listen to is called Manager Tools. This episode was a re-broadcast about setting annual goals. The hosts are highly opinionated (in a good way) and this episode didn’t disappoint. They talked at length about how the SMART framework is not an effective framework for designing goals. Instead, they talk about MT goal setting (MT is part of SMART) which focuses on the two most important aspects of SMART: measurable and time-bound. The argument is that if you focus on measurability and time-bound nature of goals, you will still qualify all the other aspects of SMART anyway, whereas focusing on five different aspects in SMART may mean you lose touch on M and T.

They also shared six recommendations for setting goals:

  1. The best metrics are numbers
  2. Zero is a number
  3. Consider proxies to get to a number
  4. Consider surveys (with a caveat)
  5. Reduce costs
  6. Avoid “improving” things

AI and Search

This is again from a podcast called Practical AI. In this episode, they talk about how Etsy uses AI for search. Now, various full-text search engines I have used amount use concepts quite close to machine-learning (or actually machine-learning). In this episode, they go in-depth on how AI is used at the search engine layer for Etsy and why the current solutions don’t mean the needs for searching for an e-commerce operation.

It was also cool to know that some (or all) of the backend ML code is written in Rust. There was a discussion of how Rust fits the need for a safe language which delivers the performance required for critical code.

Docker and DrupalQA

I maintain a Docker image I call drupalqa. This week, I rewrote the implementation to remove mostly duplicate Dockerfiles. I did this using the ARG syntax which lets me pass arguments when building the image which can be used in the base image. Since most of the Dockerfiles were identical except the base image, I reduced the files I have to maintain to just two (out of the original five). Not a big change, but it’s still a learning experience in managing Docker images better.

It’s a wonderful story

I love the movie “It’s a wonderful life”. In an SYSK podcast on holidays, I came across a lot of cool things I didn’t know. I learnt things like how there are psychedelic mushrooms which might be responsible for what we know as Santa Claus today. But the most interesting story for me was about the movie “It’s a wonderful life.”

The movie did very badly when it was released. No one liked it and everyone thought it was too corny. It was a massive failure for the studios and they didn’t even come close to the break-even point for the movie. So much so that they “forgot” to renew the copyright for the movie and it entered the public domain in the mid-70s. Some of the TV channels picked it up and people found it nostalgic and sweet, and it got popular. Today, it is considered to be one of the greatest films ever made.

This story reminded me of another movie that is doing well 20 years after its release: Andaz Apna Apna. It performed poorly on release and today, it has become a popular cult icon praised for its comic timing and iconic lines.

I suppose the message to take away from this is don’t give up if the results don’t meet your expectations.