Homebrew Caskroom migration

I’m using Homebrew on my Macbook. It is a great addition to installing software when you are used to package managers from the Linux world.

There’s also an extension called Homebrew Cask which allows you to manage MacOS applications, such as Adium or Gimp. This saves you the hassle of manually downloading the package/dmg files and automates the installation/updates.

Lately when doing an update again, there was a notice about a changed Caskroom location.

michi@mbmif ~ $ brew cask list
Warning: The default Caskroom location has moved to /usr/local/Caskroom.
Please migrate your Casks to the new location and delete /opt/homebrew-cask/Caskroom,
or if you would like to keep your Caskroom at /opt/homebrew-cask/Caskroom, add the
following to your HOMEBREW_CASK_OPTS:
For more details on each of those options, see https://github.com/caskroom/homebrew-cask/issues/21913.
apache-directory-studio  filezilla                gimp                     macvim                   vlc                      xquartz
bitbar                   firefox                  java7                    mysqlworkbench           wireshark

Ok, what would I do now? “Migration” could just mean moving the directories. But wait, the installed applications could be symlinked into ~/Applications instead of being moved (#13966).

Looking into the mentioned github issue #21913 shed some light on how to fix it. Moving the directories will make “brew cask list” shut up about the changed location, but later uninstalls will fail due to dangling symlinks. The solution is simple – force an installation again after moving the installed casks.

michi@mbmif ~ $ mv /opt/homebrew-cask/Caskroom /usr/local
michi@mbmif ~ $ brew cask list
apache-directory-studio  filezilla                gimp                     macvim                   vlc                      xquartz
bitbar                   firefox                  java7                    mysqlworkbench           wireshark

michi@mbmif ~ $ for cask in $(brew cask list); do brew cask install $cask --force; done

Done 🙂

LEGO Creator Expert: Brick Bank 10251 Review

IMG_2698A new year and a new LEGO creator modular building – this time a corner model providing a brick bank and a small laundry. I got this model 10251 two weeks ago while visiting the LEGO store in Nuremberg but now found the time and mood to go into building.

The set contains 2380 pieces, four build steps with 267 steps inside the instruction manual. Compared to older modular buildings it isn’t that hard to build and some building techniques have been changed. This one goes more into building bigger spots and putting it together.

When it starts off on the ground plate, the first cool thing you’ll recognise is the lockable vault including the removable ceiling. Building further the vault is still open but once the atrium foyer is finished you’ll find out about another cool surprise – the washing machines provide a hidden chest for actually washing the money and putting them directly into the vault. That’s something you cannot really tell from the package images.

The other part of this building step adds the pull-able cashbox for the transaction counter adding yet another lovely detail to the scene. When it comes to the ceiling there’s a hidden entry for thieves coming from the roof. You may actually change one of the mini figures into a thief outfit and start your own play story.

The first floor seems empty as there is only one room for the bosses office and a spot for the secretary. Though the build is fun and provides lots of details like the coffee vendor or building the fireplace attached to the chimney for the thief entering the bank. The typewriter totally fits my kind of humour.

The rooftop is not much in height but offers many details for making this model good. It also adds a chandelier and a small winch for pulling heavy stuff from the ground. The rounded roof windows use a common building technique already known from the pets store.

There are no stickers – everything is printed, even the window glasses. There could probably be more than 5 minifigures – the laundry seems pretty empty without employees. There are also not that much repetitive build steps except for one, but the look really compensates for that afterwards. What I really missed was building letters/numbers from other bricks (like “AL’S” and “POOL” from the detective’s office).

Sorting the bricks takes quite a while, so I guess this model was like 5-6 hours for building and sorting. Being a corner building it perfectly fits with the detective’s office from last year 🙂


Windows 10 update changes partition table and breaks GRUB

It’s holiday season and so I got a hold of playing some games longly missed on Windows. Booting Windows 10 certainly unveiled several pending updates (Antivirus, Geforce, Windows updates). Since Windows 10 does not explicitly tell about big updates anymore I just did let it reboot several times, waiting for manual grub selection then.

Though this time the update essentially broke GRUB. “error: unknown filesystem. Entering rescue mode…” is certainly not what I expect from a Windows 10 update. After googling a bit I found this thread including an explanation as well as a solution for the problem: The Windows 10 update adds yet another hidden partition, but essentially rewrites the partition table which then breaks GRUB finding the correct /boot partition containing grub2/. Congrats Microsoft!

So, Windows 10 “Upgrade to Windows 10 Home, version 1511, 10586” breaks grub2 because boot block grub2 still thinks it should boot grub2 from (hd0,msdos2) when it now needs to boot from (hd0,msdos3).

The solution is simple but nasty without bash-completion and English keyboard layout on a German keyboard.

First find the boot partition containing the grub2/ directory.windows10_upgrade_dec2015_breaks_grub

grub rescue> ls (hd0,msdos1)/grub2
error: unknown filesystem.
grub rescue> ls (hd0,msdos2)/grub2
error: unknown filesystem.
grub rescue> ls (hd0,msdos3)/grub2
./ ../ themes/ device.map i386-pc/ locale/ fonts/ grubenv grub.cfg

Next set the changed boot prefix and root attributes:

grub rescue> set prefix=(hd0,msdos3)/grub2
grub rescue> set root=(hd0,msdos3)
grub rescue> set
grub rescue> insmod normal
grub rescue> normal

Change from “rescue” to “normal” GRUB mode, and quickly select Fedora from the boot menu. In order to fix GRUB log into Fedora, open a terminal and become root. Now generate a new grub configuration.

sudo -i
grub2-mkconfig -o /boot/grub2/grub.cfg
grub2-install /dev/sda

Reboot and the GRUB menu should be fixed. Now safely choose to continue the Windows 10 upgrade.

LEGO Dimensions

thumb_IMG_1760_1024I’ve played and enjoyed each LEGO game from Telltale (except the Wii-U exclusive City Undercover) starting with LEGO Star Wars and most recently, LEGO Jurassic World.

When I heard about LEGO Dimensions coming up this year, I watched a couple of trailers getting an idea what to expect. Considering that #breaktherules is their slogan, that game supposed to be huge. When I read about level, team and fun packs to be bought in additional waves it felt a bit like a cash printing machine for LEGO instead of a real game.

I’m fairly too much into LEGO to resist in pre-ordering this game, but only the starter pack for now. Furthermore Amazon granted a 15€ pre-order bonus when getting LEGO Jurassic World, so the 100€ starter pack wasn’t too expensive.

thumb_IMG_1761_1024Level packs range from 25€ to 30€ providing additional levels for: The Simpsons, Back to the Future, Portal, Dr. Who (Amazon exclusive available at 5.11.2015), Ghost Busters (available January 2016) and Midway Arcade (March 2016, never heard of that).

Team packs add more figures and vehicles and range at ~25€ each. Fun packs consist of one figure and one vehicle at the price of 15€.

There will be several waves where these packs are released over the next couple of months. According to Warner Bros they will support the game 3 years with updates too.

thumb_IMG_1764_1024Opening the starter pack box unveils the toy bad, the game disc and an additional box containing the bricks for the portal, three characters (Batman, Gandalf, Wyldstyle) and the bat mobile.

thumb_IMG_1766_1024Before starting the build I did start my PS4 and inserted the game disc. It then immediately started to download a 5 GB (!) update to 1.02 which fairly took over an hour even with VDSL50.

While that download lasted, I did build the three characters, the portal itself and well, then I was stuck – the bat mobile instructions are not available inside the printed build instructions. The reason for that is implicitly explained in-game: You may modify and upgrade vehicles and characters inside the game and it holds additional build instructions.

thumb_IMG_1773_1024The toy pad itself is a simple NFC reader attached to the PS4 via USB (cable is pretty long). While the figure stands are printed and reserved NFC tags for each character, the vehicles must be built and then written to the NFC tag. The game will tell you to do so – at first glance this happens when you’re building the bat mobile after completing the portal build.

The light bulbs are using different colours, sometimes blink for giving hints and the three areas can hold 7 characters or vehicles at the same time. At first it was not that clear how the toy pad would be involved in the game – ok, by putting the bat mobile on it it did appear in-game and could be used.

thumb_IMG_1776_1024When going further with the story you’ll experience 5 different purple keystones with different modes: colour puzzles, special character abilities to clear fire, melt ice, enlighten dark rooms, etc. You need to interact with the toy pad and put your characters on it – be it a defined order, or a specific area. Once you’ve completed the first story mode levels you should’ve learnt how to use them. Cool thing: The game tells you to physically attach each keystone to your portal once each level is finished.

thumb_IMG_1777_1024So far I’ve finished 4 of 5 keystones in the story levels and came across Gotham City, Wizard of Oz, Simpsons, Ninjago and Doctor Who. Still curious what else to see. The story itself has an evil boss, the usual suspects supporting him and you, the brave hero fighting your way against them. The level design and story somehow reminded me of Super Mario World, especially the yellow brick road in the Wizard of Oz 😉

If you are familiar with LEGO games you certainly want to achieve the 100% level. This is helped by buying the red bricks with collected studs which help detecting mini kits, gold bricks, 2x studs (no more 4,6,8,10 multipliers though) and a quest detector. The other ones are more or less funny additions.

The “nasty” thing about these red bricks – they are hidden in the adventure worlds. In order to access these adventure worlds you’ll need a character of each world. So you’ll end up buying additional level, team and fun packs. Clever, LEGO, very clever. Which in return means you cannot complete LEGO dimensions just by getting the starter pack.

Once you’ve completed the first levels you are allowed to use the lift to move up and access all adventure worlds – and there are quite a few. The main three figures allow you to access the DC Comics, LEGO Movie and The Lord Of the Rings adventure worlds instantly. The rest – well, first the story mode, then buy additional adventure world characters, collect red bricks, finish story mode free play and then work towards the 100%.

Conclusion: Apart from the money it will cost you, it is a definitive must buy. The gameplay is better (not so much different characters in the main story, if you don’t want to) and the toy pad integration really adds a new special feature to just sitting on the couch with the controller. Solve puzzles or just transform your character into the level and play with it. Typically you’ll find plenty of LEGO humour and sarcastic references 🙂 And yet, there’s offline LEGO to build!



Settlers 2 Gold on OSX

The Settlers 2 was the first game I bought, and it is still one of my all time favourites. No wonder I was looking getting it to work on OSX too. I know that there’s DOSBox for Mac, but dealing with graphical installers from GOG.com and so on, I was looking for an easier method making this work out of the box as OSX application.

I found this nifty howto and did these steps for a German version:

Get the game on GOG.com and download the installer.

Install and run WineBottler. Select “Advanced” and create a new custom prefix. Select the downloaded Settlers 2 exe file. Furthermore tick one of the directx dlls for Winetricks. Then save it somewhere.


WineBottler will then run the installer inside a Wine environment. Click through the installer but do not run the game in the end.


Once completed check the location on disk where the app was saved into. Right click on it and select “Show Package Content”.


Navigate to “Contents” – “Resources” – “wineprefix” – “drive_c” – “GOG Games” and select to copy “Settlers 2 Gold”. I’ve chosen “Downloads” and copied it over there.

finder_settlers_tree finder_downloads_copied_to

Optional: I’ve been using a small trainer from the 90ies to add 5k resources for long endless games against all enemies. Download the s2edi and extract the file called “s2edi.exe” to the main tree.

Now install Boxer and run it. Note: You can run any DOS game with Boxer, it’s more like Docker containers for separated DOS environments.


Now select “Import a new game” and drag&drop the “Settlers 2 Gold” folder into it. If the icon does not show up, select the goggame-1207658786.ico and drag&drop it again.


Boxer stores all DOS Games in the very same directory in your home directory from where you can start them.


Run “Settlers 2 Gold”. The prompt will allow you to run several programs – choose “S2.exe” for the main game, “s2edit.exe” being the map editor and “s2edi.exe” for modifying existing save games.


Launch “S2.exe” and enjoy an old time classic! 🙂



w+i+n+t+e+r and ALT 1-6 for speeding the game up

s+c for descriptions

space for yellow build helpers

LEGO WALL•E 21303 Review

I’ve read plenty of rumors about this build, even that the head would not stay put. Strangely enough, LEGO did not do any promotion for this lovely set coming out on 1st of September 2015. Although it does not matter – the LEGO store in Nuremberg is on the lunch route in town, so I just went there with a friend on Tuesday.

I was not the first to buy LEGO WALL•E 21303, and I guess it will be sold out pretty soon – shop.lego.com already lists it as bestseller. The model is rather tiny, but with 677 bricks I did not expect it to take that long to build. If you are fast builder sorting the bricks beforehand, you can watch the movie on bluray while building the model – fits perfectly fine.

The instruction booklet consists of a nice intro into both, the movie and the designer who was actually involved in the animation team at Pixar and built the model iteratively in his spare time over a decade. Then 178 build steps follow. Some steps are repetitive but overall they are short and the whole model is fun to build. Its origin is LEGO Ideas – chime in there and support future community built models! Many details from the model now in stores can be found in the original submitted LEGO idea.

One special thing – NO STICKERS. The logo is printed and looks perfectly fine. Thanks LEGO.

Conclusion – WALL•E is one of the cutest models I’ve ever built, and anyone who loves the movie will certainly love this model 🙂


Upgrade to Windows 10 on dual-boot systems

Upgrading Windows 10 on a dual-boot system is not that easy. After fetching KB3035583 and KB2952664 and reserving my upgrade copy on Windows 7 Professional x64 the setup still said “Something happened. We can’t tell if your PC is ready to continue installing Windows 10. Try restarting setup.”

The reason for this seems to be dual-boot installations only. First off, change the default boot entry to Windows.

windows7_mark_partition_as_activeAfterwards I did not want to override Grub with my Fedora 22 installation, but was looking into alternative solutions for error 800703ed. This tip about marking the C: partition as active partition did the trick – the Windows Update is now downloading Windows 10.





Getting ready for installing my Icinga 2 development environment 🙂

Change default boot entry in Grub2 on Fedora 22

Upgrading Windows 7 to 10 does not like dual-boot systems where Windows is not the default (likely due to automated reboots during upgrade). In order to fix this problem, we’ll need to change the boot order (or, the default entry).


# grep "submenu\|^\menuentry" /boot/grub2/grub.cfg | cut -d "'" -f2
Fedora (4.1.6-200.fc22.x86_64) 22 (Twenty Two)
Fedora (4.1.3-201.fc22.x86_64) 22 (Twenty Two)
Fedora (4.1.3-200.fc22.x86_64) 22 (Twenty Two)
Fedora, with Linux 0-rescue-46724b4128e8471db41e1e7efe9c8aeb
Windows 7 (loader) (on /dev/sda1)
Windows 7 (loader) (on /dev/sde1)

# grub2-editenv list
saved_entry=Fedora (4.1.6-200.fc22.x86_64) 22 (Twenty Two)

# grub2-set-default "Windows 7 (loader) (on /dev/sda1)"
# grub2-editenv list
saved_entry=Windows 7 (loader) (on /dev/sda1)

Adventures with Windows 10 Upgrade

Holiday season means calming down from daily work, being offline whilst enjoying family and friends in Austria. Some stuff I normally do as well after relaxing a bit – fix their hardware and software.

I’ve been digging into Windows 10 updates lately with Virtualbox, and decided to give it a go with the current rather old hardware. There’s a mix of Windows 7 and 8 home and professional installations around on HP, Lenovo and Acer notebooks. All of them remain slow, sometimes bloated with lots of unwanted software and startup injections.

At first glance, I had the pleasure to fix the HP Protect Tools Security Manager and their fingerprint “security” for USB sticks even. Some glitch prevented the user question asking for authorization so usb sticks remained unreadable. Other than that the HP Probook 450 G0 was not much to prepare to the Windows 10 Upgrade (the connection manager was already removed causing trouble with wifi connections and hibernation in the past).

The “get windows 10” application only let reserve the upgrade (and also fails in Virtualbox not detecting the hardware properly), and being tired of enforcing the updater with a script, I just used the media creation tool to create an ISO file. This is good for 2 reasons: First, you can just burn a recovery media and second, mount it inside the operating system and run the Windows 10 setup wizard.

windows10_infoThere’s two options you’ll get: Windows 7 Ultimate/Enterprise turns into Windows 10 Professional, while Windows 7/8 Home will be upgraded to the Windows 10 Home edition.
Note: You’ll need to open the link to the Media CreationTool on your Windows platform! Otherwise you’ll directly get the ISO download – which works in this case too, but the creation tool also allows you to just download the setup files and run the installer without iso creation.

Reading about Windows 10 being incompatible with HP Security Tools, and only some Windows 8.1 with latest BIOS update working I decided to remove this bloated software collection. Note: HP Security Tools have quite a lot of dependencies, you’ll need to uninstall them one by one from the system’s control panel before actually removing the security tools.
Furthermore I’ve upgraded all drivers using the HP SoftPaq Client manager – that way you’ll fetch all required updates automatically instead of downloading them one by one from the support website.

windows10_info_centerLenovo’s G585 worked pretty well with Windows 8.1 already, only had to remove the start menu addons after upgrading to Windows 10 as there’s a better implementation now being shipped natively again. Windows 10 also integrates a better notification system on the right side, and re-adds the native desktop after login.

windows10_updates_p2pOne thing next to the “send them all information” thingy you may opt-out right after install I really don’t like is the idea to use the client’s upstream bandwidth for sharing Windows updates. This becomes a pain fast with not-so-fast connections over here in Austria/Germany. Navigate to “Settings” – “Update & Security” and choose “Advanced Settings” with “Choose how updates are delivered”. Tick off “From more than one place” (more here).

The Acer Aspire 5250 upgrade process with a clean system is pretty much a pain: Clear.fi being a multimedia streaming suite slows down boot time and eats memory, AMD Quick Stream provides “quality of service” for end user’s internet connection (aka unwanted traffic shaping and connection losses) … apart from the usual suspects sitting in your autorun. Going in the hard way with HiJackThis, Spybot Search & Destroy, AdwCleaner and Anti-Malware. CCleaner does not necessarily help as registry fixes won’t be needed later on with Windows 10 – only a clean system is required before doing an upgrade. Analyzing the startup process was also required but I already removed the real bottlenecks before.

windows10_upgrade_setup_updateApart from cleaning up the software mess, Windows Update ran into “WindowsUpdate_800040040” which led to the Windows Update Troubleshooter. Luckily the Windows 10 setup does not care much, but proceeds to fetch its own updates. Although the first and second check for updates takes pretty much time (over 2 hours now), so get yourself something else to do in the meantime.

Driver updates were not necessary as Acer does not provide any recent drivers for the Aspire 5250, and Windows 10 obviously ships its own more recent versions for such hardware. Removing the “Acer Updater” application is therefore also safe, as it can be removed to autorun as well.

Windows 10 goes the app way even more – several applications such as media players or games are now external apps to pay for (or at least have in-app payments) unless you had them installed before. Luckily there are open source alternatives such as VLC as media player or 7zip for archives 🙂

windows10_start_task_managerSince Windows 10 runs smoothly and solves plenty of my “remote” problems (even a nicer task manager), it is safe to finally install Teamviewer 10 everywhere before leaving Austria again 😉

May the 4th be with you

11188245_951345114898038_3242923167258976802_nLEGO recently announced the “May the 4th be with you” campaign offering various reduced prices on LEGO Star Wars models and other exclusives (LEGO Star Wars film poster, Admiral Yularen mini figure, etc). Starting on the 2nd of may lasting one week guess who joined the LEGO store in Nuremberg on Saturday 🙂

While it’s tremendously hard to look at all the fine stuff being reduced by 10% it’s even harder to resist against buying all the bigger models – I personally prefer the bigger ones of the smaller play sets, I love to build LEGO, but I don’t play with it 😉 Being at the LEGO store also answers the questions when models won’t be produced anymore and go off stock. One of them clearly is the VW “Bully” being terminated later this year. “Star Wars”-wise rumors do tell that the Red-Five X-Wing Starfighter 10240, Ewok Village 10236 and the Death Star 10188 won’t survive 2015.

The original price of 420€ for the Death Star is a lot of money, given a discount of 10% and lots of VIP points collected from previous store visits, it was tough, but in the end LEGO won (again). It seems they’ve removed it from the online store in Germany (probably sold-out) but the international version is still available.

While I won’t play with it, I’m really in love with the scenes from the films in each “quarter” – certainly you’ll need to be a Star Wars fan to recognize all of them. Laser sword fight between Darth Vader and Luke Skywalker accompanied by the emperor, adjustable guns and the super laser, and even the jail scene with some 3d view (!) where princess Leia will be freed by Chewbacca, Han Solo and Luke Skywalker – directly jumping into the trash compactor.

Even a view onto the hidden rebels base, or vice versa, Alderan, brings the original film scenes to mind. This model really got many many details you won’t see on the box design or any reviews on the net, you need to build them and have the aha-effect 🙂

The build steps are repetitive only on the ground floors (building them in quarters) but then have their own lovely style and details. There’s an elevator in the middle connecting all floors and scenes together, which can be lowered by a cord, similar to a goods lift implemented in the Tie-Advanced parking lot.  There’s also the famous door with an open-close mechanism looking at another laser sword fight between Obi-wan Kenobi and Darth Vader. Before that you may adjust the scene for Obi-wan disabling the power plant (which actually hides the blue-transparent bricks simulating the power when pulling off the knobs).

Check the images from the build process below – 4 boxes, unpacked into 7 build sections and 192 build steps, it took me ~11 hours to build it on the weekend. This time on the couch again, it does not really fit on a small table. The instructions book is pretty big and connected with rings, bringing all the details onto each page. Some build steps must be done twice, but that’s not that many compared to the rest (e.g. two laser cannons). I would’ve replaced the Tie-Advanced with a small version of the millenium falcon but that probably did not fit into the model which already is rather complex to build.

Once you’ve finished it half way, you’ll just build and build and oversee the time 🙂


Logitech K800 wireless not working on dm-crypt passphrase

This bug did bite me in the past with Kernel 3.2 and Debian testing too, and I consider the Logitech wireless keyboard drivers in a similar tested fashion such as NVIDIA proprietary drivers – pretty much exotic and hard to maintain all the changes.

It’s not fun once you’ve chosen the grub entry and are prompted to enter your password for the encrypted LVM in order to boot your entire system – and nothing happens on the Logitech K800 wireless keyboard. But before it did work on selecting the correct grub entry.

Some googling for the error unveiled several threads providing insights and workaround fixes. This one told me that dracut is the root cause being responsible for loading the logitech kernel module before cryptsetup would prompt for the password. Which totally makes sense.

So how to convince dracut to load the logitech driver? It actually tries to do so already. So the initial workaround below did not work.


# vim /etc/dracut.conf

add_drivers+=" hid-logitech-dj "

# dracut -f

In a different manner, it came up that the kernel module had been renamed recently from “hid-logitech-dj” to “hid-logitech-hidpp”. Renaming something normally breaks all other dependencies, but looking at this fix – well, hardcoding everything somewhere in a shell script, oh my.

While waiting for an updated dracut, either patch the module-setup.sh – which might break on dracut package update again.


imagine ~ # yum install dracut
imagine ~ # cp /usr/lib/dracut/modules.d/90kernel-modules/module-setup.sh /usr/lib/dracut/modules.d/90kernel-modules/module-setup.sh.orig
imagine ~ # vim /usr/lib/dracut/modules.d/90kernel-modules/module-setup.sh
imagine ~ # diff -ur /usr/lib/dracut/modules.d/90kernel-modules/module-setup.sh.orig /usr/lib/dracut/modules.d/90kernel-modules/module-setup.sh
--- /usr/lib/dracut/modules.d/90kernel-modules/module-setup.sh.orig	2015-04-03 12:45:32.779223333 +0200
+++ /usr/lib/dracut/modules.d/90kernel-modules/module-setup.sh	2015-04-03 12:45:45.843129483 +0200
@@ -45,7 +45,7 @@
         instmods yenta_socket scsi_dh_rdac scsi_dh_emc \
             atkbd i8042 usbhid hid-apple hid-sunplus hid-cherry hid-logitech \
-            hid-logitech-dj hid-microsoft firewire-ohci \
+            hid-logitech-dj hid-logitech-hidpp hid-microsoft firewire-ohci \
             pcmcia usb_storage nvme hid-hyperv hv-vmbus \

Or fix the dracut configuration for loading the correct additional driver. Note: Only rebuild the image for 3.19.x – the renamed driver does not exist in 3.18.x and below. (I did boot the old kernel allowing me to drecrypt the system).


# vim /etc/dracut.conf

add_drivers+=" hid-logitech-hidpp "

# dracut -f /boot/initramfs-3.19.1-201.fc21.x86_64.img 3.19.1-201.fc21.x86_64

Fix pre tags not wrapping text in Divi WP theme

Using the Divi WordPress theme is pretty nice, but sometimes you’ve gotta deal with custom css and fixes. The pre tag uses the entire page width which looks pretty ugly with the menu on the right. Reading over here says that text wrap is not enabled by default.

Thanks Bernd providing me a fix for that!

Add the following to your Divi Theme Options as “Custom CSS” and save it.

pre {
   white-space: pre-wrap;

Resize encrypted LVM on Fedora 21

It’s not about resizing the actual logical volume’s partition, but the mapped /dev/dm-XX device mounted inside /etc/fstab as /home.

Failed attempts:

# lvextend -L100G /dev/luksvg/home

# resize2fs /dev/luksvg/home
resize2fs 1.42.11 (09-Jul-2014)
resize2fs: Das Gerät oder die Ressource ist belegt beim Versuch, /dev/luksvg/home zu öffnen
Es kann kein gültiger Dateisystem-Superblock gefunden werden.

# lvresize --resizefs --size 100G /dev/luksvg/home 
fsck von util-linux 2.25.2
  Size of logical volume luksvg/home unchanged from 100,00 GiB (25600 extents).
  Logical volume home successfully resized
fsadm: Filesystem "crypto_LUKS" on device "/dev/mapper/luksvg-home" is not supported by this tool
  fsadm failed: 1


# lvextend -L100G /dev/luksvg/home

# ls -la /dev/disk/by-label/home
lrwxrwxrwx. 1 root root 11  6. Feb 14:56 /dev/disk/by-label/home -> ../../dm-12

# resize2fs -p /dev/dm-12
resize2fs 1.42.11 (09-Jul-2014)
Dateisystem bei /dev/dm-12 ist auf /home eingehängt; Online-Größenänderung ist
old_desc_blocks = 5, new_desc_blocks = 7
Das Dateisystem auf /dev/dm-12 is nun 26213888 Blöcke lang.

Online resizing works in a similar fashion with the root filesystem.

LEGO SHIELD Helicarrier 76042 Review

IMG_0356Spending 350€ for a LEGO model seems pretty much money, and I had a hard time convincing my self to actually buy the LEGO SHIELD Helicarrier 76042. I have been reading the build series on BrickFanatics and also watched this review video by the Brick Show.

In the end it turns out that I’m busy during the weeks (Icinga 2 Trainer, Icinga 2 2.3 release, CeBit, etc), and it’s a nice present building LEGO on the weekend. Further this had been an exclusive pre-order for LEGO VIPs, and I already know that such UCS models are sold out at last (remember the Star Wars Slave I model). So, Bernd also invested into important things in 2015, and got his one even sooner. Though, mine also arrived on 2nd of March, then Icinga 2 training and finally on Sunday I got my hands dirty on this one.

The 76042 model consists of 2996 pieces and 12 build sections with one to four bags to sort and build. Those build sections take less than an hour each, and can be easily sorted on a small table (not the couch version). The instructions book is huge – 151 build steps and 448 pages. Without the power addon stuff of course. You might actually use power functions to make the rotors move, and also add some led light in front. Looking at the reviews, I didn’t like it much as the cables destroy the inner good looking, the bridge and computers.

IMG_0487The scale is not for mini-figures, although there’s a stand adding 5 of them: Nick Fury, Black Widow, Captain America, Hawkeye und Maria Hill. In order to make this model more playable and lively they have added micro-figures: Nick Fury, Hawkeye, Captain America, Iron Man and 8 SHIELD agents. They fit on a single nob, and you’ll certainly recognize Iron Man by its transparent hover 😉

Additionally there’s lots of lovely details with 3 quin jets, 3 fighter jets, lift trucks, tank wagon, etc – the helicarrier looks like there’s a lot of stuff going on currently. From the inside, there’s lots of Technic bricks and building involved – also space for the power functions. The front features the command bridge where the scene play with Nick Fury and lots of transparent computers could be seen.

In terms of building sections you’ll start with the eagle stand for the minifigures – though, you’ll get them later on during the build. After that, the black UCS stand including the sticker (god, I hate stickers) is built. It’s pretty robust and it has to be since this model is very heavy.

IMG_0426Starting with the base you’ll be reminded of the pirates ship’s body, but in a long scale. Plenty of LEGO Technic items are used to make this model robust at last. Furthermore you are building the command bridge directly inside. On top, the mechanism for moving the rotors is already integrated. That one is a bit tricky to adjust the gears so they fit, but there are instructions for that as well. On the side, you’ll hide many of the ugly technic bricks with on top base plates and the famous 64 logo (again stickers).

IMG_0447The repetitive and boring part are the four wings with the rotors – they are not the same, but quite similar being built. It’s not as much pain as with the Star Wars XWing but still not that much fun to build. In the end, the water-transparent bricks used for the rotor are the most enjoyable since they are unique to this model. Afterall there are some building techniques used again which are not the standard way.

Once the wings are done, you’ll add the propulsion in the back including some nice building techniques as well. Putting the runway in place unveils the first new thing – the long black plates are printed, no need for any stickers. The ceiling of the command bridge can be removed which adds some playable ground for later.

IMG_0463The front needs to be added – but that design decision to use a mix of printed plates and stickers which don’t really fit together on the runway – dear LEGO Designers, WHY BUT WHY? The stickers are way too small and make the runway look ugly, if you’re close to the model.

In the end, build section 11 introduces the skew runway which can be removed later on as well. There’s a nifty build technique used here, and it’s fun to add all the details to it. Section 12 finishes the modul with adding a small command bridge with transparent glass on top of it – that one must be removed to remove the skew runway later (although there’s no real reason to do so, because the floor below is boring, just black plates).

IMG_0488One of the quin jets can be put into the air with a transparent holder, while the others stay in starting position. Two of the SHIELD soldiers are hidden in the mini command bridge, Nick Fury and Hawk Eye are put inside the huge command bridge. The other SHIELD soldiers as well as Iron Man and Captain America are placed somewhere on the runway. Additional packages and petrol tanks complete the scene.

Putting the model on the UCS stand is a bit tricky – it is really heavy and the stand does not fit. I made it work, but I think it could be done better by fitting smaller parts, not the entire lane (which is hard to find with that huge model to hold). You cannot turn the model to the bottom and make it fit, unless you have three arms – holding the model in the middle with just one hand will make the skew runway go away, and so on.

IMG_0443Conclusion: Apart from various repeating build steps, stickers and the not so good designed stand I really like this model. I won’t add the power functions, there’s no real benefit with this model and I don’t want to see cables anywhere in the scenes. What I really like about this model – I generally like carriers and their level of detail (remember the Revell models, Bismarck and so on). In combination with the cool Avengers story, as well as having played the video game “LEGO Marvel Super Heroes” where you’ll run and fly on the helicarrier as basis – just awesome & pure imagination joy.

I’ve been watching the Lord of the Rings Special Extended Edition blurays (which is ~11h) while building this model. In the end, it took me ~9 hours to build which is not that bad for nearly 3000 pieces. On the other hand – imagine how many pieces and time this would take if it would be in mini-figures scale? 🙂


Lego Star Wars Slave I 75060 Review

IMG_0125I’ve been in the LEGO store Nuremberg on the 2nd of January in the afternoon, looking if the Ultimate Collectors Series model Star Wars Slave I is already available. An employee told me that the “zombies” were waiting at 10 am, and so there are no items left to sell. Well, too bad. But the detective’s office was available, so I got that one instead.

Still, I couldn’t stand it and so I went there again and pre-ordered it (could’ve done it online too, but I like the Lego store‘s atmosphere, always something new and special :)). I had to wait until the end of January, but at least I got one – the online shop says it can be delivered by the end of March currently.

Right on the weekend before going to FOSDEM, I started to unpack this baby. 1996 pieces doesn’t sound much, but when you’ll open the box, you’ll see that it’s a lot of steps to build. There are certain pieces which are just big, but also lots of small-ish ones. One good thing about the new 2015 models: You’ll have one big instructions book referencing the different bags step by step. Previous models had 2, 3 or even 4 instruction booklets which made the “instructions library” a bit chaotic. The UCS models also provide an introduction to the model itself, its background and also an interview with the designer – challenges, ideas, vision. I enjoy reading their story before actually starting the build process every time 🙂

IMG_0129Building the Slave I requires 13 separate build sections with one or two bags on each step. This is solved better than the Creator buildings where you’ll normally need the entire couch for sorting all the pieces. Slave I actually did fit on a small table (better sitting position!). The instructions are split into 115 build steps which took me ~6 hours to build (including some breaks for taking photos and refreshments ;)).

