Five short links

Fivenightgowns
Photo by Clotho98

Science: It's a geek thing – Interesting thoughts about the roots behind the near-Saudi levels of gender sorting in technology and science, triggered by the terrible EU video. Led me to the awesome This is What a Scientist Looks Like blog.

Jquery Vector Maps – Looks like a neat little plugin for simple geographic maps in Javascript.

D4D Challenge – A cell-phone provider in Africa is looking to find good uses for anonymized call-record data in development. If you're a qualifying NGO or academic researcher, this could be a very fruitful data set for solving important problems.

Plane old networks – Musings on how geographic networks differ from their more abstract cousins, along with some great examples of how they can be visualized.

Faster than the wind – Using windpower to drive a vehicle at double the windspeed, heading up-wind! I've always been in awe of sailing, it seems like such a hack to be able to travel in almost any direction no matter what the wind is doing, but this takes that to whole new level.

Five drunken links

Hobo signs – I need to figure out the 'sing loudly outside this window at 5am for months' symbol and erase it from my building.

Why publishing your email hash is not a good idea – Something that occurred to me recently after a conversation with a friend: dictionary attacks on Gravatar hashes are painfully simple.

Conduit – ObjC<>JS communication is one of those needlessly awful experiences that's made immensely less painful with a solid framework. I haven't used Conduit in anger, but it looks like a much cleaner version of the hacky code we're currently using for Jetpac.

Cole Rise – Beautiful photos, and in my neighborhood.

Nexus – A framework for building admin panels in Python. I need something like this, but in Ruby. Sad but true.

Jetpac needs a lead frontend engineer!

Hotrod
Photo by Ivy Dawned

Jetpac's doing well. Really well. The five star reviews keep piling up, we've analyzed almost a billion photos, and we're on a great trajectory. There's just one problem – our four-strong team has a lot more work than we can handle! In particular I need someone who's better at frontend development than me or Chris. I'm a bit jealous, because it will involve doing a lot of fun HTML5, Sinatra and mobile development work, but I'm smart enough to know that there's far better people than me to build out the app. It's a great time to join the team too. We're small but well-funded, and are looking at a very big opportunity, so your share in any success will be significant.

Anyway, I don't want to get too cheesy, but I've learned so much from my blog readers over the last few years, I'd love to have some of you join my team. I've included the job description below, but if you want to be involved in any capacity, please get in touch! Ideally we're looking for folks in the Bay Area, or willing to relocate.

 

Frontend Engineering lead
Can you lead user-facing development for the top-rated travel iPad app using HTML5 technologies on mobile devices? We need someone to collaborate closely with talented designers to produce iOS interfaces using a very modern stack – jQuery, Mustache, Sinatra, and Cassandra. You'll be given a chance to define the foundations of an early-stage product and lay out the whole structure of our frontend approach. You'll be working with a talented team including the engineer behind Apple's visual effects, an O'Reilly author on big data, and an NSF research grant recipient.

 

Five short links

Fiveyearplan
Picture by Kitchener Lord

