How to Read GIT Repository Using Java APIs

January 27th, 2013 14 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.

Must-Have Tool: Remote Desktop Connection Manager

November 7th, 2012 12 comments

I think most of us have used Microsoft Remote Desktop Connection (mstsc.exe), which is used to connect to a remote server using RDP protocol. If you have more than several remote servers to connect, it can be very inconvenient to navigator through them. Microsoft knew that and created a new tool called Remote Desktop Connection Manager. You can download it for free at Microsoft site here.

Conceptual Deep Dive in VMware vCenter Single Sign On

November 4th, 2012 3 comments

One of the key new features in vSphere 5.1 is the Single Sign On. Because it’s new and also complicated, I’ve heard it’s not easy to get it right the first time. Experts recommend that you should play with it in a test or staging environment before upgrading your production environment.

What’s New in vSphere 5.1 SDK and APIs

October 31st, 2012 2 comments

I know it’s well past the GA date of the product on September 10, but I still decide to write this what’s new for the completeness of vSphere SDK FAQs.

As I always emphasize, the SDK/APIs are “view” to the product (you can think it as “model” here). Therefore to understand a SDK/APIs, it’s important to check out the product first. No exception for the new features: what’s new in vSphere decides what’s new in vSphere SDK/APIs. For that, you want to check out the What’s New in VMware vSphere 5.1 at VMware website.

VMware vSphere SDK with Visual Studio 2012

October 30th, 2012 7 comments

While trying latest Microsoft Visual Studio 2012 Express, I also played with the C# samples of the VMware vSphere SDK. Unfortunately, there isn’t direct support for VS 2012 but for VS 2010, 2008, and 2005. However, you can easily create project files for the VS 2012 by yourself assuming you are already familiar with the Visual Studio environment.

The Fifth Bread and the Mobile Computing

October 28th, 2012 2 comments

Once upon a time, there was a gentleman who was very hungry. He bought 5 breads. After finishing the first 4 breads, he still felt hungry. While eating the 5th bread, he found himself full. Then he thought it’s the fifth bread that made him full, and wondered why he had wasted money on the first 4 breads.

Categories: Others Tags: , ,

A Quick Hack With vSphere Web Client Timeout

October 24th, 2012 8 comments

Last week I released a tiny tool called DoubleCloud Client, which eases the usage of vSphere Web Client. I didn’t have time to add another hack which can bypass the session timeout of vSphere Web Client.

By default, vSphere Web Client times out after 30 minutes of inactivity according to VMware Doc. After timing out, you got to re-login and click back to the page you left out. It’s good for the security, but also not convenient. If you use it on your own desktop and have set up screen saver with password protection, you don’t really need this security feature.