The building process starts with the front base “plate” which is tied together by Technic pieces making it very robust. The round shape is actually done in an interesting way of using orthogonal items to connect to the plate below. Oh well, then something starts what I don’t like about Lego models – stickers. And this models contains many stickers. Although the Lego designers learnt from the past – the stickers are now numbered, similar to what you know from Revell models. The only problem with those stickers – put them into the right place on the round lego bricks surface. Take a break and breath before continuing!

IMG_0137You are actually building both bottom parts in red, and then combining both with more Technic bricks. The good thing is that you’ll see your model evolve step by step which keeps the motivation flowing. At this point there were no repeating build steps (which is one of the most annoying things with Lego models). You’ll also build a detailed bottom with the engines and one good thing to mention – there are transparent bricks for creating an hover effect when the model is standing on the ground 🙂

IMG_0140Build bag 6 introduces a nifty build idea – integrate the frozen Han Solo into the ship, helped with Technic items to actually remove it easily later on when playing. You can even stash the minifigure into the frozen “mask” which is really cool. Another really magnificent idea are the two wings – Slave I is one of the few Star Wars models which has two modes – landing and flying position can be reached by turning the model by 90 degrees. So the wings must be adopted based on how the model is positioned. The designers realized that by making the wings “free flowing” and they always keep the right place, depending how you turn the model. Awesome!

