<?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:blogger="http://schemas.google.com/blogger/2008" 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>Wed, 22 May 2013 04:09:09 +0000</lastBuildDate><category>C++</category><category>CodeGear</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>398</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-6072666730574065710</guid><pubDate>Tue, 21 May 2013 22:45:00 +0000</pubDate><atom:updated>2013-05-21T15:45:43.587-07:00</atom:updated><title>Arduino</title><description>This last weekend I went to the Maker's Fair and got a free breadboard Arduino. What a swag score

&lt;a href="http://2.bp.blogspot.com/-Tp6KAXfzgxI/UZv3i3RvDTI/AAAAAAAAB1s/D4OPyub_kok/s1600/945027_10151437870795642_32537307_n.jpg" imageanchor="1" &gt;&lt;img border="0" src="http://2.bp.blogspot.com/-Tp6KAXfzgxI/UZv3i3RvDTI/AAAAAAAAB1s/D4OPyub_kok/s320/945027_10151437870795642_32537307_n.jpg" /&gt;&lt;/a&gt;

After making a blinky light I decided to order a few parts from &lt;a href="http://www.sparkfun.com"&gt;SparkFun Electronics&lt;/a&gt; and decided to toy around with a 7-segment display (I now wished I had gotten something a bit more challenging, but hey, I haven't done electronics in a long time). I followed the tutorial &lt;a href="https://www.sparkfun.com/tutorials/407"&gt;here&lt;/a&gt; and noticed many Arduino examples don't use objects. So, here is a version of the SparkFun 7-segment display example using objects.

&lt;pre&gt;
/* Serial 7-Segment Display Example Code
    Serial Mode Stopwatch
   by: Jim Lindblom
     SparkFun Electronics
   date: November 27, 2012
   license: This code is public domain.
   
   This example code shows how you could use software serial
   Arduino library to interface with a Serial 7-Segment Display.
   
   There are example functions for setting the display's
   brightness, decimals and clearing the display.
   
   The print function is used with the SoftwareSerial library
   to send display data to the S7S.
   
   Circuit:
   Arduino -------------- Serial 7-Segment
     5V   --------------------  VCC
     GND  --------------------  GND
      8   --------------------  RX
*/
#include &lt;SoftwareSerial.h&gt;

class LED
{
  private:
    // These are the Arduino pins required to create a software seiral
    //  instance. We'll actually only use the TX pin.
    int softwareTx;
    int softwareRx;
    
    SoftwareSerial *s7s;
    
  public:
    LED()
    {
      s7s = NULL;
    }
    
    void initialize()
    {
        softwareTx = 8;
        softwareRx = 7;
        
        s7s = new SoftwareSerial(softwareRx, softwareTx);
        
        // Must begin s7s software serial at the correct baud rate.
        //  The default of the s7s is 9600.
        s7s-&gt;begin(9600);
        
        // Clear the display, and then turn on all segments and decimals
        clearDisplay();  // Clears display, resets cursor
        s7s-&gt;print("-HI-");  // Displays -HI- on all digits
        setDecimals(0b111111);  // Turn on all decimals, colon, apos
        
        // Flash brightness values at the beginning
        setBrightness(0);  // Lowest brightness
        delay(1500);
        setBrightness(127);  // Medium brightness
        delay(1500);
        setBrightness(255);  // High brightness
        delay(1500);
        
        // Clear the display before jumping into loop
        clearDisplay();
    }
    
    ~LED()
    {
      if (s7s != NULL)
        delete s7s;
    }
    
    void printDisplay(int value)
    {
        char tempString[10];  // Will be used with sprintf to create strings
        
        // Magical sprintf creates a string for us to send to the s7s.
        //  The %4d option creates a 4-digit integer.
        sprintf(tempString, "%4d", value);
        
        // This will output the tempString to the S7S
        s7s-&gt;print(tempString);
    }
    
    // Send the clear display command (0x76)
    //  This will clear the display and reset the cursor
    void clearDisplay()
    {
      s7s-&gt;write(0x76);  // Clear display command
    }
    
    // Set the displays brightness. Should receive byte with the value
    //  to set the brightness to
    //  dimmest-------------&gt;brightest
    //     0--------127--------255
    void setBrightness(byte value)
    {
      s7s-&gt;write(0x7A);  // Set brightness command byte
      s7s-&gt;write(value);  // brightness data byte
    }
    
    // Turn on any, none, or all of the decimals.
    //  The six lowest bits in the decimals parameter sets a decimal 
    //  (or colon, or apostrophe) on or off. A 1 indicates on, 0 off.
    //  [MSB] (X)(X)(Apos)(Colon)(Digit 4)(Digit 3)(Digit2)(Digit1)
    //
    // Example: setDecimals(0b00000100);  // Sets digit 3 decimal on
    void setDecimals(byte decimals)
    {
      s7s-&gt;write(0x77);
      s7s-&gt;write(decimals);
    }
};

unsigned int counter = 0;  // This variable will count up to 65k
LED Led;

void setup()
{
  Led.initialize();
}

void loop()
{
  Led.printDisplay(counter);
  Led.setDecimals(0b00000100);  // Sets digit 3 decimal on
  counter++;  // Increment the counter
  delay(100);  // This will make the display update at 10Hz.
}
&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;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ChrisBensenBlog/~4/PPbCeIziiA0" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/ChrisBensenBlog/~3/PPbCeIziiA0/arduino.html</link><author>noreply@blogger.com (Chris Bensen)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-Tp6KAXfzgxI/UZv3i3RvDTI/AAAAAAAAB1s/D4OPyub_kok/s72-c/945027_10151437870795642_32537307_n.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://chrisbensen.blogspot.com/2013/05/arduino.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8857431988988627285.post-8893723185379115386</guid><pubDate>Mon, 01 Oct 2012 00:14:00 +0000</pubDate><atom:updated>2012-09-30T17:14:19.700-07:00</atom:updated><title>JavaOne 2012</title><description>I'll be at the JavaFX booth and the talks about Java on the Mac so come up and say "hi!" if you're around!&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;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ChrisBensenBlog/~4/fyJxZuwrJpE" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/ChrisBensenBlog/~3/fyJxZuwrJpE/javaone-2012.html</link><author>noreply@blogger.com (Chris Bensen)</author><thr:total>0</thr:total><feedburner:origLink>http://chrisbensen.blogspot.com/2012/09/javaone-2012.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8857431988988627285.post-5374984176194839751</guid><pubDate>Thu, 26 Jul 2012 14:00:00 +0000</pubDate><atom:updated>2012-08-29T13:30:35.296-07:00</atom:updated><title>Make the Apple Magic Trackpad Ergonomic</title><description>I've been using the Apple Magic Trackpad and found that it is not terribly ergonomic because it slants up to match the keyboard angle which forces the wrist to slant upwards. The Magic Trackpad can be made much more ergonomic by simply turning it around (&lt;a href="http://hints.macworld.com/article.php?story=20101029060726179"&gt;I got my directions from here&lt;/a&gt;). In order to turn it around the coordinate system must be reoriented. To do that, type this into the terminal:

&lt;pre&gt;
defaults write com.apple.trackpad.orientation TrackpadOrientationMode 1

sudo defaults write com.apple.MultitouchSupport ForceAutoOrientation YES
&lt;/pre&gt;

NOTE: Both commands might not be required but I couldn't get it to work otherwise on Lion or Mountain Lion.

Then disconnect the Magic Trackpad, shut it off, reboot the Mac, reorient the Magic Trackpad and until the system is booted. Then turn on the Magic Trackpad and rest 5 finger tips spread out (like you are playing piano) on the Magic Trackpad and move them away from you. Viola! I have also found the settings tap-to-click and 3-finger drag to be useful and can be enabled in the trackpad control panel.

To Remove the settings type:
&lt;pre&gt;
defaults remove com.apple.trackpad.orientation TrackpadOrientationMode
sudo defaults write com.apple.MultitouchSupport ForceAutoOrientation NO
&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;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ChrisBensenBlog/~4/6O4oqXOcpS8" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/ChrisBensenBlog/~3/6O4oqXOcpS8/make-apple-magic-trackpad-ergonomic.html</link><author>noreply@blogger.com (Chris Bensen)</author><thr:total>0</thr:total><feedburner:origLink>http://chrisbensen.blogspot.com/2012/07/make-apple-magic-trackpad-ergonomic.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8857431988988627285.post-8269698615919150141</guid><pubDate>Mon, 25 Jun 2012 14:00:00 +0000</pubDate><atom:updated>2012-06-25T07:00:11.388-07:00</atom:updated><title>Virtual Box VM to VMWare</title><description>I prefer either Parallels or VMWare over Virtual Box. Virtual Box is free though. But at 50 bucks, video acceleration is nice to have when working with graphics. So here are steps that work as of today to convert a Virtual Box VM to a VMWare VM. These steps are out there on the interwebs and they aren't difficult but I didn't find them in one place so hopefully this will help someone.&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
1. From Virtual Box select your VM and choose File | Export Appliance...&lt;/div&gt;
&lt;div&gt;
2. Download and install VMWare OVF Tool from&amp;nbsp;http://www.vmware.com/support/developer/ovf/&lt;br /&gt;
3. Run the OVF Tool on you .ova file (I'm on a Mac):&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;"/Applications/VMware OVF Tool/ovftool" --lax image.ova /Users/[username]/Downloads&lt;/pre&gt;
&lt;/div&gt;

NOTE: Use the --lax option to get past some errors that will stop the conversion in their tracks.

4. Drag and drop into VMWare and before you do anything increase the available RAM and processor to at least 2 if you can. Otherwise the Vm will be super sluggish.
5. Run in VMWare!&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;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ChrisBensenBlog/~4/g5rSLSvCjWQ" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/ChrisBensenBlog/~3/g5rSLSvCjWQ/virtual-box-vm-to-vmware.html</link><author>noreply@blogger.com (Chris Bensen)</author><thr:total>0</thr:total><feedburner:origLink>http://chrisbensen.blogspot.com/2012/06/virtual-box-vm-to-vmware.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8857431988988627285.post-3827583424939546288</guid><pubDate>Mon, 18 Jun 2012 14:00:00 +0000</pubDate><atom:updated>2012-06-18T07:00:04.574-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Java</category><title>JavaFX Native Packaging</title><description>One of the benefits of native programming languages has been fairly easy deployment and bundling. In many cases static libraries one single EXE. Programming languages that depend on a run-time such as C#, Java, Python, Perl, etc, all require that run-time to be pre installed and the total size (Application + run-time) is typically larger than a native application. Well, I think much of that is over with JDK 7u6 currently in beta. Rich client JavaFX applications can bundle the JRE and your application and provide a very easy installation. So easy in fact it's silly. I love making complicated things super easy! Check out this blog post by one of my colleagues for all the nitty gritty details: &lt;a href="https://blogs.oracle.com/talkingjavadeployment/entry/native_packaging_for_javafx"&gt;https://blogs.oracle.com/talkingjavadeployment/entry/native_packaging_for_javafx&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;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ChrisBensenBlog/~4/FAT4nSS6dpA" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/ChrisBensenBlog/~3/FAT4nSS6dpA/javafx-native-packaging.html</link><author>noreply@blogger.com (Chris Bensen)</author><thr:total>0</thr:total><feedburner:origLink>http://chrisbensen.blogspot.com/2012/06/javafx-native-packaging.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8857431988988627285.post-6113931170825318742</guid><pubDate>Mon, 14 May 2012 14:00:00 +0000</pubDate><atom:updated>2012-06-11T09:44:07.187-07:00</atom:updated><title>JDK 7 Beans.setDesignTime/Beans.isDesignTime</title><description>JDK 7 introduces a change to Beans.setDesignTime(bool value) and Beans.isDesignTime() where the design-time state instead of application global is now a thread group local variable. It's so multiple frameworks can be used simultaneously and they can be either design-time or run-time as needed. Basically it is an IDE requirement. Needless to say this change is a bit unorthodox with a bizarre side effect and most will want to bring back the old behavior. The simplest way of doing this is to iterate over each thread group and set the design-time state.

&lt;pre&gt;
  Runnable runnable = new Runnable()
  {
    &lt;b&gt;public void&lt;/b&gt; run()
    {
      Beans.setDesignTime(&lt;b&gt;true&lt;/b&gt;);
    }
  };

  ThreadGroup root = Thread.currentThread().getThreadGroup();
 
  &lt;b&gt;while&lt;/b&gt; (root.getParent() != &lt;b&gt;null&lt;/b&gt;)
    root = root.getParent();

  ThreadGroup[] threadGroups = new ThreadGroup[root.activeGroupCount()];
  // ThreadGroup.enumerate copies all ThreadGroup subgroups, not including the root ThreadGroup.
  root.enumerate(threadGroups, &lt;b&gt;true&lt;/b&gt;);

  new Thread(root, runnable).start();

  for (ThreadGroup group : threadGroups)
    new Thread(group, runnable).start();
&lt;/pre&gt;

If any thread groups are created after this code is run then design-time will not be set. So the best practices are all thread groups need to have design-time set, or any calls to Beans.isDesignTime() need to be synchronized to the EDT.&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;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ChrisBensenBlog/~4/RPYgvfV015c" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/ChrisBensenBlog/~3/RPYgvfV015c/jdk-7-beanssetdesigntimebeansisdesignti.html</link><author>noreply@blogger.com (Chris Bensen)</author><thr:total>0</thr:total><feedburner:origLink>http://chrisbensen.blogspot.com/2012/05/jdk-7-beanssetdesigntimebeansisdesignti.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8857431988988627285.post-5866579176648477283</guid><pubDate>Tue, 03 Apr 2012 18:26:00 +0000</pubDate><atom:updated>2012-04-03T11:26:42.552-07:00</atom:updated><title>Hiring</title><description>My group is hiring a couple C/C++ and Java developers focused on security based in Santa Clara CA. If interested contact me via the "Contact Me" link on the right.&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;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ChrisBensenBlog/~4/wQawq7gEBww" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/ChrisBensenBlog/~3/wQawq7gEBww/hiring.html</link><author>noreply@blogger.com (Chris Bensen)</author><thr:total>0</thr:total><feedburner:origLink>http://chrisbensen.blogspot.com/2012/04/hiring.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8857431988988627285.post-4796112363697585514</guid><pubDate>Mon, 26 Mar 2012 15:00:00 +0000</pubDate><atom:updated>2012-03-26T08:00:04.913-07:00</atom:updated><title>You can X...if you X</title><description>A friend posted the blog post &lt;a href="http://www.johnmuirlaws.com/art-and-drawing/you-can-draw"&gt;You can draw...if you draw&lt;/a&gt; and I think it is so good I'm going to talk about it!&lt;br /&gt;
&lt;br /&gt;
Replace X in the title with anything you want to do. The Missus and I are in the process of teaching this to our 5 year old using the violin. 3 minutes a day for the last 6 months and she can now play at talent shows at school. She didn't believe us at first. But now she is well on her way to being able to play the violin as good as her Grandpa; with lots of practice. Practice practice practice.&lt;br /&gt;
&lt;br /&gt;
I learned how to ride a unicycle 2 years ago. Now I mountain unicycle all over the Santa Cruz mountains. I hear from people all the time "I could never do that". It turned out to be such a good workout the Missus picked it up, my sister became addicted and our 5 year old is learning as well.&lt;br /&gt;
&lt;br /&gt;
I do think some people are inherently more skilled at certain things, but that doesn't mean with practice and perseverance one can't do anything they set their mind to. Honestly that's one of the reasons I get so annoyed at the current hiring practices for software engineers and alluded to in this &lt;a href="http://chrisbensen.blogspot.com/2012/02/what-makes-good-software-developer.html"&gt;post&lt;/a&gt;. I've interviewed countless people who I think could do the job. And the question usually isn't "are they smart", the quest that should be answered is "are they a team player". I'd rather have a whole bunch of average people that can learn and work as a team than a couple rock stars with a complex.&lt;br /&gt;
&lt;br /&gt;
So what is it that you want to learn to do?&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;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ChrisBensenBlog/~4/fTF1ZozBO0g" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/ChrisBensenBlog/~3/fTF1ZozBO0g/you-can-xif-you-x.html</link><author>noreply@blogger.com (Chris Bensen)</author><thr:total>0</thr:total><feedburner:origLink>http://chrisbensen.blogspot.com/2012/03/you-can-xif-you-x.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8857431988988627285.post-1938018702467440754</guid><pubDate>Thu, 08 Mar 2012 15:00:00 +0000</pubDate><atom:updated>2012-03-08T07:00:12.726-08:00</atom:updated><title>New iPad</title><description>My take on this is the resolution is pretty awesome, but other than that I see no reason for original iPad or iPad 2 owners to upgrade. Especially since the weight has increased. As far as I'm concerned the size of the battery should have been reduced to decrease the weight. However, if I were buying an iPad today I'd have to go for the new iPad 32GB because 16 fills up rather fast, but that makes it a $200 price increase which is pricy.&lt;br /&gt;
&lt;br /&gt;
By the way, I picked up the "YOOBAO Red Genuine Leather Slim Case Portfolio Case For Apple iPad 2" and it's really nice.&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;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ChrisBensenBlog/~4/N8lNwh6eIoo" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/ChrisBensenBlog/~3/N8lNwh6eIoo/new-ipad.html</link><author>noreply@blogger.com (Chris Bensen)</author><thr:total>0</thr:total><feedburner:origLink>http://chrisbensen.blogspot.com/2012/03/new-ipad.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8857431988988627285.post-6256856376474459612</guid><pubDate>Mon, 05 Mar 2012 17:00:00 +0000</pubDate><atom:updated>2012-03-05T09:00:02.998-08:00</atom:updated><title>Monitor</title><description>It seems that dual monitors has finally hit the mainstream. Article after article comments on research that people are more productive with dual monitors than with one monitor. I really dislike dual monitors. Sure, it's more productive, but nobody ever mentions the whiplash one can get from using the off center monitor too often. No, I prefer one big monitor with a high resolution for most tasks. 24", 27" or 30". I think if they went back and did their research with everyone running a 30" monitor they'd find people are even more productive than with dual monitors. The advantage is price. Small monitors can be picked up for a few hundred bucks while a very large high resolution display is considerably more. But once you factor in the chiropractic bill  I'm sure the savings would more than justify the large monitor.&lt;br /&gt;
&lt;br /&gt;
Note: I am in no way benefiting from you buying a large display from the likes of Dell, Viewsonic, Samsug, LG, etc.&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;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ChrisBensenBlog/~4/IEmeqoAXNgI" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/ChrisBensenBlog/~3/IEmeqoAXNgI/monitor.html</link><author>noreply@blogger.com (Chris Bensen)</author><thr:total>5</thr:total><feedburner:origLink>http://chrisbensen.blogspot.com/2012/03/monitor.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8857431988988627285.post-4959448321401332113</guid><pubDate>Tue, 28 Feb 2012 15:00:00 +0000</pubDate><atom:updated>2012-02-28T07:00:01.181-08:00</atom:updated><title>Bret Victor - Inventing on Principle</title><description>Yesterday I &lt;a href="http://chrisbensen.blogspot.com/2012/02/what-makes-good-software-developer.html?utm_source=feedburner&amp;utm_medium=feed&amp;utm_campaign=Feed%3A+ChrisBensenBlog+%28Chris+Bensen%29&amp;utm_content=Google+Reader"&gt;posted&lt;/a&gt; a little bit about what our ideas of a software developer are. Here is a video that is along those same lines. I warn you, the video is a little long, the concept and analogies are a bit odd but it's still worth watching:&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://vimeo.com/36579366"&gt;video&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;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ChrisBensenBlog/~4/JX_QlOPf9mU" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/ChrisBensenBlog/~3/JX_QlOPf9mU/bret-victor-inventing-on-principle.html</link><author>noreply@blogger.com (Chris Bensen)</author><thr:total>0</thr:total><feedburner:origLink>http://chrisbensen.blogspot.com/2012/02/bret-victor-inventing-on-principle.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8857431988988627285.post-6201446386767140315</guid><pubDate>Mon, 27 Feb 2012 15:00:00 +0000</pubDate><atom:updated>2012-02-27T07:00:03.796-08:00</atom:updated><title>What Makes a Good Software Developer</title><description>I've been thinking more about the video I &lt;a href="http://chrisbensen.blogspot.com/2012/02/so-you-want-to-be-developer.html"&gt;posted&lt;/a&gt; the other day. It's a good video about what it's like to be a software developer; The current standard for what makes a good software developer is a person that is good at playing computer in their head. Software engineers have to be able to visualize code and data structures in their head, twiddle bits in their head while taking into account the constraints of the particular data type. Interviews are geared toward this mindset. Developer tools support this. We have all become complacent.&lt;br /&gt;
&lt;br /&gt;
There are those who are very good at these things I mentioned above and there is nothing wrong with that. I just have a lot more important things to think about than play computer or to do hex math in my head. That's why we have computers. I like to think that there is room for different kinds of software developers. And I think the tools are still not quite there. Development environments such as Delphi, C++Builder, Visual C# and even Visual Basic are the best development environments that I've used. I haven't used every environment out there but I've looked at a lot of them. There is a reason developers using these environments consistently write applications faster than with any other programming language and environment. The paradigm and environment support quick prototyping without having to play computer in your head. So the bar to become a developer is shifted a bit to support less traditional software developers and different kinds of thinkers. The approach and ideas these people can bring to the software world will only make it better, but for that what we all need to expand our view of what makes a good software developer by changing the interview process and making better developer tools.&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;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ChrisBensenBlog/~4/ETzdehwWaIs" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/ChrisBensenBlog/~3/ETzdehwWaIs/what-makes-good-software-developer.html</link><author>noreply@blogger.com (Chris Bensen)</author><thr:total>1</thr:total><feedburner:origLink>http://chrisbensen.blogspot.com/2012/02/what-makes-good-software-developer.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8857431988988627285.post-3382471535991224080</guid><pubDate>Wed, 22 Feb 2012 16:00:00 +0000</pubDate><atom:updated>2012-02-22T08:00:03.542-08:00</atom:updated><title>So You Want to be a Developer</title><description>This is a great video on what it's like to be a software developer.&lt;br /&gt;
&lt;br /&gt;
http://penny-arcade.com/patv/episode/so-you-want-to-be-a-developer-part-1&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;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ChrisBensenBlog/~4/Kyx8ZndjQ2A" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/ChrisBensenBlog/~3/Kyx8ZndjQ2A/so-you-want-to-be-developer.html</link><author>noreply@blogger.com (Chris Bensen)</author><thr:total>0</thr:total><feedburner:origLink>http://chrisbensen.blogspot.com/2012/02/so-you-want-to-be-developer.html</feedburner:origLink></item><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;/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;/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;/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;/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;/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;/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;/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;/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;/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>2012-02-08T20:05:31.159-08: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;br /&gt;
&lt;br /&gt;
Update: I upgraded to an SSD drive and maxed the RAM out and now it boots instantly. It's pretty awesome actually.&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;/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;/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;/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></channel></rss>
