Mister Goodcat

Peter's home of all things life

Thursday, 4/28/2016 9:00 AM
by Peter Kuhn
0 Comments

Qualitätsprodukt

Thursday, 4/28/2016 9:00 AM by Peter Kuhn | 0 Comments

In meinem naiven Wurm-Dasein herrscht ja immer noch die Vorstellung, dass man für mehr Geld mehr Qualität bekommt, dass man besser fährt, wenn man sich fürs Markenprodukt entscheidet statt den No-Name-Nachbau. Deshalb griff ich, als mein altes Gerät von D-Link letzten Herbst seinen Geist aushauchte, zielstrebig zum Rolls Royce der Router, einer FRITZ!Box von AVM. Vor meinem geistigen Ohr hörte ich schon die neidischen "Aaaah" und "Ohhh" der Nachbarn, wenn ich den blau-gelben Karton protzig ganz oben auf den Altpapier-Stapel zur Abholung legen würde, und natürlich versprach ich mir neben einem neuen Status-Symbol auch eine deutliche Verbesserung zu den nervigen Zicken, für die das Vorgängerprodukt in unserem Haushalt inzwischen berüchtigt war. More...

Tuesday, 4/26/2016 11:45 AM
by Peter Kuhn
0 Comments

Liberating my blog :)

Tuesday, 4/26/2016 11:45 AM by Peter Kuhn | 0 Comments

Mit so einer Blog-Software aus der Konservendose verhält es sich ja wie mit der Heizungsanlage im Keller: solange sie im Hintergrund werkelt und ihre Arbeit verrichtet, verschwendet niemand auch nur einen Gedanken daran. Aber wehe, das Ding macht Zicken: dann muss schnell gehandelt werden, auch wenn man leider überhaupt keine Kenntnisse der Funktionsweise und potenziellen Probleme besitzt... More...

Sunday, 4/12/2015 11:39 PM
by Peter Kuhn
0 Comments

Vereinheitlichung von Businesslogik durch serverseitiges JavaScript

Sunday, 4/12/2015 11:39 PM by Peter Kuhn | 0 Comments

Prolog

Beim Stichwort "serverseitiges JavaScript" denkt vermutlich jeder zunächst an Node.js (oder io.js). Allerdings beschäftigt sich dieser Artikel mit der Ausführung von JavaScript in C#, also im Kontext einer .NET-Anwendung. Tatsächlich müsste es sich dabei nicht einmal unbedingt um eine Serveranwendung handeln, die Ideen sind auch problemlos auf Rich Clients übertragbar. Die Motivation entstand aber unmittelbar aus den Anforderungen einer verteilten (Web-)Anwendung heraus (s.u.). More...

Wednesday, 9/17/2014 8:00 AM
by Peter Kuhn
2 Comments

Just Married, and a Windows Phone Rant

Wednesday, 9/17/2014 8:00 AM by Peter Kuhn | 2 Comments

As you may have noticed, updates on my blog were kind of rare recently. The reason for this is my (now) beloved wife that I married just two weeks ago :). The weeks before the wedding were somewhat action-packed, with dozens of details to prepare and arrange. All of this took away most of my free time, but it was very much worth it, as we truly had the most wonderful day of our lifes. And after the wedding, this is were we spent our time:

SantSalvador

This basically was the view from our room, about 500 meters above sea level, in an old monastery that's now turned into a spartanic but beautiful, small hotel (Sant Salvador). Staying in a 600 years old room with bare walls, no TV or telephone, kilometer after kilometer of serpentine road away from the next town is not exactly what you'd expect from an IT guy's honeymoon, but… I loved it :). I can only recommend that hotel, its most delicious food and the extremely friendly staff, especially if you want to get away from the busy days and enjoy some quiet.

Anyway, because I feel the need I have to give this post a bit of a technical touch, let's talk about Windows Phone for a moment. More...

Wednesday, 7/23/2014 10:00 PM
by Peter Kuhn
1 Comments

A Semantic Version Provider

Wednesday, 7/23/2014 10:00 PM by Peter Kuhn | 1 Comments

I did some thinking recently on how team collaboration with different versioning strategies of components should look like, ideally, to cause as little friction as possible. Particularly, the use of technologies like NuGet to distribute components, and ways to integrate this with continuous builds, made it necessary to re-consider some details I had taken as a given before.

During a proof-of-concept phase for some workflow ideas I came to the conclusion that it would be necessary to have some sort of service that can provide version numbers on a "global" level (e.g. accessible to everyone, not only to your build system, but also individual developers). Naturally, I wanted it to follow a semantic versioning approach, something I've grown a fan of during the last years.

What started as a quick implementation of a sample service has now turned into a complete library for semantic version generation that can be used in arbitrary .NET projects. It's fully backed by unit and integration tests and should be production-ready (your mileage may vary). You can find it on GitHub. The repository also contains a Web API wrapper that exposes its features as a web service, with support for arbitrary numbers of projects, components and the like to version, through configuration.

