samwho.dev

Personal website of Sam Rose.
https://samwho.dev/blog/ (RSS)
visit blog
Turing Machines
20 Dec 2024 | original ↗

body { text-wrap: pretty; } @media (prefers-reduced-motion: reduce) { * { transition: none; animation: none; } } turing-machine { width: 100%; display: block; position: relative; padding-bottom: 1em; } turing-machine .program-container { position: relative; display: flex; ...

A Commitment to Art and Dogs
1 Jun 2024 | original ↗

.dog-line { display: flex; flex-wrap: nowrap; flex-direction: row; width: 100%; height: 10rem; margin-top: 2rem; margin-bottom: 2rem; } .dog-line img { flex-grow: 1; height: auto; margin: 0; padding: 0; object-fit: contain; } .dog-grid { display: grid; grid-template-columns: repeat(4, 1fr); grid-gap: 1rem; ...

Bloom Filters
19 Feb 2024 | original ↗

.bf { width: 100%; height: 150px; } @media only screen and (min-width: 320px) and (max-width: 479px) { .bf { height: 200px; } } @media only screen and (min-width: 480px) and (max-width: 676px) { .bf { height: 200px; } } @media only screen and (min-width: 677px) and (max-width: 991px) { .bf { height: 150px; } } form...

Memory Allocation
13 Apr 2023 | original ↗

.memory { width: 100%; margin-bottom: 1.5em; margin-top: 0.5em; } input[type=range]:focus { outline: none; } a[simulation] { cursor: pointer; } .size { color: #0072B2 !important; font-weight: bold; } .free { color: #009E73 !important; font-weight: bold; } .allocated { color: #D55E00 !important; font-weight: bold; }...

Load Balancing
10 Apr 2023 | original ↗

.simulation { width: 100%; display: flex; justify-content: center; align-items: center; margin-bottom: 2.5em; } .load-balancer { color: black; font-weight: bold; } .request { color: #04BF8A; font-weight: bold; } .server { color: #999999; font-weight: bold; } .dropped { color: red; font-weight:...

Practical Problems with Auto-Increment
25 Mar 2023 | original ↗

In this post I'm going to demonstrate 2 reasons I will be avoiding auto-increment fields in Postgres and MySQL in future. I'm going to prefer using UUID fields unless I have a very good reason not to. # MySQL If you're running an older version of MySQL, it's possible for auto-incrementing IDs to get re-used. Let's see this in action. $ docker...

Getting an Autism Diagnosis
2 Mar 2023 | original ↗

On the 3rd of March 2022, we received a letter informing us that our eldest son, Max, has Autism Spectrum Disorder. The letter was the end result of a long process. I’m going to talk about that process from start to finish, in as much detail as I can. This post would not have been possible without my wife's dedication to our 2 children, her...

I finally figured out how to take notes!
14 Feb 2022 | original ↗

I’ve never been good at taking notes. I’ve tried. Oh boy, have I tried. Name a piece of note taking software, odds are I’ve tried it. I’ve even tried going old school with pen and paper. Nothing sticks. Until recently. Some time ago, I learned about Apple’s Shortcuts app. It’s an app on iOS, iPadOS, and MacOS that allows you to automate actions...

Adventures in Homelab: Part 1
2 May 2021 | original ↗

If you work in tech, and you use the cloud in any way, you've probably heard of Kubernetes. It's inescapable now, and there's no shortage of takes on it. I've worked in a few companies that have used Kubernetes, but never been close to it. I've used in-house tools that communicate with it, or CI/CD systems that deploy my code in to it...

Simple Complex Easy Hard
18 Apr 2021 | original ↗

You might have noticed the last time you were doing chores or tackling a tricky problem at work, that when something is hard it's not always hard in the same way. The hard you experience when doing chores, that mindnumbing , I-can't-be-bothered hard, is different to the hard you might experience when debugging an elusive bug in a distributed...

Scale is Poison
9 Mar 2021 | original ↗

It's March 9th 2021 and Google Calendar still doesn't have a dark mode. The iOS app update notes for the Just Eat app are still boasting about the app now supporting contact-free delivery, and have done for all 25 releases in the last 11 months that I can see on the App Store. Twitter's TweetDeck still doesn't support creating or participating in...

Fun With Rust's Traits
17 Oct 2020 | original ↗

Rust's trait system is wonderful. Everyone I know that has used it agrees with this statement. It's a great way to encode shared behaviour between data types, and create flexible APIs. It's also great for writing nonsense like this: use std::f64::consts::PI; use lisp::prelude::*; fn main() { let r = 3.0; let res = eval((mul, PI, (mul, r,...

Dude, where's my main?
12 Sept 2020 | original ↗

So I was writing a debugger. You know the sort of thing: breakpoints, stepping, checking the value of variables. It was going wonderfully until I tried to debug my debugger with my debugger. main was just... gone. It would run, but trying to set a breakpoint on it crashed the program. It took me weeks to figure out why. This is that story.

Having a Baby
3 Apr 2020 | original ↗

During the pregnancy of our first child, I kept a journal. I don’t keep journals. I don’t feel like I have much to say in them. This was different. The whole experience was new, and there was a lot to learn. This post is a cleaning up and stitching together of that journal. It has ups and downs. It has useful tips and useless anecdotes. I’ve...

↑ These items are from RSS. Visit the blog itself at https://samwho.dev/blog/ to find everything else and to appreciate author's digital home.