Tell me about yourself
I was recently asked to tell someone about myself via email. Here’s what I came up with.
In fourth grade we had a mock 20-year reunion. Everyone came dressed as who they thought they would be when they grew up and we each got to present to the class about our future selves. I said I was a computer programmer. I had the book “Computer Programming for Dummies,” but I had crossed out “Dummies” and written “Experts.” I said I went to the Michigan Institute of Technology. I knew it was MIT, I just guessed the wrong state.
In hindsight, I wasn’t that far off. I didn’t go to MIT (I didn’t even apply). I wanted to be at a school where I would interact with liberal arts students too, so I went to Columbia. My proudest academic moment was the year I spent TAing an intro electrical engineering class. I would love to be a teacher later in life.
I’ve been programming since fourth grade, but the real thing that I’ve learned is how little I actually know about it. I only really understood this after I graduated from college and got a job. I like to think about the four stages of knowing:
- You don’t know what you don’t know.
- You know what you don’t know.
- You know what you know.
- You don’t know what you know.
I am currently at stage two and I’m learning things as fast as I can.
In high school I saw the film Startup.com with my mom. I think that first seeded the idea to start a company in my head, but looking back, I don’t think GovWorks was a particularly good idea. I also enjoyed Pirates of Silicon Valley and have read Insanely Great by Steven Levy at least two times.
At 16 I started riding on ambulances and at 18 I became an Emergency Medical Technician. All told, I’ve spent seven years working on ambulances, four of which were in New York City. I’ve never had anyone die on me, but that’s more luck than skill. Emergency medicine is a rough business.
I’ve been playing guitar since fourth grade and trumpet and a few other brass instruments since high school. I’ve played in a few bands and still harbor dreams of being a rock star. There are lots of similarities between starting a band and starting a company.
I also love the outdoors. My friend Steve and I are going to stand on the highest point in every state. We’re currently 3/50. It’s more of a long-term goal.
I am a life-long New Yorker. I have dressed up as a washing machine for Halloween on multiple occasions.
Is Android the new Eclipse?
I want to get rid of my iPhone. Just about every move Apple has made in the last 3 years with the exception of making absolutely gorgeous products has pissed me off (think DRM issues, closed App Store, removing apps months after they’ve been approved, the Google Voice fiasco). I want desperately to vote with my wallet and buy something new, but I just can’t bring myself to do it.
The obvious choice for me is an Android phone like the Nexus One. The code is open, the platform is permissive — you can install apps from other sources besides the Marketplace — and it has a soft keyboard (this takes WebOS out of the running for now), but it’s not enough. My apps aren’t holding me back. I can drop most of them, although I think I’d miss Tweetie. It’s the little things like scrolling that mess me up: Android’s friction coefficient is all wrong and for some reason the lack of spring back when you reach the end of a scrollable area really irks me. These things just work better on my iPhone. Despite my philosophical misgivings I chose to use my iPhone because my smartphone (or should I say, my com) is such a big part of my life. I can’t live with anything less than beautiful.
Enter iPad
I think the iPad is the future of computing and I want one desperately. Even my Dad wants an iPad. I don’t want to buy one though. I have to draw a line in the sand somewhere (This doesn’t mean I’m not going to get one, I want to leave room to compromise my principles later). What I really want is a tablet and phone made by a company with as much design sense as Apple, but without the need to lock it down. I don’t even care if it comes locked down as long as the company that makes it provides a way for me to set it free (props to Google for doing this with the Nexus One).
Now let’s imagine a company wants to make one of these imaginary tablets. What platform do you think they’re going to use? Duh, Android. It is a well supported, free OS with an existing install base, platform support, and apps. Except I don’t think an Android tablet would be any better (and possibly worse) than an Android phone. You’ll notice that Apple designed a whole bunch of new interface elements for the iPad that the iPhone won’t have.
Android as the new Eclipse
I recently saw Code Bubbles. I think it’s the coolest and possibly most game changing development tool in a long time. Then I heard it was based on Eclipse and my heart sank just a bit. Eclipse is the de facto open source IDE (an application used to help develop software, for all you laypeople). In fact, it’s not even just an IDE, it’s a platform for creating other IDEs. This is presumably why Code Bubbles’ authors chose to build their project on top of Eclipse. So much is provided for free: syntax highlighting, debugging, build system integration, cross platform GUI libraries. The works. There’s just one problem: all of these freebies are only good enough. I develop in Eclipse at work and have no problem doing so, but there are a bunch of little quirks that get to me. It feels as if it were designed by committee and it shows.
When you go to develop a new IDE, do you start from scratch? No, you start from Eclipse. When push comes to shove, it doesn’t matter about all the quirks, it just matters that you get all those free features. A couple of people can execute their new IDE idea in a reasonable amount of time by basing it off of Eclipse. To build a whole IDE from scratch, you need many months, if not years, and a huge team. The same is true of Android. If you want to make a new piece of mobile hardware, Android’s a no brainer. It takes enough resources to get your hardware, ID, mechanical, project management, and manufacturing teams executing together. If you decide to start from scratch, you need a gaggle of software engineers as well as graphic designers and interaction designers. Oh, and you’re expected to come up with at least a few new UI ideas if you really want to be considered a serious player and not just an iPhone or Android clone.
The Upside
So what of my iPad competitor? Will I have to chose between a beautiful device that I am philosophically opposed to or a device that is just adequately designed but allows me to sleep soundly at night? I don’t think the picture is that grim. I’m intrigued by Windows Phone 7 Series (yes, a gross name). There has clearly been a lot of good thought put into its design, and competition always drives the market towards something better. There are also important differences between Android and Eclipse. At this point, as I understand it, Eclipse truly is designed by committee. Android, on the other, hand has a strong captain in Google with a firm hand on the helm. Google’s design philosophy might be skewed too far towards the logical and analytical for some, but it has created some absolutely beautiful products. Gmail has set the standard for how webmail, and frankly all email, should operate, and Chrome blows Safari (and everyone else) out of the water in terms of design and usability (its tab closing behavior has been lauded and its tab to search feature is the number one thing I can’t live without in a browser).
While Android isn’t exactly where I want it to be, it has improved in leaps and bounds since it’s 1.0 release just one and a half years ago, and sooner than later, an Android device will be ready to replace my iPhone. The only question is, what will Apple be making then?
Oh, also, I want an iPad now.
On The Internet, Everybody Knows You’re a Dog
↓ Updated: September 25th, 2009.
I care about my privacy, and I try to take reasonable steps to safeguard it. Every once and a while however, I am reminded of what little difference that makes.
A year ago I saw private investigator Steve Rambam give a talk entitled “Privacy is Dead, Get Over It” at The Last Hope. The talk is available on YouTube, and although it’s long, I’d highly recommend watching it. Steve gave a great lecture on what type of info is available to him as a PI, and how much of that is contributed by us. After that, I stopped twittering.
That didn’t last long. No more than a week later, I was back to broadcasting the various happenings of my life, having gained only a bit of perspective on what type of information I wanted to contribute. A year later, while thinking about this talk, I decided to do a little audit of my own privacy online. Here’s what I found:
What I Have Going for Me
Let’s start with the good. Where’s the first place you used to go to find info on someone? The phonebook. I don’t have a landline, so I’m not listed. That’s a good start. I’m also not particularly settled down yet. I move often, so info becomes stale quickly. I don’t own a house, run a company, or do many other things that would create public records.
I’m also lucky. A quick Google search will reveal that I’m not the only David Albert on the internet. Not only that, but there happens to be a rather famous and more accomplished one generating a bunch of noise that might help drown out what I generate.
These, as we’ll soon find out, are small comforts in the face of a very grim reality.
The Search Begins
Let’s say you got an e-mail from me, and wanted to know more about me. Maybe you even want to find me in person. The place to start would be my signature, which is pretty much standard at my office:
David Albert
AdaptiveBlue – Software Engineer
http://getglue.com
http://twitter.com/davidbalbert
From here you already know where I work, and you have my Twitter account. From my twitter page, you’ll find a link to my website. While I might not be in the phonebook, I’m in the internet equivalent. WHOIS is a system where you can look up the owner of internet resources, including domain names. When you register a domain, you’re required to enter your name, address, and e-mail address. These become public and are available via WHOIS search. You can pay extra to have someone enter their info as a proxy, but you have to pay extra, so very few people do it. This service is also not available in every case (like mine). I’m not going to hand it to you on a silver platter, but if you know how to use WHOIS, you have my address. At this point I’m already screwed.
Look back at my Twitter account for a second. My latest tweet is about my Greyhound ticket. Seems pretty benign, right? Think again. With this info, you can infer that I was away for the weekend. If you had the means and desire, this would have been a good time to break into my apartment and snoop around.
I use Facebook. I don’t use it as much as the vast majority of users, but there is still an obscene amount of info that has been put up there by me and others. I don’t link to my profile from anywhere and I have all my privacy settings as stringent as they can be, so this might seem like a bad angle of attack, however not all is lost. If you know a little bit about me, like where I live (available on my Twitter profile), or where I went to school, you’ll probably be able to find my profile pretty quick. If you’re so inclined, I’m sure you could find a friend of mine with access to my profile or be able to access my info via other means.
Even if you can’t find a way in, there is a nice little tidbit that you’ll probably be able to use. Facebook recently introduced usernames, and if you can find mine, you might notice something juicy. I use the same username on Facebook as I do on Twitter. A quick Google search for my Twitter and Facebook username reveals that I use the same one everywhere I go on the net. A lot more fruitful than searching for my name. From here, you can find forums I’ve used, companies I’ve worked for, accounts I’ve created, services I’ve used, code I’ve written, e-mails I’ve sent, the school I went to, photos I’ve taken, my interests, and people I’ve interacted with who might provide some sort of info about me or way to find me, just to name a few.
Twitpic
For the sake of brevity, let’s just take a look at one of the results. Twitpic is one of many services that allows you to post photos from Twitter. You can find my account from our most recent Google search, but you don’t even have to look because it uses my Twitter username and info. Browsing through my recent photos, we find a picture that looks interesting. While there’s no description attached, the page says that the picture was posted August 15th. While the date is apparently wrong, you can find the relevant tweet from the 14th. It says I’m on my balcony watching the sunset. Take a look at the picture again. The quality is not great, but given that you know my address, it’s probably good enough for you to pinpoint my window from the street.
You can do this stuff all day. Keep clicking on those links from Google, and you’ll be able to find all sorts of stuff on me. In an hour, you’ll probably have a pretty complete picture.
The Takeaway
So what is there to take from this besides every bit of personal information that anyone has ever posted about me? Steve Rambam was right, privacy is dead, and it’s our own damn fault. No matter how little info you put online about yourself, people who want to find out about you will be able to (remember, we only looked at public info that I put online myself. We haven’t even considered other private databases available to PIs, various public records, and government databases available to the Police and the Feds). Furthermore, if you’re thinking about taking it down now, don’t bother, it’s too late. Everything on the web is archived in some form or another. If you publish it, it’s there for good. No ifs ands or buts about it.
You can, however, begin to consider these things going forward. What types of info do you really want to share? Twitter just announced a geolocation API. Do you want people to know where you are all the time? How about who you’re hanging out with? Think about this the next time you share something on Facebook or checkin on Four Squre. If you make conscientious decisions about these things, you might not be able to stop interested parties from finding out all about you, but you might just make their jobs a little bit harder.
Update: There’s a great article by Jacqui Cheng on the subject that is totally worth your time. ↑
Etiquette Algorithms
↓ Updated: September 2nd, 2009.
Elevator Etiquette
I have spent a fair amount of time in elevators over the course of my life. Elevators are awkward places to be. You look at the ceiling, check your watch, and you definitely don’t make eye contact. If you know someone in the elevator it’s probably just as bad. Odds are it’s someone you don’t see often, which means you are forced to make small talk for the remainder of the ride. No fun.
There’s another thing that happens on elevators. You move around to maintain your personal space as people get on and off. Its an algorithm that’s pretty well defined, and everyone seems to know it, although no one ever talks about it. Because I think about this stuff a lot, I’ve decided to try and codify it. This is what happens when a person (let’s call him person a) enters the elevator:
if (elevator is empty)
stand anywhere on the perimeter
else
if (distance between people along the perimeter > perimeter threshold)
person a stands on the perimeter
everyone else moves along the perimeter to equalize distance between people
else
person a stands near entrance
everyone else moves along the perimeter to maximize the approximately
circular area surrounding them
The algorithm is pretty simple. The idea is to maximize the area that surrounds you with a caveat. That caveat is that it seems desirable to have everyone stand on the perimeter, to a point where that can be more important than maximizing your space. This is done until some threshold distance between each person along the perimeter (let’s call it the perimeter threshold) is crossed and everyone in the elevator begins to spread out over the entire area. This seems to happen pretty regularly and accurately and everyone just seems to know how its done.
Urinal Etiquette
There’s another etiquette algorithm that I know about. This one is exclusive to men and involves deciding which urinal to use in a row of urinals. Here’s how I see it:
if (bathroom is empty)
pick a urinal close to the ends of the row
else if (urinals have dividers)
if (urinal use ratio < 0.2)
pick a urinal at least 2 spaces away
else
pick any urinal, with preference given to urinals are flanked
by at least one empty one
else
if (urinal use ratio < 0.2)
pick a urinal at least 6 spaces away
else
if (there are urinals that are flanked by two empty ones)
pick one
else
if (you really have to go or you have little shame)
pick any urinal
else
wait it out until there is a urinal available that is flanked by two
empty ones and then use it
Send me your corrections and comments. I bet the algorithms are a bit more nuanced than this. Are there any other algorithms that we all just know? I can’t think of any more off the top of my head, but I’m sure there are some.
Update: Randall Munroe of XKCD fame has a rather thorough discussion of the urinal problem that is really worth reading. ↑
A New Project
So I need a project. I mean, I really don’t need a project. I have a lot on my plate including a mobile phone virtualization project on top of Android which I’m quite a bit behind on (more on that at a later date), but I still feel like I need a project. I want to learn board layout, which is something that isn’t really taught in school. It’s a shame that it isn’t because the more and more I think about it, I realize I didn’t become a Computer Engineer to learn how to design components, but to learn how to use them.
The Plan
What I’d really like to do is design an arm board and get Linux running on it. Unfortunately, I think if I tried this now, I would never get it done. I don’t even think I’d know where to start. What I need to do is start smaller. I’ve always wanted one of those lcd dot matrix scrolls that are used to advertise the lotto jackpot, but even that might be a bit too much for the first project. What I’d like to do is start with only one of the display segments – the kind that can fit one letter – and work my way up from there. Here are my requirements: