Image for post
Image for post
https://unsplash.com/search/hitchhike?photo=VGOiY1gZZYg

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 not a great fit. These paths could be parts of code which are executed very often or which need to be as quick as possible. For example, Jinja2 is a very popular templating library in Python. In turn, Jinja2 depends on MarkupSafe. In order to make escaping strings as fast as possible, the functionality is implemented in C. …


Image for post
Image for post

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 is a ball that is passed around and only the person with the ball talks. …


Image for post
Image for post
https://www.flickr.com/photos/aloshbennett/3209564747/in

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.

Types

https://twitter.com/caulagi/status/487862892180426752

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)

Stdlib

Talk small and carry a big class library — James Robertson, about Smalltalk. …


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. Of course, I have used Django and Nodejs for several hobby projects as well. …


Image for post
Image for post
http://www.hattira.com

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? …

About

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