<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-8857431988988627285</atom:id><lastBuildDate>Fri, 20 Jan 2012 15:52:44 +0000</lastBuildDate><category>CodeGear</category><category>C#</category><category>C++</category><category>C++Builder</category><category>Touch</category><category>Help</category><category>Unicode</category><category>photo</category><category>iPhone</category><category>funny</category><category>Delphi</category><category>Review</category><category>peek</category><category>COM</category><category>Tips</category><category>Tiburon</category><category>Java</category><title>Chris Bensen</title><description>This is my blog about software development, mountain unicycling, Photography, and stuff I find interesting.</description><link>http://chrisbensen.blogspot.com/</link><managingEditor>noreply@blogger.com (Chris Bensen)</managingEditor><generator>Blogger</generator><openSearch:totalResults>385</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/ChrisBensenBlog" /><feedburner:info uri="chrisbensenblog" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8857431988988627285.post-3565272222659887024</guid><pubDate>Wed, 21 Dec 2011 15:00:00 +0000</pubDate><atom:updated>2011-12-21T07:00:00.447-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Delphi</category><title>Thom on Windows 8 using Delphi</title><description>Thom has some great preliminary information on Windows 8 using Delphi. Check out his blog &lt;a href="http://www.thomgerdes.com/"&gt;here&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
p.s. COM will never die.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-4398465119811197";
/* 468x60, created 7/20/08 */
google_ad_slot = "3994176404";
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8857431988988627285-3565272222659887024?l=chrisbensen.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ChrisBensenBlog/~4/M0Njw6SIJPY" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/ChrisBensenBlog/~3/M0Njw6SIJPY/thom-on-windows-8-using-delphi.html</link><author>noreply@blogger.com (Chris Bensen)</author><thr:total>0</thr:total><feedburner:origLink>http://chrisbensen.blogspot.com/2011/12/thom-on-windows-8-using-delphi.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8857431988988627285.post-2619515146740470000</guid><pubDate>Tue, 13 Dec 2011 15:00:00 +0000</pubDate><atom:updated>2011-12-13T07:00:02.260-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Delphi</category><title>Delphi Mac file system helper functions</title><description>I still have a few Delphi posts in the queue that I've been going through and cleaning up. Now that Delphi Mac support has shipped, there were a couple RTL functions that I wrote that may be useful to some people out there interacting with POSIX.&lt;br /&gt;
&lt;br /&gt;
StringToFileSystemString (Mac only)&lt;br /&gt;
FileSystemStringToString (Mac only)&lt;br /&gt;
&lt;br /&gt;
Mac stores file names internally as decomposed UTF-8 strings. This means that the diacritic will be a separate character after the character the diacritic is applied to. This is different than other POSIX platforms or Windows. Because of this all strings that are returned from file system functions need to be translated to a Delphi UnicodeString for use with the rest of the application. StringToFileSystemString and FileSystemStringToString will convert between a UnicodeString and a UTF-8 decomposed string.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-4398465119811197";
/* 468x60, created 7/20/08 */
google_ad_slot = "3994176404";
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8857431988988627285-2619515146740470000?l=chrisbensen.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ChrisBensenBlog/~4/-J47E4m6iXQ" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/ChrisBensenBlog/~3/-J47E4m6iXQ/delphi-mac-file-system-helper-functions.html</link><author>noreply@blogger.com (Chris Bensen)</author><thr:total>0</thr:total><feedburner:origLink>http://chrisbensen.blogspot.com/2011/12/delphi-mac-file-system-helper-functions.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8857431988988627285.post-2541720941287868459</guid><pubDate>Fri, 18 Nov 2011 15:00:00 +0000</pubDate><atom:updated>2011-11-18T07:00:00.158-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Delphi</category><title>Delphi Post Build Process</title><description>I was just going through the many posts that I haven't posted for various reasons and here was one that I found that someone may find interesting concerning Delphi XE but it should apply equally to Delphi XE2.&lt;br /&gt;
&lt;br /&gt;
Since the beginning the EXE was build in the project directory right next to the .dpr. Now it lives in [Project Name]\Debug\Win32\[Project Name].exe which causes problems with my muscle memory at times so I've added a post build process to create a symlink.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-4398465119811197";
/* 468x60, created 7/20/08 */
google_ad_slot = "3994176404";
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8857431988988627285-2541720941287868459?l=chrisbensen.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ChrisBensenBlog/~4/FF76tZgBN_0" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/ChrisBensenBlog/~3/FF76tZgBN_0/delphi-post-build-process.html</link><author>noreply@blogger.com (Chris Bensen)</author><thr:total>0</thr:total><feedburner:origLink>http://chrisbensen.blogspot.com/2011/11/delphi-post-build-process.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8857431988988627285.post-7462876983526053931</guid><pubDate>Thu, 17 Nov 2011 16:00:00 +0000</pubDate><atom:updated>2011-11-17T08:05:27.385-08:00</atom:updated><title>Bose Noise Canceling Headphones</title><description>I've had a pair of &lt;a href="https://www.amazon.com/dp/B00001WRSJ/ref=as_li_ss_til?tag=chribens-20&amp;camp=0&amp;creative=0&amp;linkCode=as4&amp;creativeASIN=B00001WRSJ&amp;adid=0H7888QHSB38RT4X9M4D&amp;"&gt;Sony MDR-V6 headphones&lt;/a&gt; for years. Although according to price the &lt;a href="https://www.amazon.com/dp/B000AJIF4E/ref=as_li_ss_til?tag=chribens-20&amp;camp=0&amp;creative=0&amp;linkCode=as4&amp;creativeASIN=B000AJIF4E&amp;adid=0EQPBHJ9D6WBMYVCQ5MX&amp;"&gt;Sony MDR7506 headphones&lt;/a&gt; are a little better. But I digress. In March/April 2010 Embarcadero moved the Delphi team from the old Borland facility that is now in foreclosure to an older office building in Scotts Valley. Once we got in there it turned out the fan for the air conditioner/header was super loud. So loud I couldn't discern the difference between going to the office and being on an airplane. Seriously, it's that loud. I first tried out my iPod ear bud headphones because I had them in my bag but had to crank the volume to hear anything. And let's face it, the only thing going for ear buds is convenience because they are so small and fit in your pocket. So I tried my Sony headphones. They were better but not by much. The dull roar of the fan was still there. So I started my pursuit to find a good pair of noise cancelling headphones. After many failed attempts of trying out bargain priced noise canceling headphones from Radio Shack (The Shake makes me laugh) and the like I decided to try the expensive ones. I tried out almost all of them and can tell you with confidence that the &lt;a href="
https://www.amazon.com/dp/B0054JJ0QW/ref=as_li_ss_til?tag=chribens-20&amp;camp=0&amp;creative=0&amp;linkCode=as4&amp;creativeASIN=B0054JJ0QW&amp;adid=1B71PFEPGQQH80M7SAMH&amp;"&gt;Bose QuietComfor 15 Noise Cancelling headphones&lt;/a&gt; are awesome. If you have need for noise canceling headphones they are the ones to get. You will only be disappointing with the three c-notes you'll pony up and the occasional AAA battery it takes to run them.&lt;br /&gt;
&lt;br /&gt;
&lt;iframe src="http://rcm.amazon.com/e/cm?lt1=_blank&amp;bc1=000000&amp;IS2=1&amp;bg1=FFFFFF&amp;fc1=000000&amp;lc1=0000FF&amp;t=chribens-20&amp;o=1&amp;p=8&amp;l=as4&amp;m=amazon&amp;f=ifr&amp;ref=ss_til&amp;asins=B00001WRSJ" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"&gt;&lt;/iframe&gt;&lt;iframe src="http://rcm.amazon.com/e/cm?lt1=_blank&amp;bc1=000000&amp;IS2=1&amp;bg1=FFFFFF&amp;fc1=000000&amp;lc1=0000FF&amp;t=chribens-20&amp;o=1&amp;p=8&amp;l=as4&amp;m=amazon&amp;f=ifr&amp;ref=ss_til&amp;asins=B000AJIF4E" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"&gt;&lt;/iframe&gt;&lt;iframe src="http://rcm.amazon.com/e/cm?lt1=_blank&amp;bc1=000000&amp;IS2=1&amp;bg1=FFFFFF&amp;fc1=000000&amp;lc1=0000FF&amp;t=chribens-20&amp;o=1&amp;p=8&amp;l=as4&amp;m=amazon&amp;f=ifr&amp;ref=ss_til&amp;asins=B0054JJ0QW" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-4398465119811197";
/* 468x60, created 7/20/08 */
google_ad_slot = "3994176404";
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8857431988988627285-7462876983526053931?l=chrisbensen.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ChrisBensenBlog/~4/exGjwI-oOjw" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/ChrisBensenBlog/~3/exGjwI-oOjw/bose-noise-canceling-headphones.html</link><author>noreply@blogger.com (Chris Bensen)</author><thr:total>0</thr:total><feedburner:origLink>http://chrisbensen.blogspot.com/2011/11/bose-noise-canceling-headphones.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8857431988988627285.post-2917142232164064463</guid><pubDate>Thu, 10 Nov 2011 15:00:00 +0000</pubDate><atom:updated>2011-11-10T07:00:18.787-08:00</atom:updated><title>The Etymology of the Word Geeks</title><description>&lt;iframe id="dit-video-embed" width="640" height="360" src="http://static.discoverymedia.com/videos/components/hsw/46559-title/snag-it-player.html?auto=no" frameborder="0" scrolling="no" allowtransparency="true"&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-4398465119811197";
/* 468x60, created 7/20/08 */
google_ad_slot = "3994176404";
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8857431988988627285-2917142232164064463?l=chrisbensen.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ChrisBensenBlog/~4/utSPnDXDdKg" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/ChrisBensenBlog/~3/utSPnDXDdKg/etymology-of-word-geeks.html</link><author>noreply@blogger.com (Chris Bensen)</author><thr:total>0</thr:total><feedburner:origLink>http://chrisbensen.blogspot.com/2011/11/etymology-of-word-geeks.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8857431988988627285.post-1020946398476198012</guid><pubDate>Wed, 09 Nov 2011 15:00:00 +0000</pubDate><atom:updated>2011-11-09T07:00:12.189-08:00</atom:updated><title>Clever Code</title><description>Every once in a while I run across a bit of code that I find rather clever and I examine it to see if I like it or not. Really it's to see if I ever want to keep it around for my bag of tricks. Sometimes the code is a nice design pattern or sometimes it's rather small, like today's clever bit of code. Today's clever bit of code is this rather simple loop written in Java, but it'd work just fine in C or C++:&lt;br /&gt;
&lt;pre&gt;  int i = list.size();

  while (--i &gt;= 0)
  {
    list.remove(i);
    //..do something
  }
