Learning From Talented People


Processing art by Dave Shea.

I have the utmost respect for highly technical people like developers. The things they can make technology do is simply mind blowing.

Think about how Google works. Put down your iPad and think about what Google actually does for a minute. Then consider the people who figured that out. They’re positively brilliant. The best and the brightest if you will.

I have a couple friends that are not only brilliant from a technical standpoint but they’re also gifted artists.

My friend Dave is not only a great web developer but also an phenomenal designer and artist. A while back he created the artwork featured above using computer software and some algorithms. That’s not photoshop or drawn out by hand. It’s art created through programming. Check out the other art he created using Processing it’s gorgeous.

Another friend of mine Hugh Bell is another one of those quietly brilliant people. He can render photo-realistic 3D architectural mockups, shoot a perfectly smooth steadicam shot, and create mind blowing aerial cinematography and make it look easy. In other words he can straddle the technical and creative divide with a certain flare just like Dave.

They’re both so talented it’s humbling and I’m lucky to count them as friends.

What’s this got to do with me you say? Read on internet friend. Read on.

I was never sharp enough to be a developer or programmer myself. For some reason I was “rebelling” in school and flat out decided not to learn physics, calculus, or anything useful like that. That was a ridiculously bad decision that I regret to this day. Live and learn I guess… I think I was too busy chasing girls or something.

Programmer I am not.

However, as mere mortals we can learn from talented developers and artists like Dave and Hugh.

In fact I’ve been thinking about how we can apply the basic tenets of good programming to our lives. That may sound bizarre but here me out.

Good programmers prioritize: Performance, Reliability, Robustness, Usability, Portability, and Maintainability. Notice a pattern there? Anyone who is a doing well usually has some combination of those traits going for them on a personal level.

Let me explain.

Performance
Performance refers to an action, task, or operation, seen in terms of how successfully it was performed. In computing it usually refers to system resources efficiently and effectively.

How many people do you know who are good at what they do? How many of them track and monitor progress in some way? People who thrive are usually tracking their lives in some way. Those who are not living the lives they want usually have no method for monitoring their progression or lack thereof. They’re just floating at the whim of whatever happens to them. I have a suite of tools that I use to track things in my life from investments to fitness. Some of the tools include rescuetime, runkeeper, garmin connect, mint, and evernote to name a few.

Robustness
Robustness is being strong, healthy, and even vigorous.

Certainly we could all be a little more robust. Can you run for 30 minutes at a good clip? Are you a healthy person or even a vigorous person? Go for a run in the morning every day. Or play some sports. It won’t kill you to get our more and become more active. I think wanting to be robust is a great goal.

Usability
Usability is defined as “able or fit to be used”.

For a developer it refers to the ease of use of an application.

For my life I think of it in terms of how much utility I offer as a citizen of this planet. Seriously, how useful are you? Do you spend your time complaining or being negative or do you add value?

I try to provide usable information to others in the form of weird blog posts. Other times I like to write insanely long and detailed how-tos for friends on specific topics in email. For instance the other day I wrote about 4000 words explaining WordPress to a friend in an email. It was like customized documentation for a certain skill level. A few months ago I drafted an SEO strategy for another friend that was also many thousands of words. I like to add value and generally be useful to others. You may notice how effective people are often incredibly helpful because they’ve got their lives together. They know where they’re going and what they want to accomplish. That gives them time to help others. Always bring value. Whether it’s on email, IM, on the phone, or in person. Step it up a notch and add more.

Portability
Portability or able to be easily carried or moved often by being a lighter and smaller version than usual. In computing portability usually refers to running the same code on different platforms.

I think of portability like modularity. I like the idea of a modular or portable lifestyle where each element of my life is independent of everything else. For example having an income that is not tied to a certain location. Or doing work and that is not tied to a particular job or company. Set your life up so that it’s not Jenga.

This notion of portability (the traditional definition) also applies to how I live. The idea of lighter and smaller in particular is what resonates with me. I think we could have a lighter and smaller footprint. This could mean driving less or owning less. Things that are lighter and smaller are more flexible and nimble as well. That’s something to work toward in my book.

Maintainability
Maintainability for developers this usually means making something that is easy to maintain for themselves and future developers working on the same application. Sometimes programmers make their codes so intractable that they can’t be fired because nobody could ever figure it out.

I think of maintainability more in terms of how easy it is to maintain this way of life. Is my way of life sustainable from both an environmental and financial perspective? The last year has been positively abysmal from an environmental standpoint for me. I’ve been on way too many flights and I drove a relatively heavy vehicle all the way around Australia. I should really buy some offsets. In terms of the financials my lifestyle is so lightweight (portability) that I have lots of runway and things are good.

I haven’t really flushed out these ideas fully yet but I think you get the drift.

Other people have already figured out what you’re struggling with. Most likely in other fields of work or study entirely. There is much to be gleaned from them. They may even be friends of yours.

As they say, code is poetry.

Poetry we can learn from.

