Archive

Author Archive

Generating Checksum on Windows

March 4th, 2013 2 comments

I got an interesting request from one of the enterprises which uses vijava in their product. Although there are downloads for binary and source packages on the sourceforge Web site, they still would like me to create the checksum as I am the trustable source for that. As I was told, the checksum is required by their build team. I don’t know how is exactly used, but I decided to help out anyway.

VMware Partner Exchange 2013: Observations and Thoughts

March 3rd, 2013 5 comments

I went to the VMware Partner Exchange in Las Vegas last week. It’s always nice to see old friends and colleagues in the conference that I’ve been attending consecutively since I first joined VMware in 2007.

I spent quite some of my time in the hands on labs (codenamed Project NEE), which turned out to be a great experience. I took 7 labs covering the Nexus 1000V with VXLAN, vCenter Orchestrator(vCO), DynamicOps (now has a fancier name called vCloud Automation Center), etc. With the bundling and deep integration of the vCO into vCenter Web Client, I think the prime time for vCO as the automation tool for vSphere has finally come.

Categories: News & Events Tags: ,

Running Puppet in Client/Server Mode

February 20th, 2013 1 comment

In my last post, I introduced how to run a very simple HelloWorld script with Puppet 3.1.0 on CentOS 6.3. Although it shows how Puppet works, it’s not really how Puppet is used in real world. To get the most out of Puppet, you want to run the client/server mode where you have a master and many agents.

Part 1: Install Puppet server

Categories: Cloud Computing Tags: , , ,

Running Puppet HelloWorld on CentOS 6.3

February 12th, 2013 5 comments

Puppet is a very well-known configuration management tool that has been adopted by many enterprises and service providers. VMware recently invested $30M in Puppet Labs, the company behind it. It’s clear that VMware needs such a tool if it wants to grow in data center space.

I actually got a book from last year’s PuppetConf in San Francisco and browsed through it on my flights. As with any other technology, reading it does not mean getting it. To get my hands dirty, I played with it in my home lab last week.

Categories: Cloud Computing Tags: , , ,

How to Use GIT Java APIs to Diff Two Different Files

February 11th, 2013 1 comment

In my previous post, I introduced a sample showing how to use JGIT Java APIs to diff two versions of a same file in repository. The JGIT Java APIs can do more than that – it can actually diff two text files that are not even controlled by GIT.
Here is a short sample code on how to do this. Again, it’s not the main use case for the JGIT APIs. After all, it’s mainly for GIT source control system itself. You can always use other diff APIs for this purpose. However, if you already have JGIT included, this can be handy.

Categories: Software Development Tags: ,

How to Use GIT Java APIs to Diff Different Versions

February 3rd, 2013 5 comments

Last week I introduced the JGIT Java API with a simple sample illustrating how to read content from HEAD. If you have multiple versions of a source code or text file, you may want to see their differences. An easy tool for this is the standard diff.

The JGIT Java API has built-in support for you to generate diff between any two versions of a file, be it a source code, properties file, XML file, or any other text files. Here is a sample that shows how to do this.

Categories: Software Development Tags: ,

How to Read GIT Repository Using Java APIs

January 27th, 2013 13 comments

GIT is a source code control system created by Linus and others for managing Linux kernel development. It becomes one of the most popular version control systems especially in the open source community. Most developers use command line or the plugins to IDEs like Eclipse, NetBeans. I think even Microsoft VisualStudio has add-on for connecting to GIT, but I haven’t checked it.

Simple Logging in Java Application

January 21st, 2013 3 comments

Logging is a common requirement for application. In Java world, there are a few frameworks, the first and the most famous of which is the log4j from Apache foundation. Java included its own logging APIs afterwards. You can find many discussions which one is better in terms of use of use, flexibility, and performance. To reconcile the two APIs, a common abstraction called Simple Logging Facade for Java (SLF4J) was created. As SLF4J works with both log4j and Java logging, you can switch between them easily (in theory).

Categories: Software Development Tags: ,

Massive Scheduling with ScheduledExecutorService in Java

January 14th, 2013 2 comments

If you need to do certain things at certain points of time or intervals, you need scheduling capability. Don’t confuse the scheduling with multi-threading even though you can use multi-threading for scheduling but they are not equivalent. You can use single thread for many different tasks. Simply put, threads are executors, and tasks are jobs to be done by executors.

vSphere vs. Hyper-V: Difference of Virtual Machine States

January 6th, 2013 7 comments

While reading articles about Microsoft Hyper-V, I found that Hyper-V seemed to have different states for virtual machines from VMware vSphere. The virtual machine in Hyper-V is represented by the Msvm_ComputerSystem class. If you are familiar with VMware vSphere, you know the equivalent in vSphere is VirtualMachine. At first sight, the Hyper-V APIs may not look straight-forward. The Hyper-V APIs is actually based on Windows Management Instrumentation (WMI), which is essentially CIM from DMTF.

