Page of Sebastian Gfeller

2016-08-28: Active Directory Lab via pywinrm

If you have grabbed me for a beer recently and heard me talk about what I'm interested in right now relating to work, I may have mentioned the whole Infrastructure-as-code thing.

However I was not and am still not ready competence-wise and emotionally to actually go down that road during 9 to 5, I wanted to learn a bit more of what a Microsoft-based infrastructure actually consists of, and one of the stumbling blocks I had at home was an Active Directory setup I could toy around with.

The goal was to have a two-VM setup which could be built from scratch given VirtualBox images created with Packer before (mostly inspired by entries on Matt Wrock’s blog).

Some tired late-night Googling later (did you notice Internet search is still much harder when you’re not that fluent in the terminology of the subject you’re searching for?), I stumbled upon Vagrant Based Windows Lab, which seemed to fit most of my requirements, except for the Vagrant part.

You can find the resulting Python script here: It ensures two machines, a domain controller and a management VM.

This should be enough to actually code through this MVA course and go from there.

I’m halfway up the mountain

But not today. There’s a long week with a lot of different challenges ahead.

2016-08-05: OK, PHP then

So my hosting provider did some manipulation that my old Python implementation of the site doesn’t work any more. In the meantime I quickly patched together something in (ghasp) PHP.

Maybe I’ll get the features back working soon, we’ll see. But at least the top news are back. As for Python, I’ll use it for my VM Aquarium.

2016-05-16: Spring

I enjoyed a rather cold spring walk through the Parc des Écrevisses yesterday

Had some holidays again, so here you go. I should rename this blog to “Grand-Saconnex and region along the seasons”, given the sparse other content I post.

The Commedia festival was quite fun this week.

2015-11-19: Writer’s block

One of the long autumn walks near Chambésy

I’m using the holidays to try to get excited again, and replenish my energy for this craft of mine.

Up your game, I know I will, even when failure is still a very real option.

2015-10-03: Finding lessons

It was a windy day at the park down by lake Geneva a day before the civil protection course

People doing civil protection in Geneva have to do a refresher exam on the radio handsets they use, and this year again I had to administer this training and exam.

Turns out the civil security office invested in an actual online test for this, which is less than optimal because it requires to sit down in front of a computer with internet connection to do the test, which is normally not the case when you’re doing an exercise.

So I decided to use a combination of HTML local storage (and a cache manifest for offline use) plus a results storage server in Spring Boot (my play horse for non-paid projects at the moment) hosted on Amazon EC2 to make my work easier. You can find the storage server and client HTML page here. Of course in the end I still wanted to send the test answers for each person to the online form. As it relies on a JavaScript/IFrame setup I decided it would be easiest to just automatically create a favelet for each person, make it the first bookmark and Apple-Alt-1 through the whole test.

If you want the actual test questions, drop me a line.

Well, at least that permitted me to learn something myself during the week, be it only how to correctly encode JavaScript favelet strings. Furthermore, I did a three-step-process:

  1. Monday: Write the client page with local storage, let them fill it out
  2. Tuesday-Wednesday: Write the results receiver service, all the while people are filling out more tests
  3. Friday night: Write the favelet generator

This was fueled by a healthy dose of confidence in my coding abilities and an unhealthy commitment to do more than the absolute minimum of work for the man, which, on the plus side avoided a lot of boredom, and on the negative side stole me another week of non-geekery.

Generally I would like to do less of those sprints, but I found out that when something annoys me, actually finding a way to automate it away gives me some peace of mind afterwards, even when it would be easier to just focus on getting the peace of mind without this overinvestment.

Anyway, I’ll enjoy my peace now.