About Me

Hi, I’m Stephen and I’ve been building websites for about 20 years. In 2012 I started Tainted Media with my friend and now business partner Chris. Since then I’ve worked with Magento 1 and 2, WordPress, Concrete CMS, Shopify and a bunch of other mostly‑LAMP stacks.

About 10 years ago, when Node.js was still the new hot thing, I picked it up, followed some guides and loved it. I loved it so much that when I got the opportunity to build a booking application for a client, I reached for Node, Express and MongoDB (arguably not the right stack in hindsight).

Around that time I was banging on about Node and a game‑developer friend asked me what I meant by “non‑blocking”. I knew what it meant, but I really struggled to explain it. The developers I admire can do that: they don’t just understand the topic, they can communicate it clearly. When Magento 2 came along, Alan Storm’s blog was an invaluable resource because he knew it in depth and could explain it brilliantly.

Now I’ve made the leap to Deno, a runtime I’m a massive fan of and don’t think is talked about enough. I’m using it in production today and I want to deepen my understanding by sharing what I’ve learned. By writing about these topics, and proving to myself that I actually know what I’m talking about, I hope I can help someone else understand them too.

If this site helps even one developer ship something better with Deno, it’ll have been worth it. I hope you find something here useful.