Knotel builds a better flexible workspace experience with Apollo

Using a federated Apollo data graph allowed Knotel to scale their GraphQL implementation, speed development, and deliver a better experience to all their users

Read

Knotel GraphQL Apollo Federation Tweetstorm

Our engineering team at Knotel was one of the first companies to deploy Apollo Federation into production. This was originally an 18 Tweet Tweetstorm that I have reformatted as a blog post here for readability.

Read

How Spring Prepares for the Black Friday Frenzy

Our engineering team generally spends a few months leading up to that day running drills, gathering metrics and tuning systems, prepping, pre-emptively scaling, and just generally ensuring everything is in tip top shape to handle traffic for that one day in which we will often see 20 or 30 times the volume that we’d see on a normal day. This article and the video tells the story about one such optimization

Read

LocationKit: The Making of – Part 2

Even more details on how we made LocationKit, the problems it was meant to solve, how we ended up solving them

Read

LocationKit: The Making of – Part 1

Details on how we made LocationKit, the problems it was meant to solve, how we ended up solving them

Read

Smart Polygons: Shaping a More Intelligent Location

The power of using polygons over points to represent location data in the real-world

Read

LocationKit is here

Introducing LocationKit, the most advanced mobile location framework

Read

Writing "Getting Started with tmux"

I completed work on my first book, Getting Started with tmux, which was recently published. This is a recount of the background and history of writing that book.

Read

nginx as a SPDY load balancer for Node.js

Recently we wanted to integrate SPDY into our stack at SocialRadar to make requests to our API a bit more speedy (hurr hurr). Particularly for multiple subsequent requests in rapid succession, avoiding that TCP handshake on every request would be quite nice. This article outlines how we did it with nginx

Read

Full text search with Bookshelf.js

Bookshelf has no inbuilt method for performing such a query but it actually ended up being rather simple.

Read

Desired: Oculus Rift as a monitor replacement

An idea I haven't been able to shake since I first used an Oculus

Read

JavaScript: Async Promise "while loop"

This is a solution to the situation where you have an asynchronous task you want to perform over and over again, in a non-blocking fashion, stopping when some condition is met.

Read

Thoughts on Opera Next

Opera made the call years ago to switch from its own rendering engine to Blink, the rendering engine underpinning Chrome

Read

Emacs: Prevent autosave mess

Emacs is trying to be helpful by creating autosave files, but by default it stores them alongside the file you're editing creating a mess in active folders, repositories, etc. Follow this tutorial to fix that mess and ensure Emacs still stores those backups but puts them all in a single location to reduce clutter

Read

Accent Color

A tale in which one nerd spends far too long picking a Color for his blog with journeys into some fun bits of hexadecimal numbers, math, and programming.

Read

Gobbledygook: a poem

A silly poem I wrote in Fall 2003 while studying quantum mechanics

Read

JavaScript: arguments explained

A mini tutorial on the JavaScripts arguments pseudo-object

Read

Want to Work for a Startup? Contribute to Open Source!

Some tips for getting a gig at a startup

Read

Deploy Coffeescript Node App to Heroku

So you've got a cool node app written in Coffeescript and you want to deploy it to Heroku? Seems like it should be easy these days, right? Not so much. Well, let's be honest, we're in the future, you don't have to manually manage servers, etc. (Thank you Heroku!) but deploying a Coffeescript app is still no small task as there are a bunch of gotchas. Hopefully this will help.

Read

Multi-User iOS and the Fingerprint Scanner

I came across this article about Apple acquiring AuthenTec for their fingerprint scanning technology and had a lightbulb go off. What if, in addition to being used to enhance security, it was also used for a multi-user iOS experience?

Read

Chance

I am often looking to generate random things in JavaScript. Whether in the browser or in Node, I often find myself looking to generate a random phone number or address or even number with some characteristics. So I created Chance

Read

Alfred 2 and Emacs

Long story short, Alfred 2 and Emacs installed via Homebrew don't exactly play along nicely. Alfred 2 doesn't like to follow symlinks so it won't open Emacs. This is a solution.

Read

Backbone CrossDomain Library

Open sourcing the Backbone.CrossDomain Library

Read

Convert .png to .eps on Mac

This is one of those tips that seems almost too easy to be true.

Read

Solved: git svn Broken in Mavericks

Struggling with git svn in Mavericks (or Mountain Lion)? This may be your answer

Read

Solved: ZSH tab completion painfully slow

Struggling with slow tab completion in zsh? This may be your answer

Read

Programmatically Creating Fielded Nodes in Drupal 7

Programmatically Creating Fielded Nodes in Drupal 7

Read

tmux Tutorial

A tutorial on tmux, the terminal multiplexer along with my rationale for trying it out and some tips and tricks

Read

Concept Idea: Using client-side Javascript for distributed computing

Could we use client-side Javascript for distributed computing to solve the world's problems simply by having someone visit a webpage?

Read