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 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 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 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 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 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.

Mindful Focus

mindful focus

I’ve been fortunate to spent the last year traveling around the world. It’s been an incredible adventure to say the least. When you’re working online on a RTW trip you find yourself being productive in some strange places.

Right now I’m at a cafe in the middle of nowhere. It’s stiflingly hot, loud trucks are passing by, old people are loud talking at each other, and there are sweaty personal space invading waitresses everywhere. Not the most excellent work environment right? Wrong, I’ve been remarkably focused over the last couple hours of working here.

This space should be anything but conductive to focus or work and yet I’m completely mindful of the tasks I’m working on and getting them all done. I’ve completed all of my MITs and even had time to write this little post up in a couple hours. I’ve been in the flow state for this entire time.

How is this? It helps that I started this work session “on a hill” and that I’m working on exactly what I want to be working on. Also, I’ve been intensely cutting down on anything that doesn’t directly relate to what keeps me mindful and focused.

It helps that I’m working on less projects, telling people no more than yes, and generally reducing what I do online to next to nothing.

Beyond focus it helps to be mindful.

Counterintuitive: Start Your Day On A Hill

Here is something you can do to really kickstart your workday. Start each day on a downward slopping hill. A metaphorical downward hill that is.

Stopping a task at an arbitrarily defined time like 5PM really makes no sense. Try stopping your task on or shortly after the point you’re most excited about it. One would think if you’re excited about something you should continue working on it until the excitement wanes. This is great if you can complete the task in sitting. If the task takes you into another day you may want to consider quitting while you’re ahead.

The whole point of this is that it takes an incredible effort to get back to that level of energy and excitement the next time day. Sometimes generating that kind of interest is just too much to ask early in the morning. So we allow the distractions to take over. Like processing email. In other words procrastinating with something that feels productive but is really just busy work.

Stop when you find yourself totally motivated and pumped up. Move onto the next item and get that task rolling.

When you start your next day you’ll be excited to get back to the first task where you left off. Ideally if you stagger your tasks like this it will never feel like a chore to get going, and you’ll be a ninja on startup every day.

[photo by incase]

Hard Choices Are Easy Choices In Disguise

When faced with a personal decision choose the more difficult option because it will actually be easier in the long run. It’s like personal finance. Spending money now is easy but it’s not good for your long term savings. Saving money now is always the more difficult option and yet it is far better in the long run.

For example:

Decision: Should I smoke that crack?! No!
Result: You won’t become a drug addict and you’ll save money on buying crack. (isn’t crack cheap though? hmph)

Decision: Should I wake up earlier and gor for a run before work? Yes.
Result: You’ll be happier and healthier in the long run.

Decision: Should I work instead of playing Angry Birds? Yes.
Result: You’ll accomplish more and spend your time doing things that matter.

I think you get the idea.

It’s pretty easy to get overun by the “shoulds”. I should be doing this or I should be doing that. Don’t let that kind of thinking take over. Be gentle with yourself and if you really want to just sit around watching movies than do that.

Just don’t make a habit of making the easiest choice all the time. The choices you make now become the habits you form and those habits will impact the rest of your life.

A side effect of this line of thinking is that you’ll appreciate the down time, or non productive, or just plain fun stuff more. A ‘treat’ isn’t a treat if you do it all the time. You wouldn’t eat a tub of ice cream every day? So why would you watch 2 hours of TV or movies every night?

Also, I’m really enjoying writing these posts these days. I hope you’re finding them useful. Also, I’ve fixed up this site a bit but you won’t see it if you’re viewing via RSS. I’ve updated my photography portfolio and disabled comments on this site. I feel the comments just aren’t adding any value and they’re just another inbox for me.

The Flow State

You Know The Feeling
Your head is down, you’re cranking out whatever you’re working on and all of a sudden time disappears and nothing else matters. Everything else is muted and you are just destroying! Well, er, in a good way of course. Everyone has this feeling of getting into the zone or being in a state of flow from time to time. I’ve started to ‘hack’ this artificially get myself into this headspace at will. Here’s how I do it.

I’ve noticed that I almost always have some type of drink on the go. And no, I’m not talking alcohol. I gave up that poison years ago. I’m talking about the best espresso you’ve ever tasted at a cafe in Athens. Or the incredible organic coffee from Arbutus Coffee in Vancouver. Whenever I get into this flow state or into this zone there is always a drink involved. I suppose the caffeine induces some type of biochemical or neurological response which makes my feel like I’m in the zone… It could also be that I’m least productive when I don’t have a drink going.

