Archive

Author Archive

VMworld Day Two: Five Imperatives

September 1st, 2015 No comments

Today is the second day of VMworld 2015 in San Francisco. The general session started at 9AM for about one and half hours. Today’s topic includes desktop, networking, and 5 imperatives for digital business.

VMworld Day One: Contain Containers?

August 31st, 2015 2 comments

Today is the first day of yearly VMworld in San Francisco (strictly speaking, it started yesterday with reception party). The general session started at 10 AM for about one and half hours. Having been with VMworld for many times, I found this general session was pretty exciting with quite a few things worth sharing.

Categories: Virtualization Tags: ,

Authenticating with LDAP Server in Enterprise Java Apps

August 30th, 2015 1 comment

Creating a new user with password is easy for application developers, but not so convenient for the users. Increasingly we have more passwords to remember than we should. It’s now a common practice to authenticate users with LDAP or ActiveDirectory. If a user changes her password in LDAP server, she doesn’t need to do anything in the app.

Categories: Applications & Tools Tags: ,

How to Print out Http Request Headers in Java Servlet

August 25th, 2015 1 comment

While developing a new project, I need to check a request header from client side AJAX call in Javascript. This is not a difficult problem at all, but I found it’s pretty helpful with the headers printed in the log file, especially while debugging. The following code snippet iterates through all the headers and add their values into the string buffer, and further into logger of the Servlet. Notice that the value of a header is not a primitive value, therefore the inner loop is needed to go over each element.

Categories: Software Development Tags: , ,

CentOS 7 for Building Virtual Appliance

July 28th, 2015 1 comment

I started to play with CentOS 7 recently because I wanted to use it for one of my appliance products. Naturally, I installed the minimum version of the CentOS 7.0.

While it takes time, the installation process is pretty straight-forward like installing any other Linux on a virtual machine. What I did was to upload the .iso file to a datastore, then create a new virtual machine that uses the iso file as CD device. When it booted, the installation started. Although it’s minimal version, but the installer is actually GUI based. So it’s pretty intuitive.

Unable to Connect to vCenter Inventory Service

July 7th, 2015 No comments

When I was doing a demo today, I got an error saying “An internal error has occurred – Error #1099. Reloading the client is recommended, so as to clear any problems left by this error. Click Yes to reload the vSphere Web Client?” After reloading the Web Client, I got the same error. So something has to be fixed on the server side.

How to Change Maven Offline Mode

June 30th, 2015 4 comments

Maven is a great tool when it works; otherwise it’s pretty hard to figure out what’s happening and how to fix problems. Instead of detailing steps to get something done, the Maven philosophy is to let developers to pick what they want. For the common use cases that fit in its convention, Maven is pretty easy. In general, Maven is easy to start, and hard to customize.

Categories: Applications & Tools Tags: ,

Installing vCenter Appliance 6.0: A Few Gotchas

June 29th, 2015 2 comments

There is a big change in the vCenter 6.0 with the introduction of Platform Service Controller. To run vCenter 6.0, there must be a PSC server somewhere: either existing one, or new one installed together with vCenter. For most dev/test environments, you would choose the latter option which is also referenced as embedded mode. Because of this separation of vCenter and PSC, the installation process of vCenter appliance 6.0 is quite different from the previous versions.

Setting Up Development Environement for HTML5 and JavaScript

June 28th, 2015 No comments

While JavaScript getting more popular with HTML5 these days, it’s also getting more complicated with various libraries. It’s no longer an easy, if possible, job to manage the dependencies by hands.

As I started to play with JavaScript and HTML5, I have installed several tools for the development. If you’re intested in HTML5, the following steps and links may be helpful to you too.

Simple Script to List and Remove All Stopped Docker Containers

May 27th, 2015 6 comments

While using Docker command lines, I found it’s sometime a bit confusing to deal with containers. For the underlying operating system, a container is like a process. That is why the docker command use “ps” as the command to list these commands.

However, the typical “ps” command lists all the running processes. When a process dies, it is gone and there is no need to list it at all. For the containers, the story is different. The container can also be stopped, paused, which is different from running state. But you can still bring them back to running state later.

How to Pretty Print JSON with Gson and Jackson

May 20th, 2015 No comments

