Who hosts that site? (a bash alias),

published at 11:09pm on 09/06/11, with No Comments

More than once (especially during the recent AWS outages) I have found myself wondering what network hosts a given web service’s servers. In general, this process has involved my getting the IP address of a particular hostname, and then doing a whois lookup on that IP address to query ARIN to find out which network owns the IP address of that server. This generally gives a pretty good indication of where the server is hosted.

Well that process was getting tedious, so I finally added the following alias to my .bashrc:

whip () { whois `resolveip -s $*`; }

Hereafter, you can type “whip ” (that’s Whois Host IP) to get the network information. Let’s try it out:

$ whip www.foursquare.com
#
# Query terms are ambiguous.  The query is assumed to be:
#     "n 50.16.242.188"
#
# Use "?" to get help.
#

#
# The following results may also be obtained via:
# http://whois.arin.net/rest/nets;q=50.16.242.188?showDetails=true&showARIN=true
#

American Registry for Internet Numbers NET50 (NET-50-0-0-0-0) 50.0.0.0 - 50.255.255.255
Amazon.com, Inc. AMAZON-EC2-8 (NET-50-16-0-0-1) 50.16.0.0 - 50.19.255.255

Looks like Foursquare is hosted on Amazon AWS (which we all know because they’ve fallen victim to some of those recent outages).

Now of course this doesn’t always get you the granular detail you need, but for a quick first pass, this should do the trick.

Filed under: Technology, with No Comments

Leaving Behind a Digital Life, Physically,

published at 11:09am on 09/02/11, with No Comments

“Do you remember when you cracked open that shoebox full of snapshots in your grandmother’s attic and discovered a past generation?”

I wrote that for my SXSW discussion proposal, and specifically I’ve been thinking about the benefits of physical memories versus the digital artifacts we create every day.

I produce a lot (a lot!) of work digitally in the form of these blog posts, in the form of photographs that go right from my digital camera to my computer to the web to your browser, in the form of pictures that I take with my phone that again, end up on the web, or nowhere else at all (the other night I turned to my neighbor at the bar the other night and excitedly exclaimed “A sloth! At the tar pits!” and flipped through the photos that I conveniently on my person at the time). This is great. Digital is great! It takes up very little room, it’s basically free to store, and its metadata makes it far more searchable than the numerous albums and notebooks that I have littering my apartment.

So I’m not thinking about reducing the amount of digital stuff I create. And I’m not even thinking about what archiving all that stuff looks like.

No, I’ve mostly been thinking about digital to analog conversion, or more specifically, printing shit out. Just the simple act of finding a photograph, a photograph with meaning and significance (either global, or personal), and reproducing it in a physical form, and freeing it from all of the baggage that comes with being trapped in a world of bits. Companies like Picplum, Postagram and Postcard on the Run are satisfying the base urge people have to tell stories with each other already, and I think that there is more to come.

While my Nexus One is probably not going to be around in 50 years (and lost with it, I’m sure, so many pictures of funny signs and meals eaten), it’s entirely possible that my kids pick up a copy of The Little Prince and out will pop a photo from a walk I took around the neighborhood after Hurricane Irene. There will be no context, but there will be a story. There will be the story of the kids walking by (and their clothes, look at those clothes), and there be the newspaper box and the car. This is what New York City looked like in 2011, they’ll muse, and laugh, but they’ll see it. And maybe they’ll be curious, and maybe they’ll seek out more photographs, and maybe they’ll ask me, as I sit on the porch, where that photo is from. I might not remember fully, but I might remember that moment, as I hold the photo in my hands, about how in Manhattan the streets were dry, while just up the coast entire towns were getting washed away.

A digital lifestyle really is ideal, for all of the reasons of simplicity and agility. The question is whether that translates into a digital history as well. There needs to be a way, selectively, to transfer our digital present into physical memories in order to fix them more stably in time. Especially when it comes to writing and captured images, the physical manifestations of the digital products are ideal as they do not require any more decoding than the two eyes in your head. Compare that to the perils of format migration (I swear I still have writing from college on floppy disks somewhere) and the default state of a printed photograph seems so much more appealing.

