Something akin to a blog. Thoughts, photos, and relevant updates are collected here, click a tag to narrow by interest.
🔖
Weekly Roundup: Apr 18, 2025
Working for a small agency I am fortunate to work on a number of fast moving projects simultaneously. For years I've fai...
Experience has shown that if you put out a bug bounty your server will be hit repeatedly with requests to `/wp_admin` fo...
Personal Heuristic: Make it Readable
I wrote this post back in January, just dusted it off to post today as I attempt to get back on the blogging horse.
***
...
Wintering: The Power of Rest and Retreat in Difficult Time
Reading 80% of this book was an exercise in torture. I'm always a little wary of personal memoirs cum self-help books bu...
Today I Learned ~D[2025-01-10]
Today's TIL has a twist ending... so stick around.
Elixir has a shortcut for creating anonymous functions. I've alway...
Morning walk
Interesting things I passed on the way to the library with my daughter here in Guelph.
Merry Christmas everyone!...
OptConnect Marketing Site
- Timeline: July 2020 - December 2021
- Status: the client switched to WordPress in May 2024
- Technologies: CraftCMS, B...
Canada Post Strike
For the past few weeks postal workers in Canada have been on strike....
Not to rush Christmas, but I think I'll try my hand at Advent of Code this year. It will be a good chance to play aroun...
Adding a `soft_delete` to Ecto Multi pipelines
I'm a big fan of `Ecto,` Elixir's database wrapper. The `Multi` library lets you build up a series of operations that ha...
(Untitled)
Went walking with my daughter and we picked some autumnal bouquets....
TIL Struct matching in Guards
Not so much a TIL but I always get confused with the proper syntax. You can pattern match on a struct and use it in a gu...
I'm 33 years old and I only learned how to spell "doesn't" this year. Getting enough practice where I almost spell it ri...
TIL UUIDv4 vs UUIDv7
I've always run with UUID v4 because it's the default for the `Ecto.UUID` library in Elixir. However a coworker recommen...
TIL INSERT INTO with SELECT constraints
In the past month I've had to write a lot of SQL to migrate a system and split existing "locations" into tenants ie. mig...
July 2024 Music Recap
One of the things I miss most about Spotify is Wrapped. I always feel a pang of envy at the end of the year when people...
Why Cybertruck when you could [Cyberduck](https://cyberduck.io/) ! I think I've been using Cyberduck for 100% of my FTP ...
SQL is the way, SQL is always the way! I killed myself for hours this morning trying to query/clean some data in Rails,...
Apparently I destroyed my fingerprint while climbing over the weekend- my MBP fingerprint no longer seems to work. It's ...
Morning Jog in Guelph. Rainy days like yesterday are perfect!
(Untitled)
I just modified the Journal theme to allow for microblogging....
The UW Encampment
I havve been watching with admiration and humility as students around the world have set up encampments demanding
On “Rewilding The Internet”
<script>
import Image from '../../lib/components/content/Image.svelte'
</script>
<Image path="/images/blog/2024/wil...
Back up and blogging? Sort of.
In conjunction with me finally overhauling my website I've decided to get on the blogging train. I've had a personal blo...
Multi-tenancy with Phoenix and Elixir
There are lots of good places to start with multi-tenancy in Elixir (although I'd recommend Ecto's own docs for either [...
Today I Learned ~D[2024-01-03]
You can use Erlang's `tc` function to see how many microseconds a function takes. For example, say you were curious if ...