Image for post
Image for post
Many legacy electronic devices can be IoT-ified inexpensively. Image by Gerd Altmann from Pixabay

I’m fascinated by the idea of smart consumer electronics. When it comes to tools I use on a daily basis, I’m sort of a control freak and like to utilize them as much as I can, from wherever I can. Unfortunately though, some of these tools are legacy electronics, like my air conditioner, and I simply don’t want to spend money buying a new smart AC because this one just works fine. So for quite some time, I had been wondering if there was a way to smart up my AC in a cost-effective manner. I then realised last week…


Musings from the Life and Times of Prof. Albert Einstein

Image for post
Image for post
Image by Robert Csipa from Pixabay

“We live in a world in which courage is in less supply than genius.” — Peter Theil

Whenever we see or hear the name Albert Einstein, the word “genius” pops up in our minds. But what’s often overlooked is that his courage was far more prominent than his seemingly infinite genius, evidences of which are explained in the forthcoming words.

Born on March 14, 1879 in the small city of Ulm, Germany, Einstein was quite an intelligent person right from his childhood. During his school years, he often used to…


Belated tribute to one of the coolest wearable tech products

Image for post
Image for post
Image Source: Pixabay on https://pexels.com

I am a big fan of wearable tech in general, especially smart watches. Any decent smart watch out in the market is a great product to own because of several factors — among other things, it makes your life easier, motivates you to stay fit, and, of course, helps you keep track of time.

While all smartwatches are great, in this article I want to talk about Apple Watch Series 3 with GPS + LTE specifically because it has added a lot of fun to my life for the last…


Image for post
Image for post
Cadets Sweating through a Bootcamp. Source: skeeze from Pixabay

On the 1st of July 2020, I joined Gojek as a software engineer. As is the tradition, I have to undergo an extensive training program, called “Bootcamp” internally, before I can get my hands dirty on production code at Gojek — spot on, I thought. I don’t want to sweat after committing buggy code that can potentially hinder the lives of hundreds of millions of people who use the superapp across southeast Asia! 😅

Well, today marks the end of a milestone in this learning journey — as part of my pre-bootcamp phase comes to a conclusion. …


Getting familiar with AWS Ground-Station-as-a-Service

Image for post
Image for post
Photo by Donald Giannatti on Unsplash

Such a statement must’ve sounded like a sci-fi short story headline just a few years ago, but what follows below is very much real, thanks to modern cloud computing.

I’ve always been curious about how firms like ISRO, NASA and weather companies handle streaming of their data. Consider this usecase: how does NASA’s CYGNSS Mission handle exchanging data with their hurricane-monitoring satellites? At a birds’ eye view (no pun intended), their architecture is quite simple: have a set of “ground stations” placed across different regions on Earth, that control and communicate with satellites as they pass over them during their…


Image for post
Image for post

Despite great strides in innovative learning, modern curricula, content and enhanced accessibility, the current education industry has failed in one key responsibility. Educators have been consistently ineffective in connecting students with higher opportunities — be it in industry or academia. Even after services like LinkedIn, there is a wide gap between skills required by industry and those possessed by students. It has been reported that, in the country with the largest youth population, India, only 7 percent engineering graduates employable! More specifically, just 3 percent of engineering graduates have suitable skills to be employed in the software market. …


Image for post
Image for post

In a rapidly changing and increasingly competitive tech world, developers always feel a need to enhance their skills and learn new technologies. There are many ways to showcase skills, be it a side project, an endorsement from someone and so on, but the most prominent way to validate your skills is that of certifications. Speaking of myself, I’ve been a Python and C++ developer mostly and wanted to broaden my skill-set to include the super popular programming language JavaScript. Although I had taken few online courses on JavaScript, I always lacked confidence in my JavaScript skills, because I had learned…


Image for post
Image for post
Numbers are always fun!

You’re organizing a hackathon and decide to give free cloud storage as prizes to the winners. For the prize fund, you’ve got 1024 GB of cloud space. You would be giving these gigabytes with the condition that a higher place in the hackathon gets a larger amount of space. Since you want to make as many participants happy as possible, you want to find the maximum number of places for which you’ll be awarding the prizes. …


Tkinter + sockets in less than 150 lines of code

Image for post
Image for post
It’s Always Good to Have a Conversation!

Not too frequently, you happen to create something astonishingly simple yet fun to use thing, and you just can’t wait to share it with the world.

That’s exactly what happened to me, and indeed I’m here to share how I made a simple chat app with quite concise Python code. What’s more; I’ve implemented the code without any third party dependencies! So let’s just dive in!

First, I created a chat server through which can recieve incoming requests from clients wanting to communicate. For this, I used good ole’ sockets…


Because synchrony is harmony

Image for post
Image for post
Inside Python’s plethora of features, the language supports a multitude of synchronization primitives. Image source: Heroku’s Python Haiku Art

It was a magical, “aha!” moment when I first learned about multithreading. The fact that I could ask my computer to do actions in a parallel manner delighted me (although it should be noted here that things don’t happen precisely in a parallel manner on a single core computer. More importantly, they don’t precisely execute in a parallel sense in Python due to the language's Global Interpreter Lock). Multithreading opens new dimensions for computing. But with power comes responsibility.

There are obvious troubles one can imagine with multithreading — many threads trying to access the same piece of data can…

Saurabh Chaturvedi

Passionate. Pythonist. Perfectionist.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store