Steam: Fix Software install on every Startup

steam Comments

While enjoying first playthrough of Borderlands 2, I encountered an annoyance. Every time I started the game, Steam tried a first-time setup by installing the Visual C++ 2010 Redistributable Package (vcredist). Additionally it also required me to confirm the install process every time, due to Windows UAC. I encountered similar annoyances a couple of weeks later when playing Dishonored.

Some research revealed that this is a very common issue with Steam games, especially older(ish) ones. For some reason the required program installations are not recognised which leads to this installation dialogue before each game start.

League of Legends Steam properties

I did some more digging and found out, that the source often times lies in a missing Windows Registry key. Therefore I created a Github Gist which contains all registry entries I could find: https://gist.github.com/m3adow/721947cf076a0eec5bc2b194e16853d9 Here’s a short instruction how to use the Registry Gist:

  1. Get the Steam ID of the game which bugs you with the installation on every start. The easiest ways are by checking the desktop shortcut. Right-Click it, choose “Properties” and note down the number in the URL entry after steam://rungameid/. In the picture below that would be 20590.
    League of Legends Steam properties
  2. Copy the Code from my Gist into a new text file. Save the text file with a .reg file extension, steamfix.reg for example.
  3. Change the {{ INSERTYOURAPPIDHERE }} part to the Steam ID of your game and save the file. In my example the replacement would result in [HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Valve\Steam\Apps\20590].
  4. Double click the file and confirm you really want to apply these changes.

BAM! You’re done. The installation of programs at each start of the game should be history.
If this is not the case please add a comment containing the game, its Steam ID and the software it tries to install every time, so others or I are able to invest more research into it.

Extract ICS from Google Calendars

Google, Owncloud Comments

I wanted to import the Openshift.tv Google Calendar to my Owncloud calendar app. The URL looks like this:


A simple import in Ownclouds calendar app didn’t work, I figured I needed to get either an ICS or ICAL file, but couldn’t find any easy way. No button on the website, no knowledge base entries either.
By chance, I found a thread in Googles support forum which describes a way how to extract the ICS from a Google calendar:

  1. Go to the settings for the Other Calendar, and note down the Public URL to this calendar, for example: https://calendar.google.com/calendar/embed?src=en-gb.christian%23holiday%40group.v.calendar.google.com&ctz=Europe%2FParis

  2. Now take the part after ‘src=’ up to and including calendar.google.com so in this case our subscribed calendar ID is en-gb.christian%23holiday%40group.v.calendar.google.com

  3. Now replace the ********** here with that text: https://calendar.google.com/calendar/ical/**********/public/basic.ics to give the final feed URL which you can download directly in your browser: https://calendar.google.com/calendar/ical/en-gb.christian%23holiday%40group.v.calendar.google.com/public/basic.ics

For the Openshift.tv calendar, this lead to this ICAL URL: https://calendar.google.com/calendar/ical/redhatstreaming@gmail.com/public/basic.ics

Finding Pump Express compatible chargers

Android Comments

Mediatek Pump Express

A friend of mine recently asked me to find Pump Express compatible chargers. I never heard that term, so I needed to research it. Apparently Pump Express is the fast charging solution of mid budget chip maker Mediatek. It’s the direct competitor to Quick Charge from Qualcomm or Oppos VOOC/OnePlus Dash Charge (they are using identical technology).
But in contrast to the formerly mentioned competing technologies where you can easily find chargers on Amazon (Quick Charge/VOOC), finding Pump Express compatible chargers wasn’t as easy.

But that’s only because Mediatek did their charging technology the right way. To quote from Mediateks Pump Express Marketing Site:

The technology is compatible with the international standard of ‘USB PD 3.0 programmable power supplies’, allowing standard USB PD 3.0 fast chargers to boost Pump Express 4.0-enabled smartphones.

So instead of relying on a proprietary technique, they are utilizing USB Power Delivery. Therefore any USB PD 3.0 compatible charger should be able to “pump” the battery of your smartphone. I did some searches on Amazon.com, Amazon.co.uk and Amazon.de so all of the less tech savy people can choose a device of their liking without the need of delving deeper. ;-)

(Image source: Mediatek)

Openshift: Change Pull Secret

Openshift Comments

Warning: This procedure will lead to Node drains, node restarts and - as a result pod restarts! Prepare accordingly!

To change the pull secret of an Openshift cluster (e.g. because you switched Red Hat accounts), save your new pull secret you downloaded from cloud.openshift.com in a file, lets call it my-pull.secret. Then execute this oc command:

oc set data secret/pull-secret -n openshift-config \

Of course you’ll need the proper permissions, I assume it’s Cluster Admin, but I didn’t test the exact permission requirements.

Openshift: Remove Zombie machines

Openshift, Kubernetes Comments

When an Openshift MachineSet was created with a faulty configuration, Machines created from it may be undeletable by the Controller although the Machines are not existing at all. The status of the Machines will then stay in the “Deleting” state.

$ oc get machine -n openshift-machine-api
NAME                              PHASE      TYPE              REGION       ZONE   AGE
m3adow-infra-westeurope1-5asrt    Deleting                                         3d2h
m3adow-infra-westeurope1-ioq4z    Running    Standard_D2s_v3   westeurope   1      3d

To manually remove the Machine from the API, remove its finalizers via patch:

oc patch machine -n openshift-machine-api --type=merge -p '{"metadata":{"finalizers":null}}' m3adow-infra-westeurope1-5asrt

This will instantly remove it.