In my last article, I compared two leading JSON APIs in Java: Jackson and Gson. If you have tried the samples there, you may have noticed that the two samples print the JSON string into one line. While it’s pretty efficient for machine, it may not easy for human consumption when the Json string is long. Sometimes I have to copy a long Json string into an editor to find out what are there.

Categories: Software Development Tags: ,

A Little Known Security Feature in vCenter: Certificate Based Authentication

May 18th, 2015 No comments

Although we are all familiar with the username and password based login to the VMware vSphere, it’s also possible to login into vSphere with just certificates. If you are a third party vendor, either IHV (independent hardware vendor) or ISV (independent software vendor), the certificate based login is actually a better and preferred alternative to the one using username and password.

Let me explain why it’s the case, and how it can be done painlessly.

VMware ESXi esxcli Command: A Quick Tutorial

May 12th, 2015 9 comments

The esxcli is a command tool that is available on VMware ESXi for managing ESXi. Unlike the vim-cmd command, it focuses on underlying infrastructure and touches lower level of controls of the ESXi hypervisor itself. Although it’s just one command, it packs a lot of functionalities with different namespaces/sub-namespaces, and sub-commands. Because they are organized in nice tree hierarchy, it’s actually quite easy to use most times.

Categories: Virtualization Tags: ,

How to Enable Remote Management for Docker in VMware Photon

May 11th, 2015 1 comment

It’s an exciting news that VMware got into container business with the release of Photon. The Photon project is not container engine like Docker and Rocket, but more like the CentOS which is a bare minimum version of Linux. The idea is exactly the same as that of the ESXi – the less it does, the more secure a hypervisor or OS is. Sometimes it’s true for people in certain companies and organizations too. :) It’s a culture thing that is beyond this article.

Categories: Cloud Computing Tags: , ,

Announcing vijavaNG 6.0 with vSphere 6.0 Support

May 5th, 2015 4 comments

Even before VMware announced the GA of vSphere 6.0, I’ve started to work on the vijavaNG making sure that vijavaNG will keep up with the latest release of vSphere. Although it may take a bit time for customers and partners to move onto this new release, we want early adopters to have the choice to use the best Java APIs for managing vSphere.

Categories: vSphere API Tags: , ,

Tricks and Tips on Paypal Integration

April 24th, 2015 1 comment

After releasing the DoubleClou ICE, I finally got some time to write what I had experienced with Paypal as a user and developer. Because the DoubleCloud ICE is productivity tool that sells within $100, I want people to buy it online quickly and easily. Given Paypal’s #1 position in online payment, I turned to Paypal without much thinking. After that I had gone through all the integration process from initial research to bring the site to production.

DoubleCloud ICE: the IDE for Managing Clouds

March 30th, 2015 6 comments

After almost one year of intensive development, I am happy to announce the first release of DoubleCloud ICE. It’s an integrated tool for cloud management, in particular VMware vSphere with which you can do a lot of interactions easily and quickly.

The idea was inspired by the IDEs. Once upon a time, we all used editors like vi, Emacs to write code, then compile, link, and debug them using command lines. As time evolved, the IDE came out so we can do all these tasks (actually more) nicely and efficiently in one application. The result? Better user experience and higher productivity.

Gson vs Jackson: Which to Use for JSON in Java

March 27th, 2015 6 comments

There are many JSON libraries for Java. While it’s nice to have many options, it can also be frustrating to decide which one to use. If you do an online search, you will find many opinions and all these libraries are used somewhere. When in doubt, the best thing to do is: stop searching and start coding. It doesn’t take long to get the ultimate answer for you.

Categories: Uncategorized Tags: , , ,

How to Recover Corrupted Virtual Machine in VMware Fusion

March 18th, 2015 4 comments

I just spent quite some time helping a friend to recover a corrupted virtual machine in VMware Fusion. It’s indeed a long and interesting (sometimes frustrating too) process that I learned quite some that I would never otherwise. I think you might find it useful as well. Hopefully, you don’t get a corrupted virtual machine, but in case you do, I am sure the post will help you.

Categories: Uncategorized Tags: , ,

Getting Started with Go Programming Language

February 2nd, 2015 2 comments

Go is a relatively new programming language coming out of Google. It’s getting popular with more new projects using it. Two of the container software, Docker and Rocket are both using Go.

At high level, the Go programming language is very much like C but with many improvements. To my curiosity, I started to study Go and get ready for future consulting projects. Here are the note on installation and a few samples along my learning path.