Red Rocks

Facelift

March 3, 2008

I’ve replaced the previous canned website design with my own design created around a picture I took of the surf at sunset on Sanibel Island. My goal was to create a simple and clean look based on something I did myself.

Here is what I did:

I to took the original picture and cropped it down to size for the header. Here is the original shot:



I then created the logo header (ericdaugherty.com image). I added a gradient using two colors that I picked from the header image.

I also pulled a color out of the image to use as the header text color.

I wanted to keep it clean, so I kept simple black on white for the text, and used a simple two column CSS layout.

To manage the content on the site, I briefly looked into using a CMS tool like Drupal, etc. but decided to stick with manually edited HTML due to the small number of pages and my desire of control.

I did utilize some scripting code to modularize the common HTML. I accomplished this using simple PHP include scripts that include the common HTML code on each page. I found this very clean, easy to do, and well supported by my hosting provider (GoDaddy).

For the blog pages, I use Blogger published to my hosting provider. I was able to include the PHP include calls in the Blogger template (as this just generates HTML with is copied to my web server). The only trick here was that I had to use the fully qualified path for the include files, but that was simple enough with a quick look through the GoDaddy documentation.

I also finally went back and cleaned up some of the old pages on my site that I never even updated to the previous design. So now every page here should be consistent.

I even updated my vanity favicon.ico file to match the color of the site. Just a simple E and D using the Rockwell font color matched to the header text color.

Let me know what you think and if you have any suggestions for improvement. I’m no graphics artist, but I think the new design is a good compromise between simple and unique.

Spring?

March 2, 2008

I’m ready for spring. Hopefully today will be the last chance to catch a shot like this…

Sunny Day

February 17, 2008

As winter drags on, a semi-warm sunny day is a priceless commodity.

Today was one of those days, with the temperatures nudging 32 degrees and a cloudless sky.

I took advantage and went for a walk through the forest preserve near my home with my family. It was a great opportunity to get some shots with our new camera, and some much needed fresh air and sunshine. I’ll spare you the endless family pictures, but here are a couple of nature shots.



Merlin Mann on Twitter

February 16, 2008

I still don’t ‘get’ Twitter, but I did subscribe to Merlin Mann’s Twitter RSS feed, and I have to say, I’m enjoying it. Here is today’s:

“Every time you sniff and say somebody has “too much free time,” the part of you that used to love making things for pure joy dies a little."

Some of my recent favorites:

“SEO advice that doesn’t begin with “1. Don’t rely on horseshit tricks” is – well, frankly – very probably horseshit."

“Making a plausible-looking fake email from Admiral Ackbar. For a talk. For my job."

“I think traces of a Baltimore accent are creeping into my vowels. I’m like an impressionable 14-year-old girl. It’s tree-ew."

“Developing a rash whenever you shave more than twice in five days seems like a sure sign of chronic hobo-ism."

“Local TV news is like a refrigerator that I know is empty, but which I inexplicably keep checking anyhow."

“Emo boys are a little like Jenga; remove the spikey belt and key ring, and everything falls apart in a sad little pile."

“Just insinuated an adorable stuffed bear into the crook of Ellie’s right arm. Crazy-cute, but admittedly a bit “Weekend at Bernie’s.” (Ellie is his infant daughter)

“The Grammy awards must be what it’s like when boring people do mushrooms."

“Just referred to a limo as “The Hoopty Noir.” Why am I even allowed to type?"

So I’m digging Merlin’s ’twits’, but I can’t imagine following more than one or two people and I REALLY can’t imagine getting updates via SMS.

Microhoo!

February 2, 2008

Microsoft + Yahoo = ???

I have to admit, it is really hard not to look at this very skeptically. First, Microsoft is offering a 62% premium on the current stock price. That seems like an awful lot to pay. And I don’t care who you are, 46 Billion is a lot.

Second, I just don’t see the synergies. Now, from a purely functional perspective there is some value. Obviously Yahoo! has a significant user base and presence. They also do several things pretty well (Flickr, Email, Search, Finance Portal, etc.). But this isn’t a way to leapfrog Google. Assuming they don’t lose any market share during the integration, the combined (worldwide) search market share is still only 16% compared to Google’s 62%!

Furthermore, the technology stack couldn’t be more different. Is Microsoft really prepared to run their internet presence off of PHP any MySQL? They’ve already purchased one major email service (Hotmail) and took over three years to migrate it from Apache/FreeBSD to Windows. Would they leave the Yahoo platform intact or migrate it to Microsoft technologies?