IMG_0149When it comes to building the cockpit, you can even adjust the pilot’s position depending on how the model is put (landing or flying position). Additionally there are some surprising building steps involved with the green bricks where you’ll see the result only in the end. You’ll have to repeat that for both sides, but that’s not really an issue here as the building steps are rather short (10 each). After the cockpit, the “nose” is being built in section 10. There are some interesting building techniques involved as well (find out yourself) which make the model even more robust.

IMG_0168One bad thing – transparent cockpit glass with two stickers on it. But – building the side parts with a mixture of green and gray sounded like building the same parts again. Actually this does not happen – they look the same, but the model uses different coloring on both sides. Also the weapon slots differ – one side with laser cannons, the other one fires a missile.

All in all, the model is pretty heavy but therefore robust. Therefore the stand must be pretty robust as well. It does not look like it, but the black Technic bricks really create one which keeps the model in flying mode. Except for the stickers building the Star Wars Slave I 75060 really was a blast. And it’s really big in minifigure scale compared to the Red Five X-Wing Starfigher 😉


Lego Creator Expert: Detective’s Office 10246 Review

IMG_0069I basically got all these nifty creator houses by the end of 2014. Although I enjoyed building them there was already a new model announced for 2015 – the detective’s office. I made it to the Lego store on 2nd of January with friends visiting Nuremberg, and got the model (Slave I was sold out, but I got that one later hehe).