A year of hermit hackingPamela Fox gave one of the funniest and most personal talks I saw at FooCamp this year, but the Hangout video is tough to follow. Listen to it for the delivery, but follow along with her slides for the visuals. It captures so much of what I experienced as a lone founder, working out of a cafe is harder than you think! (Update – There's now a higher quality video available here, thanks Pamela!)

Semantic Versioning – I've realized that so much of what I love about Unix is around unenforced conventions, folk ways that have grown up spontaneously and only get documented and codified once they're widely accepted. The RFC mechanism is the most visible example of this after-the-facts approach, so I was excited to an attempt to cover how we version done in the same spirit.

Red Plenty Coda – An intriguing discussion on whether machine learning now makes central planning a workable idea. I hate the thought of that level of control myself, but it's a good reminder that information technology has repeatedly and radically changed the inventors' societies in ways they never expected.

Basic time series with Cassandra – This is a good look at the state of the art of dealing with large numbers of samples over time in a NoSQL database. For me it highlights what a gap there currently is in support for this use case. They suggest suffixing time values onto keys to create buckets of smaller time segments, and then doing a multi-get for all of the quantized values within a range. This is the best way currently available, but requires a lot of up-front knowledge about the likely distribution of your time values, and the time ranges you'll be querying over. On the other hand, I guess that's true in a bigger sense for any NoSQL data modeling.

Meglaro Escapes – There's something about my friend Matthew's combination of vintage comic strips and his own writing that makes me want to see more of it. Encourage him if you think the same!

A day in the life of a CTO

Clockface
Photo by Tonton Copt

I got a lot out of Jo Tango's description of 24 hours in the life of a VC, and this afternoon a friend from outside the Valley was talking about how curious the rest of the world is about what actually happens at tech startups. That gave me the idea of writing down what I spent my time on today, to give an idea of what one early-stage CTO's world is like. The great part of my job is that there really isn't such a thing as a typical day, at different stages of the company and product I've been doing far more coding or project management. Right now the priority is growing the team, so over half my time is on recruiting, which hopefully won't be a permanent situation (help me out and email me if you're good!). There weren't any big disasters or triumphs today though, so it seems like a decent one to give you an idea of what I do.

8:00am

Woke up, showered, had a cup of tea, a banana, and an apple for breakfast, and catch up with my RSS feeds. I've got almost 200 blogs in NetNewsWire, but many of them are entrepreneurs or investors who don't update very often, so it's not as much of a slog as you'd think. It's important because it gives me an early-warning system for what's happening in the tech world, and serves as a kind of continual drip feed of professional education, in bite-sized chunks. As an example, Jud Valeski blogged a philosophical post about what gets him enthused, and how the feeling waxes and wanes, which gave me an insight into some puzzles about my own energy levels that I've been wrestling with.

9:00am

I did a 15 minute video chat with my sister, who's just had her baby, and got to see my new nephew. I normally only do family calls at the weekend, but with FooCamp taking up my last one I wanted to make sure I caught up with the new family.

9:15am

Hopped on the N Judah muni service to Montgomery Street station, and then walked 3/4 of a mile to our office at 2nd and Brannan. Three mornings a week I have a half-hour exercise routine at home, but I also try to walk as often as possible. For anything under a mile, it's usually not much longer than most of the other options, and I've found it makes a big difference in my alertness if I stay physically active. When I was more focused on solo coding, I could let myself be tired or productive on my own schedule, but now most of my job is helping other people I have to be 'on' when they need me, not when I feel like it.

9:45am

I walk into the office, set up my laptop and then do a quick pre-meeting huddle with my co-founder and CEO Julian. We're kicking off a new phase of the product design with the help of an outside firm. We've used them before, but it's been a while so we have a lot of catching up to do. I've got some notes on the mockup screenshots they sent us, so I make sure they match what's on Julian's mind before we talk to the designers.

10:05am

The meeting starts late because we had a quick outside call jump in first, and then we have to switch off video on Skype because the audio side is starting to stutter. After that it works a lot more smoothly, but it's still enough to make me nostalgic for fixed-line phones. We work through all our notes on the design, make some decisions together, and agree on a timeframe for getting back more complete mockups. At the end, I'm left excited about working with the designers, they're going to do a lot to help improve our product.

10:45am

During the design meeting, a friend and angel investor has arrived, so Julian and I sit down in the conference room with him and give him an update on the business. After that, our current top priority is hiring, so we give him an overview of the job descriptions we've put together, the tactics we're using, and then dive into the list of people that we're either talking to or targeting. He's able to offer advice from his own experience on finding talent, and gives us some tips on who we should be talking to. We go into a lot of depth on some mutual friends, and how we might best snag them.

12:35pm

I need to head back to near Montgomery station to meet an old friend and Apple alumni for lunch. I arrive ten minutes early for my 1pm reservation so I do a quick triage of my email using my phone, looking for the most urgent items while I wait. He's delayed another ten minutes, so I end up getting several replies in.

1:10pm

