RE: Optimizing for the Maximum

My good friend Bob with some good common sense: Optimizing for the Maximum.

I think people like options. They like possibilities. At least, I know I do. It’s nice to know that whether you want to or not, the choice exists.

G.O.B.: I should be in charge. I’m the older brother.

Michael: Do you even want to be in charge?

G.O.B.: No… but I’d like to be asked!

Arrested Development S1:E2

Bob does a great job focusing on needs vs wants in his post. I really like the thought of planning for the 3%. That’s powerful.

I think you can take it a step further, though. How often are we planning for the 0%?

Now, I’m not talking disaster planning. We all hope that we’ll never need to use the survival kit in the trunk of our cars. We all hope that our spare tire won’t be necessary, but it’s good to have along just in case.

Yet, there are a lot of non-essentials that we plan for. We worry about possible problems before they even exist. We’re thinking about crossing bridges before we’ve even planned out a route. We don’t even have a map and we are worried about getting over rivers.

The thing about life is that you have to live for the now. I’m not advocating that planning is a waste of time, but choices need to be made based on actuals, not possibles.

And yes, not all your choices are going to turn into ideal situations, but that’s what life is about. Making mistakes and being a bit of an idiot.

A Bit of an Idiot

If you don’t look back at yourself 10 years ago and think “I was an idiot,” then you need to reevaluate your life.

Being an idiot is a big part of being alive.

Think about it. If you’re not several times (if not multitudes) smarter now than you were 10 years ago, what does that mean? That means you’re not learning. You’re not making mistakes. And more importantly, you’re not growing.

The thing about awesome people, is that they are awesome. They instinctively know when it’s time to move on.

But moving on doesn’t necessitate physical change. Physical changes can help, but the internal–mental and emotional changes–are what defines you as a person. And if those things are not in continual development then you have a problem. Even if you are content with your current state of well-being, day to day interactions, personal conflicts, experiences, and those of people close to you will slowly change and mould your perspective.

To some extent, this is completely unavoidable. Whether you want to or not, you’ll slowly morph into a new person without hardly realizing it. Many of these changes are slow and unnoticeable. Which is why it is important to occasionally look back and take a retrospective inventory of all the things you’ve learned and all the ways you’ve changed.

The goal is not to dwell on your regrets and mistakes, but to remember them and ensure that you are still not making the same ones today.

So here’s to being an idiot. Yesterday, today, and tomorrow, so that in the future, you can be smart.

EDIT: Partial credit goes to Steph for helping inspire the concept.

Three Books That Will Change Your Life

The more I dive into this type of material, the more I see the tremendous value in B) having a system in place to deal with daily life and A) understanding the motivation behind our (in)actions.

I was recently joking with some friends that this is the type of stuff they should be teaching to the college students. This is the type of thing which would make for a great Freshman Seminar class. (Which, I might add, I think could be a fun class to teach.)

And so, I present my Freshman Seminar Book List. (Motto: Trust me, I’m still alive.)

GTD

Getting Things Done by David Allen

Anyone who has any ambition should read this book. Whether or not you agree with David on his methodology, he provides access to a proven system to make your life less crazy. Maybe that’s not what you need right now, but you might need it in the future.

David offers some very simple, yet extremely helpful, ways to get your life under control. And even if his system doesn’t quite work for you, the insights he offers can help you create your own system.

If you’re expecting life to be easier later, you’re going to be waiting for awhile. College is a fantastic time, especially early years, to develop habits. And if you want to succeed, you better develop some good ones.

The Now Habit by Neil Fiore, PH. D.

The thing that fascinates me about The Now Habit is that Neil talks about procrastination as a symptom, rather than the problem.

Far too often people try to solve problems without fully understanding the issues at hand, and while I have not read many books on procrastination, I feel that this one does a fantastic job of understanding why people procrastinate.

As aspiring young students, you will probably spend a fair amount of the next few years procrastinating, and maybe that’s okay, but it’s helpful to understand the problem from the correct viewpoint. Because once you understand it properly, then you can go about making appropriate changes, if they are necessary.

Whack on the Side of the Head by Roger von Oech

It’s been awhile since I’ve read this book and to be honest, I don’t remember much from it. But it does shed some light on a few key concepts when it comes to critical thinking and problem solving.

