Right click on iOS

 Have you wonderd how to simulate right mouse click on iPad or iPhone?

The answer is simple: Tap and Hold

Calling java from .NET

 It seems I have to use .NET for my next project, but I don't want to give up my java knowledge, why don't just call java from .NET?

Sure enough, there is a project for that: jni4net


This post explain how it works:

Windows Azure Deployment with NodeJS

 Just tried deployed my NodeJS application to Windows Azure. Apparently a few things are broken, espeically relating to the file upload part of NodeJS.

Export Private Key from pkcs12 file

I need to export private key from pkcs12 file, it took me a while to find the command needed.



OpenSSL to extract the private key, and the cert file

Export the private key file from the pfx file

openssl pkcs12 -in filename.pfx -nocerts -out key.pem

Export the certificate file from the pfx file

openssl pkcs12 -in filename.pfx -clcerts -nokeys -out cert.pem

Remove the passphrase from the private key

openssl rsa -in key.pem -out server.key

If you use Putty, you have to use puttygen to convert from pem format to PPK format only used by putty. Please make sure you remove the pasword using the above command, otherwise puttygen will not able to load it.

Putty (Windows)
  • Download Putty and puttygen from - here
  • Use puttygen to convert .PEM file to .PPK file.
  • Start puttygen and select “Load”
  • Select your .PEM file.
  • Putty will convert the .PEM format to .PPK format. 


Learn GSA

If you are working with Google Search Appliance, this is the page you should bookmark.  

It has tones of information, and it is free!


IE 10

 Microsoft just released a IE 10 for Windows 7. It is definitedly the best IE so far. 

The best feature is the F12 Develper Tools, which is now come closer to the conterpart in Google Chrome. It is long overdued improvment. 

Google Course Builder

Google introduced "Course Builder" not so long ago. It is a open source project for building training courses. This is the introducton video:

I deployed it to my own GAE instance and it works beautifully without much difficulty. It sounds like a perfect solution for some startup trying to build training solutions, let me know if you want to build one. I might be able to help. 

Here is the URL running on my GAE, I have not done much, but it is easy to change according to any requirements. 



 I have used many UML tools. StarUML is my favrioate now.

First of all, it is open source and free. Secondly, you don't need to read a lot of documentation to start using it. 


Get it from here to try it yourself.

Relax or Not?

 I have been working in XML filed for a long time, havn't worked with DTD and XSD. I haven't used Relax NG schema yet. 

I was asked by someone to take a look at Relax NG. It seems it is getting more popular (although not as popular as XSD). Here is a few high profile use case:

Relax NG is establishing a presence as a language for pivot schemas, that is, a canonical schema from which schemas in other formats are generated by automatic conversion. Examples:


Tridion 2013

 I attend Tridion User Group Day at Redwood Shores, CA. Apparentlly Tridion 2013 is going to be announced in Q1 of 2013. 

A list of interesting features with this new release:

  • Bundle: You can now put component or page into a bundle. All the items in the bundle will exit the workflow either success or fail as a whole. This concept is simliar to the database transactions. It is beneficial when you have dependency among your pages/component, and you dont' want some of them to succeed and others to fail. 
  • Notification Center: They took the concept from iOS where the notification center has actionable items. You can directly invoke action from notification. 
  • Undo: It has the ablity to Undo the publication (once level).
  • External Content Libraries (ECL): It is possible to write a connector to use other repositories. A Flicker connector is demoed that it can mount your Flicker account to Tridion. Theoritically, it is possible to write a connect for anything if it has the concept of "folers" and "files". 

Here is the agenda for those who are curious: