June 6, 2009
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!
June 5, 2009
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.
June 3, 2009
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.
May 29, 2009
Firefox is great. I’ve been a fan for a long time and it was my exclusive browser for years. However, I’ve recently noticed more crashes and instability and I decided to try an alternative. I installed Chrome a while ago but it has sat mostly dormant on my drive. A week ago I decide to make the switch.
First, this isn’t really a fair comparison. My Firefox profile has years of bloat and plugins. Comparing this to a pristine Chrome install is certainly not Apples to Apples. But that said…
Chrome’s model of one process per tab seems to be much more solid than Firefox’s single process approach. I have not had a single crash or general ‘Not Responding’ issue with Chrome. However, I have noticed that switching to tabs that I have not used recently often triggered a delay and furious disk activity. It is a trade off, but I think the Chrome approach is preferable.
Search - I’m used to hitting the / key and typing to search within a page. It is Ctrl-F in Chrome. Ctrl-F is probably more consistent with other apps, but muscle memory is tough to change.
File Downloads - I’m used to using a plugin on Firefox (Download Statusbar) and I like the Firefox plugin better than the Chrome default. Specifically I like the ability to pause, resume, and copy a download URL.
The Chrome window itself is very googley, and by that I mean sparse. There is no status bar, only a link display when you select or hover hypertext. There is no title bar and so far I have not added any new toolbars. I really like the ability to move tabs into their own window or a separate window.
The one feature I miss the most is the ability to create shortcut bookmarks to search functions. For Wikipedia and IMDB, I have shortcuts created so that I can type ‘imdb start trek’ in the address bar or ‘wiki Star Trek’ and it will take me to the search result page. I’m not sure if you can do this in Chrome but if you can I have not found it yet.
I also find that Chrome’s built in spell checker is inconsistent. It does not seem to work at all in Blogger’s edit box, but in other cases it works fine. Obviously this is annoying.
There are a lot of similarities and it is obvious the Chrome team set out to build a ‘better Firefox’, as opposed to a radical new approach. The bottom line is that both browsers work well and either could serve as my default. For now though, I’m going to continue the Chrome experiment.
May 25, 2009
In addition to catching up on yard work and playing with the kids, I spent some time this weekend catching up on my scifi movies.
I finally made it to the theater to see Star Trek. I was very impressed with the movie overall and especially with how they positioned the storyline. Without giving too much away, they setup the story to allow them to continue with this cast in future movies without endless harping about continuity and other concerns you can imagine from a rabid fan base. I thought it was brilliant. The overall movie and cast were great. It ‘hit every note’ it needed to, and the actors were great. Scotty was my favorite but Spock was very well cast as well. I’m excited to see the next installment. And about the lens flare… Yes, there was a bit of that. I really noticed it in the first 1/3 of the movie but after that it either toned down or I got used to it. I did like style though, even if it was a bit over done.
Caprica, the pilot for a series ‘prequel’ to Battlestar Galactica, was release straight to video. The series is scheduled to begin airing in 2010. The series is set 58 years before the events of BSG and depicts a pre/early-Cylon Caprica. While it takes place in the ‘BSG’ world there is a stark contrast between the relative ’low-tech’ society of BSG and the ‘shiny high tech’ Caprica. The series could be interesting, but anyone expecting a show resembling BSG will be disappointed.
I’m sure it will be weeks until I make it to see the new Terminator.
May 12, 2009
As part of my foray into Scala I came across a new build tool called Simple Build Tool (sbt). As the website states, “sbt is a simple build tool for Scala projects that aims to do the basics well."
I didn’t really come across sbt, it came to me. Tim and Mark commented on my Maven vs. Ant post and I decided to check it out.
It is similar to maven in its dependency management and configuration by convention. If you do need explicit configuration you write it as actual scala code, which is interesting. Obviously it is powerful. You can do pretty much anything, but the flexibility and relative immaturity (it is version 0.4.5) of the project makes it difficult at times to determine how to do something.
sbt runs as an interactive session, so it solves the java startup overhead by just staying up. In practice this actually worked well for me, and provided the fastest compile/package times of any of the tools I used.
For the issues and questions I did have, the support in the google group was great. Mark especially helped me track down and solve questions and issues I had. Some were my own learning curve, some resulted in patches to sbt. The last issues we worked through was making an executable jar, which turned out to be a platform issue (/ versus ) that is getting patched.
If you are working with Scala I encourage you to give it a spin. I think it has a future as it continues to develop and gain users.
May 9, 2009
I released a new version of my iTunes Export Scala utility.
This is a port of the original .Net application to Scala. Scala is a hybrid Object Oriented/Functional language that compiles to Java class files and executes on the JVM. This port enables Mac OS X users to access iTunes Export features. The original iTunes Export application was written in .Net and does not run on Mac OS X.
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 support for Extended M3U, WPL, and ZPL playlist formats. It also provides the ability to override the default (or arbitrary) path prefix for the music files.
The project home page is here: http://www.ericdaugherty.com/dev/itunesexport/scala/
The project is hosted at Google Code. You can check out the Google Code project home page if you want to browse the source tree or track issues, etc.
I have received several new feature requests and bug reports recently and I plan on getting to them soon. Don’t be afraid to ask for new features (eric@ericdaugherty.com).
May 9, 2009
I’ve always hosted my open source applications at SourceForge. When I first started developing open source applications, it was the de facto standard. When it came time to find a host for my new iTunesExport-Scala application I decided to check out the landscape. The primary sites I see these days are Google Code and GitHub. Since I have not yet embraced Git I decided to give Google Code a try.
What do I think? I like it. All the Google applications seem to have a common theme: they are simple to use and cover the core 80% well. In fact, their approach is a lot like Apple’s approach. Google is just an uglier Apple. :)
Setting up Subversion, doing releases, and editing the home page were all much easier than on SourceForge (even after their redesign). The site is fast, and integrates with Google Analytics so I can track traffic in the same tool I use for my primary website.
The bottom line: It just works.
April 25, 2009
I am launching a new project: iTunesExport Scala. This is a port of the original .Net application to Scala. Scala is a hybrid Object Oriented/Functional language that compiles to Java class files and executes on the JVM.
I am launching this port to enable Mac OS X users to access iTunes Export features. The original iTunes Export application was written in .Net and does not run on Mac OS X.
The project home page is here: http://www.ericdaugherty.com/dev/itunesexport/scala/
The project is hosted at Google Code. You can check out the Google Code project home page if you want to browse the source tree or track issues, etc.
This is my first Scala application so I would appreciate any feedback on the source code. My goal is to continue to add features until parity is reached between this and the original.
April 25, 2009
The Java world has two popular build tools, Ant and Maven. I’ve been using Ant for as long as I can remember. Maven is a newer tool aimed at addressing some of the pains of Ant and also providing an more complete experience.
For a long time I avoided Maven. I tried out Maven 1.0 early on and was frustrated with the lack of control and underdeveloped eco-system. With its dependency managment system, dealing with dependencies that are not in public repositories is annoying, and early on most libraries didn’t have versions in the public repositories.
I’m working on a Scala port of my iTunes Export application and I had to decide how I wanted to build the project. Here are the pros/cons I saw:
Ant
- Well Known - I know how it works, and there are tons of examples
- Malleable - I can make it do what I want. I never have to fight the tool to make it work the way i want.
Maven
- Less boilerplate code - Maven provide you many features, like compling and assembling packages ‘for free’.
- Dependency Management - Project dependencies are automatically downloaded from public repositories and your releases can be uploaded to public repositories for distribution.
- Its the new Black - It is the current ‘standard’.
For iTunesExport Scala I’m using Ant, although I am providing a Maven pom file as well for developers that prefer Maven. The basic Maven project was easy to setup, but I found myself struggling to make other things work, like unit testing (It doesn’t work out of the box with ScalaTest) and packaging. In Ant, I already have predefined targets for most of what I want, and it takes just a few seconds to tweak to my exact desires.
For larger projects, I think Maven is worthwhile. The dependency managment is important as projects grow and the Maven ecosystem is large and growing. For small projects, I’m sticking with Ant.