Monday, October 8, 2012

Android---here we come!

I am happy to announce the start of Android Mini-Projects. We have also made available the first project in Google Play: Date Arithmetic.

I assure you that this foray into this wonderful platform is the beginning of a rich product line from

Sunday, September 2, 2012

RESTClient 3.0 version available for download

One of the biggest milestone in the development of RESTClient is reached today: with the release of 3.0 version of RESTClient. The release is a major release which breaks backward compatibility with the earlier file format of RESTClient, but with that loss comes loads of new features including binary request and response body. Also not visible to the end users is the major design-level code refactoring and re-writing which has gone into this release: this ensures continued ease of development of the tool in near future.
As usual, the release includes:

Have fun developing/testing HTTP applications using RESTClient :-)

Sunday, August 19, 2012

RESTClient 3.0 Preview Available for Download

Get the latest and greatest work-in-progress version of RESTClient: 3.0 preview release. This revision is a major revision with lots of internal design changes and rewrites. Functions present and functioning in 2.x series could also be broken. Request everyone's help in testing this revision.

Wednesday, August 15, 2012

RESTClient: 3.0 Development, move to GIT and code re-organization

The word 3.0 in relation to RESTClient brings horror to my memories. I started working on 3.0 couple of years back, implemented major changes, made the build unstable, and was not able to fix the working functionality of the previous versions. Then I had to do the inevitable: shelve the 3.0 release plan and start fixing the 2.x branch. And the development has continued in similar vein till now---that is until recently.

Now, I once again took the plunge: started working on the 3.0 release. The 3.0 release is major because:

  • Change the internal data-structure for holding request and response (to support binary formats)---this will break backward compatibility with the 2.x file formats.
  • The UI will have major code re-writes as it will need to support binary formats.
  • The public API will change.
Today I am happy to say that, I have successfully completed many of these changes as of now, and 3.0 preview release should be up for downloads within a week or two.

One of the best decisions I made recently for this 3.0 development is choosing Google Guice. Using the normal capability of Object Orientation provided by Java, it was increasingly difficult to wire UI components and develop maintainable code. Guice was some kind of nirvana in this sense: wiring components with participating APIs was made so much simpler. The choice of Guice and the API re-write made it easier for me to break monolithic classes into maintainable modules. This effort of mine will have long-term implications will provide quicker capability to change / add features.

One of the other changes is move to GIT from Subversion. Subversion was proving to be too restricting as a SCM tool. I was also acting as God---providing prospective committers commit rights. It was proving to be a hindrance---people cannot fork quickly and start developing. They had to wait for my permission before they can be productive. So, I believe, this move to GIT would prove to be extremely healthy for improving external participation.

So guys, as you are awaiting the next big version of RESTClient, I request all of you to actively participate in testing the preview release once it is made available!

Tuesday, August 14, 2012

RESTClient source moved to GIT

Today I moved RESTClient source code from SVN to GIT. This happened after a frustrating issue with SVN last night. Similar issue is discussed in this stackoverflow thread. The problem with centralised SCM software is this: when you are focusing deep in your code, a merge or update has the possibility of hijacking your focus from code to not so glamorous problems.

Thursday, July 26, 2012

All Builds are Mountain Lion Compatible

To all the Mac enthusiasts: all products are compatible with Mountain Lion. Have a good time :-)

Saturday, July 21, 2012

Pomodoro Timer 1.1 Released mini-projects released Pomodoro Timer 1.1. This version has usability enhancements like stopping a running Pomodoro by pressing Esc key, starting timer by pressing Enter, and finally a Mac build.

Sunday, July 8, 2012

RESTClient 2.5 Released

Hello Everyone!

Happy to announce the immediate availability of RESTClient 2.5:

The most prominent enhancements in this release are: SSL two-way authentication contributed by Matt Wilson [] and support for SSL self-signed certificates. For a complete list of enhancements, read the Release Notes:

Monday, June 4, 2012

Cache-lib available in Maven Central

Cache-lib dependency:


Saturday, June 2, 2012

Pagination Lib available in Maven Central

Maven users, link to the library:

Thursday, May 31, 2012

Tool to assist in debugging classpath issues in Java Web Applications

Classloader Servlet project consists of two servlets: one to search for from which location is a particular class loaded; and the other to list the complete classpath (in the order of loading) available to the web application. Deployment is just copying the Jar file into your web application's /WEB-INF/lib directory.

Tuesday, May 8, 2012 Checksum Compute version 0.4.0 Released Checksum Compute version 0.4.0 released. This release supports native drag and drop support for files. Download from:

Friday, April 27, 2012

New cli tool: Tree

One of the tool I missed most when I switched to Mac from Linux was the tree command. I wrote a new tool Tree (available from mini-projects) in Java which has similar functionality as Unix tree. This tool is an executable Jar:

$ java -jar tree-0.1.0-jar-with-dependencies.jar

The output is similar (not same) to Unix tree command. The tool also supports command-line options: tree-v0.1.0


Sunday, April 22, 2012

Markdown2Html: Java command line tool v0.1.0 released

I am happy to announce the immediate availability of Markdown2Html tool (as part of the mini-projects). Guess what, this is a command line tool written in Java used to convert Markdown text to HTML. The tool operates on STDIN and STDOUT. Sample usage:

$ java -jar markdown2html-0.1.0-jar-with-dependencies.jar < > out.html

Download the executable Jar:

RESTClient Featured in Mac Softpedia

Check it out here:

Wednesday, April 11, 2012

Checksum Compute 0.3.0 Released

Checksum Compute is a MD5 and SHA computation tool written in Java Swing. Version 0.3.0 is released and is available for download. The new version has better support for Checksum Compute 0.3.0

Friday, March 30, 2012

Thursday, February 9, 2012

LDAP Password Change Validation

Our QA team was in dilemma today: there was a HTML form which collected change password request, and updated the user password in LDAP on success scenario. There was no login form corresponding to this to validate if the password has been successfully updated in LDAP. To help the team, I developed a quick tool to test the LDAP by binding the user to it. The tool source is available here:


$ java -jar ldap-auth-validator-1.0-SNAPSHOT-jar-with-dependencies.jar \
                                    -u <ldap://host:port/base.dn> [user-cn]

On executing the command, the tool will ask the user to input password. If the password allows the user to bind to the ldap, SUCCESS output will be printed.

Friday, January 27, 2012 Commons Lib: 0.3.0 Release

Commons Lib has undergone a revision, and is now enhanced with additional utility classes. The new version is available in public Maven repository:


Release notes available here: projects dependent on Commons Lib will be updated in a phased manner.

Friday, January 13, 2012

Monday, January 9, 2012

Web Tester (online tool hosted in Google App Engine)

Web Tester is a online tool to host your HTML page temporarily in a web-url. The tool is configured to expire content after 24 hours of publishing.

This tool was developed for a specific use in a project I was involved with. In this project we used defined rich snippets for SEO purposes. For testing this we required Google Rich Snippets Testing Tool. Unfortunately, Google's tool was available for use only for pages available in the internet. I had to enable my team to test content during development itself. So, I developed this tool wherein the development version of the pages can be web-enabled for immediate testing using Google's tool.

I am sure this is just one use of this tool. I am sure users could find many other interesting uses of it.

The source code of the tool is available here:

Saturday, January 7, 2012

Cache Lib: A Cache Abstraction API

Cache Lib is a simple Cache abstraction API. The API defines two interfaces Cache and CacheManager. Using these interfaces, adapter implementations for existing Cache APIs can be developed. A sample adapter implementation for EhCache is provided in the source repository.