Saturday, November 22, 2014

Version 0.3.2 of StaGen, the static site generator, is released

Happy to announce the release of 0.3.2 of StaGen, the static site generator written in Java 8. StaGen supports Markdown for content and StringTemplate 4 for templating. This version boasts of builds in .tgz and .zip  with executable shell-script and Windows batch script stagen. Download the release from GitHub. To install, extract the compressed distribution and add to PATH the bin directory. Fire StaGen from command line:

$ stagen -h

Saturday, October 18, 2014

RESTClient 3.4.2 Released

10687066 851961538150184 5413978313222780640 n

The latest version of RESTClient has support for selecting the type of multipart body that is sent with the request. Certain web API endpoints were not supporting the default RESTClient mode of multipart messages, while a simple curl request succeeded. To support these websites, RESTClient now supports specifying the mode of multipart body type.

Quick links:

Friday, August 29, 2014

RESTClient 3.4.1 Released

Happy to announce the immediate availability of RESTClient 3.4.1 for download and purchase. This is a minor release that fixes a UI rendering bug in Mac, supports UI scaling in high-resolution display devices among other bug fixes and enhancements. Read the release notes here.

Saturday, August 9, 2014

JSON Validator: Cli Tool

JSON validator is a command-line tool for validating/formatting JSON files. The tool is inspired by the cli options of the ever popular xmllint tool.

Wednesday, June 18, 2014

StaGen: 0.3.1 released

A minor update to the static site generator from is released. This fixes a bug that was not detecting changes in sub-folders when executing run command.

Tuesday, June 17, 2014

Wiz WebServer with Jetty Engine

Wiz WebServer, the web server project has a tumulus history. It all started with the need for me to quickly test JavaScript and minor Ajax scripts. I quickly forked the Java Mini Web Server Project, to create Wiz WebServer. It was pretty heavily used by me and my team for development purposes. But maintaining this code base did not seem to be a good idea, especially when we have such excellent alternatives like Jetty. So, today, with heavy-heart, I scrapped the HTTPD code base of Wiz WebServer, and changed the engine to Jetty. The new release, 0.4.0 version, may be downloaded from:

Sunday, May 25, 2014

RESTClient 3.4 Released

This release focuses on two important features:

  1. Drag and drop support as explained in above video.
  2. Support for PKCS12 keystore format for SSL certificates.

Download, release notes and purchase links available at GitHub.

Saturday, May 17, 2014

RESTClient Book Second Edition

Happy to announce the second edition of RESTClient book:Cover

The book will be available for free from May 19 to May 23 in Kindle store (PST time). The 3.4 version of RESTClient covered in this book is scheduled for release on 25th May.

Sunday, May 4, 2014

Sneak peek @ how books are made...

I am working on updating the RESTClient book. And this is how I work:

Book Factory

  • I use BBEdit project feature.
  • The whole book is written in Markdown.
  • Pandoc is used to convert from Markdown to HTML.
  • Ant is used to build single HTML.
  • Kindlegen from Amazon is used for building the mobi book.

Tuesday, April 15, 2014

RESTClient 3.3.1 Released

This release fixes a nasty bug #7 that was causing NullPointerException when POSTing. For this reason, request everyone using 3.3 version to upgrade to 3.3.1. Quick links:

Monday, March 31, 2014

StaGen: The static site generator from

Maintaining websites is a hard task. The last version of was maintained using RapidWeaver. In the quest to design a good looking site, I had sacrificed the joy of working with text. While working on recent updates to the site, RapidWeaver brought back nightmares of using MS Word five years back—just a minor text formatting that I could do in less than a second in Markdown was taking minutes of workaround in RapidWeaver.

Then I started researching the best tool for maintaining my site using just text. I just wanted to fire up BBEdit and be productive. Jekyll sounded attractive. But is written in Ruby—I did not want to invest time in hacking this. JBake is in Java, but seemed bulky and used Freemarker templates. I had been sold out to StringTemplate couple of years back, and did not want to maintain my site in Freemarker.

Based on these parameters, I finally decided to write my own static site generator—specific for my needs of maintaining a tiny site like And thus was born StaGen. Right now, there is no public release of StaGen (it was just written last night!)—but it already is powering home page as of now.

Thursday, March 27, 2014

The Joy of Unix in Windows: Cli Tools Bundle

I am happy to announce the immediate availability of Cli Tools Bundle for Windows. This is a commercial build of OpenSource software available for $5.

Saturday, March 15, 2014

Offsetting the cost of OpenSource development

There is a cost associated with OpenSource development. The cost I pay to maintain the domain, the hosting cost, and most importantly, the time I spend coding and fixing things up. Recently, I have been thinking of how to offset this cost of OpenSource development. One arena I was thinking was of making available my builds via App Stores. This gives the end-users the value add of having a certified build, automatically updated to the latest version. I believe, a person, like me, wouldn’t mind paying a small amount for this additional value add, and would provide a source of income for the OpenSource project. Thus started my experiment.

Experiment 1: Mac App Store

I selected my most popular OpenSource project for this experiment: RESTClient. I began the effort. My initial estimate was for one week after reading this blog. And one fine Monday, couple of weeks back, I began the work. As I progressed, I understood the enormity of the task I had undertaken. From building OpenJDK, to scouring Apple documentation (excellent BTW) written for Xcode development—translating to the Java counterpart, complying to Apple sandbox. I understood that I had jumped into something enormous.

