Thomas Edgesmith

👋🏻 I’m Thomas Edgesmith, a software developer (and avid sourdough baker) based in Victoria, British Columbia 🇨🇦.

During the day

I’m a software developer at Shopify! Writing a ton of Go for *****. If you’re excited about commerce and making an impact, I’m always free to chat! Just reach out!

Outside of Work

My focus is on becoming a better sourdough baker this year, along with dabling on a few tiny side projects.


Working on side projects is probably the best way to realize that constraints are a great thing in shipping something. For the past week, my time has pretty much gone from: Build a web app in go… re-invent a lot of the core basics from rails. Scrap the project, and give Phoenix a try. Realize that Phoenix is fast and performant, but also a paradigm shift. Come back to rails and realize how much of building a bootstrapping a web app is just plumbing.
This week I’ve been slowly learning more about Phoenix and Elixir, after a few false starts things are starting to make more sense. Part of this has been digging into the world of IDs. By default (just like in rails), Phoenix supports BIG SERIAL integer IDs for their primary keys + foreign keys. It works okay… but if you’ve looked around, there are more options out there (IDs vs UUIDs vs ULIDs).
I’ve been starting to learn Phoenix recently and wanted to see how hard it was to get PlanetScale connected. This is mostly a post for myself on the next project. As an aside, PlanetScale is pretty sweet, working at Shopify for a few years I’ve come to love MySQL for what it is. Working with branches and easy schema changes is really nice. Configuring Dev I’ve opted to do something similar in dev like PlanetScale blogged about.
Feb 01, 2021
I’ve been building and scaling Rails apps for over 7 years, but the last year and a bit has been mostly focused on building Go apps at work. This is my spot on the internet, and I’m hoping to things here and there.
« Older posts Newer posts »