One good thing when opening the box – there’s only one big instructions “book” containing all the build sections and referenced bag numbers. Less chaos in the instructions library then. There are 4 sections with plenty of bags each – which requires plenty of space when sorting the bricks. Enlarge the couch and get refreshments 😉 They’ve also added a new “Expert” logo into the model’s box and instruction manual. The model itself consists of 2262 bricks which is fairly average amount other houses in the Creator series.

IMG_0077The first build step builds the left bottom part including a pool house, with darts and a hidden storage for smuggling stuff into it (they advertise that as play feature, which is cool but actually a bit hard to play with). Other then it looks like, this house is not split into 2 sides (like the pets store 10218)  Look at all the details when building this part – from billard queue extensions to a ceiling fan, there are many.

IMG_0082Next up: Al’s hairdresser which includes building a way for smuggling stuff into the main pool house. The coolest thing I’ve ever seen – a mirror plate without any stickers, directly attached into the hairdresser’s room. And again – lots of lovely details, even a minifigure taking off his heat for getting the hair cut. And you’ll know it from the previous Creator models – you’ll build the letters “A L ‘ S” from combining Lego bricks.

IMG_0097The third build section builds the entire first floor which is tied together with stairs from the ground. The left part features the detective’s office while the right room is more or less for the staircase and a restroom. The brick colors are pretty cool here – the detective’s office looks like made of brick, while the room at the right mixes light with more dark blue and white. The outside features a firefighter ladder which can be used to chase smuggler’s by the detective.