If you migrate it, you’re going to end up with a lot of ’extra’ Yahoo! engineers. If you don’t, well, then you don’t really have a lot of cost savings as part of the deal, you are just buying duplicate products for the (diminishing) revenue.

If this goes through, how many Yahoo! engineers will land at Google or new startups before Microsoft even has a chance to launch the first round of layoffs? This may be part of the plan, but it doesn’t seem likely that the first ones to leave are necessarily the dead weight you would want to dump anyway. How many new startups are they instigating, who will in all likelihood be more competition for Microsoft.

Could someone else swoop in and grab Yahoo!? I can’t imagine that happening at the current price, unless they were just trying to drive up the price. That seems like a long shot though.

If this deal goes through, I’m calling it the second nail in the Microsoft coffin. The first of course being the delayed launch of Vista and the poor adoption.

Java Email Server - Status and Future

January 19, 2008

I’ve covered the History of JES, as well as the JES 2.0 branch. This post will cover the current status and future of JES.

In short JES is in maintenance mode. I have no plans to make any significant changes to the JES code base. As I outlined in my first post in this series, I believe JES fits a niche as a very simple and easy to use email server, and the best way to keep it simple is avoid adding features.

For the past several years, nearly all of the improvements to JES have been made by the community. I listed the names in the history post, and these folks really are the drivers to JES today. As new updates come in, I’ll check them out and roll them up into a release as appropriate.

As the Sourceforge Download Statistics indicate, JES as popular now as ever, averaging about 1,000 downloads per month. As long as people find JES useful, I’ll continue to provide support (primarily through email) and release updates.

I want to thank everyone who has contributed ideas, reported or helped track down bugs, or submitted code. Without your help, JES would not be what it is today.

iTunes Export 1.4 Released - Zune Support

January 19, 2008

I released a new version of my iTunes Export utility.

iTunes Export exports your iTunes playlists as M3U or WPL files, allowing you to setup playlists in iTunes and use them with other software or devices.

This release adds Zune support. iTunes Export will now export ZPL files. Thanks to Thanks to Jeff Donnici as usual for his continued contributions.

http://www.ericdaugherty.com/dev/itunesexport/

Don’t be afraid to suggest new features or bug fixes (eric@ericdaugherty.com).

Java Email Server - 2.0 Branch

January 16, 2008

In my first post of this series, I discussed the history of JES. In this post, I’m going to outline my ill-fated 2.0 branch.

As with many of my projects, the JES 2.0 branch started as a way to explore a shiny new hammer (a new API/tool/framework, etc.). In this case, the shiny new hammer was JMX. I thought it would be neat if you could drop in a mail server to a container such as JBoss, and utilize some of the ‘built in goodies’ of JMX to manage the server and make updates. One of the drawbacks of how I built JES was that you had to restart it to accomplish many configuration changes. I had thought about a lot of ways to attack the ‘restart shortcoming’ of JES and I decided it was time to branch off onto a new release track. I decided I should write a modular code base that could be wrapped in many different deployment containers (Standalone, JBoss, etc.).

I started down this path with passion and drive. After I’d completed the SMTP (I think) portion of the code base, I was contacted by Andrew Oliver about my interest in working on a JBoss mail server. He was working on a new project to build an enterprise class mail (and calender, etc) server build on JBoss (where he was employed at the time). This project, JBossMailServer at the time, seemed to eclipse what I was attempting, and given my already slowing momentum on the 2.0 branch, pretty much brought it to a screeching halt. I had a bit of interest in working on the JBoss version, but in truth some of the motivation for the projects that I work on is ego. Working on a project that wasn’t ‘mine’ didn’t quite have the same appeal, even if it was JBoss (remember, this was 4 years ago).

Apparently JBoss had found someone interested in the server, as they approached me with an offer to pay me for the task of completing the SMTP (or POP, I don’t recall) functionality. Since I was a pretty easy task for me (I’d done it once already), and hey, they were paying me, I jumped on board. I worked through the deliverable they wanted and earned a little spending money.

However, a funny thing happened. Once I’d worked for pay on the project, it was really hard to get excited about working for free. Combine this with the lack of real ego payoff, and I drifted away from the project.

