Tuesday, April 15, 2014
Wednesday, April 2, 2014
Monday, March 31, 2014
Maintaining websites is a hard task. The last version of WizTools.org 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 WizTools.org. 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 WizTools.org home page as of now.
Thursday, March 27, 2014
Monday, March 17, 2014
Sunday, March 16, 2014
Saturday, March 15, 2014
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:
- 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.
- 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:
- 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.
- 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
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 WizTools.org 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: https://github.com/wiztools/xml-validator/releases.
Tuesday, February 25, 2014
Thursday, February 20, 2014
All newer releases of desktop tools published by WizTools.org 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
- Export the svn-history for the mini-project, and create it as a new project under GitHub.
- Create git/GitHub specific source assets like README.md and .gitignore.
- Update the mini-project GitHub URL in the pom.xml.
- Update the dependencies for the project to the latest version.
- Make a new minor-release through GitHub.
- Remove the code for the project from Google Code.
- Deprecate the download from Google Code.
Monday, February 3, 2014
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:
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 WizTools.org 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
A small script to download all downloads from a given Google Code project: https://bitbucket.org/subwiz/gcode-download/ 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
Saturday, August 31, 2013
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
Happy to announce the 3.0 release of WizCrypt. WizCrypt is the oldest project from WizTools.org. 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
Sunday, May 12, 2013
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: http://www.amazon.com/dp/B00CM4ZECG. Readers who have already bought the book will receive a mail from Amazon detailing how to download this free update.
Wednesday, May 8, 2013
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.
Friday, May 3, 2013
Monday, April 22, 2013
There are many things that we do in our life that don't add any value to our life. One such thing is learning the complete detail of a technology. Ever since I started learning programming, I have taken one approach to learn: learn the essentials. Then jump into implementation. The details of the language / software / environment are just a search-term away.
When buying a technical book too, I try to avoid reference books. Most of the information available in the reference books can be fetched quicker by a web-search. What I want a book to be is like a tutor: explain the fundamentals and give enough information to inspire me to explore more.
The same approach will be followed by books published by WizTools.org. The first in the series of books that will be published is under preparation and will be available shortly. The book covers PHP Object Oriented and Modular Programming.
Monday, October 8, 2012
I assure you that this foray into this wonderful platform is the beginning of a rich product line from WizTools.org.
Monday, October 1, 2012
Sunday, September 2, 2012
As usual, the release includes:
Thursday, August 30, 2012
Sunday, August 19, 2012
Wednesday, August 15, 2012
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.