Hello! My name is David. I'm a full-stack web developer. That means I build all the parts of web sites and web apps. I work on this site and all it's components in the open. Thanks for stopping by!
- Developer at Teehan+Lax. I left in 2014 to co-found Volley. Teehan+Lax was bought by Facebook shortly after, but was a top agency in the industry globally.
- Lead full-stack developer at Volley, a community of people devoted to helping one another through short requests on the web & iOS.
- Lead full-stack developer at Ada, a learning bot-building platform for customer support.
If you want to talk to me, you can email me here
Are we the frog?
November 26 2016 – Less than a minute to read
It's an unusually warm winter so far here in Canada. As I was reading an article about the same trend in Antarctica I suddenly had a horribl...
MongoDB backup script
September 16 2016 – Less than a minute to read
Here's a little script I wrote yesterday which creates a mongodump of a database, tar's it, gzip's it and then deletes the original dump fro...
Why Apple removed the headphone port from the iPhone 7
September 10 2016 – 6 minutes to read
By now you've probably read that the new iPhone 7 and iPhone 7 Plus do not include a dedicated headphone port. I've heard a lot of opinions ...
Detect a click outside of a React Component
August 31 2016 – Less than a minute to read
Here's some code to detect when you click outside of a react component. This is useful if you have a modal window component and you want to ...
Send your current iTunes track to Slack
July 18 2016 – 4 minutes to read
This is version two of a script I built a while ago that sends what you're listening to in iTunes to a Slack outgoing webhook. It was workin...
Regular expressions for scraping icons, titles, descriptions and more from websites
June 26 2016 – 1 minute to read
I'm building a link preview fetcher endpoint for Ada and I had to assemble some regular expressions for fetching icons, titles and descripti...
Uber + Apple Maps Mayhem
May 1 2016 – 4 minutes to read
My wife and I are Uber users. Around three months ago, every Uber we ordered started telling the driver to go to the back of our house rathe...
Does ad-blocking mean that in the future what we read will be the ad?
April 10 2016 – 3 minutes to read
I'm just waking up to all of this so bare with me here, but I was just thinking about what might arise from ad-blocking becoming more of a n...
How to backup, restore and duplicate databases using Mongo and Compose (MongoHQ)
April 3 2016 – 2 minutes to read
I've been battling back and forth with Mongo on Compose trying to duplicate a database I had. I wanted to take our development database and ...
Marcus Aurelias on getting out of bed
March 26 2016 – 1 minute to read
In his notes, Marcus Aurelias writes to himself:
At dawn, when you have trouble getting out of bed, tell yourself: “I have to go to work—as...
uWSGI and datetime.now
March 25 2016 – 1 minute to read
This is just a little PSA about Python datetime's "now" method when used with uWSGI in class definitions.
When you use uWSGI and declare cla...
What happens when all of your DNS name servers go down?
March 24 2016 – 5 minutes to read
Today I went to write a post on my website. When I pointed my browser to my editor to start writing, I was returned a screen which said that...
March 21 2016 – 4 minutes to read
My family and I just got back from a 3 day jaunt to Istanbul before leaving for Haifa and I thought I would record some thoughts about the c...
February 23 2016 – 1 minute to read
You won't notice much of a difference on your end, but I've been hard at work on some serious rewrites to this site. I have an ambitious, mu...