IMG_0106The first floor leads to the second floor with an additional staircase on the right. The interior fits as kitchen including a cat. Although it’s been a bit small for that. I would’ve found it better using the remaining space on the left side. Although building the water container is one of the coolest build techniques I’ve ever seen 😉

The build is finished by putting together the letters “P O O L” in a top-down logo for each side, similar to the Creator Palace Cinema‘s logo. All minifigures are integrated into the various scenes already so no mess with putting them “somewhere”.

It took me ~5 hours to build this nice model, and I can definitely recommend it. There are no repetitive steps, stickers but only joy when building the model, brick by brick 🙂

From cassette tapes, CDs, Google Play Music to Spotify and beyond

Found at http://motleynews.netStarting with cassette tapes, either recorded from radio shows or audio cds, I figure that I am already that old to know why a pencil is important 😉 Once in a while I switched to using audio cds and a huge set of playlists (DJ Winamp was calling) during my studies. While I’ve started listening to pop and rock tracks (Deep Purple, Led Zeppelin, etc) that taste changed over time.

Writing my diploma thesis back in 2006 required a change in music which is kind of similar to work-out music: beats, not too much house involved, not that many vocals. Just keep pushing forward while writing text and hacking Linux. Tiesto – Live on Trance Airwaves 2004 was one of those mixes found on the net, after a while I’ve spotted Armin van Buuren’s A State of Trance radio show, starting with 288. Tiesto’s Club Life radio show also got my attention.

I did not really change my music taste though – depending on the mood, I prefer to listen whatever comes to mind, and I am fairly certain I’ve tried new movements as well. Some don’t play well (I don’t like black metal that much for instance), others get my attention (the deep house / electric movement). And some are just a fun fact when your group likes it – as we do at NETWAYS with Helene Fischer or any other “Après Ski” hit. Not that I generally like that kind of music, but going out and enjoying life together is what matters 😉

IMG_0114Afterall I did not really catch up with charts or other “current” music although I tend to know quite of lot of tracks by hearing just the first seconds. Querying Youtube for such tracks and keeping them organized doesn’t work well if you’re moving from Austria to Germany – most of these tracks are either blocked (GEMA-wise) or get deleted by their uploader once in a while. But I wanted some sort of “Listen to whatever I like” stuff. So I looked into the various streaming offers around. I did not like Spotify in the first place, as it required a Facebook login to stream free media (and Android/Linux wasn’t supported that well). Using the Nexus 7 tablet, Google Play Music was doing a good job and I liked the idea of organizing playlists and tracks.

Although I have to admit that Google Play Music is just yet another service by Google (and there are too many of them). They overhauled the interface quite a bit in past year, but the app still crashed when you were navigating from authors to suggestions, adding stuff to playlists, going deeper. Sadly this happened to often, and also the navigation was not as intuitive as it could be. By the end of 2014 I decided to switch from Android to iOS and try something new. I’m not going into details here what’s better on these operating systems, it’s just – how much is Google Play Music optimized for iOS?