Cisco Nexus 1000V Distributed Virtual Switch: Command Line Examples

January 3rd, 2013 10 comments

I just took three day Cisco Nexus 1000V training before Christmas. It’s a pretty good experience to play with the commands in the VSM appliance although I am still not quite familiar with these commands yet. Nevertheless, I managed to run through all the 9 labs thanks to the online lab that I could access even after class. To help myself to remember what I did, I listed a few commands that often needed in managing Nexus 1000V.

Developing Web Application with JQuery and Java Servlet

December 27th, 2012 6 comments

It’s been a while since I touched Web application development in 2009. Before the VMworld 2009, I created a simple Web Application for the keynote that collected the names and email for a raffle to go back stage with the famous foreigner. That Web application was so simple that it’s built using Java Servlet with a static home page. It’s hosted with Terremark (part of Verizon now) Enterprise cloud.

VI Java API Project Upgrade

December 18th, 2012 5 comments

During the past weekend, I upgraded the vijava API project to the new Allura platform provided by Sourceforge.net. That’s really a button click and then waited for incoming emails for status updates. It went smoothly and didn’t take long before it finished.

Note that the upgrade is limited to the project hosting, not the Web site (http://vijava.sf.net) which remains the same and continues to work as before.

What is Missing in the VMware and EMC’s Pivotal Initiative?

December 11th, 2012 7 comments

Last week VMware formally announced that it would form a virtual team with EMC to take cloud service and middleware market. There was a rumor about it the week early which turned out to be mostly true. If you are in IT industry nowadays, you simply cannot under-estimate the power of rumors. I think most of the VMware and EMC employees might hear the rumor before hearing it from their management teams. :-)

Big Data or Big Junk?

December 8th, 2012 12 comments

Two weeks I got a problem with my blog site. Somehow I could not post to announce the GA of open source ViJava API for vSphere 5.1 there. After searching and researching, I found out that the wp_commentmeta table was filled with extra amount of data that exceeded the per database limit of 100MB imposed by my service provider. While I was enjoying Thanksgiving holiday, some spammers and their robots worked diligently posting thousands of spam comments on my site.

Categories: Big Data Tags: ,

DoubleCloud VM Connector for Remote Desktop Connection Manager in VMware Environment

December 2nd, 2012 7 comments

In my previous article, I introduced the Remote Desktop Connection Manager. It’s highly recommended to use it over the virtual machine console which all goes through the ESXi management IP therefore is not good for performance especially when there are many concurrent connections to virtual machines running on a same physical host.

Even if you are convinced on connecting to virtual machines directly, you will find it’s not convenient to add many virtual machines to the Remote Desktop Connection Manager. That is why I decided to write a small tool to automate it.

Announcing GA of VI Java API 5.1 Supporting vSphere 5.1

November 27th, 2012 11 comments

It’s been two months since I announced beta of VI Java API 5.1 supporting vSphere 5.1 on September 23. I got many emails asking for the GA date from ISVs and IHVs as the API is now a corner stone in their products. With the long (could be longer, BTW) Thanksgiving holidays, I got some time to review the fixes and release the GA version. I intended to announce it yesterday but somehow extra spam comments pushed the database behind over 100MB limit thus I could not post any new article.

Categories: vSphere API Tags: ,

OpenStack: 7 Core Projects You Should Know

November 18th, 2012 5 comments

Last week I took a two day boot camp on OpenStack, which is increasingly popular these days. The project was initially created at Rackspace in answering Amazon Web Services, and open sourced to the community.

Not only service providers and software vendors showed interests in the project, but also hardware vendors tried to pre-install OpenStack as one of key differentiators (inside most, if not all, of hardware boxes are Intel therefore not much difference).

Must-Have Tool: ZoomIt for Technical Presenters

November 14th, 2012 4 comments

In one of my previous posts, I introduced the Remote Desktop Connection Manager. Here is yet another must-have tool: ZoomIt. If you frequently present technical contents on Windows, you will find it very useful, especially when you want to show source code or screen details to your audience.

I’ve found many cases in which presenters had trouble to walk through source code because the font was too small for audience to see clearly. Instead of using this tool, they often tried to change IDE editor settings for a larger font, which worked but not nearly convenient.

Categories: Others Tags: ,

Encrypt and Decrypt Password in C#?

November 12th, 2012 2 comments

I just spent a little time playing with C# on password encryption. Here is a sample code I wrote to get myself familiar with related APIs. Overall it’s pretty straight forward – it first encrypts a clear text to an encrypted Base64 encoded string, then reverses it.