Nearly 10 years ago, on the 30th December of 2009, I bought League of Legends on Steam. Back in this time, DOTA 2 wasn’t released yet and there was a Digital Collectors Edition for League available on Steam. Therefore, I’m one of the very few users who are playing League of Legends via Steam. But while the League of Legends client was further developed, the game version in Steam did not. Luckily, the small Steam League of Legends community found workarounds, so the tracking of ingame time still works.
A couple of months ago, Riot Games, the company behind League of Legends did a major overhaul of the client, renaming the game launcher in the process. This, in connection with the workaround install of League of Legends in Steam lead to an popup message every time the game was started via Steam shortcut:

League of Legends will now update your desktop shortcuts. Your operating system may ask for Administrator permissions.

While I’m not playing League frequently anymore, this popup still annoyed me. As other players also encountered this problem and simply renaming the executables didn’t work, I did some tinkering and incidentally found a solution which probably enables the easy usage of custom executables for every Steam game.

In Part I of this series we examined the two block styles
of YAML, literal and folded, as well as the three block chomping methods, strip,
clip and keep. In this post we want to investigate how these styles and methods
interact with different Ansible use cases.

Multi line strings in Modules

The classic usage of a multi line string in Ansible is in the command or shell
module. This example is directly taken from the Ansible docs:

I had a strange problem with variables spanning multiple lines in Ansible. During
the process of debugging it, I learned a bit about multi line strings which are
called “blocks” in the official YAML specification. In this blog post
we’ll examine the different YAML block styles and block chomping methods.
In Part II we will then learn the use cases and quirks of each style when
used in Ansible.

We’ll run this base playbook for each style via ansible-playbook -v playbook.yml
and will only replace the variable with the corresponding style.

----hosts:localhostconnection:localvars:my_pattern:|With his own sword,Which he did wave against my throat, I have ta’enHis head from him.tasks:-debug:var:my_pattern

Styles

There are two basic styles of blocks in YAML, literal and folded. Both have
different advantages and disadvantages, especially when used in Ansible.

Literal

According to the YAML specification literal is “is the simplest, most
restricted, and most readable scalar style”. It’s denoted by the pipe, |:

my_pattern:|With his own sword,Which he did wave against my throat, I have ta’enHis head from him.

Output:

ok: [localhost] => {
"my_pattern": "With his own sword,\nWhich he did wave against my throat, I have ta’en\nHis head from him.\n"
}

I recently encountered a problem with my Horde installation. Due to an
app misconfiguration, my wife created hundreds of calendar entries for the same
event [Edit 2018-04-17: It turned out, she also created thousand of duplicate tasks. Yay!]. It is tedious to delete every event by hand, so I wanted to drop the entries
from the database. As this is something other people might profit from, I’m
documenting it. Of course part of this procedure can be done with other MySQL
databases as well.

Get listing of double entries

I wanted to see all duplicate entries first, to make safe I’m not deleting important
stuff. This can be done with a SELECT COUNT command:

I’ve been an avid gamer for ages. I’ve also been using two monitors for ages. And I’ve had my fair share of problems with this combination already.

Some time ago I broke my arm. Therefore my gaming life was handicapped severely and I was limited to mouse only games. No big deal, there are still a lot of games waiting to be played in my Steam and GoG libraries. As I’m German, I of course decided to start with some economy simulations. Anno 1404 and Tropico 4 were my first choice of games.

Sadly both games had some kind of problem with my second monitor. Tropico 4 didn’t capture my cursor, leading to issues with scrolling via cursor movement to the right edge of the screen. As the cursor moved to the second screen then, a click would lead to a minimization of the game, which was pretty annoying after some time.