Category Archives: Software Engineering


Accessing vSphere SOAP APIs from C++

Thanks to some projects I am doing at work these days I got to play with my original love: C++. More specifically I’m catching up with how to properly write C++ application servers and micro-services in 2018. Part of the the toy project I’m playing with needs to talk to a vCenter server via it’s trusted old SOAP SDK. There is no standard vSphere Web Service client library for C++ so I figured I’ll build the necessary bindings myself using gSOAP. There are a number of articles around the Web and on the VMware community forums but I had issues trying any of these out – either because of my lack knowledge on how to troubleshoot the different issues or because the articles were relying on a different version of gSOAP.

Continue reading

Fedora on Workstation Pt.2: Copy-Pasting is Back

In my previous post, I introduced you to my journey of moving my development from Windows 10 to a Fedora 28 VM running on VMware Workstation 14. Today I’ll be telling you about the most basic of needs any virtual machine user has: copying and pasting between the host- and the guest OS. A feature I’ve enabled on thousands of VMware machines proved non-trivial on this Fedora VM.

Continue reading

Fedora on Workstation Pt.1: an Introduction

For the past six months I’ve been trying to switch my development to Linux.
There were two reasons: needing to be able to do all build steps of our products requires a *nix environment; executives want us to start using Macs so they don’t have the problem of Windows users breaking Mac users and vice versa (yeah, unfortunately we live in an age where Mac users are actually taken seriously). That’s how I ended up with the middle-of the road approach of switching to Linux at least for development. Given that I’m mainly a Windows guy and a lot of the software I need to use on a daily basis doesn’t have a Linux counterpart (Office, Visio) and there is no company-wide IT support for Linux, there were but two solutions: a dev VM running on VMware vSphere in the data center or a dev VM running on Workstation on my … workstation. There are pros and cons to both.

Continue reading


VMworld 2018

I have only been to one VMworld edition before. Last year I attended the European version in Barcelona. I found the conference quite interesting and – as I was mostly a visitor – managed to see a lot of interesting sessions and roam the Solutions Exchange booths a lot, collecting tons of swag. It was also of great help that Catalans really know how to cook … the evil bastards!

This year I was even more excited for two reasons: first, it was my first VMworld US which is the main platform for announcing everything VMware has been working on throughout the year (hello high share prices!), and second – this time I was doing sessions of my own.

Continue reading

Third Patent Filed!

Last week was all about good news. After a successful trip to Vegas to participate in VMworld 2018 the week before – for which I need to do a separate post – I also got news that a long awaited glass cube was finally delivered. Some context is in order: VMware gives a glass prize to every engineer that is on the inventors list of a patent application. The prize features patent and inventor name and filing date and come in variety of colors. This time mine is bright green and was cleverly – or unintentionally – coordinated with the prizes of the rest of the inventors to form an RGB pixel:

Continue reading


Beginning Karaf

Few weeks ago I started playing with the Apache Karaf application server. I already had some experience with OSGi containers, namely Eclipse Virgo as part of my regular job and I wanted to see what else is out there. To quickly outline the major differences between the servers, Virgo is using Equinox OSGi implementation provided by Eclipse (and powering the IDE of the same name) while Karaf is a subproject of Apache Felix, another major OSGi implementation. Karaf can use both Felix and Equinox but by default uses the former. Both application servers support web application bundles (the OSGi equivalent of WARs) and other enterprise features.

Getting acquainted with Karaf, I came to appreciate its tooling the most – there is a Maven plugin that makes the creation and maintenance of OSGi bundles a walk in the park. Still the tooling documentation is a bit lacking and having lost around three weeks with the project, cross-checking tutorials, official documentation, mailing threads and Karaf’s codebase I decided that it would be beneficial to have my sample project as a blueprint (pun intended) for other people interested in developing Karaf-based applications.

The sample project demonstrates the following OSGi / Karaf features:

  • Maven bundle packaging.
  • Maven kar packaging.
  • Maven karaf-assembly packaging.
  • Vanilla OSGi bundles.
  • Blueprint-wired bundles.
  • Web bundles.
  • Preparing a Karaf archive a.k.a. a KAR.
  • Building a customized Karaf distribution.

Continue reading