So should we transfer all of our digital stuff to physical? No, of course not. That would be costly, wasteful, and completely unmanageable. And it wouldn’t get at the essence of what I think is really important, which is the idea of leaving behind a trail.

Instead, can we select moments in time, solidify them, and leave them on the ground, in our wake, to say to the future “I was here, make of that what you will.”

[…]

Voting for my SXSW proposal ends tonight, September 2nd, at midnight. I would very much appreciate it if you would vote for me, and if you’d share your thoughts on this topic. Voting has ended for my SXSW proposal. Thanks to everyone who voted!

Filed under: Personal, Technology, with No Comments

Programmers! Feeling Uninspired? Try Teaching.,

published at 7:08am on 08/29/11, with 2 Comments

You know that old adage “those who can, do, those who can’t, teach?” Well fuck that noise. Teaching is the most surefire way I’ve found to reinvigorate the programming brain and remind myself that what we, as programmers, can do is nothing short of magic.

A few weeks ago, four friends (two programmers and two non-programmers) sat down at my dining table. It had all started with a conversation over brunch months earlier. Both friends, tech-savvy, but not programmers, had expressed interest in learning more about the process that actually goes into building a piece of software. They both had to interact with developers on a regular basis, but they didn’t actually understand the special sauce that went into turning an idea into a shippable piece of code. And so it was decided that we would embark on a one day Code School, a crash course in learning how to turn a computer from a device that is used to a device that is controlled.

And so we met over my dining table. Over pancakes and coffee (for this kind of learning requires sustenance) we formulated a game plan. We decided on a project (a simple geo-aware todo list), and we decided on a language (python). The project came from a real need that one of the students had felt, and the language was chosen for its ease of deployment to Google App Engine. It was important that we had a project that had real meaning, and it was important that we chose a language that would be easy to ship. If you do not ship, you do not learn.

And so we started to code. Well, in reality, we started to sketch. On a whiteboard, we wrote about requirements. We talked about a minimum viable product. We talked about what data was needed and what data would get stored. We drew out the workflow and we decided on functionality. And then, once everyone was good and excited and ready to rock, we started to code.

And this. This is where it gets good.

Just for a minute, I want you to remember what it’s like to be a complete novice. I don’t mean that you’re looking at a new language and you don’t understand the syntax. I mean that you do not actually understand that there is a connection between the words that you type into your editor and the words that get printed onto the screen when you hit the go button. Do you remember that? Remember the joy that you felt when you first typed in those words:

print "hello world"

and out came that text, right back at you. And remember the feeling you got when you went beyond hello world:

import sys

print "Hello " + sys.argv[1]

and you pressed enter:

$ python hello.py Jesse
Hello Jesse

and it spoke to you. The computer spoke to you. You told the machine what to do and it did it. In that moment, though the exercise was trivial, and you knew it, and though you knew that there’s an entire lifetime of learning in front of you, in that moment, you moved from being someone who could not, to someone who could, and did.

That moment is empowering.

And the ability to gift that moment to someone is something truly special. To be responsible for that feeling, to be there to watch as their entire face lights up with the understanding of what they were just able to accomplish. That moment makes you better. It makes you want to run off and make discoveries of your own. It reminds you that anything you want is within your reach, with a little bit of imagination and a little bit of magic.

Hello World, indeed.

Filed under: Personal, Technology, with 2 Comments

Paranoia and the Cloud: Why hasn’t our data been more at risk?,

published at 11:08am on 08/10/11, with No Comments

And now on Paranoia Theatre, some thoughts that have been kicking around in my head after I was rudely interrupted by the news the other night that none of our Amazon EC2 servers were accessible on the Internet any more. Sure enough, I checked the site: down. I checked the Amazon status page which indicated confirmed “connectivity problems.” I sent an email to the team and told them to keep their pants on. And then I waited, because really, in a situation like this, with the infrastructure we have so reliant on Amazon, there really isn’t anything to do at that point than wait for them to fix their routers and get our boxes back online.