I don’t want to spoil the surprise but one of the biggest eye-openers I had when reading was just learning to look at problems from a different perspective. It’s very easy to get trapped into thinking about things from the same point of view. Sometimes you are trying to solve the wrong problem. Or solve it from the wrong direction.

You’re going to be up against a lot of problems in the coming years… and lets be honest, the rest of your lives. And even if you are not an artsy type, or don’t need to brainstorm on a regular basis, just knowing some of the simple ways you can “be more creative” will help you in many areas you probably are not thinking about.

Snowmen

Little known fact: my snowmen do not fall down.

First, allow me to show you the picture of the snowman I built many years ago, and my sister is standing next to it for size comparison. It was really tall.

Snow Monsters 2

But despite it’s massive size and weight, it did not fall down.

Snow Monsters 3

I cannot explain this phenomena. But it happened again, when I built this happy snowman.

Limbo Snowman Day 1

And the next day, he was doing the limbo.

Limbo Snowman Day 2I cannot explain this either. Nor, can I explain our intention when a friend and I made a snow donut.

DonutBut I could say a few things about our snow dragon.

Snow Dragon 2

Snow Dragon 3

Snow Dragon Perspective

Though he was not very tall and didn’t breathe fire.

Serpent of the Snow Sea Full

We also made a snow serpent who was eating a tree. Probably a vegetarian.

Serpent of the Snow Sea

Anyway. Snow is fun. Here’s my bother smashing a snowball with his head. Hard core.

Snow HeadbutSo. What are you going to make this winter?

Snow Punch

(Check out the rest of my “snow punch” photos on flickr.)

The Invisible Implementation of iTunes Match

Syncing services by their very nature need to be somewhat transparent. They need to happen in the background. Hitting “sync” every 10 seconds after you make a change makes for a poor user experience.

In the case of iTunes Match, the concept is relatively simple:

  1. After subscribing, music from iTunes will be available for you to stream to any device you are logged into. Your playlists and albums will all be at your fingertips. If iTunes does not have your music, they will upload it and store it for you to provide the same results.
  2. If you add music to iTunes they will update the music in the cloud to reflect the changes.
  3. If you change music on one device, changes will propagate to all your other devices.
  4. This will all happen seamlessly without any intervention on the part of the user.

This looks really great on paper, but real life is rarely made of paper.

I’ll readily admit, I’m not “most people.” There are probably a lot of people for whom this works really well. It has not been so for me.

I have roughly 12000+ songs in my library. ~1500 of them are from iTunes or other CDs. ~9000 of them come from video game soundtracks or remixes. (Yes, I know…)

So yeah. Apple had to upload a lot of my music. What’s the problem.

I’ve had several problems and all of them come down to the fact that iTunes Match has no user interface for me to go in and make changes or choose settings or anything else. Arguably, it shouldn’t have these (it doesn’t.) Arguably, it shouldn’t NEED these things (I think it does.)

Duplicate Songs.
I have some songs which iTunes claims are duplicates. It refuses to upload these to iTunes Match.

This confuses me, because playlist wise… If I have the same song in a playlist twice, it shouldn’t be a problem. It’s a second instance of a song I already have. But somehow, I have two copies of the same song imported into iTunes. I always assumed that if I copied a song I already had into iTunes it was smart enough to not need to copy the song again. (Sometimes I thought it appeared smart.)

So somehow I have two copies of the same song. Big deal. So how do I deal with this?

Well I can “keep duplicate” or I can “delete duplicate”. What does this mean? Does it delete the file? Where is the duplicate? If one of these songs is in a playlist, I’d like to keep the song in the playlist. But now I have to manually search out several dozen duplicate songs and put them in the right playlists? (Why did the “find duplicates” option disappear from the new iTunes?) What if I can’t find the supposed duplicate? Do I have to recreate all my playlists?

Nested Playlists.
Because of how my library is setup, my video game music lives in it’s own little folder, separate from the other stuff I listen to. So naturally, any smart playlists for my game music should only pick up game music. With so much music I have playlists to keep track of my most played songs, my highest rated songs, songs I have yet to play, and songs I really like but haven’t listened to recently. All of these playlists rely on my folder structure so that only songs from my video game soundtracks list show up in the playlists.

But on iTunes Match, these playlists are empty. I don’t necessarily want/need the smart playlists to be auto updating. But why can’t the playlists be updated statically?

