Red Rocks

Recursive Snippet Processing with Lift

July 22, 2010

I really like how Lift’s ’template’ engine works.  In short, you define XML tags that map to a Class and Method for execution.  For instance, a basic HTML template looks like:

<lift:MyClass.myMethod>
  <div>Hello, <my:name/>.  Welcome to my sample web app</div>
</lift:MyClass.myMethod>

This will result in the myMethod function on MyClass being called, which can then easily replace <my:name/> with a dynamic value.

The real power comes from the fact that the Lift framework will continue to (re)process the XML until all Lift tags have been resolved.  This means that a call to one snippet can produce a call to one or more snippets.

Read More

Using Comet with Lift to Dynamically Update Pages

July 21, 2010

Lift, a web framework written in Scala, provides easy integration with Comet, a server side HTML push model.

The Lift Demo site provides a good overview of the basic Comet usage.  A CometActor has two main parts.  The render method, which is executed when the page is first requested, generates any initial content required for the page.  The actor message method, called when the CometActor receives a message, is responsible for triggering an update on the page.

Read More

Deploying a Scala Lift Application in an OSGi Container

July 20, 2010

My current project involves building a Lift web application and deploying it in our OSGi application container.  I’ve been working with Scala on and off for a while, and I’ve always been interested in Lift.  With the release of Scala 2.8 and Lift 2.0, I decided it was time to give Lift a real try on my current project. 

The easiest way to deploy a WAR file is using Pax Web’s War Extender. This allows you to simply deploy a WAR file with an updated MANFIEST.MF file (making it an OSGi Bundle) in the same container as Pax Web. In my example I will build a WAR file as a standard OSGi Plugin and build it using Eclipse, but you could also build a normal WAR file using Maven or SBT and add the OSGi attributes to the MANIFEST.MF file and deploy it with Pax Web.

Read More

Hiking with a DSLR Camera

July 17, 2010

Update: I’ve posted an updated version of this here: Hiking with a DSLR Part 2.

I just spent a week in Rocky Mountain National Park hiking with my family. It was a great week, and it allowed me to give my new hiking setup a full workout.

My camera is a Nikon D300, and my primary hiking lens is the Nikkor 17-55 2.8.  Since I have small kids, I carry a child carrier, either a Kelty FC3 or FC1.  None of my normal carrying solutions (outlined below) worked for hiking, so I needed something different.

Read More

Java Email Server 2.0 Beta 3 Released

June 24, 2010

Java Email Server (JES) is an open source email server (SMTP/POP3) written in Java.

This release is the third Beta version of the new 2.0 development branch. This is an incremental update to Beta 2 and contains the following updates:
- (New Feature) A recipient policy is now offered for all incoming messages originating from local domains. See the rcptPolicy.conf file for details. - Further relaxed the default security settings so that cleartext passwords are accepted. - Unlimited jurisdiction cryptography is not required by default anymore. - The digest-MD5 SASL mechanism is off by default now.
While the belief is that JES 2.0 Beta 3 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 JES Google Group, even if it is just letting us know you are using JES without any issues.
You can download this release from the project home page.

iTunes Export 2.2.2 Released

June 2, 2010

iTunes Export exports playlists defined in your iTunes Music Library to standard .m3u, .wpl (Windows Media), .zpl (Zune), or .mpl (Centrafuse) playlists. iTunes Export also supports copying the original music files with the playlist to facilitate exporting to other devices. iTunes Export is open source and freely available for use.

The 2.2.2 release features updates and bug fixes to the console and GUI versions

For the GUI version:

  • Fixed bug where iTunesExport would hang when attempting to export multiple playlists with the same name. Now, the last playlist will be exported.

    Read More

Acquisitions - Palm and HP, Siri and Apple

April 28, 2010

Two interesting acquisitions were announced today, one exciting, one disappointing.

First, the exciting one.  Apple acquired Siri.  I’ve used the Siri app for the iPhone, and was very impressed.  It attempts tries to be your digital secretary, and actually does it quite well.  It abstracts you away from how it finds out information, and just presents what you want to know.  It works great for the simple cases so far, and I think over time will become very good at much more.  For Apple, who I believe is focusing on making computers into appliances, this is a great fit.  As I discussed in my post about the iPad, I believe the next evolution of the computing space is creating computing appliances, not computers.  Thinking of the iPad as a computer with a touch screen instead of a computer with a keyboard is wrong, just as thinking of a TiVo as a computer with a video capture card is wrong.  Yes, both analogies are technically correct, but they both miss the point.  Both are computing appliances, not computers, and the rules and expectations for them should be different.  I’m very excited to see what Apple will do with Siri.

Read More

Why Can't Google and Apple just Get Along?

April 13, 2010

Google and Apple are at war.  Google entered Apple’s ‘home turf’ with Android, and Apple is entering Google’s ‘home turf’ with iAd.  There is no question that the war is on.

In most situations, competition is a great thing.  It drives companies to innovate and produce better products and services.  While that will certainly happen with their respective mobile operating systems in this situation, I believe these are two companies that would be much stronger working together.

Read More

Flash Builder 4 Reference Card

March 22, 2010

I recently published a Reference Card with DZone: Getting Started with Flash Builder 4.  The Reference Card covers the new features of Flash Builder 4 and includes a basic overview of Flex application development.  Check it out!

I enjoyed working with DZone to publish this card, and the editorial process was great.  I hope you find it useful.  Let me know what you think!

Google Is Great, When It Works

March 21, 2010

I’m a big fan of Google.

While I’ve written my own email server, I’ve adopted Google Apps for nearly all of the domains I manage.  Gmail is a great tool, and has freed me from the tendency to over-organize my mail.  I can now find things easier and quicker than I ever did using Outlook or Thunderbird simply using minimal tagging and the built in search functionality.

I’ve used Google Search, Google Apps (Mail, Calender), Google Reader, Blogger, Google Docs,  Google Code, Google Web Toolkit (GWT), and the Google App Engine.  Great stuff.

Read More