In the mean time, Andy left JBoss and founded a new company to carry the project on. If you are interested you can read more about it here. I have no idea if any of my original code has survived the many releases since I contributed.

I did get to ‘brag’ about being a JBoss contributor for a time, even if I only ever contributed to the mail server subproject. But the lasting impact of the JBoss foray was that all momentum on JES 2.0 was lost.

That about covers what happened to the 2.0 branch, and why it has never moved forward. In my next post I’ll cover the current status and future plans.

Java Email Server - History

January 16, 2008

By popular demand (hey, one guy requested it), I figured I should blog a little bit about some of the open source projects I’ve worked on and give some history, status, and future goals.

I will start with my Java Email Server (JES) project. This post will focus the history of the server. In the future I’ll blog about my failed JES 2.0 adventure (and my JBoss foray), and a bit more about the current status and where I see it going.

Just like many other Open Source projects, JES started to ‘scratch an itch’. At the time I was running a windows desktop as my ‘server’ at home, and wanted to host my own email. Being a bit egotistical, I’d registered my name as a domain name (ericdaugherty.com of course), as well as domains for others in my family. I wanted a quick and easy way to host email for multiple domains on single IP address.

I was pretty familiar with Linux at the time and would have likely just run sendmail if I had a Linux box running. But for reasons unimportant to the story my desktop box was Windows, and this was long before Virtual Machines became popular.

So, I set out looking for a solution. As a Java developer, I was interested in finding a solution I could work on myself. I found this in CRSMail. I found the kernel of what I wanted here, but I had a few changes I wanted to make. I reached out and contacted the developer, Calvin. He wasn’t really actively working on it and was fine with me forking it to take it in my own direction.

At this point it makes sense to step back and talk about the guiding principal of JES: Simplicity. While I’m not sure this was always the case, early on in the development of JES I realized that this was the right niche. Part of what put me on this path was Apache’s JAMES server. I knew that this was a reasonably well regarded server that ‘owned’ the top of the Java email server market (a niche itself). The issue that I had with it, and that I’ve heard echoed by others, is that it is overkill for what they wanted. It was too complicated to get it configured for their needs. So this focus on simplicity has guided my development. While I’ve added features over the years, I’ve tried to always keep the scope limited so someone could download the tool, open the config file up and get started.

As an example of how this goal manifested itself, one of the areas I focused on was actually removing much of the ‘plugability’ that the original CRSMail server had. (In fairness I originally did this to get a simple working version. While I based my code on CRSMail, I really rewrote much (all?) of the code base. Part of this was to take advantage of newer APIs, some of it was vanity, and some of it was to cleanup certain issues that existed.) Specifically, I reduced the user store down to a simple file and took out many of the configuration options. To maintain your users, you just open the text file and type in the username and password. The server will hash them when it starts (so you don’t store plain text), and you are set. There are no GUI tools to edit it, no fancy plug-ins to a database or LDAP store. Simple and straight forward.

In the end, I believe this focus has been the key to the (modest) success of JES. It is focused on a specific use case, and does it well. There are a limited number of moving parts (not much to break), and while the code has evolved, the majority of it has remained very stable. A few people over the years have taken JES and adopted it to meet their needs. While a pluggable interface is nice, in reality with an Open Source project, it is nearly as easy to just replace or rewrite certain areas to meet your needs.

The early releases were driven by my own personal requirements. With each successive release, I found more and more people were emailing me with ideas, issues, and even CODE! As time went by, I stopped being a user of JES and became a maintainer. I was amazed to see a community build up around my server. While the community wasn’t huge, there were some key contributers early on that really kept the application growing and improving. I invite everyone to take a look at the release notes, but want to call specific attention to Siegfried Goeschl, who was the first and longest (he emailed me today!) contributer. It was that first real feedback that made me realize that I had something here that was useful to others. As time went on, releases were driven by other users who found JES useful and had fixes or enhancements to offer back. Thanks all: B0NFiRE, Scott Schrecken, mariusz_grey, Paul Thordarson, Martin Cordova, Shmuel Siegel, Al Lieb, Andrei Makalski, Philippe Reverdy, and Matthew Lohbihler. Wow, as I look back on it I realize how diverse and impressive this list is. Thanks all!

In upcoming posts, I’ll talk about my failed JES 2.0 effort, and how that led to my brief stint as a JBoss contributer. I’ll also try to post on the current status and future direction for JES.