Sunday, April 18, 2010

My Daughter will never drive... but I'm sure I'll have other problems...

My daughter will never drive... I've been debating this idea with my wife for a while.  You see, I don't think my daughter will ever drive a car, because I think we will have self driving cars by the time she is old enough.  I'm always an optimist when it comes to technology.   An history is littered with lots of technology optimists who lived through a lot of disappointment, as they discovered the world just doesn't move as fast as you think in will.  

Do I think I will be disappointed?  I'm not sure.  You look around and you see Volvo's "No one will die in a volvo by 2020" campaign.  There were multiple teams who won the Darpa Urban Challenge in 2007, and that challenge was everything you need to actually have autonomous cars.  (going on 4 years ago)   There are now numerous similar challenges going on in China(didn't a chinese company just buy Volvo?) now and most other companies are saying they will be in the autonomous market by the 2020's.   So we have the technology to make it work, and the cost of that technology will fall to something reasonable within 3 rev's of moore's law, but the problem is that it just takes time to engineer and test a commercial grade solution.  I'm guessing that's easily 10 years.  Throw on another 5 years to get through the public mindset change and get some basic laws in place.  Which means there is a pretty good chance my daughter won't drive.  

Now if cars really can drive themselves by then, I'm sure as a father I'll have an entirely different set of problems.    Lets cross one bridge at a time.   

So there you have it wifey... in writing... self driving cars by 2026.   If I'm wrong you get to teach her how to drive... if I'm right I'll teach her how to hack the software safety locks.  Deal?

Sunday, February 7, 2010

My Mac Setup

I became a Mac convert a few years ago.  I won't go into the reasons why, but lets just say I was a hardcore windows developer before, so for me to have been drawn to the dark side there had to be a hell of a reason.  There was, there is, if you don't get it then don't bother to read any further.

If you have recently converted, or are simply interested in how other people use their macs then read on.  I work with lots of business people so my Mac has to be capable of doing everything a Windows pc can do.  I'm also a coder and a gamer so I have additional requirements.

For Business I use:
  • Office 2008 - Probably the best version of office, as it doesn't have the annoying ribbon.
  • Codeweavers Crossover for Mac -  This lets me run a lot of windows software natively on my mac (eg, no vmware/no boot camp neccessary)  It supports Microsoft Visio/Project and Internet Explorer.  
  • OmniGraffle / OmniPlan - These are Mac equivalents for Visio & Project.  They are better than the Microsoft versions in my opinion.  
  • VMWare Fusion - It's great, seems more stable than Parallel's Deskop product.  I have a boot camp partition which fusion can start from inside Mac OSx.  I haven't actually needed to use this in more than a year. (thats how good Codeweavers and the rest of the software I mentioned is)
  • Skype - Skype calls are great for when your iphone can't hold a voice channel.  Ichat video is actually a lot better than skype video, but more people have skype accounts. 
  • Yojimbo - Simple note taking.  Stores media & license keys as well.  Supports encryption. 
  • VLC - VLC is free and it is far better than both windows media player and the native mac apps.  Far Far better.  It supports more codecs, and it won't crash the system if you feed it corrupted or incomplete files.  Even if you are a windows user you should install this.  
  • Google Chrome & Firefox - I use both.  They are both good for different reasons. Firefox has more plugins, but chrome is faster and more stable.
  • TunnelBlick - VPN software. Free, and works with most VPNs that aren't java applet based.
  • Camtasia - For making screen-casts. It rocks.  
  • Email - I'm lucky enough to work at a company that has google apps for email/calendaring/etc.  I also use google apps for my personal domains, so I don't really need any software for this.  The apple mail app works with both, but I personally prefer the google interface as I use search quite heavily.  If you work in a corporate setting and can use Microsoft Outlook then the CodeWeavers Crossover software I mentioned above will let you run it natively.  If you have to use Lotus Notes, then you should quit your job.  (I actually have a policy that forbids me from working anywhere they use lotus notes, that software is so bad that I would lose my mind if forced to use it.  Its actually a competitive disadvantage for companies that use it.  If you support lotus notes take comfort that your job will be gone in 5 years as all those companies wake up and switch to google apps or some equivalent.) 
For coding:
  • Xcode - Free development IDE from Apple.  
  • Eclipse - Personally I hate eclipe, but its the least common denominator for java/open source coding. 
  • TextMate - Great simple text editor.  Support regular expressions, buffering of huge text files, syntax recognition and scripting. 
  • MonoDevelop - C# rocks, what else can I say.  If you write iphone apps and hate objective-c then  Monotouch is a must have as well. 
  • WireShark - Packet Sniffer.  Must have for debugging. 
  • SoapUI - Another must have for debugging webservice apps.
  • VMWare Fusion - Yeah, I mention it twice, but I mostly use it for running developer images of software I'm working on. 
  • GIMP - Because its better to have a GIMP than be a GIMP. 
 For Gaming:
  • Codeweavers Crossover Games for Mac - I don't really use this anymore, but for a lot of games it makes life simpler than having to restart in a bootcamp partition. 
  • BOOTCAMP - because nothing competes with baremetal windows for games.  Can we say Supreme Commander 40km x 40km maps with 7 insane AIs?  Ok, probably only half that spec... my water cooled uberCore multi graphics card desktop can barely handle those settings. 
  • I wish I had more to write here, but until Jordan is old enough to play games against her old man I don't really have time to really play games.  
That's about it.  Feel free to make recommendations if you think I missed something.  I'm always trying new things.


    Thursday, January 28, 2010

    Gaming, and the lessons you learn...

    I installed MAME(a game console emulator) recently on my iphone.  One of the first games I put on it was called “Solar Warrior”  It’s always the first game I play anytime I install MAME on a machine.  It takes me back to some of the best times of my life. 

    My father used to run a large trucking company, and every day or so he would slip out of the office for an hour just to get away from the stress.  Typically he would ride to town, grab a coke at the local store, say hello to everyone he met and then ride back to work.   Around 5th grade my father began to “drag” me along with him.  At the time, I could never understand why he wanted to drag me all the way to town just to turn around and go back.

    So one day we go to the store and there is this new game there called “Solar Warrior”.  My father gave me a few quarters and shortly thereafter an addiction was born.  I’d look forward to anytime I could sneak away with the old man to play this damn game.  The funny thing is my father got addicted as well.  You see it was a really hard game and he really really wanted me to beat it.  We used to play for hours trying one strategy after another.  Probably the best strategy was a co-operative one with  my father hitting the “fire” button as fast as he could,  while I managed they joystick and the “jump” button.  Try as we might I just couldn't get very far in this game.

    Then one night after I graduated 5th grade my father pulls me aside and we go for our regular gaming session.  My father gives me $20 in quarters, a lot more than usual,  and off we go… As I’m nearing the end of the money I look at my father and I say. “Dad, we just can’t do it… this game is just too hard.”  

    “Oh yeah?  Wait right here just a minute…” and off he goes.

    About 5 minutes later he comes back with $100 in quarters and we start playing.  Now that was an obscene amount of money for a game machine back them.   Heck, with that you could buy an Nintendo gaming system, which was all the rage among my peers.

    Two and a half hours later we beat that game.  It was a great day, and my father and I were really pleased with ourselves.   I never met anyone else who beat that game, and frankly I don’t think the developers even expected anyone would.  You could see the later levels were missing graphical elements and looked thrown together.   

    Now I learned a really important lesson that day.  That lesson is that when you can’t beat something with skill you can almost always beat it with brute force.  I’ve found this to be true regardless of whether I am writing computer algorithms, competing in the business arena, or repairing a computer.  (yes, I do realize this isn’t always true… but understanding any rule and knowing when to apply it is half the trick)

    I also learned another important lesson that day, though I didn’t realize it until just recently.  It’s that the most important part of being a parent is just showing up.  So thanks dad… for all the quarters… and for taking the time to show up.