<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" 
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
    xmlns:admin="http://webns.net/mvcb/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd">
	<channel>
<title>punkcoder</title><link>http://www.punkcoder.com/index.html</link><description>punkcoder</description><dc:language>en</dc:language><dc:creator>punkcoder@mac.com</dc:creator><dc:rights>Copyright 2007 Larry Wanzer</dc:rights><dc:date>2010-01-24T15:40:39-05:00</dc:date><admin:generatorAgent rdf:resource="http://www.realmacsoftware.com/" />
<admin:errorReportsTo rdf:resource="mailto:punkcoder@mac.com" /><sy:updatePeriod>hourly</sy:updatePeriod>
<sy:updateFrequency>1</sy:updateFrequency>
<sy:updateBase>2000-01-01T12:00+00:00</sy:updateBase>
<lastBuildDate>Sun, 24 Jan 2010 15:54:14 -0500</lastBuildDate><item><title>New Video Games</title><dc:creator>punkcoder@mac.com</dc:creator><category>Video Games</category><dc:date>2010-01-24T15:40:39-05:00</dc:date><link>http://www.punkcoder.com/Blog/files/af80f11d580a2f6edfa7a3531530b968-135.html#unique-entry-id-135</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/af80f11d580a2f6edfa7a3531530b968-135.html#unique-entry-id-135</guid><content:encoded><![CDATA[It has been a while since I did a post about what video games I am currently playing.<br /><br /><strong>Pinball Hall of Fame: The Gottlieb Collection<br /><br /></strong><img class="imageStyle" alt="51XfB6RjcRL._SL500_AA280_" src="http://www.punkcoder.com/Blog/files/51xfb6rjcrl._sl500_aa280_.jpg" width="280" height="280"/><strong><br /></strong><strong><br /></strong>This is a follow-up to the popular <em>Pinball Hall of Fame: The Williams Collection.</em>  I just received this the other day, I pre-ordered it when I saw it was going to be released.  I&rsquo;ve always been a fan of pinball machines, played them all the time back in the 80&rsquo;s, while a lot of other kids my age were playing video games.  I love the graphics, the sounds, and the interesting layouts the manufacturers came up with.  This game isn&rsquo;t as good as the Wiliams Collection, mainly because there aren&rsquo;t as many table challenges, only one per table, compared to 10 on the Williams Collection.  I still enjoy the tables in this collection, though; there&rsquo;s a nice variety.  As with the previous pinball collection, I enjoy grabbing a beer, putting on some music, and sitting back to play for a couple hours.<br /><br /><strong>Super Mario Bros. Wii<br /><br /></strong><img class="imageStyle" alt="51Bs4LPWpaL._AA280_" src="http://www.punkcoder.com/Blog/files/51bs4lpwpal._aa280_.jpg" width="280" height="280"/><strong><br /></strong><strong><br /></strong>I love this game.  In fact, I can&rsquo;t think of a Mario game I&rsquo;ve played that I didn&rsquo;t like.  This game goes back to the 2D side scrolling style of Mario gameplay, and is super challenging.  I&rsquo;ve played through the entire game, and I have yet to find a way into level 7, plus I still have a lot of gold coins to collect, so I will be revisiting this one for a while.<br /><br /><strong>The Legend of Zelda: Spirit Tracks<br /></strong><img class="imageStyle" alt="51+uHCSb+KL._SL500_AA280_" src="http://www.punkcoder.com/Blog/files/51002buhcsb002bkl._sl500_aa280_.jpg" width="280" height="280"/><strong><br /></strong><strong><br /></strong>I love me some Zelda.  These games are always a blast.  I just started playing this one, so I haven&rsquo;t gotten very far, but so far the story and gameplay are great.  Like Mario, I&rsquo;ve been a fan of every Zelda game I&rsquo;ve ever played.<strong><br /></strong>]]></content:encoded></item><item><title>Too Many Interfaces</title><dc:creator>punkcoder@mac.com</dc:creator><category>Personal</category><dc:date>2010-01-20T21:58:26-05:00</dc:date><link>http://www.punkcoder.com/Blog/files/ef433eeb58b3a49426b95a6ba7588ac9-134.html#unique-entry-id-134</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/ef433eeb58b3a49426b95a6ba7588ac9-134.html#unique-entry-id-134</guid><content:encoded><![CDATA[While writing some code at work the other day, I noticed something, that I had meant to blog about earlier.  <br /><br />I work in a .NET development shop, coding C#.  One of the latest kicks we&rsquo;re on at work is IOC and Dependency Injection, we use it everywhere.  It&rsquo;s almost a crime if you actually create an instance of an object using the &lsquo;new&rsquo; keyword.  One of the side effects of this is we have interfaces for just about everything.  There are a couple things I don&rsquo;t like about this.<br /><br />When I think of interfaces, I generally think of the something along the lines of IDisposable, IView, INotifyPropertyChange, IDraggable, etc.  These interfaces are something you implement if you need certain functionality, and they can be used by multiple classes in your projects.  When you start creating interfaces for every class in your project so that you can use a service locator or some other means to create the concrete instance of the class, you end up with interfaces named IUpdateAddressView, IContractService, ILinearScheduleRepository, etc.  You&rsquo;re not going to have any class except for LinearScheduleRepository implementing the ILinearScheduleRepository interface, it&rsquo;s specifically made for that class, so that you can write code like this<br /><br /><code>var repository = ServiceLocator.Create&lt;ILinearScheduleRepository&gt;();</code>  <br /><br />It adds complexity and it also makes navigating to code a pain in the arse, unless you have a tool like Resharper at your disposal.  If you don&rsquo;t and you right click on a method or property and chose to go to the definition, you end up in the Interface, not the class that implements that interface method or property.<br /><br />My other gripe with this is you end up feeling like you&rsquo;re coding in C/C++, where the interfaces are the equivalent of header files.  You can no longer add a new method or property to a class, you must first go to the interface for that class and add your method or property there, then you can go to the class and implement it.  It&rsquo;s a pain to always have to remember to do that, since that&rsquo;s not something you would generally have to do in C#.  I don&rsquo;t really like having to code for some tool that we&rsquo;re using.  Another place we do this is having to occasionally mark a method as virtual, so that our Mocking tool doesn&rsquo;t call it when recording your expectations.  There&rsquo;s no other reason for that method to be virtual, but we have to do it if we want to Mock a test (which is something else I&rsquo;m really not a fan of, but I will save that for another post).<br /><br />I can see some benefit in IOC and Dependency Injection, I guess it&rsquo;s just a case of the usual going overboard on the latest buzzword/development craze that we tend to do at my work.  Maybe one of these days we&rsquo;ll go the &ldquo;let&rsquo;s try and do a nice simple, non complex&rdquo; implementation, the kind of thing I enjoy, but I doubt it.  I can already sense that our next project will be Silverlight with Prism, Entity Framework, and some Fluent and maybe automapper thrown in just for fun.<br />]]></content:encoded></item><item><title>The New Year: 2010</title><dc:creator>punkcoder@mac.com</dc:creator><category>Personal</category><dc:date>2010-01-01T18:56:03-05:00</dc:date><link>http://www.punkcoder.com/Blog/files/fd0217341a528a10d29d6dad3222baea-133.html#unique-entry-id-133</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/fd0217341a528a10d29d6dad3222baea-133.html#unique-entry-id-133</guid><content:encoded><![CDATA[Happy New Year!  Can you believe another year has passed us?  I&rsquo;m not going to do any year in review, resolutions, goals, this time.  Just saying 2009 was a pretty good year, and I hope 2010 will be even better.]]></content:encoded></item><item><title>WD Smartware Removal</title><dc:creator>punkcoder@mac.com</dc:creator><category>Apple</category><dc:date>2009-11-17T23:11:58-05:00</dc:date><link>http://www.punkcoder.com/Blog/files/42b1bc9eb0ce64435928b248411445cd-132.html#unique-entry-id-132</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/42b1bc9eb0ce64435928b248411445cd-132.html#unique-entry-id-132</guid><content:encoded><![CDATA[My Iomega external drive I had connected to my Mac Mini started acting up, so I decided to retire it.  I purchased a Western Digital My Book with 1.5 TB of space.  This will hold my Time Machine backups, and I will also store music, photos and videos on there.<br /><br />I didn't notice when I purchased the drive that it came with some software called WD Smartware.  Apparently this is backup software.  I didn't think anything of it, since I wasn't interested in using some other backup software, I have been happy with Time Machine.  When I connected the drive to my Mac Mini, the drive mounted, and then I also noticed another icon on the desktop called WD Smartware.  I right clicked on it and chose 'Eject', it unmounted, and then automatically remounted itself.  I tried this a couple times, but it just kept remounting.  I double clicked the icon to open the folder, and found a readme file.  Apparently this is a virtual CD which you use to install the WD Smartware application.  The virtual CD will keep mounting itself, until you install the software.  Too bad if you don't want it installed.  I performed a quick Google search, and found that this is a big issue with a lot of people.  Like me, all of these people do not want software shoved down their throat.<br /><br />I did a Google search on removing the software, and that's when I found that it's not even a separate partition that can be erased, it's part of the firmware of the drive itself.  Western Digital has provided a firmware update to remove the software, but it only works with Windows.  No such tool for Mac users.  I guess you could go through the trouble of hooking it up to a Windows machine, then installing the firmware update, then hook it up to your Mac, but there's no guarantee this would work.  The fix I found for the moment is to edit my /etc/fstab file to stop that partition from mounting.  This is pretty simple.  First you need to get the UUID of the partition.  To do this run the following command in Terminal.app<br /><br />diskutil info /Volumes/WD\ SmartWare<br /><br />This should present you with information about the mounted partition.  Find the line that has the Volume UUID and copy the UUID.  Next you will need to edit /etc/fstab and add the following line<br /><br />UUID=the_uuid_you_copied none hfs rw, noauto 0 0<br /><br />Once you've edited and saved your updated /etc/fstab file, you should be able to right click and 'Eject' the WD SmartWare Virtual CD and it shouldn't remount itself.<br /><br />It sucks that you have to go through so much trouble.  Hopefully enough people complain to Western Digital about this so that in the future they don't try to force the software on their customers.  I know I'll never purchase another drive of theirs that comes with this software.]]></content:encoded></item><item><title>Zombies&#x21;</title><dc:creator>punkcoder@mac.com</dc:creator><category>Personal</category><category>Books</category><dc:date>2009-10-24T21:35:11-04:00</dc:date><link>http://www.punkcoder.com/Blog/files/093cf9c6e7ef099f4911b2227d045cae-131.html#unique-entry-id-131</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/093cf9c6e7ef099f4911b2227d045cae-131.html#unique-entry-id-131</guid><content:encoded><![CDATA[I've been on a bit of a zombie kick lately when it comes to books.  I don't know what made me purchase so many zombie stories, but I enjoyed all of them.<br /><br /><strong>World War Z: An Oral History of the Zombie War - Max Brooks<br /><br /></strong><img class="imageStyle" alt="14743586" src="http://www.punkcoder.com/Blog/files/14743586.jpg" width="125" height="193"/><strong><br /></strong><strong><br /></strong>This is a fantastic book.  I think it would make a great movie.  The premise of this book is that an actual Zombie War took place, which almost wiped out human civilization.  The book is told from the point of view of the people involved in the war.  It's a great premise for a story, and it is well written; I highly recommend it.<br /><br /><strong>Pride and Prejudice and Zombies - Jane Austin, Seth Grahame-Smith<br /><br /></strong><img class="imageStyle" alt="39972130" src="http://www.punkcoder.com/Blog/files/39972130.jpg" width="127" height="193"/><strong><br /></strong><strong><br /></strong>This is an interesting take on a zombie story.  While not one of the better ones that I read, I still enjoyed it.  The author expands on Jane Austin's classic novel, strategically inserting zombies into the story.<br /><br /><strong>Breathers: A Zombies Lament - S. G. Browne<br /><br /></strong><img class="imageStyle" alt="27420532" src="http://www.punkcoder.com/Blog/files/27420532.jpg" width="125" height="193"/><strong><br /></strong><strong><br /></strong>In the world of this book, zombies have always existed.  They're just a part of life.  For some reason, when some people pass away, they return as a zombie.  This book takes a look at what the world would be like if zombie's were just a part of every day life.  The main character, Andy, was in a car wreck with his wife.  She died, but he returned, coming to life after his funeral took place.  The story follows Andy adjusting to being an outcast.  He lives in his parents basement, sees a therapist, and attends a zombie support group.  The story takes a pretty good twist, and is more a humorous look at zombies than a horror story.<br /><br /><strong>Jailbait Zombie - Mario Acevedo<br /><br /></strong><img class="imageStyle" alt="34842491" src="http://www.punkcoder.com/Blog/files/34842491.jpg" width="128" height="193"/><strong><br /></strong><strong><br /></strong>This story deals with vampires and zombies.  It takes place in modern day America, where vampire's exist, but have kept hidden from humanity.  The undead have started appearing, and the vampires are wiping them out, before humanity sees that there can be a such thing as supernatural creatures.  The main character, Felix Gomez, is sent to track down the source of the zombies, and in the course of that search, comes upon a sixteen year old girl who wants to become a vampire because she has some debilitating disease.  It's a good book, told in the manner of old noir detective novels.<strong><br /></strong>]]></content:encoded></item><item><title>Southwest Vacation 2009</title><dc:creator>punkcoder@mac.com</dc:creator><category>Personal</category><dc:date>2009-10-11T11:32:00-04:00</dc:date><link>http://www.punkcoder.com/Blog/files/bc3be9c77b3493f63ea4844d60019dfb-130.html#unique-entry-id-130</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/bc3be9c77b3493f63ea4844d60019dfb-130.html#unique-entry-id-130</guid><content:encoded><![CDATA[Paige and I just returned from what has become our annual vacation to the Southwest.  This trip lasted a little over a week, we left Friday, Oct. 2nd, and returned yesterday, Saturday, Oct 10.  During that time we squeezed in a lot.  <br /><br />We spent Friday evening thru Sunday afternoon in Albuquerque, NM, enjoying the annual International Hot Air Balloon Fiesta.  We had a blast.  The weather was perfect for the two days we went to the event, although there were some strong winds in the evenings, which prevented some of the events from taking place.  <br /><br />Sunday afternoon we had some time to kill before heading north to Santa Fe, NM, so we swung by Petroglyph National Monument.  There are a couple different hiking trails you can take, we opted for the easier one that would only take us around 2 hours.  There are somewhere in the vicinity of 25,000 petroglyphs in the park, the path we took showed us around 100 - 200.<br /><br />We spent Sunday evening thru Wednesday morning in Santa Fe, NM, one of our favorite haunting grounds in the Southwest.  No matter how many times we go there, we thoroughly enjoy it.  We happened to be there during events commemorating their 400th anniversary and also Hispanic Heritage Month.<br /><br />While staying in Santa Fe, we took a day trip to the Taos Pueblos.  This is located just north of Taos, NM.  The Taos Pueblos allows you to view the Native Americans living in their traditional way.  We enjoyed this visit a lot, and took lots of photos.<br /><br />Wednesday morning we set out for Monument Valley, UT.  This is quite a trek, it takes around 6 1/2 hours to drive there from Santa Fe, NM; but, it's truly worth it.  This time we stayed at The View Hotel, which is located in the park itself.  The view from our balcony was amazing.  We could see both mittens and the other butte which are in pretty much all photos you will see of Monument Valley.  We arrived just in time to see the sunset.  We stayed there Wednesday thru Friday morning.<br /><br />Friday morning we headed back to Santa Fe, NM, for one more night in our favorite city.  We flew out of Albuquerque the next afternoon.<br /><br />This was a great trip, and one I'm sure we repeat many times in the future.]]></content:encoded></item><item><title>Clear WiMax Internet Service</title><dc:creator>punkcoder@mac.com</dc:creator><category>Personal</category><dc:date>2009-09-20T12:14:38-04:00</dc:date><link>http://www.punkcoder.com/Blog/files/e45147b0bdd2cc339721e443241baade-129.html#unique-entry-id-129</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/e45147b0bdd2cc339721e443241baade-129.html#unique-entry-id-129</guid><content:encoded><![CDATA[I switched internet service providers when I moved into my new loft.  It wasn't something I set out to do, but in the end I am glad I did it.<br /><br />I've been using Comcast for my ISP for the past 3 years.  I never had any issues, the service was usually always there, maybe dying during a storm; and the speeds were great.  I never had a bad word to say about them, but I think that has to do with the fact that I never had to deal with their customer service.<br /><br />When I moved to my new place, I had it set up so that in the morning, my old service would be shut off; and in the evening, my new service would be turned on.  A technician showed up in the morning at my old place, and shut off the service.  That evening a technician showed up at my new place to turn on the new service.  I used my old cable modem, and the technician had everything hooked up; but I was not authenticating in their system.  Of course the technician did his job, now it came time for me to sit on the phone with customer service trying to get my service hooked up.  Long story short, I went back and forth between customer service telling me there had to be something wrong on my side; and technicians saying everything was fine on my side (which it was, I was hitting the internet fine, just couldn't authenticate so that I could use the service).  After a couple weeks of this I said screw it.<br /><br />I had heard of a new service in Atlanta called <a href="http://www.clear.com/" rel="external" title="Clear WiMax ISP">Clear</a>.  Unlike your usual options of DSL, FIOS or Cable, clear uses WiMax.  The best way to think of this is to compare it to cellular phone service.  Clear is sending out their signal, and my WiMax modem is picking it up.  I signed up for the 6MB service, and so far any time I run a speed test I am getting up in the 5+ MB speed range.  Clear also offers a mobile service, where you can plug in a USB modem to your laptop and have their internet service on the go, but I'm just not that big a geek.  I can't think of any time I would need that, so I opted not to do it.<br /><br />I'll admit that it's not as super fast as my cable modem service, but it's fast enough that I can surf, stream and upload photos with no problem.  So far I am very happy with the service, and hopefully it continues.]]></content:encoded></item><item><title>Snow Leopard</title><dc:creator>punkcoder@mac.com</dc:creator><category>Apple</category><dc:date>2009-09-17T21:39:12-04:00</dc:date><link>http://www.punkcoder.com/Blog/files/64b5bd48a39ac1fc41552b30d94a4799-128.html#unique-entry-id-128</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/64b5bd48a39ac1fc41552b30d94a4799-128.html#unique-entry-id-128</guid><content:encoded><![CDATA[I've upgraded one of my Macs, the MacBook, to the newest Apple OS, Mac OS 10.6, Snow Leopard.  I still have to upgrade my Mac Mini.  Snow Leopard isn't as drastic a change as the previous OS, Leopard, was.  This is labeled as a release where Apple refined the OS.  Instead of concentrating on adding a ton of new features, Apple has made the existing OS better.  Some people have been calling it what Microsoft would term a Service Pack, but it's a bit more than that.  Even though there aren't many visible changes, there has been a lot of work done to refine the OS.<br /><br /><strong>Smaller Footprint<br /><br /></strong>One of the more interesting features of Snow Leopard is that you will actually gain back hard drive space once the OS is installed.  This may seem weird, but once you understand one of the main refinements of Snow Leopard it totally makes sense.  Back in the day Apple ran with the Power PC (PPC) architecture.  A few years back Apple switched over to Intel.  To allow their software to work on both architectures, they implemented a technology called Rosetta, that allowed for universal binaries.  What this allowed was for a developer to compile their software against both PPC and Intel, and the resulting binary had the smarts that allowed for it to run on both architectures.  This was great, but the downside was all these programs had a lot of extra baggage that was unneeded.  With Snow Leopard, Apple is no longer supporting PPC.  While this sucks for users that have the older Macs, this is great news for everyone on Intel, because there is no longer the need for the wasted space.  Another space saving feature is that Apple is no longer bundling a butt-load of printer drivers.  Now, when you hook up a printer, Snow Leopard will download the needed driver from the web.  Before installing Snow Leopard I had 55GB of available space on my MacBook.  After the install I had 68GB.  The amount of space you get back varies per user, I believe the average is around 6 - 8 GB.<br /><br /><strong>64 Bit<br /><br /></strong>Apple has been in the process of converting all of the applications in their OS to 64 Bit, from 32 Bit for a while, and with the release of Snow Leopard they are mostly complete.  Whereas with Microsoft Windows you would have to purchase a specific version of the OS depending on if your machine was 64 Bit or 32 Bit, Mac OS X was always smart enough to run a mixture depending on your set up.  Finder, the file explorer on the Mac, has been rewritten using the Cocoa Framework from the previous Carbon Framework to allow access to all the new features.<br /><br /><strong>New Expose' and Stacks<br /><br /></strong>Stacks, where folders in the Dock expand, has been enhanced to allow for scrolling in grid view, and also allow drilling down in directories.  Expose' has been enhanced to show minimized windows.  You can also click and hold on an application icon in the dock and all associated open windows will Expose' themselves.  <br /><br /><strong>Quicktime X<br /><br /></strong>There's a new version of Quicktime, which has a new look-and-feel, along with the ability to share directly to YouTube or FaceBook.<br /><br /><strong>Grand Central Dispatch<br /><br /></strong>This is something great for developers.  Programming to take advantage of the new multi-processor machines available today isn't an easy task.  With Grand Central, a developer just adds a couple lines of code around a section in their application that they feel would benefit from multi-processing, and Grand Central will take care of handling the rest.<br /><br /><strong>Exchange Support<br /><br /></strong>This feature to me is just crazy.  Out of the box, as long as your company isn't in the stone age and still running Exchange 2003 like some company I now **cough** Tuner **cough**, you can use the built in Mail.app and iCal.app to connect to your companies Exchange server.  This is a welcome addition, seeing as Microsoft doesn't currently produce Outlook for the Mac.  This isn't native in Windows, you have to spend money on Microsoft Office to get that functionality, which can cost a pretty penny.  Snow Leopard costs $30, or $49 for the family pack, which allows for installing on up to 5 machines.<br /><br />A couple other features I've seen is support for up to 512 x 512 for icons, and you can play videos directly in the icon for a quick preview.<br /><br />Overall I feel that Snow Leopard is a nice update, and you can't beat the price.  The OS is snappier, and boot up, shut down is super fast.]]></content:encoded></item><item><title>I&#x27;ve Moved</title><dc:creator>punkcoder@mac.com</dc:creator><category>Personal</category><dc:date>2009-09-17T21:25:28-04:00</dc:date><link>http://www.punkcoder.com/Blog/files/56449bdfc8432cc5502f263544bf135a-127.html#unique-entry-id-127</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/56449bdfc8432cc5502f263544bf135a-127.html#unique-entry-id-127</guid><content:encoded><![CDATA[I've moved out of the house I was renting.  This is actually pretty old news, seeing as I moved into my new loft back at the end of June.  I'm living in a one bedroom 1400 sq ft loft in a place called The Warehouse.  This is the same loft complex that my friend Paige lives in.  At first I was hesitant to move into the same complex, seeing as there's no better way to ruin a good friendship than to invade each others space; but I think we both enjoy our time to ourselves so much, that this hasn't really been a problem.  Even though I live up the hall and around the corner from Paige, we can go days without actually seeing each other.  It's also great for the times that we do want to hang out, because I can just walk over and have a drink or two, and then leave.  Before I would have to drive 6 miles over to hang out, and then drive back, after drinking.<br /><br />My place is pretty nice.  It's basically like you would think a real loft is.  It's one big room, with an upstairs area that's become my office.  I have windows upstairs, and a sky light in the bedroom, otherwise my unit is on the interior, so I have no windows on the first level.  I have a laundry room, a bathroom, and a decent sized kitchen.  My dishwasher is one of those units you wheel over near the sink, hook the hose up to the faucet, and plug in.  I was a little scared the first time I used it, because I didn't know if I would hook everything up to where there wasn't water shooting out all over the place, but it was painless and worked like a champ.  It's not the greatest place, but it's good enough for a single guy that wanted to cut some expenses and move out of the house I was renting.  I'm saving around $600 a month with the move, once you take into account the lower rent, no yard service, pest service or security monitoring service.  I also live within walking distance of MARTA, which I take to work, so I'm not really spending any money on gas, and when the weather gets cooler I can walk to the station.]]></content:encoded></item><item><title>Time To Revive the Blog</title><dc:creator>punkcoder@mac.com</dc:creator><category>Personal</category><dc:date>2009-09-17T21:21:08-04:00</dc:date><link>http://www.punkcoder.com/Blog/files/d385a0997578cfb50a3f794159939258-126.html#unique-entry-id-126</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/d385a0997578cfb50a3f794159939258-126.html#unique-entry-id-126</guid><content:encoded><![CDATA[I've been ignoring my blog for too long.  Even if no one except a couple friends read this blog, and maybe the occassional developer stumbling across a post; I've still found that when I am blogging I get interested in side projects, which give me my fodder to blog about.  I've been ignoring my blog for too long, and my site in general, and it's time to get back into it.]]></content:encoded></item><item><title>Wow&#x2c; it&#x27;s been over a month...</title><dc:creator>punkcoder@mac.com</dc:creator><category>Personal</category><dc:date>2009-06-21T21:47:03-04:00</dc:date><link>http://www.punkcoder.com/Blog/files/ae268be7c290007d2fc9089884aed5fa-125.html#unique-entry-id-125</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/ae268be7c290007d2fc9089884aed5fa-125.html#unique-entry-id-125</guid><content:encoded><![CDATA[Now that I participate in the &lsquo;Social&rsquo; aspect of the web (Twitter, Facebook, LinkedIn, etc.) I kind of forget about my blog.  There are some friends of mine that this is still the way they know what&rsquo;s going on in my life, so I guess I should bring them up to date.<br /><br />I got a new car.  I lease my car.  I know, not exactly the best thing to do financially, but I&rsquo;m one of those people that likes a new car every 3 - 4 years, so for me leasing is good.  The lease on my previous car, a 2005 Black Mini Cooper Convertible, was ending in September.  I liked the car so much that I decided to look into getting another one.  This time I opted for a red one, with the white bonnet stripes.  I picked it up June 5.  I have a 3 year lease on this one.  Figure by then I will be 40 years old, and I can maybe look into getting my mid-life crisis car.<br /><br /><img class="imageStyle" alt="Pasted Graphic" src="http://www.punkcoder.com/Blog/files/pasted-graphic.jpg" width="500" height="334"/><br /><br />Next, I got a new place to live.  I&rsquo;ve been renting the house I am currently living in going on 3 years now.  I figure that&rsquo;s long enough.  I really don&rsquo;t like the house all that much, I just hate moving, so I&rsquo;ve kind of stuck around here.  One thing I really don&rsquo;t enjoy about this house is that it&rsquo;s surrounded by so many tall trees.  I dread any time there&rsquo;s a huge storm, because I am just waiting for one of the trees to fall on the house.  One did fall last month, but it fell away from the house.  Still, I heard it falling and ran to the window to watch it.  My new place is a loft.  It is a 1 bedroom 1 bathroom which measures 1400 square feet.  It&rsquo;s in the same loft warehouse as Paige, so that will save me some miles on my new car, since most of the miles I put on are from driving between here and there.  The place is mine starting July 1, I need to be out of here by the end of August.  I plan on moving over the course of July and being out of here by the beginning of August.  <br /><br />I&rsquo;m still working at Turner.  I guess with the economy the way it is I&rsquo;m just happy to have a job.  Work has its good and bad moments.  I&rsquo;m still working on the Silverlight project.  It&rsquo;s coming along nicely, but the project isn&rsquo;t being run all that well.  I&rsquo;ve just kind of stopped caring, figure I&rsquo;ll just come in and do the work.  I hate when work gets that way, hopefully things get better soon, so I start enjoying it again.<br /><br />Paige and I are taking a quick little vacation next month.  We&rsquo;re heading down to Florida.  We&rsquo;re both on a saving money kick.  That&rsquo;s one thing I am happy about with the new car and the new place to live.  The new car is $100 less a month, and once I add in rent, yard service, alarm, and pest service, I&rsquo;m saving around $600 a month getting the new place.  It will be nice to not shell out so much money every month.  We may take another South West trip in the fall, but otherwise we&rsquo;re doing little getaways, and have been grilling out on the weekends to save money on eating out.  <br /><br />There hasn&rsquo;t been too much else going on.  I&rsquo;m spending my free time going through all my stuff, finding stuff to donate and stuff to throw away.  I tend to do that when I move.  Since my new place is pretty much a huge room, I&rsquo;m not going to have a place to just throw a bunch of boxes of stuff, so I figure I need to get rid of the clutter.]]></content:encoded></item><item><title>Finally got Aero Glass on Paige&#x27;s Dell</title><dc:creator>punkcoder@mac.com</dc:creator><category>Microsoft</category><dc:date>2009-05-09T16:41:54-04:00</dc:date><link>http://www.punkcoder.com/Blog/files/169c68fdf4cba1b29a1f9bca70d0e208-124.html#unique-entry-id-124</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/169c68fdf4cba1b29a1f9bca70d0e208-124.html#unique-entry-id-124</guid><content:encoded><![CDATA[Paige purchased a new Dell desktop probably about 6 months ago, it came with Windows Vista Home Premium and she upgraded to an ATI Radeon graphics card with 256 MB RAM.  I helped with the initial set up, mostly to de-crappify the machine, and one thing that has never worked from day one is the fancy Aero Glass theme.  If you went to rate the machine, the process would crash.  She was stuck with the crappy Vista Basic theme.  Why would Dell sell a machine, that out of the box, would not work as advertised?  Last night I was sitting at her machine and I decided to update the ATI driver.  A new driver was released in March of this year.  After installing that I was able to rate the machine, which rated at 3.8, high enough to handle Aero Glass.  I restarted the desktop window manager and she now had the Aero Glass theme running.  It&rsquo;s not the greatest theme in the world, and I really don&rsquo;t understand why you need a powerful machine to run it, but at least now she had it working on her Dell.]]></content:encoded></item><item><title>Nintendo DSi</title><dc:creator>punkcoder@mac.com</dc:creator><category>Personal</category><category>Video Games</category><dc:date>2009-05-08T15:41:49-04:00</dc:date><link>http://www.punkcoder.com/Blog/files/dd84bd52931e40e82e64a650f7d489a5-123.html#unique-entry-id-123</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/dd84bd52931e40e82e64a650f7d489a5-123.html#unique-entry-id-123</guid><content:encoded><![CDATA[The Nintendo DSi came out recently, it&rsquo;s an update to the Nintendo DS Lite handheld gaming system.  This update provides a couple things<br /><br /><ul class="circle"><li>Camera</li><li>Wi-Fi internet browsing</li><li>SD Card Slot for adding a card with music on it (MP3 Player)</li><li>Interface similar to Nintendo Wii, where your home screen has a slot for all of the different things you can do, and any games you download.</li><li>DSiWare store and games.</li></ul><br />I gave my Nintendo DS to my niece, Payton.  My nephew, Bryceson, and niece, Jayda, each got one for Christmas, and Payton had been doing chores to earn money to buy one.  Since I was getting rid of mine I gave it to her and let her spend her money on games.<br /><br />I did buy a game to go with it, Grand Theft Auto: Chinatown Wars.  I was a big fan of GTA Vice City, and while I knew this wouldn&rsquo;t be as big and extravagant as that, being on the small screen, it was getting rave reviews.  It is lots of fun.  The developers did a great job of bringing the game to the handheld platform.<br />]]></content:encoded></item><item><title>Finished more Dorsey Books</title><dc:creator>punkcoder@mac.com</dc:creator><category>Personal</category><category>Books</category><dc:date>2009-05-08T15:33:34-04:00</dc:date><link>http://www.punkcoder.com/Blog/files/3830f513cef200033bff6e73388ca3b9-122.html#unique-entry-id-122</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/3830f513cef200033bff6e73388ca3b9-122.html#unique-entry-id-122</guid><content:encoded><![CDATA[I tell you, since I started reading on the train ride to and from work every day, I&rsquo;ve been plowing through some books.  It&rsquo;s been a little over a month since I finished &lsquo;The Stingray Shuffle&rsquo;, and I just finished the last of four more books by Tim Dorsey.<br /><br /><img class="imageStyle" alt="14292070" src="http://www.punkcoder.com/Blog/files/14292070.jpg" width="119" height="193"/>   <img class="imageStyle" alt="13771780" src="http://www.punkcoder.com/Blog/files/13771780.jpg" width="119" height="193"/>    <img class="imageStyle" alt="19556531" src="http://www.punkcoder.com/Blog/files/19556531.jpg" width="119" height="193"/>    <img class="imageStyle" alt="33447670" src="http://www.punkcoder.com/Blog/files/33447670.jpg" width="120" height="193"/><br /><br />I&rsquo;ll tell you one thing, the author is very consistent.  The first book of his I read, &lsquo;Triggerfish Twist&rsquo;, was one of the funniest books I&rsquo;ve ever read.  Five books later, and I&rsquo;d have to give them all the same rating.  The books are well written, very imaginative, great plots, great characters, and hilarious.  I have one more, &lsquo;Nuclear Jellyfish&rsquo;, but I&rsquo;m taking a break and moving on to something else starting next week. ]]></content:encoded></item><item><title>The Stingray Shuffle</title><dc:creator>punkcoder@mac.com</dc:creator><category>Personal</category><category>Books</category><dc:date>2009-04-06T21:10:30-04:00</dc:date><link>http://www.punkcoder.com/Blog/files/a2ab63d56d06c5040c14c923dedfce97-121.html#unique-entry-id-121</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/a2ab63d56d06c5040c14c923dedfce97-121.html#unique-entry-id-121</guid><content:encoded><![CDATA[I just finished another novel by Tim Dorsey, and I can now safely say that he may have become one of my favorite writers.<br /><br /><img class="imageStyle" alt="13946587" src="http://www.punkcoder.com/Blog/files/13946587.jpg" width="120" height="193"/><br /><br />The premise of the book is that a book written almost a decade ago, called &lsquo;The Stingray Shuffle&rsquo; is suddenly starting to sell like crazy.  This catches the eye of the publisher, who let&rsquo;s the author know, and he sets up a book signing tour.  Thing is, the reason the book was selling so well is that a drug cartel chose the book as a container for selling drugs through the bookstores they were using as the front for their drug operation.<br /><br />The main character of these books is Serge A. Stroms, a serial-killing local Floridian historian.  Serge is okay until he&rsquo;s off his meds, which is pretty much all of the time.  Serge has a great way of killing people.  It&rsquo;s never just something simple, it&rsquo;s always very elaborate; like when he makes a guy swallow a bunch of bullets and then puts the guy in an MRI, so that the bullets are pulled out of his body by the powerful magnets.  This makes for fun for the coroner when he sees all these exit wounds for the bullets, but no entry wounds.<br /><br />While Serge is a serial-killer, he&rsquo;s also one of the most likable characters you will ever read about.<br /><br />I have 6 books by Tim Dorsey, I&rsquo;ve already started on the next one.  I&rsquo;ve started taking a book along with me for the ride to and from work on MARTA.  I used to just listen to music, but this helps make the time pass even more quickly; plus it helps me get through the huge stack of books I have sitting at home.]]></content:encoded></item><item><title>MacHeist III: All Apps Unlocked</title><dc:creator>punkcoder@mac.com</dc:creator><category>Apple</category><category>Software</category><dc:date>2009-04-06T21:03:36-04:00</dc:date><link>http://www.punkcoder.com/Blog/files/ca22a04afa641c391c4683bd654e071c-120.html#unique-entry-id-120</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/ca22a04afa641c391c4683bd654e071c-120.html#unique-entry-id-120</guid><content:encoded><![CDATA[It was another great year for <a href="http://www.macheist.com/" rel="external">MacHeist</a>.  In all, over 67,000 people purchased the bundle, and received almost $1,000 worth of software (14 applications) for $39.  It did come down to the end, with the final two applications not being unlocked until today, but it still would have been worth it even if those apps weren&rsquo;t unlocked.  You have one more day to take advantage of this great deal, if you own a Mac, it&rsquo;s money well spent.]]></content:encoded></item><item><title>Starting a new exercise program</title><dc:creator>punkcoder@mac.com</dc:creator><category>Personal</category><dc:date>2009-03-30T21:52:39-04:00</dc:date><link>http://www.punkcoder.com/Blog/files/1697eccaaecf40696d0f06acb98e95e4-119.html#unique-entry-id-119</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/1697eccaaecf40696d0f06acb98e95e4-119.html#unique-entry-id-119</guid><content:encoded><![CDATA[For the most part, my exercise is always aerobic.  I&rsquo;ve been trying to shed some pounds and keep them off.  While this has been working out nicely, all though I have let it slip a little over winter and gained back 5 lbs; I&rsquo;ve decided to try to add some strength training to my routine.  I&rsquo;ve happened upon two exercise programs that I thought I would give a try.<br /><br />The first is called &lsquo;<a href="http://hundredpushups.com/" rel="external" title="100 Push ups">100 Push Ups</a>&rsquo;, and, as you can probably guess from the name, the goal of the program is for you to be able to do 100 push ups.  You don&rsquo;t start off doing 100 push ups.  If you follow the program, you should be able to do 100 push ups by the end.  The program is a six week program, divided into 3 days a week.  Before you start doing any training you first have to test yourself.  In testing yourself, you do as many proper push ups as possible, before your arms give out.  When I tried this I performed 25.  I used to be able to do a lot more than that, would do at least 50 a day in JROTC back in high school when I would do something to get in trouble.  I&rsquo;m still pretty happy I was able to pull off 25 though.<br /><br />The test helps you chart out the coarse of the training program.  You print out the grids for each week, which are provided on the web site, for free.  You look up the number of push ups you performed in the test, and this shows you how many push ups you do for each day of training.  I just started the first day of training, figured it&rsquo;s best to do it Monday, Wednesday and Friday.  For my level, on the first day, I did 10 push ups, 12 push ups, 7 push ups, 7 push ups, and 10 push ups, with 60 second breaks between each set.  Man, my arms were like jelly at the end, but I was able to do it, for a total of 46 push ups.  I&rsquo;m sure I will feel this tomorrow.<br /><br />Come Wednesday, I will be doing 10, 12, 8, 8 and 12, for a total of 50; and by the end of the week it will be 57.  I figure I can stick with this for 6 weeks.  I&rsquo;ll be interested to see if I can do 100 push ups easily come the end.<br /><br />I&rsquo;m also looking into the &lsquo;<a href="http://twohundredsitups.com/" rel="external" title="200 Sit Ups">200 Sit Up</a>&rsquo; program, which should help with the stomach.  I need to get a mat to work out on, all I have around here are hard wood floors.]]></content:encoded></item><item><title>Putting Lego Star Wars to Rest</title><dc:creator>punkcoder@mac.com</dc:creator><category>Personal</category><category>Video Games</category><dc:date>2009-03-30T21:46:29-04:00</dc:date><link>http://www.punkcoder.com/Blog/files/a592760e7e0effe472a92c297bee18fd-118.html#unique-entry-id-118</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/a592760e7e0effe472a92c297bee18fd-118.html#unique-entry-id-118</guid><content:encoded><![CDATA[Lego Star Wars: The Complete Saga was one of the first Lego video games, but it&rsquo;s the last one I got around to playing.<br /><br /><img class="imageStyle" alt="230150b" src="http://www.punkcoder.com/Blog/files/230150b.jpg" width="157" height="220"/><br /><br />The other two Lego video games I&rsquo;ve played, Lego Indiana Jones and Lego Batman, I ended I playing until I reached 100%.  I&rsquo;m not doing so with Lego Star Wars.  I am currently sitting at a little over 80%, and that&rsquo;s good enough for me.  I&rsquo;ve gone through all of the levels in free play, and I have all of the Red Bricks, True Jedi&rsquo;s, and Mini Kits.  What I have left to do are all of the time trials, and I&rsquo;m really not interested in doing that.  I&rsquo;ve already been through all of the levels a couple times each, no need to do it again in under a certain amount of time.  While I usually try to get 100% on a game, I&rsquo;m happy retiring this one early.  It&rsquo;s a fun game, very well executed, and I enjoyed playing it.]]></content:encoded></item><item><title>Triggerfish Twist</title><dc:creator>punkcoder@mac.com</dc:creator><category>Personal</category><category>Books</category><dc:date>2009-03-28T11:51:58-04:00</dc:date><link>http://www.punkcoder.com/Blog/files/1647ae3877bd7052b91da0194646456c-117.html#unique-entry-id-117</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/1647ae3877bd7052b91da0194646456c-117.html#unique-entry-id-117</guid><content:encoded><![CDATA[I would list Christopher Moore as my favorite writer, his imagination and humor are the best; but, Tim Dorsey may have just taken over that spot.  I&rsquo;ll be able to tell when I finish a couple more of his books.<br /><br />I just finished reading &ldquo;Triggerfish Twist&rdquo;.<br /><br /><img class="imageStyle" alt="19313610" src="http://www.punkcoder.com/Blog/files/19313610.jpg" width="100" height="162"/><br /><br />This book never slows down.  The characters, and there are a lot of them, are some of the best written characters I&rsquo;ve seen in a book.  The book takes place in Tampa, FL, a town that had just been named the third best town in America to live.  This happened by mistake, when the company in charge of making up the list of best towns transcribed the crime rate incorrectly, causing the town to jump from the lower three hundreds the year before, to third this year.  A family, the Davenports, move to Tampa as part of a job relocation.  While the neighborhood they move into looks nice, they soon find it&rsquo;s definitely not.  I enjoy humorous books, and this one is funnier than any other I have ever read.  The situations and characters that Tim Dorsey can dream up are amazing.  I found this author through a recommendation when I purchased the last Christopher Moore book.  I can definitely see how people that like Christopher Moore like Tim Dorsey.  I purchased a couple of his books, so I will be able to see if he&rsquo;s as consistently funny as Christopher Moore.]]></content:encoded></item><item><title>Getting Distinct Objects Using LINQ</title><dc:creator>punkcoder@mac.com</dc:creator><category>.NET</category><dc:date>2009-03-26T20:10:58-04:00</dc:date><link>http://www.punkcoder.com/Blog/files/5f5e43a476a45c7a767cb3f09a1a5a8a-116.html#unique-entry-id-116</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/5f5e43a476a45c7a767cb3f09a1a5a8a-116.html#unique-entry-id-116</guid><content:encoded><![CDATA[If you try to get distinct objects using LINQ you have two choices.  You can use the overload to Distinct, which takes an IComparer<> that you write, where you override Equals() and GetHashCode() or you can do a grouping and select the first object of each group.  For example, at my work I work with a lot of Title objects.  If I have some duplicates in my list I can&rsquo;t just use Distinct(), because it will think every object is different, it doesn&rsquo;t know how to determine what&rsquo;s equal and what isn&rsquo;t.  Instead I would want to compare the Title Ids to check if they are different.  You can do that like so<br /><code><br />var distinctTitles = (from t in TitleList select t.Title).GroupBy(x => x.TitleId).Select(g => g.First());<br /></code>]]></content:encoded></item><item><title>Why does Vista take up so much disk space?</title><dc:creator>punkcoder@mac.com</dc:creator><category>Microsoft</category><dc:date>2009-03-25T18:08:50-04:00</dc:date><link>http://www.punkcoder.com/Blog/files/0d0730a61989703d7520cd7bc8e792c9-115.html#unique-entry-id-115</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/0d0730a61989703d7520cd7bc8e792c9-115.html#unique-entry-id-115</guid><content:encoded><![CDATA[I had wiped out my Boot Camp partition on my MacBook because I found I was never booting into it.  Silverlight 3 was released in beta last week, and I wanted a machine on which to play around with it, so I set up a partition again.  I gave my Vista Boot Camp partition 32 GB of space.  After a fresh install of Vista was complete it reported that I have 14 GB left.  Why on earth would an OS take up over 15 GB of space?  I realize disk space is cheap these days, but isn&rsquo;t that a little ridiculous?  It&rsquo;s not like it comes with all sorts of pre-installed software.   I can see how Vista wouldn&rsquo;t work well with NetBooks.  Paige got a Dell Mini netbook, and it has a 32 GB SSD drive in it.  It would suck if over half of her hard drive was taken up right from the beginning just by the OS install.]]></content:encoded></item><item><title>MacHeist III is a go</title><dc:creator>punkcoder@mac.com</dc:creator><category>Apple</category><category>Software</category><dc:date>2009-03-25T18:00:31-04:00</dc:date><link>http://www.punkcoder.com/Blog/files/5cb1448de393f6324034939a90b4221e-114.html#unique-entry-id-114</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/5cb1448de393f6324034939a90b4221e-114.html#unique-entry-id-114</guid><content:encoded><![CDATA[The <a href="http://www.macheist.com/" rel="external" title="MacHeist 3">MacHeist III</a> bundle officially launched last night.  This year&rsquo;s bundle has some nice software in it.  The total value for all of the software in the bundle is $627, and you can get it all for $39.  I participated in all of the missions before the launch of the bundle, so I had already earned $402 worth of additional free applications, plus I earned $6 off the bundle, so I got a little over $1000 worth of software for $33; not bad.  This bundle includes LittleSnapper, which is a great screen capture tool.  This application alone would cost you $39, so it pays for itself in this bundle.  It also includes World of Goo, which I play on the Wii. You should check it out, there&rsquo;s software in there for everyone.]]></content:encoded></item><item><title>Music I&#x27;m Currently Listening To</title><dc:creator>punkcoder@mac.com</dc:creator><category>Personal</category><category>Music</category><dc:date>2009-03-24T21:25:57-04:00</dc:date><link>http://www.punkcoder.com/Blog/files/3f77116b3fb5a4e4db5cfd05f44ec19e-113.html#unique-entry-id-113</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/3f77116b3fb5a4e4db5cfd05f44ec19e-113.html#unique-entry-id-113</guid><content:encoded><![CDATA[Here&rsquo;s some of the current music I am listening to.<br /><br /><strong>Riverboat Gamblers: Underneath the Owl<br /><br /></strong><img class="imageStyle" alt="37212350" src="http://www.punkcoder.com/Blog/files/37212350.jpg" width="185" height="166"/><br /><br />I discovered this group a few years back while listening to <a href="http://www.punkradiocast.com/" rel="external" title="punkradiocast.com">punkradiocast</a> and have been hooked ever since that day.  This newest album of theirs was released this past February, and I purchased it on iTunes over the weekend.  This is a great album.  Riverboat Gamblers are from Texas, and apparently put on a great show.  They were the opening act for a concert Paige and I went to a while back, but we were fashionably late and missed them, so I&rsquo;ve yet to see them play live.  This is just great rock music.<br /><br /><strong>HorrorPops: Kiss Kiss Kill Kill<br /><br /></strong><img class="imageStyle" alt="25567585" src="http://www.punkcoder.com/Blog/files/25567585.jpg" width="185" height="166"/><br /><br />While I mainly listen to punk rock, I have always enjoyed rockabilly and psychobilly music.  HorrorPops fall into the latter category.  This is their third album, release early last year, and is just as great as the first two.  The lead singer and upright bassist, Patricia Day, is beautiful and has a great voice.  HorrorPops kind of walk the line between The Cramps and The Misfits.  Great music.<br /><br /><strong>Devil Doll: Queen of Pain and The Return of Eve<br /><br /></strong> <img class="imageStyle" alt="51zw--6RSiL._SL500_AA240_" src="http://www.punkcoder.com/Blog/files/51zw--6rsil._sl500_aa240_.jpg" width="240" height="240"/>   <img class="imageStyle" alt="519U6W7vDKL._SL500_AA240_" src="http://www.punkcoder.com/Blog/files/519u6w7vdkl._sl500_aa240_.jpg" width="240" height="240"/><br /><br />I came upon Devil Doll as a recommendation from Amazon when I purchased the HorrorPops album.  I listened to a couple of the samples, and I ended up purchasing both albums and wasn&rsquo;t sorry with the purchase.  I don&rsquo;t really know how to describe the music; it&rsquo;s a mix of rockabilly, punk and swing.  Colleen has an amazing voice, and apparently is also a very accomplished musician.  <br /><br /><strong>Classic: The Bouncing Souls: How I Spent My Summer Vacation<br /><br /></strong><img class="imageStyle" alt="618ET5Z69TL._SL500_AA240_" src="http://www.punkcoder.com/Blog/files/618et5z69tl._sl500_aa240_.jpg" width="240" height="240"/><br /><br />I have ever Bouncing Souls album, but this is my favorite.  True Believer is a great song.]]></content:encoded></item><item><title>Fool</title><dc:creator>punkcoder@mac.com</dc:creator><category>Personal</category><category>Books</category><dc:date>2009-03-24T21:16:57-04:00</dc:date><link>http://www.punkcoder.com/Blog/files/21273e60c126dd2ed37f1bfcead25129-112.html#unique-entry-id-112</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/21273e60c126dd2ed37f1bfcead25129-112.html#unique-entry-id-112</guid><content:encoded><![CDATA[I just finished reading the new Christopher Moore book, &ldquo;Fool&rdquo;.<br /><br /><img class="imageStyle" alt="34013577" src="http://www.punkcoder.com/Blog/files/34013577.jpg" width="185" height="280"/><br /><br />Christopher Moore is my favorite author, and I think Fool ranks up there as one of his best books since &ldquo;Lamb&rdquo;.  Although it was a little of a slow start, this new take on King Lear ended up being an offbeat, easy to read, delight.  Even if you&rsquo;ve never read any of the other books by Christopher Moore, I recommend picking this up.]]></content:encoded></item><item><title>Oz</title><dc:creator>punkcoder@mac.com</dc:creator><category>Personal</category><category>Books</category><dc:date>2009-03-11T22:09:11-04:00</dc:date><link>http://www.punkcoder.com/Blog/files/74c0bfbcaecfddf2c0db656efddb2d68-111.html#unique-entry-id-111</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/74c0bfbcaecfddf2c0db656efddb2d68-111.html#unique-entry-id-111</guid><content:encoded><![CDATA[I bought my first Gregory Maguire book a few years ago.  It was &lsquo;Wicked&rsquo;.  This was before it was made into a broadway play.  I&rsquo;d never heard of the author, I just saw a book that said it was the story about the Wicked Witch of the West and thought it looked interesting.  I bought the book and ended up really liking it.  I thought it was very creative to take a story and tell it from the point of view of one of the other characters.  It had a great back story, you actually saw that the Wicked Witch was a nice person when she was younger, an activist, and a good friend.  After that I read a couple other books by him: &lsquo;Confessions of an Ugly Stepsister&rsquo;, &lsquo;Mirror, Mirror&rsquo; and &lsquo;Lost&rsquo;.  I just finished reading the two other books in the Wicked series.<br /><br /><strong>Son of a Witch<br /><br /></strong><img class="imageStyle" alt="13698021" src="http://www.punkcoder.com/Blog/files/13698021.jpg" width="128" height="193"/><br /><br />This is the story about Liir.  It is thought that Liir is the son of Elphaba, the Wicked Witch of the West, but even he is not totally sure of that.  This story follows him leaving the Witch&rsquo;s castle after Dorothy kills her, and his adventures there after.  While not as good as Wicked, it&rsquo;s still a good story, and very well written.<br /><br /><strong>A Lion Among Men<br /><br /></strong><img class="imageStyle" alt="29248472" src="http://www.punkcoder.com/Blog/files/29248472.jpg" width="127" height="193"/><br /><br />As you can probably tell from the title, this story revolves around the Cowardly Lion.  It starts when the lion is young, and follows through the time he is with Dorothy, and up through the time where he is searching for Liir, because Liir is thought to have the spell book the Wicked Witch used.  This story is great, I almost like it as much as the original.  The ending is great, and ties up a couple loose ends from the second book.<br /><br />I recommend reading all three books if you enjoy fiction and are a fan of the Wizard of Oz.  Gregory Maguire is a great writer, he paints a great picture of Oz, he&rsquo;s very imaginative and is a joy to read.  I also recommend his other books, all of them have been great so far.]]></content:encoded></item><item><title>Key West</title><dc:creator>punkcoder@mac.com</dc:creator><category>Personal</category><dc:date>2009-03-08T17:24:27-04:00</dc:date><link>http://www.punkcoder.com/Blog/files/68870cc39fe65d924cbedd03581d713a-110.html#unique-entry-id-110</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/68870cc39fe65d924cbedd03581d713a-110.html#unique-entry-id-110</guid><content:encoded><![CDATA[Paige and I took a nice, quick, little vacation a few weeks back.  We went to Key West, FL.  We left on a Thursday and came back on a Sunday, thinking this would be the perfect amount of time to do all the exploring we needed to do.  Looking back; we wish we would have had a couple more days.  We had a spectacular time.  You can view the photos <a href="../(null)/(null)" rel="self" title="Photos">here</a>. ]]></content:encoded></item><item><title>Backblaze</title><dc:creator>punkcoder@mac.com</dc:creator><category>Apple</category><category>Software</category><dc:date>2009-01-27T20:47:43-05:00</dc:date><link>http://www.punkcoder.com/Blog/files/23dbc8764f3abc83576478ff02703ef5-109.html#unique-entry-id-109</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/23dbc8764f3abc83576478ff02703ef5-109.html#unique-entry-id-109</guid><content:encoded><![CDATA[I started using <a href="http://www.backblaze.com/" rel="external" title="Backblaze">Backblaze</a> about a month ago.  Backblaze is an offsite backup service.  While I try to back things up to DVD every couple months, and I have Time Machine running and backing everything up to an external hard drive, I still felt it was a good thing to also have my stuff backed up offsite.  This way if something awful happened, like a robbery, fire or some natural disaster; my important files will have been backed up away from my house.<br /><br />The service is pretty painless to set up.  I started with a free trial, and I saw the upload speed was nice, so I went ahead and signed up.  It&rsquo;s $5 a month for unlimited back up, or $50 a year, so you save $10.  If the unthinkable happens and you need to restore your files you have the following options.<br /><br /><ul class="circle"><li>You can download a zip file, which is the free option.  I don&rsquo;t know how they break up the zips, maybe each file is zipped up; otherwise you&rsquo;d have a pretty big zip file to download.  My initial backup was 46 GB.</li><li>You can have your files sent over night on DVD(s).  This option will run you $99.</li><li>You can have your files sent on a 160 GB USB Hard Drive.  This option will run you $189.</li></ul><br />The back-up was painless, and I got great speed, but that also comes from my having the high speed Comcast internet connection.  My biggest problem was remembering to leave the computer on so the back-up could take place.  I&rsquo;m used to putting the machine to sleep when it&rsquo;s not in use.<br />]]></content:encoded></item><item><title>LINQ and Collections</title><dc:creator>punkcoder@mac.com</dc:creator><category>.NET</category><dc:date>2009-01-26T21:45:53-05:00</dc:date><link>http://www.punkcoder.com/Blog/files/fdac21ffbaf56540ebac835d5e07bed8-108.html#unique-entry-id-108</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/fdac21ffbaf56540ebac835d5e07bed8-108.html#unique-entry-id-108</guid><content:encoded><![CDATA[When we first upgraded to the .NET 3.5 framework, the one feature I wasn&rsquo;t the biggest fan of was LINQ.  My main reason for the dislike is the way the syntax stands out from everything else around it.  It reminded me of when I was a COBOL developer, and the code would have inline DB2 or IMS logic, which stood out from everything else.  It may be powerful, but it just doesn&rsquo;t look or feel right.<br /><br />Well, over time I got over it.  We have used LINQ a lot in this Silverlight project I am working on.  The main use is for getting a distinct list of items, or to quickly filter or sort.  It works great for this.  The other day I found an even greater use.<br /><br />Let&rsquo;s say you have an object that looks like this:<br /><code><br />public class TitleRight<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;public Guid ID { get; set; }<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;public List&lt;Territory&gt; Territories { get; set; }<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;public List&lt;Language&gt; Languages { get; set; }<br />}<br /></code><br />Now, let&rsquo;s say you have a list of TitleRight objects, and you want to find the ones in the list that have a certain TerritoryID and a certain LanguageID.  In the past, one way you would accomplish this would be to iterate through the list of TitleRights, and for each one, you would then iterate through the list of Territory and Language, and try to match on the ID.  <br /><br />Now, in .NET 3.5, with the help of LINQ and Lambda expressions, you can do the following<br /><code><br />var query = from tr in TitleRights<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;where tr.Territories.Find(t => t.Id == territoryId) != null &&<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tr.Languages.Find(l => l.Id == languageId) != null<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;select tr;<br /></code><br />So, what is this code doing?  It uses the List&lt;T&gt;.Find() method to search the list for a match, returning NULL if nothing is found.  It took a little trial and error for us to figure this out, but in the end I think it truly shows the power of LINQ.  This accomplished in 4 lines of code, something that would normally take probably 2 - 3 times as many.]]></content:encoded></item><item><title>Safety Razor</title><dc:creator>punkcoder@mac.com</dc:creator><category>Personal</category><dc:date>2009-01-18T22:49:30-05:00</dc:date><link>http://www.punkcoder.com/Blog/files/cee96409a9f5bfc59ea968d1fbee4fb3-107.html#unique-entry-id-107</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/cee96409a9f5bfc59ea968d1fbee4fb3-107.html#unique-entry-id-107</guid><content:encoded><![CDATA[My gift from Paige this past Christmas was something I had been wanting for a while, but have never gotten around to purchasing.  Since I am cursed with a beard that grows in fast, I have to shave often (it should be daily, but that doesn&rsquo;t always happen).  I&rsquo;m not a fan of all the new disposable razor blades, with 4 blades on them and costing a lot for refills.  I was always a fan of the shaving kits you would see in the old movies, where you lather up a badger hair brush and use a safety razor to shave.  This was my gift from Paige, and I love it.  She got me the following:<br /><br /><strong>Omega Shaving Soap<br /><br /></strong><img class="imageStyle" alt="onsop" src="http://www.punkcoder.com/Blog/files/onsop.jpg" width="200" height="251"/><br /><br />This comes in its own handy bowl.<br /><br /><strong>Old Original Badger Hair Shaving Brush</strong><br /><br /><img class="imageStyle" alt="31V9kpycvVL._SL500_" src="http://www.punkcoder.com/Blog/files/31v9kpycvvl._sl500_.jpg" width="300" height="300"/><br /><br /><strong>Parker Safety Razor<br /><br /></strong><img class="imageStyle" alt="31FAqyVS4DL._SL500_AA280_" src="http://www.punkcoder.com/Blog/files/31faqyvs4dl._sl500_aa280_.jpg" width="280" height="280"/><br /><br />I purchased a 10 pack of double edge steel blades at CVS for $4.99; which is a lot better than the price of those disposable blades I used to buy for my Mach 3.<br /><br />The first time I shaved with the safety razor was a scary experience.  That&rsquo;s a pretty freakin&rsquo; sharp blade, but I made it through unscathed.  Once my face was lathered with the shaving soap, the blade just glided across my face.  I made sure I didn&rsquo;t apply a lot of pressure.  At first I couldn&rsquo;t even tell it was actually removing my beard it moved so effortlessly, but I stopped and looked and ran my hand across it, and it was super smooth.  If you want a manly shave, get yourself these products.  After the initial investment, which isn&rsquo;t all that bad, you only have to get yourself the blades; so in the long run you will save money.  The shaving soap lasts a while, as will the brush, as long as you take care of it.]]></content:encoded></item><item><title>Mac Software 3 - Photo</title><dc:creator>punkcoder@mac.com</dc:creator><category>Apple</category><category>Software</category><dc:date>2009-01-18T20:38:54-05:00</dc:date><link>http://www.punkcoder.com/Blog/files/d433616e26c36e8f4826e9ed6d21d9a7-106.html#unique-entry-id-106</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/d433616e26c36e8f4826e9ed6d21d9a7-106.html#unique-entry-id-106</guid><content:encoded><![CDATA[This is another installment detailing software I use on the Mac.  This post will revolve around software used for processing, viewing, and printing photos.<br /><br /><strong>iPhoto - $79, or free with your new Mac<br /><br /></strong><a href="http://www.apple.com/ilife/iphoto/" rel="external" title="iPhoto">iPhoto</a> is part of Apple&rsquo;s iLife products, which ship with all new Macs.  iPhoto &rsquo;08 is the current release, with iPhoto &rsquo;09 coming out by the end of this month.  iPhoto is used for photo management, and has limited photo editing capabilities.  One of the newer features of iPhoto &rsquo;08 is the ability to group your photos by Event.  iPhoto will try and group your photos together by the amount of time between each of the photos taken.  For example: a couple weeks ago Paige and I went to the Aquarium in the morning, and the King Tut exhibit in the afternoon, after stopping off for lunch.  If I were to load my photo for the day into iPhoto, it would see that all of my aquarium photos were taken over the coarse of a couple hours, without any large gap of time.  It would then see that the photos I took while at the King Tut exhibit were taken a couple hours later, so this would be considered a different event.  You can tell iPhoto the amount of gap in the preferences.  The default is to group everything together by day, you can take this down to an 8 hour gap between photos, or a 2 hour gap, like I use.<br /><br />iPhoto is great for basic photo management.  It gives you one place to organize your photos, perform simple editing (cropping, red-eye, straightening), e-mail photos, design books and calendars, and also upload to your Mobile Me account, if you have one.<br /><br /><img class="imageStyle" alt="iphoto08872007sbm" src="http://www.punkcoder.com/Blog/files/iphoto08872007sbm.jpg" width="425" height="283"/><br /><br /><strong>Aperture 2 - $199<br /><br /></strong><a href="http://www.apple.com/aperture/" rel="external" title="Aperture">Aperture</a> is a step up from iPhoto and is useful if you take a lot of photos, and useful if you use an SLR, taking photos in a RAW format.  Like iPhoto, Aperture isn&rsquo;t made for complex photo editing, it&rsquo;s more for managing massive libraries, tagging and searching, rating, and processing RAW photos.  This is where I spend a majority of my time when I work on my photos, and this is the default application I have open when I attach my digital camera.  This is similar to Adobe&rsquo;s Lightroom application, but this one is made by Apple, and takes advantage of Core Graphics, which provides its speed in handling lots of images.<br /><br /><img class="imageStyle" alt="gallery_performance2_20080711" src="http://www.punkcoder.com/Blog/files/gallery_performance2_20080711.jpg" width="640" height="400"/><br /><br /><strong>Pixelmator - $59<br /><br /></strong>I have talked about <a href="http://www.pixelmator.com/" rel="external" title="Pixelmator">Pixelmator</a> before.  I was part of the beta testing for this application, so I have been using it from the beginning.  Pixelmator is a powerful image editor built specifically for Mac OS X.  It has most of the features of Photoshop that I ever used, and costs a fraction of the price.  The user interface is beautiful, and it takes advantage of Core Graphics to use the GPU to process photo edits in real time.  What does this mean?  In Photoshop, when you apply a blur, or some other effect, you will see a preview window, showing a small portion of your photo, letting you see what the effect will do.  When you are satisfied you click OK and the effect is applied.  In Pixelmator, the effect is applied in real time to the entire photo, letting you see instantly what is happening.  It does this because it uses your graphics card (GPU) to process the effect, not your CPU.  I think the newest version of Photoshop may do this now, but I am not certain.  Unless you are just tied to Photoshop because you own a lot of plug-ins or you have used it forever and are just super comfortable with it, Pixelmator should more than meet your photo editing requirements.<br /><br /> <img class="imageStyle" alt="DropOfWater(640x400)" src="http://www.punkcoder.com/Blog/files/dropofwater0028640x4000029.jpg" width="640" height="400"/><br /><br /><strong>LiveQuartz - Free<br /><br /></strong><a href="http://www.rhapsoft.com/" rel="external" title="LiveQuartz">LiveQuartz</a> is a free, simple photo retouching tool.  It&rsquo;s very powerful for performing composites, and also comes with a nice library of effects and filters you can apply to your images.  All of this is done in a non-destructive manner, meaning the original photo is never tampered with.<br /><br /><img class="imageStyle" alt="LiveQuartzHomePage" src="http://www.punkcoder.com/Blog/files/livequartzhomepage.jpg" width="590" height="421"/><br /><br /><strong>FotoMagico - $49<br /><br /></strong><a href="http://www.boinx.com/fotomagico/overview/" rel="external" title="FotoMagico">FotoMagico</a> is an application designed to make it easy to produce powerful photo presentations.  While a lot of photo software comes with the ability to perform a simple slideshow, FotoMagico gives you the tools to create a great slideshow, with music and transitions, and you can target different screen resolutions, even hi-definition.  My mother is still on dial-up, so it is hard for her to hop on the internet and look at all of the vacation photos I&rsquo;ve taken.  I used FotoMagico to create a slideshow of all of my photos, and I added music to set the mood, then I burned it to DVD and sent it to her.  It was simple and it turned out great.   <br /><br /><img class="imageStyle" alt="fotomagico" src="http://www.punkcoder.com/Blog/files/fotomagico.png" width="640" height="461"/><br /><br /><strong>Photonic - $25<br /><br /></strong>I started using Flickr a while back, right before Yahoo! purchased it.  I like the simple interface, and I am a pro user, so for $20 a year I can host an unlimited amount of photos, and download them in their original size.   Flickr is great until you have a lot of photos to upload, then you find the web interface to be a pain.  While Flickr does provide you with an uploader, it&rsquo;s very unstable and doesn&rsquo;t work all that well.  This is where <a href="http://www.photonicapp.com/" rel="external" title="Photonic">Photonic</a> comes in handy.  With Photonic you can connect to your Flickr library and upload a large amount of photos.  You can also add your tags and comments at the time of upload, and choose to create a new set, or add to an existing set.  Photonic also acts a a client for Flickr.  You can use it to look at photos on Flickr without having to open your web browser and go to the Flickr site.<br /><br /><img class="imageStyle" alt="photonic-screenshot-scaled-b3" src="http://www.punkcoder.com/Blog/files/photonic-screenshot-scaled-b3.png" width="500" height="377"/><br /><br /><strong>Snapshot - $24.95<br /><br /></strong>Well, we&rsquo;ve looked at software for importing and managing your photos, for editing, for creating slideshows, and for uploading to the web.  The other big thing to do with photos is print them.  This is where <a href="http://snapshotapp.com/" rel="external" title="Snapshot">Snapshot</a> comes into play.  Snapshot is like a photo lab for your Mac.  You have full control over the print size, cropping, borders, etc.  It allows you to crop your photos in a non-destructive manner, so you can crop a photo just for that printing, and it doesn&rsquo;t affect the original photo.  It also integrates with photo software like iPhoto, Aperture and Lightroom, so you can print photos from your libraries.<br /><br /><img class="imageStyle" alt="Snapshot" src="http://www.punkcoder.com/Blog/files/snapshot.png" width="403" height="366"/><br /><br />]]></content:encoded></item><item><title>Finished Tomb Raider</title><dc:creator>punkcoder@mac.com</dc:creator><category>Personal</category><category>Video Games</category><dc:date>2009-01-11T21:49:22-05:00</dc:date><link>http://www.punkcoder.com/Blog/files/e7dc446b0ace8a496c53751fe2d849c4-105.html#unique-entry-id-105</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/e7dc446b0ace8a496c53751fe2d849c4-105.html#unique-entry-id-105</guid><content:encoded><![CDATA[I finished Tomb Raider: Underworld earlier today.  It was enjoyable, and the story was very interesting.  My only gripe about the game is the controls weren&rsquo;t all that great.  There&rsquo;s just some games that don&rsquo;t translate all that well over to the Wii controls.<br /><br />Once I was finished with Tomb Raider I collected all of the games for the Wii and my Nintendo DS that I have finished, and I took a trip up to GameStop to trade them in for store credit.  I currently have a little over $250 in store credit.  GameStop was crowded, so I didn&rsquo;t bother spending time looking for a new game.  I figure I can survive on Guitar Hero: World Tour for a while.  I&rsquo;ve finished the game, on Medium, but I haven&rsquo;t achieved 100% on all the songs.<br /><br />I also recently finished another book, &ldquo;Plague Ship&rdquo;, by Clive Cussler and Jack Du Brul.<br /><br /><img class="imageStyle" alt="26001668" src="http://www.punkcoder.com/Blog/files/26001668.jpg" width="127" height="193"/><br /><br />Clive Cussler is the author of the Dirk Pitt series of books I used to read.  Once the Dirk Pitt series finished he branched out into a series of books with Jack DuBrul which encompass the &ldquo;Oregon Files&rdquo;, named after the ship that the characters reside on.  He also started a series with Paul Kamprecos which is the &ldquo;Kurt Austin&rdquo; adventures.  He recently teamed up with his son, Dirk Cussler to pen the new Dirk Pitt series, which is about Dirk Pitt Jr, the son of Dirk Pitt from the original books.  All of these have a couple things in common: they take place around water, they have the over the top, taking over the world bad guys, and they are meant more for a fun read that anything else.  I don&rsquo;t know why, but I&rsquo;ve found that I enjoy these stories.  Plague Ship ranks as one of my favorites from the Oregon Files series.]]></content:encoded></item><item><title>MacHeist III</title><dc:creator>punkcoder@mac.com</dc:creator><category>Apple</category><dc:date>2009-01-09T19:24:06-05:00</dc:date><link>http://www.punkcoder.com/Blog/files/f9cbf98679cd332f4b30fe191c1a6db7-104.html#unique-entry-id-104</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/f9cbf98679cd332f4b30fe191c1a6db7-104.html#unique-entry-id-104</guid><content:encoded><![CDATA[Anyone who has read this blog knows that I like to check out the bundles of Mac OS X software that show up every once in a while.  I find it to be the best way to find new software, and get software for a great price.  One of the first bundles I ever bought was from <a href="http://www.macheist.com/" rel="external">MacHeist</a>.  This was a few years back.  I received an e-mail the other day stating that a new MacHeist bundle is approaching.  Hopefully there is some good software in this years bundle. ]]></content:encoded></item><item><title>Happy New Years</title><dc:creator>punkcoder@mac.com</dc:creator><category>Personal</category><dc:date>2009-01-02T13:33:31-05:00</dc:date><link>http://www.punkcoder.com/Blog/files/4997fb5a1f1e95caf0378a556caa88d3-103.html#unique-entry-id-103</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/4997fb5a1f1e95caf0378a556caa88d3-103.html#unique-entry-id-103</guid><content:encoded><![CDATA[Paige and I enjoyed a nice dinner at <a href="http://www.agaverestaurant.com/" rel="external" title="Agave Restaurant">Agave Restaurant</a> to ring in the new year.  It&rsquo;s that time of year again, time to make some resolutions.<br /><br />I think this year instead of making some big overall resolutions, I&rsquo;m going to list some things I&rsquo;d like to start or continue doing.<br /><br /><ul class="circle"><li>I got myself out of debt earlier this year, and have done fairly well at keeping myself out of debt.  I do still use my credit card to pay for stuff online or for our trips we take, but I make sure to pay it off either at the end of the month, if I can, or within a month or two if I need the time.  This year I plan on continuing to stay out of debt.</li><li>When I was younger I used to draw all the time.  I have a lot of great drawing tools lying around, and I really need to get back into it.  </li><li>I haven&rsquo;t been playing the guitar as much as I used to, so I need to get back into doing that.</li><li>While I have been good at not getting into debt again, I haven&rsquo;t been doing all that well on putting money into my savings account.  I&rsquo;ve set up automatic deposits to try and resolve this.  I have two big expenses coming up this year, my lease on my car runs up in September, as does the lease on the house I am renting.  I have been renting this place for 3 years now, and am thinking of either looking into getting a place of my own, if I have the money and the housing market allows it; or at least move somewhere else and rent, for a change of scenery.</li><li>I&rsquo;d like to live more frugally this year.  Just because I can afford to eat out often, or get Starbucks coffee daily, doesn&rsquo;t mean I have to.  I&rsquo;m going to try to stick to eating out on weekends or during the week for special occasions, and cook meals at home during the week.  I&rsquo;m also thinking of cutting out the trips to Starbucks, or at least cutting it down to once or twice a week.</li><li>Through exercise and monitoring myself using the Wii Fit I was able to lose 15 pounds this past year.  Now, I have gained some of that back over the holidays, so I need to get back into working out and keeping the weight off.  I also need to broaden my exercises beyond aerobic and get some strength training in too.</li></ul>]]></content:encoded></item><item><title>Call of Duty: World At War</title><dc:creator>punkcoder@mac.com</dc:creator><category>Personal</category><category>Video Games</category><dc:date>2009-01-02T13:21:14-05:00</dc:date><link>http://www.punkcoder.com/Blog/files/a0e83c714482d0af2bc2b56b682e0481-102.html#unique-entry-id-102</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/a0e83c714482d0af2bc2b56b682e0481-102.html#unique-entry-id-102</guid><content:encoded><![CDATA[Shortly after I finished Lego Batman I purchased two new games for the Wii.  Call of Duty: World at War and Tomb Raider Underworld.  I finished Call of Duty yesterday and have now started playing Tomb Raider Underworld.<br /><br /><strong>Call of Duty: World At War<br /><br /></strong><img class="imageStyle" alt="230336b" src="http://www.punkcoder.com/Blog/files/230336b.jpg" width="156" height="220"/><br /><br />I&rsquo;ve been playing the Call of Duty games since they started coming out for Playstation 2 many years ago, only missing Call of Duty 4 because it wasn&rsquo;t released for a system that I own.  Call of Duty: World At War is a first person shooter that takes place in the final days of World War II.  You play two characters, an American and a Russian, whose stories intertwine.  The American conflict taking place with Japan, and the Russian conflict taking place in Germany.  Just like Resident Evil 4, I found this game perfect for play on the Wii.  This game supports the Wii Zapper, but I found it too hard to play that way because you have to be able to press the buttons on the WiiMote, which is hard to do when it is in the Zapper.  Using the WiiMote to aim your weapon gives you better precision than using the joysticks when playing the game on other systems.  This game has online play, but that&rsquo;s something I&rsquo;ve never been interested in, so I didn&rsquo;t play that part, just the single player campaign mode.  It&rsquo;s a great game, definitely recommend it if you are into first person shooters.<br /><br /><strong>Tomb Raider Underworld<br /><br /></strong><img class="imageStyle" alt="230253b" src="http://www.punkcoder.com/Blog/files/230253b.jpg" width="156" height="220"/><br /><br />Tomb Raider is another game I have been playing since it first started, back on the original PlayStation.  I haven&rsquo;t started playing this yet, so I won&rsquo;t have a review until I&rsquo;m finished.  Most of the Tomb Raider games have been good, but there were a couple that felt thrown together just to release another title in the franchise.  Hopefully this one isn&rsquo;t one of those.]]></content:encoded></item><item><title>The Tales of Beedle the Bard</title><dc:creator>punkcoder@mac.com</dc:creator><category>Personal</category><category>Books</category><dc:date>2008-12-29T22:04:21-05:00</dc:date><link>http://www.punkcoder.com/Blog/files/386eae296d30369fb9a265b3504616e2-101.html#unique-entry-id-101</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/386eae296d30369fb9a265b3504616e2-101.html#unique-entry-id-101</guid><content:encoded><![CDATA[I picked up the new J. K. Rowling book, &ldquo;The Tales of Beedle the Bard&rdquo; last night while grabbing a couple things from Kroger.  It was already 40% off, plus I used my Kroger card to get additional savings, it cost around $5.<br /><br />For those of you not up on Harry Potter, one of the stories from this book was mentioned in the final Harry Potter book.  This book is short, around 120 pages, and can be read in about 1 hour.  It contains 5 stories, and commentary on each story by Dumbledore.  I would liken this to something like Grimms Fairy Tales.  Each of the stories are very short, and convey a message.  The commentary by Dumbledore is the interesting part.  If you&rsquo;re a fan of Harry Potter, it&rsquo;s a good quick read if you can find it cheap.<br /><br /><img class="imageStyle" alt="29456985" src="http://www.punkcoder.com/Blog/files/29456985.jpg" width="128" height="193"/>]]></content:encoded></item><item><title>Mac Tip - Tab in Dialog Boxes</title><dc:creator>punkcoder@mac.com</dc:creator><category>Apple</category><dc:date>2008-12-28T23:33:21-05:00</dc:date><link>http://www.punkcoder.com/Blog/files/8c05d8e82a963f83aa4a67b5e45ca8e1-100.html#unique-entry-id-100</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/8c05d8e82a963f83aa4a67b5e45ca8e1-100.html#unique-entry-id-100</guid><content:encoded><![CDATA[The default behavior of the Tab key in a dialog box is to only tab through the text boxes and lists, not to allow you to tab to any of the buttons.  This is pretty annoying, and it&rsquo;s strange that this is the default behavior.  To change this do the following.<br /><br />Open System Preferences, either by clicking the System Preferences icon in your dock, if it&rsquo;s there, or click on the Apple menu (the apple icon in the top left corner of your screen) and choose System Preferences.  Now choose the Keyboard & Mouse setting<br /><br /><img class="imageStyle" alt="System Preferences-1" src="http://www.punkcoder.com/Blog/files/system-preferences-1.jpg" width="660" height="458"/><br /><br />Once you are on the Keyboard & Mouse Pane, choose the Keyboard Shortcuts tab.  At the bottom of this tab you will see the Full Keyboard Access section.  Choose the All Controls radio button to enable tabbing through all controls on a dialog.<br /><br /><img class="imageStyle" alt="Keyboard & Mouse-1" src="http://www.punkcoder.com/Blog/files/keyboard-0026-mouse-1.jpg" width="663" height="584"/><br /><br />As you can see at the bottom, the keyboard shortcut to enable this behavior is Control + Function + F7.<br />]]></content:encoded></item><item><title>Mac Software 2</title><dc:creator>punkcoder@mac.com</dc:creator><category>Apple</category><dc:date>2008-12-28T17:47:24-05:00</dc:date><link>http://www.punkcoder.com/Blog/files/9bda68b9522b2e431d5cae5fc3c5d601-99.html#unique-entry-id-99</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/9bda68b9522b2e431d5cae5fc3c5d601-99.html#unique-entry-id-99</guid><content:encoded><![CDATA[This post is a follow up to an earlier post where I was detailing some of the applications I use day-to-day on my Mac.  This will be split among many posts due to the number of applications.<br /><br /><strong>Utility Applications (cont.)<br /><br /></strong><a href="http://www.xslimmer.com/" rel="external" title="XSlimmer">XSlimmer </a>has a tag line of &lsquo;Your Mac on a diet&rsquo; and this describes it perfectly.  XSlimmer has the sole purpose of analyzing an application and determining what can be stripped from the application to make the binary smaller.  The way it does this is two fold.  First, many applications these days are packaged as Universal Binaries.  A Universal Binary is packaged to allow it to run either on an Intel Mac, or on the older PPC Mac platform.  This is great because it allows you to not have to worry about finding the correct version of an application, but this also results in your application having a lot of unneeded baggage.  The second thing XSlimmer looks at is all of the nationalization&rsquo;s included with the application.  A lot of the applications you download have resources for displaying the UI and all messages and dialogs in the language the user has set up on their machine.  A lot of these applications have 18 or so languages, while 99% of the time they will only be used in one language.  XSlimmer will get rid of all the unneeded languages and the unneeded platform code, which can significantly cut down the size of the application.  I ran it on all of my applications and got back 2.5 GB of space.  While hard drive space is cheap these days, it is nice to have it used for important things, instead of stuff that will never be used.  <br />Price: $12.95<br /><br />Here&rsquo;s some results from XSlimmer on my machine:<br /><br />Safari Web Browser started off at 67.1 MB and was slimmed to 8.47 MB, saving 58.6 MB in space.<br />Mail started off at 289 MB and was slimmed to 24.7 MB, saving 264 MB in space.<br /><br />Screenshot:<br /><br /><img class="imageStyle" alt="Xslimmer" src="http://www.punkcoder.com/Blog/files/xslimmer.png" width="380" height="315"/><br /><br /><a href="http://www.id-design.com/software/whatsize/" rel="external" title="WhatSize">WhatSize</a> is a utility that is helpful at recovering space just like XSlimmer.  WhatSize will analyze your machine and will show you the size of a given folder and subfolders within that folder.  This will let you see in a glance what is taking up a lot of room on your machine.  You may find lots of unused files or applications you totally forgot about that are wasting space.  Price: $12.99<br /><br />Screenshot:<br /><br /><img class="imageStyle" alt="mainscreen_thumb" src="http://www.punkcoder.com/Blog/files/mainscreen_thumb.png" width="415" height="322"/><br /><br /><a href="http://www.appzapper.com/" rel="external" title="AppZapper">AppZapper</a> is an uninstaller for Mac OS X.  One of the great things about the Mac is the drag-and-drop nature of installing and uninstalling applications.  To install an application on a Mac you drag it to the Applications folder.  To uninstall you drag it to the trash and delete it.  The problem with the uninstall is that some applications don&rsquo;t keep all of their files in the Applications folder, it may store things in a preference file or in a cache file that doesn&rsquo;t get uninstalled.  This is where AppZapper comes into play.  You drag the application onto AppZapper and it will search your hard drive for any related files that can be deleted, then you zap the files and delete them.  Price: $12.95 with free upgrades for life.<br /><br />Screenshots:<br /><br /><img class="imageStyle" alt="thumb1" src="http://www.punkcoder.com/Blog/files/thumb1.png" width="190" height="100"/><br /><br /><img class="imageStyle" alt="thumb2" src="http://www.punkcoder.com/Blog/files/thumb2.png" width="190" height="140"/><br /><br /><a href="http://www.ergonis.com/products/keycue/" rel="external" title="KeyCue">KeyCue</a> is one of those applications you may look at and go, why would I pay for something like that, but it&rsquo;s worth it if you are like me and like to use keyboard shortcuts a lot, to stop yourself from having to take your hands off the keyboard to use the mouse.  I&rsquo;m sure most people know the common keyboard shortcuts you use very often such as Command-C to Copy, Command-V to Paste and Command-Q to quit a program, but what about the more obscure less used commands?  In Safari did you know you can use Command-D to bookmark a page, or do you use the mouse to click the bookmark menu item?  Did you know if you are on a web page in Safari you can press Command-I and the page will be imported into Mail so you can e-mail it to someone?  These are the kinds of things you learn with KeyCue.  It&rsquo;s really handy when you are a developer and you use something complicated like XCode or TextMate, which can have hundreds of commands available through key combinations.  KeyCue is simple to use, while you are in an application you can hold down the Command key, and an overlay with a list of the commands will show.  It is that easy, and extremely helpful.  Price: $19.99<br /><br />Screenshot:<br /><br /><img class="imageStyle" alt="KCAnimated" src="http://www.punkcoder.com/Blog/files/kcanimated.gif" width="394" height="293"/><br /><br />That&rsquo;s enough for this time.  I realize that you may look at all of these applications and notice that some of them cost a lot.  If you were to just add up the price of the applications in this post it would total close to $60.  That&rsquo;s why I tend to buy my applications in the occasional bundle promotion that is found on sites like <a href="http://maczot.com/" rel="external" title="MacZot">MacZot</a>, <a href="http://www.mupromo.com/" rel="external" title="MUPromo">MUPromo</a> and <a href="http://www.macheist.com/" rel="external" title="MacHeist">MacHeist</a>.  You can sometimes pick up $400+ of software for around $50.  Plus MacZot and MUPromo have daily deals too on software.  It&rsquo;s good to keep a watch on these sites.]]></content:encoded></item><item><title>The Girl With the Dragon Tattoo</title><dc:creator>punkcoder@mac.com</dc:creator><category>Personal</category><category>Books</category><dc:date>2008-12-28T17:36:01-05:00</dc:date><link>http://www.punkcoder.com/Blog/files/26f91661b05a9412a6b82de0c6c109d3-98.html#unique-entry-id-98</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/26f91661b05a9412a6b82de0c6c109d3-98.html#unique-entry-id-98</guid><content:encoded><![CDATA[I just finished a great book called &lsquo;The Girl With the Dragon Tattoo&rsquo;, by Stieg Larsson.<br /><br /> <img class="imageStyle" alt="29522491" src="http://www.punkcoder.com/Blog/files/29522491.jpg" width="128" height="191"/><br /><br />This book caught my eye one day while I was at Barnes & Noble, and after giving it a once over I figured I&rsquo;d pick it up.  I haven&rsquo;t read many mysteries lately.  This mystery is what&rsquo;s known as a &lsquo;closed room&rsquo; murder mystery, akin to what Agatha Christie would write, where a murder has taken place, and because of the circumstances, you know who all the suspects are.  In this case the suspects were all trapped on an island, where the only access was a bridge, that was closed due to an accident.<br /><br />It wasn&rsquo;t until I finished the book, and read a quick blurb about the author, that I found out he had passed away in 2004, shortly after delivering the manuscript for this novel, and two others.  He was 50 years old and died of a heart attack.  The two other books are being released in the coming years, and if they are anything like this one I will plan on reading them.<br /><br />I recommend this book if you are into a good mystery.]]></content:encoded></item><item><title>Mac Software</title><dc:creator>punkcoder@mac.com</dc:creator><category>Apple</category><dc:date>2008-12-23T18:15:20-05:00</dc:date><link>http://www.punkcoder.com/Blog/files/0d1d9013e8bf39fb1e14ed339e39313b-97.html#unique-entry-id-97</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/0d1d9013e8bf39fb1e14ed339e39313b-97.html#unique-entry-id-97</guid><content:encoded><![CDATA[There are a lot of people at my place of employment that are joining the world of Apple, and they often ask me what application I use to do such-and-such.  I figured I would go through the applications I have installed on my Mac and tell a little about them, that way they can see what I use.<br /><br /><strong>Utility Applications<br /><br /></strong><a href="http://growl.info/index.php" rel="external" title="Growl">Growl</a> is a notification system for Mac OS X.  It lets applications send you notifications.  You know those annoying little balloon pop-up windows that come from the task bar in Windows, letting you know stuff like wireless networks are available, or your Exchange e-mail isn&rsquo;t working; growl is something along those lines, but a lot nicer looking, and less obtrusive. Price: Free.<br /><br />Screenshot<br /><strong><br /></strong><img class="imageStyle" alt="SmokeScreenshot" src="http://www.punkcoder.com/Blog/files/smokescreenshot.png" width="515" height="133"/><br /><br /><a href="http://islayer.com/apps/istatmenus/" rel="external" title="IStat Menus">IStat Menus</a> is an application for those computer geeks that like to know what&rsquo;s going on with their system.  It lets you add up to 8 separate menus to your menu bar.  These menus will tell you about your CPU and Memory, Network Traffic, Fan Speed, Hard Drive, Temperature, etc.  Price: Free (donations encouraged).<br /><br />Screenshot<br /><br /><img class="imageStyle" alt="menubar-sml" src="http://www.punkcoder.com/Blog/files/menubar-sml.jpg" width="610" height="21"/><br /><br /><a href="http://www.noodlesoft.com/hazel.php" rel="external" title="Hazel">Hazel</a> is one of those applications I got as part of a software bundle that runs every so often.  When I first installed it, I didn&rsquo;t really think much of it, but the more I used it, the more I saw its worth.  Hazel lets you set rules on folders to take certain actions.  For example, it comes with built in rules for your Downloads folder.  If the file you download is a music file, after the file download is complete, the file will be moved from your Downloads folder, to your Music folder in your home directory.  Same goes for Movies.  Hazel will also monitor your trash can and automatically empty it after a file has been in there for a certain amount of time.  Hazel will apply colors to the labels of folders, if there are files in it you haven&rsquo;t accessed in a while.  Price: $21.95.<br /><br />Screenshot<br /><br /><img class="imageStyle" alt="System Preferences" src="http://www.punkcoder.com/Blog/files/system-preferences.jpg" width="661" height="438"/><br /><br /><a href="http://www.stclairsoft.com/DefaultFolderX/" rel="external" title="Default Folder X">Default Folder X</a> is a great application that makes the Mac OS X save and open dialogs easy and fast to work with.  It&rsquo;s hard to explain what Default Folder X has to offer, so if you want to know more visit the website. Price: $34.95<br /><br />Screenshot<br /><br /><img class="imageStyle" alt="partwindow" src="http://www.punkcoder.com/Blog/files/partwindow.jpg" width="254" height="244"/><br /><br /><a href="http://www.perian.org/" rel="external" title="Perian">Perian</a> is called the swiss-army knife for Quicktime.  It&rsquo;s a free, open source Quicktime component that adds native support for many popular video formats.  What that boils down to is Perian lets you use Quicktime to play videos other than the ones natively supported by Quicktime.  This is handy when you don&rsquo;t want to have multiple media players on your computer to handle all of the different video formats out there.  Price: Free.<br /><br /><a href="http://www.bartbusschots.ie/blog/?p=413" rel="external" title="Caffeine">Caffeine</a> is a simple application that stops your Mac from going to sleep.  Don&rsquo;t you hate it when you are on your Mac and in the middle of reading something, or perhaps giving a presentation, and the screen dims because you haven&rsquo;t typed or moved the mouse?  Caffeine will stop the screen from dimming and keep the Mac from going to sleep.  Price:  Free.<br /><br /><a href="http://agilewebsolutions.com/products/1Password" rel="external" title="1Password">1Password</a> is a password manager and automatic form filler.  With all of the web sites out there that request for you to sign in, it&rsquo;s pretty much necessary to have a password manager these days to keep track of it all.  1Password is nice because it will not only store your password, but can also generate a password for you.  1Password will also integrate itself into your browser, and automatically fill in the information for you when you visit a site.  Price: $39.95.<br /><br /><a href="http://www.yazsoft.com/sd/index.html" rel="external" title="Speed Download">Speed Download</a> is a download manager.  Download managers keep track of all your downloads, and will let you resume a download later, if for some reason your download doesn&rsquo;t complete.  Speed Download 5 is spectacular and worth the money.  Price:  $25.00.<br /><br />Screenshot<br /><img class="imageStyle" alt="1" src="http://www.punkcoder.com/Blog/files/1.png" width="500" height="324"/><br /><br /><a href="http://fetchsoftworks.com/" rel="external" title="Fetch">Fetch</a> is an easy to use FTP and SFTP client.  While there are free FTP clients for the Mac, Fetch is the first FTP client I&rsquo;ve used that doesn&rsquo;t have a crowded, hard to use interface.  Fetch has all its functionality in one simple window.  Price: $25.00.<br /><br />Screenshot<br /><br /><img class="imageStyle" alt="08-stuffit-transfer" src="http://www.punkcoder.com/Blog/files/08-stuffit-transfer.png" width="473" height="279"/><br /><br /><br />That&rsquo;s enough for now, I will post about more applications in another post at a later time.]]></content:encoded></item><item><title>Mac Tip - Web Receipts</title><dc:creator>punkcoder@mac.com</dc:creator><category>Apple</category><dc:date>2008-12-21T20:20:09-05:00</dc:date><link>http://www.punkcoder.com/Blog/files/47c45264588204e850c02040e3ef22b8-96.html#unique-entry-id-96</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/47c45264588204e850c02040e3ef22b8-96.html#unique-entry-id-96</guid><content:encoded><![CDATA[If you do any shopping or paying of bills online, you know you always come to the page that has your confirmation, and asks you to print a page for your records.  Mac OS X has a feature that helps you store all of these receipts.  When you go to print the page, click the PDF drop down<br /><br /><img class="imageStyle" alt="Safari-1" src="http://www.punkcoder.com/Blog/files/safari-1.jpg" width="453" height="137"/><br /><br />From here you will see a &ldquo;Save PDF to Web Receipts Folder&rdquo; menu option.  Click this, and the web page will be saved as a PDF into your Web Receipts Folder, which is located in /Users/<em>username</em>/Documents/Web Receipts.  This is a great option, because it gives you a copy for your records, but you don&rsquo;t have to go through the trouble of printing it out and storing it.  ]]></content:encoded></item><item><title>Tech Books I&#x27;m Currently Reading</title><dc:creator>punkcoder@mac.com</dc:creator><category>Books</category><category>.NET</category><category>Apple</category><dc:date>2008-12-08T22:28:42-05:00</dc:date><link>http://www.punkcoder.com/Blog/files/253da51a8d363bbcd85cb76b92b6f94c-95.html#unique-entry-id-95</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/253da51a8d363bbcd85cb76b92b6f94c-95.html#unique-entry-id-95</guid><content:encoded><![CDATA[<strong>The iPhone Developer&rsquo;s Cookbook<br /><br /></strong><img class="imageStyle" alt="33463358" src="http://www.punkcoder.com/Blog/files/33463358.jpg" width="128" height="165"/><br /><br />I have a couple ideas for iPhone applications, nothing big, quick hit applications that would be available for free, so I picked up this book to point me in the right direction.  I also have plans for a big iPhone application, that the people I&rsquo;ve mentioned it to think is a great idea, but it&rsquo;s one of those things that would take a team of developers, some venture capital, and some big company buy in, not something I think I can pull off at the moment, but maybe I can patent the idea :)<br /><br /><strong>Silverlight 2 Unleashed</strong><br /><br /><img class="imageStyle" alt="31942746" src="http://www.punkcoder.com/Blog/files/31942746.jpg" width="128" height="167"/><br /><br />The application I am currently working on at work is a Silverlight web application.  Silverlight 2 was recently released out of beta, so there are finally books showing up that are no longer referencing the beta build.  I purchased this book to bring into our war room as a reference.  I like the Unleashed books, and this one seems to cover a wide variety of subjects related to Silverlight 2, so hopefully it&rsquo;s of use to the team.]]></content:encoded></item><item><title>Using the Netflix API</title><dc:creator>punkcoder@mac.com</dc:creator><category>.NET</category><dc:date>2008-12-08T22:02:04-05:00</dc:date><link>http://www.punkcoder.com/Blog/files/97f41f230c5ca740aa29a3501f191608-94.html#unique-entry-id-94</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/97f41f230c5ca740aa29a3501f191608-94.html#unique-entry-id-94</guid><content:encoded><![CDATA[The project I am currently working on makes use of the <a href="http://developer.netflix.com/" rel="external" title="Netflix API">Netflix API</a> to retrieve information about titles and displays the box art.  It took me a while to get it working, mainly because I was trying to do too much.  I figured I&rsquo;d share this information, in case you also are going about using the API in the wrong way.  There are two ways to use the API.  First, you use it to make simple calls to their RESTful web services.  Second, you are making a front-end of some sort that signs in as the user and lets them manipulate their queue, browse the library, or watch on demand streams.  For our application I needed to go the first route, but was coding it the second way, which was overkill, and was causing me major problems.  To perform a simple Title search, or to do a daily download of their entire index, you don&rsquo;t need to sign in as a Netflix user, you just need to authenticate using Open Authentication with your consumer key and consumer secret (which you will need to apply for on their developer site).<br /><br />Some kind developer was nice enough to write a simple class to help you with this.  You can view the code to his implementation, OAuthBase, <a href="http://oauth.googlecode.com/svn/code/csharp/OAuthBase.cs" rel="external" title="OAuthBase code">here</a>.  Add this class to your application, and then it&rsquo;s as simple as the following code to perform a title search.<br /><br /><code><br />private void Search()<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;var url = new Uri(&ldquo;http://api.netflix.com/catalog/titles?term=&rdquo; + titleName);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;var consumerKey = ConfigurationSettings.AppSettings[&ldquo;ConsumerKey&rdquo;];<br />&nbsp;&nbsp;&nbsp;&nbsp;var consumerSecret = ConfigurationSettings.AppSettings[&ldquo;ConsumerSecret&rdquo;];<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;string normalizedUrl;<br />&nbsp;&nbsp;&nbsp;&nbsp;string normalizedRequestParameters;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;var oauth = new OauthBase();<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;var signature = oauth.GenerateSignature(<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;url, consumerKey, consumerSecret,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;null, null, &ldquo;GET&rdquo;, oauth.GenerateTimeStamp(), oauth.GenerateNonce(),<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;out normalizedUrl, out normalizedRequestParameters);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;var finalUri = normalizedUrl + &ldquo;?&rdquo; + normalizedRequestParameters + &ldquo;&oauth_signature=&rdquo; + <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;oauth.UrlEncode(signature);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;// Call the service to perform the title search<br />&nbsp;&nbsp;&nbsp;&nbsp;var xmlDocument = new XmlDocument();<br />&nbsp;&nbsp;&nbsp;&nbsp;xmlDocument.Load(finalUri);<br />}<br /></code><br /><br />Believe me, this is so much simpler than what I started out doing.  I was following their examples and I was connecting to their site through my application, bringing up a Netflix login screen, having to add my application to a trusted application list, etc.  I wasted a couple days development before I realized that was only needed if I wanted to let users interact with Netflix, not just do a title search.]]></content:encoded></item><item><title>Finished Lego Batman with 100&#x25;</title><dc:creator>punkcoder@mac.com</dc:creator><category>Personal</category><category>Video Games</category><dc:date>2008-12-06T18:28:50-05:00</dc:date><link>http://www.punkcoder.com/Blog/files/6a6a3127860187c14da1f2ada6576119-93.html#unique-entry-id-93</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/6a6a3127860187c14da1f2ada6576119-93.html#unique-entry-id-93</guid><content:encoded><![CDATA[It took a while, but I finally finished Lego Batman on the Wii with 100%.  I used the same strategy I used when playing Lego Indiana Jones.  I saved up the points I earned along the way and found and purchased &lsquo;invincibility&rsquo; and &lsquo;score x 6&rsquo;.  These allowed me to get through the levels easier and also to earn enough points to purchase anything I needed.<br /><br />It took me a while to figure out that you go through this game as both Batman and Robin, and also as each of the villains.  It&rsquo;s actually an interesting way to tell the story.  Usually when you are playing as Batman, you show up to the scene after the villain has already done their deed.  Now, when you play as the villain, you play the backstory that leads up to that deed.<br /><br />Overall I think I enjoyed Lego Indiana Jones more than this one.  The first reason is Indiana Jones followed the story from the movies, so it was something I could relate with.  Secondly, while this game was entertaining, it seems like it was just created to milk the franchise.  I still need to play the Star Wars series, but I think I am going to take a break from the Lego games for a while.]]></content:encoded></item><item><title>boxee</title><dc:creator>punkcoder@mac.com</dc:creator><category>Apple</category><dc:date>2008-12-06T09:50:20-05:00</dc:date><link>http://www.punkcoder.com/Blog/files/286024d60785f0671e686d4063d623c9-92.html#unique-entry-id-92</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/286024d60785f0671e686d4063d623c9-92.html#unique-entry-id-92</guid><content:encoded><![CDATA[I am part of alpha testing for a new service called <a href="http://www.boxee.tv/" rel="external" title="boxee.tv">boxee</a>.  I became interested in boxee when I saw that it added extra functionality to my Apple TV.  One of the reasons I wasn&rsquo;t a fan of sites such as Hulu or CBS.com or other sites where networks allow you to watch streaming TV episodes, is you were tethered to your computer.  I liked iTMS and Apple TV, so I could subscribe to the show and watch it on my television, commercial free.  Boxee adds the functionality to have these sites accessible from your television through your Apple TV, and lets you navigate the interface and watch the television shows.  <br /><br />It was pretty painless to load boxee onto my Apple TV.  I loaded some software onto a thumb drive and inserted the thumb drive into the back of the Apple TV.  I rebooted the Apple TV, the software loaded, I rebooted again, and I had a couple new menu options on my Apple TV menu screen.  The first thing I did was make sure the Apple TV still worked as it had before, which it did.  Next I went to the update menu in the boxee section and updated the software.  After this I gave it a try.  Now, I have to remember this is alpha software, and they are hacking a closed, proprietary system, so it won&rsquo;t be the most stable application.  I have gotten it to run successfully a couple times, watched a couple episodes of Family Guy from Hulu; but it does freeze up with a blank screen a lot, and the only recourse is to reboot the Apple TV.  I&rsquo;ll be interested to see how this progresses.]]></content:encoded></item><item><title>Finished a couple more books</title><dc:creator>punkcoder@mac.com</dc:creator><category>Personal</category><category>Books</category><dc:date>2008-12-06T09:37:06-05:00</dc:date><link>http://www.punkcoder.com/Blog/files/b9907a447c218c40a2460812bd823f4b-91.html#unique-entry-id-91</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/b9907a447c218c40a2460812bd823f4b-91.html#unique-entry-id-91</guid><content:encoded><![CDATA[I just finished reading two more books.<br /><br /><strong>A Little History of the World </strong>by E. H. Gombrich<br /><br /><img class="imageStyle" alt="30893038" src="http://www.punkcoder.com/Blog/files/30893038.jpg" width="128" height="182"/><br /><br />I have been on a little bit of a history kick lately.  The story behind this book is actually pretty interesting.  In 1935 a 26-year old Gombrich was tasked with writing a history book that could be enjoyed by children and adults alike.  He completed the book in 6 weeks.  The way he made it enjoyable to children is the text isn&rsquo;t littered with dates.  Instead he will tell you about on piece of history taking place, such as Julius Caesar in Rome, and when he tells you about another piece of history he would say it happened around the same time as Julius Caesar or maybe 100 - 200 years after.  This helps you put everything into perspective, without constantly having to see tons of dates.  I guess this makes it more of a history book you can read instead of one you would want to use as a reference book.<br /><br /><strong>I&rsquo;m a Stranger Here Myself (Notes on Returning to America After Twenty Years Away) </strong>by Bill Bryson<br /><br /><img class="imageStyle" alt="13742422" src="http://www.punkcoder.com/Blog/files/13742422.jpg" width="126" height="193"/><br /><br />I love Bill Bryson books.  He could write about the most boring subject in the world and make it both an interesting and humorous narrative.  This book is a collection of weekly stories that Mr. Bryson wrote for Night & Day magazine, one of the Sunday inserts for a newspaper in England.  Bryson had lived in England for a while with his English wife and kids and had recently moved back to America.  His stories are a mixture of what is different between America and England and also is used to introduce English citizens to some of the American traditions.  As always, he is very funny, and this is a very entertaining read. ]]></content:encoded></item><item><title>Thanksgiving</title><dc:creator>punkcoder@mac.com</dc:creator><category>Personal</category><dc:date>2008-11-29T10:53:19-05:00</dc:date><link>http://www.punkcoder.com/Blog/files/74595ff6cd9146fc403c2b233b364461-90.html#unique-entry-id-90</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/74595ff6cd9146fc403c2b233b364461-90.html#unique-entry-id-90</guid><content:encoded><![CDATA[I stayed in town for Thanksgiving, my mother is in Virginia picking up my grandmother to bring her down to Columbus for the week.  I am heading down to Columbus for the weekend to visit them.<br /><br />Paige and I had a nice little Thanksgiving.  We had dinner at a restaurant called &lsquo;The Palm&rsquo;.  The Palm is located in Buckhead in the Westin hotel.  We made a night of it and got a room at the hotel.  It was nice to have a night away and still be in town.  The dinner was good, except for the lobster bisque, which had a fishy taste.  We both ate too much, didn&rsquo;t have room to have a couple after dinner drinks.<br /><br />The Westin is next door to Lenox Square mall.  We walked over and watched a little of the Macy&rsquo;s tree lighting ceremony, headed back to the hotel for dinner, then walked back over to look at the tree, hoping we could walk off the full feeling, but that didn&rsquo;t work.  The tree isn&rsquo;t all that great looking either, shame such a big tree had to give its life for that.  The next morning we walked over to the mall and did some people watching.  There weren&rsquo;t as many people out shopping on Black Friday as we thought there would be, but there were still a good bunch out there.  That&rsquo;s the first time I&rsquo;ve ever ventured out to a store on Black Friday, I try to stay away from stores this time of year.<br /><br />Overall it was an enjoyable Thanksgiving.<br /><br />]]></content:encoded></item><item><title>Vacation photos slowly being uploaded</title><dc:creator>punkcoder@mac.com</dc:creator><category>Personal</category><dc:date>2008-11-25T21:21:03-05:00</dc:date><link>http://www.punkcoder.com/Blog/files/a961e7ff285cc362ecdc7a6b158d458f-89.html#unique-entry-id-89</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/a961e7ff285cc362ecdc7a6b158d458f-89.html#unique-entry-id-89</guid><content:encoded><![CDATA[I have uploaded the photos I like from the vacation Paige and I took to the Southwest.  I still have to go through my photos from Sedona, which is taking a while, because we were there for 4 days and went to a lot of different places.<br /><br />You can find the latest photos over in the <a href="../(null)/(null)" rel="self" title="Photos">photo section</a> of my site.]]></content:encoded></item><item><title>Wii Ware: World of Goo</title><dc:creator>punkcoder@mac.com</dc:creator><category>Video Games</category><dc:date>2008-11-22T11:44:22-05:00</dc:date><link>http://www.punkcoder.com/Blog/files/ce0a54da28fe795f3356610d08cb084b-88.html#unique-entry-id-88</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/ce0a54da28fe795f3356610d08cb084b-88.html#unique-entry-id-88</guid><content:encoded><![CDATA[In todays world of video games that have a budget of millions of dollars, you wouldn&rsquo;t think the little indie developer would stand a chance, but they do.  While the big companies are spending all sorts of money on creating games with huge story lines, super realistic graphics and celebrity voice overs, the indie developers are out there creating games that are simple and fun to play.  You can see this on all of the gaming sites that have cropped up where you can play a game in your browser using Flash.  You can also see it on the iPhone app store, where you can purchase a game for a couple dollars that provides hours of entertainment.  Now you can see it on your Nintendo Wii, through their launch of Wii Ware.  When you go to the Wii Shop Channel, you can purchase games that are made by indie gaming companies on their Wii Ware platform.  There&rsquo;s a pretty good selection of games at the moment that cover all sorts of categories.  I purchased one the other day called <a href="http://2dboy.com/games.php" rel="external" title="World of Goo">World of Goo</a>, and I am having a blast with it.  It&rsquo;s a simple premise, you link together balls of goo to build a platform to reach the exit of the level.  While it sounds simple, luckily it isn&rsquo;t, because where&rsquo;s the fun in that.  You have to make it to the end of the level with a requested number of unused goo balls.  This causes you to have to think about how you build your platform in the most efficient way possible.  The graphics and sound are great, the controls are simple and perfect, and the gameplay is spectacular.  I recommend this title as your introduction to Wii Ware.]]></content:encoded></item><item><title>VSTS 2008 Power Tools</title><dc:creator>punkcoder@mac.com</dc:creator><category>.NET</category><dc:date>2008-11-20T22:50:22-05:00</dc:date><link>http://www.punkcoder.com/Blog/files/b4169ac109472a286f955185f4e92e96-87.html#unique-entry-id-87</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/b4169ac109472a286f955185f4e92e96-87.html#unique-entry-id-87</guid><content:encoded><![CDATA[If there is one category of software developed by Microsoft that I have never been a fan of, it&rsquo;s the source control applications.  Visual Source Safe was just awful, and their newer one, Team System, isn&rsquo;t all that much better.<br /><br />When I first started at Turner, we were using Source Safe on my team.  From there we moved over to <a href="http://www.borland.com/downloads/download_starteam.html" rel="external" title="Star Team">Star Team</a>, which actually made Source Safe look good.  We eventually left Star Team for CVS, which rocked.  I like CVS because it is simple to use, and it just works.  My favorite feature is using an application like <a href="http://www.tortoisecvs.org/" rel="external" title="Tortoise CVS">Tortoise CVS</a>, which allows you to do all of your source control from within Windows Explorer.  We moved to Subversion from CVS, which is a better version of CVS, so I liked it even more.  Once I loaded <a href="http://tortoisesvn.tigris.org/" rel="external" title="Tortoise SVN">Tortoise SVN</a> I could use it from Windows Explorer too.<br /><br />When I started on this Agile project, we moved over to Team System.  It&rsquo;s pretty much like Source Safe, but has some extra features.  The main reason we moved over was for its SCRUM and shelving capabilities, two features we never use.  It integrates with Visual Studio, but it isn&rsquo;t the greatest integration.  If you have multiple machines you work on, it screws up its whole &lsquo;workspace&rsquo; concept.  Worst of all, to edit a file you had to fire up Visual Studio and go into the Team Explorer interface and check it out for edit.  This sucks when you want to make a simple configuration change.  This is where CVS and SVN rocked, you just opened the file in whatever editor you like and edit it.  Since it monitors the directory, it picks up the change.  Right-click on the file and choose Check-In.  It&rsquo;s that simple.<br /><br />Well, you can finally do this with Team System, if you go and download their <a href="http://msdn.microsoft.com/en-us/tfs2008/bb980963.aspx" rel="external" title="VSTS 2008 Power Tools">VSTS 2008 Power Tools</a>.  The shell integration isn&rsquo;t installed by default, you have to do a custom install to enable it.  After a log-out-log-in you now have VSTS capabilities from within Explorer.]]></content:encoded></item><item><title>Just Voted</title><dc:creator>punkcoder@mac.com</dc:creator><category>Personal</category><dc:date>2008-11-04T10:13:48-05:00</dc:date><link>http://www.punkcoder.com/Blog/files/7b739e37c0eaab3ee030967cb1dc1019-86.html#unique-entry-id-86</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/7b739e37c0eaab3ee030967cb1dc1019-86.html#unique-entry-id-86</guid><content:encoded><![CDATA[After hearing all of the horror stories about the long waits and issues with early voting, I was preparing for the worst today, but it never happened.  My polling place is an Elementary school within walking distance of my house.  I left my house at 9:15, was back home by 9:45.  Voting took a total of probably 10 minutes.  Lovely!<br /><br />On a side note, this is the first time I&rsquo;ve voted in a while where I voted for someone because I really felt strongly about them.  Usually voting comes down to which person do you hate the least, the lesser of two evils.]]></content:encoded></item><item><title>Couple new games: Guitar Hero World Tour and Lego Batman</title><dc:creator>punkcoder@mac.com</dc:creator><category>Personal</category><category>Video Games</category><dc:date>2008-11-02T13:19:29-05:00</dc:date><link>http://www.punkcoder.com/Blog/files/28584f161c97d39ea51d877019090173-85.html#unique-entry-id-85</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/28584f161c97d39ea51d877019090173-85.html#unique-entry-id-85</guid><content:encoded><![CDATA[After finishing Lego Indiana Jones I went out looking for a new game to play.  I enjoyed the Lego game so much that I purchased the Lego Batman game.  I&rsquo;ve played the first level so far and it&rsquo;s just as fun as the Indiana Jones game.<br /><br />I also found that Guitar Hero World Tour is now out.  I purchased the game itself, instead of going for the whole kit at the moment, just didn&rsquo;t feel like spending that much.  If you purchase the whole kit you get a drum set, guitar, and microphone.  This new guitar hero is competing with Rock Band.  The game is fun, and I may end up purchasing the drum set at a later date, because there are some good drum songs on it; but I will hold off for now.]]></content:encoded></item><item><title>NHibernate Class Level Filtering</title><dc:creator>punkcoder@mac.com</dc:creator><category>.NET</category><dc:date>2008-11-02T13:09:13-05:00</dc:date><link>http://www.punkcoder.com/Blog/files/92fa5c5ef472af764f97b1857b1f9639-84.html#unique-entry-id-84</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/92fa5c5ef472af764f97b1857b1f9639-84.html#unique-entry-id-84</guid><content:encoded><![CDATA[While this information is available in the <a href="http://www.hibernate.org/5.html" rel="external" title="NHibernate Documentation">NHibernate</a> documentation, it&rsquo;s easy to overlook.  If you have a filter you apply to all of your queries through a &lsquo;Where&rsquo; clause in NHibernate, you can place that &lsquo;Where&rsquo; clause in your HBM file at the class level.<br /><br />For example, we don&rsquo;t delete data where I work, we need it for historical reporting and for searching.  Instead of deleting we usually have an active indicator.  What this causes is all of our queries always have &ldquo;WHERE ACTIVE_IND = &lsquo;Y&rsquo;&rdquo; tacked onto the end.  Instead of doing that we can just place this in our HBM and it will automatically be applied to any query.<br /><br />&lt;class name=&rdquo;<em>className</em>&rdquo; table=&rdquo;<em>tableName</em>&rdquo; where=&rdquo;ACTIVE_IND = &lsquo;Y&rsquo;&rdquo;&gt;<br />...<br />&lt;/class&gt;<br /><br />I want to thank my co-worker <a href="http://www.kevinbrill.com/" rel="external" title="KevinBrill.com">Kevin Brill</a> for pointing this out.<br /><br />]]></content:encoded></item><item><title>Thoughts on Vista</title><dc:creator>punkcoder@mac.com</dc:creator><category>Microsoft</category><dc:date>2008-10-27T22:33:49-04:00</dc:date><link>http://www.punkcoder.com/Blog/files/2c09e93f61e85473fc246b80a6c8c9f4-83.html#unique-entry-id-83</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/2c09e93f61e85473fc246b80a6c8c9f4-83.html#unique-entry-id-83</guid><content:encoded><![CDATA[As I mentioned in an earlier post I installed Microsoft Windows Vista Ultimate on my MacBook a couple weeks back.  Now that I&rsquo;ve had a chance to use it a little, I thought I&rsquo;d share my thoughts on it.<br /><br />I never used Microsoft Vista before installing it on my Mac.  I have seen it on a couple users machines at work, but never sat down and used it myself.  The copy of Vista Ultimate I received from the Microsoft event has Service Pack 1 installed on it.  I&rsquo;ve heard that SP1 fixes a lot of the gripes that people had with Vista.  It runs pretty darn fast on my MacBook Core Due with 2 GB RAM.  There was a time when the machine that was rated best to run Vista was a Mac; I don&rsquo;t know if that is still true.<br /><br />So, here are my likes, and my dislikes.<br /><br />Likes:<br /><br />1.  The UI is a heck of a lot better that the XP Playskool look.<br />2.  The side bar gadgets are nice, very similar to Widgets on Mac OS X, but still nice.<br />3.  The search that&rsquo;s built in is a lot better than the previous search in Windows.  It works almost as well as Spotlight on Mac OS X.<br />4.  It boots and shuts down quickly.<br />5.  I like that they got rid of the stupid &ldquo;My Computer&rdquo;, &ldquo;My Music&rdquo;, etc, and just replaced it with &ldquo;Computer&rdquo;, &ldquo;Music&rdquo;.  <br /><br />Dislikes:<br /><br />1.  The security feature is very weird.  If it needs to pop up a dialog to get your permission your screen goes black before doing so.  Also, the security dialog that pops up isn&rsquo;t all that helpful.  I double clicked a program to install it, it popped up a dialog with the name of the program, and if I clicked more info, it showed a GUID.  How the heck does that help?  It just seems kind of tacked on.<br />2.  The new start menu sucks.  When you first click on it, it looks nice.  If you click on All Programs, it just turns into a long scrolling list.  Not very nice looking.<br />3.  At the end of the day, while it looks nice, I don&rsquo;t really see what would take a team of engineers the size that Microsoft has, 5 years to develop this OS.  <br /><br />I don&rsquo;t consider it to be as bad as I&rsquo;ve heard, but then again I received a free copy.  I don&rsquo;t think I would have felt it was worth the $259 for Ultimate.<br />]]></content:encoded></item><item><title>Finished Lego Indiana Jones with 100&#x25;</title><dc:creator>punkcoder@mac.com</dc:creator><category>Video Games</category><dc:date>2008-10-27T22:22:08-04:00</dc:date><link>http://www.punkcoder.com/Blog/files/eaab0ed43c38084c55d450d798dcef84-82.html#unique-entry-id-82</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/eaab0ed43c38084c55d450d798dcef84-82.html#unique-entry-id-82</guid><content:encoded><![CDATA[I just finished Lego Indiana Jones: The Original Adventures with a score of 100%.  If a game has a certain goal, and this one the goal is to get 100%, I try to play the game until the end.  The game was pretty tough, but once I figured out a system, it wasn&rsquo;t that hard to finish.  The way I was able to finish it is to not spend any of your coins until you have enough to purchase a couple of the parcels you&rsquo;ve collected.  If you can purchase the Invincibility parcel and the Treasure X 4 or Treasure X 6 parcel, it will make life a heck of a lot easier.  Once you are invincible and your treasure is being multiplied, you will be able to get through all of the levels in Free Play mode with no problem.  Once you have collected all of the treasures, and all of the parcels, and you have collected enough coins to make it to True Adventurer on every level, you should have enough money to purchase all of the extra characters.  If you found all of the Star Wars characters you can also purchase Han Solo.  Go to Indy&rsquo;s room and collect all of the treasure chests to get yourself a key to use in the Artifact room.  This will allow you to get into the 3 bonus stages.  Once you are through with those go back in a purchase the last secret character and you should now be at 100% complete.  You can tell you are at 100% because it will start raining coins everywhere.<br /><br />This was a great game.  I&rsquo;m looking forward to playing the Star Wars and Batman versions.]]></content:encoded></item><item><title>Something Rotten</title><dc:creator>punkcoder@mac.com</dc:creator><category>Personal</category><category>Books</category><dc:date>2008-10-23T21:33:22-04:00</dc:date><link>http://www.punkcoder.com/Blog/files/b3a9c29b836d36edd93ffdc4ceded9c4-81.html#unique-entry-id-81</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/b3a9c29b836d36edd93ffdc4ceded9c4-81.html#unique-entry-id-81</guid><content:encoded><![CDATA[I just finished reading another Thursday Next novel, by Jasper Fforde, called <em>Something Rotten</em>.<br /><br /><img class="imageStyle" alt="Thursday_next_4_uk_bookcover" src="http://www.punkcoder.com/Blog/files/Thursday_next_4_uk_bookcover.jpg" width="200" height="308"/><br /><br />This is the fourth book in the Thursday Next series and it is probably my favorite.  Jasper Fforde has to be one of the most imaginative authors I&rsquo;ve ever read; it&rsquo;s amazing the stuff he comes up with.  This story is very funny, entertaining and well written.  I recommend this series to anyone that enjoys quirky humor and a fun book.<br /><br />I have his newest Thursday Next novel, <em>First Among Sequels</em>, but I think I am going to take a break and read something else right now.  I purchased a couple classic novels, you know, the stuff you were forced to read back in grade school.  I figure I&rsquo;ll appreciate them more now that I am reading them for my own pleasure.  I also have a couple other books sitting around that need reading.  Will get back to Fforde later on.]]></content:encoded></item><item><title>What?&#x21;?  I installed Vista?  On a MacBook&#x21;</title><dc:creator>punkcoder@mac.com</dc:creator><category>Personal</category><category>Microsoft</category><dc:date>2008-10-19T17:28:25-04:00</dc:date><link>http://www.punkcoder.com/Blog/files/76b56b3b1250beeec38b081d52978a4f-80.html#unique-entry-id-80</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/76b56b3b1250beeec38b081d52978a4f-80.html#unique-entry-id-80</guid><content:encoded><![CDATA[Yes, you read that title correctly.  I installed the latest version of the Microsoft OS, Windows Vista, on my MacBook.  I didn&rsquo;t install it in a virtual machine using VMWare Fusion or Parallels, I actually used BootCamp and installed it directly on my MacBook in a separate partition.  I did this for two reasons. Number one: I didn&rsquo;t use VMWare Fusion or Parallels because my MacBook is one of the old ones that can only support up to 2 GB or RAM, so I would only be able to give my virtual machine around 1 GB and still have a responsive Mac.  Windows Vista wouldn&rsquo;t be a happy camper under 1 GB of RAM, especially since the reason I installed it is for reason number two.  Number two: I realize at the end of the day, even though I love Apple and my Mac, the thing that brings home the paycheck is Microsoft development.  We are getting into serious development at work now using .NET 3.5 and Silverlight 2.0.  I need to have a machine at home that I can use to work on, and I&rsquo;d rather not have to lug around a laptop back-and-forth to work every day.<br /><br />Now, as for why I installed Windows Vista Ultimate, when Windows Vista hasn&rsquo;t exactly received stellar reviews?  I had a copy that I got for free for attending a Microsoft developer session a few weeks back, and didn&rsquo;t feel like scouring the web to find a pirated version of Windows XP.<br /><br />I don&rsquo;t see myself booting into Windows very often, but it&rsquo;s nice to have the option.  This is actually the reason I waited until Apple switched over to the Intel platform, so I would have the option to install Windows.  I&rsquo;ve played around with Vista for a few minutes now, this is the first time I&rsquo;ve really used it, and while I don&rsquo;t think it&rsquo;s as great as OS X, I do think it&rsquo;s more pleasing on the eyes than Windows XP.  It also seems to be running pretty responsively, which is good.  We&rsquo;ll see how it goes once I start doing development on it.]]></content:encoded></item><item><title>Goal Achieved</title><dc:creator>punkcoder@mac.com</dc:creator><category>Personal</category><dc:date>2008-10-18T13:08:52-04:00</dc:date><link>http://www.punkcoder.com/Blog/files/3c5fac243360dda0247df54570136460-79.html#unique-entry-id-79</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/3c5fac243360dda0247df54570136460-79.html#unique-entry-id-79</guid><content:encoded><![CDATA[When I purchased Wii Fit and did my first weigh in, I came in at 185 lbs.  Now, I&rsquo;m not some chunky guy, but a 5&rsquo;7&rdquo; guy weighing in at 185 lbs tends to have some signs of love handles.  I set my goal in Wii Fit to get down to 170 lbs.  I set a goal of 3 months, figuring 5 lbs a month may be achievable.  It&rsquo;s taken a little while longer than that, but I weighed in at 170 yesterday.  Now, my weight tends to head back up a couple pounds on the weekend, since this is when Paige and I head out to eat, but that&rsquo;s fine.  My next goal is to get down to 160 lbs.  Wii Fit says my ideal weight is 148 lbs, but that&rsquo;s just too skinny for me.  I used to weigh that much back when I was around 28, and when I look at old photos my face was very skinny.  I think 160 may be a good stopping point.  To achieve this goal I pretty much just try to watch what I eat.  I try to weigh in on the Wii Fit every day at the same time, and use it to work out when I have a chance.  ]]></content:encoded></item><item><title>Simplicity</title><dc:creator>punkcoder@mac.com</dc:creator><category>Personal</category><dc:date>2008-10-18T13:02:45-04:00</dc:date><link>http://www.punkcoder.com/Blog/files/8a6d6edadd1cfebfd531b238a8af6635-78.html#unique-entry-id-78</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/8a6d6edadd1cfebfd531b238a8af6635-78.html#unique-entry-id-78</guid><content:encoded><![CDATA[I came across this web site the other day that is very helpful and super simple to use.  It&rsquo;s simplicity at its finest.<br /><br />The site is called <a href="http://www.umbrellatoday.com/" rel="external" title="Umbrella Today">Umbrella Today</a>.  It asks you for your zip code and returns a YES or NO on whether or not you may need an umbrella today.  You can also sign up to have text messages sent to your phone to let you know when you may need an umbrella.]]></content:encoded></item><item><title>America&#x27;s Hidden History</title><dc:creator>punkcoder@mac.com</dc:creator><category>Personal</category><category>Books</category><dc:date>2008-10-13T22:07:14-04:00</dc:date><link>http://www.punkcoder.com/Blog/files/4461929074afca93cff653e6f4a0a5b8-77.html#unique-entry-id-77</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/4461929074afca93cff653e6f4a0a5b8-77.html#unique-entry-id-77</guid><content:encoded><![CDATA[While I mostly read fiction I try to fit in a non-fiction book or two when I can.  Lately these have dealt with American History.  When I was in high school and college I was always more interested in World History or Medieval History, I didn&rsquo;t develop an interest for American History until later.<br /><br />I just finished reading a pretty good book by Kenneth C. Davis, &ldquo;America&rsquo;s Hidden History&rdquo;.  This book deals with some of the unknown facts or back stories around the events and characters in a couple events from history, such as the Revolutionary War, or the Pilgrims.  I found it a very interesting read, and Mr. Davis does a good job of keeping you interested in the subject, which can be a hard thing to do when it comes to history.<br /><br /><img class="imageStyle" alt="26174365" src="http://www.punkcoder.com/Blog/files/26174365.JPG" width="185" height="280"/>]]></content:encoded></item><item><title>Back From Vacation</title><dc:creator>punkcoder@mac.com</dc:creator><category>Personal</category><dc:date>2008-10-12T12:59:38-04:00</dc:date><link>http://www.punkcoder.com/Blog/files/393195f2ae7a07430eda40c1e7fcbe7a-76.html#unique-entry-id-76</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/393195f2ae7a07430eda40c1e7fcbe7a-76.html#unique-entry-id-76</guid><content:encoded><![CDATA[Paige and I returned earlier this week from a nice southwest vacation.  We&rsquo;ve come to really enjoy traveling to the Southwest, and this trip did not disappoint.<br /><br />We started our journey in Phoenix, Arizona, which is where we flew into.  We took the rental car from there to Sedona, Arizona, for a stay at The Enchantment Resort.  This is the place we had stayed on an earlier visit.  This time we did a lot more exploring of ruins and trails.  We were there from Saturday to Tuesday.<br /><br />The next leg of our journey was The Grand Canyon.  It&rsquo;s a beautiful big hole in the ground.  We got there to experience the sunset, and took photos the next morning too, before heading off to our next destination: Monument Valley.<br /><br />Monument Valley, Utah, is amazing.  This was another one evening stay, with lots of exploring.  <br /><br />The next leg of our journey was Albuquerque, New Mexico.  We timed our trip perfectly to experience the first day of the International Balloon Fiesta!  We lucked out with the weather, although it did get too windy the first evening to experience the balloon glow.  The next day was too windy and rainy, so they canceled most all of the events.<br /><br />We finished our journey in our favorite spot, Santa Fe, New Mexico.  As always, it was a perfect experience.<br /><br />We both got a lot of photos using our new cameras.  It will take a while to go through all of them and get them up on Flickr, but I will post them when I get them up.]]></content:encoded></item><item><title>New Microsoft Ad is good...but&#x2c; it misses the point</title><dc:creator>punkcoder@mac.com</dc:creator><category>Microsoft</category><dc:date>2008-09-19T17:59:14-04:00</dc:date><link>http://www.punkcoder.com/Blog/files/c54b678aa762c2442d90d17555b4cf2d-75.html#unique-entry-id-75</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/c54b678aa762c2442d90d17555b4cf2d-75.html#unique-entry-id-75</guid><content:encoded><![CDATA[Microsoft released a new commercial last night.  It&rsquo;s part of their $300 Million dollar ad campaign to try and revamp their image after the Vista fiasco.  The first two advertisements in their new ad campaign were pretty awful.  It had Bill Gates and Jerry Seinfeld, and the ads really made no sense.  Some people joked that the ads were like the Seinfeld show, they were commercials about nothing.  Now, they did get people&rsquo;s attention, but not exactly in a good way.<br /><br />The new advertisement is better than the first two.  You can watch it on the <a href="http://www.microsoft.com/windows/" rel="external" title="New Microsoft Commercial">Microsoft site</a> if you haven&rsquo;t seen it yet.  The new commercial has a Microsoft employee that happens to look like the PC guy, from the &ldquo;I&rsquo;m a Mac, I&rsquo;m a PC&rdquo; Apple commercials.  He starts off by saying, &ldquo;I&rsquo;m a PC, and I&rsquo;ve been stereotyped&rdquo;, then it goes on to show a lot of people saying that they are a PC and that they do important things.  The thing that the marketing company, and a lot of other people in the forums talking about the commercial seem to miss, is in the Apple commercial, the two guys are supposed to represent computers.  That&rsquo;s why they say &ldquo;I&rsquo;m a PC&rdquo;, not, &ldquo;I&rsquo;m a PC user&rdquo;.  Apple is saying that PCs are boring, beige boxes that people hide under their desk, because they look bad, while Apple computers are great looking machines that people are proud to display.  It seems that a lot of people, including the marketing firm that did these commercials, seems to think that Apple was saying Mac users are young and hip while PC users are guys in suits; which isn&rsquo;t what the ads say.<br /><br />I did see a funny quote.  The tag line of the new Windows campaign is, &ldquo;Life without walls&rdquo;.  If you have no walls, you don&rsquo;t need Windows : )<br /><br />Another funny thing, apparently the ad talking about how great it is to be a PC, was created on a <a href="http://www.roughlydrafted.com/2008/09/19/microsofts-im-a-pc-ads-created-on-macs/" rel="external" title="PC commercial created on a Mac">Mac</a>.]]></content:encoded></item><item><title>Quick Mac Dev Tip - Enable Apache</title><dc:creator>punkcoder@mac.com</dc:creator><category>Apple</category><dc:date>2008-09-16T19:11:12-04:00</dc:date><link>http://www.punkcoder.com/Blog/files/f578f301da71a6d31bce060586f94f2a-73.html#unique-entry-id-73</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/f578f301da71a6d31bce060586f94f2a-73.html#unique-entry-id-73</guid><content:encoded><![CDATA[I have a couple co-workers that have recently joined the Mac community.  I figure I can pass along any development tips, programs I use, gotchas, and general tips that I&rsquo;ve come across along the way.<br /><br />My first tip is how to enable Apache Web Server on your Mac, so you can do some web development.<br /><br />The great thing about the Mac is Apple has actually included a lot of development tools by default or on the installation DVD.  Apache Web Server is already installed on your Mac, you just need to enable it, which is pretty simple.<br /><br />Start up the Mac System Preferences.  You can either do this by going to the Apple Menu and choosing System Preferences, or you can click on the System Preferences icon in your dock, if you have it there.<br /><br />Go to the Sharing section, under Internet & Network, and click the checkbox next to Web Sharing.  That&rsquo;s pretty much all there is to it.  If all went well, you can open your web browser and browse to <a href="http://localhost/" rel="external" title="localhost">http://localhost/</a>, you should see the Apache Web Server start page.  You even have your own personal web page located at http://localhost/~<em>username, </em>you can use iWeb to publish to this.<br /><br />The other thing you need to know is where the actual directory on your drive is that&rsquo;s mapped to <em>localhost</em>.  Double click on your hard drive and open the Library folder.  Navigate to the WebServer directory and then to the Documents directory, this is where the web site resides.<br /><br />To access your personal web page you go to /Users/<em>username</em>/Sites.<br /><br />One last thing you need to know, in case you are doing something like PHP development, or any other type of development that requires you to make a change to the Apache configuration file.  This file resides in /etc/httpd.  You need to be <em>root</em>  user to edit this file, the best way to do this is to open the Terminal and type the following<br /><br />cd /etc/httpd<br /><br />Since your Mac is based on Free BSD, a Unix system, you have all of the great Unix editors built in.  An easy one to use for editing the Apache config file is Pico, but you also have access to Vi and Emacs.  To start Pico as root to edit the config file type the following<br /><br />sudo pico httpd.conf<br /><br />Type in your root password and you are now able to make your needed changes.]]></content:encoded></item><item><title>Amazon MP3 Downloads</title><dc:creator>punkcoder@mac.com</dc:creator><category>Personal</category><category>Music</category><dc:date>2008-09-14T23:00:41-04:00</dc:date><link>http://www.punkcoder.com/Blog/files/48ff5a90524b3353f4ba6bd9cf49d802-72.html#unique-entry-id-72</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/48ff5a90524b3353f4ba6bd9cf49d802-72.html#unique-entry-id-72</guid><content:encoded><![CDATA[I&rsquo;ve read some reviews, have seen some mentions in forums, and have heard some people talk about it at work, so I finally got around to checking out MP3 downloads from Amazon.  Most of the time I purchase my music at <a href="http://www.downloadpunk.com/" rel="external" title="Download Punk">Downloadpunk</a>, but they don&rsquo;t have everything I&rsquo;m interested in.  I&rsquo;ve purchased a couple CD&rsquo;s from iTunes, usually using a iTunes gift card.  While their selection is great, and I pretty much just listen to my music either on my iPod or one of my Macs, the fact that a lot of their music has DRM on it does kind of suck.  The music isn&rsquo;t in MP3 format, instead it&rsquo;s in AAC, which is a wrapper around MP3 that allows Apple to place their digital rights restrictions on the music.  This usually limits your music to being played on certain computers, so you can&rsquo;t share it with anyone.  <br /><br />Amazon has a competing music store.  I don&rsquo;t know if it&rsquo;s as big as the iTunes store, but their selling point is that there is no DRM and also the price is usually a little cheaper.  iTunes does carry some music with no DRM, but you actually have to pay more to have the privilege of getting the non-DRM music.<br /><br />There&rsquo;s a group I listen to, a psychobilly group, called HorrorPops.  They&rsquo;re a great group and I have their first two CDs, &lsquo;Bring it On&rsquo; and &lsquo;Hell Yeah&rsquo;, and I saw they have a third CD called &lsquo;Kiss Kiss Kill Kill&rsquo;.  This CD is available on iTunes for $9.99, but not in a non-DRM version.  I checked out Amazon and they have the same CD in MP3 format for $8.99.  I decided to purchase it from them.  You have to download a small program, which is a downloader application.  When you purchase the music you download a .amz file, this file is used by the downloaded to download your purchase.  The cool part is once you finish with the download, it imports the music into your iTunes application.  It&rsquo;s now ready to be listened to and synced up with your iPod.<br /><br />I was pretty happy with my first purchase.  The download was very quick using the download application, and all of the music sounds great.  It&rsquo;s at 256 kb for the bit rate, which is very nice.  I plan on making future purchases I don&rsquo;t find on Downloadpunk on the Amazon site.]]></content:encoded></item><item><title>Lego Indiana Jones: The Original Adventures</title><dc:creator>punkcoder@mac.com</dc:creator><category>Personal</category><category>Video Games</category><dc:date>2008-09-13T18:06:25-04:00</dc:date><link>http://www.punkcoder.com/Blog/files/c58138f25671a63199c8294e6d92442e-71.html#unique-entry-id-71</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/c58138f25671a63199c8294e6d92442e-71.html#unique-entry-id-71</guid><content:encoded><![CDATA[I purchased a new game a couple weeks ago called &ldquo;Lego Indiana Jones: The Original Adventures&rdquo;, and I&rsquo;ve been having a blast playing it.<br /><br /><img class="imageStyle" alt="230248b" src="http://www.punkcoder.com/Blog/files/230248b.jpg" width="156" height="219"/><br /><br />If you&rsquo;ve never played one of the Lego video games, you don&rsquo;t know what you&rsquo;re missing.  If you think Lego games are only for kids, you are completely wrong.  These games can be pretty tough.  There&rsquo;s a Lego Star Wars game and also a Lego Batman game; they all operate pretty much the same.  You first play through each level in Story Mode.  In this mode you follow the story line of the movie.  This game has all three stories in it: Raiders of the Lost Ark, The Temple of Doom and The Last Crusade.  You play as Indiana Jones and you&rsquo;ll also usually have one or two other characters on the screen too, which you can switch to when you need to use one of their talents (women characters can jump higher, short characters can climb through holes, etc).  The game follows the story lines pretty closely, adding little puzzles along the way.  Once you finish a level you can go back through the level in Free Play mode.  In this mode you will have access to additional characters that you unlock along the way, and they can allow you to access parts of the level you couldn&rsquo;t in Story Mode, so you can find additional secrets and treasure.<br /><br />I have finished the game in Story Mode.  It&rsquo;s not tough to finish if you are persistent.  You can&rsquo;t die in this game, you just lose some of the treasure you&rsquo;ve accumulated along the way each time your life force goes to zero.  You use the treasure to purchase additional characters and abilities, so it is best not to get killed too often.  Once I finished the game in Story Mode, I was only through with 67% of the game, so now I am going through in Free Play mode, trying to find all of the secrets for each level.<br /><br />I definitely recommend this game to anyone who likes a game with puzzles to solve and also is a fan of Indiana Jones.  There&rsquo;s a lot of humorous stuff thrown in, including cameos from various Star Wars characters, which are actually Easter Eggs that you are supposed to find to get 100%.]]></content:encoded></item><item><title>Mac Development with Objective-C</title><dc:creator>punkcoder@mac.com</dc:creator><category>Objective-C</category><category>Apple</category><dc:date>2008-09-08T21:48:32-04:00</dc:date><link>http://www.punkcoder.com/Blog/files/534d67da3cf126b063ed9fe3708a92f8-70.html#unique-entry-id-70</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/534d67da3cf126b063ed9fe3708a92f8-70.html#unique-entry-id-70</guid><content:encoded><![CDATA[With the recent release of the iPhone SDK I know a couple developers who have purchased a Mac and are thinking of doing some iPhone/Mac software development.  Now, most of these developers are from a purely Microsoft development background, from the early days of Win32 and COM development, perhaps some VBScript, and now .NET development.  They don&rsquo;t have a background in a low level language, such as C.  Objective-C has been around since the 80&rsquo;s, it&rsquo;s basically a very thin OO layer on top of C.  If you know C you should have no problem learning Objective-C.  I learned C back when I was going to university for my Engineering degree.  I think it&rsquo;s a good thing to learn a low level language such as C or Assembler, as it helps you later on when you are learning a lot of the higher level languages, such as Java or C#.  I myself have been playing around with Objective-C, mainly for writing a couple little programs I use on my Mac, but I would like to try an iPhone App if I could think of one to develop.<br /><br />Here are a couple good resources I&rsquo;ve found for helping learn Objective-C.<br /><br />The first place to start would be the <a href="http://developer.apple.com/" rel="external" title="ADC">Apple Developer Connection</a>.  It has good tutorials on Objective-C, Cocoa development, iPhone development, and using XCode, the Apple IDE.<br /><br />There are a couple blogs I follow which are pretty good: <a href="http://www.cimgf.com/" rel="external" title="CIMGF">Cocoa Is My Girlfriend</a>, <a href="http://macdevelopertips.com/" rel="external" title="Mac Developer Tips">Mac Developer Tips</a>, and <a href="http://iphonedevelopertips.com/" rel="external" title="iPhone Developer Tips">iPhone Developer Tips</a>.<br /><br />There are also a couple books I recommend.  These books mainly pertain to XCode, but you learn Mac development at the same time.  Both of these books have taught me a lot.<br /><br /><a href="http://search.barnesandnoble.com/Cocoa-Programming-for-Mac-OS-X/Aaron-Hillegass/e/9780321503619/?itm=1" rel="external" title="Cocoa Programming For Mac OS X">Cocoa Programming For Mac Os X (Third Edition): Aaron Hillegass</a>.  Make sure you get the third edition, as this one is geared toward XCode 3, which is the newest release.  I have the second edition also, and while you can probably follow along, the changes between XCode 2 and XCode 3 are pretty big, so you will have trouble following along with the code samples.<br /><br /><img class="imageStyle" alt="26778177" src="http://www.punkcoder.com/Blog/files/26778177.JPG" width="128" height="170"/><br /><br /><a href="http://search.barnesandnoble.com/Xcode-3-Unleashed/Fritz-Anderson/e/9780321552631/?itm=1" rel="external" title="XCode 3 Unleashed">XCode 3 Unleashed</a>.  The great thing about this book is it walks you through developing an application from start to finish using XCode and the other tools provided by Apple for UI design, unit testing, and performance testing.<br /><br /><img class="imageStyle" alt="28187225" src="http://www.punkcoder.com/Blog/files/28187225.JPG" width="185" height="241"/><br /><br />I will agree with a co worker of mine that the barrier of entry for a developer on the Mac platform is a bit higher than that of a developer on the Windows platform, but in a way I think that works to the Macs advantage.  You don&rsquo;t have every point-and-click coder out there creating crap applications for the Mac, a Mac developer has to be a bit more knowledgeable.]]></content:encoded></item><item><title>Run VM From External Drive</title><dc:creator>punkcoder@mac.com</dc:creator><category>Personal</category><category>Apple</category><dc:date>2008-09-08T21:03:39-04:00</dc:date><link>http://www.punkcoder.com/Blog/files/97e3033b3b7471e19e87597f665a5e08-69.html#unique-entry-id-69</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/97e3033b3b7471e19e87597f665a5e08-69.html#unique-entry-id-69</guid><content:encoded><![CDATA[If you install the software I spoke of in an earlier post: &ldquo;Read/Write to NTFS on external drive with Mac&rdquo;, you will be able to run a virtual machine from your external drive.  You need to have write access to the NTFS drive to run the VM.  You may think that running a virtual machine from an external drive would have bad performance, but it&rsquo;s actually just as responsive as if the files were on your machine.  The only times I&rsquo;ve seen operations take an extended amount of time is when you perform a Suspend, or when you take a snapshot of the machine.  The great part about running the VM from the external drive is it lets you keep the space on your laptop/desktop.  My MacBook has a 60 GB HD, and my average virtual machine is weighing in at 30 GB, which is a huge chunk of space to give up.]]></content:encoded></item><item><title>Read/Write to NTFS on external drive with Mac</title><dc:creator>punkcoder@mac.com</dc:creator><category>Apple</category><dc:date>2008-09-04T22:59:31-04:00</dc:date><link>http://www.punkcoder.com/Blog/files/6eb437c5fa81afca6134a154c252effb-68.html#unique-entry-id-68</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/6eb437c5fa81afca6134a154c252effb-68.html#unique-entry-id-68</guid><content:encoded><![CDATA[If you work with both a Windows machine and a Mac, and you want to hook up a portable drive to both, you will need to format the drive in a format that both Windows and Mac can read.  Since FAT 32 really sucks, your best bet is formatting the drive using NTFS.  A Mac can read an NTFS partition, but can&rsquo;t write to it.  You may also run into issues trying to read from an external/portable drive that&rsquo;s formatted in NTFS.  <br /><br />I ran into this today when I used VMWare Converter to convert my work computer into a virtual machine.  The resulting VMWare image was around 20GB, not exactly the size file our network folks would like me trying to copy across the network.  The easiest way to move such large files is to copy the files to a portable drive.  I formatted my portable drive in NTFS and copied the files onto it.  When I hooked the external drive to my MacBook I received a read error.  To fix this I did the following.<br /><br />Install <a href="http://code.google.com/p/macfuse/" rel="external" title="MacFUSE">MacFUSE</a>.  This allows your Mac to use any FUSE (File System in Userspace).  Once you download the disc image and install the package, you should download and install the <a href="http://macntfs-3g.blogspot.com/" rel="external" title="NTFS-3g">NTFS-3g</a> FUSE.  You will need to reboot after the install, (something I haven&rsquo;t had to do since my Windows days); but after the reboot you should hopefully now encounter no more issues.]]></content:encoded></item><item><title>The Well of Lost Plots</title><dc:creator>punkcoder@mac.com</dc:creator><category>Personal</category><category>Books</category><dc:date>2008-09-01T14:42:41-04:00</dc:date><link>http://www.punkcoder.com/Blog/files/cb37acf32cb6ce58182607245a07f861-67.html#unique-entry-id-67</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/cb37acf32cb6ce58182607245a07f861-67.html#unique-entry-id-67</guid><content:encoded><![CDATA[I recently finished the third book in the Thursday Next series by Jasper Fforde, &ldquo;The Well of Lost Plots&rdquo;.<br /><br /><img class="imageStyle" alt="13865572" src="http://www.punkcoder.com/Blog/files/13865572.JPG" width="184" height="280"/><br /><br />Jasper Fforde has to be one of the most imaginative writers I&rsquo;ve ever had the pleasure of reading.  Like I said, this is the third book in the Thursday Next series, the first two being <em>The Eyre Affaire </em>and <em>Lost in a Good Book</em>.  Thursday Next is the main character in the series, she is a SpecOps agent working for The Literary Detectives.  Her teams job is to police the book world, looking for fraud, changed story lines, missing characters, etc.  In their world the literary detectives can jump in and out of books, and the same can happen the other way, fictional characters leaving their books and entering the real world.  The stories are great, full of humor and great characters.  I&rsquo;ve already started reading the next in the series, <em>Something Rotten</em>, will probably have it finished sometime this week or next.  If you enjoy a good, humorous, fictional story I recommend the series, as well as Jasper Fforde&rsquo;s other series dealing with Nursery Crime.]]></content:encoded></item><item><title>Extension Methods</title><dc:creator>punkcoder@mac.com</dc:creator><category>.NET</category><dc:date>2008-08-25T22:43:01-04:00</dc:date><link>http://www.punkcoder.com/Blog/files/565a34d05c5dc34bfd6ddf7f924a0a99-66.html#unique-entry-id-66</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/565a34d05c5dc34bfd6ddf7f924a0a99-66.html#unique-entry-id-66</guid><content:encoded><![CDATA[Since we are using Silverlight on this new project I am working on, we are doing our development in .NET 3.5.  One of the new features in .NET 3.5 is Extension Methods.  When I first saw this I figured it was a nice feature, but I didn&rsquo;t know when I would use it.  Today I wrote a couple.  I figure there&rsquo;s probably a couple reasons you would create an Extension Method: (a) You see you are performing the same coding routine in multiple places, and it would be nice if you could replace it with less code, and (b) there&rsquo;s a method you always wished was on one of the built in .NET types -- something like String.ToUpperCase() or something along those lines.  The Extension Methods I wrote today fell into the first category.  We have a lot of places in our code where we check if an object is null before progressing.<br /><code><br />if (contract == null)<br />&nbsp;&nbsp;&nbsp;&nbsp;return;<br /></code><br />I wrote a simple IsNull Extension Method that can be applied to any object as long as a reference to my Extension Method namespace is in the using directives.<br /><code><br />public static bool IsNull(this object source)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;return source == null;<br />}<br /></code><br />It&rsquo;s very simple, and only saves a little typing, but it looks nicer to have the following<br /><code><br />if (contract.IsNull())<br />&nbsp;&nbsp;&nbsp;&nbsp;return;<br /></code><br />We also tend to have a lot of code that checks if a List is not null and also isn&rsquo;t empty<br /><code><br />if (titleIds == null || titleIds.Count == 0)<br />&nbsp;&nbsp;&nbsp;&nbsp;return; <br /></code><br />For this I created an IsNullOrEmpty Extension Method<br /><code><br />public static bool IsNullOrEmpty&lt;T&gt;(this List&lt;T&gt; source)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;return ((source == null) || (source.Count == 0));<br />}<br /></code><br />This way you can write the code as<br /><code><br />if (titleIds.IsNullOrEmpty())<br />&nbsp;&nbsp;&nbsp;&nbsp;return;<br /></code><br />These are the only Extension Methods I&rsquo;ve written so far, but I can think of another one that would be useful and would fall into the second category of why you would write Extension Methods.  Let&rsquo;s say the Generic List of Integer TitleIds I had in the previous example had a couple duplicates, it would be nice to be able to say<br /><code><br />titleIds.RemoveDuplicates();<br /></code><br />]]></content:encoded></item><item><title>STP</title><dc:creator>punkcoder@mac.com</dc:creator><category>Personal</category><category>Music</category><dc:date>2008-08-24T13:08:30-04:00</dc:date><link>http://www.punkcoder.com/Blog/files/76427939c543fe0d11ec4cf4f1aaa95f-65.html#unique-entry-id-65</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/76427939c543fe0d11ec4cf4f1aaa95f-65.html#unique-entry-id-65</guid><content:encoded><![CDATA[Paige and I went to the STP (Stone Temple Pilots) concert last night at Verizon Wireless Amphitheatre in Alpharetta, GA.  <br /><br />Our night started off interesting.  We decided to drop by P. F. Chang&rsquo;s to eat some appetizers and have a couple drinks before heading to the concert.  We generally don&rsquo;t eat at chain restaurants, aside from the occasional visit to Ted&rsquo;s Montana Grill for a bison burger; but there&rsquo;s not much choice in Alpharetta when it comes to restaurants except for chains.  When we arrived at P. F. Chang&rsquo;s, we saw there was a long wait, so we headed up to the bar area.  Unfortunately we could only find one seat at the bar, so Paige sat down while we ordered drinks.  The manager walked by and started talking with us, saying it was kind of crowded due to people dropping by before the STP concert, we told him we were heading there and wanted to grab something to eat before going.  He said the wait was around an hour, but he would see what he could do.  Maybe 15 minutes later he comes back and directs us over to a table.  Then he proceeds to provide us with a card for a free appetizer on our next visit, and also said one of our appetizers with our meal would be on the house.  Paige and I just looked at each other wondering what we did to deserve this.  We felt bad that we were only eating appetizers, not exactly spending a lot of money, but I did end up giving the server a 100% tip, and we plan on writing in to P. F. Chang&rsquo;s to let them know how great we were treated.<br /><br />We arrived at the amphitheatre in time to see one of the opening acts, Black Leather Motorcycle Club.  We got our double Jack and Coke and headed down to the pit area, where we ended up running into some friends.  Once that act was over I headed back and got us two more drinks and got back in time for STP to start.  I saw STP a long time ago, probably 94 - 95, when they opened for Butthole Surfers.  I think that concert was a little better than this one, they just had more energy.  Paige and I both thought that Scott Weiland performed the STP songs better when we saw the Velvet Revolver tour earlier in the year.  This show wasn&rsquo;t bad, it just didn&rsquo;t have any stand out performances.  It was great to see STP again, they do have great music, and hopefully Scott will hang around long enough to record another album.]]></content:encoded></item><item><title>Styx/Boston</title><dc:creator>punkcoder@mac.com</dc:creator><category>Personal</category><category>Music</category><dc:date>2008-08-18T20:33:52-04:00</dc:date><link>http://www.punkcoder.com/Blog/files/6eed6fb8b6607d8cba1872fae30de0f6-64.html#unique-entry-id-64</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/6eed6fb8b6607d8cba1872fae30de0f6-64.html#unique-entry-id-64</guid><content:encoded><![CDATA[Paige and I went to the Styx/Boston concert last night in Alpharetta, GA, at the Verizon Wireless Amphitheatre.  Styx was the opening band, we came in after a couple songs, but caught a lot of their good songs, so that was fine.  Boston played for probably an hour and a half, and it was pretty rockin.  They are both great bands to see live. you should see them if you get a chance, even if they don&rsquo;t have all the original members.]]></content:encoded></item><item><title>Visual Studio Error: &#x22;Some of the properties associated with the solution could not be read.&#x22;</title><dc:creator>punkcoder@mac.com</dc:creator><category>.NET</category><dc:date>2008-08-18T20:28:32-04:00</dc:date><link>http://www.punkcoder.com/Blog/files/25cbefca738933b27e6b67165dcc72a9-63.html#unique-entry-id-63</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/25cbefca738933b27e6b67165dcc72a9-63.html#unique-entry-id-63</guid><content:encoded><![CDATA[Something happened when I created the Visual Studio .NET 2008 Solution for my Executive View project and checked it into Team System.  After it was checked in, I, and the other developer, would receive the following error when opening the solution: &ldquo;Some of the properties associated with the solution could not be read.&rdquo;<br /><br />It took a little digging, but once I looked at the solution file in Notepad++, I saw that there was a duplicate GlobalSection(TeamFoundationVersionControl) = preSolution section.  It&rsquo;s the section that contains all of the parameters prefixed with Scc*.  If you delete the duplicate selection it will fix the error.]]></content:encoded></item><item><title>Starting New Project At Work</title><dc:creator>punkcoder@mac.com</dc:creator><category>Personal</category><category>.NET</category><dc:date>2008-08-17T15:13:04-04:00</dc:date><link>http://www.punkcoder.com/Blog/files/81b589fa020abfd511a06a75114d3f58-62.html#unique-entry-id-62</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/81b589fa020abfd511a06a75114d3f58-62.html#unique-entry-id-62</guid><content:encoded><![CDATA[A few months back I was involved in developing a prototype of an Executive View application, using WPF technology.  I wasn&rsquo;t the biggest fan of the project, mainly due to us using Tangerine, a pre-developed application from Infragistics.  While it did help us get the prototype out the door in a timely fashion, I didn&rsquo;t want us to go the route of just building on top of that application.  Luckily we didn&rsquo;t go that route.  It was decided we could use Tangerine as a reference application, which is what I was pulling for from the beginning.<br /><br />This week will mark the first iteration of The Executive View development.  We are doing it in .NET 3.5, with a Silverlight front end.  It will be a nice diversion from the project I was working on, which will be nice.  I&rsquo;m not the biggest fan of Silverlight development, mainly because here I am trying to get out of Microsoft development all together, and I&rsquo;m going to be learning a totally new development environment.  At the same time I guess it is pretty cool to be developing using the newest, cutting-edge technology.  We&rsquo;ll see how it goes.]]></content:encoded></item><item><title>Vacation Planning</title><dc:creator>punkcoder@mac.com</dc:creator><category>Personal</category><dc:date>2008-08-17T15:02:58-04:00</dc:date><link>http://www.punkcoder.com/Blog/files/982ce6dd7b5b8f9ff06779faa1b187d6-61.html#unique-entry-id-61</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/982ce6dd7b5b8f9ff06779faa1b187d6-61.html#unique-entry-id-61</guid><content:encoded><![CDATA[Paige and I spent the evening planning our next vacation, which we will be taking the end of September, and beginning of October.  We are going on another trip to the South West, this time adding in a couple stops we haven&rsquo;t done before.<br /><br />We plan on starting off at The Enchantment Resort in Sedona, Arizona.  This is the resort we stayed at on our previous trip.  It&rsquo;s a beautiful place to stay, so we are happy to be staying there again.  We plan on doing a bit more exploring this time, and also would like to head out on a photography jeep tour, getting to use our new cameras (although we both plan on bringing our old point-and-shoot cameras too, can never be too careful).<br /><br />We will be heading to The Grand Canyon once we are done in Sedona.  We plan on staying 1 day there.<br /><br />We will head to Monument Valley, Utah, after that.  This will be another 1 day visit.<br /><br />We will spend a couple days in Albuquerque, New Mexico, after that.  We are coinciding our trip with the 2008 Hot Air Baloon Fiesta, which should be really cool, and a great photo experience.<br /><br />We will end our trip with a couple day stay in our favorite place, Santa Fe, New Mexico.<br /><br />This vacation will be a little different than our others, due to the fact that we are traveling around and doing so much, but it should hopefully be lots of fun.]]></content:encoded></item><item><title>Lonely Werewolf Girl</title><dc:creator>punkcoder@mac.com</dc:creator><category>Personal</category><category>Books</category><dc:date>2008-08-03T14:13:50-04:00</dc:date><link>http://www.punkcoder.com/Blog/files/567bf9e49045e9b7e524a81c4d30ddb2-60.html#unique-entry-id-60</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/567bf9e49045e9b7e524a81c4d30ddb2-60.html#unique-entry-id-60</guid><content:encoded><![CDATA[Most of the time I research a book before I purchase it if it&rsquo;s from an author I am unfamiliar with, but a while back as I was perusing the shelves at Barnes & Noble I came across a book that caught my eye: &ldquo;Lonely Werewolf Girl&rdquo;, by Martin Millar.<br /><br /><img class="imageStyle" alt="25910892" src="http://www.punkcoder.com/Blog/files/page2_blog_entry60_1.jpg" width="185" height="279"/><br /><br />The beautiful illustration on the front caught my eye, so I took a closer look.  I am a fan of stories that deal with Werewolves or Vampires, plus this book appeared to have a bit of humor thrown in too; so I went ahead and purchased it.<br /><br />When I started reading it there was one thing I found weird, the length of the chapters.  Now, this story takes place in Scotland and in London, and jumps around between 5 or 6 different story lines, so I understand having new chapters for each story line, but most of the chapters averaged 1 - 2 pages, with the longest chapter being probably 5 - 6 pages.  The book is 558 pages and comes in at 236 chapters.  Usually when I read a book I try to read a chapter or two an evening, with this that would have taken a couple minutes.<br /><br />The story revolves around a werewolf clan whose leader had just passed away.  Two brother werewolves from the clan want to try for the Thaneship, but the voting by the council doesn&rsquo;t favor either brother to victory.  There are a couple werewolves in the clan that weren&rsquo;t present for the voting, having moved off to London to start their own lives.  The story revolves around these other family members, the two brothers battling, killing, and doing anything else they can to get the vote to go their way, a fire elemental queen that is obsessed with fashion, her crazy niece, and a couple college students caught in the middle.  Throw in a guild of humans that hunt werewolves, and you have a pretty good story.  Kalix, the youngest werewolf, is the main character this story revolves around, but most characters get equal treatment.<br /><br />I&rsquo;m glad I picked up this book, and will look out for other books by this author, it&rsquo;s a great read.]]></content:encoded></item><item><title>Ugh...letter from the I.R.S.</title><dc:creator>punkcoder@mac.com</dc:creator><category>Personal</category><dc:date>2008-07-30T21:41:58-04:00</dc:date><link>http://www.punkcoder.com/Blog/files/edb6cd6d6ea7b8c7b0fb40bae28caa1d-59.html#unique-entry-id-59</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/edb6cd6d6ea7b8c7b0fb40bae28caa1d-59.html#unique-entry-id-59</guid><content:encoded><![CDATA[I had a nice big letter from the I.R.S. in the mail today.  I was guessing it wasn&rsquo;t my stimulus check, since I knew I made too much money to receive one of those.  At first I thought, &ldquo;Oh, No!  I&rsquo;m being audited!&rdquo;.  Well, it wasn&rsquo;t that bad, but, still, I don&rsquo;t know if you ever get a letter from the I.R.S. that&rsquo;s good.  This one says I owed them some money.  See, I forgot that last year I received money from my Aunt&rsquo;s estate, not some gigantic inheritance, but still, it was money that should be considered income.  I totally forgot about that, had filed it away, and I never put it in my tax return.  Now I receive the letter saying I owe them $1,500.  I guess this is when it&rsquo;s handy that I had started an &ldquo;emergency fund&rdquo;, unfortunately it currently has $1,200 in it, started the fund not too long ago; so, while it will help cover this unexpected expense, it puts me back at square one.]]></content:encoded></item><item><title>Remote Desktop on the Mac</title><dc:creator>punkcoder@mac.com</dc:creator><category>Apple</category><category>Software</category><dc:date>2008-07-22T09:01:56-04:00</dc:date><link>http://www.punkcoder.com/Blog/files/feb2649249cdadbcea8fdfa62d3a8477-58.html#unique-entry-id-58</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/feb2649249cdadbcea8fdfa62d3a8477-58.html#unique-entry-id-58</guid><content:encoded><![CDATA[I ran into some issues this past week using VMWare Fusion, it wasn&rsquo;t issues with VMWare, it was an issue with our companies security software and an expired certificate I couldn&rsquo;t get to install due to a script never running when I logged on using VMWare.  To resolve this issue I have stopped using VMWare for the time being and have decided to remote into my work machine.  Microsoft makes a version of their <a href="http://www.microsoft.com/mac/products/remote-desktop/default.mspx" rel="external" title="Mac RDC">remote desktop client</a> for the Mac, so I decided to give that a try.  The lag on the connection was awful.  I would be typing and the letters were always a step behind.  This is tolerable for a quick task, but not to sit there all day coding.  I decided to check out other options and came upon a free tool called <a href="http://cord.sourceforge.net/" rel="external" title="CoRD">CoRD</a>, which works great.  Connecting to my work machine is fast, and even though there is the occasional lag, it was nothing near what I was experiencing on Microsoft RDC.  I spent all day yesterday coding with no issue.  I highly recommend CoRD for anyone needing to remote into a Windows machine.]]></content:encoded></item><item><title>New Camera</title><dc:creator>punkcoder@mac.com</dc:creator><category>Personal</category><dc:date>2008-07-20T21:36:42-04:00</dc:date><link>http://www.punkcoder.com/Blog/files/bd770a0c8f2f99b7f95c154e4e791618-57.html#unique-entry-id-57</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/bd770a0c8f2f99b7f95c154e4e791618-57.html#unique-entry-id-57</guid><content:encoded><![CDATA[A few months back Paige purchased a new camera, a <a href="http://www.nikonusa.com/Find-Your-Nikon/ProductDetail.page?pid=25412" rel="external" title="Nikon D80">Nikon D80</a>.  This is a Digital SLR.  It&rsquo;s a very nice camera.  After a month of using it she decided she would have actually liked to have gotten the next step up, the <a href="http://www.nikonusa.com/Find-Your-Nikon/Product/Digital-SLR/25432/D300.html" rel="external" title="Nikon D300">Nikon D300</a>.  I&rsquo;ve been wanting to get myself a DLSR one of these days, since I enjoy taking photos so much, and would like to have more control over my shots than a point-and-shoot camera can provide.  I told her I would gladly purchase her camera from her, since I saw how nice it is, and how nice the shots are that it produces.  She got her new D300, which she took to Asheville and St. Augustine; and I purchased her D80.  I haven&rsquo;t used it yet, since all I bought from her is the camera body, had to purchase lenses separately.  The lenses should arrive this week.  I got a basic lens, which is good for portraits or any other type of shot where you don&rsquo;t need to zoom.  I also got a basic tele-photo lens for zooming in on subjects.  I purchased <a href="http://store.apple.com/us/product/MB284Z/A?fnode=home/shop_mac/software/apple&mco=NzY3NjQ3#overview" rel="external" title="Aperture 2">Aperture</a>, a software program for the Mac, similar to Adobe Lightroom, which is what Paige uses.  It&rsquo;s made for dealing with RAW images, which is the format DSLRs produce.  I&rsquo;ll need to learn the ins-and-outs of the camera, but it should be fun.  I&rsquo;ll be posting my photos I take on my site.]]></content:encoded></item><item><title>Guitar Hero: Aerosmith</title><dc:creator>punkcoder@mac.com</dc:creator><category>Video Games</category><dc:date>2008-07-20T21:33:18-04:00</dc:date><link>http://www.punkcoder.com/Blog/files/861c01164134bf6426e954e18a0ce4de-56.html#unique-entry-id-56</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/861c01164134bf6426e954e18a0ce4de-56.html#unique-entry-id-56</guid><content:encoded><![CDATA[After playing Guitar Hero III for a while I found that I was growing tired of playing the same music all the time, so I decided to go purchase <a href="http://www.guitarhero.com/ghaerosmith/us/#/buynow/" rel="external" title="Guitar Hero Aerosmith">Guitar Hero Aerosmith</a>.  For those of you that don&rsquo;t know, this edition of Guitar Hero revolves around Aerosmith, guiding you through phases of their life.  You play a lot of their songs, but you also get to play songs from bands that they enjoy: The Clash, The Cult, Lenny Kravitz, Stone Temple Pilots, etc.  It has a lot of old Aerosmith songs, which is cool since those are the ones I enjoy most.  It&rsquo;s nothing groundbreaking, pretty much the same as Guitar Hero III, and you may not enjoy it much if you aren&rsquo;t a fan of Aerosmith; but, if you are a fan and you&rsquo;d like some new songs to play along to, it&rsquo;s definitely a good purchase.]]></content:encoded></item><item><title>Couple quick vacations</title><dc:creator>punkcoder@mac.com</dc:creator><category>Personal</category><dc:date>2008-07-14T22:30:59-04:00</dc:date><link>http://www.punkcoder.com/Blog/files/6af5696632b420eb55af12a7685e67ba-55.html#unique-entry-id-55</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/6af5696632b420eb55af12a7685e67ba-55.html#unique-entry-id-55</guid><content:encoded><![CDATA[Paige and I took a couple quick vacations the past two weekends, we both needed some time away from work and Atlanta.  <br /><br />Our first vacation was spending July 4th weekend in Asheville, North Carolina.  We headed up Friday morning, it&rsquo;s not too bad a drive, around 3 1/2 hours.  We stayed at the Renaissance hotel, which is located within walking distance of the town, which is nice.  We spent the first day exploring the town and ended the night watching the fireworks display, which was a nice show.    We woke the next morning, planning on heading to Biltmore House, which is 10 minutes away; unfortunately my car wouldn&rsquo;t cooperate.  It wouldn&rsquo;t start.  The battery was dead.  I figured I must have left a light on over night, causing the battery to drain.  I called roadside assistance, and they sent a tow truck to jump the car.  The tow truck driver was the spitting image of Larry the Cable Guy, from the look to the accent.  Once he jumped my car we decided to take a trip on the Blue Ridge Mountain Parkway.  There weren&rsquo;t many scenic views, but we made a couple stops, and saw a wild turkey, which was cool.  When we got back to the hotel I turned off the car, and just for kicks decided to try and start it again, to see if all the traveling had charged up the battery.  The car was dead again.  We were both happy I never turned the car off while we stopped for the scenic views, we would have been stuck up in the mountains.  We spent the evening walking around the town, it was very nice.  The next morning I had my car jumped again, and we headed out to Auto Zone to get a new battery.  Once that was done we headed over to Biltmore House.  It was definitely the highlight of the trip.  It&rsquo;s a beautiful house, and the gardens are great too.  We finished the day by stopping off at the winery, taking a tour of it, and attending a wine tasting.  We both thought the wine wasn&rsquo;t going to be all that great, but it ended up being surprisingly good.  We sat down and had a cheese plate and some more wine before heading home.  Our overall thoughts of the trip?  We don&rsquo;t think we will go to Asheville again.  It&rsquo;s not that great a town.  We were expecting something more along the lines of Santa Fe, which is more of an artist community, there weren&rsquo;t many galleries in Asheville.  Also, there are a lot of dirty hippies there, which isn&rsquo;t the nicest thing to see everywhere.  We did enjoy Biltmore, and would gladly visit and stay there, but not Asheville.<br /><br />This past weekend was a two part trip, and it wasn&rsquo;t just Paige and I.  We left Thursday morning for St. Augustine, Florida.  Neither of us had been there, and we have both heard good things about the place.  It is about a 5 1/2 hour drive from Atlanta.  We met Paige&rsquo;s Mom when we got there, she flew down from Pennsylvania.  We stayed at The Hilton, which is very nice.  Much like Santa Fe, where no building can be larger than the church steeple, St. Augustine does not allow any buildings to be larger than two stories.  So, instead of your usual high rise hotel, the Hilton is spread out amongst 19 buildings, looking like a small village.  The rooms are very nice, and it&rsquo;s right across the street from the water, and in the heart of everything.  We were there from Thursday to Saturday, and never had to use a car.  St. Augustine is beautiful, about our only complaint is it was hot and very muggy, but that&rsquo;s not the city&rsquo;s fault, it&rsquo;s ours for heading down to Florida in July : )  It was great to see Paige&rsquo;s Mom again, she&rsquo;s a very nice woman.  We left Thursday to head over to Lake Panasoffkee, which is where Paige&rsquo;s grandfather lives.  We were visitng him for his 90th birthday.  We met up with Paige&rsquo;s sister there, and I also got a chance to meet other family members.  We were there for the day, leaving the next day back to Atlanta.  It was a great trip, maybe not the most relaxing vacation, but we still had a great time.<br />]]></content:encoded></item><item><title>Finally released to Production</title><dc:creator>punkcoder@mac.com</dc:creator><category>Personal</category><dc:date>2008-07-04T00:08:06-04:00</dc:date><link>http://www.punkcoder.com/Blog/files/9d3f55f3bc5343d54ed3aa1e11568a1f-54.html#unique-entry-id-54</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/9d3f55f3bc5343d54ed3aa1e11568a1f-54.html#unique-entry-id-54</guid><content:encoded><![CDATA[After a little more than a year of development, or at least I think it&rsquo;s been that long; not exactly sure when this project started...our application was released to production today.  I think as a team, and as an organization, we have learned a lot about the agile development process, and see where we made our mistakes, and see where we can improve as time goes on.  Our future iterations should be a lot smoother from this day forward.]]></content:encoded></item><item><title>Microsoft Validation Application Block</title><dc:creator>punkcoder@mac.com</dc:creator><category>.NET</category><category>Microsoft</category><category>Software</category><dc:date>2008-06-27T16:40:32-04:00</dc:date><link>http://www.punkcoder.com/Blog/files/ce3117f592eab6eb8e369f375c908e77-53.html#unique-entry-id-53</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/ce3117f592eab6eb8e369f375c908e77-53.html#unique-entry-id-53</guid><content:encoded><![CDATA[I first used one of the Microsoft Application Blocks a few years ago, and needless to say, I wasn&rsquo;t all that impressed.  We tried to use the caching application block.  It was more a pain than it was worth.  Because of this I was a little reluctant to use any of the application blocks again, but after seeing a quick presentation on the Validation Application Block from a co-worker, I decided to give it a shot.  The application blocks have come a long way.  The code is a lot cleaner now, and it feels like the overall design is better.  I guess it&rsquo;s like a lot of Microsoft applications; version 1 sucks, but it slowly gets better with each subsequent version.]]></content:encoded></item><item><title>Fluid</title><dc:creator>punkcoder@mac.com</dc:creator><category>Apple</category><category>Software</category><dc:date>2008-06-27T16:17:01-04:00</dc:date><link>http://www.punkcoder.com/Blog/files/ad6443b5498bda512d4d42476a7dcc4a-52.html#unique-entry-id-52</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/ad6443b5498bda512d4d42476a7dcc4a-52.html#unique-entry-id-52</guid><content:encoded><![CDATA[Do you have a favorite website and often wish that, while you enjoy it as a web site, it would be cool if there was a way to have it as a desktop application; that way you can just double-click the icon to start the application, and there it would be.  Instead, you have to start up your web browser and navigate to the page.  I have a couple web sites I feel that way about, one of them being Google Reader.<br /><br />I enjoy using Google Reader as my RSS Feed aggregator, but I tend to use NetNewsWire on the Mac.  The reason being, I like that I can leave the application open and it will let me know when new news feeds are available.  Like Mail on the Mac, it will show you the number of new messages over the icon in the dock.  If I didn&rsquo;t use NetNewsWire, I would have to occasionally navigate to the Google Reader site to check for new items.<br /><br />Well, now you have a way, if you have a Mac.  There&rsquo;s this great free application called &lsquo;Fluid&rsquo;.  What Fluid does is it lets you set up a web site as an application.  It&rsquo;s known as a site specific browser.  You can read more about it and download it from <a href="http://fluidapp.com/" rel="external" title="Fluid.app">here</a>.  Once you download the small 3 MB file, unzip it and copy the application to your Applications directory.  When you launch Fluid you are presented with the following screen:<br /><br /><img class="imageStyle" alt="Fluid" src="http://www.punkcoder.com/Blog/files/page2_blog_entry52_1.png" width="511" height="281"/><br /><br />All you have to do is type in the URL, give the application a Name, and choose if you want to use the Favicon of the site, or a custom icon.  You can find custom icons in the Flickr icon pool located <a href="http://www.flickr.com/groups/fluid_icons/" rel="external" title="Flickr Fluid icon pool">here</a>.  Once that is filled out just click Create and it will create the application for you.  <br /><br />I created one for Google Reader, using a Google Reader icon from the above mentioned Flickr pool.  The great thing about it is it actually shows the number of unread items I have in the Dock, as you can see here.<br /><br /><img class="imageStyle" alt="Dock" src="http://www.punkcoder.com/Blog/files/page2_blog_entry52_2.png" width="246" height="92"/><br /><br />So, now I have the best of both worlds.  I have a web application I can use as a desktop application.]]></content:encoded></item><item><title>Lars and the Real Girl</title><dc:creator>punkcoder@mac.com</dc:creator><category>Movies</category><dc:date>2008-06-22T23:06:21-04:00</dc:date><link>http://www.punkcoder.com/Blog/files/dc1290d8fd09406c058cdeac1aa12516-51.html#unique-entry-id-51</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/dc1290d8fd09406c058cdeac1aa12516-51.html#unique-entry-id-51</guid><content:encoded><![CDATA[Paige and I rented a great little movie Friday night named &ldquo;Lars and the Real Girl&rsquo;.  By the way, I am really enjoying the fact that you can rent movies from within Apple TV now.  It is so convienent.  Paige and I sit down on my couch, we watch a couple trailers to figure out what movie we are interested in, then I rent it.  After about 5 - 10 seconds enough is buffered from the download that we can start watching the movie.  We&rsquo;ve rented about 5 movies so far, and every one has worked without a hitch.<br /><br />&lsquo;Lars and the Real Girl&rsquo;, revolves around the main character, Lars, his brother, Gus, and his brother&rsquo;s wife, Karin.   Lars is an extremely shy man.  He lives in the garage of the house that he and his brother inherited after the passing of their father.  Their mother died giving birth to Lars.  Lars purchases a sex doll online and introduces it to Gus and Karin and his new girlfriend, Bianca.  Gus and Karin make an appointment for Bianca to see the doctor, which of course is a way to get Lars to the doctor.  The doctor notes that Lars doesn&rsquo;t have any physical problems, and doesn&rsquo;t seem to be a threat to anyone, so this must be a delusion, which is a sign that he is working through some sort or personal issues, and everyone should play along.  The entire town plays along, inviting them to parties, church, giving Bianca a job, etc.  <br /><br />Paige and I both enjoyed the movie very much.  It looked like more of a comedy in the trailer than it actually was, but that was ok, because the story and acting were great.  I recommend it.]]></content:encoded></item><item><title>Fun at the Zoo</title><dc:creator>punkcoder@mac.com</dc:creator><category>Personal</category><dc:date>2008-06-15T23:07:27-04:00</dc:date><link>http://www.punkcoder.com/Blog/files/3bc7e001d44c4cdcfcde94a927c9d03e-50.html#unique-entry-id-50</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/3bc7e001d44c4cdcfcde94a927c9d03e-50.html#unique-entry-id-50</guid><content:encoded><![CDATA[Paige&rsquo;s work had a company function at Atlanta Zoo yesterday.  I haven&rsquo;t been to the Atlanta Zoo since I was very young, according to my mother, and from what I am told the zoo really sucked back in the day compared to now.<br /><br />We had a great time.  Paige recently purchased a Nikon D80 Digital SLR, and got to try it out yesterday.  We got about 3/4 of the way through the zoo, a couple hundred photos, when she looked at some of the photos she had taken, and noticed she had the camera set on the wrong setting, causing the photos to be blue.  Also, she wasn&rsquo;t shooting in RAW format, which is one of the reasons for shooting with an SLR, you have a format that has all the information about the shot so you can work with the photo later in a tool like Aperature or Lightroom.  We went through the zoo a second time (all in all we were there around 5 hours) so she could retake photos.  I didn&rsquo;t mind.  Aside from it being very humid, it wasn&rsquo;t overly crowded, and the kids that were there were very well behaved.  We had a great time.]]></content:encoded></item><item><title>Faster &#x2a;crack whip&#x2a; Faster</title><dc:creator>punkcoder@mac.com</dc:creator><category>Personal</category><dc:date>2008-06-15T22:53:12-04:00</dc:date><link>http://www.punkcoder.com/Blog/files/4116ede0576ed1a5e65cea4bde0434a1-49.html#unique-entry-id-49</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/4116ede0576ed1a5e65cea4bde0434a1-49.html#unique-entry-id-49</guid><content:encoded><![CDATA[The DRM project I am working on at work has been going on now for about a year.  We should have a usable product in production, but we found that after all this time in development, the application is quite unusable.  I don&rsquo;t think there&rsquo;s any one thing or person to blame for this, but if I can think of anything we could have done differently, I&rsquo;d point to us spending too much time working on polishing the application up to look all pretty for the customer, while neglecting the actual day-to-day use.  <br /><br />We got a pretty good talking too, and management went into crisis mode.  Here they are selling the application to all the users, everyone wants it, but if the user were to sit down with it they would find it was very slow.  The architecture and design we chose for our application just wasn&rsquo;t suited for the amount of data that it would handle.  We were told we had 3 - 4 weeks to get it working.  We tossed around a couple ideas, and finally came up with spreading the saving of data out over time, instead of trying to save it all at once.  It was a huge change, we would basically be redesigning a large portion of the back-end; but as of Friday, 3 weeks into the crisis mode development, all was working well.  We have a couple things to take care of this week and next, but overall, the big work is done.<br /><br />Hopefully management learns a lesson from this, and we can concentrate on getting the core functionality of the application working, instead of worrying about the window themeing and animated cursors, and pretty icons.]]></content:encoded></item><item><title>Tech support</title><dc:creator>punkcoder@mac.com</dc:creator><category>Personal</category><dc:date>2008-06-15T22:51:21-04:00</dc:date><link>http://www.punkcoder.com/Blog/files/aa1e2f53d25b1534c8808923a9495464-48.html#unique-entry-id-48</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/aa1e2f53d25b1534c8808923a9495464-48.html#unique-entry-id-48</guid><content:encoded><![CDATA[My mother called me this evening wanting the one thing I dread: &ldquo;Long Distance Tech Support&rdquo;.  Being the member of the family that knows a lot about computers, I am used to providing some form of tech support a couple times a year, but I hate doing it when it&rsquo;s hardware support, and that piece of hardware is not right there in front of me.<br /><br />Apparently there was a pretty bad storm last night in Columbus, and the power flickered on and off a couple times.  Even though my mother&rsquo;s computer is hooked up to a surge protector, this afternoon, when she tried to turn it on, nothing happened.  All of the other computer peripherals: the monitor and printer, worked perfectly.  But not the computer.  So she gives me a call.  She&rsquo;s hoping there&rsquo;s some kind of fuse or reset switch on the back of the computer, but I tell her I don&rsquo;t think there is, and without being able to get my hands on the computer, I don&rsquo;t really think I can be of too much help.  I tell her maybe the power supply got fried, and she may need to take it somewhere to have it looked at and possibly get that piece replaced.<br /><br />After I got off the phone with her, I went over to the Acer support site.  I find that her one year warranty expired June 12.  Isn&rsquo;t that the way it always is : )  I look through there knowledge base and come to an entry about the machine not powering up.  I give my Mom a call back and tell her to try one of the steps they mention.  She should unplug the power cord from the back of the machine.  Next she should hold down the power button for 30 seconds.  After that she should plug the machine back in and try to power on the machine.  I told her that sounded weird, but possibly that&rsquo;s a built in way to reset the machine after a tripped breaker.  She gave it a try and it worked.  She sounded so happy.  My mother doesn&rsquo;t use her computer much, it&rsquo;s powered off more than it&rsquo;s powered on.  She checks e-mail every other day or so, and if she&rsquo;s bored she may hop on and play some solitaire, free-cell, or go to one of her puzzle web sites.  I&rsquo;m glad this tech support call had a happy ending without any money needing to be spent.]]></content:encoded></item><item><title>The Life and Times of the Thunderbolt Kid</title><dc:creator>punkcoder@mac.com</dc:creator><category>Books</category><dc:date>2008-06-03T21:31:05-04:00</dc:date><link>http://www.punkcoder.com/Blog/files/e5f1aac8898b45eb6da1813a83b0ac2b-47.html#unique-entry-id-47</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/e5f1aac8898b45eb6da1813a83b0ac2b-47.html#unique-entry-id-47</guid><content:encoded><![CDATA[I just finished reading another book.  This time of year, when the TV season that has a couple shows I am interested in and have subscriptions to, has drawn to a close, I tend to read even more than usual.  I try to get in a couple hours of reading a day, it helps me relax before bed.<br /><br />The book I just finished is 'The Life and Times of the Thunderbolt Kid', by Bill Bryson.  I read an earlier book by the same author, 'A Short History of Nearly Everything', which I loved.  <br /><br />This book is a memoir of Bill's early life, growing up in the middle of last century in a town in Iowa.  There are few writers that can make me laugh out loud when I read (Christopher Moore and Jasper Fforde come to mind), but Bill Bryson has written a hilarious story here.<br /><br />While reading the story I couldn't help but think back to when I was younger.  I don't remember too much from when I was really young, just bits and pieces, but I do remember some of the good times I had back then.  <br /><br />I should start ranking books.  I'll give this one a 5 out of 5.  Pick it up, it's a great read.]]></content:encoded></item><item><title>Mac software deal sites</title><dc:creator>punkcoder@mac.com</dc:creator><category>Apple</category><category>Software</category><dc:date>2008-05-29T21:58:19-04:00</dc:date><link>http://www.punkcoder.com/Blog/files/2fd5b5d0799b45543dd65ad8ea68735a-46.html#unique-entry-id-46</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/2fd5b5d0799b45543dd65ad8ea68735a-46.html#unique-entry-id-46</guid><content:encoded><![CDATA[I've found a couple sites that have daily specials on software for the Mac.  I've found that a lot of 3rd party software for the Mac is actually pretty good software, compared to a lot of the software I've tried for the Windows platform.  A lot of the stuff is actually worth buying.<br /><br /><a href="http://www.maczot.com/" rel="external" title="MacZOT">MacZot</a><br /><br /><a href="http://www.mupromo.com/" rel="external" title="Mac Update Promo">MuPromo</a>]]></content:encoded></item><item><title>Mistress of the Art of Death</title><dc:creator>punkcoder@mac.com</dc:creator><category>Books</category><dc:date>2008-05-26T22:51:36-04:00</dc:date><link>http://www.punkcoder.com/Blog/files/d9abe3df78a63d8cf3db9c2bca2370fa-45.html#unique-entry-id-45</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/d9abe3df78a63d8cf3db9c2bca2370fa-45.html#unique-entry-id-45</guid><content:encoded><![CDATA[I just finished another book, Mistress of the Art of Death, by Ariana Franklin.  It's a mystery novel that takes place in the 12th century.  I like to mix up my reading, some humor, some drama, some action, fiction, non-fiction, you name it.  It's been a while since I've read a who-dunnit mystery, and this was a very good one.  <br /><br />The premise for the book is: four children have been murdered in Cambridge, England.  The town, a very Christian town, blames the Jews; mainly because one of the children, the first to be killed, was crucified.  The Jews of the town are locked away, and the King sends for help.  The main character of the story is Adelia, she is a doctor from Italy, whose specialty is being a coroner.  Now, back in the 12th century women weren't known for being doctors, if you were a woman that could heal someone, you were obviously a witch (that's one thing I do enjoy about reading this book, since it deals so much with what I consider the stupidity that is organized religion), so she has a male traveler along with her, whom they pretend is the doctor.  There is also another male, Simon of Naples.  He is the detective of the group.<br /><br />The story is beautifully written, and is very interesting.  I recommend it for anyone who is into a good mystery novel.  ]]></content:encoded></item><item><title>Wii Fit</title><dc:creator>punkcoder@mac.com</dc:creator><category>Video Games</category><dc:date>2008-05-23T15:53:49-04:00</dc:date><link>http://www.punkcoder.com/Blog/files/9f6c599343217b98c5f283e7d8a06b72-44.html#unique-entry-id-44</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/9f6c599343217b98c5f283e7d8a06b72-44.html#unique-entry-id-44</guid><content:encoded><![CDATA[Back when I placed a pre-order for Mario Kart Wii, I also went ahead and placed an order for Wii Fit.  Wii Fit has received good reviews, and has done well in Japan and Europe, so I figured there was no harm in ordering a copy.  It arrived yesterday, and I gave it a try last night.<br /><br />When you first start Wii Fit you choose your Mii, and you enter basic information, like Height and Age.  Once you do that it tells you your current weight, your BMI and also it shows where you are on the chart of fitness.  I am currently listed as overweight.  All that is above me is obese, which I will hopefully never reach in my lifetime.  I am 5'9", 36 years old, and 181 lbs.  I would like to get down to around 170 or so.  While I have been eating better, that alone won't get me there.  It has helped me get down from 189, which is what I was the beginning of the year.  Now I need to combine it with exercise.  <br /><br />Once all that information was entered I set up a goal.  I said I'd like to lose 1.5 pounds every two weeks.  I figured that was a good start.  Once that was done I gave the game a go.<br /><br />You can choose from four categories: yoga, strength training, aerobics and balance games.  I started off with aerobics.  The first thing I did was hula-hoop.  While I admit it does feel weird to stand on the wii fitness board and shake your hips about simulating using a hula-hoop, it was a good little 3 minute workout.  Next I tried the step aerobics.  I really enjoyed this one.  After that was running.  For this one you don't use the fitness board, instead you place the wii remote in your pocket and you run in place.  Now that was a workout, and also kind of hard, because I kept running toward the TV : )<br /><br />I gave a couple of the balance games a tryout too.  The skiing and ski jump are a lot of fun, as was the heading of soccer balls.<br /><br />While I have only given it a day so far, I do find it enjoyable, and should give me a way to get some exercise each evening.]]></content:encoded></item><item><title>Parker turns 1</title><dc:creator>punkcoder@mac.com</dc:creator><category>Personal</category><dc:date>2008-05-19T20:48:59-04:00</dc:date><link>http://www.punkcoder.com/Blog/files/e32e75dcb7b2f9f537e9852aea576b8a-43.html#unique-entry-id-43</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/e32e75dcb7b2f9f537e9852aea576b8a-43.html#unique-entry-id-43</guid><content:encoded><![CDATA[My nephew, Parker, celebrated his 1st birthday over the weekend.  I went down to Columbus to attend the party.  He is such a great kid, very well behaved.  My Grandmother and Aunt were in town too, so I got to hang out with them also.  All in all it was a great weekend.<br /><br />Here's Parker in all his Auburn clothing and facial decals; that's my mother holding him.<br /><br /><img class="imageStyle" alt="2506566171_19745aac7d" src="http://www.punkcoder.com/Blog/files/page2_blog_entry43_1.jpg" width="500" height="375"/>]]></content:encoded></item><item><title>New Mac</title><dc:creator>punkcoder@mac.com</dc:creator><category>Apple</category><dc:date>2008-05-16T17:59:55-04:00</dc:date><link>http://www.punkcoder.com/Blog/files/14400fadbda158244014b5953aa3d515-42.html#unique-entry-id-42</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/14400fadbda158244014b5953aa3d515-42.html#unique-entry-id-42</guid><content:encoded><![CDATA[Once I got myself out of debt I started an envelope system.  If I find something I would like to purchase, I start setting aside money for it, and once I have the money if I still want it, I purchase it.  This way I don't just throw it on my credit card and get into debt again.<br /><br />I've started using my MacBook exclusively at work, and I love it.  To handle the couple virtual machines I run, I needed to delete all the applications on my Mac to make room, so I figured I would get myself another Mac for home.  At first I was looking at the iMacs, but I already have a keyboard, mouse and a 20" cinema display, so I figured I would pick up a Mac Mini.  These computers are amazing.  They are so small.  The entire time I've owned my MacBook I've always felt it was fast and powerful enough for all I do, so I felt the Mac Mini was perfect.  It's a core 2 duo with 2 GB RAM.  That will handle all I use it for.  I haven't loaded all my applications on it so far, but it's been running like a champ for past week and a half I've had it.  I'm very happy with my purchase, and even happier that I used my system to purchase it without getting back into debt.]]></content:encoded></item><item><title>Nothing But the Best</title><dc:creator>punkcoder@mac.com</dc:creator><category>Music</category><dc:date>2008-05-16T17:55:03-04:00</dc:date><link>http://www.punkcoder.com/Blog/files/df14cb023206935a7ae233d19db0c880-41.html#unique-entry-id-41</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/df14cb023206935a7ae233d19db0c880-41.html#unique-entry-id-41</guid><content:encoded><![CDATA[This may be hard to believe, coming from a person that loves punk music as much as I do, but, if you were to look at my iPod, you would see a Swing/Easy Listening genre, and under that you would see the 50 or so CDs I have amassed of Frank Sinatra.  Yes, I admit it, I am a fan of Ol' Blue Eyes.  I've been a fan of not only his music, but also his movies, for a long time.  <br /><br />A new greatest hits CD was released last week, and I went ahead and got it.  Sure, I have all of these songs, and the list of songs almost matches the list from My Way: The Best of Frank Sinatra, but I still wanted to add it to my collection.  The sound quality of these songs is a lot better than some of the other versions I have, guess it's the way they remastered it.<br /><br />If you are a fan of Frank Sinatra, this CD does contain just about all the songs I would count as his best.]]></content:encoded></item><item><title>Lone Ranger and Tonto Fistfight in Heaven</title><dc:creator>punkcoder@mac.com</dc:creator><category>Personal</category><category>Books</category><dc:date>2008-04-30T22:21:43-04:00</dc:date><link>http://www.punkcoder.com/Blog/files/1738c1dab0ebdfaeb7971b095a9b1d7b-40.html#unique-entry-id-40</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/1738c1dab0ebdfaeb7971b095a9b1d7b-40.html#unique-entry-id-40</guid><content:encoded><![CDATA[I just finished reading another book: Lone Ranger and Tonto Fistfight in Heaven, by Sherman Alexie.  This book is a collection of short stories about life in and around the Spokane Indian Reservation.<br /><br /><img class="imageStyle" alt="13795580" src="http://www.punkcoder.com/Blog/files/page2_blog_entry40_1.jpg" width="128" height="192"/><br /><br />There are 22 stories in all, and each one is a pleasure to read.  They were the basis for the award-winning movie Smoke Signals.  <br /><br />I am also reading a book called Material World: A Global Family Portrait<br /><br /><img class="imageStyle" alt="25367855" src="http://www.punkcoder.com/Blog/files/page2_blog_entry40_2.jpg" width="128" height="170"/><br /><br />This book is like an earlier book I read, Hungry Planet.  In Hungry Planet, a husband wife team stayed with families and learned about the way they eat, taking photos of all the food they buy in a week.  This book is pretty much the same thing, except that instead of food it deals with the families possessions.  It's interesting seeing what the average family around the world owns.  I find this book most interesting because since I have moved into this house I am renting I have slowly been getting rid of anything I no longer use.  It's interesting the amount of junk we have.  I donate a lot to Goodwill, but I still have a lot I can go through and get rid of.<br /><br />]]></content:encoded></item><item><title>Mario Kart Wii</title><dc:creator>punkcoder@mac.com</dc:creator><category>Video Games</category><dc:date>2008-04-30T22:17:35-04:00</dc:date><link>http://www.punkcoder.com/Blog/files/a9da120f86d4a248f88e1034acc66c3a-39.html#unique-entry-id-39</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/a9da120f86d4a248f88e1034acc66c3a-39.html#unique-entry-id-39</guid><content:encoded><![CDATA[I ordered Mario Kart Wii a while back, two copies in fact, one for myself and one for Paige.  Having played Mario Kart on the Super Nintendo and also playing it on the Nintendo DS, I knew it would be a good game.  It arrived yesterday and has lived up to my expectations.  Mario Kart Wii comes with a steering wheel controller.  It's not a big steering wheel, a little bigger than the Wiimote.  It took a few minutes to get used to, but definitely adds to the playability of the game.  There are 32 race courses in all, 16 new and 16 classic.  This weekend I will give it a try playing against Paige.  She got a new 58" plasma Hi-Def TV, should look really nice on it.  You can race against friends online, will need to try that out too with some of my co-workers.]]></content:encoded></item><item><title>Moved to a new building</title><dc:creator>punkcoder@mac.com</dc:creator><category>Personal</category><dc:date>2008-04-21T09:38:48-04:00</dc:date><link>http://www.punkcoder.com/Blog/files/1e4fcd7f0ab5b754b3a5b2c0cb0cdf97-38.html#unique-entry-id-38</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/1e4fcd7f0ab5b754b3a5b2c0cb0cdf97-38.html#unique-entry-id-38</guid><content:encoded><![CDATA[Turner Broadcasting, in Atlanta, is split amongst a couple places.  They have a main campus, which is very nice, and they have a floor in a building in midtown.  For the past 4 years I have been working at the nice campus, but that all changed, and now the department I work for is in the building in midtown.  When you've worked at a nice private campus, it really sucks to have to move to a building shared by other businesses.  We also went from having a personal parking deck, to having a couple parking decks spread out over a couple block radius.  One good thing that came from the move is I have started taking public transportation to work.  I should have done this a long time ago.  Driving in Atlanta sucks, I live 12 miles from work, and if I don't time it correctly, it can take up to an hour to get to work or back home.  I live within 2 miles of a MARTA station, and it drops me off within 2 blocks of work, so I will start saving money on transportation and also not put so many miles on my car.]]></content:encoded></item><item><title>Handling Sin - Michael Malone</title><dc:creator>punkcoder@mac.com</dc:creator><category>Books</category><category>Personal</category><dc:date>2008-04-20T22:13:55-04:00</dc:date><link>http://www.punkcoder.com/Blog/files/a48e8f1c031f949e1bf2a139705f9b18-37.html#unique-entry-id-37</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/a48e8f1c031f949e1bf2a139705f9b18-37.html#unique-entry-id-37</guid><content:encoded><![CDATA[I just finished reading a great book called "Handling Sin", by Michael Malone.<br /><br /><img class="imageStyle" alt="14542003" src="http://www.punkcoder.com/Blog/files/page2_blog_entry37_1.jpg" width="125" height="193"/> <br /><br />The book starts off with the main character, Raleigh, finding out his father checked himself out of the hospital, bought a new Cadillac, and was last seen withdrawing a lot of money and driving away with a teenage black girl in his car.  Later Raleigh receives a call from his father saying he would like Raleigh to come meet him down in New Orleans, they live in North Carolina, but he needs to do a couple things before coming.  The bulk of the book revolves around those things he has to do.  Michael Malone is a great writer; his characters are great, and he is very funny.  This is a long book, over 600 pages, so it took me a while to read, but there was never a dull part in the whole story.  I definitely recommend it.]]></content:encoded></item><item><title>Fixing Error 51 issue with Cisco VPN</title><dc:creator>punkcoder@mac.com</dc:creator><category>Personal</category><dc:date>2008-04-11T19:07:33-04:00</dc:date><link>http://www.punkcoder.com/Blog/files/3c94dd4c50d82f65c53fad53d0dbb00d-36.html#unique-entry-id-36</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/3c94dd4c50d82f65c53fad53d0dbb00d-36.html#unique-entry-id-36</guid><content:encoded><![CDATA[If you start Cisco VPN on a Mac and receive an Error 51 Unable to Communicate With VPN Subsystem error, you need to restart the VPN subsystem.  Open a terminal and type the following<br /><br />sudo /System/Library/StartupItems/CiscoVPN/CiscoVPN restart<br /><br />That should fix the issue.]]></content:encoded></item><item><title>Two new games for the Wii - Pinball Hall of Fame and House of the Dead 2 &#x26; 3</title><dc:creator>punkcoder@mac.com</dc:creator><category>Video Games</category><dc:date>2008-04-11T18:55:08-04:00</dc:date><link>http://www.punkcoder.com/Blog/files/3aeb2866e5618a07048f3fb1d43c92eb-35.html#unique-entry-id-35</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/3aeb2866e5618a07048f3fb1d43c92eb-35.html#unique-entry-id-35</guid><content:encoded><![CDATA[I finished Tomb Raider Anniversary Edition.  It was as fun this time as the first time I played it through, but a bit easier this time since I had finished it before.  I decided my next game would be the kind of game I could sit down and play occasionally, all in one sitting, instead of the kind of game that takes a while to play.<br /><br />I ended up getting two new games.  First is House of the Dead 2 & 3.  This game uses the Wii Zapper, and plays exactly like the game in the arcade.  It's a rails shooter, like Resident Evil: The Umbrella Chronicles, but you don't save anywhere to play from later.  I liked playing it in the arcade and enjoy it just as much on the Wii.<br /><br />The second game I got was Pinball Hall of Fame, and I have to say that this is my new favorite game on the Wii.  I love pinball, played it all the time when I was younger.  Pinball Hall of Fame has 10 classic pinball machines, including two of my favorites: Funhouse and Black Knight.  The games look and play just like the real thing, with all the sounds and physics.  I played for a couple hours the night I got home and opened it.  If you are a fan of pinball, this is definitely a game to get, and it's a bargain at $19.99.]]></content:encoded></item><item><title>Perfect work at home setup - a Mac&#x2c; VPN&#x2c; VMWare Fusion</title><dc:creator>punkcoder@mac.com</dc:creator><category>Personal</category><category>Apple</category><dc:date>2008-04-11T18:42:42-04:00</dc:date><link>http://www.punkcoder.com/Blog/files/7057515e1ad385d1303069f369dd0152-34.html#unique-entry-id-34</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/7057515e1ad385d1303069f369dd0152-34.html#unique-entry-id-34</guid><content:encoded><![CDATA[Occasionally I work from home.  I used to bring home my work laptop and VPN into work off of it, but we got new machines, and I opted for a desktop.  I just like having a desktop for development.  It's more powerful, and is cheaper to upgrade.<br /><br />Since I got a desktop I started working from home a different way.  I installed the Cisco VPN software on my Mac, and I also installed Microsoft Remote Desktop Connection.  This way I could remote into my machine at work and just work off that machine.  There would be an occasional flicker of the screen while it's refreshing, but all-in-all it worked well.<br /><br />Since I occasionally have to work in Visual Studio .NET 2005, and other times in Visual Studio .NET 2008, I decided to just have those environments running as virtual machines.  That way when we go to VS.NET 2008 full time, I won't need to perform an uninstall, I can just delete that virtual machine and start using the VS.NET 2008 virtual machine exclusively.  It also helps in the future if my machine gets borked, I can just revert to an earlier snapshot of the VM.<br /><br />Since I am running off a virtual machine I've found it difficult to work from home using my previous technique.  Remoting into a machine, then running a VM on that machine is pretty painful in the lag that occurs.<br /><br />I decided a better option would be to just get VMWare Fusion for the Mac, and load the virtual machine directly onto my Mac and run it from here.  Since I am VPN'd into the company network the VM connects to the domain with no problem (except I have to remember to have my machine at work off the network or I will get an error because of the duplicate machine names on the network).  I ordered a copy and just tried it out and it works great.  I will try to work some this weekend on the WPF project, and if all goes well, I may just start bringing my Mac to work and working off of it.  My goal is to only use Windows for development and Outlook, all other stuff I can just do from my Mac.]]></content:encoded></item><item><title>WPF - Thoughts on first week of use</title><dc:creator>punkcoder@mac.com</dc:creator><category>Microsoft</category><category>.NET</category><dc:date>2008-04-09T21:54:42-04:00</dc:date><link>http://www.punkcoder.com/Blog/files/1906355eaa1617f201659981ec09b8a0-33.html#unique-entry-id-33</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/1906355eaa1617f201659981ec09b8a0-33.html#unique-entry-id-33</guid><content:encoded><![CDATA[I've been doing development on our prototype application since the beginning of this week and thought I would give my thoughts I what I think of WPF.<br /><br />Pros:<br /><br />It's pretty easy to do things using WPF compared to doing the similar thing in traditional .NET WinForms development.  Now, I don't know if this is a case of WPF being a great framework, or WinForms being a bad one; but I'll still consider this a Pro.<br /><br />Cons:<br /><br />The tools.  Even though WPF has been out a while, the tools used for development still aren't up to snuff.  I perform a majority of my XAML development using Expression Blend March 2008 CTP, and all of the C# coding using Visual Studio .NET 2008.  In a way this sucks, because, even though Expression Blend is made for doing WPF development, there's no intellisense to be found.  Also, it doesn't integrate with a source control system, like Team System, which we use.  So I will modify a XAML file and go to save it, then find it's read-only and needs to be checked out.  VSTS doesn't have a stand-alone client, I have to fire up Visual Studio to check out the file.<br /><br />The prototype we are developing is modeled on Infragistics Tangerine example application.  This sucks because we're shoe-horning our code into all this existing code.  I actually scrapped all the code on the window I am modifying, and also scrapped using their overly complicated XamDataGrid for the built in and easily customizable WPF ListView.  Hopefully once we get through with this prototype next week and they show it to the steering committee, and the buy off on it, we can scrap the whole Tangerine application and begin fresh.  It's hard to learn a new technology when all you're doing is adding code to an existing application.<br /><br />Overall I like WPF.  I'm not exactly enjoying doing the current development we're doing with it, but it is a nice change of pace.]]></content:encoded></item><item><title>Got a new phone - joined the 21st century</title><dc:creator>punkcoder@mac.com</dc:creator><category>Personal</category><dc:date>2008-03-29T10:36:09-04:00</dc:date><link>http://www.punkcoder.com/Blog/files/8f22a0d05bd7a4a77588ecf58cd7c770-32.html#unique-entry-id-32</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/8f22a0d05bd7a4a77588ecf58cd7c770-32.html#unique-entry-id-32</guid><content:encoded><![CDATA[So, you would think a computer geek like myself would have had some sort of decent phone, maybe a smart phone of some sort, or even better, an iPhone, since I am a big fan of Apple.  But, that wasn't the case.  My phone was a basic, run-of-the-mill, phone.  No camera, no keyboard, no fancy operating system, a very basic WAP web browser; it was pitiful.  I'm not a big gadget geek, so I never needed much more than I had.  The biggest thing I would like to have is a keyboard, because I text message on my phone more than I talk.  It's a pain typing messages with a phone keypad.<br /><br />That all changed earlier this week.  I used to be on Sprint.  I never had a problem with their service, and their coverage was always good.  I've heard bad things about their customer service, but I never once had to speak to their customer service over the 6 years I've been a customer.  The biggest problem with Sprint is their selection of phones; it really sucks.<br /><br />Paige has an iPhone, and I think it's a great phone.  The design of it, the touch screen interface, it all rocks.  I'm just not a fan of AT&T, so I didn't want to switch over to them.  I ended up going with Verizon wireless.  I've heard good things, plus we get a nice 22% discount on service through Time Warner.  Along with switching over to Verizon I upgraded to a nicer phone.  I got the LG Voyager VX10000.<br /><br /><img class="imageStyle" alt="VOYAGER_Closed_ge_lr_M_m" src="http://www.punkcoder.com/Blog/files/page2_blog_entry32_1.jpg" width="180" height="250"/><img class="imageStyle" alt="VOYAGER_Hero_R_1_ge_lr_M" src="http://www.punkcoder.com/Blog/files/page2_blog_entry32_2.jpg" width="180" height="250"/><br /><br />As you can see, it has a touchscreen and it opens to reveal a full QWERTY keyboard.  That right there is enough for me, but it also has a couple other features that are nice<br /><br /><ul class="disc"><li>2 Mega-Pixel Camera/Camcorder</li><li>Full web browser</li><li>Stereo Sound with VCast support for Music, Movies, TVShows and Games</li><li>Navigator - Built in GPS with turn-by-turn directions</li><li>Not a Microsoft Operating System</li></ul><br />I've been super busy at work, so I haven't had a chance to sit down and really get a feel for the phone yet.  I loaded in my contacts, made a few phone calls, and sent a couple text messages, that's about it.<br /><br />My phone bill went up around $35 a month to have all these luxuries, but that's not too bad.]]></content:encoded></item><item><title>WPF</title><dc:creator>punkcoder@mac.com</dc:creator><category>Microsoft</category><category>.NET</category><dc:date>2008-03-21T18:23:36-04:00</dc:date><link>http://www.punkcoder.com/Blog/files/13d0fcd1fa5a09e7dbcbe960a28d731d-31.html#unique-entry-id-31</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/13d0fcd1fa5a09e7dbcbe960a28d731d-31.html#unique-entry-id-31</guid><content:encoded><![CDATA[One of the upcoming features of the application we are working on is called the online experience.  We want to provide the higher ups, the directors and managers, with an easy, intuitive look into what's going on at the moment and in the future, in our company.  One thing my managers are fans of, which I'm happy about, is eye candy.  I don't mean having lots of bling for no reason.  But, from working on a Mac, you come to like the eye candy that makes the operating system and it's applications a pleasure to use.  I suggested we look into using WPF (Windows Presentation Foundation).  I've been pretty impressed with some of the demo applications I've seen, and hopefully we have waited long enough since it's introduction that a lot of the bugs have been ironed out.  One thing I really like is this gives us a chance to have a business application that doesn't necessarily have to follow the usual boring business application look-and-feel.  It does get boring sometimes working on an application that's just filled with grids displaying information, will be a welcome change to introduce something new.]]></content:encoded></item><item><title>WCF: Underlying connection closed</title><dc:creator>punkcoder@mac.com</dc:creator><category>.NET</category><dc:date>2008-03-19T21:58:43-04:00</dc:date><link>http://www.punkcoder.com/Blog/files/acd0825c7e6f05958e3ea66670fc305c-30.html#unique-entry-id-30</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/acd0825c7e6f05958e3ea66670fc305c-30.html#unique-entry-id-30</guid><content:encoded><![CDATA[If you use WCF you may encounter an error with the following text: 'The underlying connection was closed: The connection was closed unexpectedly.'  This has to rank up there as one of the most useless error messages you may receive as a developer.  It's sort of a catch-all error message.  We encountered it twice today, and the only thing in common between our two issues is it was looking like a serialization issue.<br /><br />I spent about 4 hours or so trying to figure out why one of my classes was having trouble serializing.  It finally came down to one of the fields being of type System.Type.  Apparently you can't serialize a type of System.Type, because it's an abstract class that inherits from an internal System.RuntimeType class.  Now, wouldn't that be a good error message, 'Unable to serialize type: System.Type', instead of the message above that gave no indication as to what was wrong?<br /><br />The second instance of a team member receiving this error was their serialized object containing more items than is specified in the maxItemsInObjectGraph.  Again, wouldn't it be nice to receive an error message, 'Unable to serialize: number of items exceed maxItemsInObjectGraph.'?<br /><br />If you receive this catch-all error, you should look into anything which can cause a serialization issue.]]></content:encoded></item><item><title>Happy Days...Paid off Credit Card Debt</title><dc:creator>punkcoder@mac.com</dc:creator><category>Personal</category><dc:date>2008-03-07T17:28:13-05:00</dc:date><link>http://www.punkcoder.com/Blog/files/3277f292f83926daefc679f4e38dc26e-29.html#unique-entry-id-29</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/3277f292f83926daefc679f4e38dc26e-29.html#unique-entry-id-29</guid><content:encoded><![CDATA[If you don't count my car loan, which I tend not to, once todays payment on my credit card balance clears, I am debt free.  We got our bonus at work, and I put the full amount to paying off that debt.  Sucks I had to spend it on that, but I'm happy to finally have it paid off.  I've been working at it for a while, and now it's finally gone.  This is great, especially with the way the economy is going these days.  No mortgage and no credit card debt, pretty good state to be in at the moment.  The big thing will now be to make sure I don't rack up that debt again, which should hopefully be easy now that I've gotten my life down to where I can pay all my monthly payments with 1 paycheck, so I always have money going into my savings account.]]></content:encoded></item><item><title>Finished Resident Evil Umbrella Chronicles</title><dc:creator>punkcoder@mac.com</dc:creator><category>Video Games</category><dc:date>2008-03-01T17:05:24-05:00</dc:date><link>http://www.punkcoder.com/Blog/files/e1fd3ccdaa901f0937fc1723b57c759a-28.html#unique-entry-id-28</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/e1fd3ccdaa901f0937fc1723b57c759a-28.html#unique-entry-id-28</guid><content:encoded><![CDATA[I finished Resident Evil: The Umbrella Chronicles earlier today, or at least I've finished as much as I'm going to.  Once I completed the game I went to a website that provided a walkthrough and I see there are a couple more chapters I could play, if I were to replay a couple of the chapters I've already completed and get a better rating.  While I enjoyed the game, I don't feel like going through it again trying to do better to unlock those chapters, so I'm not going to.  The game was fun, it made good use of the gun control.  I'll concentrate on Tomb Raider anniversary now.]]></content:encoded></item><item><title>Classic Punk 3</title><dc:creator>punkcoder@mac.com</dc:creator><category>Music</category><dc:date>2008-02-26T21:19:22-05:00</dc:date><link>http://www.punkcoder.com/Blog/files/39d902daed3f410289e38ea4e4f17113-27.html#unique-entry-id-27</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/39d902daed3f410289e38ea4e4f17113-27.html#unique-entry-id-27</guid><content:encoded><![CDATA[I've found some more videos for some of the songs I have on my Classic Punk playlist.  Enjoy.<br /><br />Surf Punks - <a href="http://www.youtube.com/watch?v=O_Cm2qrgHjw" rel="external" title="Surf Punks - My Wave">My Wave</a> - man I love this band.  If you can get a hold of the album, "My Beach", do it.<br /><br />Johnny Thunders - <a href="http://www.youtube.com/watch?v=oAhIs_DV0KA" rel="external" title="Johnny Thunders - You Can&#39;t Put Your Arms Around a Memory">You Can't Put Your Arms Around a Memory</a> - Johnny has a lot of great songs, but this is a classic.<br /><br />Bad Religion - <a href="http://www.youtube.com/watch?v=v1PgiBpTtao" rel="external" title="Bad Religion - You">You</a> - back when I used to flatland bmx freestyle I had a routine for competitions set to this song.  Brings back memories.<br /><br />Buzzcocks - <a href="http://www.youtube.com/watch?v=ycQXK30Ofls" rel="external" title="Buzzcocks - Ever Fallen In Love (With Someone You Shouldn&#39;t)">Ever Fallen in Love (With Someone You Shouldn't)</a> - it was a sad day when I heard this song playing in a commercial and knew it was now exposed to the masses.<br /><br />Social Distortion - <a href="http://www.youtube.com/watch?v=Dp51zSOMOlo" rel="external" title="Social Distortion - Another State of Mind">Another State of Mind</a> - I love this band, every song of there's kicks ass, kind of hard to pick a favorite, but this definitely ranks up there.<br /><br />The Damned - <a href="http://www.youtube.com/watch?v=91rAHIb8BwY" rel="external" title="The Damned - New Rose">New Rose</a> - this song fuckin' rocks.<br /><br />Bad Brains - <a href="http://www.youtube.com/watch?v=kjITD9LnwRY" rel="external" title="Bad Brains - I Against I">I Against I</a> - I still remember seeing them my freshman year of university in Munich, Germany.  Got to hang out with HR and the band afterward.<br /><br />Suicidal Tendencies - <a href="http://www.youtube.com/watch?v=vXK0Hjfkrgw" rel="external" title="Suicidal Tendencies - Institutionalized">Institutionalized</a> - many an afternoon was spent skateboarding on the local basketball court to this tape. ]]></content:encoded></item><item><title>Sunday Alcohol Sales</title><dc:creator>punkcoder@mac.com</dc:creator><category>Personal</category><dc:date>2008-02-26T20:55:58-05:00</dc:date><link>http://www.punkcoder.com/Blog/files/cdff65967d94799289deb5107860947b-26.html#unique-entry-id-26</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/cdff65967d94799289deb5107860947b-26.html#unique-entry-id-26</guid><content:encoded><![CDATA[I see that Sunday alcohol sales has come back up in the news lately.  This time it's because some minor league baseball team is in Gwinett county, and they want to allow sales of alcohol at the stadium on Sundays.  For those of you who don't know, Georgia doesn't allow the sale of alcohol on Sundays; unless you go to a restaurant.  I can go buy cigarettes, lottery tickets and stop off at the adult video/bookstore on Sunday, but no purchasing of wine or beer.  It's a religious thing.  For some reason there's this whole mixture of church and state down here.  It's a stupid law, especially in modern day USA where you have people who either don't believe in God and religion, like myself, or you have people of religions that have the holy day on a day other than Sunday.  People down here want to allow each county to vote on it, but our Governor, Sonny Purdue, won't allow it.  This is the same idiot that held a prayer service for rain because of the major drought we are having in the South.  Of course they scheduled the prayer service for a day where rain was in the forecast, so it looks like prayer actually does something.  If prayer were real the rain would have formed over the south, and not come down in the traditional storm front that moves down from the north, but you can't talk to these people.  Anytime the discussion of alcohol sales on Sunday comes up the bible thumpers say it's all about time management.  I should just buy enough wine or beer before Sunday so I'll have some around.  I never had to deal with this growing up, because even in the south you can purchase alcohol on Sundays on a military base.  I doubt we will ever get a chance to vote on it, but it would be interesting to see what happens if we could.  I would think it's more money for the state, seeing as they're giving up an entire days worth of sales tax on those sales.  People who live on the border of other states head over there on Sundays, giving their money to that state. ]]></content:encoded></item><item><title>Ruby on Rails Project - To Do List #4</title><dc:creator>punkcoder@mac.com</dc:creator><category>Ruby</category><dc:date>2008-02-18T17:19:36-05:00</dc:date><link>http://www.punkcoder.com/Blog/files/90b27fa0c99aeb2b35d10eebf7c95ce5-25.html#unique-entry-id-25</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/90b27fa0c99aeb2b35d10eebf7c95ce5-25.html#unique-entry-id-25</guid><content:encoded><![CDATA[Well, I sure do let a lot of time go by between these posts.  For a simple Rails project that will take around an hour or so to code, it's taken over a month to write the posts about it.<br /><br />When I last <a href="http://www.punkcoder.com/Blog/files/67ce4bde2fecddd9be976c395b46b368-14.html" rel="self" title="Blog:Ruby on Rails Project - To Do List #3">left off</a> we had a browser interface that would display a list of Projects, and if you clicked on one of those Projects you would be presented with a page displaying a list of Tasks associated with that Project.  This is a great start to a Project Tracking application, but it's missing a big piece...an interface for allowing the user to enter the Projects and Tasks through the web browser.  Everything we've added so far has happened from the command line.  So, that is what I'll cover this time, adding a user interface for entering this information.<br /><br />The page used for displaying the Projects is located at /app/views/projects/index.rhtml.  The code is pretty simple<br /><br /><code><br />&lt;h1&gt;Projects&lt;/h1&gt;<br />&lt;ul&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&lt;% @projects.each do |project| %&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;li&gt;&lt;%= link_to project.name, :action =&gt; 'details', :id =&gt; project.id %&gt;&lt;/li&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&lt;% end %&gt;<br />&lt;/ul&gt;<br /></code><br /><br />We'll add the ability to add new Project to this same page, it will be at the top of the page.  The existing projects will be listed below it.<br /><br />First thing we'll do is update index.rhtml with the following code<br /><br /><code><br />&lt;!-- Form for adding a new Project --&gt;<br />&lt;% form_tag :action =&gt; :new do %&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;Project Name: &lt;%= text_field :project, :name %&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&lt;%= submit_tag 'Add new project' %&gt;<br />&lt;% end %&gt;<br /></code><br /><br />This provides us with a text box and a button wrapped in a form that will submit to the 'new' method in the Project controller.  The form should look like this if you view it in the browser at http://localhost:3000/projects/<br /><br /><img class="imageStyle" alt="project_from" src="http://www.punkcoder.com/Blog/files/page2_blog_entry25_1.png" width="445" height="152"/><br /><br />Now we need to add the 'new' method to the Project Controller.  This is located in /app/controller/projects_controller.rb.  Add the following code<br /><br /><code><br />def new<br />&nbsp;&nbsp;@newproject = params[:project]<br />&nbsp;&nbsp;Project.new(@newproject).save<br />&nbsp;&nbsp;redirect_to :action => :index<br />end<br /></code><br /><br />This code is pretty simple.  When the user submits a new Project name, it comes over in the params object as a hash, with ':project' as the hash name, and ':name' as a key with the value the key corresponds to as the value they entered.  Then we call the Save method and redirect back to index, which will redisplay the page with the new Project showing in the list.<br /><br />This works great, you can add new Projects all day long, but there is an issue.  We should have some sort of validation.  We should validate that the user actually enters a value before clicking the button to create a project.  We should also make sure the Project name they enter is unique.  In most instances this would require a lot of coding on the developers part, but not in Rails.  This is all taken care of.  There are some pre-built validations, we'll use the validates_presence_of and validates_uniqueness_of validations, to check that the value has a length greater than 0 and also that the value is not already present in the database.  We just need to add the validation calls to the Project model.  The model is located at /app/models/project.rb, update it to look like this<br /><br /><code><br />class Project < ActiveRecord::Base<br />&nbsp;&nbsp;has_many :tasks<br />  <br />&nbsp;&nbsp;validates_presence_of :name<br />&nbsp;&nbsp;validates_uniqueness_of :name<br />end<br /></code><br /><br />Now if you try to add a blank Project or one with a name already taken, nothing happens.  Once we actually work on a layout to make this site presentable we can display error messages, but for the time being not having it save bad data is good enough.<br /><br />Now we have to repeat the steps above to all the user the ability to add new Tasks to the project.  Update the form that displays the tasks, which is located in /app/views/projects/details.rhtml.  Add the following code after the &lt;h1&gt; tags<br /><br /><code><br />&lt;% form_tag :action =&gt; :addtask, :id =&gt; @project.id do %&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;Task Name: &lt;%= text_field :task, :name %&gt;&lt;br /&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;Due Date: &lt;%= date_select('range', 'due_date', : order =&gt; [:month, :day, :year]) %&gt;&lt;br /&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&lt;%= submit_tag 'Add new task' %&gt;<br />&lt;% end %&gt;<br /></code><br /><br />This gives us a form that looks like this<br /><br /><img class="imageStyle" alt="task_form" src="http://www.punkcoder.com/Blog/files/page2_blog_entry25_2.png" width="326" height="133"/><br /><br />Next we add the 'addtask' method to the Project Controller, which will create a new instance of a Task with the information entered by the user, find the Project that the task is going to be associated with, and adds the task to the tasks array of the Project, then it saves the project.<br /><br /><code><br />def addtask<br />&nbsp;&nbsp;#create task<br />&nbsp;&nbsp;@task = Task.new(params[:task])<br />&nbsp;&nbsp;@task.is_complete = false<br />    <br />&nbsp;&nbsp;#add to project<br />&nbsp;&nbsp;@project = Project.find_by_id(params[:id])<br />&nbsp;&nbsp;@project.tasks << @task<br />&nbsp;&nbsp;@project.save<br />    <br />&nbsp;&nbsp;redirect_to :action => 'details', :id => params[:id]<br />end<br /></code><br /><br />Add the following to the Task model, and you are done.<br /><br /><code><br />validates_presence_of :name<br /></code><br /><br />We'll allow duplicate task names, but the task does need a name entered.<br /><br />That's all for this time.  Next time we will allow updating and deleting of tasks.  Also, we'll need to show overdue tasks.<br />]]></content:encoded></item><item><title>AppFresh</title><dc:creator>punkcoder@mac.com</dc:creator><category>Apple</category><dc:date>2008-02-16T13:23:08-05:00</dc:date><link>http://www.punkcoder.com/Blog/files/5363d0571cec1b0bd7bfab5c54e2da90-24.html#unique-entry-id-24</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/5363d0571cec1b0bd7bfab5c54e2da90-24.html#unique-entry-id-24</guid><content:encoded><![CDATA[If you have a Mac I recommend an application called "<a href="http://metaquark.de/appfresh/" rel="external" title="AppFresh">AppFresh</a>".  It's a pretty simple, but very helpful application.  AppFresh scans your computer to find all the applications you have installed.  Then it checks those applications against various web sites to see if the version on your computer is up to date.  If it's not up to date it will provide information about the update and allow you to download and install from within the application.  With the recent upgrade to Leopard there are a lot of applications that are putting out new releases to provide compatibility.  It's a free application I highly recommend.]]></content:encoded></item><item><title>Apple TV &#x22;Take Two&#x22;</title><dc:creator>punkcoder@mac.com</dc:creator><category>Apple</category><dc:date>2008-02-12T21:17:11-05:00</dc:date><link>http://www.punkcoder.com/Blog/files/7138c7c0425f1fc7e00d6f65fc69176b-23.html#unique-entry-id-23</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/7138c7c0425f1fc7e00d6f65fc69176b-23.html#unique-entry-id-23</guid><content:encoded><![CDATA[Earlier this year, at the MacWorld conference, Steve Jobs announced that the first go at Apple TV did not produce what they wanted, so they were giving it another go.  Steve dubbed it Apple TV - Take Two.  The update for existing Apple TV owners was delivered today.  Here's what is new on the Apple TV<br /><br />1.  Movie Rentals<br />2.  HD Movies<br />3.  Improved User Interface<br />4.  No need for a computer<br />5.  Dolby 5.1 Surround Sound<br /><br />Now, anyone who keeps up with this blog knows that I don't subscribe to cable, nor do I have a tuner of any sort hooked up to my TV to allow for me to pick up basic cable channels.  I just don't watch enough TV to justify the cost.  So, when Apple TV was first announced; a device that hooked up to your TV and allowed you to purchase just the shows you wanted and allow you to watch them when you want, I plopped down my money the first day.  This is the al-a-cart solution I was looking for.  The TV shows I was interested in were available on the iTunes Store, so I could subscribe, and let my computer and Apple TV take care of the rest.  The iTunes store keeps track of when a new episode is available, the new episode is downloaded, and synced to the the Apple TV.  It's waiting there for when I have the time to sit down and watch it.<br /><br />The big change on the new update is Apple has removed the computer from the whole equation.  All you need now to enjoy an Apple TV is the Apple TV device, an internet connection, and a Hi Definition television.  If you do have a computer you can still download to your computer first and have it sync; but, you now have the option to peruse the movies/TV/music sections from the comfort of your living room on your big screen TV, find something you like, purchase it at that time, and start watching/listening to it.  It will sync back over to your computer if you have one.<br /><br />On the earlier version of Apple TV you had to purchase a movie to watch it, usually costing around $10 - $15, depending on if it was a newer movie.  Now you have the option to rent the movie, for between $2.99 and $4.99, depending on if it's a newer film and also if you want the HD version.  If you rent a movie you have 30 days to watch it.  Once you start watching it you have 24 hours to watch the entire movie as many times as you like.<br /><br />While I don't think Apple TV is for everyone, especially if you already have cable with on demand and a DVR; this is a nice update and it makes a great product for people like myself.]]></content:encoded></item><item><title>Finished Super Mario Galaxy</title><dc:creator>punkcoder@mac.com</dc:creator><category>Video Games</category><dc:date>2008-02-04T22:39:37-05:00</dc:date><link>http://www.punkcoder.com/Blog/files/4f7288e081b76aeb2b9ab35f0fcfeb32-22.html#unique-entry-id-22</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/4f7288e081b76aeb2b9ab35f0fcfeb32-22.html#unique-entry-id-22</guid><content:encoded><![CDATA[I finished Super Mario Galaxy this evening.  I've been playing it off-and-on for a few months now.  I definitely give this game a 10 out of 10.  It's amazing.  I've always been a fan of Mario, back from the original NES up through this game.  There are a lot of challenging parts to this game, and I'm sure I didn't find all of the secrets, but I'm glad to be finished.<br /><br />I'm currently playing Resident Evil: Umbrella Chronicles too.  So far it's been great, but some parts of almost too hard, and can get very frustrating.  Luckily I've always been someone that has a lot of patience, so it doesn't bother me too much.<br /><br />Aside from those two games I've been playing the occasional Guitar Hero III or Tiger Woods Golf game.  I'm actually thinking of cutting down on my video game playing.  While I do enjoy sitting back and playing a game, all that time I spend on games can be used to do other things.  I need to budget my time better.<br /><br />Once I finish Resident Evil I picked up that Tomb Raider Anniversary game.  I've been a fan of Tomb Raider since the first game, which is what this game is, just updated with better graphics and some extras thrown in for the Wii.  <br /><br />If you have a Wii and enjoy Mario, pick up Super Mario Galaxy.  Takes a little while to get used to the control scheme, but it's worth the time. ]]></content:encoded></item><item><title>Classic Punk 2</title><dc:creator>punkcoder@mac.com</dc:creator><category>Music</category><dc:date>2008-02-03T15:29:07-05:00</dc:date><link>http://www.punkcoder.com/Blog/files/fde7819b8bbb385dab70179f4cdcc010-21.html#unique-entry-id-21</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/fde7819b8bbb385dab70179f4cdcc010-21.html#unique-entry-id-21</guid><content:encoded><![CDATA[In an earlier <a href="http://www.punkcoder.com/Blog/files/be326dd22efbd424bac4abe66f8b2bee-15.html" rel="self" title="Blog:Classic Punk">post</a> I listed some of the punk songs I have in my Classic Punk playlist.  These are songs that I enjoy a lot, so I wanted to share my list, to maybe expose people to new music.<br /><br />Ill Repute - <a href="http://www.youtube.com/watch?v=fQN1yU9LqD4" rel="external" title="Ill Repute - Clean Cut American Kid">Clean Cut American Kid</a><br /><br />Circle Jerks - <a href="http://www.youtube.com/watch?v=CvejuEhJuQ4" rel="external" title="Circle Jerks - Wild In The Streets">Wild In The Streets</a><br /><br />The Nuns - <a href="http://www.youtube.com/watch?v=Ap2L8HE-Zx4" rel="external" title="The Nuns - Suicide Child">Suicide Child</a><br /><br />Richard Hell & The Voidoids - <a href="http://www.youtube.com/watch?v=nUU85sOxZ78" rel="external" title="Richard Hell &#38; The Voidoids - Blank Generation">Blank Generation</a><br /><br />Sham 69 - <a href="http://www.youtube.com/watch?v=6utdlMvuD74" rel="external" title="Sham 69 - Borstal Breakout">Borstal Breakout</a><br /><br />The Misfits - <a href="http://www.youtube.com/watch?v=LQEmn4TFVG4" rel="external" title="The Misfits - Where Eagles Dare">Where Eagles Dare</a> - How can you not love a song with the chorus "I ain't no goddamn son-of-a-bitch"<br /><br />Reagan Youth - <a href="http://www.youtube.com/watch?v=0okU83_rHNE" rel="external" title="Reagan Youth - USA">USA</a> - A USA for Anarchy!!<br /><br />Minor Threat - <a href="http://www.youtube.com/watch?v=DvmUJGMJcqg" rel="external" title="Minor Threat - 12XU">12XU</a> - the only thing wrong with this song is it's too long :)<br /><br />7 Seconds - <a href="http://www.youtube.com/watch?v=ziSW7ahVpzE" rel="external" title="7 Seconds - Young &#39;Till I Die">Young 'Till I Die</a> - I always considered this my life mantra<br /><br />The Misfits - <a href="http://www.youtube.com/watch?v=oP7wHOHYCdc" rel="external" title="The Misfits - Hybrid Moments">Hybrid Moments</a> - man this is a great song<br /><br />Black Flag - <a href="http://www.youtube.com/watch?v=hFF7jzVfSB0" rel="external" title="Black Flag - TV Party">TV Party</a> - We've got nothing better to do, than watch TV and have a couple of brews.<br /><br />Toy Dolls - <a href="http://www.youtube.com/watch?v=eti21PVHXrg" rel="external" title="Toy Dolls - Nellie The Elephant">Nellie The Elephant</a> - probably one of the few punk videos with synchronized dancing.<br /><br />The Clash - <a href="http://www.youtube.com/watch?v=5t9vDfQYg7k" rel="external" title="The Clash - Garageland">Garageland</a><br /><br />Black Flag - <a href="http://www.youtube.com/watch?v=HLLOp6Jum8Q" rel="external" title="Black Flag - Wasted">Wasted</a>]]></content:encoded></item><item><title>Microsoft and Yahoo&#x21;</title><dc:creator>punkcoder@mac.com</dc:creator><category>Microsoft</category><dc:date>2008-02-01T18:22:16-05:00</dc:date><link>http://www.punkcoder.com/Blog/files/77b02cbaef6728df428e645cd5105a09-20.html#unique-entry-id-20</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/77b02cbaef6728df428e645cd5105a09-20.html#unique-entry-id-20</guid><content:encoded><![CDATA[I see that Microsoft has put in a bid of 44 Billion to purchase Yahoo!  I have a couple issues with this, and it's not all about my dislike for Microsoft.  It's more to do with the fact that I like how Yahoo! supports developing sites that work across platforms and browsers.  Yahoo! Mail works nicely, although I did just ditch my pro account with Yahoo! because I have been in the process of switching over to GMail.  Yahoo has some great engineers and developers that have developed their YUI (Yahoo User Interface) tools.  These tools allow web developers to create sites that have a rich interface, without having to come up with all the javascript.  I also like Flickr, which is where I store my photographs.  It has a great interface, and uses Flash and Flex a lot where they really need the slick interface.  They are also big on using Free BSD and PHP.  If Microsoft purchases them I have the feeling that a lot of this will change, which would suck.  When Microsoft bought Hotmail a lot of the users at the time left, because like most products they buy, it gets worse afterward.  I can already see all the Flash being replaced with Silverlight, and sites suddenly working better on Windows with Internet Explorer for all the extra goodies.  I hope I am wrong that all this would occur, but this is Microsoft we're talking about, so it's not very far fetched.]]></content:encoded></item><item><title>NetNewsWire</title><dc:creator>punkcoder@mac.com</dc:creator><category>Software</category><category>Apple</category><dc:date>2008-01-30T20:39:06-05:00</dc:date><link>http://www.punkcoder.com/Blog/files/7e56da4ec3278d8818faf747fa66730d-19.html#unique-entry-id-19</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/7e56da4ec3278d8818faf747fa66730d-19.html#unique-entry-id-19</guid><content:encoded><![CDATA[Like most everyone else in the modern world I subscribe to RSS Feeds and use an RSS Aggregator to gather all of those feeds and present them in a nice manner.  Unlike most people I use a desktop application to read my subscriptions instead of an online application like <a href="http://www.bloglines.com/" rel="external" title="Bloglines">Bloglines</a> or <a href="http://reader.google.com/" rel="external" title="Google Reader">Google Reader</a>.  I tried both of those services, but in the end I always enjoyed using a desktop application.  For a while now, on the Mac, I have been using <a href="http://www.newsfirerss.com/" rel="external" title="NewsFire RSS Reader">NewsFire</a>.  I received it with one of those bundles of software I've purchased.  It works nice, but I'm always on the outlook for new software to try out.  Recently another RSS Reader was brought to my attention through some blogs I read.  It's called <a href="http://www.newsgator.com/Individuals/NetNewsWire/" rel="external" title="NetNewsWire">NetNewsWire</a>.  This software used to cost money, but a few weeks ago the developers released it as a free download.  I downloaded it and gave it a try, and now it's my new RSS Reader.  Here's what sold me on it<br /><br />1.  It has a built in web browser interface, so if you click on a link in a post you aren't taken out of your feed reader into your web browser.<br /><br />2.  It has an online counterpart, <a href="http://www.newsgator.com/Individuals/NewsGatorOnline/Default.aspx" rel="external" title="NewsGator">NewsGator</a>, which is also free, and it keeps in sync with your desktop application.  That way you can view postings on your local machine or from another machine on the web, and everything keeps in sync.  I don't read blog postings at work because they tend to take up my time, but this would allow me to hop on at lunch and check out what's going on.<br /><br />3.  It has a nice interface for saving posts or clippings from posts.<br /><br />The company has a Windows application called <a href="http://www.newsgator.com/Individuals/FeedDemon/Default.aspx" rel="external" title="FeedDemon">FeedDemon</a>.  I can't speak for how nice it works, but if it's anything like NetNewsWire it's worth checking out.]]></content:encoded></item><item><title>Mac Software</title><dc:creator>punkcoder@mac.com</dc:creator><category>Apple</category><dc:date>2008-01-26T16:19:03-05:00</dc:date><link>http://www.punkcoder.com/Blog/files/efc1012b6aec0c2813756311bc14798c-18.html#unique-entry-id-18</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/efc1012b6aec0c2813756311bc14798c-18.html#unique-entry-id-18</guid><content:encoded><![CDATA[I did a <a href="http://www.punkcoder.com/blog/?p=4" rel="external" title="Mac Software">post</a> a little over a year ago detailing some of the software I enjoy using on my Mac.  Since the time I wrote that posting I have started using other software on my Mac too, so that's what I'm writing about in this post.  I recently purchased a bundle from <a href="http://www.macheist.com/" rel="external" title="Macheist">Macheist</a> in their second annual bundle offering.  It's pretty nice, they offer a bundle of software, usually valued at a couple hundred dollars, for around $49, and part of the proceeds go to charity.  I purchased a bundle last year, and purchased another this year.  Even if there is one or two applications in the bundle you like, it's usually cheaper to purchase the bundle than to purchase those applications separately.  You also get the benefit of trying out new software you may have never thought of trying before.  There were a couple applications in this years bundle that I already owned, Pixelmator and AppZapper, but I have a friend that has a Mac that I will gladly pass those along to.  Some of the applications I got this year that I have started using are<br /><br /><a href="http://www.tweakersoft.com/vectordesigner" rel="external" title="Vector Designer">Vector Designer</a> - this is a vector graphic program, similar to Adobe Illustrator.  I currently use an application called <a href="http://www.purgatorydesign.com/Intaglio/" rel="external" title="Intaglio">Intaglio</a> which I received with last years bundle.  I'm always up for trying another application to see if I like it better, so I went ahead and installed it and will be trying it out.<br /><br /><a href="http://1password.com/" rel="external" title="1password">1Password</a> - in todays world you probably have a lot of web sites you visit that require you to register to be a user.  Most of us probably get to the point where we use the same username/password at each site, that way we have a lot less chance of forgetting it.  1Password is an application that not only keeps track of your username/password and can automatically fill it in for you, but you can also use it to generate a strong password for you.  This is a great feature, as long as you plan on visiting that site from a computer that has 1Password installed on it, since you don't know the password it creates for you.  You can also use 1Password to help fill out forms for you.  You can create a profile, and within that profile enter your name, address, e-mail, etc.  Then, once you are on a form asking for that information you can have 1Password fill the form out for you.  All of your data is stored encrypted on your computer, which uses a master password to unlock.<br /><br /><a href="http://yazsoft.com/" rel="external" title="Speed Download from Yaz Software">Speed Download</a> - this is a download manager on steroids.  You can have Speed Download integrate itself into all the browsers on your computer, plus it's supported in some other software, such as iTunes and Growl.  A download manager is a nice tool to have.  It sets itself up to communicate with the site you are downloading from, which allows you to resume a download which may have been interrupted earlier.  Speed Download can also be used for basic FTP tasks, allowing you to download/upload to your FTP server.<br /><br /><a href="http://www.macrabbit.com/cssedit/" rel="external" title="CSS Edit">CSSEdit</a> - if you do any sort of web development these days I certainly hope you have hopped on the CSS bandwagon, so you are now separating your styling from your presentation.  CSSEdit is an application that helps you with real-time CSS styling.  You can make a CSS change and see it automatically without having to save and upload the changes.<br /><br /><a href="http://www.midnightapps.com/" rel="external" title="Cha-Ching">Cha-Ching</a> - I currently use money management software called <a href="http://www.iggsoftware.com/ibank/" rel="external" title="iBank">iBank</a>.  I've been pretty happy with it, I use it to track my Checking, Savings, Roth IRA, Sharebuilder and Credit Card accounts; but, like with the vector graphics software above, I am always up for trying another application to see if it provides a nicer way to accomplish what I currently do in the current software.<br /><br /><a href="http://hogbaysoftware.com/products/taskpaper" rel="external" title="Taskpaper">Taskpaper</a> - this is what is commonly referred to as GTD (Get Things Done) software.  It has a simple task and it does it well.  You create projects, and for those projects you create tasks.  Once you complete a task you can cross it off your list.  This is very similar to the web application I am creating with RoR, which I have been detailing in a couple blog posts.  I am a big fan of working in the GTD fashion.  I like breaking a project down into manageable, trackable tasks.  I like being able to look at a list and see what I have left to accomplish.  I also like being able to cross off a task when I'm done.  It adds a finality to the task, makes you feel like you accomplished something throughout the day when you can look at your list and see stuff crossed out.<br /><br /><a href="http://www.freeverse.com/games/game/?id=7003" rel="external" title="Tiki Magic Mini Golf">Tiki Magic Mini Golf</a> - yes, this is a game, something I don't have many of on my computer.  I installed it and gave it a try.  It's actually pretty fun.  Think of it as putt-putt golf on your computer.  My laptop handles the 3D graphics pretty well, I have it run at 1280x1024 and a high graphic setting and I don't receive any sort of frame delay or flickering.  It's something I will fire up every once in a while.<br /><br />There are a couple other applications that were included with the MacHeist bundle: <a href="http://www.ambrosiasw.com/utilities/snapzprox/" rel="external" title="Snapz Pro X">SnapzProX</a>, <a href="http://www.coversutra.com/" rel="external" title="Coversutra">Coversutra</a>, <a href="http://boinx.com/istopmotion/overview/" rel="external" title="iStopMotion">iStopMotion</a>, <a href="http://embraceware.com/software/awaken/" rel="external" title="AWaken">Awaken</a>, and <a href="http://freeverse.com/games/game/?id=3010" rel="external" title="Wingnuts 2">Wingnuts 2</a>, but I haven't installed them at this time, so I can't speak for how I like them, but will definitely review them if I install them in the future.<br /><br />There are a couple other pieces of software I have been using that I got separate from this bundle.<br /><br /><a href="http://www.isquint.org/" rel="external" title="iSquint">iSquint</a> - once NBC decided to take their shows off iTunes I started downloading the shows from the web.  These shows are generally in DivX AVI format, which doesn't natively play on my Apple TV or Video iPod.  iSquint takes care of this.  Drop the video on iSquint and it will convert it into the format needed to work with Apple TV / iPod, and can also import the video into iTunes once it's done with the conversion.  This way I still get to enjoy the shows out on my big screen TV.<br /><br /><a href="http://hungryseacow.com/" rel="external" title="Yummy Soup">Yummy Soup</a> - strange name, but a great program.  I like to cook.  I don't do it often enough, but I do enjoy it when I get around to doing it.  Yummy Soup is a recipe manager.  It comes preloaded with a lot of recipes and can import recipes from a couple different web sites.<br /><br /><a href="http://www.calorieking.com/software/" rel="external" title="Calorie King">Calorie King</a> - I purchased this software to help me keep track of what I put into my body every day, so I can see what I need to cut out to lose weight.  It has a huge database of food and you can add your own custom food to the database too.  When I first started using this it let me see that even though I was never going above my daily allotment of calories, I was going way above my fat and carb allotment.]]></content:encoded></item><item><title>Budget</title><dc:creator>punkcoder@mac.com</dc:creator><category>Personal</category><dc:date>2008-01-25T17:32:46-05:00</dc:date><link>http://www.punkcoder.com/Blog/files/3706c2d6509374411fb3ff7e5776c8bd-17.html#unique-entry-id-17</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/3706c2d6509374411fb3ff7e5776c8bd-17.html#unique-entry-id-17</guid><content:encoded><![CDATA[Since I left Kimberly I have been working to get myself out of debt.  When her and I split I had over 20k in debt.  Now I am down to a couple thousand on one credit card, which I will be paying off over the next couple months.  Once all of that is done I plan on getting my finances in order and concentrating on saving, investing and retirement.  I figure the best way to go about this is to come up with a budget.  I subscribe to a couple financial blogs, and recently saw a link to an article about a budget called the 60% Budget.  I looked it over and thought this might be a good way to start going about coming up with a budget for myself.  The 60% Budget breaks down like this<br /><br />60% of your gross income should be dedicated to "Committed Expenses".  These are<br /><br />- Basic food and clothing needs<br />- Essential household expenses<br />- Insurance premiums<br />- Charitable contributions<br />- All bills<br />- All taxes<br /><br />10% for "Retirement" expenses<br />- 401(k)<br />- IRA or Roth IRA<br /><br />10% for "Longterm Savings"<br />- Investments, like stock, bonds, etc.<br /><br />10% for "Short Term Savings or Irregular Expenses"<br />- Savings account<br />- Vacations<br />- Repairs<br />- New Applicances<br /><br />10% for "Fun Money"<br />- Spend on anything you like.<br /><br />I use a software program called <a href="http://www.iggsoftware.com/ibank/" rel="external" title="iBank">iBank</a> to track my Checking, Savings, Credit Cards, Investments, and it has a budget feature, so I am going to use this to start tracking all my expenditures to see if I can stick to this budget.  It will be nice to have everything working well, so that my savings, investments and retirement funds have a consistent inflow.  I may open a couple ING savings accounts, that way I can have one set up for Vacations, one for Emergencies and one for my regular savings, but I haven't decided.]]></content:encoded></item><item><title>Giving Facebook Another Shot</title><dc:creator>punkcoder@mac.com</dc:creator><category>Personal</category><dc:date>2008-01-25T17:26:18-05:00</dc:date><link>http://www.punkcoder.com/Blog/files/f1da28decab7f00bff29dbfc6fa909dc-16.html#unique-entry-id-16</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/f1da28decab7f00bff29dbfc6fa909dc-16.html#unique-entry-id-16</guid><content:encoded><![CDATA[I read that not too long after I quit Facebook, due to the Beacon privacy concern, there was enough backlash in the Facebook community to convince Facebook to offer the option to not have Beacon enabled.  Since I quit Facebook, or better yet disabled my account, since you can't really ever leave Facebook, I received a couple invites from friends, so I decided to re-enable my account.  Don't know how often I will use it, but figure it will be like my Linked-In account, something I log into every once in a while.]]></content:encoded></item><item><title>Classic Punk</title><dc:creator>punkcoder@mac.com</dc:creator><category>Personal</category><category>Music</category><dc:date>2008-01-20T23:29:07-05:00</dc:date><link>http://www.punkcoder.com/Blog/files/be326dd22efbd424bac4abe66f8b2bee-15.html#unique-entry-id-15</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/be326dd22efbd424bac4abe66f8b2bee-15.html#unique-entry-id-15</guid><content:encoded><![CDATA[I was going through my iTunes library making a 'Classic Punk' playlist and thought I'd share what I consider to be some of my favorite songs.  A lot of the punk I listen to is from the 70s and 80s, so a lot of these will be from around that time period.<br /><br />1.  <a href="http://www.youtube.com/watch?v=doCrdhbPcmw" rel="external" title="If The Kids Are United - Sham 69">If The Kids Are United</a> - Sham 69 : I love the video I found on YouTube for this, looks like it's from some kids variety show.<br /><br />2.  <a href="http://www.youtube.com/watch?v=7HTI76H0Ojc" rel="external" title="Your Generation - Generation X">Your Generation</a> - Generation X : Great song from Billy Idol's old band, Generation X.<br /><br />3.  <a href="http://www.youtube.com/watch?v=RZ1RecSXXZ8" rel="external" title="BloodStains - Agent Orange">BloodStains</a> - Agent Orange : I love the riff in this song, a great skate tune.<br /><br />4.  <a href="http://www.youtube.com/watch?v=iN45OjB-cCU" rel="external" title="Jilted John - Jilted John">Jilted John</a> - Jilted John : Great old punk.<br /><br />5.  <a href="http://www.youtube.com/watch?v=FYQzyGscBRc" rel="external" title="Amoeba - Adolescents">Amoeba</a> - Adolescents : Another classic skate tune.<br /><br />6.  <a href="http://www.youtube.com/watch?v=z0Mfg5Zq2uU" rel="external" title="First Time - Boys">First Time</a> - Boys<br /><br />7.  <a href="http://www.youtube.com/watch?v=r9NXqj6-_60" rel="external" title="Brickfield Nights - Boys">Brickfield Nights</a> - Boys : Love this song<br /><br />8.  <a href="http://www.youtube.com/watch?v=5lh-bcgg_mQ" rel="external" title="The End of the World - The Avengers">The End of the World</a> - The Avengers : awful video, but a great song.<br /><br />9.  <a href="http://www.youtube.com/watch?v=TMlpqOsc2BU" rel="external" title="Homicide - 999">Homicide</a> - 999 : This is a great old punk band.<br /><br />10.  <a href="http://www.youtube.com/watch?v=PIfFUDt4Grw" rel="external" title="Rich Kids - Rich Kids">Rich Kids</a> - Rich Kids : punk boy band<br /><br />11.  <a href="http://www.youtube.com/watch?v=WBqhUVIZiXk" rel="external" title="All This And More - Dead Boys">All This And More</a> - Dead Boys<br /><br />My playlist is currently up to 76 songs.  I'm not going to post them all today, will break it up into an occasional posting.]]></content:encoded></item><item><title>Ruby on Rails Project - To Do List #3</title><dc:creator>punkcoder@mac.com</dc:creator><category>Ruby</category><dc:date>2008-01-17T22:53:33-05:00</dc:date><link>http://www.punkcoder.com/Blog/files/67ce4bde2fecddd9be976c395b46b368-14.html#unique-entry-id-14</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/67ce4bde2fecddd9be976c395b46b368-14.html#unique-entry-id-14</guid><content:encoded><![CDATA[In <a href="http://www.punkcoder.com/Blog/files/481b7b64ce4503dee587dc4cdf9807f0-11.html" rel="self" title="Blog:Ruby on Rails Project - To Do List # 2">step two</a> of my PC Task project I created my models for Projects and Tasks.  In step three I will move on to the Controllers and Views.<br /><br />We'll start off with the Projects Controller.  Just like we used a script to generate our Model, we can do the same thing with our Controller.  The syntax for creating a Controller is<br /><br />$ ruby script/generate controller <em>controller_name</em><br /><br />So, to create our Projects Controller type the following<br /><br />$ ruby script/generate controller Projects index<br /><br />You should receive something similar to the following<br /><br />exists app/controllers/<br />exists app/helpers/<br />create app/views/projects<br />exists test/functional/<br />create app/controllers/projects_controller.rb<br />create test/functional/projects_controller_test.rb<br />create app/helpers/projects_helpers.rb<br />create app/views/projects/index.rhtml<br /><br />So, you'll probably notice I added an extra argument on to the end of that command, 'index'.  The default name for the file that is accessed when a user visits your site is the index page, so adding this extra argument just created the index.rhtml page for us.  If you leave it off, you can always create it later yourself.<br /><br />Before I move on, I never did define what Model, View, Controller really meant.  Here's a couple quick definitions.<br /><br /><strong>Model</strong> - handles data and business logic<br /><strong>Controller </strong>- handles user interface and application logic<br /><strong>View </strong>- handles GUI objects and presentation logic<br /><br />In a web application the chain of events is<br /><br />a.  Web browser sends a request for a page to the controller.<br />b.  Controller gets the data it needs from the model.<br />c.  Controller renders the page then sends it to the view.<br />d.  View displays the page in the browser.<br /><br />OK, if you were to start the application, using the following command<br /><br />$ ruby script/server<br /><br />and you open a browser and navigate to http://localhost:3000/projects, you should see a page that has the following displayed<br /><br /><img class="imageStyle" alt="Capture2" src="http://www.punkcoder.com/Blog/files/page2_blog_entry14_1.jpg" width="278" height="83"/><br /><br />Now, we need to decide what we want to display in the View, so we can code for this in the Controller.  I think at the moment we can just display a list of all the Projects.<br /><br />Now, before I go any further I want to do a quick introduction to a feature of Rails called Scaffolding.  Scaffolding is a tool that can quickly create a view for you that you can use to interact with your model.  The view that's created lists all the data in the table and creates an interface for performing your CRUD operations.  Scaffolding used to be the selling point of Rails, back when it was the new kid on the block.  It's a fun little feature, but I think most developers forgo it for creating their own Controller and View.  Scaffolding is very easy.  Open the projects controller ($ mate app/controller/projects_controller.rb) and modify the file to look like the following<br /><br />class <u>ProjectsController < ApplicationController<br /></u>&nbsp;&nbsp;scaffold :project<br />end<br /><br />Now, save the file and refresh the page in your browser that points to http://localhost:3000/projects.  Your web page should now look like this<br /><br /><img class="imageStyle" alt="Capture1" src="http://www.punkcoder.com/Blog/files/page2_blog_entry14_2.jpg" width="286" height="148"/><br /><br />I had created a Test Project in step #2, so it is showing here.  As you can see, it has all of the CRUD operations on the screen.  This is a cool feature, something I would love sometimes at work in .NET WinForms (I think something similar to this is available in ASP.NET 2008, which is a pretty good clone of Rails, way to innovate again Microsoft), but it's not the route we will take.  Instead we will go "our own route".<br /><br />Modify the Controller file to look like the following<br /><br />class <u>ProjectsController < ApplicationController<br /></u>&nbsp;&nbsp;def index<br />&nbsp;&nbsp;&nbsp;&nbsp;@projects = Project.find(:all)<br />&nbsp;&nbsp;end<br />end<br /><br />Here we define an index action and the find(:all) returns all records in the Projects table.  If you refresh the page in your browser you are back to this page<br /><br /><img class="imageStyle" alt="Capture2" src="http://www.punkcoder.com/Blog/files/page2_blog_entry14_3.jpg" width="278" height="83"/><br /><br />We haven't defined any code in our view (index.rhtml), so nothing is displayed yet.  We now need to update the View to show a list of Projects.  Open the index.rhtml file and update it like so<br /><br />&lt;h1&gt;Projects&lt;/h1&gt;<br />&lt;ul&gt;<br />&nbsp;&nbsp;&lt;% @projects.each do |project| %&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&lt;li&gt;&lt;%= link_to project.name, :action => 'details', :id => project.id %&gt;&lt;/li&gt;<br />&nbsp;&nbsp;&lt;% end %&gt;<br />&lt;/ul&gt;<br /><br />What all is this doing?  @project is an instance variable, he was defined in the Controller.  The line with @projects.each do |project| is basically looping through the items stored in @projects, which is the result of the find(:all) command, and storing the current item in project, which is then used when writing out the list.  The link_to command is an HTML helper that wraps the item in anchor tags.  If you view the page in the browser now you should see the following<br /><br /><img class="imageStyle" alt="Capture3" src="http://www.punkcoder.com/Blog/files/page2_blog_entry14_4.jpg" width="135" height="93"/><br /><br />Not as cool and exciting as what was created by Scaffolding, but it's a start.  If you click on the link you will receive an error.  This is because we defined an action called 'details' that we haven't defined yet.  Let's do that now.  Add the following to the Projects Controller.<br /><br />def details<br />&nbsp;&nbsp;@project = Project.find_by_id(params[:id])<br />&nbsp;&nbsp;@tasks = @project.tasks<br />end<br /><br />This uses the project.id that is passed as id in the parameters and gets the tasks related to that project.  Now we need to create a details.rhtml page.  Create one in the same directory as index.rhtml and add the following code<br /><br />&lt;h1&gt;&lt;%= @project.name %&gt;&lt;/h1&gt;<br />&lt;ol&gt;<br />	&lt;% @tasks.each do |task| %&gt;<br />		&lt;li&gt;&lt;%= task.name %&gt; &lt;%= task.due_date %&gt; &lt;%= task.is_complete %&gt;&lt;/li&gt;<br />	&lt;% end %&gt;<br />&lt;/ol&gt;<br /><br />Now, if you click on the link on index.html you should see a page similar to the following<br /><br /><img class="imageStyle" alt="Capture4" src="http://www.punkcoder.com/Blog/files/page2_blog_entry14_5.jpg" width="374" height="83"/><br /><br />Not the prettiest page in the world, but it will do for now.<br /><br />We now have a Controller that will gather the information about the Projects and the associated Tasks, and will display that information in our index and details View.  <br /><br />In step 4 I will add more of the CRUD functionality.]]></content:encoded></item><item><title>MacWorld 2008 Follow Up</title><dc:creator>punkcoder@mac.com</dc:creator><category>Apple</category><dc:date>2008-01-15T18:54:44-05:00</dc:date><link>http://www.punkcoder.com/Blog/files/75e8a0ad891f15d7a0ed3be24bf58bbc-13.html#unique-entry-id-13</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/75e8a0ad891f15d7a0ed3be24bf58bbc-13.html#unique-entry-id-13</guid><content:encoded><![CDATA[So, the rumors were true.  The <a href="http://www.apple.com/macbookair/" rel="external" title="MacBook Air">MacBook Air</a> did turn out to be a thin, super-light, notebook.  It looks like quite an engineering feat, like a lot of Apple products.  It's not something I'm interested in, since my MacBook isn't exactly something I lug around with me everywhere; plus the MacBook is pretty small and light (I have the 13" one).<br /><br />Other things announced today are a wireless storage device called <a href="http://www.apple.com/timecapsule/" rel="external" title="Time Capsule">Time Capsule</a>, to work in tandem with Time Machine, the new backup framework built into Leopard.  Looks nice, but I already have Time Machine working with an attached external 500GB drive.<br /><br />Apple TV finally got an update.  I've been very pleased with Apple TV, but hated the fact that it was introduced and never really had any major updates (aside from hooking up to YouTube).  Well, that ends in 2 weeks.  That's when the software update will be made available to update Apple TV with some new features.  The main new feature is the fact that you no longer have to download to your computer first, then stream to the Apple TV.  You will now be able to purchase Movies, TV Shows, Podcasts, etc from the comfort of your couch.  Also, you can now rent movies.  I canceled my Netflix account a month ago, just never had time to watch the movies, so they would sit around for a month or so.  Now, with this feature, I can rent movies when I feel the need, and get it at that moment.  Once downloaded, you have 30 days to watch the movie.  If you start watching it, you have 24 hours to watch it, before it expires.  The last feature is there is now HD content available.  I can put my HD TV to use again.<br /><br />There's also an update for the iPhone, will need to see what Paige thinks of it, since she owns one.]]></content:encoded></item><item><title>MacWorld 2008</title><dc:creator>punkcoder@mac.com</dc:creator><category>Apple</category><dc:date>2008-01-15T06:51:20-05:00</dc:date><link>http://www.punkcoder.com/Blog/files/4b4d0f1f60b7b8d9bab61f98f3e48431-12.html#unique-entry-id-12</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/4b4d0f1f60b7b8d9bab61f98f3e48431-12.html#unique-entry-id-12</guid><content:encoded><![CDATA[Today starts MacWorld 2008.  It's funny.  For some reason I always get an image in my head of Steve Ballmer calling together all the project managers at Microsoft, getting them into a big room, and turning on Steve Job's Keynote Speech, saying, "Watch closely everybody, this is what we'll be working on this year."<br /><br />Steve Job's Keynote has gotten pretty famous.  This is where he introduces any new products and any new features coming down the pipes.  It's also where lots of people have built up such high expectations, because of rumors, that they end up disappointed because some product featured in a rumor doesn't come to fruition.<br /><br />Today's big rumored product is something called a MacBook Air.  Some are thinking a super thin, lightweight laptop.  Guess we'll see if this comes about later on today.]]></content:encoded></item><item><title>Ruby on Rails Project - To Do List # 2</title><dc:creator>punkcoder@mac.com</dc:creator><category>Ruby</category><dc:date>2008-01-13T21:14:43-05:00</dc:date><link>http://www.punkcoder.com/Blog/files/481b7b64ce4503dee587dc4cdf9807f0-11.html#unique-entry-id-11</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/481b7b64ce4503dee587dc4cdf9807f0-11.html#unique-entry-id-11</guid><content:encoded><![CDATA[It's been a month since I made the first post for this personal project.  What can I say, it was the holidays, and I had other stuff on my mind.  I'm still interested in learning Ruby and Rails, so I'm not abandoning the project.  Here's part two.<br /><br />My To-Do List web application is going to start off pretty simple.  The first thing I need to do is consider the entities that are needed.  To begin I will just have a Project entity and a Task entity.  A Project can contain one or more Tasks.  A Project will have one attribute, a Name.  A Task will have a couple attributes: Name, Due Date, Project ID and an Is Complete flag.<br /><br />Just like Rails provided us with scripts to generate our directory structure, it also provides us with a script to generate our Model.  Remember, Rails is based on the MVC (Model, View, Controller) Design Pattern.  The Model creation syntax is<br /><br />$ ruby script/generate model <em>model_name</em><br /><br />Now we create our two Models<br /><br />$ ruby script/generate model Project<br />$ ruby script/generate model Task<br /><br />Here's an example of the output you should receive<br /><br />exists app/models/<br />exists test/unit/<br />exists test/fixtures/<br />create app/models/project.rb<br />create test/unit/project_test.rb<br />create test/fixtures/projects.yml<br />create db/migrate<br />create db/migrate/001_create_projects.rb<br /><br />As you can see, it not only generates our Model, but also the Test files for running our Unit Tests and files for migrating our database changes.  This is one thing I enjoy about Rails, you don't have to use a tool to create your database tables and the columns in those tables, you can use the files that are generated.  I recommend doing this, since Rails will automatically create Unique ID fields for you.<br /><br />So, now that we have the Model created, we will add the code to the migrate file to create the columns we need.<br /><br />If you look at the file 001_create_projects.rb in TextMate, you should see the following<br /><br />class <u>CreateProjects < ActiveRecord::Migration<br /></u>&nbsp;&nbsp;def self.up<br />&nbsp;&nbsp;&nbsp;&nbsp;create_table :projects do |t|<br />&nbsp;&nbsp;&nbsp;&nbsp;end<br />&nbsp;&nbsp;end<br /><br />&nbsp;&nbsp;def self.down<br />&nbsp;&nbsp;&nbsp;&nbsp;drop_table :projects<br />&nbsp;&nbsp;end<br />end<br /><br />If we performed a migration with this, it would create a projects table for us, and it would have a Unique ID field, but nothing else.  We can modify it to add the fields we need, which is just a Name.<br /><br />class <u>CreateProjects < ActiveRecord::Migration<br /></u>&nbsp;&nbsp;def self.up<br />&nbsp;&nbsp;&nbsp;&nbsp;create_table :projects do |t|<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t.column :name, :string<br />&nbsp;&nbsp;&nbsp;&nbsp;end<br />&nbsp;&nbsp;end<br /><br />&nbsp;&nbsp;def self.down<br />&nbsp;&nbsp;&nbsp;&nbsp;drop_table :projects<br />&nbsp;&nbsp;end<br />end<br /><br />The code for 002_create_tasks.rb is<br /><br />class <u>CreateTasks < ActiveRecord::Migration<br /></u>&nbsp;&nbsp;def self.up<br />&nbsp;&nbsp;&nbsp;&nbsp;create_table :tasks do |t|<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t.column :name, :string<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t.column :due_date, :datetime<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t.column :project_id, :integer, :null => false<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t.column :is_complete, :boolean<br />&nbsp;&nbsp;&nbsp;&nbsp;end<br />&nbsp;&nbsp;end<br /><br />&nbsp;&nbsp;def self.down<br />&nbsp;&nbsp;&nbsp;&nbsp;drop_table :tasks<br />&nbsp;&nbsp;end<br />end<br /><br />We can now use Rake to apply these changes to the database.  You should receive output similar to this<br /><br />$ rake db:migrate<br />(in /Users/punkcoder/Development/Ruby/pctask)<br />== CreateProjects: migrating ==================================<br />-- create_table(:projects)<br />&nbsp;&nbsp;-> 0.0257s<br />== CreateProjects: migrated (0.0259s) ===========================<br /><br />== CreateTasks: migrating ==================================<br />-- create_table(:tasks)<br />&nbsp;&nbsp;-> 0.0034s<br />== CreateTasks: migrated (0.0036s) ===========================<br /><br />If you go look at the database you should see the tables with the columns.  Now we can define the relationships between the tables.  Ours is actually pretty simple: a Project <em>has_many </em>Tasks.  So, how do we define the relationship?  We do it in the Model.  Go to app/models/project.rb, it should look like this<br /><br />class <u>Project < ActiveRecord::Base<br /></u>end<br /><br />(Oh yeah, really quick, you notice the < in the syntax above, well, Ruby is an Object Oriented language, and this syntax means Project inherits from ActiveRecord.)<br /><br />So, to say that Project has many Tasks you pretty much state it<br /><br />class <u>Project < ActiveRecord::Base<br />&nbsp;&nbsp;</u>has_many :tasks<br />end<br /><br />This is a two way relationship, so we also edit app/models/task.rb to say that a Task belongs to a Project<br /><br />class <u>Task < ActiveRecord::Base<br /></u>&nbsp;&nbsp;belongs_to :project<br />end<br /><br />Cool, now that we have that set up we can actually test this.  Rails has an interactive development environment in the console which we can use.  Type the following<br /><br />script/console<br /><br />You should see<br /><br />Loading development environment.<br />>><br /><br />So, the first thing we will do is create a new Project.  Rails has created the method we need to do this, it's the 'new' method.  To create a new Project type the following<br /><br />>> project = Project.new(:name =&gt; 'Test Project')<br /><br />You should get the response<br /><br />=> #&lt;Project:0x24b614c @new_record=true, @attributes={"name"=>"Test Project"}&gt;<br /><br />We have created a Project named "Test Project".  If you go look in the database you won't see anything, because we haven't called Save, instead it's just in memory at the moment.  It has been created though, so you can inspect it<br /><br />>> project.name<br />=> "Test Project"<br />>> project.new_record?<br />=> true<br />>> project.id<br />=> nil<br /><br />Since it hasn't been saved in the database a Unique ID hasn't been assigned.  Now, here's the cool part.  Remember how we defined that a Project has many Tasks in our Model?  Well, if you type the following, you get a nice surprise<br /><br />>> project.tasks<br />=> [ ]<br /><br />That's right, we never added a tasks field to the database, but we set up a relationship, and here it shows an empty array waiting for some tasks.<br /><br />Now we can save it.  Again, just like the 'new' there's also a 'save' method we can call.<br /><br />>> project.save<br />=> true<br />>> project.id<br />=> 1<br /><br />Now we have a Unique ID.<br /><br />Now we can create a task, much like we created a project<br /><br />>> task = Task.new(:name => 'Test Task 1', :due_date => Time.now, :is_complete => false)<br /><br />We can't save the task yet, if you call Save you get an error<br /><br />>> task.save<br />ActiveRecord::StatementInvalid: MySql::Error: #23000Column 'project_id' cannot be null.<br /><br />We set the constraint on the project_id field that said it couldn't be null.  To save the Task it needs to belong to the Project we created.  We can add it using the &lt;&lt; operand<br /><br />>> project.tasks &lt;&lt; task<br /><br />Now you can call task.save and project.save<br /><br />If you call project.tasks it will list all the tasks.  You can access the attributes on the task like this<br /><br />>> project.tasks[0].name<br />=> "Test Task 1"<br /><br />Rails creates methods to allow you to find items in the database for creating an instance of an object.  An example of this is<br /><br />>> test_project = Project.find_by_name('Test Project')<br /><br />now you can perform the same inspection as before<br /><br />>> test_project.tasks[0].due_date<br />==> Sun Jan 13 22:34:17 -0500 2008<br /><br />Rails actually creates a find for every column, so you can do something like the following<br /><br />>> test_task = Task.find_by_project_id(1)<br />>> test_task.name<br />=> "Test Task 1"<br /><br />Well, that's enough for now.  I'll try not to take another month before writing up Part 3.]]></content:encoded></item><item><title>Ruby on Rails Project - To Do List # 1 (Reprint)</title><dc:creator>punkcoder@mac.com</dc:creator><category>Ruby</category><dc:date>2008-01-13T20:36:27-05:00</dc:date><link>http://www.punkcoder.com/Blog/files/e4329572ff929ac8b4aa477d5471aee5-10.html#unique-entry-id-10</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/e4329572ff929ac8b4aa477d5471aee5-10.html#unique-entry-id-10</guid><content:encoded><![CDATA[When I lost the files on my backup drive I lost my original blog files, which also meant the history of posts on my site.  This is a reprint of part 1 of my Ruby To Do List project, since I am about to post part 2.<br /><br />Originally posted on Dec 11, 2007...Good thing I'm not this slow at doing development at work :)<br /><br />>><br /><br />I am finally getting around to starting the personal Ruby on Rails project I wanted to work on, as a way to learn Rails development better.  You can only learn so much from a book, real world experience helps a lot.<br /><br />My plan is to build a simple To Do List application, I'll call it "PC-Task", just to add my Punk Coder touch.  I am going to document each step of the process.<br /><br />The first step is going to be pretty simple, it's just getting everything set up, creating the directory structure and getting the database created.<br /><br />I am using the install of Ruby and Rails that came pre-installed on Leopard, Mac OS X.<br /><br />These are: ruby 1.8.6 and rails 1.2.3<br /><br />I am also using MySQL for my database.<br /><br />Ruby on Rails has a directory structure which will be created with the following command<br /><br />$ rails <em>project_name<br /><br /></em>So, the first thing I will do is create this directory structure<br /><br />$ rails pctask --database=mysql<br /><br />Adding the --database=mysql switch will configure the application to use MySQL, saving you a step in editing the file.<br /><br />I'm not going to list all of the files that get created, but here's what the directory structure looks like<br /><br />$ cd pctask<br />$ ls -p<br /><br />README<br />app/<br />config/<br />doc/<br />log/<br />script/<br />tmp/<br />Rakefile<br />components/<br />db/<br />lib/<br />public/<br />test/<br />vendor/<br /><br />The bulk of where we work is in the application directory (app/), which contains the controllers, helpers, models and view directories.<br /><br />Another important directory is the script/ directory.  You will use this a lot in your development.  One important thing in there is the server which our application will run on.  We will use Mongrel, which listens on port 3000.  You start Mongrel with the following command.<br /><br />$ script/server<br /><br />Once it's started you can open a browser window and go to http://localhost:3000/.  This will bring up a default Welcome to Rails page with some Rails info.<br /><br />The next thing to do will be to set up the database.  I know the geeky thing is to do all your MySQL administration from the command line, but I am going to use a graphical environment called 'CocoaMySQL', a free tool you can find on the web.<br /><br />I create a couple new databases named 'pctask_development', 'pctask_test' and 'pctask_production', at localhost using the root user.  Now that the databases are created, we need to configure the application to connect to it.  This is done in the database.yml file located in the config directory.  If you open this in TextMate (my editor of choice), you should see a section that looks like this:<br /><br />$ mate config/database.yml<br /><br />development:<br />adapter: mysql<br />database: pctask_development<br />username: root<br />password:<br />host: localhost<br /><br />This style of markup is YAML (YAML Ain't Markup Language), which is why it has the .yml extension.  It's easy to read and something you use often in Rails development.<br /><br />Since we used the --database=mysql switch at the beginning the adapter parameter is already filled out for us.  Actually, we shouldn't have to make any changes, unless you've changed the default blank password for root user on localhost.  If so, fill it out.<br /><br />Now we can test the database connection.  To do this, we will perform a database migration using the rake command.  Type the following:<br /><br />$ rake db:migrate<br /><br />You should get output similar to the following if all worked well:<br /><br />(in /Users/punkcoder/Development/Ruby/pctask)<br /><br />If you receive an error, check to make sure your database is running.  You can do this from the command line with the following command:<br /><br />$ ps -ax | grep mysql<br /><br />You should receive a couple lines of output showing you the mysql processes that are running.  If nothing is running start MySQL<br /><br />$ sudo /usr/local/mysql/bin/safe_mysqld<br /><br />If MySQL is running and you receive an error, check the info in database.yml again.<br /><br />That's all for now.  We have the foundation set up to start development.]]></content:encoded></item><item><title>The Adicts</title><dc:creator>punkcoder@mac.com</dc:creator><category>Personal</category><category>Music</category><dc:date>2008-01-12T19:03:31-05:00</dc:date><link>http://www.punkcoder.com/Blog/files/ad11c3e858a8a33cd59d995ab6e58715-9.html#unique-entry-id-9</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/ad11c3e858a8a33cd59d995ab6e58715-9.html#unique-entry-id-9</guid><content:encoded><![CDATA[The Adicts are the longest surviving punk band with all the original members.  The formed back in 1975 in Ipswich, England.  I listened to them back in the day and have gotten back into them recently.  For Christmas I received an iTunes gift card, and I used it to purchase <a href="http://www.interpunk.com/item.cfm?Item=59254&" rel="external" title="The Adicts::Made In England">Made In England</a>.  This CD contains 25 of their greatest hits, and it's definitely something everyone who enjoys punk music should have in their collection.  If you are interested in hearing them, here they are performing '<a href="http://www.youtube.com/watch?v=QhzQ1_af-r8" rel="external" title="Youtube::The Adicts &#39;Viva La Revolution&#39;">Viva La Revolution</a>' and great song.]]></content:encoded></item><item><title>iWork</title><dc:creator>punkcoder@mac.com</dc:creator><category>Personal</category><category>Apple</category><dc:date>2008-01-12T18:10:58-05:00</dc:date><link>http://www.punkcoder.com/Blog/files/bd141b80506d8eb7e60764b7ae31db88-8.html#unique-entry-id-8</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/bd141b80506d8eb7e60764b7ae31db88-8.html#unique-entry-id-8</guid><content:encoded><![CDATA[I haven't ever really been big on office productivity software.  It's the one category of software I always find I spend more time battling the software than getting any particular use out of it.  In my day-to-day job I open the occasional Word document or Excel spreadsheet, but it's very rare for me to create one myself, unless I am throwing together a design document, which I find Word an awful tool for, but it's what we're provided.  At home it's pretty much the same, not much use for office software, but I do like to use a spreadsheet every once in a while, so I broke down the other day and purchased iWork.  Now I know I could use the free OpenOffice.org, or the NeoOffice version for the Mac, but I find them to be rather bloated and providing the same hindrance that I find with Microsoft Office.  There is a version of Microsoft Office for the Mac, a new version comes out next week, but it costs over $300, plus it's pretty much the same version as on Windows, which I'm not a fan of.  Instead, I decided to try out Apple's office suite, and I actually find that I like it.  It costs $79, and it contains a Word Processor called 'Pages', a Spreadsheet application called 'Numbers' and presentation software called 'Keynote'.  <br /><br />Pages has two different modes, 'Word Processor' or 'Page Layout'.  I like the separation, so you have the tools available that you expect when you are doing each mode.  It's fully compatible with .doc and .docx, being able to open and save in those formats, so you can still exist in a Microsoft world.<br /><br />Numbers is pretty amazing.  Never thought I'd be a fan of spreadsheet software, but I threw together a budget spreadsheet in no time; it even has a graph.  To create a comparable paige in Excel I'd have to have the help file open or do web searches.  It's just very straight forward in Numbers.  Again, like Pages, it supports .xls and .xlsx formats, so it can be used at work.<br /><br />Keynote is what Steve Jobs uses for his MacWorld presentations, and they always turn out great, so I know it's a great piece of software.  I don't find myself doing many presentations, but if I get the chance to I will definitely use Keynote.<br /><br />Overall, I am satisfied with my purchase.  Office suites have been around for a while, and they've become behemoths, with little new innovation coming out, so it's nice to see Apple throw in some new features and new takes on how to do things.]]></content:encoded></item><item><title>WCF Message Size Limit</title><dc:creator>punkcoder@mac.com</dc:creator><category>.NET</category><dc:date>2008-01-03T19:51:20-05:00</dc:date><link>http://www.punkcoder.com/Blog/files/60e55f871d214267bd1319f2aff26a52-7.html#unique-entry-id-7</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/60e55f871d214267bd1319f2aff26a52-7.html#unique-entry-id-7</guid><content:encoded><![CDATA[My first technology post of 2008!<br /><br />We ran into an interesting problem at work that I thought I would detail, in case others run into this problem.  A little background on our project.  Our application is used for the entry and management of contracts.  These are entertainment contracts, which can pertain to 1 or more titles.  These titles can have multiple rights and restrictions.  A lot of contracts are pretty simple, but some can get complex, containing a large amount of data.  In our testing we ran into one of these kinds of contracts.  It was for a long running show, so it contained all the episodes ever aired, which was around 460 episodes.  Now, add to that a couple rights that pertain to each episode and a couple restrictions, plus we attached a copy of the real contract in PDF form, which was around 860k in size.  When we tried to save the contract it bombed quickly not giving any indication of what occurred.  When we looked at the Request Message in Fiddler we saw that it was a little over 4MB in size and it looked fine, so no red flags there.  We checked the trace logs and it didn't provide us with any answers, just an error message saying the server connection closed unexpectedly.  We also looked at the app.config and the web.config settings to check if all the maxMessageLengths and maxBuffers were set to their maximum, along with high timeouts.  All of this looked fine.  Searching the web provided us with no answers, so we did some testing.  We created a new contract that contained no rights or restrictions and we attached one instance of the PDF.  This saved fine.  We then attached 2 PDFs, then 3PDFs, and it finally failed once we hit 4 PDFs.  This caught our attention because the size of the message we saw in Fiddler before was around 4MB and now this contract with 4 PDFs was around that size too.  Still, 4MB seemed small, since all of the maxLengths in the config files are Int32, meaning their maximum value is 2GB.  Now that we had this info I did a search and found a couple interesting things.  MSMQ has a maximum message size of 4MB.  This was interesting, but we weren't using MSMQ, so I looked elsewhere.  That's when I ran into ASP.NET having a limit of 4MB for files being transmitted.  This is apparently a safety feature to prevent DOS attacks.  While we aren't using ASP.NET we are using WCF services with wsHTTP, so I figured it was worth a shot.  I went into the web.config and added the following line in the System.Web section<br /><br />&lt;httpRuntime maxRequestLength="32678"/&gt;<br /><br />This set the max length of a Request to 32MB.  <br /><br />Once this was added we ran the same test we had before and the contract saved with no issues.  We researched this issue over the course of a couple days and were fearing the worst.  We thought we may have to re-architect the entire way we passed around data.  In the end we were glad to see it was 1 line that fixed everything.]]></content:encoded></item><item><title>Happy New Year</title><dc:creator>punkcoder@mac.com</dc:creator><category>Personal</category><dc:date>2008-01-01T21:56:54-05:00</dc:date><link>http://www.punkcoder.com/Blog/files/8a337069e311e9165d74ef6705a22d5f-6.html#unique-entry-id-6</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/8a337069e311e9165d74ef6705a22d5f-6.html#unique-entry-id-6</guid><content:encoded><![CDATA[Happy New Year!  Here's to a great 2008.<br /><br />Paige and I had a great time this New Years.  We took a break from our usual going out to a restaurant and toasting in the New Year.  This year we rented a villa at Callaway Gardens.  It turned out to be nicer than we thought.  The villa was very big, the only issue we had was there was too much furniture in it.  You couldn't walk around without almost knocking your knees into some dangerous piece of furniture.<br /><br />As part of staying at the villa we got full access to the park.  This time of year there aren't many people visiting Callaway Gardens, so we didn't have to fight the crowds.  The fun thing to do is going to the butterfly exhibit.  We both took a lot of photos.  I will link to mine once I have them off the camera and processed.<br /><br />We brought along food and cooked ourselves a great meal.  We bought a bottle of wine and sparkling wine, which we used to toast in the New Year.  It was a nice evening.<br /><br />I'm not doing my usual New Years Resolution post.  Not resolving to do too much this year.  My debt is under control, so I plan on keeping it that way.  I could stand to lose some weight, so I will work on that.  About the only other thing I can think of is trying to get back into taking pride in my job and working at Turner.  Lately I've looked at the job as an 8 hour chunk of the day that stands in the way of me doing stuff I enjoy, and it hasn't always been that way.  Guess I need to sit back and look at what it is I'm not liking and see what I can do to change it for the better.<br /><br />Have a great year!!]]></content:encoded></item><item><title>Some good reading</title><dc:creator>punkcoder@mac.com</dc:creator><category>Personal</category><category>Books</category><dc:date>2007-12-27T12:25:41-05:00</dc:date><link>http://www.punkcoder.com/Blog/files/37f421eff2ff21f06b7fcb48ba20e3d0-5.html#unique-entry-id-5</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/37f421eff2ff21f06b7fcb48ba20e3d0-5.html#unique-entry-id-5</guid><content:encoded><![CDATA[Since I don't subscribe to cable I have to make good use of my down time.  I spend a lot of this time reading.  I've always enjoyed reading, and I find it a great way to pass the time.  I thought I'd highlight a couple books I read this past year that I thought were good.<br /><br /><a href="http://www.amazon.com/Hungry-Planet-What-World-Eats/dp/1580088694/ref=pd_bbs_sr_1?ie=UTF8&s=books&qid=1198776563&sr=8-1" rel="external" title="Hungry Planet: What The World Eats">Hungry Planet: What The World Eats</a> - The premise of this book is an interesting one.  A husband a wife team, one a writer the other a photographer, travelled the world and found families that would let them live with them for a week.  The family would do their weekly grocery shopping and a photo would be taken of all the food that the family bought.  A family recipe was also included.  What makes the book so interesting is to see the various kinds of foods, how healthy some parts of the world are compared to others, and to see how much is spent on food by various cultures.  Every story in the book was interesting, and the photos were spectacular.<br /><br /><a href="http://www.amazon.com/Harry-Potter-Deathly-Hallows-Book/dp/0545010225/ref=pd_bbs_sr_1?ie=UTF8&s=books&qid=1198776811&sr=1-1" rel="external" title="Harry Potter and The Deathly Hallows">Harry Potter and The Deathly Hallows</a> - Yes, I realize I am 36 and this is a kids book, but J. K. Rowling writes in a way that makes it entertaining for all ages; plus, I read the other six books, can't very well not read the last one.  I thought all the books of the series were great.  It's a great story, the kind of thing I wish was around when I was young, maybe I would have read more.  This book nicely wraps everything up.<br /><br /><a href="http://www.amazon.com/You-Suck-Story-Christopher-Moore/dp/0060590300/ref=pd_bbs_sr_1?ie=UTF8&s=books&qid=1198776975&sr=1-1" rel="external" title="You Suck: A Love Story">You Suck: A Love Story</a> - I love Christopher Moore.  I have every one of his books, and I find them all entertaining.  This book is a continuation of <a href="http://www.amazon.com/Bloodsucking-Fiends-Story-Christopher-Moore/dp/B00061XNQG/ref=pd_sim_b_img_1" rel="external" title="Bloodsucking Fiend: A Love Story">Bloodsucking Fiends: A Love Story</a>, so I recommend reading that one first.<br /><br /><a href="http://www.amazon.com/Fourth-Bear-Nursery-Crime/dp/B000R7O2LE/ref=pd_bbs_sr_1?ie=UTF8&s=books&qid=1198777208&sr=1-1" rel="external" title="The Fourth Bear: A Nursery Crime">The Fourth Bear: A Nursery Crime</a> - Jasper Fforde has two lines of books that I read.  First is the Nursery Crime books, which features Jack Spratt of the Nursery Crime Division of the Reading Police Department.  In their world there is a such thing as fictional Nursery Rhyme creatures, and it makes for a great story.  His other line of books are the Thursday Next series, which I also recommend.  Jasper Fforde has a lot of the humor and great storytelling that Christopher Moore has.<br /><br /><a href="http://www.amazon.com/Peoples-History-United-States-Present/dp/0060838655/ref=pd_bbs_sr_1?ie=UTF8&s=books&qid=1198777478&sr=1-1" rel="external" title="People&#39;s History of The United States">People's History of The United States</a> - I've been reading this book for a while.  I pull it out at lunch when I have a chance and read a few pages.  Howard Zinn is pretty controversial, and you shouldn't take everything in this book as fact, but it is a great history book.  It's basically a book of history told through the people that lived at that time, through journals, newspaper articles, interviews, etc.  This kind of lets you cut through the censored media to see what was really going on at the time, but it also presents you with a new problem, since a lot of this writing can't be backed up by hard facts.  Still, I recommend it to anyone wanting to see the history of The United States from a different view.]]></content:encoded></item><item><title>Happy Holidays</title><dc:creator>punkcoder@mac.com</dc:creator><category>Personal</category><dc:date>2007-12-26T14:01:54-05:00</dc:date><link>http://www.punkcoder.com/Blog/files/1995c753518b5217daed6800a84a885f-4.html#unique-entry-id-4</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/1995c753518b5217daed6800a84a885f-4.html#unique-entry-id-4</guid><content:encoded><![CDATA[It's the day after Christmas, and I am back in Atlanta.  I spent Christmas Eve and Christmas Day in Columbus, GA, visiting with my family.  My sisters were busy with their families Christmas Eve, so I didn't see them until Christmas Day, when we all met at Beth's house for our annual Christmas dinner.<br /><br />This is the first Christmas that we didn't attend church on Christmas Eve.  The past couple years we have gone to my sister Beth's church, as she is the only one in the family that actually goes to church more than once a year.  This year my Mom wasn't interested in going there, so we spent Christmas Eve around the house.  We were going to head out to catch a movie, but the more we thought about it, it just felt good to sit around in front of the fireplace, watch a little TV and talk.<br /><br />My mother and I have a new tradition, we head out to Denny's for breakfast on Christmas morning.  We've found if you get there early enough, around 8:30 or so, there isn't a wait.  After that we both head home and nap for a little while before heading over to Beth's.  Once we're at Beth's we eat then give the kids their presents.<br /><br />It was a nice Christmas.  I don't really expect much from the holiday any more.  I am glad we don't do the whole gift exchange thing with the family and only concentrate on the kids.  It relieves a lot of unneeded stress of trying to find a gift.  The holiday has become way too commercial.<br /><br />Paige and I exchanged gifts Sunday evening.  She got me art supplies.  I used to love to sit down and draw, and have really wanted to get back into it.  I need to set aside time for doing it.<br /><br />Paige and I are renting a villa at Callaway Gardens for New Years.  We usually head to a restaurant and toast in the New Year there, but decided to try something different this year.  We both enjoy staying away from annoying drunk party goers, which is why we aren't heading to a New Years party.  Will be nice to toast in the New Year together.<br /><br />Happy Holidays!!]]></content:encoded></item><item><title>Another Year Older&#x2c; None The Wiser</title><dc:creator>punkcoder@mac.com</dc:creator><category>Personal</category><dc:date>2007-12-19T22:41:49-05:00</dc:date><link>http://www.punkcoder.com/Blog/files/c90bd7336413cb7da86a9eff0d937755-3.html#unique-entry-id-3</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/c90bd7336413cb7da86a9eff0d937755-3.html#unique-entry-id-3</guid><content:encoded><![CDATA[This past weekend was my birthday, I am the big three six.  I had a great birthday.  I spent it with friends.  Paige, Robin and I went out and had a great dinner at Eurasia, in downtown Decatur.  Robin gave me this great gift, a History of American Beers.  A galvanized container with 6 different types of American beer from the past, and a book on The History of American Beer.  I also got a great gift from Paige, Super Mario Galaxy.  I played it for about an hour, and it's amazing.  I love games that are all about game play and not just fancy, realistic, graphics.]]></content:encoded></item><item><title>Almost launch time</title><dc:creator>punkcoder@mac.com</dc:creator><category>Personal</category><category>.NET</category><dc:date>2007-12-13T22:49:20-05:00</dc:date><link>http://www.punkcoder.com/Blog/files/f383c67b8b6ad731f57c267920980361-2.html#unique-entry-id-2</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/f383c67b8b6ad731f57c267920980361-2.html#unique-entry-id-2</guid><content:encoded><![CDATA[Tomorrow is our final build, barring any major bugs that need to be fixed, before our soft launch to a few customers next week.  It's amazing how this agile development has produced a very usable application.  We've spent the past couple iterations doing a lot of front end work.  The back end and services seem to be working well, we haven't had to touch any of the code in a while.  We've learned a lot about agile development along the way.  We've gotten better at many aspects so it doesn't seem as overwhelming as it sometimes felt.  We still have a lot of development to do, this is just us getting it in front of the users so they can start banging on it, giving us feedback.]]></content:encoded></item><item><title>Had a blast in Santa Fe</title><dc:creator>punkcoder@mac.com</dc:creator><category>Personal</category><dc:date>2007-12-13T22:44:50-05:00</dc:date><link>http://www.punkcoder.com/Blog/files/4b46d26e0a58286a98f917ec2956053e-1.html#unique-entry-id-1</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/4b46d26e0a58286a98f917ec2956053e-1.html#unique-entry-id-1</guid><content:encoded><![CDATA[Paige and I returned from our short little vacation in Santa Fe Sunday.  We had a great time.  There aren't many tourists in Santa Fe this time of year, so the city was even quieter than usual.  We stayed at the same hotel as last time, The Inn of the Anasazi.  We actually got the same room as last time too, room 218.  Paige's Mom stayed next door.  Paige's sister, her husband and their dog stayed at a hotel a couple blocks away.  The weather was great, more wintery than the 70+ degree weather we are experiencing in Atlanta.  We're both glad we had visited Santa Fe before, because we didn't really do much sight seeing this time.  We mainly spent the days eating, drinking and hanging with her family.]]></content:encoded></item><item><title>Back up those back ups</title><dc:creator>punkcoder@mac.com</dc:creator><category>Personal</category><dc:date>2007-12-13T22:29:40-05:00</dc:date><link>http://www.punkcoder.com/Blog/files/d3221162b7fdb203f5167448f97f4a4b-0.html#unique-entry-id-0</link><guid isPermaLink="true">http://www.punkcoder.com/Blog/files/d3221162b7fdb203f5167448f97f4a4b-0.html#unique-entry-id-0</guid><content:encoded><![CDATA[I came back from my short vacation to a surprise.  My external backup drive was no longer booting up.  I tried a couple times, but from the sound of things, the platters aren't even starting to spin, plus I get no activity light.  This wasn't too much of an issue, because it seemed to me that the drive was near death, so I purchased a new 500GB drive and started moving stuff off one drive to another.  I probably have 90% of my music over, and all of my photos.  I lost a lot of my new TV shows I have downloaded, but I have watched all of them, so that's not an issue.  The one file I did lose though is the file used by RapidWeaver, the software I use for my web site.  RapidWeaver is a great piece of software, I got it as part of one of those Mac bundle things they run every so often on MacUpdate or MacHeist.  It's not so much drag and drop web development, or straight HTML coding, although you have the option to do that.  It's more along the lines of you add a new Contact Form, fill out a couple fields, and the form is generated for you.  Same with my blog.  I add a blog page, all the catagories and tags, RSS info, etc, then start typing blog postings.  RapidWeaver takes care of the themes, publishing, etc.  I like it.  Since I lost the file I had to create a new project.  I will slowly add back all the pages on my site.  For now I just have a home page, contact form and my blog.  I have placed the file on my laptop, so Time Machine will now be making back ups, in case I need to recover the file again some day.]]></content:encoded></item></channel>
</rss>