Archive

Author Archive

What Does Oracle-Google Case Mean For Cloud Computing?

May 31st, 2012 No comments

As a software professional using Java since its very beginning, I have been following the case regarding Google’s using Java APIs in its Android OS. I don’t want to repeat what has happened so far because you can find these updates by searching the Internet. All I want to say is that the case is pretty educational not only on the technology itself but also on the legal side like patents, copyright.

Redefining Software in Cloud Age

May 30th, 2012 2 comments

As software professionals, we may still use the same programming languages and tools as 10 years ago. But there has been a fundamental shift in how we think of software, and make and consume software.

Static blueprints

Traditionally software really means blueprints, which are used to construct running software instances. The blueprints include binary code, installer, and related documentations guiding the installation and configuration of the software. Software vendors make the software packages and sell them to customers who then deploy and run them.

What Is Missing in Current Software?

May 28th, 2012 No comments

If we look closely at the software today, we will find some important pieces missing. For example, the software code defines logical behaviors of a system, but not the performance and scalability aspects. In other words, the operational aspects of the software are not clear even if you have a software product.

Effective Strategies to Simplify

May 22nd, 2012 No comments

Having read my articles on vSphere APIs and software designs, you may feel a bit bored. Today I will write something different and generic: how to simplify things.

By nature, the world is complicated as it should be, and will remain so or even more forever. Simplification does not change that fact, but your perception about the world. Unless you are writing research papers, you want to simplify things you work on.

Open Source VI Java API 5.0.1 Released

May 18th, 2012 21 comments

While preparing this annoucement, I realize that on the same day last year we had a very successful community event with several techtalks to celebrate the 3 year of vijava open source project. Today it’s the 4th year of this project!

Since VI Java API 5.0 GAed last October, there have been some changes, one of which is that I left VMware and joined VCE the same month. On the project side, there are several new bugs opened with the forum. These bugs do not affect most developers. But still I fixed them quickly in the code repository so that anyone who was affected could get the fixes from there.

Categories: vSphere API Tags:

Recent Interview with BizTech Magazine

May 13th, 2012 No comments

I just did an interview with Ricky Ribeiro, who is online content manager of BizTech Magazine. It was published last week as part of the Q&A series of Must Read IT blogs. In response to Ricky’s great questions, I shared thoughts on a broad range of topics, including blogging, cloud computing, and technical innovation in general.

The following is part of the article. For full coverage, please check out here, where you can also find links to interviews with other top IT bloggers.

More Development Jobs

May 11th, 2012 No comments

Last November I posted several jobs from our software team, they were all filled. As VCE grows rapidly at a runrate of $800M at the end of last year, we are now having more jobs. In my group, I have two development jobs opened. Should you be interested or know of someone who may be interested, please let me know. My VCE email account is like <firstname>.<lastname>@vce.com, and my twitter is here. Besides these two, there are many other jobs at VCE covering almost all technical aspects. I can help refer you to our recruiters directly as well.

View Driven Development

May 9th, 2012 No comments

In the world of VMware, “view” is an overloaded term which is used in desktop, vSphere APIs, and PowerCLI. Outside VMware, you can also find it in MVC architecture, which basically divides a software system into model, view, and controller. This separation has become a basic programming paradigm in modern software design and development.

Rethink About Test Driven Development and Unit Testing

April 30th, 2012 No comments

If you are familiar with agile processes, it’s most likely you also know of, or even practice, test driven development (TDD). Several years ago I read the book Test-Driven Development by Kent Beck, and found the idea pretty interesting. After that, I rarely found myself using or even thinking about this methodology. I am not saying that test driven development does not make sense, but that it is not the approach working for me, and maybe some others as well.

Common Pitfalls When Developing Virtual Appliances

April 25th, 2012 No comments

A virtual appliance is a virtual machine preinstalled with operating system, middleware, and applications. It’s ready to run after a few configurations after powering up.

The benefit of delivering a virtual appliance is obvious – it offers better out of box experience due to simplified installation/configuration and complete isolation from other applications. The disadvantage is also obvious in that it potentially uses much more system resources than sharing a virtual machine with other applications. Like any solution, it’s all about when and how you use it with what for best results. This can be a long discussion by itself.

