Kayaks in Golden

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, but still some cool moves...

Edge Cases

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.

Here is one:
  1. Use the default setting that does not have the BCC line shown.
  2. Send an email with BCCs by clicking on the To: button and adding entries to the BCC line in the dialog box.
  3. Send the message
  4. Realize you want to reuse the body in a new message.
  5. Open the sent message and click resend.
  6. Type in a new To: address
  7. Send it to everyone you previously BCC'ed because Outlook doesn't show you the BCC line, even though it has entries.
Oops.

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.

Netflix Saturday Processing

I was surprised 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 replacement.

I did a quick search, and indeed, it looks like Netflix is introducing Saturday processing across the US.

A great service just got better.

Google Wave

Google recently announced a new collaboration platform, and I finally got around to watching the video.

Wow.

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.

I will talk about some of my reactions:

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.

Open Platform, Open Source (mostly).

Build on GWT. HTML 5 seems to be a big focus.

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.

Playback - a cool concept that provides context that may be lost along the way. Integrates with the plugins, etc. Cool.

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.

Extensions - This is an extensible platform of course. Wave is cool today, but will be much more tomorrow.

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.

Wow.

Mac Window Managment

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...

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).

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.

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.

After some Google searching, I figured out I could use the Option key with the green button, which finally worked. Not intuative or flexible.

Overall, she's still happy, and some learning curve is expected.

Palm Treo 755p and Exchange

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.

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: http://kb.palm.com/wps/portal/kb/common/article/16733_en.html

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: http://episteme.arstechnica.com/eve/forums/a/tpc/f/579009962631/m/417009683931 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.

So apparently the Treo (Versamail 3.5.5) doesn't support ActiveSync with security policies. Ya, ya, time to upgrade to a real phone...

Java Email Server 2.0 Beta 1 Released

There have been multiple efforts started over time to create a modernized version of JES (It is an 8 year old fork of an even older project) 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.

While the changes are too numerous to cover in this announcement, I wanted to highlight a few of the more important changes:
  • TLS/SSL Support
  • Configurable sandboxing
  • Support for white/blacklisting
  • Support for spam filtering/virus checking via amavisd-new using a dual MTA approach
  • Data directories are now configurable (incoming/outgoing email storage)
  • New Service Wrapper (Tanuki Java Service Wrapper)
  • More efficient mail dispatching to multiple users at a single domain
  • Cleaner shutdown process
  • Mail transactions with mail servers employing reverseDNS checks (useful for JES instances on a dynamic IP)
  • More efficient memory handling
  • On the fly POP3/SMTP port listening switching
  • Interfaces to enable extension modules
  • Migration tool for JES 1.6.1
  • Introduction of an automated testing framework
  • Improved MIME header parsing support
  • 8BITMIME, SIZE extensions support
  • SASL MD5-DIGEST, GSS-API support
  • and MUCH MUCH more.
JES is now dependent on JDK 1.5. The existing 1.6.x branch will continue to be available to support JDK 1.4.

Project management is being carried out using Maven.

JES is also getting a new license. The existing GPL license was due to the original GPL license of CRSMail. CRSMail has now been released into the public domain, allowing JES to be re-licensed under a BSD Style license.

I am also launching a new Google Group to facilitate a more open support structure. Please post all questions about JES to this group.

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.

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 Google Group.

Java Email Server (JES) Eclipse Plugin

There has been a flurry of activity on the Java Email Server front recently. A beta release of JES 2.0 is imminent, but today I'm announcing the availability of an Eclipse Pluign for JES.

An Eclipse plugin? Isn't JES an email server? Yep. Here is the introduction from the project page:
Suppose that you developed a service in your application that send mails to clients (confirmation, cancellation, alert, etc...) and you want to test it and view the layouts of theses mails? Most probably, you will use your enterprise mail server and your professional account as test account.
But wasting long time waiting to receive test mails? connection problems? want to test cc or bcc? your professional mail account is full of test mails? this plug-in can help, it launch a local instance of JES mail server for test use, no installation is needed, easy to configure and provide accounts management (you can add as many accounts as you want).
The project, JES email server launcher Eclipse plug-in, or jesplugin-in, was written by Nabil Dridi. Nabil is a developer from Tunisia, further expanding the list of countries that have helped grow JES. Thanks to Nabil and all the others who have helped out over the years!

Nabil has done a great job putting this plugin together I and recommend it for anyone using JES as a development resource. Give it a try!

Second Life

Reading through Google Reader today I came across a post by Bruce Schneier mentioning that he would be interviewed in Second Live today.

My first thought: Second Life? Oh ya, I remember that. That still exists?

Not long ago I couldn't open up my feed reader without endless discussion of Second Life. Every company was talking about creating a virtual presence. There were discussions of an alternate currency, virtual economy, money laundering, and of course the flying penis attacks.

Fast forward two years, and my reaction to a post about second Life is 'really, that still exists'?

Things move fast on the web. What is hot today is not tomorrow (remember hot or not?). MySpace was going to take over the world. Now it is FaceBook and Twitter.

As a late comer to Twitter and one who still avoids FaceBook, I wonder how we'll view each two years from now. Granted, both have an adoption rate that I believe surpasses MySpace and Second Life, and comparing Twitter to Second Life is beyond Apples and Oranges, but if we've learned anything in the past decade, it is that nothing lasts forever (or even very long) on the web.

Fed up with my Treo 755p

I'm done.

I've been a user of Palm OS devices for over a decade now, and I'm fed up. My current phone, the Treo 755p is annoying me on a near-daily basis.

I've been a huge fan of the Palm OS for years. Their early devices were groundbreaking (I started with the Palm Personal, and loved the Palm V). They enabled me to track my personal information and provided a platform for applications (OK, games).

I loved the evolution to the Treo line. Is started with the Treo 300, and I owned the 600, 650, and now 755p. For a brief moment I had a Samsung i760 but quickly fled back to the 755p. I missed the ease of use and simplicity of the Treo form factor and UI.

But the OS and hardware line has gone on too long. My phone crashes too often, I spent 10 minutes this morning figuring out why my headset unpaired from my Treo, and I'm tired of having a sub-par web browser. And when did Palm, the king of 3rd party apps, become a developer wasteland? Yes, I know, when the iPhone was released. I even wrote my own Palm applications back in the Palm V days.

Anyway, I'm done. I need to move to a new phone. Windows Mobile phones are out of the picture. They are just too big of a departure from the usability of Palm devices that I believe is critical. The iPhone does beckon, as it has huge 3rd party support, a great browser and screen, and integrates with Outlook's Active Sync. The other option is the Palm Pre. As a long time Palm fan I'm very hopeful that the Pre will reignite the Palm brand and yield another decade of great devices. The early reviews are solid but not overwhelming. It is version 1 of a new OS. As a long time fan of a physical keyboard the Pre does seem to be an ideal solution.

I'm also under contract with Verizon, and neither of my options is available on their network today. There are rumors of the Pre at the end of the year and even rumors of an iPhone on Verizon in the future. It will be an interesting week as the Pre launches Saturday and Apple's WWDC takes place next week.

We'll see what shakes out in the next week or so, and then I'll finalize my migration plans.