I have decided to build and run my own blog at https://blog.caulagi.com.

Photo by Stefan Lehner on Unsplash

In Structure and Interpretation of Computer Program, Abelson, Sussman, and Sussman suggest asking three questions when trying to understand a programming language —

  • What are the primitive elements?
  • What are the means of abstraction?
  • What are the means of combination?

These are my favorite questions to ask when looking at and trying to understand systems as well.

In my previous role, I was working as a backend engineer and spent a few months making sure our rest-based microservices worked in Kubernetes. I made sure the applications worked well in containers, fixed logging and error reporting and health endpoints. My only…


I gave a talk the other day at Python meetup in Stockholm with the same title. I wanted to also put it online as a post in case anybody is interested in using Rust from Python. (If you fancy watching a video instead, scroll to the bottom).

I like working with Python. I have been working with it for a few years building web-applications. It is an expressive language, there are libraries for almost everything I need, it is quick to try out ideas or to build features and I feel productive.

However, for critical paths in applications, Python is…

No, I am not an agile coach who has helped many teams deliver great results. I am just a developer who has read a couple of books on agile and taken part in my share of standup’s. I am now at a stage where I don’t see the value they bring. Why do we need them anyway?

The way I have practised standup’s is — each member of the team provides a brief update on what he worked on yesterday, what he will do today and if there are any blockers. I have also seen variations of this — there…


I had been wanting to try some new features of Python 3 for a while now. I recently found some free time and tried concurrent.futures. Concurrent.futures allows us to write code that runs in parallel in Python without resorting to creating threads or forking processes.

We will use the following problem to write some code — write a script that downloads images over the internet to a local directory.

Our test setting will use the built-in http server that comes bundled with Python. …

I spent the weekend playing with Go. Specifically, I built a simple HTTP static file server. I have some first impressions.



I am a recent convert from a dynamic languages advocate to the need for static typing. I have recently spent far too much time than I would have liked fixing problems in production that should have been fixed at compile time. The compile errors and function signatures like this are almost musical —

func serveFile(w ResponseWriter, r *Request, fs FileSystem, name string, redirect bool)


Talk small and carry a big class library — James…

Why, sometimes I've believed as many as six impossible things before breakfast.

The table was a large one, but the three were all crowded together at one corner of it: `No room! No room!’ they cried out when they saw Alice coming. `There’s PLENTY of room!’ said Alice indignantly, and she sat down in a large arm-chair at one end of the table. — A mad tea party, Alice in Wonderland

We have been using both Django and Nodejs at WWStay. We use Django for the customer dashboard and backoffice applications. We use Nodejs for the web application that aggregates different hotel rates from various vendors and presents it to the frontend…


Some experiences building a Nodejs project

I still remember my first conversation with our architect when I joined Yahoo! I had just introduced myself. As soon as I told my name, he said, “Ah! I have heard about you. They tell me you have opinions about everything!” He definitely thought me as a bit of Clouseau.

Last month, I worked on a Nodejs project in my freetime — hattira. It is a community driven listing of events in a city. The idea was to answer the question — what is happening in city X? …

Pradip Caulagi

Backend engineer interested in distributed systems and programming languages — https://caulagi.com

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