I’ve been programming for mobile for 15 years. “What?! Mobile wasn’t around in 2000,” you say? Well, you’re forgetting about the original mobile, the TI-83 graphing calculator. BASIC on the TI-83 was my first experience with programming, and it all started because a teacher told me I could use calculator apps on tests if I made them myself. I’ve been programming ever since, and it has shaped who I…
My name is Nathan, and I'm an Android fanboy. I've been investigating the differences between Android and iOS user experiences recently, and wanted to summarize my findings for you: That's right: one of these things is not like the others. This is how it feels to use your iOS app that you directly cloned for Android. Don't port your interface from iOS to Android directly. There's a minimal level…
Dear friends, I made something for you this Christmas. I hope you'll enjoy it! Each year I have a secret I use to find gifts for people: go to Amazon, find two things I know my gift recipient likes, then compare the "similar items" section to find matches. It's kind of tedious to do, but it works like a charm. Enter computers. Exit the tedious. This year, I made a website that does the same thing…
As elections draw near, remember that it's not just about the President. We'll vote on a number of Congressional seats too. If you haven't take a second to get a quick read on your senator and representative, do that now . As you're considering congressional leaders, take note of who never came to their senses with regard to SOPA, the bill that was going to break the internet . For quick…
I recently saw Latency Number Every Programmer Should Know and was having trouble getting my head around the scale, so I made this visualization to help me out. I converted latency times to their equivalent light distances (how far light travels in that much time) and plotted those distances on a map to get a sense of the latency numbers in relation to each other. Source Data The smallest few…
I coded all day yesterday, focusing on a new feature for Hirelite: Speed Dating for Software Jobs . I implemented ~300 lines, added tons of functionality, and was feeling crazy productive. After this surge of productivity, though, the familiar pangs of technical debt anxiety came. I prescribed a hearty dose of refactoring. I looked for commonalities to refactor among the eight paths of the…
One of the main reasons all of development isn't outsourced is that it's hard to replace an in-house developer's personal investment in the business, cultural understanding, and market understanding. Additionally, communication is typically orders of magnitude more efficient. As an in-house developer, you have a clear responsibility to give technical feedback on product designs, but your…
Since starting Hirelite: Speed Dating for Software Jobs , I've been taking a lot of meetings around New York City. After each meeting, I like to find a place nearby to sit, plug in my laptop, and hack for a few hours. In New York, it's hard to find a place you can sit with some elbow room unless you know where to look (Starbucks is usually packed). It turns out, due to zoning regulations, NYC…
I'm embarrassed to admit that lately, I've been watching a lot of HGTV. Whenever I have programming to do that is easy but time consuming, I watch House Hunters or Designed to Sell in the background. On both shows, buyers and sellers use comparable houses to help them put a value on a house. Similarly, investors value companies based largely on how the company compares to other companies they've…
Through Hirelite , cofounders often ask me how much equity a technical cofounder should get. The graphic below balances the risks cofounders take with their relative contributions to help answer this question. All assumptions and clarifications are noted after the graphic. This covers one of the most common situations I encounter: For a pre-funding web startup whose team includes only a…
In both Git and Mercurial, there's a very easy way to browse your local repository in a web browser that I didn't know about until recently. You should really try these right now. They've already made a huge difference for me. Browse your local Git repository git instaweb --httpd webrick # view at http://localhost:1234 If you prefer not to use webrick, you could install lighttpd and then just run…
Speed Dating for Software Jobs, a web event Our in-person "speed interviewing" events have worked so well that we're expanding to web-based events. On Tuesday, July 27th, Hirelite will host its first web-based event for software jobs and software engineers in New York City. Get your webcams and microphones ready for efficient, face-to-face interviews, just like our in-person event but even more…
It's hard to determine if a tech job board is worth watching (if you're a job seeker) or worth posting to (if you're hiring), so I made a quick visual comparison of job boards in New York City. I used metrics that were easiest to quantify quickly through examining up to 300 recent local tech job posts on each of these sites, so you should definitely consider metrics other than what I've mentioned…
These tricks have saved me a lot of time. Many of them I started using after reading this Definitive Guide to Bash Command Line History by fellow Hacker News reader, pkrumins. It includes a much deeper look at history than the quick examples I cover here. Search Your History Quickly No more history | grep ... or hitting the up button 20 times. Just open a command prompt, press Ctrl-R , and begin…
I realized I made my first Delicious bookmark just over four years ago. Here's a visualization of my links. It's a decent approximation of what I know. Update: I switched to pinboard.in after all the Delicious shutdown controversy.
Who knew threads and romantic relationships had so much in common? For those of you new to threads, threads (and processes ) allow computers to seemingly do multiple things at once, where each thing is a separate "thread" of execution. On a computer with a single processor, the processor spends short amounts of time executing each thread before switching to another thread to execute. On a…
Since starting Hirelite , where we get companies and software people talking directly, I've heard a lot of horror stories about working with recruiting agencies. When I hear these stories, I can't help but think of black hat vs. white hat hacking and SEO, so I call recruiters who engage in unethical practices "black hat recruiters". Black hat recruiters resort to the tactics below because they're…
On Tuesday, I ran Hirelite's first event: Speed Dating for the Hiring Process for software engineers. Read about how it went here: Results of a Speed Dating Event for Hiring Software Engineers .
There are so many NoSQL systems these days that it's hard to get a quick overview of the major trade-offs involved when evaluating relational and non-relational systems in non-single-server environments. I've developed this visual primer with quite a lot of help (see credits at the end), and it's still a work in progress, so let me know if you see anything misplaced or missing, and I'll fix it.…
Networking can really suck for introverts. I know because I'm one of them. You're probably thinking, "Of course! Introverts are shy and have trouble with social interactions." However, introversion is much more complex and encompasses an overlapping spectrum of feelings. Here's my take on it: In general, the terms "introvert" and "extrovert" describe social preferences, not social capabilities,…
About once a year, I accidentally type my password into the user name field on a login form and click submit. Immediately, I realize what I did as I see my password sitting there, mocking me in plain text from the user name field. I did that today, and it's time to go reset my passwords. For those of you who aren't involved in web development, let me explain why. Nearly everything you do online…
Do you know the high pitched sound you hear when a TV is on but muted? Imagine you heard that noise constantly... and really loudly. That is tinnitus: chronic ringing in the ears. Currently, 12 million Americans suffer enough from their tinnitus to require medical attention, and 2 million patients report being unable to function "normally" day-to-day. Tinnitus can even be so extreme that it drives…
Setting up an email server and making it work with anti-spam protocols is one of those things that's 100x easier to do the 2nd time around. I follow these steps whenever I need to do it. Prerequisites Apache Ubuntu 9.04 (these instructions should work for other versions, but that's what my target currently is) Ingredients postfix dkim-filter - DKIM (DomainKeys Identified Mail - new standard)…
After a semi-thorough comparison, I'm choosing Posterous over Tumblr. Initially, I wanted to pick Tumblr for no reason other than it being in NY and being funded by Union Square Ventures. However, I chose Posterous because of it's: compatibility with how I write - The easiest way for me to sync post writing across my desktop, laptop, and phone is to save drafts in gmail. It seems like the…