Geeks and nerds

Upthere
what’s up
Published in
6 min readSep 13, 2016

We’re geeks and nerds.

We’re intrigued by the latest in robotics. We automate anything that we find tedious, at work and at home. We covet the newest drones coming to market. We subscribe our kids — it’s for them, really! — to Make magazine. Some of us really like cars. We’re the stats nerds who turn fantasy sports into a spreadsheet exercise. We’re the ones cooking food using chemistry, we take our coffee very seriously, and we combine those passions into a nitro cold brew system in the office kitchenette. We optimize our commutes down to fractions of a minute. We describe problems as “non-trivial,” and express agreement with a quick “+1.”

Jack with our sticky note fishbowl

Just the other day, we ran a company-wide contest to guess the number of sticky notes in a fishbowl.

The winner of said contest, Jack, is a backend engineer here. He came within about 20 stickies of the right guess. His methodology, in his own words:

“I estimated that these stickies, tightly compressed, occupy 2/5 fractional volume of the bowl (which is a truncated sphere). I estimated the volume to be 31.65 cubic inches. I counted that there are 90 stickies in an unused sticky pad. The volume of the sticky pad is 3×3×0.25=2.25 cubic inches. Which means we used about 14.06 pads, or 1266 stickies. Another note: I didn’t have a ruler with me so I used my iPhone 5S (diagonal length of 4 inches) and my knuckle (1 inch), to estimate the radius of the bowl and the size of the sticky pad.”

I think that about sums it up.

Geeks and nerds like to talk shop, and with the Upthere service out of beta and into the hands of customers more broadly — happily, we’re now available in more than 40 countries! — we’d like to start to talk shop with you all, regularly. Welcome to Tech Tuesdays, where different members of the Upthere team will discuss what specifically they’ve been working on, how they’ve been doing it, and what we’ve all learned as a result.

I joined Upthere as VP of Engineering almost two years ago, and did so for a couple of reasons: the problem we’re trying to solve is big, undeniable, and it resonates with me personally — I want what we’re building, for myself — and the team we’re solving it with is exceptional.

The big problem? Our phones, laptops, tablets, cameras, and just about every other piece of Internet-connected consumer electronics with input sensors of any kind are getting ever-smaller, but their capacity for generating data from those inputs is growing at least as rapidly. These devices are highly portable, great at creating data, and pretty great at displaying data, but are becoming less and less able to store or compute upon that data in meaningful ways, as they shrink.

Around the time that I first met with Upthere, I had two obsolete laptops and a dead Apple Time Capsule in a box in my closet, a pocket hard drive I carried around in my backpack all the time, a NAS drive on my network at home that theoretically could receive file shares and act as a media server, a dead iPod in my glove box, and two old iPhones bouncing around, without charge or service, also in my backpack. I also had some cherished photos on DVDs from professional photographers: from my wedding, and of my eldest son as a newborn. Rounding it out, there was a handful of USB sticks scattered here, there, and everywhere I looked: backpack, desk drawer at work and at home, “junk” drawer in the kitchen, bathroom drawer (?!), and a functioning MacBook Air and iPhone, both on my person at almost all times. I had a free Dropbox account, a few different Google accounts, an iCloud account, and an Amazon Prime membership.

With all of those places to keep things, both physical and online, I had absolutely NO clue where most any of my stuff was. Be it a photo from a trip I took to Paris one weekend in 2011, a document related to a house purchase in 2013, or that scanned-in family recipe my mom emailed me in 2008, I had no idea which of these many locations might hold the particular treasure I sought at any given time. The one thing I was certain of? All of these things would be misplaced or break at some point in the not-too-distant future, and I’d lose my stuff, much of which has never existed in anything other than digital format. There would be no recreating it from the original source. But how much would that matter, if I couldn’t find the things I still had access to, anyway?

I needed to work with the team that was going to solve this problem for me. I needed to be able to take all of these disks and devices, and give the contents of all of them to Upthere for safe-keeping, to make it all easily findable, and to restore all of its usefulness to me. I needed to help build the system that would do this quickly and efficiently, correctly, safely, and beautifully.

Aside from myself, what kind of team works on such a project? While we all believe this is a big, present problem to solve — that’s our unifying principle — we’re a pretty varied bunch otherwise. We have to be. Our stack is about as deep as they come, and about as broad as they go, and it takes a bunch of different folks, spanning that same depth and breadth of experience, to implement the Upthere service. We do everything from designing & building our own servers — all the way down to their chassis — to perfecting interfaces in apps atop five platforms: Android, iOS, macOS, Windows, and the Web, and tons of stuff in between. We’ll be talking to you, in this forum, about a wide variety of topics germane to these areas, including:

  • Server and data center design aimed towards affordability, maintainability, and reliability.
  • When and where we use open source, including Elasticsearch and Ceph, and why we sometimes don’t.
  • The fundamental differences between syncing models and the Upthere “direct write” model.
  • Our experience evolving from Backbone with CoffeeScript to React.
  • Cross-platform client-side development in C, and in C++. How our cross-platform strategy and architecture evolved over time, and where it’s going.
  • Uplinux: why and how we built a custom Linux distro for use in our data center.
  • Video support on the Upthere platform: uploading, transcoding, and streaming.

The engineers and others authoring these posts come from backgrounds as varied and impressive as the problems we’re asking them to solve here at Upthere. We’ve got dozens of veterans of some of the biggest powerhouses in product development, software and hardware engineering, including Amazon, Apple, Facebook, Google, NVIDIA, Oracle, Sun, VMWare and Yahoo. We have an equal number of folks who’ve played pivotal roles at innovative and successful startups like AdColony, Carbonite, Hightail, Lyve Minds, MongoDB, Sonos, Tapulous, Transmeta, and more.

I’m proud of this team, and honored to be working with them on a platform and service that we all feel is so important. I’m excited that, through this blog, we are going to get to share much more about why we do the work we’re doing, and how. And I’m eager for your participation and contribution: don’t be shy about the +1s when we’re doing and saying something right, and the 💩 when we’re not.

Looking forward to talking shop,

Jess

VP of Engineering, Upthere

--

--

Upthere
what’s up

Our mission is to care for humankind's information.