A short while back I read a challenging article titled t’s Time For An Open Database Of Places. There, Erich Schonfeld notes: A long list of companies including Twitter, Google, Foursquare, Gowalla, SimpleGeo, Loopt, and Citysearch are far along in creating separate databases of places mapped to their geo-coordinates. These efforts at creating an underlying database of places are duplicative, and any competitive advantage any single company gets from being more comprehensive than the rest will be … read on »
All posts filed in “software”
RESTful error handling with Tomcat and SpringMVC 3.x
Handling errors in a REST way is seemingly simple enough: upon requesting a resource, when an error occurs, a proper status code and a body that contains a parseable message and using the content-type of the request should be returned. The default error pages in Tomcat are ugly. Not only they expose too much of the server internals, they are only HTML formatted and making them a poor choice if a RESTful web service is deployed … read on »
Building a content aggregation service with node.js
Fetching, aggregating and transforming data for delivery is a seemingly complex task. Imagine a service that serves aggregated search results from Twitter, Google and Bing where the response has to be tailored for mobile and web. One has to fetch data from different sources, parse and compose the results then transform them into the right markup for delivery to a specific client platform. To cook this I'll need: - a web server - a nice way to aggregate … read on »
Using Spring 3.0 MVC for RESTful web services (rebuttal)
Update Mar.04 Thanks to @ewolff some of the points described below are now official feature requests. One (SPR-6928) is actually scheduled in Spring 3.1 (cool!). I've updated the post and added all open tickets. Please vote! This post is somewhat a response to InfoQ's Comparison of Spring MVC and JAX-RS. Recently I have completed a migration from a JAX-RS implementation of a web service to Spring 3.0 MVC annotation-based @Controllers. The aforementioned post on InfoQ was published … read on »
Unit testing with Commons HttpClient library
I want to write testable code and occasionally I bump into frameworks that make it challenging to unit test. Ideally I want to inject a service stub into my code then control the stub's behavior based on my testing needs. Commons Http Client from Jakarta facilitates integration with HTTP services but how to easily unit test code that depends on the HttpClient library? Turns out it's not that hard. I'll cover both 1.3 and the newer 1.4 … read on »
Spincloud, now with worldwide forecast
In my constant search for free weather data for Spincloud, a short while ago I have found a gem: free forecast data offered by the progressive Norwegian Meteorologic Institute. The long range forecast coverage is fairly thorough and covers most more than 2700 locations worldwide. I am happy to announce that I have extended spincloud.com to include it. The data is refreshed every hour and the forecast range is available for the next seven days. … read on »
Continuous everything?
I admit that I regard automation as a dull but vital part in the success of a project. Automation had evolved into Continuous Integration, a powerful toolset allowing frequent and regular building and testing of the code. I won't get into what CI is (check the internets). Instead, I am going to explore a couple of aspects of CI that can be added to the artifacts of the development process and note some others that … read on »
blog.newsplore.com is one year old!
Sep. 15 came and went and I didn't realize that this blog is one year old. I didn't post in the last few months but this is because I have been busy moving across the world from Toronto back to Europe (I'm in Berlin now), becoming a father ("the best job in the world") and taking a new job (LBS, yes!). Things are happening, wheels are in motion and there's still a lot to write about. … read on »
New Spincloud feature: heat map overlay
It took a while since the previous feature update to Spincloud. I have done a number of upgrades to the underlying tech and some intensive code refactoring but nothing visible. The time has come for another eye candy: heat maps. It is a map overlay that shows a color-translated temperature layer based on interpolated values of the current weather conditions. It gives a quick indication of the average temperature across all land masses where data … read on »
Reviewing Google AppEngine for Java (Part 2)
In the first part I've left-off with some good news: successful deployment in the local GAE container. In this second part I'll talk about the following: - Loading data and browsing - Table indexing - Limitations of datastore queries - More datastore limitations and JPA issues - Deployment - Performance - Production monitoring - Usage and quotas - Other limitations - Final thoughts Loading data and browsing After finishing-off the first successful deployment, next on the agenda was testing out the persistence tier but for this I … read on »

