comment 0

Keep your Docker images up-to-date with a script

Every now and then I want to download the latest images for my Docker containers. Instead of going through every image (which gets old really fast), I came up with a simple shell command: This will list your current images and pull the latest for each. All you have to do next is remove the outdated containers and recreate them based on the new images.

comment 0

Run CrashPlan in a Docker container on a QNAP TS-x53 Pro

Until this week, I had been running CrashPlan on my QNAP TS-253 Pro as a standard QPKG. This deployment scenario is unfortunately not supported by Code42, and with the most recent update (4.5.0) it just plain stopped working, as it needs a newer version of some OS component than the one present on the QNAP. After researching some scenarios and discussing with a friend who was in the same situation, we decided to try the Docker container support in QTS…

comment 0

Weird bug on WinRT land #1

I was looking today at a bug which was affecting the Plex Windows 8 app (WinRT), which caused the tab order to be messed up globally in the app. Eventually I narrowed it down to a Dispatcher.AcceleratorKeyActivated event handler that looked a bit like this: I will save you the details, but the thing causing the problem here is the path of execution where args.Handled gets set to false. In that case, if you don’t leave Handled alone, you incur…

comment 0

Using Retrofit to control the Spark Core

As I briefly mentioned on my previous post, I’m building my first Android app to use the Spark Core as a Wake-on-LAN relay inside my network. I started out using DefaultHttpClient but quickly recently came across Retrofit. I have to say I’m very impressed with the API, its flexibility and ease-of-use. I was able to quickly prototype the following interface, which allows me to flash an arbitrary firmware, invoke methods and retrieve variables very easily: If you’re trying to build…

comment 1

A Wake-on-LAN implementation that works from everywhere

Every now and then I need to wake my machine up while I’m away from home, either to quickly remote desktop into it, or to get access to my Plex library on the go without needing to leave the computer on all the time. Unfortunately, quite a few routers block magic packets coming from the WAN altogether, without allowing you to disable that behavior. I decided this would be a great opportunity for a small first IoT project, where the…

comment 0

New challenge coming up

I have accepted a new challenge at Plex (go check them out if you don’t know them, it’s a really cool product, and a killer app for many passionate users). Starting in December, I will completely change the way I work – 100% remotely, collaborating in real-time with many talented developers, as an engineer on the Windows 8 and Windows Phone 8 platforms. Really looking forward to the challenge!  

comment 0

Integrating GitExtensions with TeamCity

Recently I came up with the idea of integrating the build information coming for each commit from TeamCity directly into GitExtensions (our GUI front end of choice for Git). I believe it should prove very practical when you need to check whether a colleagues’ branch is safe to merge with, or for a gatekeeper to know he can merge a feature branch into the origin repository. It has the added benefit of centralizing all the required information, so you can…

comment 0

Typed Factories a la Castle Windsor for Unity

I recently finished an implementation of the equivalent of Castle Windsor’s Typed Factories facility, for Unity 2. I decided on the creative name of Unity.TypedFactories :-). As far as I know, there isn’t anything like it out there for Unity, and since I didn’t feel like creating and testing dozens of small factories, I decided to create a simple implementation of Typed Factories. All you need is to declare the factory’s interface: And register it with Unity, through my library’s…

comments 2

Keeping code formatted the easy way

If you’re like me, you prefer to have your code tidy, and being a lazy guy, you have defined a ReSharper Code Cleanup template. The problem however, is that you might forget to run the Code Cleanup command every time you change the file. So I decided to go ahead and automate that by building a Visual Studio extension which will run the Silent Code Cleanup command every time a file in a solution is saved. The profile to use…

comment 0

An Automatic Factory for the Unity Container (with respective NuGet package :-) )

UPDATE: I recently created an improved version of this idea, in which you are allowed to specify a factory interface, and my framework will automatically tell Unity how to generate an implementation of that factory interface. In the middle of the last sprint of the software project we’re just starting, we had the need for some object factories. Out of the sense of urgency/lack of immediate solutions, we started writing them by hand. I knew we wouldn’t go far down…