&lt;/pre&gt;&lt;br /&gt;
At first glance I kinda liked it. Simple, elegant does the job in a few less lines than I would have written. Here's is probably what I would have written:&lt;br /&gt;
&lt;pre&gt;  int i = list.size();

  while (i &gt;= 0)
  {
    i--;
    list.remove(i);
    //..do something
  }
&lt;/pre&gt;&lt;br /&gt;
Now after thinking about this big of code I've come to the conclusion after trying it under a few different C compilers and the Java compiler, I don't like it. &lt;i&gt;i&lt;/i&gt; is evaluated then no matter what in all the cases that I tested &lt;i&gt;i&lt;/i&gt; is decremented. Not a huge deal, in this small example &lt;i&gt;i&lt;/i&gt; will always be in a register, but if the body of the loop contains a bit more in it like the one I was looking at then there's a couple extra mov instructions generated as well.&lt;br /&gt;
&lt;br /&gt;
Am I being picky? Yes, yes I am. I'm not always this picky. I prefer readable code to optimized code, but in this case I don't find it more readable and it is less optimal.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-4398465119811197";
/* 468x60, created 7/20/08 */
google_ad_slot = "3994176404";
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8857431988988627285-1020946398476198012?l=chrisbensen.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ChrisBensenBlog/~4/HHViIAm4sxY" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/ChrisBensenBlog/~3/HHViIAm4sxY/clever-code.html</link><author>noreply@blogger.com (Chris Bensen)</author><thr:total>7</thr:total><feedburner:origLink>http://chrisbensen.blogspot.com/2011/11/clever-code.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8857431988988627285.post-3017659664035675412</guid><pubDate>Fri, 04 Nov 2011 14:00:00 +0000</pubDate><atom:updated>2011-11-04T09:31:20.556-07:00</atom:updated><title>Wholly Cheese Batman, Groupon IPO</title><description>I think this is the largest IPO I've seen since maybe Google. I did not expect this and had no idea Groupon was quite that big. I'm still trying to get my head around which is why I'm posting this.&lt;br /&gt;
&lt;br /&gt;
My question is simple "Does Groupon have a bright future and is it worth investing in?"&lt;br /&gt;
&lt;br /&gt;
I was pretty down on Groupon when the Missus bought a Groupon for a local restaurant and the restaurant didn't honor the Groupon. We read through the fine print and they will refund your money for any reason. Not all the other competitors will do that. I'm not sure of the legalities of not refunding because you could call your credit card company, but they were really good about the refund so I'm less down on them. Needless to say the Missus has the Groupon app, watches for deals and buys deals that we would ordinarily buy or that look really fun. Maybe that is the customer base, I'm not the person they are targeting.&lt;br /&gt;
&lt;br /&gt;
So is Groupon the next Google? I wouldn't have imagined they are, but then again the business model of grabbing loads of customers, making them addicts, and then leveraging that with other services seems to be a model that has worked before (Amazon, ebay, Google, Yahoo to name a few).&lt;br /&gt;
&lt;br /&gt;
There are a few other similar services out there but Groupon has the household name just like Xerox and a number of other things out there. So that's a huge plus. The question is what will Groupon do with that $700 million? If they can expand and provide unique things such as unique opportunities to see behind the scenes at a making of the next Batman movie then I think they have some serious potential.&lt;br /&gt;
&lt;br /&gt;
Coupons.com is another competitor that offers a monthly subscription to get discounts. Seems odd to me, but it seems to be working for them.&lt;br /&gt;
&lt;br /&gt;
So do you have any insight into Groupon that I don't? Have you plunked down some cash to get in on the action or are you just and avid Groupon addict?&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-4398465119811197";
/* 468x60, created 7/20/08 */
google_ad_slot = "3994176404";
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8857431988988627285-3017659664035675412?l=chrisbensen.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ChrisBensenBlog/~4/UoWtn6C8cVs" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/ChrisBensenBlog/~3/UoWtn6C8cVs/wholly-cheese-batman-groupon-ipo.html</link><author>noreply@blogger.com (Chris Bensen)</author><thr:total>0</thr:total><feedburner:origLink>http://chrisbensen.blogspot.com/2011/11/wholly-cheese-batman-groupon-ipo.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8857431988988627285.post-8789326663596785806</guid><pubDate>Thu, 03 Nov 2011 14:00:00 +0000</pubDate><atom:updated>2011-11-03T07:54:07.872-07:00</atom:updated><title>iOS 5</title><description>Since upgrading my Verizon iPhone 4 to iOS 5 the battery hasn't lasted near as long as it used to. There have been a lot of reports of the iPhone 4s battery not lasting long, but I haven't seen many reports of iPhone 4 users having issues.&lt;br /&gt;
&lt;br /&gt;
I've disabled nearly all the location services and I'd say it's about 10% better now. I don't want iAds to report my location anyway and I'm afraid to admit it I didn't know it was doing that. So I went through and turned off everything I could to save some battery juice but I still have to charge it about once a day, and I'm really not a power smartphone users. Is anyone else having similar issues with their iPhone 4 and iOS 5?&lt;br /&gt;
&lt;br /&gt;
Update: I just read that there will be an iOS update that will address the &lt;a href="http://www.loopinsight.com/2011/11/02/apple-confirms-battery-life-issues-in-ios-5/"&gt;issue&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-4398465119811197";
/* 468x60, created 7/20/08 */
google_ad_slot = "3994176404";
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8857431988988627285-8789326663596785806?l=chrisbensen.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ChrisBensenBlog/~4/CWYG4JYLj3g" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/ChrisBensenBlog/~3/CWYG4JYLj3g/ios-5.html</link><author>noreply@blogger.com (Chris Bensen)</author><thr:total>0</thr:total><feedburner:origLink>http://chrisbensen.blogspot.com/2011/11/ios-5.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8857431988988627285.post-6366961472844940923</guid><pubDate>Fri, 07 Oct 2011 14:00:00 +0000</pubDate><atom:updated>2011-10-07T14:09:48.780-07:00</atom:updated><title>Steve Jobs</title><description>Steve Jobs, the Galileo of our time, will be missed. I will always remember the commencement speech he gave at Stanford.&lt;br /&gt;
&lt;br /&gt;
&lt;iframe width="420" height="315" src="http://www.youtube.com/embed/D1R-jKKp3NA" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-4398465119811197";
/* 468x60, created 7/20/08 */
google_ad_slot = "3994176404";
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8857431988988627285-6366961472844940923?l=chrisbensen.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ChrisBensenBlog/~4/_Jw94heAx6Y" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/ChrisBensenBlog/~3/_Jw94heAx6Y/steve-jobs.html</link><author>noreply@blogger.com (Chris Bensen)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://img.youtube.com/vi/D1R-jKKp3NA/default.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://chrisbensen.blogspot.com/2011/10/steve-jobs.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8857431988988627285.post-5604454234146568907</guid><pubDate>Thu, 22 Sep 2011 17:00:00 +0000</pubDate><atom:updated>2011-09-22T10:14:41.790-07:00</atom:updated><title>So I Upgraded to Lion</title><description>At the moment I'm not so sure Lion is better. Snow Leopard was clearly better than Leopard, and Leopard was clearly better than Tiger. Some things are snazzier, but just use extra CPU cycles and batteries. There are some nice features such as just close the lid of your laptop with an external display doesn't sleep the computer. But there are a lot of little problems. iCal doesn't connect which is odd. The new look of iCal, Address Book and Mail is interesting. Apparently they are phasing out iChat because it wasn't in the dock but rather replaced with FaceTime. Why are FaceTime and iChat different apps? Boot time actually seems to be longer. With Windows 8 boot time bloody fast I can't imagine &lt;br /&gt;
&lt;br /&gt;
There are two reasons I upgraded:&lt;br /&gt;
&lt;br /&gt;
1. I got a new MacBook Pro that I loaded to the gills with memory and swapped out the default HD for the fastest thing I could find so I wanted to run the OS that it shipped with.&lt;br /&gt;
&lt;br /&gt;
2. It's usually better to stay up to date rather than lag behind. I typically lag behind if the OS bad or adopt it rather quick if it's good. I held off with Leopard because my printer wasn't supported for 6 months.&lt;br /&gt;
&lt;br /&gt;
Does anyone have any input that I'm missing? Is anything really way better? Is your boot time different than mine?&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-4398465119811197";
/* 468x60, created 7/20/08 */
google_ad_slot = "3994176404";
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8857431988988627285-5604454234146568907?l=chrisbensen.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ChrisBensenBlog/~4/NAXDavb5Alg" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/ChrisBensenBlog/~3/NAXDavb5Alg/so-i-upgraded-to-lion.html</link><author>noreply@blogger.com (Chris Bensen)</author><thr:total>5</thr:total><feedburner:origLink>http://chrisbensen.blogspot.com/2011/09/so-i-upgraded-to-lion.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8857431988988627285.post-2875325467858333302</guid><pubDate>Wed, 14 Sep 2011 16:20:00 +0000</pubDate><atom:updated>2011-09-14T09:20:29.499-07:00</atom:updated><title>Windows 8 Developer Preview</title><description>The &lt;a href="http://msdn.microsoft.com/en-us/windows/apps/br229516"&gt;Windows 8 Developer Preview&lt;/a&gt; is worth a look.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-4398465119811197";
/* 468x60, created 7/20/08 */
google_ad_slot = "3994176404";
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8857431988988627285-2875325467858333302?l=chrisbensen.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ChrisBensenBlog/~4/x2tOckzHAOc" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/ChrisBensenBlog/~3/x2tOckzHAOc/windows-8-developer-preview.html</link><author>noreply@blogger.com (Chris Bensen)</author><thr:total>0</thr:total><feedburner:origLink>http://chrisbensen.blogspot.com/2011/09/windows-8-developer-preview.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8857431988988627285.post-7530579799835319675</guid><pubDate>Fri, 09 Sep 2011 14:00:00 +0000</pubDate><atom:updated>2011-09-09T07:00:05.446-07:00</atom:updated><title>.NET Gadgeteer</title><description>Creating little gizmos has always intrigued me. I picked up a Lego Mindstorm on a whim years ago but I always struggled with the Windows 98 requirement. I've had my eye on an Adruino for some time but the .NET Gadgeteer looks pretty interesting. Check out this article:&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.i-programmer.info/news/91-hardware/2819-net-gadgeteer-an-alternative-to-arduino.html"&gt;.NET Gadgeteer - an alternative to Arduino?&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-4398465119811197";
/* 468x60, created 7/20/08 */
google_ad_slot = "3994176404";
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8857431988988627285-7530579799835319675?l=chrisbensen.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ChrisBensenBlog/~4/0ZdVNTiS_-Q" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/ChrisBensenBlog/~3/0ZdVNTiS_-Q/net-gadgeteer.html</link><author>noreply@blogger.com (Chris Bensen)</author><thr:total>0</thr:total><feedburner:origLink>http://chrisbensen.blogspot.com/2011/09/net-gadgeteer.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8857431988988627285.post-3166268509224907147</guid><pubDate>Thu, 08 Sep 2011 14:32:00 +0000</pubDate><atom:updated>2011-09-08T07:32:44.227-07:00</atom:updated><title>Delphi XE2</title><description>Congratulations to my the Delphi team (my old team) for getting this monster of a product out the door. I had lunch with a bunch of the engineers and got to hear some of the war stories. I worked on a lot of the Mac bits so it's nice to finally see that ship. I have some posts written somewhere on some of the RTL functionality that was written over a year ago so I'll have to dig them up, download the trial and see if they are still relevant and post them so everyone can benefit.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-4398465119811197";
/* 468x60, created 7/20/08 */
google_ad_slot = "3994176404";
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8857431988988627285-3166268509224907147?l=chrisbensen.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ChrisBensenBlog/~4/I_owNJKsDUk" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/ChrisBensenBlog/~3/I_owNJKsDUk/delphi-xe2.html</link><author>noreply@blogger.com (Chris Bensen)</author><thr:total>0</thr:total><feedburner:origLink>http://chrisbensen.blogspot.com/2011/09/delphi-xe2.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8857431988988627285.post-3076225458741068603</guid><pubDate>Thu, 08 Sep 2011 14:05:00 +0000</pubDate><atom:updated>2011-09-08T07:27:46.066-07:00</atom:updated><title>You Want to Write Good Software</title><description>Before you do anything else promote all warnings as errors.&lt;br /&gt;
&lt;br /&gt;
Do static code analysis. There is software for this, use it.&lt;br /&gt;
&lt;br /&gt;
Try and optimize for readability but understand what is going on underneath. In other words, don't just write code that works, write code that is efficient. Every bit of extra overhead is extra clock cycles or memory that could be used for something else. Everything is going to mobile and extra CPU cycles is battery life.&lt;br /&gt;
&lt;br /&gt;
Expect that your code will last a long time. Someone else will need to maintain the code. So write good clean readable code.&lt;br /&gt;
&lt;br /&gt;
Only document the things that are difficult to understand. All too often I see comments such as "\\ copy this to that". Seriously this is a lame comment. If it is necessary explain why the copy is necessary, otherwise leave the comment out because the copy will be self documenting.&lt;br /&gt;
&lt;br /&gt;
Format your code correctly for the project so someone else doesn't have to do it later which will make all the blames go to that person.&lt;br /&gt;
&lt;br /&gt;
Just take some pride in your code. At the end of the day you'd rather people say "damn that's some nice formatted elegant clean code, I'd love to work with them again." Think of your code as your legacy.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-4398465119811197";
/* 468x60, created 7/20/08 */
google_ad_slot = "3994176404";
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8857431988988627285-3076225458741068603?l=chrisbensen.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ChrisBensenBlog/~4/gyGssPg5ArY" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/ChrisBensenBlog/~3/gyGssPg5ArY/you-want-to-write-good-software.html</link><author>noreply@blogger.com (Chris Bensen)</author><thr:total>0</thr:total><feedburner:origLink>http://chrisbensen.blogspot.com/2011/09/you-want-to-write-good-software.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8857431988988627285.post-5911186128881946613</guid><pubDate>Wed, 31 Aug 2011 22:44:00 +0000</pubDate><atom:updated>2011-08-31T15:44:10.711-07:00</atom:updated><title>Netflix</title><description>I went with 1 DVD out at a time. How about you?&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-4398465119811197";
/* 468x60, created 7/20/08 */
google_ad_slot = "3994176404";
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8857431988988627285-5911186128881946613?l=chrisbensen.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ChrisBensenBlog/~4/R2Ayl8-I1SM" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/ChrisBensenBlog/~3/R2Ayl8-I1SM/netflix.html</link><author>noreply@blogger.com (Chris Bensen)</author><thr:total>1</thr:total><feedburner:origLink>http://chrisbensen.blogspot.com/2011/08/netflix.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8857431988988627285.post-4405183306031877678</guid><pubDate>Tue, 09 Aug 2011 14:00:00 +0000</pubDate><atom:updated>2011-08-09T07:00:00.788-07:00</atom:updated><title>John Carmack At QuakeCon 2011</title><description>At some point toward the second half of the video (it's a really long video) Carmack talks about writing good code which is something I'm always interested in.&lt;br /&gt;
&lt;br /&gt;
&lt;iframe width="560" height="349" src="http://www.youtube.com/embed/4zgYG-_ha28" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-4398465119811197";
/* 468x60, created 7/20/08 */
google_ad_slot = "3994176404";
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8857431988988627285-4405183306031877678?l=chrisbensen.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ChrisBensenBlog/~4/fyuFXg-iR6s" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/ChrisBensenBlog/~3/fyuFXg-iR6s/john-carmack-at-quakecon-2011.html</link><author>noreply@blogger.com (Chris Bensen)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://img.youtube.com/vi/4zgYG-_ha28/default.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://chrisbensen.blogspot.com/2011/08/john-carmack-at-quakecon-2011.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8857431988988627285.post-2423314275466114874</guid><pubDate>Mon, 08 Aug 2011 14:00:00 +0000</pubDate><atom:updated>2011-08-08T07:00:04.295-07:00</atom:updated><title>Simple Git Usage</title><description>To update your repository type:&lt;br /&gt;
&lt;br /&gt;
git pull&lt;br /&gt;
&lt;br /&gt;
To commit your changes type:&lt;br /&gt;
&lt;br /&gt;
git add .&lt;br /&gt;
git commit -m "your comment"&lt;br /&gt;
git push origin&lt;br /&gt;
&lt;br /&gt;
But there are some pretty good clients out there. For Windows the Tortoise Explorer shell integration is pretty good. And free! For Mac I've found that &lt;a href="http://www.sourcetreeapp.com/"&gt;SourceTree&lt;/a&gt; is my current favorite. It works with Git, Mercurial and Subversion. But it isn't free.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-4398465119811197";
/* 468x60, created 7/20/08 */
google_ad_slot = "3994176404";
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8857431988988627285-2423314275466114874?l=chrisbensen.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ChrisBensenBlog/~4/XLdazqgijU8" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/ChrisBensenBlog/~3/XLdazqgijU8/simple-git-usage.html</link><author>noreply@blogger.com (Chris Bensen)</author><thr:total>2</thr:total><feedburner:origLink>http://chrisbensen.blogspot.com/2011/08/simple-git-usage.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8857431988988627285.post-1899340813676455435</guid><pubDate>Wed, 03 Aug 2011 14:00:00 +0000</pubDate><atom:updated>2011-08-03T07:00:03.403-07:00</atom:updated><title>Making Icons for Mac Apps</title><description>The easiest tool I've run across for building icons for your Mac or iOS apps is Icon Composer. It ships with every set of developer tools on the Mac in the folder "\Developer\Applications\Utilities\Icon Composer". You will need 512x512, 256x256, 128x128, 32x32 ad 16x16 images. But it's pretty simple, drag drop images to their respective sizes, save as, done.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-4398465119811197";
/* 468x60, created 7/20/08 */
google_ad_slot = "3994176404";
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8857431988988627285-1899340813676455435?l=chrisbensen.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ChrisBensenBlog/~4/6Gf4WhVz9W0" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/ChrisBensenBlog/~3/6Gf4WhVz9W0/making-icons-for-mac-apps.html</link><author>noreply@blogger.com (Chris Bensen)</author><thr:total>0</thr:total><feedburner:origLink>http://chrisbensen.blogspot.com/2011/08/making-icons-for-mac-apps.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8857431988988627285.post-5423388825551572516</guid><pubDate>Thu, 28 Jul 2011 14:00:00 +0000</pubDate><atom:updated>2011-07-28T07:00:01.198-07:00</atom:updated><title>Git Version Control System</title><description>There are quite a few version control systems. My favorite for many years has been &lt;a href="http://subversion.apache.org/"&gt;Subversion&lt;/a&gt;. It's still a great version control system but it has some limitations such as every operation requires a server. The latest round of version control systems are distributed and need no server interaction until you want to commit your changes to the central repository. &lt;a href="http://git-scm.com/"&gt;Git&lt;/a&gt;, &lt;a href="http://mercurial.selenic.com/"&gt;Mecurial&lt;/a&gt; and &lt;a href="http://bazaar.canonical.com/en/"&gt;Bazzar&lt;/a&gt; are of these latest bread of distributed version control systems. I had some dealings with Mecurial when working on some JavaFX code recently and decided to use Git for my latest project. Others have written great articles about the difference between the two version control systems:&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://importantshock.wordpress.com/2008/08/07/git-vs-mercurial/"&gt;Git vs. Mercurial: Please Relax&lt;/a&gt; (Git is MacGyver and Mercurial is James Bond)&lt;br /&gt;
&lt;a href="http://www.rockstarprogrammer.org/post/2008/apr/06/differences-between-mercurial-and-git/"&gt;The Differences Between Mercurial and Git&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://mercurial.selenic.com/wiki/GitConcepts"&gt;Mercurial for Git users&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
I choose Git because of it's flexibility, branch performance and ability to destroy branches fast and easily. Although Mecurial is easier to use and has way better documentation.&lt;br /&gt;
&lt;br /&gt;
A good Git cheat sheet can be found &lt;a href="http://help.github.com/git-cheat-sheets/"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-4398465119811197";
/* 468x60, created 7/20/08 */
google_ad_slot = "3994176404";
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8857431988988627285-5423388825551572516?l=chrisbensen.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ChrisBensenBlog/~4/-sfxwBy6gEo" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/ChrisBensenBlog/~3/-sfxwBy6gEo/git-version-control-system.html</link><author>noreply@blogger.com (Chris Bensen)</author><thr:total>2</thr:total><feedburner:origLink>http://chrisbensen.blogspot.com/2011/07/git-version-control-system.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8857431988988627285.post-6181544034533312182</guid><pubDate>Fri, 08 Jul 2011 21:12:00 +0000</pubDate><atom:updated>2011-07-08T14:14:23.952-07:00</atom:updated><title>Google+</title><description>And here I was all excited to check out Google+ only to get the error:&lt;br /&gt;
&lt;br /&gt;
"This feature is not available for your account&lt;br /&gt;
You must be over a certain age to use this feature."&lt;br /&gt;
&lt;br /&gt;
Apparently I'm too young according to the records that I've never given them. I did a quick search and found that a lot of people are in the same boat. Google, let me know if you fix this. Thanks.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-4398465119811197";
/* 468x60, created 7/20/08 */
google_ad_slot = "3994176404";
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8857431988988627285-6181544034533312182?l=chrisbensen.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ChrisBensenBlog/~4/18InuX_VHb4" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/ChrisBensenBlog/~3/18InuX_VHb4/google.html</link><author>noreply@blogger.com (Chris Bensen)</author><thr:total>0</thr:total><feedburner:origLink>http://chrisbensen.blogspot.com/2011/07/google.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8857431988988627285.post-2992737402322201532</guid><pubDate>Wed, 08 Jun 2011 14:00:00 +0000</pubDate><atom:updated>2011-06-08T07:00:04.195-07:00</atom:updated><title>Watch The International Space Station Assembly Diagram</title><description>Click &lt;a href="http://i.usatoday.net/tech/graphics/iss_timeline/flash.htm"&gt;here&lt;/a&gt; to watch the International Space Station (ISS) assembly diagram over the years.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-4398465119811197";
/* 468x60, created 7/20/08 */
google_ad_slot = "3994176404";
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8857431988988627285-2992737402322201532?l=chrisbensen.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ChrisBensenBlog/~4/YdLPNWtwE6E" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/ChrisBensenBlog/~3/YdLPNWtwE6E/watch-international-space-station.html</link><author>noreply@blogger.com (Chris Bensen)</author><thr:total>0</thr:total><feedburner:origLink>http://chrisbensen.blogspot.com/2011/06/watch-international-space-station.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8857431988988627285.post-1033970565462890922</guid><pubDate>Fri, 03 Jun 2011 14:00:00 +0000</pubDate><atom:updated>2011-06-03T08:18:45.868-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Tips</category><title>Xcode Column Mode</title><description>Holding down the option key while dragging allows you to perform a column based selection of text.&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-4398465119811197";
/* 468x60, created 7/20/08 */
google_ad_slot = "3994176404";
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8857431988988627285-1033970565462890922?l=chrisbensen.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ChrisBensenBlog/~4/1Ia2C1YTyVA" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/ChrisBensenBlog/~3/1Ia2C1YTyVA/xcode-column-mode.html</link><author>noreply@blogger.com (Chris Bensen)</author><thr:total>0</thr:total><feedburner:origLink>http://chrisbensen.blogspot.com/2011/06/xcode-column-mode.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8857431988988627285.post-4106394433754760012</guid><pubDate>Thu, 02 Jun 2011 14:00:00 +0000</pubDate><atom:updated>2011-06-02T07:35:56.237-07:00</atom:updated><title>Microsoft Reveals Windows 8 Preview</title><description>&lt;iframe width="560" height="349" src="http://www.youtube.com/embed/p92QfWOw88I" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-4398465119811197";
/* 468x60, created 7/20/08 */
google_ad_slot = "3994176404";
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8857431988988627285-4106394433754760012?l=chrisbensen.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ChrisBensenBlog/~4/QZpdrl4iF18" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/ChrisBensenBlog/~3/QZpdrl4iF18/microsoft-reveals-windows-8-preview.html</link><author>noreply@blogger.com (Chris Bensen)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://img.youtube.com/vi/p92QfWOw88I/default.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://chrisbensen.blogspot.com/2011/06/microsoft-reveals-windows-8-preview.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8857431988988627285.post-4979698609991126457</guid><pubDate>Fri, 29 Apr 2011 14:00:00 +0000</pubDate><atom:updated>2011-04-29T07:00:11.975-07:00</atom:updated><title>Useful Batch Commands</title><description>Sometimes it's useful to have a few batch tricks up your sleeve. Here are two that I've used before but I had to dig around to remember/find.&lt;br /&gt;
&lt;br /&gt;
The first trick is running a script file on Windows like it's executable. This is easy to do on *nix, but on Windows it requires a .bat file. So just create a .bat file the same name as the script, in this case script.php, put the two in the same directory, and then use the cryptic $~dp0 to specify the current directory of the .bat file being run and viola! The script is now an executable.&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;php %~dp0script.php
&lt;/pre&gt;&lt;br /&gt;
The second is I wanted to copy a text file to a network drive but CMD doesn't understand UNC paths. So use pushd and popd. Nothing revolutionary but useful if you need it.&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;pushd \\computer\volume\
copy %~dp0\filetocopy.txt filetocopy.txt
popd
&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-4398465119811197";
/* 468x60, created 7/20/08 */
google_ad_slot = "3994176404";
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8857431988988627285-4979698609991126457?l=chrisbensen.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ChrisBensenBlog/~4/ll_CHfwoxDM" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/ChrisBensenBlog/~3/ll_CHfwoxDM/useful-batch-commands.html</link><author>noreply@blogger.com (Chris Bensen)</author><thr:total>0</thr:total><feedburner:origLink>http://chrisbensen.blogspot.com/2011/04/useful-batch-commands.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8857431988988627285.post-8003833252367827818</guid><pubDate>Thu, 28 Apr 2011 14:00:00 +0000</pubDate><atom:updated>2011-04-28T07:30:16.441-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Tips</category><title>Remote Shutdown</title><description>Have you ever found yourself using Microsoft Remote Desktop without access to the physical machine and you need to reboot it? Or sometimes you have access to the physical machine but there isn't a keyboard hooked up for some bizarre reason that makes perfect sense to you. If so then you probably already know this and this post is pointless, but every so often I encounter someone that doesn't know the about shutdown.exe. Microsoft has a pretty old article about &lt;a href="http://support.microsoft.com/kb/317371"&gt;How To Use the Remote Shutdown Tool to Shut Down and Restart a Computer in Windows 2000&lt;/a&gt;. My use of shutdown.exe is to force a restart now:&lt;br /&gt;
&lt;br /&gt;
c:\shutdown -t 00 -f -r&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-4398465119811197";
/* 468x60, created 7/20/08 */
google_ad_slot = "3994176404";
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8857431988988627285-8003833252367827818?l=chrisbensen.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ChrisBensenBlog/~4/2ker6GbxfJY" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/ChrisBensenBlog/~3/2ker6GbxfJY/remote-shutdown.html</link><author>noreply@blogger.com (Chris Bensen)</author><thr:total>0</thr:total><feedburner:origLink>http://chrisbensen.blogspot.com/2011/04/remote-shutdown.html</feedburner:origLink></item></channel></rss>