During mid-week, I discovered that making RESTClient compliant to Apple sandbox restrictions is near to impossible due to two reasons:

  1. The file open API I was supposed to use, needed to open related files. Example, if I open a file of request type, this particular file could link to external files like SSL certificates. I cannot use normal-file-open APIs if I have to use these linked files. The solution? Use JNI technologies to comply to sandbox restrictions, and link them to Java application. Not elegant. No other platform would benefit from these code changes.
  2. The application configuration were stored by RESTClient in ~/.rest-client folder. Sandbox restricted me from writing/reading to/from this location. And this location is shared between the Cli and GUI application. Again, I would have to do some crazy logic to write generic configuration files for sandboxed and non-sandboxed version of the software.

Based on these developments, I changed my course of plan:

  1. I wanted to experience Mac App Store onboard. So I selected a more simple application for that experiment, RegularExpression Tester. It is currently under review by Apple.
  2. I didn’t want my effort spent on RESTClient go waste. I wanted to provide a signed build of RESTClient that could be purchased.

Experiment 2: FastSpring

I wanted a store-front to sell my RESTClient binaries. The effort setting up the store and maintenance of it should be minimal. For the customers, it should be simple effort to purchase and download. The only store I explored was FastSpring. I got hooked to its simple interface, and created my product page. This experiment is now ongoing—I am trying to figure out how many people would really pay for a software that is easily available for download as OpenSource.

Friday, February 28, 2014

XML Validator 1.0

This is a tool I wrote long back, and used exhaustively for a project, and then forgot about it. I did not even do a public release of the tool. When migrating Google Code projects to GitHub, I noticed this project. Today, I invested some time and cleaned the code and made a release. Get it from:

Tuesday, February 25, 2014

Thursday, February 20, 2014

Newer desktop tool releases will require Java 7 to run

All newer releases of desktop tools published by will require Java 7. This is a evolutionary step we are taking to benefit from newer constructs introduced in this version of Java.

Friday, February 14, 2014

Mini-projects move to GitHub

Last couple of weeks I have been working on moving mini-projects from Google Code to GitHub. The social experience provided by GitHub is unmatched. Also, Google Code seems to be a lost child of Google--as feature after feature have been removed in the recent past. The approach I am taking when moving the projects is:

  1. Export the svn-history for the mini-project, and create it as a new project under GitHub.
  2. Create git/GitHub specific source assets like and .gitignore.
  3. Update the mini-project GitHub URL in the pom.xml.
  4. Update the dependencies for the project to the latest version.
  5. Make a new minor-release through GitHub.
  6. Remove the code for the project from Google Code.
  7. Deprecate the download from Google Code.
Note that following this process, you will see lot of releases happening at WizTools. Many of them are superfluous and may not have any improvement compared to the last release. Some, like Markdown2HTML, that depend on external library for core functionality, would benefit from the new releases. So use your judgement after reading the Release Notes on deciding if you need to upgrade your software.

Monday, February 3, 2014

RESTClient Source Code Migrated to GitHub

The message from Google seems to be clear: it does not want to invest in non-profit making venture like Google Code. Google has been killing feature-after-feature from the Google Code service recently. The two most affected me were:

  1. Removing Updates page without any notification.
  2. Removing the Downloads service.

Add to this fact, Google not adding any new feature to Google Code in the recent past.

Well, the message seemed clear. And we have initiated on our part to move code to other well maintained services like GitHub / BitBucket. Our most used project, RESTClient code is already moved to GitHub. Note, we have moved only the source code, Issues and Wiki is still hosted in Google Code. Moving Issues and Wiki will be done in a phased manner in near future.

Friday, December 20, 2013

Google Code Downloads Download Script

A small script to download all downloads from a given Google Code project: Since Google turned evil, and deprecated Google Code download service, this script can be used to migrate the downloads to other services.

Saturday, December 7, 2013

Sunday, October 6, 2013

CSV2HTML Tool Project

A new project has been initiated: CSV2HTML. This is a command-line tool to convert from CSV format to HTML table. Download the pre-release version from here:

Saturday, August 31, 2013

3.2.1 Release of RESTClient

The latest version of our flagship product, version 3.2.1 is available for download. The release has two bug fixes: one affecting proxy users in cli tool, and the other affecting people working on IDN URLs. There is one excellent feature improvement that is also implemented: Groovy Test Scripts can now have supporting external Jars. Checkout the release notes for details.

Friday, July 5, 2013

3.0 Release of WizCrypt

Happy to announce the 3.0 release of WizCrypt. WizCrypt is the oldest project from This is a command-line tool to encrypt files. Originally designed as a cross-platform tool to encrypt my secret files from a shared PC. The algorithm and file-format have been chosen/designed for speed from Desktop user perspective.

Thursday, June 27, 2013 RESTClient Book

Get this Kindle book:

RESTClient Book

RESTClient 3.2 Release

Get the latest and the greatest release of RESTClient. This release supports Internationalized Domain Name (IDN) and history. View detailed Release Notes here.

Sunday, May 12, 2013

PHP OOP Book Updated

New chapter on PHP Functional Programming and few concepts left in the original edition (like Object Cloning) are covered in this update. Get the new edition here: Readers who have already bought the book will receive a mail from Amazon detailing how to download this free update.

Wednesday, May 8, 2013

Applying Lean Principles in Publishing

Launch the minimum-viable product. Then keep improving.

Can this be achieved in publishing industry? This is going to be my experiment. Technical books are best suited for this type experiments, considering the rapid innovation in the software field.