Sunday, December 23, 2018 homebrew repository live

Happy to announce the availability of's selected products in our very own homebrew repository. Configure the repository:

brew tap wiztools/repo

To install, say xsd-gen, you would do:

brew install xsd-gen

For a complete list of formulas and casks available, visit the repository:

Saturday, June 18, 2016

Any Url Http Server v1.1.0 Released

Version 1.1.0 of anyurlhttpserver is available now: This version introduces -C parameter to support CORS headers.


Sunday, May 29, 2016 RESTClient 3.6 Released

The flagship OpenSource project from has a shiny new release. This release boasts of multiple features like GET with body, better support for ignoring SSL  certificate warnings like expired certificate, and custom HTTP methods. Also, as part of our continuous improvement plan, we also moved the build to Gradle. Enjoy our new offering:

Wednesday, April 27, 2016

wiz-cliparse: the cli parsing lib that Node deserves

A couple of weeks back, when I started working in a Node.js project, I had to use a cli-parsing library for my requirement. On searching, I was repeatedly directed towards commander.js. It looked powerful and seemed to satisfy our need. But as I started using it, I found it sucking my time. Bad, and wrong documentation. No support. And overall, badly designed and executed. Every option that I tried, always ended up in opening issues, asking for help in SO.

I decided to put a stop to this mediocrity. Node deserves better. And today, I am happy to announce the better option from, the wiz-cliparse library:

Saturday, April 2, 2016

commons-lib has a new group and artifact id

Happy to announce the availability of v0.4.2 of commons-lib. Note that the artifact id and group id of the project has changed:

  1. Group id [Old => New]: org.wiztools.common => org.wiztools.
  2. Artifact id [Old => New]: wiztools-commons-lib => commons-lib.

This release fixes a error in ZipUtil.unzip() that was not failing on corrupt zip files.

Thursday, November 12, 2015

Commons Lib has a new home @ GitHub

wiztools-commons-lib, the library holding collection of commonly used convenience classes and data-structures for Java has a new home at GitHub.

Sunday, August 23, 2015

PHP OOP Book Updated for PHP v5.6

The popular book on PHP OOP is now updated for PHP v5.6. New buyers will get the updated version of the book. I am working with Amazon to push the new version of the book to existing owners. Push notification should be received by existing owners after that.

Wednesday, May 6, 2015

How is your OSS used?

The beauty of OSS is this: you never know how people are going to use it. I recently discovered that my tool xsd-gen, a pure command-line tool is also being used as a library by someone (see this SO post). I love the freedom I offer my users by publishing my software as Open Source!

Sunday, April 26, 2015

RESTClient 3.5 Released

Happy to announce the release of 3.5 version of RESTClient. This version boasts of various minor bug fixes, improvements in multipart body requests, and internal code reorganization to support new persistence formats. Complete Release Notes available at the usual location.

RESTClient 3.5

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.