Monday, 7/14/2014 1:00 PM
by Peter Kuhn
0 Comments

Dependency Injection: das große Bild

Monday, 7/14/2014 1:00 PM by Peter Kuhn | 0 Comments

Beim Thema Dependency Injection kann man leicht mal den Überblick verlieren, wenn man sich in größeren Projekten bewegt. Dabei meine ich diesmal nicht unbedingt die Abhängigkeiten selbst, sondern die Zuständigkeiten dafür, wer diese eigentlich verwaltet. In größeren Solutions existieren verschiedenste Projekte oft nebeneinander, von Webanwendungen über REST-APIs bis hin zu Clients, und alle scheinen unterschiedliche Mechanismen zu verwenden. Aber es gibt auch Lichtblicke. More...

Tuesday, 7/1/2014 8:00 AM
by Peter Kuhn
0 Comments

My focus going forward has shifted

Tuesday, 7/1/2014 8:00 AM by Peter Kuhn | 0 Comments

As of today, I am no longer a Microsoft MVP for Windows Phone Development. This was expected. As you have probably noticed, most of my Windows Phone related activities came to a complete halt in early 2014, and some other coincidentally accompanying events, like the shutdown of Microsoft Press Germany, additionally led to some of my other last year's activities never being recognized publicly.

I want to take the chance and assure everyone that my inactivity has nothing to do with the Windows Phone platform per se. While I disagreed with some details of its recent evolvement, and even frowned upon decisions that have been made, as a developer I generally still see Windows Phone as the superior platform compared to any other competitor on the market today.

Then why the change? First of all, some personal circumstances required me to set priorities, and cutting back on my community activities was the most logical thing to do at the time. But furthermore, as the title of this post (rings a bell?) implies, my personal interest and focus has changed since I started working with Windows Phone in 2010. Again this was something I had expected at some point. My developer life in the last two decades or so always revolved around pushing technologies that I enjoy for some time, until I sense it is time to move on and find something new. Microsoft's technologies, although not exclusively, always were a huge part of that cycle. When I learned C# in 2001, I started evangelizing it immediately. Once I realized the power of WPF, I spent hours after hours teaching other devs about it whenever possible. At some point, Silverlight was the most powerful technology at hand to build business apps, and I put an enormous amount of energy into pushing it in the community. And, finally, I jumped onto Windows Phone very early and, deeply convinced of its superiority, turned into the strongest advocate for it quickly.

Today, almost four years later, I feel the urge to move on. I have no idea where I'm headed for. The above list may give the impression I've only worked with client-side technologies in the last years, which is far from the truth. And because Windows 8 still has not "clicked" for me, and HTML5 still simply seems not ready for me yet, my future focus might as well be some completely unrelated, purely server-side story. I honestly don't know yet. All I know is that it's going to be awesome – it always has been :).

Thanks everybody, both in the community and at Microsoft for the past years, and all the best to Windows Phone and every Windows Phone developer out there.

Monday, 6/23/2014 9:00 AM
by Peter Kuhn
0 Comments

JavaScript: Kapselung und Vererbung (Teil 3)

Monday, 6/23/2014 9:00 AM by Peter Kuhn | 0 Comments

Die Art, wie ich in Teil 2 die Vererbungshierarchie über die Prototypenkette hergestellt habe, hat eine interessante Diskussion ausgelöst, da es dazu durchaus unterschiedliche Meinungen gibt. Es lohnt sich also, einen genaueren Blick auf die verschiedenen Möglichkeiten zu werfen. More...

Friday, 6/20/2014 7:00 AM
by Peter Kuhn
0 Comments

JavaScript: Kapselung und Vererbung (Teil 2)

Friday, 6/20/2014 7:00 AM by Peter Kuhn | 0 Comments

Mit den Grundlagen aus dem ersten Teil des Artikels können wir nun einen Blick auf die Möglichkeiten der Vererbung mittels des Prototypen-Mechanismus in JavaScript werfen. Lange Zeit habe ich diesen "irgendwie" genutzt, ohne aber die Funktionsweise vollständig zu verstehen. Es hat sich gelohnt, das nachzuholen. More...

Thursday, 6/19/2014 7:00 PM
by Peter Kuhn
0 Comments

JavaScript: Kapselung und Vererbung (Teil 1)

Thursday, 6/19/2014 7:00 PM by Peter Kuhn | 0 Comments

Eines der bisher weitgehend unverstandenen Details an JavaScript für mich war das Thema Kapselung und Vererbung. Um den gravierendsten Problemen zu entgehen, vermied ich schon lange Zeit globale Variablen und Funktionen, verstand aber die dazu genutzten Techniken nie wirklich: mal definierte ich innere Funktionen in Konstruktoren, mal gab ich anonyme Objekte mit Funktionen per Closures zurück, mal schraubte ich an der ominösen Prototype-Property herum, bis das Ergebnis meinen Vorstellungen entsprach. Es musste dringend Klärung her, was ich da eigentlich jahrelang wirklich getan hatte. More...