Cisco Nexus 1000V in VMware vSphere API

April 23rd, 2012 4 comments

While working at VMware, I always wondered what Cisco Nexus 1000V looked like from VMware vSphere API. Because I didn’t have access to such a system, I had no way to investigate further. This remained a myth to me until I joined VCE where I found many Vblock systems with Cisco Nexus 1000V as part of standard configuration.

Within VMware vSphere API, there are two managed object types defined related to distributed virtual switch:  DistributedVirtualSwitch, and VmwareDistributedVirtualSwitch. As you can guess, the latter type is a subtype of the first one.

Random Thoughts on Software Design

April 16th, 2012 No comments

Three months ago, I wrote an article Random Thoughts on IT Automation. I think it’s a pretty good style for capturing ideas without worrying much about content organization and flow. So I decide to use it again on software design which I have been practicing and thinking for many years.

Process

Recent Hot Topics in Software Development

April 15th, 2012 No comments

InfoQ, one of my favorite sites on software, recently posted an article Key Takeaway Points and Lessons Learned from QCon London 2012. If you missed the conference but are still interested in recent trends of software development, it’s definitely a great read.

I browsed through the article, and found several interesting points there including the comments on Spring framework that VMware bought in 2009. In the following, I just list a few interesting or surprising comments and tweets from the article. If you are interested who made the comments based on which session, just check the original article.

IT Infrastructure: A Software Perspective

April 8th, 2012 No comments

Weeks ago, ThoughtWorks published a new issue of Technology Radar compiled by its senior tech leaders. It has done a great job to track latest technology and market trends since 2010 (for archives, scroll to the bottom of this page).

Learning Netbeans Platform For Building Java Applications

April 2nd, 2012 3 comments

Recently I started to build a stand-alone Java application. The first thing I thought of was to use Eclipse, which I have been using since 2000. As you may know, the Eclipse family has a framework called Eclipse RCP (Rich Client Platform) for building standalone application. In fact, Eclipse IDE is now built on top of the Eclipse RCP framework.

Hypervisor is Containership

March 27th, 2012 4 comments

There are a few metaphors that help explain what virtualization is. Some suggested virtualization is like people (virtual machines) sharing a bus (physical machine) for efficiency and consolidation.

While the bus sample well explains the benefit of consolidation. It does not explain well isolation. Here I make up a new one: a hypervisor is like a containership, and a virtual machine is like a container that is stacked on the ship.

Virtualization Matters Except When It Doesn’t

March 26th, 2012 No comments

In my previous post “Physical is New Virtual,” I mentioned that I would talk about when you will need virtualization and when you don’t. This topic could be a little controversial as we at virtualization community all assume that virtualization is the way to go, which is true in general.

There are however use cases in which virtualization doesn’t make much sense. In the following, I will detail some of these use cases and explain why it doesn’t make much sense to use virtualization. Like everything else, virtualization doesn’t fit all.

Easy Switching RDP and PCoIP Protocol with VMware View

March 23rd, 2012 1 comment

I recently use quite a lot of VMware View because my development environment is a VDI desktop. By default, the PCoIP protocol is used and things just work as expected.

As a power user, I didn’t find PCoIP convenient sometimes, especially when copying files between my physical desktop and my virtual desktop. I ended up using a FTP server instead of drag and drop. It worked but not as quite convenient as I expected it to be.

Categories: Virtualization Tags: , , ,

vSphere APIs for Guest Operating System Management: What’s Special and When to Use It?

March 19th, 2012 13 comments

This is a wrap-up post of recent series on vSphere guest operating system management APIs. If you missed them, here are a few links to related posts: [Note: these are not related to the vSphere Guest API.]

How to Upload File to Guest Operating System on VMware

March 12th, 2012 31 comments

My last post explained how to download file from a guest operating system. Naturally this post is about how to upload file. After a quick sample code, I will discuss how to extend the capability of existing APIs that run program inside guest operating system. My next post will wrap up this series of guest related APIs in vSphere API.

Let’s take a look at a sample code: (To run it, first check out the simple prerequisites in a previous post)