RC checklist for Indian Applicants

One Sunny Sunday morning one can get up and question their self-existence, or one can ask every few days or few months what am I doing at the current job? The answer will push you to a place you have never been. One can meticulously plan for extravagant programming tour or programmer’s pilgrimage for three months. Yes, that what my outlook of RC is! RC is a different place from a usual workplace, meetups, college or any educational institute. [Read More]

RC Return Statement

The Recurse Center is a free, three-month self-directed program for people who want to get better at programming. I attended fall batch 2 in 2016 from September to December. If you aren’t aware of Recurse Centre, take a couple of minutes to go through recurse.com and read the rest of the piece. Every day we open a significant amount of doors to get to desired places. Some doors are unique but look dull and plain, but the incredible universe behind the door hides excitement, adventures, gems, friends, and insights. [Read More]

RC Week 1011

EDHT I continued to work on the project and added the few features. Data replication - One of the main features of DHT is replicate the data across a subset of nodes in the cluster. Remember not all nodes! Depending on the number of copies to store, say N, the data is stored in N - 1 nodes starting from the primary node in the anti-clockwise direction. Routing - Every node in the cluster has equal responsibility, and there is no master. [Read More]

RC Week 1010

This week has mostly been calm and cold in New York. EDHT Distributed Hash Table implementation in Erlang is slowly coming along. The project now supports multi-node communication. The project uses bitcask which riak uses. Erlang’s Key/Value store data is local to the single process. Building Key/Value store from the ground up requires reinventing wheel and time consuming. The leveraging existing library made sense. Bitcask takes care of persisting the data to the disk and can access data without race conditions so far. [Read More]

RC week 1001

This week I spent most of the time on working with Zulip, Erlang and EDHT. Zulip This week, we (Stan, Jennifer and I) continued efforts on implementing message reaction. We made decent progress and had a good create reaction frontend. During the journey, we discovered an interesting bug. Debugging the bug on production minified JS with the debugger was fun. We are close to completing the completing the initial version. It’s still a few days away from closure. [Read More]

RC week 1000

This week has been quiet, bikeshedding, holiday week and unproductive week so far in RC. Zulip Zulip is a Python-based open source group chat. RC uses zulip for the internal chat. Unlike GitHub, zulip doesn’t support inline emoji reaction for messages. I am collaborating with Arpith and Stan Zheng to add the missing feature. The first time I came across the limitation of Django’s values method. If you’re considering setting up a group chat for your community or company, try out zulip! [Read More]

RC Week 0111

This week most of the time I spent learning Distributed Hash Tables and Erlang. That means I didn’t write a significant amount of code for the project. I am reading DynamoDB paper which is Distributed Hash Table and Distributed Key/Value store. Some implementation like etcd and consul provides Distributed Key/Value store but replicates all data across nodes. So those aren’t Distributed Hash Table. I am reading the one sections at a time. [Read More]

Side Project Feasibility

It’s common for developers to work on side projects. The reason why developers work on a side project is a long list of imaginable and unimaginable reasons. My main reason to work on a side project is to learn how things work or to build a utility program for use. One of my recent projects is to monitor the internet traffic and aggregate the traffic based on the domain name - bandwidth monitor. [Read More]

RC Week 0110

This week, I reached the first milestone of the project - imon which I worked on for past couple of weeks. imon is a command-line utility to record all network traffic and classify the data according to the domain name. Here is a high-level presentation of the project.I am looking for code review on the project and happy to answer any questions. I wrote a blog post about my experience with Rust. [Read More]

My Experience With Rust

When I was about to leave to RC in few weeks, wrote an E-mail to Puneeth asking for Do's and Don'ts at RC. One of the line in the mail said, Since you are a Python guy, don’t write any Python code while you are there. Do something completely different. I contemplated which language to choose. Other than Python, I knew a decent amount of Go-lang and Javascript. I previously attempted to learn rust but never dived deep into it. [Read More]