One big reason for this lunch is to help with recruitment. We're still at a comparatively early stage in our process, and what I've found works is talking to people you most wish you could hire, and finding out who they recommend. The best people are always already way too busy, but often they'll attract like-minded souls who may only be up-and-coming, but show a lot of promise and are more hirable. You also never know what will happen if you ask someone you admire for recommendations, every now and again they'll respond themselves! I have to admit that I also really wanted to catch up with my friend too, it's been a couple of years since we talked, so I also enjoyed hearing about his adventures.

2:10pm

Heading back to the office again, I'm irritated with myself because I wanted to be back at 2:15pm to continue talking to the visiting angel investor, and my walk-everywhere regimen starts to feel a bit less sensible.

2:30pm

Before I talk to the angel, I check in with an engineer who's working on a tricky project. He's doing well, but I realize that I haven't done a good job of transfering the big picture of how the whole system should work from my head into his. I start off with a quick whiteboard brain-dump, then we dive into some of the technical details, and finally we emerge triumphantly clutching a task list for the next few days. It's strange to not be the one at the coalface myself, but I'm glad when I can actually feel like I've been helpful without writing code. A cup of tea is called for, and luckily as C-Tea-O I remembered to stock up the kitchen with teabags yesterday, so we end our discussion over a cuppa. Afterwards I circle back with Julian to update him on how the technical choices we've made affect the product experience and the schedule.

3:15pm

This is the first open slot of the day for me, so I sit down at my laptop and work through my email. I use my inbox as the entry buffer for my to-do list, so every day I try to go through all incoming messages and either respond immediately, or add a task to the paper notebook I use to keep track of what I need to do. After filtering list messages out, I have around a hundred real messages every day, with maybe ten or fifteen requiring some action from me. Several of the emails are continuing conversations about recruitment, so they require a bit of thought and take some time to compose. I also have a support email about OpenHeatMap, a project I try to avoid letting impinge on my work day, but luckily I'm able to supply a quick answer. I do owe a debt to that project too, it was what first got me working on extracting places from unstructured text, which led to the core technology for Jetpac.

4:15pm

I update the spreadsheet I'm using to keep track of our hiring pipeline with the new leads I've gathered over the day, and spend some time researching candidates on the web. I also reach out to a couple of people I've recently met to start a conversation with them.

5:15pm

Julian and I head over for a chat with a reporter we know. This won't result in an immediate story, it's more background on the industry, but it's someone we both like, and it helps us understand the state of the world too. Meeting face-to-face with people and telling our story in our own words is the only effective way we've found of getting the word out, and luckily neither of us can shut up about what we're up to!

6:45pm

This evening I'm attending Hacks and Hackers, an event that connects reporters and engineers interested using technology to improve journalism. It's almost two miles away, but I stick to my walking resolution, arriving half an hour later and a bit hotter than I'd prefer. The main attraction was Wired's talk on how they build their online audience, which is obviously something that's on my mind a lot at Jetpac. To my pleasant surprise though, I spot my friend Jim Giles in the audience. I can't claim any business purpose to meeting him, it's just pure pleasure to hear about his life with his young son, and the progress on the stupendous Matter project he got funded on Kickstarter. The talk itself turns out to be more relevant to an established brand, and not as helpful to startups, but I do end up meeting some other interesting folks afterwards. Again with recruiting in mind, I like hanging around where the interesting problems are, good engineers tend to be attracted to challenges like journalism even when a good business model is so elusive. This may partially be a self-serving excuse to indulge my own interests though!

9:30pm

I walk the last mile back home, stop by Safeway to pick up a few ingredients for a quick Mexican stir-fry, and then catch a few minutes of Ken Burns' National Parks series while I eat. I'm hoping to make a quick weekend trip to Yosemite soon, and it does me good to be thinking about something bigger than this technology world for a little part of every day. Afterwards, I start on this blog post, which I wasn't expecting to take the two hours it did!

So that's it, a day in my life. I'd love to see more of these floating around, I know there's an incredible diversity of experiences even amongst local startups, so I'd love to read posts about yours.