IMG_0222After some weeks of trying to keep up with it, I must say – it does not really fit into iOS, and you’re better with alternatives. It sure scales better than on the old Nexus 7 or Galaxy S3 hardware, but when you’ve learnt the Apple iOS way of doing things, it somehow feels borked. It’s the same with Gmail and Chrome, they do not integrate well into Apple stuff. Further you cannot quit the subscription on iOS – the app store forwards you to the website (mobile) which tells you to open the app! (inside the Android app store it’s perfectly integrated and you can quit. Workaround: Switch Safari to Desktop mode and then Google let’s you quit the subscription).

I then looked into Spotify – mainly because many of my colleagues at Netways use it as well and I like to share playlists with them. Installing Spotify and opening the application, getting an account and browsing all the stuff was tremendously easy. The app integrates well into iOS and is rather fast in navigation and search. And it does not burn your bandwidth that much, nor the offline storage is exceeded. I was a bit surprised when comparing that to Play Music, but I don’t have any comparison numbers – only a feeling that it’s less. I do use wifi at home, and have Telekom LTE on the road, so not really an issue.

IMG_0115IMG_0128What I really like about Spotify is that it’s just one service, and it’s perfect for what it is and does. Even if Tiesto’s Club Life is exclusive to TheFuture.fm (their iOS app is magnificant too), I even get to listen to Armin van Buurens ASOT exclusively. And looking at Bernd’s playlists I feel confident that mine fit perfectly in there. Including my strange taste for every mood.

Besides, if you’re wondering which music I’m playing when hacking Icinga – that’s currently Club Life 404 and 400 (4h best of!) and a Minimal // Deep House playlist. Icinga wouldn’t have happened without this kind of music, I’m fairly certain about that 🙂


Git sub modules push creates remote error

When using git submodules it’s sometimes necessary to push local changes directly to the upstream origin. In older git versions it was possible to just edit the main `.git/config` file and change the git submodule origin from ‘git://’ to ssh.

michi@imagine ~/coding/icinga/icinga-core/docbook (master) $ grep -A 1 docbook ../.git/config
[submodule "docbook"]
url = git@git.icinga.org:icinga-doc.git

michi@imagine ~/coding/icinga/icinga-core/docbook (master) $ git push origin master
fatal: remote error: access denied or repository not exported: /icinga-doc.git

But apparently this does not work anymore. So where’s the problem? Check the remote push origin:

michi@imagine ~/coding/icinga/icinga-core/docbook (master) $ git remote -v
origin git://git.icinga.org/icinga-doc.git (fetch)
origin git://git.icinga.org/icinga-doc.git (push)

Ok, nothing has changed. Googling leads to this thread.

Editing the git submodule config fixes the problem.

michi@imagine ~/coding/icinga/icinga-core/docbook (master) $ grep -B 1 icinga-doc ../.git/modules/docbook/config
[remote "origin"]
url = git@git.icinga.org:icinga-doc.git


Monitoring vhosts with Icinga 2 and Icinga Web 2

Since Icinga 2 runs stable and is considered mature (1.x still works, but is a pain to configure) I’ve taken 2015 for starting to use it on my productive systems. The server which hosts legendiary.at also serves several other vhosts, overall it is hosted in the NETWAYS cloud (thanks!), one situation where you love your managed service guys & Opennebula, Foreman, Puppet.

Afterall I wanted to monitor at least some web and dns services for all vhosts (more to come though). Web services are just a simple http reachability check, while dns verifies that the A record of the given vhost also returns the server’s ip address. That is mandatory to see whether the dns records are still intact, or some misconfiguration is happening.

Therefore I’ve created a file ‘hosts.conf’ containing one host so far, introducing the ‘vhosts’ dictionary.

# cat hosts.conf

object Host "srv-mfriedrich" {
  check_command = "hostalive"

  address = ""

