<?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/opensearchrss/1.0/" xmlns:georss="http://www.georss.org/georss" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-2809594561952468542</atom:id><lastBuildDate>Wed, 11 Nov 2009 22:30:37 +0000</lastBuildDate><title>EricDaugherty.com</title><description /><link>http://www.ericdaugherty.com/blog/</link><managingEditor>noreply@blogger.com (Eric)</managingEditor><generator>Blogger</generator><openSearch:totalResults>190</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/EricDaugherty" type="application/rss+xml" /><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-2809594561952468542.post-8010283438464190026</guid><pubDate>Wed, 11 Nov 2009 22:30:00 +0000</pubDate><atom:updated>2009-11-11T16:30:37.814-06:00</atom:updated><title>Flex: Monospace Fonts and Sizing Text Components</title><description>For a recent project I wanted to simulate an 80x24 terminal window in a Flex application.  To accomplish this I needed a fixed width (monospace) font and the ability to size the text control for the current font.  Here is what I did:&lt;br /&gt;&lt;br /&gt;First, I needed a monospace (fixed width) font.  You can embed your own fonts in a Flash SWF, but that was overkill for this effort.  You could specify a specific font, such as 'Courier New' that is monospace.  However, there can be issues if the client's device does not have the specific font face.  &lt;a href="http://livedocs.adobe.com/flex/3/html/fonts_03.html#136858"&gt;Device Fonts&lt;/a&gt; often serve as a fallback font if the specific font requested does not exist on the user's device.  In this case, I didn't want to select a specific font, I just wanted the default monospace font.  So I used the &lt;span style="font-style: italic;"&gt;_typewriter&lt;/span&gt; font (the other types are &lt;span style="font-style: italic;"&gt;_sans&lt;/span&gt; and &lt;span style="font-style: italic;"&gt;_serif&lt;/span&gt;).&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&amp;lt;mx:text id="myText" fontfamily="_typewriter" /&amp;gt;&lt;/pre&gt;&lt;br /&gt;Once I had a monospace font, I needed to determine the proper size of the control for an 80x24 terminal.  I started by simply setting the text control to an 80 character wide (and then 24 character high) string and noting the size, but I needed something that would work easily at runtime.  I created this quick helper method that would resize my control:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;private function setSize(control:mx.controls.Label,&lt;br /&gt; charWidth:int, charHeight:int, defaultText:String = "") : void {&lt;br /&gt;&lt;br /&gt; var testString:String = "0";&lt;br /&gt; var width:int = control.width +&lt;br /&gt;     (control.measureText(testString).width * charWidth);&lt;br /&gt; var height:int = control.height +&lt;br /&gt;     (control.measureText(testString).height * charHeight);&lt;br /&gt;&lt;br /&gt; control.text = defaultText;&lt;br /&gt; control.width = width;&lt;br /&gt; control.height = height;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;I set this method to be called when the container's creationComplete event fired.  This method assumes that the control is set to an empty string initially, and accepts an optional defaultText parameter if you wish to initialize it.&lt;br /&gt;&lt;br /&gt;The measureText method returns the size of the text, but not the surrounding control borders, so I added the default control size to the text size to achieve the proper control size.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2809594561952468542-8010283438464190026?l=www.ericdaugherty.com%2Fblog'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/EricDaugherty/~4/2aRtoKlNt5U" height="1" width="1"/&gt;</description><link>http://www.ericdaugherty.com/blog/2009/11/flex-monospace-fonts-and-sizing-text.html</link><author>noreply@blogger.com (Eric)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2809594561952468542.post-8989526023914425927</guid><pubDate>Tue, 03 Nov 2009 22:28:00 +0000</pubDate><atom:updated>2009-11-03T16:37:20.527-06:00</atom:updated><title>iTunes Export 2.0 - Now Supports OS X!</title><description>This release of iTunes Export marks a milestone and major transition of the development focus.  The prior releases, 1.0-1.6 were all build using the Microsoft .Net Framework, which limited deployment to Windows.  With this release, iTunes Export now fully support Windows and Mac OS X.&lt;br /&gt;&lt;br /&gt;The Graphical User Interface version has been ported to &lt;a href="http://www.adobe.com/products/flex/"&gt;Adobe Flex&lt;/a&gt; and is deployed as an &lt;a href="http://www.adobe.com/products/air/"&gt;AIR&lt;/a&gt; desktop application.  The Command Line version is an update of the Scala version I &lt;a href="http://www.ericdaugherty.com/blog/2009/05/itunes-export-scala-02-released.html"&gt;developed earlier this year&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;iTunes Export exports your iTunes playlists as M3U, WPL, ZPL, and MPL files, allowing you to setup playlists in iTunes and use them with other software or devices.&lt;br /&gt;&lt;br /&gt;The primary focus of this release was to enable Mac OS X support.  However, in addition to this, the copy files (songs) logic has been revamped.  There are now three options:&lt;br /&gt; - FLAT - Copies all the songs into the output directory&lt;br /&gt; - ITUNES - Retains the iTunes structure (Artist/Album)&lt;br /&gt; - PLAYLIST - The 'original' copy logic that copies the songs into a directory per playlist.&lt;br /&gt;&lt;br /&gt;The new version can be downloaded from the project homepage:  &lt;a href="http://www.ericdaugherty.com/dev/itunesexport/"&gt;http://www.ericdaugherty.com/dev/itunesexport/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;As this is a major new release, please keep an eye out for any bugs or issues that may appear.  If you find any issues or have questions please email me (eric@ericdaugherty.com).  Please include which application and version (GUI or Console, 2.0 etc.) of iTunes Export and which Operating System version.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2809594561952468542-8989526023914425927?l=www.ericdaugherty.com%2Fblog'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/EricDaugherty/~4/27P7NMAkE18" height="1" width="1"/&gt;</description><link>http://www.ericdaugherty.com/blog/2009/11/itunes-export-20-now-supports-os-x.html</link><author>noreply@blogger.com (Eric)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">5</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2809594561952468542.post-5739130883312032840</guid><pubDate>Sat, 31 Oct 2009 00:22:00 +0000</pubDate><atom:updated>2009-10-30T19:35:53.614-05:00</atom:updated><title>Closing Time</title><description>I'm reminded of the &lt;span class="status-body"&gt;&lt;span class="entry-content"&gt;Semisonic song &lt;a href="http://www.lyricsondemand.com/onehitwonders/closingtimelyrics.html"&gt;Closing Time&lt;/a&gt; today, and the quote &lt;/span&gt;&lt;/span&gt;&lt;span class="status-body"&gt;&lt;span class="entry-content"&gt;"Every new beginning comes from some other beginning's end". &lt;br /&gt;&lt;br /&gt;Today was my last day with my current employer, and I will soon begin not only a new job but also  the process of relocating to Colorado.  We're not moving right away, but today is a major milestone.&lt;br /&gt;&lt;br /&gt;It has been fun, and I will miss many aspects of my experience here, but my family and I are excited about the future.&lt;br /&gt;&lt;br /&gt;But on this day, it is important to keep perspective.  This new beginning comes from some other beginning's end.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2809594561952468542-5739130883312032840?l=www.ericdaugherty.com%2Fblog'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/EricDaugherty/~4/YHCj6V29WQ4" height="1" width="1"/&gt;</description><link>http://www.ericdaugherty.com/blog/2009/10/closing-time.html</link><author>noreply@blogger.com (Eric)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2809594561952468542.post-6562118257734696592</guid><pubDate>Wed, 28 Oct 2009 15:30:00 +0000</pubDate><atom:updated>2009-10-28T10:33:33.837-05:00</atom:updated><title>Google Disrupts Another Industry</title><description>Google announced plans to release a turn-by-turn GPS Navigation application for the new Motorola Android 2.0 (Droid) phone.  This is significant enough, but &lt;a href="http://news.cnet.com/8301-30684_3-10384544-265.html"&gt;CNET also reports&lt;/a&gt;: &lt;div&gt;&lt;blockquote&gt;However, Google is working with Apple on bringing it to the iPhone, and it's not ruling out licensing the software to makers of portable navigation devices used in cars throughout the world, said Gundotra, vice president of engineering at Google for mobile and developers.&lt;/blockquote&gt;&lt;/div&gt;&lt;div&gt;This could be a major disruptive force to Tom Tom, Garmin, and the entire mobile navigation industry.  There is nothing like a free alternative to a &lt;a href="http://iphone.tomtom.com/"&gt;$99 iPhone Application&lt;/a&gt; (US Version) to shake things up, let alone the impact on the automotive manufacturers and their in-dash software needs.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Microsoft and Apple are obviously concerned about Google, but Google's impact may be greater in less obvious market areas.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2809594561952468542-6562118257734696592?l=www.ericdaugherty.com%2Fblog'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/EricDaugherty/~4/GSksQlTthj0" height="1" width="1"/&gt;</description><link>http://www.ericdaugherty.com/blog/2009/10/google-disrupts-another-industry.html</link><author>noreply@blogger.com (Eric)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2809594561952468542.post-6094966685802274007</guid><pubDate>Wed, 28 Oct 2009 14:21:00 +0000</pubDate><atom:updated>2009-10-28T10:20:34.799-05:00</atom:updated><title>Signing AIR Applications: How AIR's Certificate Requirement Complicates Open Source Development</title><description>Adobe AIR is the desktop runtime environment for deploying Flex applications.  The main difference between a Flex application and an AIR application is that AIR applications are installed locally and have additional access to local resources, including the local file system, while a Flex application runs in the browser and is 'sandboxed'.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I've been developing an AIR version of my &lt;a href="http://www.ericdaugherty.com/dev/itunesexport/"&gt;iTunes Export&lt;/a&gt; open source application.  The original version was developed in .Net, making it Windows only.  The AIR version will work across Windows and OS X, and will replace the existing .Net GUI.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;As I prepare to release the first Beta I ran into the question of how to sign my AIR application.  All Adobe Air applications must be signed using a digital certificate.  There are a few companies that sell certificates that are recognized by Windows and OS X by default, and they charge $300/year and up.  That is pocket change for any company selling an application but a pretty significant cost for an open source application that produces no revenue.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;You can self-sign a certificate, but you are then presented with this dialog box:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;img src="http://www.ericdaugherty.com/images/AIRUnknownPublisher.jpg" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;If you want to avoid this dire warning, you must buy a certificate from one of the Root Certificate Authorities.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So what do I do?  I'm tempted to release it using a self-signed certificate.  The warning is annoying, but I've been releasing the .Net version unsigned for years, and it had as much or more 'destructive capability'.  However, the users also were not faced with this warning dialog.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;It would be nice if there was an 'Open Source' Certificate Authority (CA), that allowed open source projects access to free certificates, but the costs involved in becoming a Root CA and managing the issuance of certificates would require a very generous patron.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;If you are looking for step by step instructions on HOWTO sign an AIR application, check out this &lt;a href="http://www.adobe.com/devnet/air/articles/signing_air_applications.html"&gt;tutorial&lt;/a&gt;.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2809594561952468542-6094966685802274007?l=www.ericdaugherty.com%2Fblog'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/EricDaugherty/~4/hQTYJ4Vvv_0" height="1" width="1"/&gt;</description><link>http://www.ericdaugherty.com/blog/2009/10/signing-air-applications-how-airs.html</link><author>noreply@blogger.com (Eric)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2809594561952468542.post-7770355258672255294</guid><pubDate>Sat, 10 Oct 2009 01:16:00 +0000</pubDate><atom:updated>2009-10-09T20:32:43.049-05:00</atom:updated><title>Parsing PList files in ActionScript</title><description>The PList format is not one of my favorites.  I've &lt;a href="http://www.ericdaugherty.com/blog/2009/04/apples-plist-xml-properties-list-is.html"&gt;complained about it before&lt;/a&gt;, but Apple continues to use it for its iTunes library information, so I continue to parse it.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I've been exploring the option of porting the iTunesExport project to Flex (Air) to provide a cross platform version.  The current version is written in .Net and therefore not usable on OS X. As such I needed to parse the PList file using ActionScript.  I adopted the Java PList Parser written by Christoffer Lerno for his &lt;a href="http://code.google.com/p/xmlwise"&gt;XMLWise project&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The dynamic nature of ActionScript resulted in a much smaller implementation (although I did skip over 'REAL' and 'DATA' types), and makes it easy to consume.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;You can view or download my version &lt;a href="http://www.ericdaugherty.com/dev/itunesexport/PListParser.as"&gt;here&lt;/a&gt;, released under the MIT license.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Here is a snapshot of how it is used:&lt;/div&gt;&lt;div&gt;&lt;blockquote&gt;var parser:PListParser = new PListParser();&lt;br /&gt;var pList:Object = parser.parsePList(xml);&lt;br /&gt;   &lt;br /&gt;   playlists = pList.Playlists.filter(filterPlaylists);&lt;/blockquote&gt;The last line accesses the Playlist array (dynamically created when the PList is parsed), and filters it using the specified filterPlaylists method, returning a filtered list of the playlists from the original XML file.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;It provides easy structured access to an XML file that would otherwise be difficult to access in a rational manner.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2809594561952468542-7770355258672255294?l=www.ericdaugherty.com%2Fblog'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/EricDaugherty/~4/-R5pkGHJNxY" height="1" width="1"/&gt;</description><link>http://www.ericdaugherty.com/blog/2009/10/parsing-plist-files-in-actionscript.html</link><author>noreply@blogger.com (Eric)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2809594561952468542.post-7878854175515925515</guid><pubDate>Sun, 04 Oct 2009 21:59:00 +0000</pubDate><atom:updated>2009-10-04T20:59:00.914-05:00</atom:updated><title>iTunes Export 1.6 Released</title><description>A new version of my iTunes Export utility is available.&lt;br /&gt;&lt;br /&gt;iTunes Export exports your iTunes playlists as M3U, WPL, ZPL, and now also MPL files, allowing you to setup playlists in iTunes and use them with other software or devices.&lt;br /&gt;&lt;br /&gt;This release adds several fixes and enhancements that have build up in the last few months. They include:&lt;br /&gt;&lt;br /&gt;Improved the logic for music copying.  It can now handle duplicate songs and an arbitrary number of songs in a playlist (removed the 999 song limit) and handles duplicate files gracefully.  Thanks to Simon Hyde for submitting the patch.&lt;br /&gt;&lt;br /&gt;Added support for MPL playlists, used by Centrafuse (www.centrafuse.com) Car PC.  Thanks for Stavros Glezakos for submitting the patch.&lt;br /&gt;&lt;br /&gt;The new version can be downloaded from the project homepage:  &lt;a href="http://www.ericdaugherty.com/dev/itunesexport/"&gt;http://www.ericdaugherty.com/dev/itunesexport/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;There have been several requests for improved file copying approaches to handle the many different usage scenarios.  I have begun work on a 2.0 version and am planning to include a revamped approach to file copying in that release.  Thanks for all the feedback.&lt;br /&gt;&lt;br /&gt;Please email me with new features or bug fixes (eric@ericdaugherty.com).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2809594561952468542-7878854175515925515?l=www.ericdaugherty.com%2Fblog'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/EricDaugherty/~4/oM6X2fIUceQ" height="1" width="1"/&gt;</description><link>http://www.ericdaugherty.com/blog/2009/10/itunes-export-16-released.html</link><author>noreply@blogger.com (Eric)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">4</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2809594561952468542.post-5491519785323808876</guid><pubDate>Sat, 26 Sep 2009 17:25:00 +0000</pubDate><atom:updated>2009-09-26T13:14:00.454-05:00</atom:updated><title>Java Email Server 2.0 Beta 2 Released</title><description>&lt;a href="http://www.ericdaugherty.com/java/mailserver"&gt;Java Email Server&lt;/a&gt; (JES) is an open source email server (SMTP/POP3) written in Java.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This release is the second Beta version of the new 2.0 development branch.    This is an incremental update to Beta 1 and contains the following updates:&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Truly decoupled dependency on log4j. See section "Logging Facility" in AdditionalNotes.txt.&lt;/li&gt;&lt;li&gt;Server instance now uses a singleton pattern.&lt;/li&gt;&lt;li&gt;Added an option ("testing.destination") that, when set, directs all outgoing messages to the destination (currently a folder).&lt;/li&gt;&lt;li&gt;Each domain gets its own default user.&lt;/li&gt;&lt;li&gt;A profile can now be set for the services to be activated at startup. The profile is broken down into Mail Transfer Mode and Mail Retrieval Mode. Resource allocation is affected, but not considerably.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;Please read the &lt;a href="http://www.ericdaugherty.com/blog/2009/06/java-email-server-20-beta-1-released.html"&gt;Beta 1 Post&lt;/a&gt; for the other 2.0 branch changes.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;While the belief is that JES 2.0 Beta 2 is stable, we will continue with Beta releases in the 2.0 branch until we feel confident that the 2.0 code is stable and production safe.  Please provide feedback on this release in the &lt;a href="http://groups.google.com/group/java-email-server"&gt;JES Google Group&lt;/a&gt;, even if it is just letting us know you are using JES without any issues.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;You can download this release from the &lt;a href="http://www.ericdaugherty.com/java/mailserver/"&gt;project home page&lt;/a&gt;.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2809594561952468542-5491519785323808876?l=www.ericdaugherty.com%2Fblog'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/EricDaugherty/~4/0kH8OaLYaik" height="1" width="1"/&gt;</description><link>http://www.ericdaugherty.com/blog/2009/09/java-email-server-20-beta-2-released.html</link><author>noreply@blogger.com (Eric)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2809594561952468542.post-4993980708792424794</guid><pubDate>Wed, 09 Sep 2009 19:03:00 +0000</pubDate><atom:updated>2009-09-09T14:26:32.748-05:00</atom:updated><title>Eating Crow</title><description>After holding out for years, and picking the Palm &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;Pre&lt;/span&gt; as my 'next phone', it is time for me to &lt;a href="http://en.wikipedia.org/wiki/Eating_crow"&gt;Eat Crow&lt;/a&gt;.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Last weak I broke down and bought a brand new black iPhone 3GS.  And I love it.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Two years ago, when the first iPhone came out, I wrote the post '&lt;a href="http://www.ericdaugherty.com/blog/2007/02/no-iphone-for-me.html"&gt;No iPhone for Me&lt;/a&gt;'.  Re-reading that post now, I think my criticisms were mostly fair, and have been mostly &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_1"&gt;resolved&lt;/span&gt;.  My primary issues were:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Price ($499 and $599)&lt;/li&gt;&lt;li&gt;No Removable Battery&lt;/li&gt;&lt;li&gt;Touchscreen Keyboard&lt;/li&gt;&lt;li&gt;EDGE (no 3G)&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;I wrapped up the post with the following: "&lt;i&gt;However, even if the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;iPhone's&lt;/span&gt; first version does fail, it is hardly down for the count. Apple can and will innovate, and with their existing &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;iPod&lt;/span&gt; market domination, they will have several chances to make this concept successful. I'll be tracking how this develops (from my &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;Treo&lt;/span&gt;).&lt;/i&gt;"  Apple did use subsequent releases (OS and Hardware) to make it successful.  The addition of 3G and the price drops were major &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_5"&gt;improvements&lt;/span&gt;, and directly addressed half of my concerns.  I've come to accept the keyboard as an acceptable option.  I'm not convinced about the built in battery, but it is clearly the direction Apple is moving, with their laptops now as well.  And the built in battery provides a fit and finish that is impossible with removable battery devices.  But it was the App Store, with all its drama, that made the device a HUGE success.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;As I become more and more &lt;a href="http://www.ericdaugherty.com/blog/2009/06/fed-up-with-my-treo-755p.html"&gt;fed up with my &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;Treo&lt;/span&gt;&lt;/a&gt;, I explored my upgrade options.  There was the Palm &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;Pre&lt;/span&gt;, &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_8"&gt;Blackberry&lt;/span&gt; Devices, Android, and Windows Mobile.  I'd tried Windows Mobile and had no desire to go back.  &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_9"&gt;Blackberries&lt;/span&gt; also held no &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_10"&gt;allure&lt;/span&gt;.  They are very business focused, and the iPhone and &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;Pre&lt;/span&gt; both provide better balance.  In the end, it was the market share (Apps, general &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_12"&gt;mind share&lt;/span&gt;) that convinced my to choose the iPhone.  My wife has one and loves it, and while I think the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;Pre&lt;/span&gt; is a great device, I'm not willing to make a 2 year (wireless contract) bet on it.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;After a week of use, here are my thoughts:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;The touch keyboard works.  I don't LOVE it, but it works.&lt;/li&gt;&lt;li&gt;The navigation is less efficient than my &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;Treo&lt;/span&gt;, but it is a small trade-off given the other benefits.&lt;/li&gt;&lt;li&gt;The integration of the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;iPod&lt;/span&gt; functionality is great.&lt;/li&gt;&lt;li&gt;The Exchange support is great.&lt;/li&gt;&lt;li&gt;The battery is OK.&lt;/li&gt;&lt;li&gt;Safari is great.  I'm actually using Safari for GMail instead of the Mail app for now.&lt;/li&gt;&lt;li&gt;Google Reader on Safari is great.&lt;/li&gt;&lt;li&gt;Apps, Apps, Apps.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;I realize I'm a late comer to the party, but I'm going with the idea that I waited until the iPhone was ready for me.  Either way, I'm glad I made the switch.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2809594561952468542-4993980708792424794?l=www.ericdaugherty.com%2Fblog'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/EricDaugherty/~4/M6MmQPIKYP4" height="1" width="1"/&gt;</description><link>http://www.ericdaugherty.com/blog/2009/09/eating-crow.html</link><author>noreply@blogger.com (Eric)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2809594561952468542.post-3952153416891444133</guid><pubDate>Sun, 30 Aug 2009 01:39:00 +0000</pubDate><atom:updated>2009-08-29T20:49:13.345-05:00</atom:updated><title>Timeless Songs</title><description>There are great songs, and then there are timeless songs.  Songs that are appreciated generation after generation, and throughout the different stages on one's life.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I think part of the test of a timeless song is how an acoustic, or 'unplugged' version holds up.  When you strip out all the energy and 'noise', do you still have something that you love?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I just saw an old ('75) acoustic performance of Thunder Road (&lt;a href="http://www.kungfugrippe.com/post/52734885/bruce-springsteen-thunder-road-live-1975"&gt;thanks Merlin&lt;/a&gt;), and it reminded me of why the song is so great.  When you strip it down to its core, it is still amazing.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/PYPSZiE0OAs&amp;amp;rel=0&amp;amp;color1=0xb1b1b1&amp;amp;color2=0xcfcfcf&amp;amp;feature=player_embedded&amp;amp;fs=1"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowScriptAccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/PYPSZiE0OAs&amp;amp;rel=0&amp;amp;color1=0xb1b1b1&amp;amp;color2=0xcfcfcf&amp;amp;feature=player_embedded&amp;amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://en.wikipedia.org/wiki/MTV_Unplugged"&gt;MTV Unplugged&lt;/a&gt; popularized the idea of acoustic versions of rock (and other genres) songs.  As a Bon Jovi fan, I've enjoyed a couple Unplugged versions of Living on a Prayer, but the classic one is the '89 MTV Awards:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/wLupqZmewHI&amp;amp;hl=en&amp;amp;fs=1&amp;amp;"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/wLupqZmewHI&amp;amp;hl=en&amp;amp;fs=1&amp;amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Acoustic versions often give you a closer and more intimate connection with the lyrics.  While this is generally true, and certainly true of the previous two songs, I don't find this Dylan Unplugged version of Like a Rolling Stone creates that closer connection.  I think it is too 'busy'.  To many instruments, too much noise.  Take it as a contrast to the previous two.  It is still a great song, but I much prefer the more distilled versions by Bruce and Jon.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/JLNRgxsgRaM&amp;amp;hl=en&amp;amp;fs=1&amp;amp;"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/JLNRgxsgRaM&amp;amp;hl=en&amp;amp;fs=1&amp;amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2809594561952468542-3952153416891444133?l=www.ericdaugherty.com%2Fblog'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/EricDaugherty/~4/PcYW6Z7UCkk" height="1" width="1"/&gt;</description><link>http://www.ericdaugherty.com/blog/2009/08/timeless-songs.html</link><author>noreply@blogger.com (Eric)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2809594561952468542.post-4907899548457739525</guid><pubDate>Wed, 26 Aug 2009 01:07:00 +0000</pubDate><atom:updated>2009-08-25T20:14:57.844-05:00</atom:updated><title>Building Flex Applications with Gradle</title><description>&lt;div&gt;&lt;span class="Apple-style-span"  style=" ;font-family:'Times New Roman';"&gt;&lt;div style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 3px; padding-right: 3px; padding-bottom: 3px; padding-left: 3px; width: auto; font: normal normal normal 100%/normal Georgia, serif; text-align: left; "&gt;&lt;div&gt;In a &lt;a href="http://www.ericdaugherty.com/blog/2009/08/build-tools.html"&gt;recent post&lt;/a&gt;, I touched on my frustration with Maven and my interest in other build tools.  &lt;a href="http://gradle.org/"&gt;Gradle&lt;/a&gt; looked interesting (Grovy DSL with Ant integration).  I've been playing with building a Flex app, so I thought I would see if I could get Gradle to build it.  Since Adobe provides custom Ant tasks as part of its SDK distribution, it should be easy.  In fact, it is.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Assumptions:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;You have downloaded the Adobe SDK (or Flex Developer)&lt;/li&gt;&lt;li&gt;You have a sample Flex (or Air) app to build.&lt;/li&gt;&lt;li&gt;You have Gradle downloaded and installed.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;The first step is to create a Gradle build file (&lt;i&gt;build.gradle&lt;/i&gt;) in your Flex application directory.  To test your Gradle install, put a simple Hello World task:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;task hello &lt;&lt; { &lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;  println "Hello World"&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;}&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;You can then run &lt;i&gt;gradle hello&lt;/i&gt; from your command prompt.  It should echo back:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;i&gt;:hello&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;Hello World&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Now you need to 'install' the &lt;a href="http://livedocs.adobe.com/flex/3/html/help.html?content=anttasks_1.html"&gt;Flex Ant Task Jar&lt;/a&gt;.  This can be found in your Flex SDK Install under the ant directory (sdk_install/ant).  There are a couple ways to install this.  The easiest is to put it in the lib directory under your GRADLE_HOME directory.  You can also specify the classpath in the taskdef command, but I'll leave that as an exercise for the reader...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Once you have the Flex Ant Tasks installed, you can create your Gradle build script.  Here is a straight foward compile script:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;i&gt;ant.FLEX_HOME="c:/Program Files/Adobe/flex_sdk_3"&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;ant.taskdef(resource: "flexTasks.tasks")&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;task compile &lt;&lt; {&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;  ant.mxmlc(file: "src/Main.mxml") {    &lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;  }&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;}&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;You will need to change the &lt;i&gt;FLEX_HOME&lt;/i&gt; value and &lt;i&gt;Main.mxml&lt;/i&gt; to your specific environment/app, but that is it.  You can then execute &lt;i&gt;gradle compile&lt;/i&gt; from your command prompt and compile the application.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;If it is an Air app, you will need to add &lt;i&gt;configname: "air"&lt;/i&gt; to the mxmlc task definition so it uses the Air configuration.  Otherwise, you will likely see: &lt;i&gt;Unable to locate specified base class 'mx.core.WindowedApplication'&lt;/i&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;To build the Air package for your application, you will also need to call the script file included with the SDK.  You can find a sample of the ANT version of this &lt;a href="http://www.adobe.com/cfusion/communityengine/index.cfm?event=showdetails&amp;amp;postId=12175&amp;amp;productId=2&amp;amp;loc=en_US"&gt;here&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This example is more a sample of how easily Ant tasks can be used in Gradle than the overall power of Gradle.  But it does demonstrate that Gradle can be used to build anything that has Ant tasks, and that is a great start.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2809594561952468542-4907899548457739525?l=www.ericdaugherty.com%2Fblog'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/EricDaugherty/~4/cZBl3edt9LI" height="1" width="1"/&gt;</description><link>http://www.ericdaugherty.com/blog/2009/08/building-flex-applications-with-gradle.html</link><author>noreply@blogger.com (Eric)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2809594561952468542.post-4763979273335278145</guid><pubDate>Thu, 20 Aug 2009 13:21:00 +0000</pubDate><atom:updated>2009-08-20T08:33:44.997-05:00</atom:updated><title>Build Tools</title><description>&lt;div&gt;I've said it before, &lt;a href="http://www.ericdaugherty.com/blog/2009/04/maven-versus-ant.html"&gt;I find Maven annoying&lt;/a&gt;.  I've even explored other build tools like &lt;a href="http://www.ericdaugherty.com/blog/2009/05/simple-build-tool.html"&gt;Simple-Build-Tool&lt;/a&gt;, which I like, but I'm not sure I love.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Now Steve Ebersole from Hibernate joins the ranks of the &lt;a href="http://in.relation.to/Bloggers/Maven2YearsAfter"&gt;frustrated Maven users&lt;/a&gt;.  He is frustrated with Maven's module setup, something I've seen first hand on my current project.  &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Based on the comments on his post, it seems that &lt;a href="http://gradle.org"&gt;Gradle&lt;/a&gt; is becoming a popular alternative, I'll have to check it out.  &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.ericdaugherty.com/blog/2009/05/simple-build-tool.html"&gt;Simple-Build-Tool&lt;/a&gt; is also mentioned, though I've only used it for Scala projects so far, I find it interesting but also a bit difficult to fully understand.  It's flexibility and use of Scala is powerful, but has the common side-effect that it isn't obvious how to accomplish something, or what a configuration line really does.  I like the fact that it leverages Maven's standard structure, allowing you to easily test Maven projects with SBT.  &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;I think Ant could also be salvaged, if it adopted the Maven directory conventions and then allowed configuration from there, but I'm not sure that it the best approach.  It may just be time to move on.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;What do I really want?  A tool that provides simple setup for 'standard' projects, but allows the flexibility and power for fine grained control when I want to devaite from the 'norm'.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2809594561952468542-4763979273335278145?l=www.ericdaugherty.com%2Fblog'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/EricDaugherty/~4/NsjW-_7PZTg" height="1" width="1"/&gt;</description><link>http://www.ericdaugherty.com/blog/2009/08/build-tools.html</link><author>noreply@blogger.com (Eric)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2809594561952468542.post-7670749004555929073</guid><pubDate>Wed, 12 Aug 2009 00:54:00 +0000</pubDate><atom:updated>2009-08-11T19:54:24.609-05:00</atom:updated><title>Deceptive Marketing</title><description>There is a great post on 37 Signals about '&lt;a href="http://37signals.com/svn/posts/1851-little-green-lies"&gt;Little Green Lies&lt;/a&gt;'.  I've looked at the exact same label ('98% &lt;em&gt;naturally derived&lt;/em&gt; ingredients') and thought the same thing.&lt;br /&gt;&lt;br /&gt;What does that even mean?  EVERYTHING is 'derived' from something natural at some level.  The sad part is that marketing like this works.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2809594561952468542-7670749004555929073?l=www.ericdaugherty.com%2Fblog'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/EricDaugherty/~4/jV014HFEr8s" height="1" width="1"/&gt;</description><link>http://www.ericdaugherty.com/blog/2009/08/deceptive-marketing.html</link><author>noreply@blogger.com (Eric)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2809594561952468542.post-7227652575778086587</guid><pubDate>Fri, 07 Aug 2009 17:55:00 +0000</pubDate><atom:updated>2009-08-07T13:09:05.172-05:00</atom:updated><title>John Hughes</title><description>With &lt;a href="http://en.wikipedia.org/wiki/John_Hughes_(director)"&gt;John Hughes&lt;/a&gt;' passing yesterday, it is appropriate to pay tribute to his life and work.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;For me, he was the writer and director of the movies that defined my adolescence.  As a writer, he had an amazing string of hits from 83-87 with:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/National_Lampoon%27s_Vacation" title="National Lampoon's Vacation"&gt;National Lampoon's Vacation&lt;/a&gt; (1983)&lt;/li&gt;&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/Sixteen_Candles" title="Sixteen Candles"&gt;Sixteen Candles&lt;/a&gt; (1984) - Also Directed&lt;/li&gt;&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/The_Breakfast_Club" title="The Breakfast Club"&gt;The Breakfast Club&lt;/a&gt; (1985) - Also Directed&lt;/li&gt;&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/Weird_Science_(film)" title="Weird Science (film)"&gt;Weird Science&lt;/a&gt; (1985) - Also Directed&lt;/li&gt;&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/Pretty_in_Pink" title="Pretty in Pink"&gt;Pretty in Pink&lt;/a&gt; (1986)&lt;/li&gt;&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/Ferris_Bueller%27s_Day_Off" title="Ferris Bueller's Day Off"&gt;Ferris Bueller's Day Off&lt;/a&gt; (1986) - Also Directed&lt;/li&gt;&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/Some_Kind_of_Wonderful_(film)" title="Some Kind of Wonderful (film)"&gt;Some Kind of Wonderful&lt;/a&gt; (1987)&lt;/li&gt;&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/Planes,_Trains_%26_Automobiles" title="Planes, Trains &amp;amp; Automobiles"&gt;Planes, Trains &amp;amp; Automobiles&lt;/a&gt; (1987) - Also Directed&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;To write that many great movies every year for 5 years is amazing, especially since he directed over half of them himself.  I've seen every one of these movies many times and enjoyed them all.  Add other hits like &lt;a href="http://en.wikipedia.org/wiki/The_Great_Outdoors_(1988_film)"&gt;The Great Outdoors&lt;/a&gt; (1988)  &lt;a href="http://en.wikipedia.org/wiki/Uncle_Buck" title="Uncle Buck"&gt;Uncle Buck&lt;/a&gt; (1989), &lt;a href="http://en.wikipedia.org/wiki/National_Lampoon%27s_Christmas_Vacation"&gt;National Lampoon's Christmas Vacation&lt;/a&gt; (1989), and &lt;a href="http://en.wikipedia.org/wiki/Home_Alone_(film)" title="Home Alone (film)"&gt;Home Alone&lt;/a&gt; (1990), and it is an amazing career.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Growing up in Chicago, John Hughes' movies always had a special appeal.  They were often set in Chicago or its suburbs, and represented Midwestern suburban kids.  Me.  &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Here is a great &lt;a href="http://www.youtube.com/watch?v=ZOkNIUw0c2s"&gt;montage on YouTube&lt;/a&gt; set to a great song...&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/ZOkNIUw0c2s&amp;amp;hl=en&amp;amp;fs=1&amp;amp;"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/ZOkNIUw0c2s&amp;amp;hl=en&amp;amp;fs=1&amp;amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2809594561952468542-7227652575778086587?l=www.ericdaugherty.com%2Fblog'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/EricDaugherty/~4/A0vy4d9L2pk" height="1" width="1"/&gt;</description><link>http://www.ericdaugherty.com/blog/2009/08/john-hughes.html</link><author>noreply@blogger.com (Eric)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2809594561952468542.post-5779527149832701003</guid><pubDate>Mon, 03 Aug 2009 00:06:00 +0000</pubDate><atom:updated>2009-08-02T19:17:09.024-05:00</atom:updated><title>Mobile Web</title><description>Fred Wilson has an interesting &lt;a href="http://www.avc.com/a_vc/2009/08/building-a-real-mobile-web.html"&gt;post about the 'Mobile Web'&lt;/a&gt;, and how it is different than the world wide web we know.  In short, the mobile web is highly fragmented.  Read the article.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This is an issue that has impacted my thought process recently.  I've been considering getting a new mobile phone (PDA), and as a long time Palm user I'm interested in the Pre.  The OS looks great, it has a physical keyboard, and the device is fairly open (you get root access with the developer SDK).  However, in the fragmented mobile market, the iPhone is the king.  The development effort and ecosystem around the iPhone is amazing.  In a fragmented market, I'm not sure I want to bet on a niche player.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;There are many reasons for this fragmentation, some technical, some institutional.  I'd like to see more of the institutional ones removed (no exclusive carrier agreements, more 'open' devices), but on 'limited' devices, tailoring the experience to the hardware is important for usability.  There is a reason that the iPhone SDK was the key to the devices explosion.  Apps delivered in the iPhone browser are just not as compelling.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;To achieve a mobile web as ubiquitous as the world wide web, we need to make the browser the default application delivery platform, just as it is on 'real' computers.  I'm just not sure the devices and networks are there yet.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2809594561952468542-5779527149832701003?l=www.ericdaugherty.com%2Fblog'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/EricDaugherty/~4/hiNnSpECeU4" height="1" width="1"/&gt;</description><link>http://www.ericdaugherty.com/blog/2009/08/mobile-web.html</link><author>noreply@blogger.com (Eric)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2809594561952468542.post-5114291396634334446</guid><pubDate>Sun, 26 Jul 2009 02:14:00 +0000</pubDate><atom:updated>2009-07-27T10:58:46.370-05:00</atom:updated><title>Sports, TiVo, and Niche Markets</title><description>I enjoy watching sports.  Pro Football, College Basketball, and all types of Soccer.  I also enjoy my DVR (not technically a TiVo anymore).  Unlike many people, I enjoy watching sports on my DVR.  I'm not hung up on 'live', and I really dislike commercials.  I don't particularly care for halftime either.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;When I watch Pro Football, I have to watch the game on the same day.  I don't really ever watch it live, but usually I watch it within a few hours of 'live'.  It is pretty difficult to avoid finding out the end result of the game for more than a few hours, and especially on Monday mornings in an office environment.  College Basketball is better, but still tough to delay more than  few hours.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Soccer on the other hand, is a niche market.  Last weekend I recorded 4 games.  The Chicago Fire, Chicago Red Stars, and the Men's and Women's national teams.  I watched the fire game and the men's national team game over the weekend.  The Red Stars and Women's game I watched during the week.  I never heard the scores on the radio, no one twittered about it, and there was no water cooler talk.  I am free to delay the games as long as I want.  In fact, I've only heard scores from a Red Stars game once on the radio, on a really slow sports day.  Even the WNBA gets more time than women's soccer.  Does anyone really care about the WNBA?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I don't watch ANY television live.  What's the point?  I let my life be my life, and television provides entertainment when I'm ready.  I'm glad the sport I enjoy most supports it.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2809594561952468542-5114291396634334446?l=www.ericdaugherty.com%2Fblog'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/EricDaugherty/~4/8SNjddt_SbI" height="1" width="1"/&gt;</description><link>http://www.ericdaugherty.com/blog/2009/07/sports-tivo-and-niche-marckets.html</link><author>noreply@blogger.com (Eric)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2809594561952468542.post-5223434975808455512</guid><pubDate>Thu, 23 Jul 2009 20:01:00 +0000</pubDate><atom:updated>2009-07-23T16:21:00.043-05:00</atom:updated><title>The Simple Approach</title><description>I have a reasonable amount of archived email on my local hard drive, that I'd really prefer to store in Gmail.  Since I use Google Apps for my domain I created a new account to store the archive email.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The next step was figuring out how I could get the email into the account.  I started looking around for applications to export to Gmail or import from archive formats.  Then I came across the simple approach.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I added the newly created GMail account to my email client that contained the archived email.  Then I dragged the email from the archive folders into the new account.  The email client dutifully copied it to the Gmail account, preserving the date and all other meta-data.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;No tools needed.  Simple, easy, and effective.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2809594561952468542-5223434975808455512?l=www.ericdaugherty.com%2Fblog'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/EricDaugherty/~4/P_Dx8d62kwk" height="1" width="1"/&gt;</description><link>http://www.ericdaugherty.com/blog/2009/07/simple-approach.html</link><author>noreply@blogger.com (Eric)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2809594561952468542.post-7759736352521689925</guid><pubDate>Sun, 12 Jul 2009 20:18:00 +0000</pubDate><atom:updated>2009-07-12T19:13:11.161-05:00</atom:updated><title>Vacation</title><description>After a two week vacation, I'm back home.  &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;It was a great trip, and very relaxing.  My family and I spent the time in Colorado exploring the Rockies and enjoying the peace and quiet.  We hiked to the top of Flat Top, Twin Sisters, and Estes Cone, along with a few other great non-summit hikes.  Here are some of my favorite shots from the trip...&lt;/div&gt;&lt;br /&gt;In Golden we watched kayaks doing jumps in the river.&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/ericdaugherty/3663725799/" title="Untitled by eric_daugherty, on Flickr"&gt;&lt;img src="http://farm4.static.flickr.com/3651/3663725799_c485387805.jpg" width="500" height="332" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;Calypso Cascades&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/ericdaugherty/3681992572/" title="Untitled by eric_daugherty, on Flickr"&gt;&lt;img src="http://farm4.static.flickr.com/3579/3681992572_4dd37eb4c7.jpg" width="332" height="500" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;An HDR image of Estes Park from Little Valley.&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/ericdaugherty/3681441127/" title="Untitled by eric_daugherty, on Flickr"&gt;&lt;img src="http://farm4.static.flickr.com/3643/3681441127_05830419fd.jpg" width="500" height="331" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The coming storm, taken from the top of Twin Sisters.&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/ericdaugherty/3685524311/" title="Untitled by eric_daugherty, on Flickr"&gt;&lt;img src="http://farm3.static.flickr.com/2611/3685524311_d7a4dab82a.jpg" width="500" height="332" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Fireworks over Estes.  This was the pre-game show.&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/ericdaugherty/3692217205/" title="Untitled by eric_daugherty, on Flickr"&gt;&lt;img src="http://farm3.static.flickr.com/2659/3692217205_37b9e32c06.jpg" width="333" height="500" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Fireworks over Estes.  This was the official show.&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/ericdaugherty/3693043112/" title="Untitled by eric_daugherty, on Flickr"&gt;&lt;img src="http://farm3.static.flickr.com/2473/3693043112_74e3bab5ee.jpg" width="332" height="500" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;The hummingbird feader was popular.  We refilled it 3 times while we were there.&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/ericdaugherty/3714358970/" title="Untitled by eric_daugherty, on Flickr"&gt;&lt;img src="http://farm3.static.flickr.com/2547/3714358970_48880963fb.jpg" width="500" height="332" alt="" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2809594561952468542-7759736352521689925?l=www.ericdaugherty.com%2Fblog'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/EricDaugherty/~4/EnATTeMP1Vg" height="1" width="1"/&gt;</description><link>http://www.ericdaugherty.com/blog/2009/07/vacation.html</link><author>noreply@blogger.com (Eric)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2809594561952468542.post-8953093051253546390</guid><pubDate>Sat, 27 Jun 2009 03:51:00 +0000</pubDate><atom:updated>2009-06-26T22:59:13.110-05:00</atom:updated><title>Kayaks in Golden</title><description>I went for a walk with the family tonight in Golden, CO and came across some kayakers doing jumps in the river.  My shutter speeds are a bit slow, &lt;a href="http://www.flickr.com/photos/ericdaugherty/sets/72157620616874304/"&gt;but still some cool moves&lt;/a&gt;...&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/ericdaugherty/sets/72157620616874304/"&gt;&lt;img src="http://farm4.static.flickr.com/3324/3664523060_a8c2b00998.jpg?v=0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2809594561952468542-8953093051253546390?l=www.ericdaugherty.com%2Fblog'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/EricDaugherty/~4/aBIRDavpE3Q" height="1" width="1"/&gt;</description><link>http://www.ericdaugherty.com/blog/2009/06/kayaks-in-golden.html</link><author>noreply@blogger.com (Eric)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2809594561952468542.post-7099427243936043127</guid><pubDate>Wed, 24 Jun 2009 15:58:00 +0000</pubDate><atom:updated>2009-06-24T11:08:14.999-05:00</atom:updated><title>Edge Cases</title><description>In tools like Outlook, there are an impossible number of ways users can interact with the tool.  This creates lots of 'edge cases' that don't get tested or developed for.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Here is one:&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;Use the default setting that does not have the BCC line shown.&lt;/li&gt;&lt;li&gt;Send an email with BCCs by clicking on the To: button and adding entries to the BCC line in the dialog box.&lt;/li&gt;&lt;li&gt;Send the message&lt;/li&gt;&lt;li&gt;Realize you want to reuse the body in a new message.&lt;/li&gt;&lt;li&gt;Open the sent message and click resend.  &lt;/li&gt;&lt;li&gt;Type in a new To: address&lt;/li&gt;&lt;li&gt;Send it to everyone you previously BCC'ed because Outlook doesn't show you the BCC line, even though it has entries.&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;Oops.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This is an edge case where adding a user to the BCC line causes it to be displayed, but opening/resending an email with users in the BCC line DOES NOT cause it to be displayed.  The trigger logic is flawed, but you don't realize it is flawed unless you are aware of other ways that a specific state can occur.  In this case, the logic to display the BCC line should be triggered by the 'state' of having entries in the BCC line, not the event of adding an address to the BCC line.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2809594561952468542-7099427243936043127?l=www.ericdaugherty.com%2Fblog'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/EricDaugherty/~4/vPrSYzplREQ" height="1" width="1"/&gt;</description><link>http://www.ericdaugherty.com/blog/2009/06/edge-cases.html</link><author>noreply@blogger.com (Eric)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2809594561952468542.post-1906474982620229072</guid><pubDate>Sat, 20 Jun 2009 18:01:00 +0000</pubDate><atom:updated>2009-06-20T13:05:22.573-05:00</atom:updated><title>Netflix Saturday Processing</title><description>I was suprised to get an email from Netflix today notifying me that a new disc shipped out.  Netflix does not normally process movies on Saturday, so mailing a movie back on Friday means you have to wait until Tuesday to get the replacment.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I did a quick search, and indeed, it looks like &lt;a href="http://www.examiner.com/x-8310-Trendy-Living-Examiner~y2009m6d18-Netflix-lovers-rejoice-over-Saturday-processing"&gt;Netflix is introducting Saturday processing&lt;/a&gt; across the US.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;A great service just got better.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2809594561952468542-1906474982620229072?l=www.ericdaugherty.com%2Fblog'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/EricDaugherty/~4/EsmxKcNy3tI" height="1" width="1"/&gt;</description><link>http://www.ericdaugherty.com/blog/2009/06/netflix-saturday-processing.html</link><author>noreply@blogger.com (Eric)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2809594561952468542.post-9200730600363113041</guid><pubDate>Mon, 15 Jun 2009 01:00:00 +0000</pubDate><atom:updated>2009-06-15T09:08:01.256-05:00</atom:updated><title>Google Wave</title><description>Google recently announced a new collaboration platform, and I finally got around to &lt;a href="http://wave.google.com/"&gt;watching the video&lt;/a&gt;.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Wow.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I started watching it as a small video in the background and kept finding myself switching to full screen so I could really watch and follow what they were doing.  I'm not going to attempt to summarize the 80 minute video introduction, nothing I could say would really cover it.  You should spend the time and go check this out.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I will talk about some of my reactions:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;First, wow.  This is a solution to the fragmentation of communication.  Email, IM, Twitter, Facebook, etc.  There are too many channels we use to communicate, many of which are dated.  &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Open Platform, Open Source (mostly). &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Build on GWT.  HTML 5 seems to be a big focus.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;RIAs - Sun, Adobe, and Microsoft are pushing their rich client platforms.  Apple and Google are focused on HTML 5.  This app makes a pretty strong case that HTML 5 is sufficient for nearly every app.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Playback - a cool concept that provides context that may be lost along the way.  Integrates with the plugins, etc.  Cool.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Convergence - Google has launched quite a few apps of varying success.  Mail, Maps, Apps, Social Networking, News, Translation, etc.  Wave takes these and combine them in a way that far exceeds their individual value.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Extensions - This is an extensible platform of course.  Wave is cool today, but will be much more tomorrow.  &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Federation - This is what makes the entire concept feasible.  You can have corporate wave servers but still interact with the various vendors, consultants, etc when necessary, and everything that is private never leaves your server.  &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Wow.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2809594561952468542-9200730600363113041?l=www.ericdaugherty.com%2Fblog'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/EricDaugherty/~4/z_xKUxLvQFA" height="1" width="1"/&gt;</description><link>http://www.ericdaugherty.com/blog/2009/06/google-wave.html</link><author>noreply@blogger.com (Eric)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2809594561952468542.post-7114275119382199513</guid><pubDate>Sat, 13 Jun 2009 17:17:00 +0000</pubDate><atom:updated>2009-06-13T12:25:17.534-05:00</atom:updated><title>Mac Window Managment</title><description>My wife just bought a new 13" MacBook Pro, and as longtime windows users, we're both working through learning a new system.  Overall she's pretty happy, but we just spent 15 minutes today figuring out an issue with windowing...&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;It started when I migrated over her iTunes library from her Windows box.  The great thing was that not only did it work great (binary compatibility), but that it also auto-found the music (I had it on the M: drive on Windows and I moved it into her iTunes Music folder on the Mac as she has plenty of disk space).  &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;However, the window defaulted to a size larger than her screen, and this is where the frustration started.  On windows, this would be fine, as you can resize a window from any edge.  However, on the Mac you can ONLY resize from the bottom right corner.  You also can't move a window off the top of the screen.  No matter what we tried, we couldn't get the bottom right corner on the screen to allow us to resize.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In most apps, this would probably be fine, as the green key would resize the window.  However, in iTunes this button switches to the mimized player view.  &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;After some Google searching, I figured out I could use the Option key with the green button, which finally worked.  Not intuative or flexible.  &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Overall, she's still happy, and some learning curve is expected.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2809594561952468542-7114275119382199513?l=www.ericdaugherty.com%2Fblog'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/EricDaugherty/~4/EgAX7ZX9HuQ" height="1" width="1"/&gt;</description><link>http://www.ericdaugherty.com/blog/2009/06/mac-window-managment.html</link><author>noreply@blogger.com (Eric)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2809594561952468542.post-8969197487522260413</guid><pubDate>Fri, 12 Jun 2009 13:49:00 +0000</pubDate><atom:updated>2009-06-12T08:58:42.546-05:00</atom:updated><title>Palm Treo 755p and Exchange</title><description>My company upgraded/migrated our Windows Domain last weekend, and as a result, my Treo 755p's ActiveSync Support stopped working.  When I entered the setup information and tried to run the initial Sync, I got the error codes: 1913 4828.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;There is some confusion about what this error code means.  It can often be related to SSL certificate issues, which may have been part of my problem.  I found this page very helpful to debug the SSL issues:  &lt;a href="http://kb.palm.com/wps/portal/kb/common/article/16733_en.html"&gt;http://kb.palm.com/wps/portal/kb/common/article/16733_en.html&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Once I had that working (I did have to change the server name to match our certificate) I was still having issues, and I came across this post: &lt;a href="http://episteme.arstechnica.com/eve/forums/a/tpc/f/579009962631/m/417009683931"&gt;http://episteme.arstechnica.com/eve/forums/a/tpc/f/579009962631/m/417009683931&lt;/a&gt; that suggested the issue was the ActiveSync security policy.  I tracked down our IT guy and cajoled him into testing out removing the policy, since ours didn't really do anything anyway.  It worked!  The odd thing is that the old domain seemed to have a policy as well but something must be different.  &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So apparently the Treo (Versamail 3.5.5) doesn't support ActiveSync with security policies.  Ya, ya, time to upgrade to a real phone...&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2809594561952468542-8969197487522260413?l=www.ericdaugherty.com%2Fblog'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/EricDaugherty/~4/XFrlhSMc_B4" height="1" width="1"/&gt;</description><link>http://www.ericdaugherty.com/blog/2009/06/palm-treo-755p-and-exchange.html</link><author>noreply@blogger.com (Eric)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2809594561952468542.post-3845617429235168410</guid><pubDate>Mon, 08 Jun 2009 02:17:00 +0000</pubDate><atom:updated>2009-06-08T08:52:53.077-05:00</atom:updated><title>Java Email Server 2.0 Beta 1 Released</title><description>There have been &lt;a href="http://www.ericdaugherty.com/blog/2008/01/java-email-server-20-branch.html" target="_blank"&gt;multiple efforts&lt;/a&gt; started over time to create a modernized version of JES (It is an 8 year old fork of an &lt;a href="http://crsemail.sourceforge.net/" target="_blank"&gt;even older project&lt;/a&gt;) that would incorporate features more or less expected from a up-to-date MTA/MDA. I'm happy to announce that Andreas Kyrmegalos has stepped forward and developed a heavily revised and augmented version of Java Email Server that will be released as 2.0 Beta 1. Staying true to a gui-less configuration approach hasn't prevented a host of new features to be introduced.&lt;div class="im"&gt;&lt;br /&gt;While the changes are too numerous to cover in this announcement, I wanted to highlight a few of the more important changes:&lt;br /&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;TLS/SSL Support&lt;/li&gt;&lt;li&gt;Configurable sandboxing&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Support for white/blacklisting&lt;/li&gt;&lt;li&gt;Support for spam filtering/virus checking via amavisd-new using a dual MTA approach&lt;br /&gt;&lt;/li&gt;&lt;div class="im"&gt;   &lt;li&gt;Data directories are now configurable (incoming/outgoing email storage)&lt;/li&gt;   &lt;/div&gt;&lt;li&gt;New Service Wrapper (Tanuki Java Service Wrapper)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;More efficient mail dispatching to multiple users at a single domain&lt;/li&gt;&lt;li&gt;Cleaner shutdown process&lt;/li&gt;&lt;li&gt;Mail transactions with mail servers employing reverseDNS checks (useful for JES instances on a dynamic IP)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;More efficient memory handling&lt;/li&gt;&lt;li&gt;On the fly POP3/SMTP port listening switching&lt;br /&gt;&lt;/li&gt;&lt;div class="im"&gt;   &lt;li&gt;Interfaces to enable extension modules&lt;/li&gt;   &lt;li&gt;Migration tool for JES 1.6.1&lt;/li&gt;   &lt;/div&gt;&lt;li&gt;Introduction of an automated testing framework&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Improved MIME header parsing support&lt;/li&gt;&lt;li&gt;8BITMIME, SIZE extensions support&lt;/li&gt;&lt;li&gt;SASL MD5-DIGEST, GSS-API support&lt;br /&gt;&lt;/li&gt;&lt;li&gt;and MUCH MUCH more.&lt;/li&gt;&lt;/ul&gt;&lt;div class="im"&gt; JES is now dependent on JDK 1.5. The existing 1.6.x branch will continue to be available to support JDK 1.4.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt; Project management is being carried out using Maven.&lt;br /&gt;&lt;br /&gt;JES is also getting a new license. The existing GPL license was due to the original GPL license of &lt;a href="http://crsemail.sourceforge.net/" target="_blank"&gt;CRSMail&lt;/a&gt;.  CRSMail has now been &lt;a href="http://sourceforge.net/forum/forum.php?forum_id=420204" target="_blank"&gt;released into the public domain,&lt;/a&gt; allowing JES to be re-licensed under a BSD Style license.&lt;br /&gt;&lt;div class="im"&gt;&lt;br /&gt;I am also launching a new &lt;a href="http://groups.google.com/group/java-email-server"&gt;Google Group&lt;/a&gt; to facilitate a more open support structure. Please post all questions about JES to &lt;a href="http://groups.google.com/group/java-email-server"&gt;this group&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt; This initial release is a Beta. It has been used in production environments, tested under Windows XP, Ubuntu and Windows Vista on single and multi core systems and should be solid, but it is possible that some issues may exist with specific configurations/environments. I encourage everyone to give this a try and provide feedback. The goal of this version is to provide a much needed step forward for JES while retaining the simplicity and ease of configuration and deployment. Let us know if this release achieves the goal.&lt;br /&gt;&lt;br /&gt;The 2.0 Beta 1 release is available to download from the JES Home Page and a version 2 branch resides at sourceforge's subversion repository. Give it a spin and post your comments in the &lt;a href="http://groups.google.com/group/java-email-server"&gt;Google Group&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2809594561952468542-3845617429235168410?l=www.ericdaugherty.com%2Fblog'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/EricDaugherty/~4/4iaWIlDZse0" height="1" width="1"/&gt;</description><link>http://www.ericdaugherty.com/blog/2009/06/java-email-server-20-beta-1-released.html</link><author>noreply@blogger.com (Eric)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total></item></channel></rss>
