New Macbook Air

Well, my wife is going to grad school next week, and we figured we’d get another MBA. I got a new one and she got my “old” one (that’s almost two months old).

So far, the 2011 edition is about the same as the 2010 edition. If it wasn’t for the grad school thing, I’d say its not worth upgrading unless you have serious number crunching to do, (video encoding, bitcoin minting, cracking your neighbor’s WiFi, simulating nuclear blasts).

The only thing that may make a difference for me is the Thunderbolt port. I’m a dual head kind of guy, and its something that I’ve sorely missed as a developer. The Thunderbolt port has the option to daisy chain displays or even use an external PCIx bus (only at x4, which isn’t bad).

UPDATE: MacRumors has a short post about the MBA only being able to support one display with Thunderbolt. There is still a possibility of using something like this to drive dual heads though.

In terms of games, it seems to perform almost equally as well as 2010 model, (Steam, SC2 is all I’ve messed with so far). No improvement, but no detriment either.

Engadget.com reviewed the 2011 model and said the keyboard and touch pad feel better, but they both seem identical to me. (I still miss my Thinkpad’s keyboard, but love the MBA trackpad).

UPDATE: I bought an Apple Wireless Keyboard and its probably the best keyboard I’ve ever used. I miss the number pad, but I’ve become pretty good at hitting the numbers on the top row of the keyboard, (even in the dark). I know this would be a major problem for a lot of people though. I wish the MBA had a keyboard that had keys that felt as solid as this.

Advertisements

Workout Progress

I have a routine. I go to the local track and I run up and down the bleacher stairs ten times. Then I run once around the track. I do that a total of four times. In the end, I’ve gone up and down the stairs 40 times and around the track 4 times. This usually takes me around 40 minutes. 🙂

I did this on Friday and again on Tuesday. I had a really brutal soccer game on Saturday and have been fairly sore up until today. I played lunch soccer though and did my routine and I feel really beat.

Regarding my last post on music, I think the music helps me get motivated to go out and run. It also encourages me to push my limits. At the end tonight, Eye of the Tiger came on and I was sprinting 100% full blast down the last 100 meters of the track. Normally, after running up and down stairs 40 times and after running a mile at the same time, I really don’t feel like doing that.

The fact that I did is a small triumph for me and makes me feel like I’ll do better on Thursday when I play soccer again.

Next, I need to sit down and identify some goals that I need to meet. They have to be quantifiable and be related to soccer so that I can track my progress. I think my first goal will have something to do with running a mile in under 8 minutes. I haven’t done that since Jr. High. Maybe later, I’ll run a half marathon or something – who knows. Anyway, that’ll be coming shortly.

Workout Music

**CLICK TO SEE THE UPDATE TO THIS POST**

I’m trying to find ways to motivate myself to work out when I feel like slobbing out and watching Lord of the Rings all the way through, (extended edition, for those wondering).

One way is with music.

I’ve got a bunch of POWER SONGS. I had to bold that because that’s how I feel about it. Its in all CAPS because I’m shouting POWER SONGS right now as I write this.

So, here’s the plan – I only want to listen to this playlist when I’m working out. I expect to build an association with it. These songs cause an adrenaline rush when I hear them. If I’m working out, the adrenaline pushes me way harder, even though I’m exhausted. This then results in an awesome endorphin rush, CREATING A TWISTED ADDICTION TO EXERCISE!!!! (It also pushes my limits a tiny bit further causing personal growth and confidence.)

Eventually, I can use these songs as ‘triggers’ to make me crave exercise and the endorphin rush. (Honestly, right now, just thinking about this, I’m stoked to go out and climb stairs and listen to my music…)

Very Angry Face drawn very poorly

Credit: Rage Comics

Yesterday, I was listening to Spotify at work, and one of my songs came on. I went into a bloodthirsty rage for exercise. I had to switch immediately to Norah Jones in order to keep my self from running up and down the stairs at work as fast as I could.

All you psychologists out there need to check in on this and tell me if I’m on the right track or if I’m losing it. 🙂

For those interested, here is my current list:

  • Battle Without Honor or Humanity (Tomoyasu Hotei)
  • The Arcane Dominion (Eluveitie)
  • This is How You Remind Me (Nickelback)
  • Machinehead (Bush)
  • Come Alive (Foo Fighters)
  • Sexy Back (Justin Timberlake) – (Don’t knock it. Bring sexy back in your life…)
  • Eye of the Tiger (Survivor) – (Kicks in right at the end of my routine. DO YOU HAVE THE EYE OF THE TIGER!?!?!?!)
  • Fly Away (Lenny Kravitz)

Fighting AMF

Today, I’m going to start playing with AMF. Finally. I’ve been coding in Flex/AS3 for a little over a year and a half and I think its finally time.

AMF is a protocol that Flex and PHP, (and lots of other server-side languages), can use to move data back and forth. Its cousins are SOAP/XML, and more recently, the redheaded stepchild, JSON.