Music or Silence
If there is not complete silence at the ass crack of dawn then I need to have music. Usually ambient or lyric free music is best. For example this week’s Friday Mixtape by Tor is exactly the type of flow inducing music that I love.

Very Early Mornings
I’m talking 4:30 or 5:00AM. When I get a restful sleep I can rock up at this time of day and immediately start cranking it out. For many people, like my most awesome brother, the late night is a better flow time. He and I once tried to work together and this caused huge issues! He works best at night, I work best in the morning. You can’t just start waking up this early on a whim. It takes quite a while to get used to the sheer ridiculosity of this time of day. The best part about this time of day is you can take your dog for a walk and there is near silence. Take your dog to the local cafe and crank out some work before the rest of your timezone is even awake.

The best combination is this: some fantastic early morning exercise, a great coffee type drink, and silence or ambient music. If you’re a runner you can parlay your well documented ‘runners high‘ into your flow state. If you can combine all of them in the right order you’ll be a productivity master. Your inbox will be zeroed and you’ll get your most important tasks done before your friends or colleagues are even awake. They’ll wonder how you make it look so easy. It appears as though most high performance people (yeah I just said that, pfft!?) do this.

If you really have trouble finding your flow state use one of the time tracking tools to monitor your productivity. Then take note of your environment. Act accordingly.

Counterintuitive: Fear, Run At It

Imagine you’re out in relatively shallow water in the ocean. The waves are breaking and everything is beautiful. All of a sudden there is an enormous set of waves coming in and they’ll be breaking right on you. What to do? Do you run in fear toward the shore or do you run right at the waves? If you run toward shore chances are you’ll get pummelled by the waves, if you run toward the waves you can easily just dive under them to calmer water beyond.

I’ve found this handy little analogy serves me well. It’s something I’ve been thinking about recently: running at fear.

Use that little voice in your mind that says you shouldn’t do something because you’re afraid as a guide. Don’t listen to it and simply do the opposite. Run toward what scares you at full speed and you will prosper. You will be totally alive and happy.

Whether it’s new experiences, new challenges, new opportunities, or just big risks, let your fear guide you. Fear is great, it tells you what you should be doing! It’s practically a compass.

I’m not talking about being reckless (like base jumping without a parachute or something) so don’t be an idiot. I’m talking about growing as a person. Act accordingly.

Update August 13 2012
See also: Push, push, push. Expanding your comfort zone. by Derek Sivers.

Counterintuitive: Internet, Less Is More

Contrary to what common sense would suggest, having less connectivity will actually increase your productivity. If your internet access is intermittent and you’re genuinely offline, you’ll get more crap accomplished.

I’ve written 40 000+ words, shot 30 000+ photos, bought and sold several websites+domains+photographs, and run a successful photography school. All of this was with very limited connectivity while traveling through 20+ countries this past year. I’ve gotten more done in less time and I’m happier for it.

When you do have “online” time you have be highly focused on what you need to get done. As a result, you get it all done. Think reverse Parkinson’s Law which states:

Work expands so as to fill the time available for its completion.

Online time should be a treat, like ice cream. If you have 24/7 high speed internet getting distracted into useless minutiae is easy. The web is a hyperactive distraction machine. There is something incredibly awesome and simultaneously useless that comes out every single day. If you want to be more effective give yourself more offline time.

Spend your time having fun and building sand castles, not Facebooking your friends to death. Speaking of ways to be more effective, read this article about email.

How To Upscale Small Images in Photoshop

If you’ve ever tried to enlarge a small image you’ve surely noticed that awful loss of quality that occurs. You know that super pixelated look… One way to minimize that pixelation is to scale the image up in small steps.

Do not go from 100% to 200% size in one single step. Break it down into several smaller steps. This will give Photoshop more information to work with at each step and this will result in a cleaner final image.

Create a Photoshop action to step up in 10% increments if you need to do this often. You could use Automator for this too if you don’t have Photoshop. I’m just skimming the surface here but if you want to know more just visit one of the bazillion Photoshop tutorial sites…

(BTW I’m making an effort to bring more value with my blog instead of being a lazy reblogger. Hence the mini tips and how-tos…)

[via Hugh Bell who happens to be a steadicam operator]