This post is a continuation of my series on Google Guava, this time covering Futures. The Futures class is a collection of static utility methods for working with the Future/ListenableFuture interface. A Future is a handle to an asynchronous task, either a Runnable or Callable, that was submitted to an ExecutorService. The Future interface provides [...]
Google Guava Concurrency – ListenableFuture
In my last post I covered using the Monitor class from the com.google.common.util.concurrent package in the Guava Library. In this post I am going to continue my coverage of Guava concurrency utilities and discuss the ListenableFuture interface. A ListenableFuture extends the Future interface from the java.util.concurrent package, by adding a method that accepts a completion [...]
Google Guava – Synchronization with Monitor
The Google Guava project is a collection of libraries that every Java developer should become familiar with. The Guava libraries cover I/O, collections, string manipulation, and concurrency just to name a few. In this post I am going to cover the Monitor class. Monitor is a synchronization construct that can be used anywhere you would [...]
Android Drag and Drop (Part 3)
This is the final post in a 3 part series on implementing Drag and Drop in an Android application. The first post covered hiding an ImageView when starting a drag. The second post covered handling drops outside an intended drop zone. This final installment covers moving a game piece as a result of a valid [...]
Android Drag and Drop (Part 2)
This is the second post in a 3 part series on implementing Android Drag and Drop. In my last post I covered how to hide an ImageView and just show the DragShadowBuilder object at the start of a drag. This post is going to cover my efforts on restricting the drag area. Trying to Restrict [...]
Android Drag and Drop (Part 1)
This is the first post in a 3 part series that is going to cover implementing Drag and Drop in an Android application. (I am currently using version 4.0 of the sdk, but I originally wrote the code in this series with the 3.1 version.) Why Use Drag and Drop When I started working on [...]
Android Unit Testing
This post is going to cover unit testing a native Android application. While working on my own modest Android application, I wanted to add some non-instrumented unit tests and was surprised how challenging it was to use mock objects. Admittedly, instrumented tests running on a emulator or actual device is probably a better way [...]
Lucene Thrift and Ruby
This post is going to demonstrate thrift usage by searching a Lucene index from Ruby. Thrift In a Nutshell Essentially thrift is a serialization and RPC framework that allows you to communicate between programs that are not necessarily written in the same language. Thrift is used by defining data types and services in a .thrift [...]
Micro Benchmarking with Caliper
From time to time I think all developers have done some form of benchmarking. I recently discovered Caliper which is according to the site – “Caliper is Google’s open-source framework for writing, running and viewing the results of Java Microbenchmarks”. I am aware that micro-benchmarking can be misleading depending on who is writing the tests, [...]
JEE 6 and Spring MVC
With the release of JEE 6 and the Servlet 3.0 specification came support for asynchronous servlets. While continuations and Comet are not new, the fact that it is now part of the servlet specification, and could be “baked in” to an application, piqued my curiosity. Although I have not used plain servlets in development for [...]