This Playlist is not Eligible
I have a few odd song types which I should really sit down and convert into CBR MP3 files. However, if a playlist contains one (or more) of a “non-eligible” media type, the entire playlist is rejected from iTunes Match. Let’s not throw the baby out with the bathwater here.

And finally: Where’s the master copy?
Since signing up for iTunes Match I have added new music to my library. Often times I will add it to a playlist I already have setup. In more than one instance, after adding the music to my playlist, I will return later to find that it is no longer in the playlist I put it. The music is still in my music library, but it’s not in my playlist.

I will admit. This might be partly caused by the horrible, horrible internet service I am stuck with. And *maybe* this was a bug that was fixed with the latest update. But this leads me to my concern.

iTunes Match was built to be the master copy. For me, my iMac is the master copy. So when I add music to iTunes, I want to see where it goes and I want it to stay there. But Apple could very easily tell my iTunes to match the cloud and take whatever it wants out of my playlists.

Is this really happening? I don’t know. But I know that multiple times things have disappeared from my playlists. Hopefully, this is a bug that is or will soon be fixed.

Yet this all comes down to a transparent interface. No where can I go and see how iTunes match is coming along. No where can I go to tell iTunes match to check/upload a playlist. No where can I go to tell iTunes match to ignore a song or playlist. (I would love to make a folder in iTunes for temporary file conversions or testing and not have iTunes upload the songs to the cloud.) Where can I go to tell iTunes to take music out of the cloud?

iTunes Match is a phenomenally convenient and theoretically seamless idea. But it was designed without a user interface. It was built to be seamless in an environment that could use a few seams. I have full days when the little cloud icon in the corner of iTunes is loading away or the bar along the top says “Matching your music…” for hours, even though I know it already told me I was up to date. How can I check up on that? How can I see the progress? As a power user, I’d like some more options. And I know… Apple’s bad with options. But they also don’t seem to be very good at being seamless. So where do we draw the line?

RE: Fear of Imperfection

My good friend Bob Martens just posted on his blog that he fears imperfection. Specifically when it comes to coding and programming. I have to say that I know this feeling as well. Though imperfection is not necessarily the term I would use. For me, the fear is efficiency.

Sure, I fear that my code will have some horribly exploitable bug and that’s one reason I typically don’t release it into the wild. But code is rarely efficient the first time through.

They say it takes three revisions to get your code correct. The first is testing, just to see what you can make happen. The second time you rewrite it, you know how it all works and you have a few new things. Either in the process of this or shortly after finishing, you learn a few new tricks or come up with some clever ways to do things. Hence, the third rewrite when everything is smooth.

Which is where I am on a personal coding project. The code is pretty solid. It’s not perfect, but it’s fairly clean and relatively pretty.

As such, I’m pretty happy with how the code is, but when I need to edit something, or add something… I hate the thought of adding kludgy patches onto the clean system I have developed.

I want my solutions to continue being elegant.

The process I have developed to help do this is simple, but steals a bit from the three rewrite rule.

Pseudo code. My first step is to plan everything out ahead of time. This is how most programing should be done first. Maybe it is. I know I don’t do it as much as I should.

Testing phase. I play around with some sample pages or projects to make sure everything works the way it is suppose to.

Rethinking phase. After I get a grasp about how the basics work, I step back to make sure it’s accomplishing my ultimate goal and then make sure I’m being as efficient as I can at the moment. (Could this be a function? Should this be an object?)

Implementing phase. Finally I add it all where it needs to be and make sure it works.

My guess is that this is not ground breaking. My guess is that any other coders do this all to some extent as well.

But the main point is the point Bob was trying to make. You just need to do.

Any maybe that “doing” is just breaking things down into OCD manageable chunks. And maybe it’s just creating a disaster so that you have something to work from. But the important thing is that you need to actually do it.

Pictures in your head don’t come to fruition by staring at a blank screen. Unless you dream about blank screens. I can create a hundred blank text files and they’ll all be perfect and pristine, but they won’t do me a lick of good unless I’m trying to create some form of modern art exhibit. (I’m calling DIBS on that idea.)

So stop waiting to be perfect and go out and DO something. That’s how you’ll get better.

[PS - That's why I don't post as much on my blog as I want. I fear writing imperfect and poorly thought out content. But the blog doesn't get updated by being afraid of writing.]