Note: This is a cross-post from my personal blog.
I had an interesting realization recently: I was three years into my career when I got my first remote job, and it’s been about three years since then. I’ve now spent half my career working in a traditional in-office software development job, and the other half working remotely!
Increasingly, remote work is becoming a common, mainstream thing. Twitter pundits have been quick to form and share opinions, and I’ve seen a lot of misconceptions and misinformation about what “remote work” is, and how it works.
This is part 1 of a…
There is something undeniably satisfying about coming up with clever solutions to hard problems. There is a joy when you challenge yourself to use recursion instead of iteration, for example, or when you create elegant, cascading layers of abstraction that ensure code is never duplicated.
My favourite outlet for this kind of programming is Project Euler.
Project Euler is a repository of challenges based around advanced mathematics, meant to be solved with software. The catch is that your program should run in under a minute, on 2004-era hardware. …
Earlier this month, I had the incredible privilege of speaking at React Rally, one of my favourite React conferences. It was amazing.
This was my second conference talk this year — the first being at React Europe — and so I wanted to take a step back and reflect a bit on the process. I remember being very curious about how speaking at tech conferences worked, before I started speaking; it felt pretty veiled and mystical to me.
My hope is that this post will be illuminating, especially for folks looking…
A few months back, I created Waveforms, an explorable explanation that dug into the peculiar magic of sound waves. I got a bunch of feedback afterwards from audio folks who said that they finally understood how sound works, that my interactive thingy helped them bridge the gap between theoretical knowledge and intuitive understanding.
I started wishing I could build content like that in the same way that I wrote posts on Medium. …
I’m working on a side-project that involves these cute little animated critters:
While they’re all pretty similar from one another, they do vary in a few ways:
I wanted the ability to control these props when needed, but also to have randomized values used by default, so that I could easily generate a crowd like this without worrying about having to come up with values for them.
In my mind, my ideal setup was something like this:
This didn’t work, because
defaultProps doesn’t work like that: the expression is evaluated once, when…
Maybe you’re a jQuery developer looking to experiment with a modern framework. Or, maybe you’re an Angular developer wanting to see what all the hype is about. Maybe you’re a seasoned back-end or systems programmer looking to make the jump to front-end. Maybe you’re new to programming in general, but want to learn how to build dynamic web applications.
Regardless of your background, you’ve likely had a similar experience: React itself seems pretty straightforward, but the tooling and ecosystem is overwhelming.
You probably feel like this guy:
I’ve seen and heard variations on this theme frequently. Especially for newcomers, React…
At React Rally last year, Ryan Florence gave an amazing talk about how we’re just scratching the surface of what can be done with React components.
Over the past few months, I’ve had great fun experimenting with this idea. I’ve found that higher-order components that handle event-listening are incredibly useful. I’ve even found it remarkably straightforward (although of questionable utility) to create a set of components that mimic the SVG spec, but render to Canvas.
Today, though, I’d like to share a mildly ridiculous idea I’ve had.
EDIT: It’s a real thing now! 🎉
If you’ve worked with React for…
Every month, Unsplash holds a Makeday dedicated to building cool things, where we encourage everyone in our community to participate. Internally, Makedays are awesome opportunities to work on passion projects; anything that’s interesting and beneficial for Unsplashers, but non-critical.
Since I joined Unsplash a couple months ago, I’ve wanted to do something to expose the crazy amount of traffic that we receive. After some internal discussion, I paired up with Rails guru Aaron Klaassen to build a map that would highlight real-time Unsplash events across the world.
As one might expect, we r̶a̶n̶ ̶i̶n̶t̶o leapt over a number of hurdles…
A few weeks ago, I was working on a Web Audio synthesizer called Key&Pad.
It struck me, while I was building it, that I wouldn’t be able to hear the interesting/beautiful/zany sounds that users made with it. What good is making a fun toy app if you can’t see (hear) what people do with it!
Because that project used Redux, though, the solution was obvious: Since every user action was already passing through the store, I just needed some middleware to capture it and track the time between each action. Then, I could just “replay” those actions in realtime.