I spent a lot of time this quarter thinking about my programming skills and what to learn next. The industry moves fast. New paradigms emerge every 3 - 5 years that completely changes the way you work and affords you the capability to build new kinds of products. It’s impossible to ignore the current paradigm that is reshaping every digital product we use - Machine Learning and Artificial Intelligence.

ML and AI are fundamental to the digital world we live in today. We use AI on a daily basis and most of us don’t even realise it. As a JavaScript programmer, I’ve been largely excluded from this new trend. Yes, JavaScript can be used for machine learning but it isn’t the popular choice for the job. For machine learning, Python takes the top spot!

Most popular programming languages for machine learning

After much deliberation, I’ve started learning Python. I started my career building applications with PHP and moved onto the JavaScript stack, which has served me very well for all these years. I will continue to write a lot of JavaScript code but I’m curious to explore the world of Machine Learning and Artificial Intelligence with Python. It will require reshaping my current processes and mental models but it will be worth it.

I’ll report back as I make progress. In the meantime, enjoy these articles that caught my eye this quarter!

📖 Reading

Model Metropolis by Kevin T. Baker: A fascinating article about the origins of SimCity, the war on welfare and the pitfalls of modelling. The research cited in this article may be 50 years old but the discourse that it sparked is all too relevant even today. An absolute “must read” for anyone interested in urban planning, technology and society.

How To Be Successful by Sam Altman: You rarely come across posts that articulate things you already know but in ways that you never thought before. This article by Sam Altman does just that. It isn’t meant to be an absolute formula for success. Rather, it’s a collection of 13 well-written observations derived from Sam’s exposure to successful people from his wide personal network.

Fifty years of the internet: On March 12th, 2019 we celebrated the World Wide Web’s 30th birthday. This event sparked a flurry of reflective stories about the origins of the Internet and the WWW. I especially enjoyed this piece by Leonard Kleinrock - a pioneer who’s mathematical theory of packet networks is central to how the Internet works.

“I knew everyone on the ARPANET in those early days, and we were all well-behaved. In fact, that adherence to “netiquette” persisted for the first two decades of the Internet.” - Leonard Kleinrock

How did the Internet go from a platform for collaboration to competition, from consensus to dissension, from a reliable digital resource to an amplifier of questionable information? The answer - Consumerization!

Give me back my monolith: Craig Kerstiens makes an unscientific case against microservices. This has been a growing trend recently. As I spend more time building microservices, it’s something I think about a lot too. The TLDR is that microservices require more time to setup on developer machines, are harder to debug and document, harder to maintain and harder to test. Your results may vary but I’ve found his arguments to be somewhat consistent with my experiences. Choose the architecture that’s right for your team!

💡 Side projects

I’ve had very little time to work on side projects this quarter but I’m determined to see them come to life soon. I’m genuinely excited for Bookmarks+ (beyond the 🔥 domain name). I’m taking UX cues from some of my favourite apps like Slack (keyboard shortcuts, hashtags, tag switcher etc.) and learning a lot from Derrick Reimer - who has been publicly sharing his journey of building Level.

My intention is to build Bookmarks+ for power users. Tweet me @palavalli if you’d like to share your bookmarking frustrations or ideas!