Tech
The people who are crazy enough to think they can change the world are often the ones who do
~ Steve Jobs
I'm an engineer by trade and passion, so technology is a huge part of my life. You can check out my projects and my Proof of Work, but it's probably easier to check out my Github to get an idea of exactly what I like doing.
Helping grow the tech community at a student level and establishing a culture of shared learning and knowledge-sharing is something I've been passionate about, which I've tried to establish through my time as the Founding Core Team Lead of Hackerspace PESUECC. I'm also passionate about FOSS and the FOSS Community, which I worked on through Homebrew by HSP PESUECC.
Interests
Technologies
- Distributed Systems - Endlessly fascinating. It's a wonder the internet works as well as it does. Furthermore, consensus and maintaining data consistency in the face of high load and handling the inherent chaos of the real world is an extremely interesting part of distributed systems.
- Databases - these were always black boxes, so it's very interesting to peel back the covers and see that it's just really clever systems engineering all the way down.
- Distributed Databases - Systems like CockroachDB, Cassandra, Dynamo, BigTable, F1 are all continuous sources of learning and inspiration for me.
- CRDTs - So cool, and definitely the frontier for offline-first distributed systems
- Kubernetes - Massive Orchestration at scale! The controller pattern is cool, and so is the declarative approach.
Programming Languages
- Rust - My introduction to systems programming and my current favorite language.
- Golang - The concurrency model is very neat, and It's easy to write concurrent programs - I prefer golang for networked services / programs
- Python - My first language, so I'm still somewhat fluent!
Why Databases / Distributed Systems?
Building the Electronic Election System really showed me how under-appreciated databases are. It looks and is treated like magic, but under the hood it's all just really clever engineering. Databases can scale to handle multiple thousands of requests on a single computer, and they can do it without making things go wrong.
The internet is the original distributed system; it's amazing to me that so many different computers can co-ordinate to achieve a shared goal, and doing it fast and well is a thing of beauty. My interest in distributed system started with Blockchain, from facebook's Libra Coin paper. The concept of Byzantine Fault Tolerance and how it withstood attacks on the network really fascinated me.
Eventually learning about Consensus along with the Raft Algorithm, and seeing how database companies used these algorithms to make sure that their data stays consistent in the face of extreme load and over hundreds or thousands of computers, was and still remains a topic of massive interest to me.
Some Select Posts
Saaru - Rust India May 2023 Meetup → this is about Saaru, a Static Site Generator...
A summary of "Error Handling in Rust" → I attempt to summarize an article by @burntsushi5...
Rustlang 101 → Let's Learn about Rust!...
Investigating an Internet-Connected Lightbulb → How I found out I don't really control the lightbulb in...
Why Systems? → What draws me towards systems?...
The Mechanix of Software Engineering → Connecting the dots (or rather, the parts)...
Jumpnet - A Distributed Kafka Clone → Replicated Log Misuse to pass messages!...
Building Github bots with BunSamosa Bot → Building a Golang-based Github Bot for ACM PESUECC Hack...
Refactoring a Large Function in Go → I write about a challenge I faced at work, and how I so...
Decorators by Example in Python 🐍 🍩 → Trying to understand what a decorator in Python is, and...
Fixing a Bug in Meilisearch → How I made my first Hacktoberfest 2021 Contribution in ...
You Wouldn't Unlock a Mutex! → Did you know that you can't unlock a Mutex in Rust?...
Git Up and Running (Git 101) → This post is my best attempt to put into words a talk I...
My Projects
Saaru [Github]
A static site generator written in Rust
Gatekeeper [Github]
An Application to issue and validate QR-Code based invites via email to school students
Chick-Bot [Github]
A Github Bot to assist in the conduction of ACM PESUECC HackNight 2021
Tic Tac Toe AI with Minimax [Github]
A Rudimentary AI for Tic Tac Toe using Minimax with no pruning written in C
Scotty [Github]
A python program to transfer files over LAN
Displacement [Github]
A Small FTP Client written in Rust
Hypeviewer [Github]
A Clone of the `pv` (pipeviewer)
Mirage [Github]
A basic markdown parser written in Rust
BunSamosa-Bot [Github]
A Github bot to power ACM PESUECC's Hacknight 3.0, written in Golang
Swiftlib [Github]
A Django Application to manage a small library
Hacknight Leaderboard [Github]
A ReactJS Competition Leaderboard to display scores and rankings
SocketPrompter [Github]
A Simple Flask-based teleprompter
Electronic Election System [Github]
A cloud-based electronic election system for school cabinet elections
Jupmnet [Github]
A Distributed, Lightweight Kafka Clone
Savaal [Github | Live Deployment]
A Simulator for competitive exams written in Vue