RSSAmplifier

Blog

Sudarsan's Blog

Sudarsan's Blog

localhostRSS feed ↗9 posts

Latest posts

About Me

Computer programmer who enjoys Go, Rust, Systems and Network Programming and Distributed Systems problems. I’m currently obsessed with eBPF, Wireguard and Wireshark. Previously I helped build Cloudflare Tunnels and Cloudflare Warp-Connector (on the Data on-ramping side).

Getting Cloudflare Tunnels to connect to the Cloudflare Edge with QUIC

This was a project I personally drove and delivered on whilst working on Cloudflare. During that time, I ran into a really interesting problem getting it to work on Cloudflare’s complex distributed edge. I try and walk through that debugging story here with some gentle introductions by usage to tcpdump and strace . The full blog post written by me is here

Cloning boxed traits in Rust

I enjoy coding with Rust’s composition system. It’s nice to also have generics. It makes adding and incorporating changes rather nice. I recently ran into a problem when I wanted to copy a group of boxed traits. Lets start from the beginning. Imagine we have an http client that makes requests give a URL. Like so… use reqwest::{Client, Method, RequestBuilder}; struct Cl { client:…

Resume

A little code generation in Go in 2020.

Perl gives me headaches. But I’m fond of one of Larry Wall’s three virtues : Laziness . This is a story of how sometimes laziness lets you do fun things. Distributed systems and microservices are as ubiquitous as the coronavirus in 2020. This results in a requirement for a lot of integration. And a nice way to maintain the glue code is to use SDKs rather than have multiple services…

How I got a 100 Dollar toy drone to follow me around.

It’s that time of the year again when I decide to add to my blog. It was my birthday last week and I decided to buy myself a small DJI drone to hack with. I wanted to get something lightweight, cheap and easily replaced. The DJI Tello so far has turned out to be delightfully sufficient for my criteria. The video is here . The experiment I set out to do is to have the Tello latch on to a face…

Why types are elegant

I’ve been working with Go(for work) and Rust(for fun) lately. I got pulled into the two languages for different reasons (easy concurrency and memory safety respectively) and ended up staying for a totally different reason altogether. Their type systems. Composition instead of inheritance feels elegant, right and very readable. I’m going to talk about something that happened today when…

Training a simple gender classifier with Python and Predicting with Go

Ever since Tensorflow released Bindings for Go, I’ve been itching to give it a go. The ease of deployability with Go and microservice friendliness and even simple http performance improvements make it really handly to build a working prediction application with Go. The immediate and apparent downside for anyone who’s tried to train a model is how unintuitive scoping is with Tensorflow…

Env variables

Ever wake up on the symmetrical side of the bed? Like at the middle? Yep. That�s when you decide that you are never going to (ever) code in constants in your application. So how do you get them? Configuration files? JSONs? Yamls? Environment variables are more elegant and easier with a docker-compose no? 12 factor apps are what cool kids are doing these days (read three years ago). And it makes…