  vars.vhosts["www.legendiary.at"] = {
  vars.vhosts["www.teamobsession.at"] = {
  vars.vhosts["www.freerunningacademy.at"] = {

The services.conf file is rather generic – it takes all hosts with the custom attribute ‘vhosts’ and loops over that dictionary, creating new service object. Each service is prefixed with either “http-” or “dns-” depending on the generated check then. Read more about apply-for-rules.

I’m using the shipped Icinga 2 plugin check commands “http” and “dns” and only set the expected custom attributes.

 # cat services.conf

apply Service "http-" for (http_vhost => config in host.vars.vhosts) {
  import "generic-service"

  check_command = "http"

  vars += config
  vars.http_vhost = http_vhost

  notes = "HTTP checks for " + http_vhost

  assign where host.vars.vhosts

apply Service "dns-" for (dns_lookup => config in host.vars.vhosts) {
  import "generic-service"

  check_command = "dns"

  vars += config
  vars.dns_lookup = dns_lookup

  notes = "DNS checks for " + dns_lookup

  assign where host.vars.vhosts

Note: Apply For was introduced in Icinga 2 v2.2.0 and is the preferred way of configuring the magic stuff.

icinga2_legendiary_01 icinga2_legendiary_02 icinga2_legendiary_03

Added some notifications and users, in that example it’s just everything for vhosts and myself. I don’t like to get notified when someone forgets to configure the ‘address’ attribute required for the checks, so the notifications are not generated for these objects.

The ‘mail-{host,service}-notification’ templates are shipped with Icinga 2 in conf.d/templates.conf, similar to ‘generic-{host,service-user}’ templates. The notification templates do reference the mail notification command, but I don’t really care about it. The only important thing is to set the User object’s ’email’ attribute.

# cat users.conf 
object User "michi" {
  import "generic-user"

  email = "michael.friedrich@gmail.com"

# cat notifications.conf 

apply Notification "vhost-mail-host" to Host {
  import "mail-host-notification"

  users = [ "michi" ]

  assign where host.vars.vhosts
  ignore where !host.address //prevent wrong configuration being notified

apply Notification "vhost-mail-service" to Service {
  import "mail-service-notification"

  users = [ "michi" ]

  assign where host.vars.vhosts
  ignore where !host.address //prevent wrong configuration being notified

icinga2_legendiary_04Using the new dynamic Icinga 2 language could become rather complex. But still, for simple vhost monitoring it even saves you a lot of typing. And keep in mind – the notification rules are applied based on patterns. I don’t have to worry about contacts assign to hosts/services as I always struggled with in Icinga 1.x or Nagios.

In the end, I’m also using Icinga Web 2‘s git master. It’s still beta, but works far better than Classic UI or Web 1.x. So you’ll see, it’s time for Icinga 2* and a bright future. Next up – Graphite, Graylog2 and automated Puppet deployments of remote checker clients/satellites.

WordPress backups into Google Drive

Creating wordpress backups is necessary and easy – a simple bash script creating zipped files from htdocs and mysqldump are sufficient. The more related question is – where to store these backups? As these blogs don’t contain any sensitive private information, but are all served by public web domains, best to store them in the cloud.

Since I do have lots of Google Drive storage available, it’s reasonable to upload the most recent backups over there. While looking for possible CLI options, GDrive got my attention. The client is written in Go without any further dependencies – download the binary for Linux amd64, make it executable, and run it once.

$ wget https://drive.google.com/uc?id=0B3X9GlR6EmbnTjk4MGNEbEFRRWs -O drive-linux-amd64

It will generate an authorization url for the Google API, and you’ll have to authorize the application and copy-paste the authorization token into the cli. Done. Now you’re able to upload/download files using the binary.

$ chmod +x drive-linux-amd64
$ ./drive-linux-amd64
Go to the following link in your browser:

Enter verification code:


wordpress_backup_gdriveGdrive stores the token and config below the ~/.gdrive directory.

While GDrive could upload folders, it will always generate a new id with the same folder name below its target. That’s not something I want to keep, so each file is uploaded on its own preserving the global parent folder id (backup/wordpress in my Google Drive tree).

You can easily extract the parent folder id by looking at the Google Drive url:


which then means, only the second level id is needed for the backup script.

# requires sudo for mysqldump



declare -A WEBS
# vhostname = dbname


# clear backups older than
find $BACKUP_PATH -type f -mtime +10 | xargs rm -f

# start backup and upload to google drive

for web in “${!WEBS[@]}”
timestamp=`date +%Y-%m-%d-%H%M%S`

echo “Creating $web_tar_gz backup for $web…”
`tar czf $web_tar_gz $web_path`

echo “Uploading $web_tar_gz backup to GDrive…”
$GDRIVE_BIN upload -f $web_tar_gz -p $GDRIVE_BACKUP_PARENT_ID

echo “Creating $db_sql_gz backup for $web…”
`sudo mysqldump –databases $db_name | gzip > $db_sql_gz`

echo “Uploading $db_sql_gz backup to GDrive…”
$GDRIVE_BIN upload -f $db_sql_gz -p $GDRIVE_BACKUP_PARENT_ID


Add a cron job running every day.

0 0 * * * /home/michi/backup/backup_wordpress.sh > /dev/null 2>&1

Keep in mind to secure access to the GDrive binary and its configuration – it is able to not only list but manipulate your Google Drive data. If exploited, backups won’t be necessary in Google Drive anymore 😉

Fedora 21 Workstation with Docker

fedora21Now that Fedora 21 is going the feature release way, I’ll stick with workstation. Since I recently just installed Fedora 20, I did not yet have the pleasure to do a dist upgrade (and they do tell it might not work, hehe, as always with RHEL).

Make sure that fedup is the latest version.

$ sudo yum update fedup fedora-release

Now do the network update magic. At the time of writing the fedoraproject.org site was under heavy load generating lots of 503 errors.

$ sudo fedup --network 21 --product=workstation
setting up repos...
default-installrepo/metalink                                |  16 kB  00:00     
default-installrepo                                         | 3.7 kB  00:00     
default-installrepo/group_gz                                | 113 kB  00:00     
default-installrepo/primary_db                              | 1.4 MB  00:00     
getting boot images...
.treeinfo.signed                                            | 2.1 kB  00:00     
vmlinuz-fedup                                               | 5.5 MB  00:01     
initramfs-fedup.img                                         |  40 MB  00:07     
setting up update...

For me it’s 2268 packages being updates so it takes a while. Once it tells you to reboot and select ‘fedup’ do it. You can safely ignore icedtea* and kmod* kernel modules with unsatisfied dependencies, if asked.

The upgrade takes a while, but will then boot from the basic system into your finally upgraded system. akmod will run and build new kernel modules for my nvidia and virtualbox modules (kmod breaks too often anyways).
After successful login, re-run update to fetch the latest debug symbols I keep for Icinga development (boost to be exact).

$ sudo yum update

Some pitfalls: Gnome 3.14 ignores the button-layout in my overrides settings for certain windows. The default terminal window coloring is somewhat ugly dark green.

docker_grafanaNow for Docker: docker-io is gone, the new package name is only ‘docker’. Simple test with trying grafana and graphite:

$ sudo docker run -d -p 80:80 -p 8125:8125/udp -p 8126:8126 --name kamon-grafana-dashboard kamon/grafana_graphite

LEGO – More than just bricks

lego_pirates_islandLEGO is something I’ve been building since my childhood. Be it the first LEGO Pirates island with 2 pirates, or LEGO Technic. Growing up, it’s still building stuff with LEGO – but more with landscapes or physics and computer stuff like Mindstorms.lego_space_shuttle

It’s still that moment – you’ll get the package (especially at christmas, where you’ll shake the package to hear that there’s LEGO bricks inside!) and that moment when you open it, looking at the bricks in smaller mounts, the instructions. Hey, let’s look directly into how to build it … hm, no. First off, open everything and sort the bricks. You cannot beat it without sorting – it will get annoying, especially if you’re building models with 1000+ bricks.

Still, after you’ve everything on your couch (floor is better, but couch is much more confortable), start the instructions. Visualize your model, compare the steps, focus on which parts are built there. Get an idea how the LEGO designer tried to make building as much enjoyable as also challenging. Go further, see progress. Oh, that was just the ground floor (of the house). Take a break, get something to eat and drink. No, dear friends, I cannot join you now, no Twitter, shut up. You’re not important now. Now it’s just me, relaxing and fighting my own challenge, building the greatest LEGO model there ever was. Using my imagination, and make it reality.

lego_ps3_games_hobbit_lego_movieI also do enjoy playing all the available LEGO games on my PS3 for that exact same reason – it’s fun, humor and you’ll get into your very own, small world of bricks 🙂 Or visit the LEGO Land, getting to know that bilder bigger models is an even more challenge than ever expected. But – when I am old enough, I’ll look for a job at LEGO, or something similar. Building bricks and going into the imagination flow is like forever young!


lego_land_millenium_falconPutting bricks together might sound boring. Selecting different colors and methods to put them together, and sometimes even see – oh, wow, that little stair, and that detail, oh my gosh. There’s a rope, pulling down some stuff, oh, so children can play too. Not everything is round and smooth, it’s bricks and they fit together as once. And if you break the model again, you can build your own imagined model. Toy with your phantasies and show it to others. Be proud of fighting the challenge. Life got more than enough challenges. They all may be satisfying, but at a certain point you’ll choose what’s most important.

Calming down from work, getting some time off, not running directly into a Burn-Out. Last months were exhausting, overwhelming (Icinga Camp SFO, roadtrip trough California, Nevada, Utah,…) coming back, knowing that the almighty OSMC hosted by my employer NETWAYS starts soon, and Icinga 2 must get ready and released in 2.2. Still, that’s a lot of stuff going on. But once you figure that you’re working too much (and thanks Bernd & Martin, I appreciate your feedback (“Geh ham!” style always works ;))), it’s time to go for LEGO.

lego_store_bagThanks to Markus & Nicole, I recently visited the LEGO Store in Nuremberg. Never really walked into there, looked like a large room with LEGO boxes. Nothing special from the outside. The inside is just like: Looking at all the built models, getting an idea about their size and detail grade. Oh, I want that one. Oh, look, I know that brick. They used that 15 years ago already for something completely different. Oh my, there’s Pick-A-Brick – I recently created a present based on Legoaizer for a friend using an image putting it together as mosaic.

It was successful – I got totally into building the LEGO Creator series. The Export series, the smaller ones are cute (3in1), but I need the bigger challenges. Like I already own the Red X-Wing Starfighter but totally missed the older UCS (Ultimate Collectors Series) models.

The Palace Cinema is truly a magnificant model, it took me ~6 hours to build, in 3 parts. And since the Expert models for the town can be put together as city street, yeah well, need to say more?lego_palace_cinema

So I made a list of Creator Expert models I would like to have. Problem: Older models in their exclusiveness don’t last that long in the LEGO sortiment. I had a nice conversation with their support team about that, and maybe the LEGO designers will put solder models into new shape. But that’s not the point either – I want to collect the expert series, as much as possible. There are certainly models like the Coffee Corner, Market Street or Green Grocer – all sold out, and cost too much money.

So, the affordable ones reduce to

  • Fire Brigade 10197 (only on Ebay, Amazon)
  • Grand Emporium 10211 (sold out in Nov 2014, removed from LEGO sortiment end of 2014 as heard from store employee)
  • Pet Shop 10218 (available in LEGO Store Nuremberg)
  • Town Hall 10224 (sold out in Nov 2014, removed from LEGO sortiment end of 2014 as heard from store employee)
  • Palace Cinema 10232 (built already)
  • Parisian Restaurant 10243 (new model 2014, should last a bit longer)

The tower bridge (10214), Sydney Opera house (10234), the VW T1 camping bus (10220) and the Maersk Containership (10241) will be fading out shortly, either by the end of 2014 or in 2015. Yet I was told by the LEGO Store staff, that there might be new exclusive creator models anytime soon. So let’s see about that 🙂

lego_pet_shop_parisian_restaurantlego_fire_brigadeThere are rumors about a new 2015 Creator expert model, but no announcement yet. There’s a new UCS model coming too – Star Wars Boba Fett’s Slave I (75060). Definitely something I am waiting for 🙂

I will get them all, sooner or later – 3 of them are waiting being built on the weekend. Life is hard, but sometimes you’ll just go offline, and build LEGO.


Stuff that matters most

icinga_camp_san_francisco_smallIt’s been a while since I decided to go on my journey to Nuremberg working for NETWAYS, doing more stuff with Icinga and get to know what I like most – work on a team with spirit and dedication, learning new things all the way and get the chance to join conferences & meetups. That was 2012, and it’s nearly 2 years already. 2 years where we finally released Icinga 2 after 20 months of development, sleepless nights, and still not stopping there.

What really matters to me, is not the code, or the things we do. It’s the way we do it – professional, but with a love of fun, spontaneity and team work. Getting a drink together on Friday at 4pm, just because we like it. Going skiing together (where I come from), BBQ, XMas party, … there are countless ways you can join this lovely little family (did I mention we loved the spirit of #atemlos and used that for our #b2run slogan?). It doesn’t matter which dialect you’re using – even my Austrian slang sounds familiar these days.

My work and dedication is now being honored by getting invited to San Francisco, joining my fellow colleagues and Icinga team members on the upcoming Icinga Camp. I am grateful for that, that’s something I never expected to happen after the huge success we already gained through our activities online & at various conferences. After my very first Icinga 2 Training last week with kind & positive feedback, it literally pushes my motivation to the next level. Still, I am an Icinga team member for 5+ years now, and it’s even more fun when you know that your work as a team (Icinga and Netways, that is) is still going strong.

It feels like a dream you keep dreaming as a child – and I haven’t been to USA – and soon, in some hours, it will certainly become true. Cannot wait to visit “The City”, and meeting new Icinga users. But also meeting each other where travelling isn’t always possible – I feel glad to finally meet Matthew and Sam being part of the Icinga team 🙂 We (Tom, Markus & me) are leaving SFO after Icinga Camp for a road trip going south (or east even) – Monteray, Sequoia, Death Valley, Las Vegas and finally Los Angeles. Stuff you’ll do only once 🙂

And finally, the most important impressions you’ll never forget – things you cannot plan, surprises which will come, and the “friends & family” feeling 🙂

See you in San Francisco!


Installing C&C RA2 Yuri’s Revenge on Fedora 20

Playing 3D games also requires the 32bit OpenGL drivers installed, apart from Wine itself.

yum -y install xorg-x11-drv-nvidia-libs.i686
yum -y install wine

Then grab your First Decade installation DVD, install at least Command & Conquer: Red Alert 2 & Yuri’s Revenge by calling setup.exe with wine. After the serial number orgy, copy over a no-cd crack (do that at your own risk, otherwise keep the dvd in your drive all the time).

Yuri’s revenge requires a virtual desktop in Wine, so adjust that one inside ‘winecfg’:

wine_cfg_yuri_01 wine_cfg_yuri_02


Then make sure to select Pulseaudio as audio source.


Start Red Alert 2 – Yuri’s Revenge either directly where it is installed using ‘wine YURI.exe’ or natively from the Wine menu.



Hello, Fedora 20

Since I recently switched my work notebook to Fedora 20, I figured that working with Fedora and Gnome 3 works rather smooth these days.

You’ll get a fairly stable distribution, use community provided repositories (for the nvidia driver), and you’re able to play with bleeding edge software without entirely breaking your production system. I didn’t like (K)Ubuntu that much (dist-upgrade was a huge fail all the time), several alternatives such as Linux Mint or other forks just don’t have a large community base (google the error, and find a solution within minutes). Lately, Debian Testing wasn’t so much pleasure either, and Debian stable is something I will only use for servers, not for notebooks or private workstations.

Other than that, I always play around with RPMs in Icinga Vagrant demo boxes, or keep updating them for Icinga and NETWAYS all the time. Which leaves Fedora the perfect choice for the next years (let’s see about that though).


Find a list of tools installed below, for whoever that may be useful, I’m certain it is for me when re-installing again. I am still too lazy for a puppet module 😉

The install itself happens from a netinstall ISO, choosing the default crypted LVM with a Gnome desktop installation. Once done, I’ll go get Steam and Wine for some Command & Conquer Red Alert 2 mod action.

yum -y install vim

# NVIDIA driver
yum localinstall --nogpgcheck http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm
yum localinstall --nogpgcheck http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm

mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r)-nouveau.img
dracut /boot/initramfs-$(uname -r).img $(uname -r)
yum install -y vdpauinfo libva-vdpau-driver libva-utils

# Backup - 1. ssh key
scp -r sys@ .
# Backup - 2. rest
scp -r sys@{.Xauthority,.Xresources,.bash*,.dosbox,.gitconfig,.openvpn,.rtorrent.rc,.vimrc,docs,download,private,tools,coding} .

Chrome fc20 RPM: https://www.google.com/chrome/browser/ 
Vagrant fc20 RPM: http://www.vagrantup.com/downloads.html

# passwordless sudo
sudo visudo

# Allow members of group sudo to execute any command


curl https://raw.githubusercontent.com/git/git/master/contrib/completion/git-prompt.sh > ~/.bash_git

sudo -i

yum install -y gnome-tweak-tool dconf-editor gparted
yum install -y google-chrome-stable rdesktop shutter pigdin pigdin-otr gimp gimp-paint-studio
yum install -y hplip hplip-gui
yum install -y thunderbird thunderbird-lightning thunderbird-lightning-gdata
yum install -y httpd php php-pear php-mysql php-pgsql php-gd php-soap php-ldap
yum install -y screen lynx tcpdump wireshark htop rrdtool
yum install -y cairo-dock cairo-dock-plug-ins
yum install -y NetworkManager-openvpn NetworkManager-openvpn-gnome openvpn
yum install -y git git-csv git-svn git-email
yum install -y autoconf automake libtool zlib-devel strace gdb valgrind clang ccache cmake gcc-c++
yum install -y rpmlint @development-tools fedora-packager
yum install -y mysql mysql-server mariadb-devel postgresql postgresql-server postgresql-devel
yum install -y nagios-plugins-all
# icinga 1.x
yum install -y httpd gcc glibc glibc-common gd gd-devel libjpeg libjpeg-devel libpng libpng-devel net-snmp net-snmp-devel net-snmp-utils docbook-simple
yum install -y libdbi libdbi-devel libdbi-drivers libdbi-dbd-mysql libdbi-dbd-pgsql
# icinga 2.x
yum install -y cmake bison flex openssl openssl-devel
yum install -y boost-devel boost-regex boost-signals boost-system boost-test boost-thread boost
# icinga-vagrant
yum install -y VirtualBox
yum install -y libvirt-devel libxslt-devel libxml2-devel ruby
# icingaweb2
yum install -y php-ZendFramework php-ZendFramework-Db-Adapter-Pdo-Mysql php-ZendFramework-Db-Adapter-Pdo-Pgsql php-devel

chmod a+r /etc/fuse.conf
vim /etc/fuse.conf
# Allow non-root users to specify the allow_other or allow_root mount options.

vim /etc/vimrc

" custom
set background=dark
set showcmd
set showmatch
" Show (partial) command in status line.
" Show matching brackets.
highlight ExtraWhitespace ctermbg=red guibg=red
match ExtraWhitespace /s+$/
autocmd BufWinEnter * match ExtraWhitespace /s+$/
autocmd InsertEnter * match ExtraWhitespace /s+%#@<!$/
autocmd InsertLeave * match ExtraWhitespace /s+$/
autocmd BufWinLeave * call clearmatches()
" disable shell beep
set vb



# Gnome Config

# 'obere leiste' - date, calendar week
# start apps: terminal, chrome, thunderbird, cairo-dock, pidgin
# options - session restore
# org -> gnome -> shell -> overrides -> button-layout :minimize,maximize,close

# Add __git_ps1 sourcing
vim ~/.bashrc

source ~/.bash_git
function myPrompt() {

# Default dirs
vim ~/.config/user-dirs.dirs


# Thunderbird
thunderbird + CTRL+C
cd .thunderbird
scp -r sys@ .
vim profiles.ini



mv .openvpn .cert
restorecon -R -v ~/.cert

# printer
sudo hp-setup


# RPMBuilds

/usr/sbin/useradd makerpm
usermod -a -G mock makerpm
chmod -R o+rx /home/makerpm/
passwd makerpm
su - makerpm

[makerpm@imagine ~]$ rpmdev-setuptree
[makerpm@imagine ~]$ tree
└── rpmbuild
    ├── BUILD
    ├── RPMS
    ├── SOURCES
    ├── SPECS
    └── SRPMS

6 directories, 0 files

# Databases
systemctl start mariadb

vim /root/.my.cnf
password = XXX

postgresql-setup initdb
systemctl start postgresql
# Users
useradd icinga
groupadd icingacmd
usermod -a -G icingacmd icinga
usermod -a -G icingacmd apache