The people who use our boards.
330 interviews since 2018
The people who use our boards.
Sreedev Kodichath
Senior Software EngineerWho are you, and what do you do? What do you like to do outside of work?
Hello, I am Sreedev Kodichath. I’m a Senior Software Engineer from India, currently living in Brooklyn, New York. I work at TuneCore, a music distribution company. I specialize in building large data-processing pipelines, finance & taxation systems, and legal compliance software. Even though I mostly use Ruby and JavaScript at work, I’ve been using Rust, Elixir, and TypeScript extensively in my open source projects.
Outside of work, I go on food-exploration drives with a friend of mine to different places in and around New York, where we try out different cuisines and restaurants or grab a beer and play pool or go bowling with a few friends within the city.
I am also an amateur radio operator (callsigns: KD2ZWB & VU2JWE). I don’t go on the air a lot these days, but I do some shortwave listening once in a while.
Most of my time is spent on learning new languages & abstract mathematics, and contributing to open source software. I love working with microcontrollers, writing drivers, hardware abstraction layers, etc., mostly in C/C++ and Rust (more recently Zig). I also share things I learn on Medium or my blog, Devtechnica.
What hardware do you use?
My primary machine is a Dell Precision laptop with the following specs: Intel® 12th Gen Core™ i7-12800H processor, NVIDIA RTX A1000 Mobile (4 GB) GPU, and 32GB RAM.
I also run a home server on a Mini PC with an Intel® 12th Gen Core™ i5-12450H processor and 16GB RAM.
I am planning on building a workstation PC soon. But haven’t started the work yet. Some of the other hardware and accessories I use include a HUION 420X graphics tablet, a Logitech F710 game controller, and a Raspberry Pi 4B (primarily to run a DNS server for my local network).
And what software?
There are far too many open source software and tools I rely on to list. But I’ll list some tools here that have a significant impact on day-to-day operations.
The operating system I daily drive is ArchLinux (btw). On my home server, I run NixOS with all hosted apps containerized using Docker. I use Neovim (also btw) for text editing and will talk about my 1400+ lines of Lua config every chance I get (I regret nothing). Desktop environments are bloat, so I use the i3wm window manager and sometimes switch to dwm just to apply some patches, break the build, and switch back to i3.
Alacritty with tmux and zsh offers the peak terminal experience. The newer alternatives to these software do intrigue me sometimes, maybe I’ll give Zellij and Nushell a try someday.
Firefox with some security hardening is my web browser of choice. I do want to try the Ladybird browser once figure out what’s causing the build to break on my computer.
In no particular order, here are some more tools that make life easier: Taskwarrior, Vim (R.I.P Bram), Newsboat, csvlens, Bat, Dust, fzf, jq, Zoxide, and zathura.
On my server, I run around 75 different services, but the software I rely on and appreciate the most on my server are OpenZFS, Grafana, Podman, and PhotoPrism.
I have a meticulously maintained dotfiles repository for all of the tools I use.
What’s your keyboard setup like? Do you use a custom layout or custom keycaps?
I own four keyboards and no, I don’t have a problem (help). I actively use two of them. The ZSA Voyager with Kailh Brown low-profile switches (QWERTY layout) is the primary keyboard that I carry around along with my laptop. The other keyboard is a Keychron Q2 Pro with Kailh Brown switches. I use it with the home server primarily. Even though I use the QWERTY layout with my Voyager, I have remapped a few keys to make things easier for me.
I do eventually want to switch to the Dvorak layout, but doing that would mean remapping shortcuts on all the keyboard-first software I use, like i3wm & (neo)vim, and I am not ready for that kind of commitment at the moment.
What would be your dream setup?
Since I’ve been experimenting with self-hosted LLMs and other machine learning models, the limitations of the hardware I own have only been amplified. So the simple answer to this question is MORE POWER!!! Something like a 96-core AMD Ryzen™ Threadripper™ PRO 7995WX for my CPU with unreasonable amounts of RAM (I am talking 256GB+). For the GPU, I can settle for an Nvidia H100 80GB (/s).
For the home server, I hope to have a rack with 5 ARM servers running a Kubernetes cluster all declaratively configured (maybe using nix & k3s).
Even though my primary workflows are all minimal, the more recent developments in large language models that I have been experimenting with have been resource-consuming beasts. The real dream is to have enough compute to tackle all the problems and experiments I throw at my workstation. The dream specs are very much reflective of that.
In terms of the aesthetics, Stable Diffusion was able to capture the essence for the most part.