Now, I’ve said in the past that while “the cloud” in general can be volatile, I still don’t think that outages like this will cause any major panic. One of two things will happen: either Amazon will shape up and stop these kinds of problems, or those companies with the need and the means will do what they’ve always done in the pre-cloud days and build geographically redundant backups into their core infrastructure.

But as I was sitting there, watching my terminal futilely trying to ping my servers, I started thinking about the scenarios where the kind of outage, rather than being the result of poor planning or human error, was much more malicious, deliberate and permanent. With Amazon becoming a single point of failure for many companies, every time there is an outage, someone publishes a headline listing all of the better-known companies that are suffering because of it. But even beyond Amazon as a brittle piece of the Internet’s infrastructure, it seems to me that there haven’t been any large, public attacks on data centers with the intent to physically and irreparably damage a service, rather than just interrupt business (in the form of a DDOS or hacking). Hearing about hacking exploits has been almost commonplace, but the last time one of my servers went down due to the integrity of a physical system, it was because someone dug up all of the main and backup fiber outside of my data center with a backhoe while doing road construction. But if a single backhoe (or, for that matter, a woman scavenging spare copper wire) can cause that kind of damage, why haven’t we heard of more people intentionally trying to drive a truck into a data center with the intent to take a company (or many) completely offline?

It’s possible that this kind of thing just is not practical. From an impact perspective, there are really two kinds of targets: large ones where any impact that would be made would actually affect some kind of significant change in the world, and small ones that wouldn’t really cause enough damage to be worth it. Any company large enough to know better will already have those geographic redundancy plans in place to prevent the loss of a single data center from actually causing any sort of lasting damage. And since much cloud infrastructure is, by design, geographically redundant anyway (Amazon’s S3 storage for one) even the smaller companies can take advantage of this kind of protection without any additional work. All of this makes the venture of trying to physically interrupt the operations of a data center rather as a fairly low reward activity.

Additionally, it’s possible that there really is no motivation for this kind of thing in the first place. Most of the attacks we see on data these days involve corporate or political information and personal identity theft. It’s entirely possible that right now there is simply little benefit to be had from wiping out, say, all of Mastercard’s data centers in one fell swoop when you could, for a lot less effort and a lot lower risk, just steal credit card numbers.

But as more and more of our lives reside solely online, from the critical (banking, health) to the personal (photos, journals), we are going to have to give more thought to what it means for us individually, and to society as a whole, to have the possibility that it could all go away, and what we can do to mitigate that inevitability.

Filed under: Observations, Technology, with No Comments

Smile, Darn Ya, Smile (or, Why I Work),

published at 9:08pm on 08/01/11, with 1 Comment

As I was walking to the office today, I saw hundreds of wire ties wrapped around the street lamps in Astor Place, their tails sticking off of the posts like a million colorful porcupine spines. Naturally, I had to stop and take some photos, but as I did so, I noticed that everyone else who walked by, hands clutching their Monday morning coffees, would do the same dance: they would be walking, eyes down or straight ahead (as is the New Yorker’s way), when the colorful posts would catch their gaze. They would pause, ever so briefly, and a smile would spread across their faces. Every. Single. Person.

Now I work a lot. I’ve been working on a startup for the past five years (one of the lesser known NYC startups, but that’s a topic for another day), I run an annual ruby conference, and I take a boatload of photos. And sometimes, when I’m sitting, bleary eyed, in front of my computer, I can not for the life of me figure out why I’m working instead of, well, any of the myriad other things that people do with their time. And obviously, the first thing that comes to mind is that enjoy the work. And that’s true. But if I were to think a little more about what exactly I’m doing, and why exactly I’m doing it, I would remember that really, I’m trying to make people’s lives just a little bit better. I am trying to take what I know how to do and I’m trying to translate it into a tangible action that will touch other people and improve their days.

I’m trying to make them smile.

Now I realize that not everything that I can do can be as whimsical and actively smile-producing as a colorful streetlamp, but with every speaker I choose for the conference, with every photograph I make for my website and every line of code I push for my startup, I am doing so in order to try to touch just one more person out there, and hopefully light up their day just a little more.

Perhaps you’re trying to do the same?

Filed under: Personal, with 1 Comment