Drobo Review

Drobo Front

Drobo Open

Drobo Back

I’ve had a second gen Drobo for about a month and I thought I’d share my thoughts on the device. I put in four two Terabyte drives in it. I run it connected to a 3.06 GHZ 24 inch iMac with 4GB of ram on Mac OSX 10.5.7 using Firewire 800. I haven’t dumped all of my media onto it yet but I’ve played around with it enough to know whats up.

What is a Drobo?
According to Wikipedia:

“Drobo is a data storage peripheral which interfaces up to four 3.5″ SATA hard drives with a computer via High-Speed USB 2.0 or FireWire 800 (2nd generation only). It is primarily designed to allow installation and removal of storage devices without requiring manual data migration, and also for increasing storage capacity of the unit without downtime.”

Who should buy one?
Anyone who creates lots of media and is constantly running out of storage. Shooting RAW photos and HD video eats up space like it’s going out of style. Cloud storage services like S3 would be much better for backup, unfortunately consumer ISP bandwidth is so slow its flat out unfeasible for large amounts of data. As an aside I tried to use one of these cloud based services (backblaze) and it told me it was going to take more than a year of non stop uploading to make the initial backup given my So until the day when we all live happily in the cloud local storage is the way to go. With that in mind the most flexible solution is a Drobo.

videographer

Things you should know:
The actual amount of storage you get is MUCH less than what the drives can store. This is because the system needs a big chunk of space in order to be able to move files around and secure the data. See ‘used for protection’ below:
Drobo Dashboard Expanded

The Drobo comes with an app that is relatively unobtrusive. However it runs as a login/startup item by default so you see it every single time you reboot. Luckily you can easily disable it. Here it is:

Drobo Dashboard Screenshot

Speaking of booting, this thing actually boots up like a computer. I thought this was bizarre because I’ve never had a peripheral boot up before. Depending on the size of your drives it can take quite some time to boot up.

Here is a screenshot of the dashboard ‘advanced’ control panel when it’s healthy:
Drobo Advanced Controls

If you see anything other than green here you’ve got problems and you’ll need to do something about it. If you see red one of your drives is probably failing. My brother Jon Rawlinson got one and had a drive failure within a few days of owning it. Not sure if he lost data or not. Jon?

Something else you should know is that the Drobo will completely erase the drives you put into it when you first start using it. So you’ll have to migrate the contents of any drive you want to use before you insert the drive into the Drobo. On that note bear in mind that it only accepts SATA drives. So if your first thought was use that stack of old IDE hard drives on the shelf you’re SOL. Someone needs to make a Drobo like device for those old drives lying around.

Pros:

  • Huge amount of space.
  • Expandable.
  • Hot swappable.
  • Don’t need a bunch of external drives lying around.
  • Easier than a traditional RAID.

Cons:

  • You’ll probably just end up with more stuff to backup!
  • It has to boot up and its slow to do so.
  • If the drive goes to sleep it takes a while to wake.
  • Has it’s own fan and it can be noisy when the drive is running hot.
  • All your eggs are in one basket.
  • For some reason it’s ass slow if you try to run Aperture off it.

Conclusion:
It’s a great device and has certainly given me peace of mind. The Drobo is far from perfect but I would recommend to anyone who needs a big chunk of storage.

[Drobo on Amazon | Photo by blhphotography]

Google Reader is tha Shiz

Google Reader

In recent years the weeb has gone from an informational fire hose to a never ending binary tsunami. In order to deal with this I’ve been looking for the best RSS reader for some time now. I’ve gone from My Yahoo to Safari to Netnewswire to Kinja to Bloglines to Rojo and now to Google Reader. Google Reader isn’t even in beta and I still prefer it the rest.

The river of news interface is my favorite feature. As you scroll down it dynamically loads more information (standard reverse chronological order of a blog) from the feed or group of feeds. I have a “daily” tag/folder/label and this is the best page on the inkerweeb because it obviously matches my exact taste…

You can also quickly mix and mash your feeds and re-purpose the feed items as an link blog like this. It’s the easiest re-blogging imaginable. I’m sure they’re working a memetracker / memedigger view not unlike the Rojo Front Page or Techmeme etc.

Dump your opml into it and give it a go. They haven’t worked out all the kinks yet so don’t expect perfection. While you’re at it try the keyboard shortcuts.

Google Reader

Hype Machine – Mp3 Blog Aggregator

Hype Machine
design by Zoya Feldman

Hype Machine (redirects to the less friendly hype.non-standard.net)

It’s an aggregator for picking out music from all the best music blogs. I think everyone will eventually benefit from using some kind of custom noise filter like this. It will be some unique combination of passive filtering (last.fm, pandora, etc) and active filtering (hype machine, microformats, etc). The design will just fade into the background and you’ll be brought just the juicy bits (according to your taste) and that includes advertising. For now we can do this with text an audio but in the near future we’ll have the tools to do this for all forms of media on all platforms.

Business 2.0: Hype Machine