Learning every week – 7-Dec-2019

I believe we keep learning all the time. It’s just that we forget what we have learnt. I learnt a while back that we forget 95% of things we learn but I am forgetting where. Which is why I started a while back writing down everything I learnt on a weekly basis. I did that in a spreadsheet and now I think it is time I wrote more regularly and in a more elaborate manner.

This is my first post in this series and I hope to keep doing this every week. This one covers my last two weeks.

Pragmatic Development

I listened to an interview with David Thomas and Andrew Hunt on the podcast “Developing Up”. I highly encourage you go listen to it. My takeaways from this conversation revolved around:

  • Thinking of development in terms of being engaged as against being passionate.
  • Best practices are about what worked, not what works.
  • The importance of variety in learning right at the beginning of your career.

Feedback

I came across this post about giving feedback. We do this at work right now and the post might help reinforce the notion of why we give feedback the way we do. There is a a sequence of analogies with the technical side of software engineering which are amusing but get tiring after a while. Still, it could be a fun read.

Learning

Another podcast I listened to covered how brains work and how we could learn from that to make neural nets more efficient (in terms of power). I am not an expert at neural nets but the conversation was intriguing and I do feel that I learnt a bit from it. If you’re interested in machine learning and neural networks, this would definitely be interesting.

On Passion and Genius\

Darwin couldn’t turn it off. Neither could Ramanujan. They didn’t discover the hidden paths that they did because they seemed promising, but because they couldn’t help it. That’s what allowed them to follow paths that someone who was merely ambitious would have ignored.

The above snippet is from this insightful, albeit lengthy post. It spoke to me about how passion is not about how much you think about something, but how much you can’t stop thinking about something.

Ten… Hundren… Thousand

I have been watching a few videos on Youtube that show how to cook something in three different timescales. For some reason, a similar post popped up in my suggestions about three different budgets for an advertising commercial. It’s fun to see the three commercials which took a thosand dollars, ten thousand dollars, and a hundred thousand dollars respectively. They are 2 mins each and it is interesting to see the difference. My favourite: the $10,000 one. Go watch it.

Free Code Camp

I have been looking at the work being done on Free Code Camp for a while and I happily suggest it to people who want to learn writing code. That is why I was very pleased to listen to the interview on The Changelog of Free Code Camp’s founder, Quincy Larson. It is very insightful to see the challenges he faces and how he deals with them. Some of the points that stood out to me was how they adopted JamStack, what are the costs of running the business, and what is the scale and impact they achieve. Truly inspiring.

React + Redux

I have been volunteering for a web application built with React and Redux. I only had theoretical knowledge of React and really simple applications. This was my first experience with an actual application and I learnt a lot about React, Redux, Typescript, and the general JavaScript ecosystem today. While searching, these are a few links I found:

PHP 7.4 new features

PHP 7.4 was out recently with a bunch of new features. Some of those that I am looking out for are null coalescing assignment operator (??=), preloading, and arrow functions.

Learning at work

We have a program at work where people share what they have learnt or accomplished recently at work. Here, I learnt more about queue workers in Drupal, PWAs, serverlerss functions, GraphQL, and more.

More Machine Learning

I attended a machine learning meetup and learnt about sentence embeddings. We covered different types of text embeddings like term frequency matrix, TF-IDF, techniques like SVD, dimension reduction, leading up to neural network techniques like RNN, seq2seq, and CNN.

Drupal

Drupal 8.8 was released and I tried out upgrading to the new composer template and wrote a post about that. Subsequently, I ran into weird errors with RouteNotFoundException which was fixed by enabling path_alias module via drush.

drush en -y path_alias

I also ran into an issue where I removed a profile without cleaning it up correctly on one of the sites.

delete from key_value where collection='system.schema' and name='config_installer';
drush cset core.extension profile standard

The above might not work for all situations and all extensions but fixed the problem for me.

That’s it for this week. Have a good fresh week of learning.