I had a recent requirement from one of our clients that took a little bit of tinkering to figure out… we will call our client Contoso LLC. and our project that we host for them we will call the “Cool Widget Project.”

We built a really neat widget of an application for Contoso to use and we are hosting it under a sub-domain of a domain we control. We needed to keep hosting it under this domain. However, our client, Contoso, wanted to hand out a link for their users to the new widget we built using an existing sub-domain from a domain they control. This was of course under their main domain, constosollc.com, and they already had existing users that came to the old version of the widget (built by another vendor) at widget.contosollc.com.

Our company was hosting the new widget app at widgetapp.appworks.net.

To further complicate things… our company appreciates security, likes fast DNS updates, and the app really benefits from using a CDN… so we are using Cloudflare to manage DNS for the appworks.net domain. Better yet, we also like the cloud, and this new widgetapp is actually an Azure Web App.

So there’s the situation…

We essentially need this to happen:

User visits widget.contosollc.com --> widgetapp.appworks.net.

Oh but this is Azure… so actually widgetapp.appworks.net is already a CNAME record and it actually points to widgetapp.azurewebsites.net. So it is this:

User visits widget.contosollc.com --> widgetapp.appworks.net --> widgetapp.azurewebsites.net.

To elaborate the above just a little bit more:

widget.contosollc.com (DNS from random provider) --> widgetapp.appworks.net (Cloudflare DNS, CNAME) --> widgetapp.azurewebsites.net (the DNS name provided by Azure for the application)

Simple right? Just get our client to create a CNAME record that points to widgetapp.appworks.net and move on with life… wrong…

If you run linux desktops (virtual, containerized, physical… or other?) then you may have come across the term VNC which is shorthand for “Virtual Network Computing” which is so ambiguous it means practically nothing. If you come from the windows world you are probably familiar with the term RDP which is shorthand for “Remote Desktop Protocol” which is vastly more descriptive.

VNC and RDP are both technologies used for used for interacting with an operating system from a distance, over the network, typically with the GUI. If you just need CLI access then most (all?) versions of Linux support SSH (secure shell) and Microsoft has remote powershell. But hitting up a GUI from afar is a more difficult affair, particularly on Linux.

In the monolithic world of Microsoft, RDP is dead simple and I will applaud Microsoft on a phenomenal application that has evolved well over the years, is simple, and honestly works fantastically well.

In the not-at-all monolithic world of linux however we are left with VNC… and there are many many VNC clients, most of which don’t work well in my experience and none-of-which are nearly as efficient as RDP… which means slow network links (like connecting to systems on the other side of the world) are a killer.

In my search for a good VNC server/client combo I finally stumbled across TigerVNC. I am delighted to say that it is stupid-simple to use and while perhaps not as fast as RDP, it does seem to perform better than the bulk of other VNC options out there. (more…)

I was recently introduced to Office 2016 and along with it Outlook 2016. I am techy, I like new stuff, I embrace change… this isn’t about me just being stuck in my ways. In short, the thematic approach that Microsoft has taken in its 2016 office products is what I call “ocular assault.” Did they just allow the hipsters in the graphics design department (who all secretly probably use “I-devices” anyhow and never actually touch Microsoft Office) to do whatever the heck they wanted without actually running it by someone… (anyone?!) with a background in ergonomics? Heck, how about just doing some studies with some people that use it?

I tried to use Outlook 2016 for a few hours yesterday… I felt like my eyes were going to bleed after about 10 minutes. The fonts are a mess, the spacing of elements is atrocious, everything just blends together into one big chaotic mess… My A.D.D. brain wanted to explode as it tried to focus on individual elements amidst the tumult of BLAH… ALL I WANT TO DO IS READ AND WRITE EMAILS AND KEEP THINGS ORGANIZED. Now, let me tell you what I really think…

Seriously now dear people of Redmond… a 2 minute Google (or a 30 minute Bing!) search reveals legions of users that all agree. You screwed up badly with office 2016. You only offer about 4 options for changing color schemes, none of which are any better, and there is no option for custom theming or plugins that I can find…. goodness.

The sad thing is that someone (or many someones) in some other department at Microsoft probably have done a heck of a great job of integrating new features that would make my life a lot easier as a heavy Outlook user. Alas, I will never find them and will keep trucking with Outlook 2010. Outlook 2010 isn’t beautiful by any stretch but here is the key… it’s an OFFICE application and is meant to be USABLE FIRST.

Please, Microsoft… fire your entire graphics design department and replace them with all of the people in cheap grey baggy suits and “power ties” that still think Adobe Flash is a “nifty innovation.” These fine people might not be flashy themselves… they might not like Photoshop… they may have never taken a picture of crumpled paper on the ground and called it art… they might still be using Blackberry’s (or perhaps their last upgrade was to a “Windows Phone” product)… ALL OF THIS MIGHT BE TRUE… but they never would have committed the atrocity that is the visual design of the latest office products. Bring back the visual design crew from Office 2010 and let them go “buck wild” and party likes it’s 1999 for the release of Office 2020.


I regularly use the Microsoft Windows sysprep tool to create template Windows Server 2012 R2 systems for wider deploy using cloning. Sysprep is used to modify a pre-configured Windows system and create an image or “template” so that you can create unique copies of it for faster system deployment. Failure to use syprep before cloning a windows machine can cause odd issues, especially in an enterprise environment with Active Directory.

Sysprep is a wonderful tool but it has a few quirks. One such quirk is that it routinely wipes out all of the mounted drive information other than the system drive. This means every time you create a clone from a sysprep’d system image you have to go through and re-assign drive letters. This is fine on a simple server with one extra data server. This is a hassle on a database server which might have five extra drives.

After dealing with this again recently I finally decided to do a google search and came across a simple solution: (more…)

I have been taking a free networking class from Stanford University’s online “open source” education platform. I have really been enjoying the first unit of the course as it has started filling in some gaps in the foundation of my understanding regarding networking, the internet, and TCP/IP. I highly recommend this to anyone that has been in IT for a while but has never taken a more “academic” approach to their work. Okay, so that is my plug for free education. You can check out more here if interested: https://lagunita.stanford.edu/

OSI 7-Layer Model, TCP/IP 4-Layer Model
One of the gaps in my understanding of networking has to do with the OSI 7-layer networking model and the more simplified TCP/IP 4-Layer model (which was developed by DARPA? and predates the OSI Model). I didn’t even realize there was anything other than the 7-Layer model until taking this class and furthermore didn’t realize that while the OSI model gets talked about and referenced more frequently, academia (I think… and perhaps the industry) is shifting to using the simpler 4-layer model for discussion, understanding, and development regarding networking. Please don’t take any of this as gospel truth, this is just my understanding based on coursework and reading. I also find it much easier to think about and reference the 4-layer model. If you are curious how the two compare, this technet article is an interesting read, Technet: TCP/IP Protocol Architecture. Okay, so for this article, I will be sticking with what I am most comfortable with at this point and will be talking about and referencing the 4-layer TCP/IP model and discussing how VPN works. (more…)