• 10 Years of Gym: A Journey from Skinny to Fit

    I was always a thin guy growing up. In college, I was 6 feet tall and weighed around 65 Kg (143 lbs). I could walk long distances, but I could barely run. I would get tired immediately and could not play most sports. I could barely carry my own luggage. After joining a job, I…

  • Laptop Review – Thinkpad X1 Carbon Gen 9

    I needed a new laptop for quite some time as the current one is almost 10 years old. I have been using a 2012 Thinkpad T530 which is very capable and built like a tank. It has survived two drops from 3-4 feets with only minor damage. Unfortunately it weighs like a tank too. The…

  • Agile Retrospective for team improvement

    Agile has been followed in some form or the other all the software development teams that I have worked for. Most teams used sprints and daily scrum meeting only. Some teams used sprint planning meetings where you decided the ticket that you would work on during the sprint. I have often seen that the Product…

  • Things I learned in 2019

    I work in a very small team of three engineers which does not leave much room for dedicating resources for managing infrastructure. We wanted explore managed AWS solutions so that we can focus on delivering features without worry about scaling the infrastructure or dealing with maintaining servers. This post briefly describes the new technologies that…

  • Setting up screen on linux

    Screen is a program that runs in terminal and allows you to create multiple terminals with one ssh login. It runs in background so that you can attach to the same session if ssh disconnects. Its particularly useful when you are using mobile data or have to leave some process running in foreground. You can…

  • Working with docker

    During migration of a website which has not been updated in a while, it occured to me that docker will be ideal for this website. It did not have a lot of traffic and business impact was also less. So I gave myself a few days to deep dive and learn it. The documentation and…

  • Spark streaming reduceByKeyAndWindow unstable application

    I wanted to run a job which runs 24×7 and which reports if certain keywords occur more than a N times in the stream. Spark streaming looked a ideal candidate for this task. Spark has a reduceByKeyAndWindow function which was exactly what I was looking for. I decided to use a window length of 1 minute and…

  • Spark streaming: Fixing all executors not getting jobs

    I was working on a feature recently which needed a streaming job that runs 24×7 and processing 100 million rows per day. The spark web ui is a wonderful tool to look at how things are running internally. While debugging I noticed that the streaming jobs were getting allocated to only one machine. Spark has…

  • Sending mails from munin using custom command

    We use Sendgrid for email delivery on our cloud. Using custom commands in munin can be tricky. After struggling for some time I wrote a small python script to send emails from munin using sendgrid. Add this line to munin.conf contacts mycontact contact.mycontact.command /usr/bin/sendemail alerts@example.com “[Munin] Alert for ${var:host}” “warnings: ${var:wfields} / criticals: ${var:cfields}” contact.mycontact.text text…

  • Motorcycle review: Bajaj Avenger 2013

    I bought Avenger in July 2013. Specification can be read at http://www.bajajauto.com/avenger/. I have toured extensively in Karnataka and Leh, so I think this review will definitely help you make up your mind. General: Engine: The 220 cc engine gets you off from 0-60 pretty quickly. This is a cruiser so couple of seconds does not…

Got any recommendations?