PlantUML – Missing Docs

I’ve been using PlantUML for my technical diagrams recently; the ability to include the source for my diagrams along side my projects has been a documentation game changer.

The tool is pretty well documented on their website but a few things are not immediately clear until you stumble with using it a few times.

How do I pick the diagram type?

PlantUML doesn’t have an documented mechanism for defining the type of diagram you are trying to generate. Defining a node type element tells PlantUML to generate a component diagram.

In my use case, I was trying to create a sequence diagram but I accidentally created an element of type component. This caused my diagram to default to a Component diagram, which doesn’t support the group feature; this was present in my diagram’s definition but was causing a syntax error I couldn’t understand until I realized it’s not in the grammar for a Component diagram.

The solution was to replace the node with boundary and control elements.

Refreshing my Windows 10 dev machine

Run Windows Fresh Start to clean up the machine from all of the bloatware either came with the computer or has been installed over time.

This post is a work in progress and will be updated as more tools are identified.

Install chocolatey

Install the dev tools via chocolatey. Make sure you run chocolatey from an elevated (run as Administrator) command prompt.

Installing Visual studio 2019 Community and the optional components for dotnet core and web development.

  • choco install -y visualstudio2019community
  • choco install -y visualstudio2019-workload-netcoretools
  • choco install -y visualstudio2019-workload-netweb
  • choco install -y sql-server-express
  • choco install -y sql-server-management-studio
  • choco install -y docker-cli

Installing browsers

  • choco install -y firefox
  • choco install -y googlechrome
  • choco install -y brave

Update: I have since uninstalled SQL Server and am, instead, running it as a docker container. This has simplified things greatly.

The new Microsoft at BUILD 2016

I attended Microsoft’s annual developer conference BUILD and am pretty excited about this new Microsoft that has emerged under the guidance and leadership of Satya Nadella.  A lot of my surprise comes from the new services and APIs that Microsoft has announced at the conference.

The Cognitive Services APIs offer an amazing opportunity for creating new software that makes the works a better place and improves our everyday lives. Combine these services with the Bot Framework and you can build anything you can imagine.

Some of the surprises, however, are based not on what was said but rather what was not said.

Microsoft seems to have quietly moved away from KnockoutJS in favor of Anugular 2.0 (a Google library). The conference even had a couple Google engineers manning an Angular booth along-side the Azure and ASP.NET teams. The ASP.NET Core code lab session on front-end development integrates Angular 2 within the ASP.NET (5/Core) MVC (6/Core) applications.

This is an interesting and welcome change Microsoft is open and getting along with Google and demoing on Apple products. Instead of trying to force their stack on the dev community, Microsoft has allowed the organic winners in each arena to play nicely together and is updating their tools to help you integrate.

Windows Phone was also nowhere to be found. All mobile device demos were done on iPhones (at least the ones I saw). As much as they would love to be a true contender in the mobile device space, I’m happy to see Microsoft doubling down on their strengths.

The new iPhone 6 and iPhone 6 Plus needs more storage

The new features of iPhone 6 and iPhone 6 Plus are nice. I particularly like the updates they’ve made on the photo camera and video camera. The move to 60 fps video is amazing but is also cause for my biggest issue with the phone.

The 16GB of storage is simply not enough space to hold the operating system, your apps, the data for those apps (the pictures from your iMessage history will take up gigabytes of spaces over time), and these HD videos will fill up all of your storage in no time. This back of the napkin calculation assumes you don’t have any music on your phone.

Why are the lowest option 16GB but the next option is 64GB? The base model should have been 32GB. If this wasn’t an option, then the iPhone needs to catch up with all of the other phone and allow for external storage.

Migrating your iPhone contacts to your Android phone

I recently moved from an iPhone to an Android phone.  My immediate concern was how to move my contacts over between the two devices. iCloud backup of my contacts really came in handy for this.

First, make sure to have your contacts backed up to iCloud.

Log in to iCloud at using your Apple ID and proceed to the contacts page. Select all of the contacts (CTRL+A for Windows, COMMAND+A for Mac), click the gear on the bottom left, and select export as vCard.

Now log in to your Google Contacts using your Google account. Click import and select the vCard file you just exported.

Upon completing the import, make sure to review your contacts and merge any duplicate contacts that may have resulted from the import. This is the perfect opportunity to clean up your contacts before syncing them with your phone.