How to Build Your Development Stack in the Cloud from Scratch

11 mins


Over the past couple of weeks, a number of friends approached me to ask how I had set up my website. I told them I’d created the site using Jekyll and hosted it on Github Pages, but I had to host my web apps on Heroku because Github Pages only serves static content, and I also needed a database so I had to connect the web apps to Firebase…

And it struck me how inefficient my development stack was. I started wondering if I could do any better, and so this post is the result of completely recreating this stack from scratch in the cloud. There are a lot of great tutorials out there for each of the topics I’ll be discussing, so this post does not intend to replicate any of those but instead provides an insightful collection of resources to hopefully give an idea of what a cloud computing setup entails.

Read more


Visualizing My Music Taste using Machine Learning and Sentiment Analysis

16 mins
Peter Margaritoff's Gradients: Created with the average color of album covers for the top 2,000 songs on Spotify

Intro • The xx

Music is a complicated thing. No one fully understands why we’re drawn towards a certain song, or so frustrated by another. In the recent paper Musical Preferences are Linked to Cognitive Styles by Greenberg et al., studies showed that cognitive style, or how individuals process information, influences their preference of music. The first study showed the link between empathy levels and the genres of choice. The second studied the effect of E-S cognitive styles (based on the Empathizing-Systemizing theory) on musical preference. Subjects with a bias towards empathizing preferred music with low arousal (gentle or warm), negative valence (sad or depressing) and emotional depth (poetic or thoughtful). On the other hand, those with a bias for systemizing showed preference for music with high arousal (strong or thrilling), positive valence (lively) and cerebral depth (complex).

This connection between cognitive processing and musical preference is very interesting to me. Having never truly understood my affinity to certain genres of music, I was inspired to attempt to quantify my music taste using data, to really understand the similarities and differences across the music that I listen to. I was also excited to apply concepts from machine learning such as clustering and unsupervised learning, and from natural language processing such as sentiment analysis, to this project and understand what insights this might produce. I’ve also wanted to explore Spotify’s API for some time now, and this proved to be the perfect opportunity to do so.

And yes, each title in this blog post will be a song from my dataset.

Read more


The Death of Language

6 mins

“The wisdom of humanity is coded in language.”

Lyle Campbell, an American scholar and linguist known for his work on indegenous American languages, hints at a problem much graver than most would care to admit. Even as someone who can speak English fluently, there are times where it just seems more natural to speak in my native language, Hindi. It’s not that it’s any easier or more practical, it’s just that it seems more fitting in that particular situation. This is perhaps difficult to convey in words (isn’t that ironic?) but any bilingual speaker can confirm that instant connection you feel when you talk to someone in a native tongue, especially if it’s in a place where few people speak that language.

There is a Portugese word saudade, a term commonly used in Galician literature and heard in the music of Brazil. What strikes me most about saudade, and many other such words is that they are untranslatable to other languages, yet so undeniable potent. The concept of saudade portrays a meloncholy nostalgia for something that perhaps has not even happened. Take for example mamihlapinatapai, that is derived from the Yaghan language of Tierra del Fuego and known to be one of the hardest words to translate. It refers to an expressive and meaningful silence, the look that is shared across the table by two people where each understands the other and is in agreement with what is being expressed. I could go on with more examples of elaborate words in foreign tongues, but the point here is that there is a vast expanse of emotion captured in languages that is difficult to convey otherwise.

Read more