Sunday, April 28, 2019

Dockerizing nginx using jwilder/dockerize

Today, most technology stacks are really well suited to be dockerized (e.g. spring boot, cypress.io, .NET core to name a few).

However, still some lack good support for the usual 12x factor app guidelines like

One such example is nginx. It is configured using conf.d-dropins, by default starts in background and does not log to stdout. 

But using Jason Wilder's dockerize tool written in golang it's been a quick breeze to make nginx into a docker-friendly reverse proxy dynamically configured to proxy to this very blog.

Jason's example became a bit dated since nginx is still moving fast. So i updated it for nginx 1.16. You can find the code at mkoertgen/hello.dockerize. Enjoy!

Wednesday, April 17, 2019

Fixing the #Teams Addin Installation in #Outlook

TL;DR gist: Microsoft Teams Outlook AddIn Hacks

In projects inclined to the Microsoft ecosystem, Teams is probably the best collaboration option, especially if your team members are dislocated.

Probably because using different Office 365 accounts i had a hard time getting the Teams-Addin to work with Outlook. This is a know problem as you can find numerous articles on the web from people asking for help about this issue. Microsoft is working to enhance the Teams / Outlook experience.

One especially helpful article was https://realtimeuc.com/2017/08/missing-teams-outlook-add-in/ by Michael LaMontagne (@RealTimeUC). Michael was the only one trying to dig deeper into the nitty-gritty details of COM-registration between Outlook and the Teams .NET application, deployed using Squirrel.Windows (as most Electron-based desktop-apps on Windows, e.g. Slack etc.).

He finally got the Teams-AddIn working by duplicating registry keys from a working machine.

However, after reviewing the Teams & Teams Meeting AddIn startup behavior, it's even simpler.

On installation, the Microsoft Teams application always COM-registers the Team-Addin for Outlook. However, if not enabled for your Outlook/Office365 subscription, it deletes a few registry keys on startup, so Outlook simply won't load it on startup.

So here is how to hack the Teams Meeting Button into Outlook:

1. Start Teams (deletes registry keys!)
2. Add registry keys (see below)
3. Start Outlook

Unfortunately, you will have repeat this everytime you restart Teams.

Hopefully this helps someone going down the same road!

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Outlook\Resiliency\DoNotDisableAddinList]
"TeamsAddin.Connect"=dword:00000001

[HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Outlook\Resiliency\DoNotDisableAddinList]
"TeamsAddin.Connect"=dword:00000001

[HKEY_CURRENT_USER\Software\Microsoft\Office\Outlook\Addins\TeamsAddin.Connect]
"Description"="Microsoft Teams Meeting Add-in for Microsoft Office"
"FriendlyName"="Microsoft Teams Meeting Add-in for Microsoft Office"
"LoadBehavior"=dword:00000003

Friday, April 8, 2016

What have these in common






Labor Unions are obsolete:
Reinventing Orgnaizations: Amber+Orange Organizations (process driven)

--> All of them speak of how hierarchical organizations try to manage codependent environments, i.e. by introducing another process bridging the silos.

And all of them make clear that this cannot work.


Monday, July 6, 2015

Get involved in Stack Exchange

StackExchange has become one of the most popular Q&A platforms. Having started with StackOverflow there are now many sites to explore and participate in.
In summer 2010, a staging area called Area 51 was launched where you can suggest new sites. Once there is enough appreciation by the community a beta is launched. A few examples currently in beta i especially like are e.g. Open Source, Buddhism and CodeReview.

Sunday, May 3, 2015

Practicing Oracle12c migration made simple

My professional experience with Oracle is that there is no "5 minute introduction tutorial". That means you need to be serious about getting started with Oracle (or just try out a new feature) because things won't get smooth until you pass the entry barrier of installing and configuring Oracle.
Sadly, this experience results in
  1. Developers that are used to more lightweight persistence layers just...don't get started with Oracle ("Meh, let´s try MongoDb or Elasticsearch instead")
  2. Database Administrators that would benefit from keeping up with the latest features...just skip it because it's too cumbersome to get an isolated playground Oracle DB up and running
What can we do to lower this entry barrier? Vagrant to the rescue! Over the past weeks i contributed to the GitHub repository wkoertgen/train.oracle12.migration whichs aims to alleviate most of the nastyness of setting up Oracle. It is also a great resource on installation and configuration.

hello.nVLC: A minimal WPF Media Player


A few days ago, i put hello.nVLC on GitHub. This is a minimal WPF media player application comparing an MVVM media player implementation for Windows Media Player and VLC using

  • nVLC, a great managed wrapper for VLC by Roman Ginzburg, 
  • VLC.Native, a NuGet package containing the native VLC dependencies and
  • FontAwesome.Sharp, our WPF wrapper for using awesome icons.



Wednesday, April 29, 2015

Vagrant: Optimizing virtual Ubuntu/Debian boxes

A while ago, we used hilverd/vagrant-ubuntu-oracle-xe to alleviate the testing bottleneck, i.e. too many developers on too few dedicated testing environments. Since then, i am a big Vagrant fan as this really boosted up our testing feedback cycle time.

However, even oracle-xe is anything but a lightweight installation, so minimizing your base box is a good thing to do.

There are quite a few resources on how to optimize virtual boxes for vagrant. I picked up some of these and documented what worked well in this gist mkoertgen/vagrant_export_vbox_vm_basebox.md. Enjoy!