The reason I’m interested in AMF is because XML and JSON based protocols are usually bloated in terms of payload. When you send an array of data with either, it gets converted into this mess of data that commonly uses 2x or more memory than the object takes on the server. It takes a long time to parse through this and convert it back into a native object and they’re very picky. SOAP requires a WSDL to be in place in order to function properly. You may find bugs depending on how the implementation work as well, (nuSoap vs. PHP SOAP for example).

AMF serializes everything into binary. This results in a much smaller payload that transfers quickly. Since everything is done with value objects, you still get the same benefits that exist with more advanced protocols like SOAP. You’re not having to parse a bunch of XML to unserialize it either, and so processing should generally be faster.

The things I need to figure out quickly are:

  • Authenticating requests
  • Encoding/Decoding Objects
  • How does this all fit with value objects
I’ll update this as I figure things out and hopefully have a really solid guide to using AMF.
Update
So, it turns out, there isn’t a lot of good documented examples of setting up authentication for AMF. In fact, I’ve so far found ZERO. I either suck at using Google, or nobody has written one. This is super frustrating and I’m about to give up.
The main problem I’m having is I can’t get custom authentication to work.
I originally built my service using JSON. I want to authenticate every call to the service, (since a cookie basically does that anyway). To accomplish this, I’ve created some GET string parameters that are expected.
To make a long story short, I’ve got my client sending an authentication credential, the AMF authentication system gets run, but things get hung up in the ACL portion – I’m not sure where, (which is what’s making this even more fun.)

Using World of Warcraft Mechanisms to Play Soccer

About a week ago, I StumbledUpon an interesting blog post on how somebody quit playing World of Warcraft and started working out instead. Sounds boring, right? What made this interesting to me was his motivation and a couple of things he mentioned.

The big motivator for him was he was seeing how people around him were wasting their lives on meaningless stuff. World of Warcraft uses social hooks to create interdependance within a guild between guild members.

For example, if you don’t show up for a raid, your guild gets mad. The raid is late because they have to find someone new, and they’re not used to working with the new person. Because you missed the raid, you don’t get the chance to improve your gear.

In real life, if you miss the bus, you’re late to work, and your boss gets mad, thus sacrificing a real relationship with a real person, and possibly the raise/promotion/new MacBook you’re hoping to get.

Because of this interdependance, people feel like they’re letting people down if they don’t help them in the game. For an in-depth exploration – go read the article.

Anyway, this got me thinking. How can I use this mechanism, (and others such as achievements, etc), to help me achieve my goals and play soccer better.

The three things I’m looking at using are the social interdependance, levels, and achievements.

Social Interdependance

This one is actually fairly easy for me. I’ve been playing soccer on a team in a league for some time. If I miss a game, my team has to work that much harder to win, (since they’re missing their normal defender). I sacrifice the relationships I have with my team mates, and its harder for them to win. They may have to get a temp to fill in for me, which hurts the team because they don’t know how to play together with him.

So far, I’ve been playing on the team as more of a leisure activity instead of trying to make progress. A few months ago, I really started to practice though, and improved a little. My team mates noticed and mentioned it. Hearing somebody tell you they’ve noticed a difference (with no solicitation), does wonders for your self confidence. It also does wonders for your motivation to keep working and improving, (so that you can continue to get compliments).

Levels

In World of Warcraft, everybody starts at Level 1 and works their way to Level 85 (at the time of this writing). Basically, your level reflects how much stuff you’ve killed and how many quests you’ve done.

The way I equate this in my life is being able to do something consistently. For example, being able to run a mile in under 8 minutes. Being able to catch a ball on my right foot and lower it gently to the ground. Doing the same with my left foot. Being able to dribble through 8 staggered cones in a certain amount of time – with only the outsides of my feet.

This is a little harder to figure out because I’ve basically got to come up with stuff that I want to be able to do and then practice it. Watching good players do amazing things helps me better understand what I need to be doing to get to the next ‘level’.

Achievements

Team Fortress 2, World of Warcraft, and a bunch of other games are starting to do this. Basically, if you do something unusual in the game, you get an Achievement that is shown to other players that you interact with. Its kind of like street cred in the game.

In my mind, this equates to setting performance goals and achieving them. Sounds kind of like the Levels thing eh? Well, they’re related. In the games, there are actually achievements for getting to a certain level. I see these as a little bit different though in that Achievements are things that you can do once you’re able to perform consistently.

For example, if I’m able to run 5 ladders every day and run a mile in under 8 minutes, I should be able to play in the game for a longer period of time between substitutions. If I can dribble through cones fast and hit a goal at the end 5/10 times, I should be able to score more goals.

The goals, assists, game time, etc are achievements in my mind. The number of goals I score in a season is an achievement, for example.

Summary

Of these things, the social aspect I think is the most important. The difference between Neverwinter Nights and World of Warcraft is when you beat NWN, you stopped playing it. In World of Warcraft, people are involved that depend on you and you depend on them. You play the same parts of the game over and over again to improve.

For me, soccer is the same way.

So I’m going to work harder to set ‘Levels’ and ‘Achievements’ and work with my team to accomplish those things. I’ll earn the street cred, and my team will learn that they can depend on me more and even trust me to perform at a certain level. This will inspire me to continue as well.