Wow… it’s been a while since my previous post. I’m still around but this has been a very busy year for me.

Working on a .NET project recently, I learned about ELMAH (Error Logging Modules and Handlers). My first though was “How is it possible I didn’t make a similar UI as an extension for LogDigger Connector to offer equivalent features in Java?”

To make UI for this “ELMAH for Java” extension, I needed a lightweight template engine with LogDigger compatible license (GPL 3 but also commercial use friendly). This turned out to be quite a challenge – my favorite template engines are on GPL while some others are too heavy. I really didn’t want to introduce new dependencies for LogDigger and especially didn’t want to make it heavier than really necessary. I was just getting a bit nervous….

Then I’ve found Eclipse JET – it was exactly what I needed! With JET you can compile JSP-like templates straight to Java classes. It’s super-fast, lightweight and has no external dependencies. Neat!

Now, let’s make that ELMAH for Java…

{ 0 comments }

Updated GAE Cost add-on for Firefox

by radomir on April 7, 2011

I just released an updated version of Firefox add-on that’s compatible with Firefox 4.0.

Link to the add-on can be found in the original post.

{ 1 comment }

Fixing strange NoClassDefFoundError on App Engine

March 27, 2011

On Friday morning (Mar 25, 2011) Google’s AppEngine had a “nice” surprise for me… Two of my applications running on HR datastore started throwing NoClassDefFoundError out of nowhere. Interestingly, the same application was running fine on the MS datastore. I filled a production issue report, posted to the google-appengine group, etc. but no one had a [...]

Read the full article →

Cleaning up expired sessions from App Engine datastore

March 26, 2011

If you have enabled sessions for your GAE application, you probably already know that sessions are persisted in datastore. But, do you know that expired sessions are not deleted automatically? If you don’t take care of expired session, they’ll slowly eat your storage quota. Fortunately, Google has provided a Java servlet that deletes expires session (although [...]

Read the full article →

Reverse proxy for GAE application using Nginx and SSL

January 30, 2011

If you use Google App Engine you probably already know that you can use a custom domain mapped to your application server on the appspot.com domain. Unfortunately, the custom domain works only when accessed access via http. If you want to use SSL with the custom domain, you’re out of luck. Until GAE adds support [...]

Read the full article →

Quick start with FitNesse and Selenium

October 21, 2010

Several months ago I used Selenium for web application testing, writing all my tests in Java. That was a nice experience except that writing tests in Java is somewhat verbose. So, after reading nice things about FitNesse I decided to give it a try. My idea was to stay with Selenium’s engine for running tests [...]

Read the full article →

Amazon Flexible Payments System on Google App Engine

October 18, 2010

Dom Derrien did a great job earlier this year publishing his patch for Amazon FPS on Google’s App Engine. However, his project did not go live with FPS so few bugs remained unnoticed. Today I pushed my fixes to the cloned project on the  GitHub project at http://github.com/radomirml/amazon-fps-gaej (If anyone is interested in what’s been changed, please [...]

Read the full article →

Fixing Thesis theme to workaround Google Fonts crashing iPad Safari

October 10, 2010

The latest version of Thesis theme (v1.8) for WordPress comes with built in support for Google Fonts. It’s nice and very easy to start using, but… not sure if you’ve noticed it already but use of Google Fonts (and other web “unsafe” fonts) may crash iPad’s Safari. This definitely is not something your visitors should [...]

Read the full article →

Stripes interceptor for saving error messages on redirect

September 12, 2010

Maybe I’m repeating my self but I’ll say again: Stripes is a great framework! It has everything you’d expect from a web presentation framework and I really didn’t hit a single bug. However, one thing was driving me nuts and was not working in accordance with my expectations… Usually, when I want to show some [...]

Read the full article →

Declarative caching for AppEngine (part 2)

June 2, 2010

In my previous post I’ve shown a simple solution for caching to App Engine’s Memcahe using annotated Java methods. Of course, Memcache should not be the only cache your application relies on, especially considering the latency of RPC call that comes with it. There are many cases when local (server instance) or even request scoped [...]

Read the full article →