Blog posts

2016

Short Coffee Tour In Brooklyn

3 minute read

Published:

I was a staunch believer of “It’s Always Tea Time”. But then graduate school started and I felt the need for something stronger. That and the deliciousness of coffee. So I am largely a coffee person now. Its nice to be a coffee addict when staying in the vicinity of NYC. The city is full of cute little cafes that serve artisan coffee in a cozy setting. So this weekend we did a short coffee tour in Brooklyn. It was short because we covered only 3 cafes in the entire day. But the idea was to spend time reading in each of the cafes and enjoy the ambiance along with the coffee. This post is a story with pictures that hopefully captures the spirit of my coffee tour.

Between Semesters

4 minute read

Published:

I am in the place after the end of a semester and close to the beginning of the next. The semester break begins with the uncontrollable joy of having survived and the glowing hope of planned productivity. Or so it started for me.

2015

Student Again! Settling in at SUNY, Stony Brook

3 minute read

Published:

Until recently, I was a software developer working on routing protocols at Arista Networks. I had a lot of fun working for Arista. The work was challenging, I was learning new things and the stock options were insane! With the comfort of it all, I had a nice place stocked with plenty of books and cute little cafes in my neighborhood. Here’s a picture of my living room from that time:

It’s Always Tea Time

2 minute read

Published:

On an average working day, I have at least 3 cups of tea without sugar with very little or no milk. Weekends are more relaxed, I make a pot full and keep sipping tea to fill the interstices of my day. Recently, I read this article about ways of brewing tea. More than the style of making the perfect cuppa, I was amazed to know both George Orwell and Douglas Adams were passionate tea drinkers. In his essay, A Nice Cup of Tea, Orwell says,

Source Code Browsing In Emacs

1 minute read

Published:

Its extremely important to be able to navigate a large code base effectively. I have been taking good tools for source code navigation for granted at my workplace. But most of my personal, side projects were small enough for me to get by without such tools. Either that or I was being lazy.

2012

The New Interface

less than 1 minute read

Published:

In order to generate BIND files for PDNS configuration the weight, priority and port corresponding to each server entry is also required. So, I added those fields in the web application and the corresponding fields in the SQLite database. Here is a screenshot of the new interface:

Generating PDNS Config File: Optimization

less than 1 minute read

Published:

Taking up the issue stated in the last post, in this post I will elaborate on the optimization that reduced the time taken for generating the mapfile from 5 hours to one second approximately.

Generating PDNS Config File: Part 2

less than 1 minute read

Published:

In this post I will describe recent changes to the Flask webapp. On clicking the Plot Voronoi button, it also generates the map file pdns.config that maps networks to mirror servers’ pseudo IPs.

Removing a Mirror Server from the Database

less than 1 minute read

Published:

From where I left last week, I added checkboxes for every entry (mirror server) and made all of them submit to the /delete URL when the Delete Selected button is clicked. Then, in the delete method, I checked the entries for which the checkbox was checked and deleted them from the database.

Adding a Mirror Server to Database

less than 1 minute read

Published:

This tiny post shows how to add a server titled Test with a URL google.com. Here is the confirmation screen with the entry added!

Flask Web Application

1 minute read

Published:

In this post, I will describe the Web application I have setup. This application basically uses a Sqlite3 database to store the information of all the CVMFS servers. It shows the list of servers currently in database. If the user is logged in, he/she can add to the list of servers. They only need to add the name of the server and the URL. Then the application performs a GeoIP look-up and adds the server’s latitude and longitude to the database.

Generating PDNS Config Files: Part1

3 minute read

Published:

While setting up PowerDNS with geobackend, there are a few configuration files that need to be supplied. In this post, I will talk about how I am trying to generate the geo-ip-map-zonefile.

Annotated Map Plots

1 minute read

Published:

It was getting hard to debug the code which was calculating the networks allocated to each Voronoi cell. So I added annotations to the map to make it easy to decipher which server is named what.

Buckets of Networks

2 minute read

Published:

This is in continuation with the previous post: Data Visualization: Part 3. In the Python application that generates Voronoi polygons for the server locations, I needed to find how many networks in the world lie in which Voronoi cell. So here’s what I did:

Data Visualization: Part 3

1 minute read

Published:

Visualization for Offline Purposes

While the JavaScript visualization described in Data Visualization: Part 2 works within the browser, there is a need for building an application that allows manipulation of the mirror server data along with visualizing it. So, in this post, I will describe the construction of Voronoi diagrams in Python.

Visualizing Data: Part 2

1 minute read

Published:

This post is in continuation to the [Visualizing Data: Part 1] (http://racheesingh.github.com/2012/06/09/visualizing-data-part-1/) post. That post was about plotting the locations of servers on a world map (using JavaScript and the third part library d3.js). In this post, I will use d3.js’s built-in functions to plot the Voronoi diagrams, dividing the map into regions/cells.

Visualizing Data: Part 1

1 minute read

Published:

In this post, I am trying to visualize some data on a map to get a fair idea of how things are distributed.

Domain Name System and nslookup

3 minute read

Published:

Domain Name System (DNS)

DNS is a distributed database containing names and addresses of all reachable hosts on the Internet. While attempting to connect to a domain name (for instance: www.google.com), a host first checks its hosts file (for instance: /etc/hosts) for an entry corresponding to the domain name. If this entry is not in the hosts file, the host sends a query to its primary DNS name server. If the primary name server does not have the appropriate record, it forwards the query to a server higher in the domain name hierarchy [1].

About CERN VM File System

1 minute read

Published:

What is CERN VM File System?

CERN VM File System is a client server file system developed to deliver software distributions onto virtual machines in a fast, scalable and reliable way.

GSoC 2012 with CERN SFT

less than 1 minute read

Published:

As a part of Google Summer of Code 2012 I am working on a project with CERN SFT as the mentoring organization. The project is titled “Continuous cartography of public network services”. In this project I will be working on an algorithm that maps IP addresses of CERN Virtual Machine File System clients to mirror servers in such a way that network latency is reduced. I would also be building a web application to allow administrators to dynamically add/remove mirror servers. The application should allow for visualization of mirror locations across the globe on a Google/OpenStreet map.