Rear Mirror: 2023
Kin ma ke bi Cherubim (And let me cry like a cherubim) I'm coming off the heels of one of my best years at the time. An okay-ish semester, IT placement is settled, we are preparing to share the app we've been working on with the rest of the world, and I just hit my longest tenure in a full-time role. I look back fondly now, because even at the time - I did realize I was living in a miracle.
Read more…Bias for Finishing
At Percona, there’s a habit where the most important task is the one closest to being completed. This means if I’m working on a feature and get a request to review a co-worker’s code, that review becomes more important than whatever I’m working on (all things being equal). I like how this accentuates the idea of not just “teamwork” but finishing what you started. I call it bias for finishing, named after Amazon's bias for action.
Read more…Tiny Learning Milestones
One of the more impactful things I've read recently was Julia Evan's post on Celebrating Tiny Learning Milestones. I found it especially helpful because I'm a slow learner, which means goals like finishing a book or completing a course can be quite daunting. As a result, when I set out to learn something new - it helps me to isolate areas and moments on the learning path that gives me little endorphins.
Read more…Exploring Storage Architectures
I started contributing to the Thanos project a while back and one of my first tasks was to learn about the different ways we could store files. I knew about file storages, S3, and a couple of other object storage implementations but I never really thought of them as related - or why to use one over another. Learning about other architectures turned out to be a fun rabbit hole with a whole lot of new things to learn - depending on how deep you want to go of course.
Read more…Building an In-Memory K-V Store in Rust
Over the weekend I decided to learn a little more Rust with PingCAP's PNA course. The first lesson involves writing a tiny key-value store that lives in memory - which means no need to bother with complicated I/O calls (yet!). The final application is supposed to support these operations: kvs set <KEY> <VALUE>: Set the value of a string key to a string kvs get <KEY>: Get the string value of a given string key kvs rm <KEY>: Remove a given key.
Read more…IPs and Subnets
The other day, I came across ipcalc - a tool that helps you calculate subnet-related info like broadcast IP, network ID, host range, etc - and I thought it'd be fun to learn what goes on under the hood. I ended up learning more about how IP addresses (and the internet) work - as well as what did go on under the hood. NOTE: IP in this post refers to IPv4 since subnets in IPv6 are for entirely different reasons anyway
Read more…Verbalizing Emotions
One of the thoughts that have plagued me these past days was about how words come natural to some people. I’m not talking about perfect oration here, more about how some people always seem to have the perfect reaction and responses to whatever someone else is telling them - new job? Share with them and watch them scream with so much excitement you start to feel you’re not even excited enough.
Read more…Gitlab vs Github, and Git
If you ask anyone or anything about a git hosting platform to use, Gitlab and Github will consistently show up across all of your answers. In truth, the answer is always “it depends” (as with everything in software development). I've been using both for a while so we'd try seeing when/why to use one. Or both. What exactly is Git? Git, not to be confused with either Github or Gitlab is a system that:
Read more…Using Dig
Sometime back, I stumbled across this command that helps you lookup your public IP address from the terminal: dig +short myip.opendns.com @resolver1.opendns.com and it sent me down a fun rabbit hole of the dig command. Here are some things I found: What's dig? dig - short for Domain Information Groper - provides a nice CLI to find DNS/DNS-related information about a domain name, a server or just an address. It comes as part of the dnsutils package
Read more…