Wednesday, July 18, 2007

Robert Scoble's State of the Web Address

KRON did a 6 part, 30 minute interview with Robert Scoble. Like him or not, he does cover a ton of technology news. I keep his link blog in my feed reader to get (what I think) is a pretty good view of what's going on. I think he puts it best: "It’s a lot easier to read 1,000 items a month than it is to read 28,000."

Check out video #3 for some thoughts on information overview.

Tuesday, July 17, 2007

Welcome to Amazon's EC2

I thought it was about time I checked out AWS since Werner Vogels recently declared that five years from now we'll all be on AWS. So today I got myself an account on Amazon's EC2. I set up a webserver and installed a php based web application driven by a MySQL database. I'll share the resources and tools I used to get started. Or you can skip to the summary.

First of all, if you don't know what AWS is, check out the Amazon Web Services front page, and specifically the page about EC2. Once you get the preliminaries (and hype) out of the way, your first stop should be this excellent screencast about setting up an EC2 instance from Windows that Mike Culver of the AWS team put together. This should help to bring the lofty concepts down to earth. Ultimately we're just talking about a machine out somewhere in the Amazon cloud. But that didn't stop me from getting a big rush as I followed Mike's tutorial and first logged into my EC2 instance. I hope you get the same experience.

Once I got over the initial excitement about turning Amazon's infrastructure to my own nefarious purposes, I started checking out the installation. I chose to install a preset image from Amazon which got me a Fedora installation with Apache, MySQL, and PHP, the canonical LAMP installation, pre-installed. They've also got Python 2.4, a nice alternative for PHP in lamP.

In about 20 minutes I was up and running with a complete web server and a database backend. This includes the 18 minute screencast from Mike. Of course, all of this is just what comes with the image I picked. But there are plenty of other choices. Try ec2-describe-instances -x all, or check out all the AMIs available at this public catalog of EC2 AMIs. Once you've found an image you want to install, try ec2-create-keypair gsg-keypair and save the result to a file "your_keypair" (or something more appropriate). Now try ec2-run-instances your_instance_id -k your_keypair. Amazon says it can take 10 minutes, but I've gotten up in under five minutes every time.

After checking some of the versions on the AMI I chose, I discovered I'd need to upgrade MySQL at least. While not an EC2 issue (it's just what was on the AMI I chose), I'm no Linux wizard, so some of these upgrades posed a bit of a problem. Fortunately there's the yum, pear, and pecl package management tools. yum upgrade mysql, yum install libtools, pear upgrade pear, pecl install xdebug-beta should set you right up. I had to disable the GPG check to install libtools. See /etc/yum.conf or /etc/yum.d/ and set the gpgcheck option to "0", but be sure to set it back to "1" when you're done installing libtools.

The next problem (as if it's just a minor speed bump) is that EC2 provides volatile storage only. So when you shutdown your instance you'll lose your disk, including configuration and software upgrades. That's in addition to this being a big issue for persistent storage in my database (out of scope for this post!). Fortunately, Amazon provides some nice tools for managing and creating AMIs, which is great for setting up a pre-configured image. Check out these docs creating AMIs for details. One thing they leave out is what to do after you've uploaded your image bundle to S3. Run this command to get an AMI ID: ec2-register my-bucket/image.manifest.xml. The next time you want to bring up your instance try ec2-describe-images -o self and ec2-run-instances your_new_ami_id -k your_keypair.

Whew, that's a lot of info. Let's recap with some useful resources:
Introduction Screencast to EC2
Start here. It'll get you all they way to logging in as root.
AWS developer forums
AWS has an active dev community. Take advantage of it. I haven't had to post a question yet since every question is already answered here.
Some commands you'll need:
  • ec2-describe-images -x all: This'll show you all the public images. Try the -o self option instead of the -x all option to get your private AMIs.
  • ec2-create-keypair gsg-keypair: you'll need this to create an RSA key. Save the result of the command to a file called "your_keypair".
  • ec2-run-instances ami_id -k your_keypair: This'll get your instance up and running, using the AMI with id=ami_id.
  • ec2-describe-instances: Use this to watch your active instances. Remember you're paying $0.10 per instance hour, so make sure you shut these down when you don't need them!
  • ec2-terminate-instance instance_id: When you're done, shut your instances down. Make sure you've gotten everything you want saved uploaded to S3 by the time you do this.
Setting Up Your Own AMI
These docs will walk you through creating a new AMI, either from scratch or (my recommendation) from an existing AMI. They leave out an important step though: once you've uploaded a bundle to S3 run ec2-register my-bucket/image.manifest.xml to register your new AMI for your own execution. It'll start out as private, but you can make it public if you want to share. Instructions are at the same above docs.
Some good blogs and posts about EC2:

That's about all I've got to say for now, except that all of this cost me $0.52. Not bad for a few hours of enjoyment :) I hope I helped to fill in some of the gaps in the documentation and tutorials. I'll be sure to keep you posted on my further experiences with EC2.

Saturday, July 14, 2007

Beginning to Get Things Done

