Calm Before The Storm

That’s what this is right now. For months, I’ve been working and thinking and planning.

It’s about time for the storm. The shake-up. Things are about to change dramatically. It’s frightening, yet exciting. It’s dangerous, yet promising.

Stay tuned.

The Glass: Half Empty or Half Full?

Ah, the age-old optimism vs pessimism metaphor. What does a realist say about the glass’s liquid level?

I think a realist would choose one or the other based on observations, and say it’s half empty if it had recently been emptied from a full level or half full if it had just been filled up.

If someone hands you a full beer and you drink half of it, your beer is half empty. Half is the progress you have made so far on emptying the glass of beer.

If someone asks a realist if a glass of beer he or she has never seen before is half empty or half full, the realist would likely take into consideration whether or not is any beer foam residue above the beer level to indicate that it had been partially emptied. “It’s half-empty,” the realist would reply. You could poor half a glass of beer for that same realist, and he or she would likely complain, “Hey! My beer is only half full! WTF?”

Just a random thought.

Couch Surfing

Originally announced here in January, I’m approaching the one-year anniversary of SofaJumper.com. This week, I spent some time getting more profiles posted, and even posted 2 non-profiles. I’ve been meaning to do more non-profiles — writing about the lifestyle, the lessons, and sharing stories.

I added Giannii and Mike M. who each lent me couches in San Francisco. I added Mark and Mascha from New York City, and Mike G. from Chicago. I can think of at least 3 other people I’ve crashed with this year that I still need to post.

Part of why I’m all of the sudden trying to catch up is because I might be going on another couch-surfing spurt. Also, with more profiles out of the way, I can feel more free to post non-profiles. I think I can come up with some cool stuff to share about traveling.

By the way, I watched the movie Up in the Air recently. It is to travelers what Hackers was to geeks. I bring it up because George Clooney’s character did some things I was thinking about doing: share some of the tricks that optimize your airport experience.

Heat Maps in Flash

Two and a half years ago, I rendered a large heat map representing almost 100,000 Digg users and the 300,000 friendships between them. I used PHP/GD2 to render the image and it took quite a while to render. Due to the difficulty of redrawing it, the heat map was never updated. It would have been great if the heat map reflected current information, but instead it got to live on as a snapshot taken in 2007.

Since then, I’ve wondered about ways of rendering heat maps on the fly, ideally using the visitor’s CPU. Finally, in November, I was able to hack together a highly optimized Flash application that produces pretty awesome-looking heat maps (if I do say so myself) within a second or two.

Check it out

I’m afraid I’m going to have to be a bit of a tease for now, and not dive into too much technical detail. This project is part of a series of data visualizations that utilize a specific, lesser-known feature in Flash.

Knowing Your Limitations

This came up a couple of times tonight at dinner. It’s important to know your strengths and weaknesses. Even if you would love to do X, if you suck at it, maybe you should just focus on excelling at Y.

Tonight, I was asked, “Brian, why don’t you take on any side work?”

I have a pretty strict zero side work policy. As a Flash developer, opportunities come to me regularly, and I do my best to deflect them to other local Flash developers. It makes sense for people to wonder why. There’s money in front of my face and I’m not reaching out to get it.

There are several reasons I don’t do side work. First of all, I don’t need the money. I make enough to get by with my day job, so I would rather spend the rest of my time on me — traveling, going out, working on personal side-projects. However, I could work about the same amount, have just as much free time, but make more money if I freelanced.

I know my limitations. I know what I’m good at and what I’m not good at. I’m good at making stuff move with code. I’m good at turning someone’s idea (“It should move like this.”) into a reality. I’m not good at keeping organized. I’m not good at paperwork. I’m not good at maintaining client relationships.

Maybe I should get over these problems at some point, but for now, I focus on what I’m good at and avoid what I’m not good at. And it works.

I get asked from time to time, “Brian, you’re the organizer of [some event], right?”

People know I’m involved with a lot of the tech events around Phoenix. Even when I’m not, I try to help spread the word. With only one recent exception (I stepped up to organize SustainaBIL at the last second when the organizer realized he was going to be out of town), I haven’t organized any events.

I know my limitations. I know what I’m good at and what I’m not good at. I’m good at taking tasks and getting things done. I’m good at connecting people with the resources they need. I’m good at coming up with and vetting ideas. I’m not good at organizing. I’m not good at following up and keeping the ball rolling. I’m not good at leading the charge and getting people to take orders from me.

So I stay where I’m most valuable. I’ll perch on the captain’s shoulder and squawk ideas into his/her ear. I’ll swab the deck or pitch the anchor. More specifically, I’ll help line up speakers, or design & build web sites, or live stream & live tweet events, or pick up food, or hand-craft badges, or program a Twitter wall. That seems to work.

There’s merit to saying, “if you’re not good at something, try harder or find methods to do it,” but it can also be a good idea to step back and avoid causing a disaster.