Foo Short Links

Foocamp
Photo by Kay Thaney

Networks of book makers in late Medieval EnglandAlex Gillespie's talk on medieval manuscripts was eye-opening in a lot of ways. I never realized that you could get cheap books before printing arrived, on demand from local scribes. The impact of the technology wasn't so much due to the price, as the fact that mass production made books far more plentiful than ever before, with a much more centralized distribution model.

I also loved discovering Girdle Books, bound with their own little raincoats so they could hang from the owner's belt. There was a lot of discussion about what the move to ebooks could learn from these sort of historical examples, with Alex riffing on the idea of texts as souls that inhabit physical bodies, and how creepy that makes electronic readers, as the virtual books flitting in and out of them seem like body snatchers.

I was struggling to make a point about how Girdle Books were an ostentatious way of using the written word to connect socially, and how that was a real loss with ebooks, but it came off sounding like I just missed showing off to girls on the bus. In fact I just want to show off to people on the internet, or to be less flippant I think we'll really miss that process of discovery if we no longer see books in people's hands, on coffee tables, or in their bookcases.

Google Consumer Surveys – This was a really unusual Foo talk, it was almost a pure product pitch, but I was really glad I attended because it's an incredibly useful product I'd never heard of. You design a survey, Google charges you 10 cents for each person who answers, and they handle getting a statistically representative group of 1,000+ users over the course of a day or two. For startups, this is a fast and cheap way of testing ideas, like the old hack of creating a Google Ad with your value proposition and seeing who clicks, but on steroids.

What I also liked is that they're providing a new revenue source to the newspaper industry. The questions appear on local news sites as an alternative to registering to read a full story, and pull in a lot more money for the publishers than regular ads.

Boxie the story-gathering robot – Taking a lesson from little sisters everywhere, the team at MIT set out to use raw cuteness to get other people to assist Boxie in its mission. I, for one, welcome our new robot overlords if they're all so adorable. The talk (with terrible audio unfortunately) is here.

Inside Etsy's gambit to hire more female programmers – I've been a long-time fan of Marc Hedlund, but I hadn't run across his initiative at Etsy to hire more engineers who were women. The results show how effective publicity can be, with over 600 female applicants for 40 slots on the Hacker School program, and demonstrate that there are effective ways to recruit from a wider pool. I'm going to take inspiration for my own hiring process (email me!).

Legal Entity IdentifiersDan Goroff described how the financial world is trying to illuminate financial risks by assigning LEI's to all corporations. My deep fear is that this is the wrong approach, it would make the analysis easier if the data was perfect but the true problem is robustly identifying entities in the first place. I'd rather have fuzzy, redundant identifiers like company names, addresses, account numbers, etc, and use them to build a relationship graph. Instead I worry all the time will go into building the id scheme, and we'll never get the financial relationship data that is the real gold-dust. I'm not doing the topic justice here, I need to do a longer post, but it was a great presentation on a crucial debate I wasn't even aware of.

Five short links

Origamifive
Photo by Goran Konjevod

Juju at scale – Spinning up 2,000 EC2 instances automagically using Ubuntu's cloud tools. The thought of all that raw power at your fingertips is amazing, and unthinkable for anyone outside of a major corporation just a few years ago. We live in an age of wonders.

The TTY demystified – I never cease to learn new things about the Unix stack I rely on. This history is a good lesson in how tricky and changing requirements can be managed with good engineering, but end up freezing handling for decades-obsolete hardware in code we'll likely be using for centuries to come.

Men invented the internet – We're entering a very weird time, as computing becomes a higher-status profession it feels like women are even less welcome.

Cloudian – Layering an S3 API on top of a Cassandra hosted service. Amazon's cloud service interfaces have become a de-facto standard, and other providers should adopt them. They feel like the system calls of a distributed OS.

Tigerweb – An online viewer of the latest version of the US Census's geo data. It's a great way to explore the completely free and open data on boundaries, natural features, and especially roads that the government makes available. If only it didn't rely on Silverlight!