Being a recent college graduate I spent the last year being pretty aimless. I figured that working my butt off getting two degrees would set me up (whatever that means). But about six months ago, in addition to being neck deep in hundreds of unread emails, I realized I didn't have any plan for What To Do Next. I wasn't working on anything bigger than myself.

A couple of months ago I started reading about structuring my time to be more productive (not quite "GTD" though). This has really changed my outlook on tasks and goals. I've learned that my mind is a sieve and I need to write down my ideas. I need to lay out clear and specific tasks so I can plan and execute. And I need to regularly check in on my progress.

In addition to these things being fun—it's a nice to take a break and sit down with myself to examine what's going on inside my head—it lays out a clear path to continuing what is good in my life, improving what is not, and achieving the things I promised myself I'd do.

So let me shed some light on the resources—in addition to the above links—that have helped to bring me here, even if it's just the start of really getting things done in my life:

Marc Andreessen's Productivity Guide
This was the first post on productivity (after having seen many prior) that really hit home for me. Marc is a successful technologist (of original Netscape fame for one) and great blogger. So it's no wonder that he has a system behind it all. I really like the bits on email and daily todo lists. It has changed my inbox from a wasteland of junk requiring constant maintenance to a tool that serves me instead. And he thoughts about not keeping a schedule are pretty entertaining.
Lifehacker
This is the canonical on-line technology driven productivity blog. The editor, Gina Trapani is a smart cookie. I found it early and I read it often. It's full of links to other sites (not a bad thing), but there are occasionally excellent articles on personal productivity.
Web Worker Daily
Remember how I said Lifehacker is full of links to other sites? A ton of them go here.
Zen Habits
...And if they don't go to WWD, they go here.

I'm really just starting out on the road to productivity. But already I've seen measurable success. Marc's advice on managing email was a life saver. I cut through the crap, and respond quickly to urgent issues. I prioritize issues as they come in and keep and eye on things I need to follow up on. And his daily todo list is an amazing idea. It changed my days from the endless question of "what did I accomplish today?", into a directed execution plan. And keeping the task items small, to the point, and actionable, as Gina suggests, is key. I pick up the list and do what it says, it's as simple as that.

If you've got tips about being productive I'd love to hear about them. I'm always looking for self improvement :)

Tuesday, July 10, 2007

I am Pacman!

What Video Game Character Are You? I am Pacman.
I am Pacman.

I am an aggressive sort of personality, out to get what I can, when I can. I prefer to avoid confrontation, but sometimes when it's called for, I can be a powerful character. I tend to be afflicted with munchies constantly. What Video Game Character Are You?

It's not just a good idea, it's the claw!

This most excellent piece of graffiti has been gracing the entry road to the mall near our house ever since we moved to Washington:

It seems The Claw is somewhat of a Seattle phenomenon; I've seen this same modification on signs in Redmond, Capitol Hill and downtown Seattle. (Unfortunately I couldn't take my own picture of it because they seem to have cleaned up the Redmond one in the last couple weeks. Too bad... it used to make my day every time I drove by.)

Anyway, today I found a guy who claims he started the Claw phenomenon. He sounds possessive enough about it that he just might be for real. Has anyone else sighted The Claw lately?

Monday, July 9, 2007

Next year's birthday present

If you thought that the Flytech Dragonfly was awesome (and it is), then you'll love this. If you were a fan of the BattleTech Universe this will make you wet yourself. I had to share it.

Hey Josh, what's next year's birthday budget looking like for me :)

Sunday, July 8, 2007

It's on its way

Whats on it's way? The grammar apocalypse, thats what. And if the egregious misuse of apostrophes in those sentences made you want to tear out your eyes, I want you on my side when the End comes.

Yes, as a linguist I've learned how prescriptivism is bogus and language is constantly evolving and that if we try to codify unbreakable rules we'll just end up like France, where the language spoken in the streets is practically unintelligible to anyone who learned "proper French" from a textbook. But all I'm asking (for now) is that we stop letting people graduate from high school until they can demonstrate the ability to correctly differentiate it's from its. This particular grammar faux pas (and il ne le faut absolument pas) has been driving me crazy lately. Once you start noticing it, it's everywhere. So here's the rule, people—repeat after me, memorize, tattoo this somewhere, whatever you need to do to remember:

If you could replace [it's] with [it is] in your sentence, then you need the apostrophe version (it's).
If your sentence stops making sense when you replace [its] with [it is], then you need the non-apostrophe version (its).

The former is a contraction meaning "it is", the latter indicates possession ("belonging to it"). Get it right or feel my wrath.

