AdamStout.com2010-07-17T11:22:31-04:00-04:00AdamStout.comAdam Stouthttp://adamstout.com/adam@adamstout.comStout Enterprises15512512793981512010-07-17T11:22:31-04:00-04:002010-07-17T11:29:29-04:00-04:00Exporting SVN Change Log in PhingLast night I was working on add a <a href="http://www.phpdoc.org/">phpDocumentor</a> task to a <a href="http://phing.info">Phing</a> build script I have been working on. While Phing offers integration with phpDocumentor as well as some SVN task such as commuting, updating, and exporting, it doesn't have a native way to export the change log which I would like to include in the documentation. However, one great feature of Phing is how easy it is to expand. I wrote this little ad-hoc task to export the SVN history to a file which I then include in the documentation.<br><br>Here is the code if you'd like to add it to your build scripts:
<br><br>
<div class="code"><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #007700"><</span><span style="color: #0000BB">adhoc</span><span style="color: #007700">-</span><span style="color: #0000BB">task name</span><span style="color: #007700">=</span><span style="color: #DD0000">"svnlog"</span><span style="color: #007700">>
<br /><!--[</span><span style="color: #0000BB">CDATA</span><span style="color: #007700">[
<br />class </span><span style="color: #0000BB">svnLog </span><span style="color: #007700">extends </span><span style="color: #0000BB">Task </span><span style="color: #007700">{
<br /> private </span><span style="color: #0000BB">$file</span><span style="color: #007700">;
<br /> private </span><span style="color: #0000BB">$svnpath</span><span style="color: #007700">;
<br /> private </span><span style="color: #0000BB">$repositoryurl</span><span style="color: #007700">;
<br />
<br /> function </span><span style="color: #0000BB">setFile</span><span style="color: #007700">(</span><span style="color: #0000BB">$file</span><span style="color: #007700">) {
<br /> </span><span style="color: #0000BB">$this</span><span style="color: #007700">-></span><span style="color: #0000BB">file </span><span style="color: #007700">= </span><span style="color: #0000BB">$file</span><span style="color: #007700">;
<br /> }
<br />
<br /> function </span><span style="color: #0000BB">setSvnPath</span><span style="color: #007700">(</span><span style="color: #0000BB">$svnpath</span><span style="color: #007700">) {
<br /> </span><span style="color: #0000BB">$this</span><span style="color: #007700">-></span><span style="color: #0000BB">svnpath </span><span style="color: #007700">= </span><span style="color: #0000BB">$svnpath</span><span style="color: #007700">;
<br /> }
<br />
<br /> function </span><span style="color: #0000BB">setRepositoryUrl</span><span style="color: #007700">(</span><span style="color: #0000BB">$repositoryurl</span><span style="color: #007700">) {
<br /> </span><span style="color: #0000BB">$this</span><span style="color: #007700">-></span><span style="color: #0000BB">repositoryurl </span><span style="color: #007700">= </span><span style="color: #0000BB">$repositoryurl</span><span style="color: #007700">;
<br /> }
<br />
<br /> private function </span><span style="color: #0000BB">writeSvnLog</span><span style="color: #007700">(</span><span style="color: #0000BB">$svnpath</span><span style="color: #007700">=</span><span style="color: #DD0000">"/usr/bin/svn"</span><span style="color: #007700">, </span><span style="color: #0000BB">$repositoryurl</span><span style="color: #007700">, </span><span style="color: #0000BB">$file</span><span style="color: #007700">){
<br /> </span><span style="color: #0000BB">$cmd </span><span style="color: #007700">= </span><span style="color: #0000BB">$svnpath </span><span style="color: #007700">. </span><span style="color: #DD0000">" log " </span><span style="color: #007700">. </span><span style="color: #0000BB">$repositoryurl </span><span style="color: #007700">. </span><span style="color: #DD0000">" > " </span><span style="color: #007700">. </span><span style="color: #0000BB">$file</span><span style="color: #007700">;
<br /> echo </span><span style="color: #0000BB">$cmd </span><span style="color: #007700">. </span><span style="color: #DD0000">"\n"</span><span style="color: #007700">;
<br /> </span><span style="color: #0000BB">system</span><span style="color: #007700">(</span><span style="color: #0000BB">$cmd</span><span style="color: #007700">);
<br /> return </span><span style="color: #0000BB">true</span><span style="color: #007700">;
<br /> }
<br />
<br /> function </span><span style="color: #0000BB">main</span><span style="color: #007700">() {
<br /> </span><span style="color: #0000BB">$this</span><span style="color: #007700">-></span><span style="color: #0000BB">writeSvnLog</span><span style="color: #007700">(</span><span style="color: #0000BB">$svnpath </span><span style="color: #007700">= </span><span style="color: #0000BB">$this</span><span style="color: #007700">-></span><span style="color: #0000BB">svnpath</span><span style="color: #007700">, </span><span style="color: #0000BB">$repositoryurl </span><span style="color: #007700">= </span><span style="color: #0000BB">$this</span><span style="color: #007700">-></span><span style="color: #0000BB">repositoryurl</span><span style="color: #007700">, </span><span style="color: #0000BB">$file </span><span style="color: #007700">= </span><span style="color: #0000BB">$this</span><span style="color: #007700">-></span><span style="color: #0000BB">file</span><span style="color: #007700">);
<br /> }
<br />}
<br />]]-->
<br /></</span><span style="color: #0000BB">adhoc</span><span style="color: #007700">-</span><span style="color: #0000BB">task</span><span style="color: #007700">></span>
</span>
</code><br /></div>
<br>
Here is how you call it:
<div class="code"><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #007700"><</span><span style="color: #0000BB">svnlog svnpath</span><span style="color: #007700">=</span><span style="color: #DD0000">"/usr/bin/svn" </span><span style="color: #0000BB">repositoryurl</span><span style="color: #007700">=</span><span style="color: #DD0000">"http://rex/svn/${package}/" </span><span style="color: #0000BB">file</span><span style="color: #007700">=</span><span style="color: #DD0000">"${workingDir}/CHANGELOG"</span><span style="color: #007700">></</span><span style="color: #0000BB">svnlog</span><span style="color: #007700">></span>
</span>
</code><br /></div>Adam Stouthttp://adamstout.com/adam@adamstout.com012789797982010-07-12T15:09:58-04:00-04:002010-07-12T15:11:29-04:00-04:00Do you Care?I was flipping through some news the other day and read a story about how a BestBuy employee was expecting to be fired after releasing a video which in didn't mention BestBuy, didn't he was an employee of BestBuy, and didn't even mention his name. For this, I figured I should at least watch the video since he gave up his job for it.<br><br>This classic tale tells the story of an typical Apple customer asking for an iPhone and can't tell you why or listen to any evidence that the iPhone isn't the greatest thing ever. Well worth the three minutes to watch it.<br>
<object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/FL7yD-0pqZg&hl=en_US&fs=1"><param name="allowFullScreen" value="true"><param name="allowscriptaccess" value="always"><embed src="http://www.youtube.com/v/FL7yD-0pqZg&hl=en_US&fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></object>
<br>On a related note, if you don't watch <a href="http://www.imdb.com/title/tt0149460/">Futurama</a>, you should. The last episode, "<a href="http://www.imdb.com/title/tt1630892/">Attack of the Killer App</a>" was awesome. They really got the essence of the nonsensical hype that is apple.<br><br>This isn't the best part, but I love the observations that since it is Twitter and not Tweeter, a message isn't a tweet, it is a twit, right?<br><br>
<table style="font: 11px arial; color: #333333; background-color: #f5f5f5;" cellpadding="0" cellspacing="0" width="360" height="353"><tbody><tr style="background-color: #e5e5e5;" valign="middle"><td style="padding: 2px 1px 0px 5px;"><a target="_blank" style="color: #333333; text-decoration: none; font-weight: bold;" href="http://www.comedycentral.com/shows/futurama/index.jhtml">Futurama</a></td><td style="padding: 2px 5px 0px; text-align: right; font-weight: bold;">Thursdays 10pm / 9c</td></tr><tr style="height: 14px;" valign="middle"><td style="padding: 2px 1px 0px 5px;" colspan="2"><a target="_blank" style="color: #333333; text-decoration: none; font-weight: bold;" href="http://www.comedycentral.com/videos/index.jhtml?videoId=340940&title=the-twit-worm">The Twit Worm</a></td></tr><tr style="height: 14px; background-color: #353535;" valign="middle"><td colspan="2" style="padding: 2px 5px 0px; width: 360px; overflow: hidden; text-align: right;"><a target="_blank" style="color: #96deff; text-decoration: none; font-weight: bold;" href="http://www.comedycentral.com/">www.comedycentral.com</a></td></tr><tr valign="middle"><td style="padding: 0px;" colspan="2"><embed style="display: block;" src="http://media.mtvnservices.com/mgid:cms:item:comedycentral.com:340940" type="application/x-shockwave-flash" wmode="window" allowfullscreen="true" flashvars="autoPlay=false" allowscriptaccess="always" allownetworking="all" bgcolor="#000000" width="360" height="301"></td></tr><tr style="height: 18px;" valign="middle"><td style="padding: 0px;" colspan="2"><table style="margin: 0px; text-align: center;" cellpadding="0" cellspacing="0" width="100%" height="100%"><tbody><tr valign="middle"><td style="padding: 3px; width: 33%;"><a target="_blank" style="font: 10px arial; color: #333333; text-decoration: none;" href="http://www.comedycentral.com/shows/futurama/index.jhtml">Futurama New Episodes</a></td><td style="padding: 3px; width: 33%;"><a target="_blank" style="font: 10px arial; color: #333333; text-decoration: none;" href="http://www.comedycentral.com/shows/futurama/index.jhtml">Futurama New Episodes</a></td><td style="padding: 3px; width: 33%;"><a target="_blank" style="font: 10px arial; color: #333333; text-decoration: none;" href="http://www.comedycentral.com/shows/sunny/index.jhtml">It's Always Sunny in Philadelphia</a></td></tr></tbody></table></td></tr></tbody></table>Adam Stouthttp://adamstout.com/adam@adamstout.com012784419612010-07-06T09:46:01-04:00-04:002010-07-06T09:55:01-04:00-04:00Deploying PHP with PHINGAdam Stouthttp://adamstout.com/adam@adamstout.com012784411102010-06-27T20:00:00-04:00-04:002010-07-06T09:31:50-04:00-04:00I Love it When a Movie Comes Together<img alt="" src="http://lh6.ggpht.com/_d44GyKsQt2w/TDNzhKA6TwI/AAAAAAAAJfU/4VDkadV9xik/the_a_team.jpg" align="right">If I ever doubted how much my wife loves (which I don't after she moved to Pittsburgh with me), it is gone. Last night she had the idea that we go see the <a href="http://www.imdb.com/title/tt0429493/">A-Team</a>. Not because she wanted to see it (I actually believe the opposite to be true) but because she knew I would like it. After watching <a href="http://www.adamstout.com/entry/2009/10/go-joe-just-not-to-the-movie.html">G.I. Joe</a> last fall, I was a little scared about seeing a movie based on a show from my childhood. <br><br>I came in with very low expectations, and with that said, it was a really good movie. Not the best movie ever made but a good couple of hours. I wasn't optimistic about seeing <a href="http://www.imdb.com/name/nm0000553/">Liam Neeson</a> as Hannibal, but he did ok. I was however really impressed with the casting for Face and Murdoch. <a href="http://www.imdb.com/name/nm0177896/">Bradley Cooper</a> did a great job of playing Face bringing a great conman-esqe presense to teh character. The part I like the most was Murdoch played by <a href="http://www.imdb.com/name/nm1663205/">Sharlto Copely</a>. I didn't recognize Copely at first, but then it came back to me when I saw he was in <a href="http://adamstout.com/entry/2009/09/district-9-is-better-than-i-thought.html">District 9</a>. I don't really know his back story about how he got into acting as IMDB only lists him in a 2005 movie I have never head of and then District 9 and the A-Team. I'm looking forward to seeing his next project (and hopefully in an A-Team sequel.<br><br>If you liked the TV show, I recommend seeing the movie either in the theater or at least on DVD. If you haven't see the TV show, it may not be the same as someone how knows the characters. Lucky for you, all six seasons are streaming on Netflix (I'm rewatching them now).Adam Stouthttp://adamstout.com/adam@adamstout.com012768215222010-06-12T19:30:00-04:00-04:002010-06-17T15:38:42-04:00-04:00Making Other People Look Funny for 20 Years<img alt="" src="http://lh3.ggpht.com/_d44GyKsQt2w/TBq3ibAbuEI/AAAAAAAAJdE/ecTrzPYWHVg/rob-schneider.jpg" align="left">Tonight Jenny and went to go see <a href="http://www.imdb.com/name/nm0001705/">Rob Schneider</a> at the <a href="http://www.dcimprov.com/">D.C. Improv</a>. So far everyone I told about we were going seemed rather unimpressed. The comment I liked the most was that Rob Schneider was only good at making other people look funny. While true he is good at that, he was great live. He did a long set which was nice since he was who I was paying to see. It took him a few minutes to warm up, but once he got going, he was really funny. Totally worth the $25 for the ticket.<br><br>Beyond the comedy, the thing I remember is that he was really doing what people wanted. Unlike some other comedians, he got up on stage and gave us the "You Can Doooo It" voice a few times along with several other of his more famous lines. He has gt to be sick of those, but he gave us what we wanted. He also told a great story about "You Can Do It" which you'll have to see him to hear, but in any case, he does a great <a href="http://www.imdb.com/name/nm0001191/">Adam Sandler</a> impression.<br><br>Another expected bonus was that after the show, he came out to the front of the house and signed autographs. Although he was selling shirts that he would sign, I believe he was signing other things and talking to people for no charge. For a guy who has been a celebrity for so long, it is nice to see that he remember who pays him. BTW, he is really short.Adam Stouthttp://adamstout.com/adam@adamstout.com012728278782010-04-17T20:00:00-04:00-04:002010-05-02T15:25:56-04:00-04:00iPad Printing<img alt="iPad Printer" title="iPad Printer" src="http://lh5.ggpht.com/_d44GyKsQt2w/S93O4jA1WGI/AAAAAAAAJcI/O-99yKjXIPQ/iPad-printing-e1271524644377.jpg" align="right"><br>In case you got home with your new iPad and then realized that you can't
really do much with it, there is some hope. Although Apple doesn't
think you need to be able to print anything anymore (they are very
forward thinking remember), HP has created a new all in one
printer/scanner/copier that is compatible with the iPad. While not
officially supported by Apple, it is your best option for printing from
your iPad.<br><br><br>Enjoy your iPad!!!Adam Stouthttp://adamstout.com/adam@adamstout.com012728262462010-04-15T20:00:00-04:00-04:002010-05-02T15:25:21-04:00-04:00The Entire Web (Except the Stuff Apple Can't Charge You For)Adam Stouthttp://adamstout.com/adam@adamstout.com012728462692010-04-14T20:00:00-04:00-04:002010-05-02T15:24:29-04:00-04:00Kick Ass Does<img alt="Kick Ass" title="Kick Ass" src="http://lh3.ggpht.com/_d44GyKsQt2w/S94U-6QZIlI/AAAAAAAAJco/XsY24pHDUuk/s400/kick_ass_poster.jpg" align="right">Last night I wanted to go see a light hearted comedy, something I didn't have to think about for some quick laughs. It seemed a little childish, but we choose <a href="http://www.imdb.com/title/tt1250777/">Kick Ass</a>... Kid Super Heroes??? How silly could it get?<br><br>In this case, I was wrong about the movie, it was a rather dark comedy about kid super heroes, definitely not the light hearted 90 minutes I expected. While the premise is a bit odd, awkwardness displayed by <a href="http://www.imdb.com/name/nm1093951/">Aaron Johnson</a> was perfect for the part. I thought <a href="http://www.imdb.com/name/nm0000115/">Nick Cage</a>'s Big Daddy was good although I thought it could have done without the Batman reference. It was funny, but a little unneeded as the rest of the characters seemed very unique (although I can't claim to be a huge comic book buff).<br><br>If you miss this in the theater, I recommend adding it to your Netflix queue. This is a nice dark comedy set on a rather odd premise.Adam Stouthttp://adamstout.com/adam@adamstout.com012709545432010-04-10T17:55:43-04:00-04:002010-04-10T17:55:43-04:00-04:00How to Setup Remote Backups for FreeLast fall I purchased a network storage device (NAS) to store all of my music and pictures in my house. This allows for Jenny and I not to duplicate what we have on our computers and instead share everything. This is also a great place to run our backups to. The NAS is running RAID 1 so my data will be safe even if one of the drives fails. Hard drives will fail so you need to plan accordingly. Anyone who writes their data to only a single drive (especially an external drive that they move around) is just asking for trouble.<br><br>Once I got this online and moved my data and my backups to the new NAS, I felt much better knowing my data was secure. However, I realized that a fire or flood would destroy both drives as well as my computers so I still wasn't really safe. One feature that I'm glad I had on my NAS was a built in FTP server. Actually, me having it is nice, but my brother's NAS having FTP is what is really great. With a built in FTP server, I'm able to FTP my really important files to his NAS in California and he is able to do the same to D.C. It is really pretty cool that we are able to do this without any real cost. Now even if one of us has a fire and we lose everything, we will still have some important files (like insurance documents or scans of important paperwork). Now except for Clan Warfare, I'm pretty ok.<br><br><img alt="" src="http://lh4.ggpht.com/_d44GyKsQt2w/S8E2ny-XPRI/AAAAAAAAJcA/xys3Pg-XI5o/cobian.png" align="left">One really important component of my remote backup plan is the use of <a href="http://www.educ.umu.se/%7Ecobian/cobianbackup.htm">Cobian Backup</a>. I first found out about Cobian while at school at <a href="http://www.cmu.edu">Carnegie Mellon</a>. I figure if it is used there, it must be decent. It is a great freeware backup program (no longer open source, but Cobian seem to be well supported none-the-less). In Cobian, I setup a job to backup everything on my computer to the NAS each night as an incremental backup with a full backup once a week (and since I have the space, I keep a few full backups). I then setup another job to do a full backup once a week with differential updates each night that is zipped up, encrypted, and FTPed to my brother's NAS. It seems to work pretty well and it was surprisingly easy to setup. So easy in fact, my brother and I are setting up our parents' and grandparents' computers to do that backups as well.<br><br>Now if you don't have someone you can trust with your backups, you can always use a service like <a href="http://mozy.com/">Mozy</a> or <a href="http://www.carbonite.com">Carbonite</a> that allow you to backup to the cloud. This seems like a good option as well, but at around $60 a year, it is cheaper to just backup to back up to a friend's NAS that is already paid for. If I had a lot to backup, the unlimted space that is offered by these companies does seem to be reasonable priced.<br><br>Another alternative that a friend of mine mentioned was using a <a href="http://www.engadget.com/2005/03/01/how-to-use-your-gmail-account-as-a-personal-file-server/">GMail Virtual Drive</a> to backup to. If you created a new GMail account just for your backups, this would give you 8GB of free storage. The down side to this is that this may not be compliant to the terms of service of GMail, but since they haven't stopped this ustility from working in the past five years, you should be ok. If they do turn it off, you should still have access to the files, you just wouldn't be able to write any new backups to GMail.<br><br>To the point, spend the $0 and get <a href="http://www.educ.umu.se/%7Ecobian/cobianbackup.htm">Cobian</a> (or something like it), and do a remote backup somewhere either to Google or to a friend NAS that isn't in your house. If you run a business, this is even more important.Adam Stouthttp://adamstout.com/adam@adamstout.com012709506442010-04-04T18:30:00-04:00-04:002010-04-10T16:50:44-04:00-04:00Alice In 3D<img alt="" src="http://lh6.ggpht.com/_d44GyKsQt2w/S8EnwRKHbaI/AAAAAAAAJb4/YFcX05Xo4sw/alice_in_wonderland.jpg" align="right">While I miss the dollar theater I used to go to back in Texas, Jenny convinced me to go to the movies today. There wasn't much playing but the one thing that I wanted to see was <a href="http://www.imdb.com/title/tt1014759/">Alice in Wonderland</a>. I like <a href="http://www.imdb.com/name/nm0000318/">Tim Burton'</a>s movies in general so I thought it would be worth it to spring for the 3D tickets. That was of course before I realized that two 3D tickets would cost me $28. Since I'm still used to the $1 per ticket price, there was a bit of sticker shock. But I digress, as for the movie, it was pretty good. I liked the idea that this isn't a remake, it instead is a sequel to the previous movies based on the book. That being the premise, Burton was able to pull off a different story line with the same characters compared to what has been done before.<br><br>Visually, the movie was pretty impressive. Perhaps not as breathtaking as <a href="http://www.adamstout.com/entry/2010/01/avatar-is-no-matrix-but-still-a-must-see.html">Avatar</a>, but very good none the less. One thing that I could have done without though is the 3D. In Avatar, I found some scenes very difficult to watch and although that occurred less with Alice, there were still some times where I found myself closing one eye to make it easier to see. I think I'm done paying the extra for something that is just distracting. The scene I remember being most impressive in 3D in both Avatar and Alice are the credits. They looked really cool in 3D but I don't see the need to pay $3 or $4 just to see them. I'll try 3D again in a couple of more years when they can improve the technology a bit more.Adam Stouthttp://adamstout.com/adam@adamstout.com012709493602010-03-18T14:30:00-04:00-04:002010-04-10T16:29:20-04:00-04:00What Can't You Get at Costco?<img alt="" src="http://lh4.ggpht.com/_d44GyKsQt2w/S8Ej0LtesUI/AAAAAAAAJb0/0SknvWeldUE/idiocracy_costco.jpg" align="left">Apparently while I was at work today, Jenny got a call at home from Costco. They were conducting a survey to see whether or not we would be interested in buying health insurance from them. While I do like Costco and I think they sell many quality products, I'm not sure I want to buy my health insurance and toilet paper from the same place. I can't help but think about Mike Judge film, <a href="http://www.imdb.com/title/tt0387808/">Idiocracy</a>. In the movie (seen on the left), Costco sells everything. The main character's lawyer even got his law degree there.<br><br>Regardless, it is Costco, and I trust them so once they start offering insurance in Virginia, I'm sure I'll at least get a quote from them.<br><br>Welcome to Costco... I love you.Adam Stouthttp://adamstout.com/adam@adamstout.com012668026602010-02-21T14:37:40-05:00-05:002010-02-21T14:37:40-05:00-05:00Outlook's Social Connector Now Available for Older Versions of OutlookA couple of months ago I downloaded the public beta of Office 2010. Overall it seemed fine although it was difficult to see what was really changed. Most of the apps looked essentially the same as in Office 2007 except I did notice that Groove was renamed to SharePoint Workspace. It seems to work the same (with some small enhancements) but overall, it looks the same to me. <br><br><img style="width: 500px; height: 432px;" alt="" src="http://lh6.ggpht.com/_d44GyKsQt2w/S4Hdd65lLcI/AAAAAAAAJa0/C59MZ6FNO1U/SocialConnector.png" align="right">The one exception to this was Outlook 2010. It didn't sync correctly with my BlackBerry so I couldn't use it for long and had to revert to Outlook 2007, but the one feature I really liked was the Social Network integration. This is similar to how smart phones sync with Facebook (and how Linked In should) so the profile picture and phone numbers stay in sync with what your contact has listed on the site. This is a great feature to help ensure you don't have stale email address or phone numbers which both seem to change a little too often now a days. In Outlook 2010, Microsoft allows 3rd party developers to create connections between Outlook and what ever internet service they want to help sync the information. <br><br>This integration is made most obvious through the "Person Pane" (see to the right) in an Outlook mail message although you will see it when you open a contact directly as well. This single feature would have pushed me to upgrade to 2010, but Microsoft did something unexpected that will make me rethink that...<br><br>They released this feature as a free add-on to older versions of Outlook. You can <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=c87e257c-d76f-4785-a09b-af36babd6e32&displaylang=en">download the beta version of Outlook Social Connector</a> which works with Outlook 2003 and 2007 (and of course this is built into Outlook 2010). Once you have the Social Connector installed, you can get the<a href="http://www.linkedin.com/outlook"> connector for LinkedIn from their site for free</a> as well. You can expect that a connector for Facebook will be forthcoming after the release of Office 2010 (or perhaps even earlier), but for now, I'm happy with <a href="http://www.linkedin.com/">LinkedIn</a> since those are the contacts I'm not concerned with anyway.Adam Stouthttp://adamstout.com/adam@adamstout.com012662478212010-02-15T04:30:21-05:00-05:002010-02-21T14:39:25-05:00-05:00Snowmageddon<img alt="" style="width: 150px; height: 200px;" src="http://lh3.ggpht.com/_d44GyKsQt2w/S3lmsm937kI/AAAAAAAAJYw/s3A260v8hkk/IMG00016-20100214-1243.jpg" align="left">Yesterday Jenny and I were out and stopped by a local restaurant for lunch. It is obvious to me that we have now come to the time of Snowmageddon. Why else would you have a sign like this on your patio? As a native San Diegian, this is just not right.
<br><br>After lunch we stopped by a nearby Home Depot. While shoveling the never ending snow the last week, we broke the shaft on our steel reinforced snow shovel so we decided to pick up a new one. The local grocery stores have been sold out for a while, but we figured that Home Depot may have gotten some new shovels in this weekend in preparation for the next round of snow next week.<br><div style="text-align: left;"><br>Well, I was wrong, they didn't have any shovels but they did have a box of these upfront:<br><br><img alt="" style="width: 400px; height: 300px;" src="http://lh6.ggpht.com/_d44GyKsQt2w/S3loT2YhcWI/AAAAAAAAJY0/p9EyfpKkfVA/IMG00018-20100214-1641.jpg" align="right"><br><br>For those of you who want to see more of Snowmageddon, take a look at my <a href="http://adamstout.com/gallery/set/snowpocalypse-2010/">photo album from the last week</a>.<br></div>Adam Stouthttp://adamstout.com/adam@adamstout.com012662776872010-02-13T14:30:00-05:00-05:002010-02-15T12:48:07-05:00-05:00Stout Ale is in the Bottles<img alt="" src="http://farm3.static.flickr.com/2799/4354016383_aca31d3a6b_m.jpg" align="right">As a Christmas present, Jenny got me a Home Brewing kit from <a href="http://www.mrbeer.com/">Mr. Beer</a>. I had mentioned in the past that I wanted to brew some "Stout's Stout" mostly as a joke (since I don't really care for stouts) but underneath that joke, I really did want to try a home brew. This kit was a great starter, it come with everything I needed and instructions on how not to screw it up. To the right you can see some of bottled beverages that were produced. Now we just a have a few more weeks to wait while the carbonation kicks in a then the Stout Ale will be ready for consumption.<br><br>Brewing is fun but what I really want to try is distilling. I'm not sure if it is legal where I live but after I do some more home brewing, I think I'm going to look into that. Have you had any luck with home distilling?<br><br>We took <a href="http://adamstout.com/gallery/set/beer-making-1st-brew/">pictures from the brewing a few weekends ago along with the bottling from today</a>.Adam Stouthttp://adamstout.com/adam@adamstout.com012654274982010-02-05T16:38:18-05:00-05:002010-02-05T16:38:18-05:00-05:00The Snowpocalypse Is HereFor those of you who haven't heard, the Snowpocalypse is upon us, we are supposed to get 20" to 30" of snow tonight. And on top of that there
is supposed to be lighting. <br><div style="text-align: center; width: 100%;"><img alt="" style="display: block;" src="http://farm3.static.flickr.com/2698/4333314633_9db6267e0b.jpg" align="center"></div>This picture is from the <a href="http://adamstout.com/gallery/shopper-stopper-blizzard-of-09/">Shopper Stopper</a> we had last month but it should give you an idea of what is to come. Being from San Diego originally, this is all a bit to absorb but it was nice to get kicked out of the office at 2 and told to go home. I never got a snow day from school, so I'll take what I can get and enjoy it.<br><br>One plus side of this weekend is that I learned the term "<a href="http://www.urbandictionary.com/define.php?term=snowtarded">snowtarded</a>". UrbanDictionary.com lists the definition as, "Those who have no clue how to drive/function in the snow" and there is no better way to describe the people out here in D.C. This storm is bad, but it will be clear in a few days. There is no need to buy up a month of supplies from the store like people seem to be doing. These are the same idiots who don't realize you need to drive slower on snow regardless of teh speed limit.<br><br>I'm just going to try to stay home this weekend.<br>Adam Stouthttp://adamstout.com/adam@adamstout.com012643941372010-01-24T17:35:37-05:00-05:002010-01-24T17:35:37-05:00-05:00Annoying CSS<img style="width: 256px; height: 185px;" alt="" src="http://lh6.ggpht.com/_d44GyKsQt2w/S10atHdwxhI/AAAAAAAAJYo/UghBiDpxE8I/gallery.narrow.png" align="left">I've spent the last few evenings trying to update the layout of my site to handle resizing better. Before it was hard-coded to be 972 pixels wide. This looked fine on my laptop (and I'm hoping on most other people's computer's) but since I bought I 24" wide screen monitor I realized there was lots of unused space that could really be used by my photo gallery. On the left, you can see what the gallery looked like before my changes. There was only a fixed number of pictures per row which once again was fine on my laptop but left a lot of unused space on larger monitors.<br><br>To my point, I tried to allow the CSS template to flow with the center expanding but I just couldn't get it to work right. I need to have three variable height columns to work but that just doesn't seem possible. <a href="http://matthewjamestaylor.com/blog/equal-height-columns-cross-browser-css-no-hacks">This is the closest I found</a> to what I wanted but it couldn't use a background image for the side columns (other than that, it would have been fine).<br><br><img style="width: 300px; height: 188px;" alt="" src="http://lh3.ggpht.com/_d44GyKsQt2w/S10eUBfh5YI/AAAAAAAAJYs/9vsMVjMVg-Q/gallery.wide.png" align="right">I ended up using the old borderless table technique. I wanted to stick to CSS only, but like I said, I don't think it is possible (I though you could use the new table emulation in CSS but that isn't support everywhere and is basically just using a table anyway).<br><br>Moral of the story, sometimes you should just use the simplest approach instead of wasting time trying to fancy. On the plus side, you see on the right the same photo gallery as on the left but now it is stretched out and can take up more of the screen space which is a good thing for the galleries that have hundreds of pictures as well as when viewing all the photos with a certain tag (which is a recent feature added to <a href="http://adamstout.com/gallery/">the gallery</a>).<br><br>Adam Stouthttp://adamstout.com/adam@adamstout.com012639927752010-01-20T02:06:15-05:00-05:002010-01-20T02:06:15-05:00-05:00What does love really mean?<img alt="" src="http://lh4.ggpht.com/_d44GyKsQt2w/S1b-Yc7IxRI/AAAAAAAAJYk/dwV0hPqZU-M/3488767177_75a52cc794_m.jpg" align="right">I'm not going to go into detail about ho much spare time I have, but yesterday I was reading a dictionary and came across an explanation of why we use the word "love" in tennis to describe zero points.<br><br>Although after a little more research this seems in doubt, what I read was that <a href="http://www.topendsports.com/sport/tennis/scoring.htm">love is an Americanization of the French word "L'euf"</a> meaning egg (which is what a 0 kin of looks like right?). <br><br>Even if it didn't come from the French, people seem to agree it is from Americans mispronouncing the original (which is also perhaps Dutch).Adam Stouthttp://adamstout.com/adam@adamstout.com012635327212010-01-14T18:18:41-05:00-05:002010-01-14T18:18:42-05:00-05:00Photo Gallery UpdateIn April of last year, <a href="http://www.adamstout.com/entry/2009/04/flickr-gallery-beta.html">I migrated my Picasa based photo gallery to use Flickr</a> instead. I like the <a href="http://www.flickr.com/services/api/">Flickr's API</a> much better than the crap Google offers for Picasa. In addition to the API Flickr offers unlimited storage of pictures for about the same price as a few GB of storage with Google (at the time at least). I believe they have since lowered their prices so you can get unlimited storage with Flickr or 80 GB with Google. If Google makes some enhancements to the API, I may end up switching back.<br><br>To the point, with nearly 70 photo albums, the Flickr API was a little too robust to use real time. To get around this, wrote a small MySQL database to cache all the data I need locally (still hosting the pictures on Flickr). This has greatly improved the load time of all the pages. For instance, the main gallery page now loads in .4 seconds instead of the 20+ seconds it was taking before. While the API had everything I want, not everything was in the right call, so I had to make several calls per page instead of just one large call to the API. This really slowed things down. Now I just call a single MySQL query (that still needs to be optimized).<br><br><div style="text-align: center;"><img alt="" style="width: 500px; height: 407px; display: block;" src="http://lh4.ggpht.com/_d44GyKsQt2w/S0_5tUCHPSI/AAAAAAAAJYg/asFmf4feQ4M/flickrgallery.png" align="center"><br><div style="text-align: left;">I'm also taking the opportunity to clean up the accordion menu by switching from a one off script to a <a href="http://www.i-marco.nl/weblog/yui-accordion/">YUI based solution</a>. This change will allow me to do some additional expansions in the future to allow for more groupings and possibly some more display options.<br><br>Let me know what you think<br></div></div>Adam Stouthttp://adamstout.com/adam@adamstout.com012633152732010-01-12T05:54:33-05:00-05:002010-01-12T05:59:40-05:00-05:00Google's Motives For Giving Away InternetIf you have traveled through any airports lately you may have noticed that <a href="http://money.cnn.com/2009/11/10/technology/Google_free_wifi_airports/">several airports have free WiFi</a> (through January 15th) thanks to Google (via what appears to be a partnership with Boingo). It is interesting to me that included on the <a href="http://www.freeholidaywifi.com/">list of airports Google is providing WiFi</a> for is San Diego and Pittsburgh both of which already had free WiFi. I've only traveled through a few of the airports on the list where I've tried to use the internet, and although I know Dulles (Washington, D.C.) and Austin do not normally have free WiFi, my sampling shows 50% of the airports already had free WiFi. It is also interesting that while <a href="http://www.bing.com/news/search?q=google+free+internet+airport&FORM=BNFD">Google is getting a lot of press</a> for this "<em>benevolent</em>" action, there are others (like E-Bay) that are sponsoring free internet in other places but not getting much press.<br><br>A few weeks ago, I was traveling through Austin and when I connected to Google's sponsored connection and got a clue as to why they are really doing this. Here is a screen shot of what I saw:<br><br><div style="text-align: center;"><img alt="" style="width: 512px; height: 353px; display: block;" src="http://lh4.ggpht.com/_d44GyKsQt2w/S0yoIzHo3jI/AAAAAAAAJYY/PnxUP8qWbyY/freegoogle.screenshot.png" align="center"><br></div>While at first this looks like a normal Terms of Service agreement that you have to click on to get onto a public network, it really is a way to grab some more market share for Chrome. While people are just trying to get on-line in a hurry, they are going to download Chrome because they think they need it to continue onto the internet. I almost clicked on it and I'm a pretty technical person, I would love to see how many people Google tricked into downloading Chrome and having it automatically become the default browser.<br><br>If GMail didn't make Google Evil, Chrome certainly did.<br><br>On a side note, while trying to find the list of airports that Google is providing the WiFi for, I searched for "google free internet" and came across Google's free at home internet, <a href="http://www.google.com/tisp/">TiSP</a>. If you search either Google or Bing you'll see this comes up first. So while Google is Evil, at least they have a sense of humor.Adam Stouthttp://adamstout.com/adam@adamstout.com012632559022010-01-11T13:25:02-05:00-05:002010-01-11T13:26:10-05:00-05:00CNN Needs an Editor as WellYesterday I pointed out that Reuters needs to get a new editor who can proof read their articles, it looks like CNN needs one as well. I was reading an <a href="http://edition.cnn.com/2010/POLITICS/01/11/palin.fox/">article about Palin's new deal with Fox</a> when I learned that the GOP had presidential primaries in <em><strong style="color: #c00000;">2009</strong></em>. I must be behind the times, I thought all the primaries were in 2008 when we had the general election for president.<br><img alt="" style="height: 615px; width: 622px;" src="http://lh4.ggpht.com/_d44GyKsQt2w/S0vBFoyO01I/AAAAAAAAJYU/Sroj_2dtBM8/cnntypo.png">Adam Stouthttp://adamstout.com/adam@adamstout.com012632550682010-01-11T13:11:08-05:00-05:002010-01-11T13:13:55-05:00-05:00Finding Duplicate Music and Pictures<img alt="" style="height: 90px;" src="http://lh3.ggpht.com/_d44GyKsQt2w/S0u1Ynmtp0I/AAAAAAAAJYQ/8ajPaMbbAo4/iomega_logo.png" align="right">A couple of months ago I bought an Iomega ix2 <a href="http://iomega.com/nas/index.html">Network Attached Storage</a> device. While Iomega's name isn't what it was back in the day of the zip drive, since they are now owned by EMC, I figured the quality must be ok. Overall, I think I got what I paid for, but the drives are a little slow when serving pictures and music. It works fine for my back ups, but I think I'll buy something a little faster next time to at as a home media server.<br><br>The major thing I wanted to accomplish with my new shared storage was to get all the pictures and MP3s that I had on my laptop, desktop, a my wife's desktop into a central location that was backed up and accessible to all the systems. The Iomega NAS worked great but once I got everything in one location, I realized that I had a lot of duplicate pictures between the three systems I merged together. I started looking into writing an application to help de-duplicate the files but before I got too far, I took a look at what freeware was out there. <br><br><div style="text-align: center; width: 100%;"><img style="width: 512px; height: 369px;" alt="" src="http://lh3.ggpht.com/_d44GyKsQt2w/S0uyKbji9hI/AAAAAAAAJYM/M8CEa-ieZfs/dupcleaner.png" align="left"></div>I tried a few of the applications out there, but quickly settled on <a href="http://www.digitalvolcano.co.uk/content/duplicate-cleaner">Duplicate Cleaner</a>. It is a nice little app that quickly searches your directories for duplicates based on different (and configurable) criteria. While there were some other apps the specialized in images and others in music, this handles music, pictures, videos, and documents.<br><br>The guys at <a href="http://www.digitalvolcano.co.uk/content/">DigitalVolcano</a> really saved me some time compared to writing something and I appreciate they didn't try to charge me $50 for something I only need to use every once in a while. Some of their other apps on the site seem a little odd, but what ever floats their boat. This one is a nice light weight app.Adam Stouthttp://adamstout.com/adam@adamstout.com012631817462010-01-10T16:49:06-05:00-05:002010-01-10T16:49:06-05:00-05:00Reuters Needs a New EditorI've had some free time on my hands and while I was reading the news at Reuters a couple of days ago, I read what had to be a typo. What "<strong><em>adversity</em></strong>" is a valid word, I have a feeling that Senator Reid has worked for his career to promote "<em><strong>diversity</strong></em>". This story was filed at 5pm on Saturday and as of now, it is still posted with the mistake. Apparently the author, <a href="http://blogs.reuters.com/steve-holland/">Steve Holland</a>, doesn't read the comments on his articles since there several people have posted this blatant error.<img alt="" style="width: 640px; height: 512px; display: block;" src="http://lh4.ggpht.com/_d44GyKsQt2w/S0qeC_pSyqI/AAAAAAAAJXk/PTkU0XM7kys/ReutersTypo.png" align="center"><br>You can read the full article <a href="http://www.reuters.com/article/idUSTRE6081V820100109?type=politicsNews">here</a>.Adam Stouthttp://adamstout.com/adam@adamstout.com012631838242010-01-05T19:00:00-05:00-05:002010-01-10T17:23:44-05:00-05:00Avatar is No Matrix, but still a "Must See"<img alt="" src="http://lh4.ggpht.com/_d44GyKsQt2w/S0qgiHRd86I/AAAAAAAAJXo/2Itrd5nRQ3E/avatar_poster.jpg" align="right">It amuses me how the news keeps reporting how much money Avatar is pulling in. A ticket for an evening showing of Avatar at my local multiplex is $14. This obscene price makes the total box office a little meaningless doesn't it? If you consider that <a href="http://www.supershadow.com/starwars/boxoffice.html">Star Wars brought in $798 million</a>, then the $429 million that Avatar has brought in after 4 weeks isn't too impressive. World wide there must be thousands of more theaters than there were 30 years ago and when you adjust for ticket prices (<a href="http://old.swivel.com/data_sets/show/1000526">A little bit of
research</a> shows that the average ticket in 1977 was a little over $2), Avatar would need to bring in more than 4 and half billion dollars to be as popular as the original Star Wars. So until the news starts reporting the total ticket sales or adjusts for differences in price, I'm going to keep ignoring the gross sales.<br><br>As for the movie, the story was a little lacking (which apparently <a href="http://www.imdb.com/name/nm0000116/">Cameron</a> tried to make up for with length) but if you can get through slow pace and the unbelievable setup in the first hour, then you can sit back and enjoy the last hour and half. The is nothing mind blowing about this story like we saw in <a href="http://www.imdb.com/title/tt0133093/">The Matrix</a>, but the special effects are simply amazing. I saw it in 3D which looks amazing most of the time, but also hurts my eyes in others so while I can do without that, the computer animation is simply believable (not unbelievable like in the aforementioned Star Wars. You can't tell where the actors end and the computer begins.<br><br>It is expensive, but this is a movie you need to see on the big screen.Adam Stouthttp://adamstout.com/adam@adamstout.com012632467872010-01-03T19:00:00-05:00-05:002010-01-11T10:53:07-05:00-05:00My New Kia SoulWhen we lived in Pittsburgh, we didn't need two cars so I left my <a href="http://en.wikipedia.org/wiki/BMW_Z3">Z3</a> in San Diego. Once we decided to move to D.C., we realized a convertible didn't make too much sense so we sold my car and just kept the <a href="http://en.wikipedia.org/wiki/Mitsubishi_Pajero">Montero</a>. Right before we moved out here, I got the news that I would be traveling every week so we decided to put off buying a car until I was back here driving to work every day.<br><br>As my traveling comes to an end, Jenny and I had to finally stop our
procrastinating and buy a new car. We were looking at a used <a href="http://en.wikipedia.org/wiki/Honda_Fit">Honda Fit</a> but it after looking around it looked like a new Hyundai or Kia would be cheaper. We were looking at a <a href="http://en.wikipedia.org/wiki/Kia_Forte">Kia Forte</a> but the morning we were planing on going out for a test drive, I was looking at the inventory of a local Kia dealer and saw the price of a <a href="http://en.wikipedia.org/wiki/Kia_Soul">Soul</a>. It was pretty comparable to a Forte so I asked Jenny to take a look. She liked it and after a test drive, we were sold (literally). <br><br>
<a href="http://www.costcoauto.com/"><img alt="" style="height: 75px;" src="http://lh5.ggpht.com/_d44GyKsQt2w/S0ubbnbHE5I/AAAAAAAAJX8/8u3dScOW-QE/costcoauto.png" align="left"></a>Since we were looking at new cars, I looked up the <a href="http://www.costcoauto.com/">Costco Auto Buying Program</a>. I had seen cars parked out in front Costcos for years and never though much of it, but I figured it couldn't hurt to see what the program offered. Basically, all you have to do is look up a dealer who participates in your area and tell them you are a Costco member. Then you get a price a certain amount below invoice with no negotiating. Based on the <a href="http://www.edmunds.com/popupinfo/abouttmvprices.html">Edmunds True Market Value </a>which tells you what people are paying for a certain car in your area, this is a pretty good price.<br><br><img alt="" style="width: 400px; height: 300px;" src="http://lh6.ggpht.com/_d44GyKsQt2w/S0uXfRAZ-TI/AAAAAAAAJX4/OXGWbE2Dmx8/new%20kia.jpg" align="right">The one catch is that you have to buy a car on the lot and can't order one. Not a huge issue, but while I wanted a car that was metallic gray, the only one that they had in stock which the options we wanted was in Alien (Kia's name for metallic green). As you can see based on the picture to the right, that is the one we got. This happened to be the color that Jenny liked the most so it worked out well for us.<br><br>While we haven't had it long, I'm pretty happy with the Soul so far. Having built-in BlueTooth is a great feature and while I'm not sure I'm going to pay $15 a month to renew the XM, it is a nice feature. If I was driving more than 5 miles to work, I would think about it some more.Adam Stouthttp://adamstout.com/adam@adamstout.com012631855802009-12-24T19:00:00-05:00-05:002010-01-10T17:53:00-05:00-05:00Elementry My Dear<img alt="" style="height: 269px; width: 180px;" src="http://lh3.ggpht.com/_d44GyKsQt2w/S0qseKeE1wI/AAAAAAAAJXs/DFEdJ2o9QMY/movie.sherlockholmes.jpg" align="left">A normal holiday tradition around here is to go see a movie while everyone else is home with their families. Apparently around here, that is a pretty common idea. We went to see <a href="http://www.imdb.com/title/tt0988045/">Sherlock Holmes</a> at a sold out theater. This just reinforced my rule about not seeing movies on opening day. <a href="http://www.imdb.com/name/nm0000375/">Robert Downey Jr.</a> was great in the movie but he would have been better if I didn't have to sit in the front row.<br><br>Downey does a great job of playing troubled characters. He added a great deal of complexity to the character that another actor might not have been able to. If you are already a fan, this is a can't miss. However, if you aren't a fan already, you may want to wait for this to come out on DVD.<br><br>I want to applaud the screen writers, Johnson, Peckham, and Kinberg for not being tempted to throw in a "Elementary my Dear Watson" (even out of context). I think back to the <a href="http://www.imdb.com/title/tt0425061/">Get Smart</a> movie that tossed (or perhaps forced ) in all the catch phrases at the expense of the movie. This was well done all on its own. I look forward to the sequel (which was certainly left open by the ending).Adam Stouthttp://adamstout.com/adam@adamstout.com0