While we're at it, here are a few other gems you might want to avoid if you value the esteem of your grammar-sensitive friends:

  • Irregardless
    At the behest of Merriam-Webster, I'll refrain from saying that 'irregardless' is not actually a word. However, you definitely meant to use 'regardless'. Princeton says that 'irregardless' makes you sound like a joke.
  • Separating the wheat from the chafe
    Wheat and chafe? Sounds painful. While it's probably a good idea to separate wheat and chafing as often as possible, try "wheat and chaff" in your next metaphor.
  • Shot across the bough
    Unless you're shooting at squirrels (a bough is a tree branch), you probably meant "shot across the bow". It's a naval expression. Think pirates. (Though I don't know if pirates give warning shots, come to think of it.)
  • Bare with me, here!
    This one's my favourite. Are you seriously asking me to strip down? Together with you?? 'Cuz I'm a pretty patient person, and I'm willing to bear with a lot, but I only bare for a select few. (Yes, I know, damn those homophones.)

Please accept these suggestions as a token of my esteem for you, and my continued desire to read your writing without instinctively reaching for the Tipp-Ex.

The Best Birthday Present, Ever.

I got the best birthday present ever a week or so ago, the fact that my birthday is in April not withstanding. It's a Flytech Dragonfly my brother sent me.

It's a radio controlled ornithopter, which means that it flies by flapping its wings in response to me pressing buttons on the controller. And man is it fun to make it fly! I've heard that R/C helicopters are pretty hard to control, but this guy flies pretty smoothly.

Here you can see me flying this baby around the courtyard of our apartment complex. It flies pretty well as long as the wind isn't too fast. The instructions say you shouldn't fly it in winds over 4mph, and they're right. It's optimal when the air is dead. The controls get pretty wild when the wind picks up, so for best performance fly it near sunrise or sunset when the wind is the calmest. You'll be glad you did. My first flight was in the middle of the day with a pretty gusty breeze. I have to admit, I was a little disappointed at first. But when the wind finally died down it was a totally different experience.

Oh yeah, keep it away from roofs, trees, water hazards, and cars—parked or otherwise. Yes I ran it into this truck. Fortunately car and dragonfly were both unharmed. It has survived them all (except the water hazards) and lived to fly again. So it's pretty robust. Any damage is easily repaired by a little tape.

After visiting RoboCommunity, I made a small modification to my dragonfly. I found it a little difficult to control, so I added a bigger tail stabilizer. Specifically, I took a regular 3x5 index card and cut it into shape. All of the scrap went into the head as a counter balance. I find that now it flies very well, if a bit slower, even in light wind. It's really cool to watch it hover when flying into a light breeze now. If you're a DIY type person, you can find lots of other hacks and mods for the dragonfly. Seems as if people get pretty crazy about this stuff.

One of the disappointing parts of the dragonfly is its short battery life. It only takes about 20 minutes to charge it up, but then it'll only last for about seven minutes of flight. On the dragonfly forums they say the green dragonfly lasts longer than the blue. And one guy discovered a longer lasting battery for the dragonfly by looking up the manufacturer's code on the original battery—after taking the whole thing apart. This is not a mode for the amateur, squarely ruling me out. Oh well, good things come in short packages.

Thanks Josh.

Tuesday, July 3, 2007

Dinner (and work) with the Stars

...at least the somewhat-well-known-internet-personalities. In the last week I've had dinner with two internet-semi-celebrities: Rand Fish, CEO of SEOMoz, and Brian Aker, Director of Architecture at MySQL. So what's it like eating with the stars (depending on your context and your definition of star)? Read on to find out what I think of these people after having seen them eat...

Last week Susan and I had Rand and Mystery_Guest over to dinner. This is actually the second time I've met Rand, a strike against his stardom for me, but not for you! Rand is super nice. Just look at the picture in Mystery_Guest's profile. Seriously, go look. Aren't they cute? After we attended his engagement party he (actually it was Mystery_Guest) sent us a thank you note for eating their food and drinking their booze (don't worry guys, a cute thank you note is on the way for eating our food). And he's really knowledgeable about that interweb thing and especially SEO. Plus the SEO crew has an awesome blog: lots of great content, a nice design, and amazing seo tools. How can you not call him a star? And by the way, he brought us Ben and Jerry's Americone Dream. That was just the coup de grĂ¢ce. I'll forgive him for not liking Wikipedia. Oh yeah, he eats meat and is only alergic to—well, you'll have to ask him about that.

By the way, SEOMoz is hiring. Check out this comment. I almost agree:

Seriously, if I had a grunt level job at Microsoft I would jump at the opportunity trade in my MSFT for some MOZZ in a year.

I'm almost ready to jump all over some "MOZZ", so if you're interested you better hurry...

Last night I went to the MySQL Meetup in Seattle, where Brian Akers showed up. Or maybe he runs it? I was a Meetup virgin before last night. Only 3 other people showed up for this free (plus cost of food), public (everyone's welcome at the Elysian Brew Pub on Pike street) event. Does that dis-qualify Brian as a star? He's highly placed (director of architecture at MySQL, remember), pleasant to talk to, knowledgeable, generous with advice, and I've been reading his blog posts for quite some time. These are important factors in my book. One of the other guys who attended was interested in choosing a DBMS for his company. Brian asked a few questions (including asking importance of open source) and suggested MySQL (of course), but also Firebird. He also offered to follow up after the meetup, another important factor. I asked a bunch of questions about clustering, replication, and scale-out and Brian had a lot of general advice. Next time I'll have to come with more specific questions to better mine Brian's knowledge :) Don't worry, I'll share what I come up with.

Ok, so I didn't have much to say about how they eat. For goodness sake, it's eating. It's not like they've got extra mouths or something. Anyway, if you've met Rand or Brian—or better yet both!—leave a comment, and let us and our readers know.