MacOS Context Switches mit ControlPlane

Täglich bewege ich mich mit meinem Laptop zwischen mehreren Orten hin und her. Im einen muss das WiFi an sein, im anderen aus. In manchen brauche ich eine VPN Verbindung, in anderen sollen alle bestehenden VPN-Verbindungen getrennt werden. Außerdem denke ich viel zu selten daran die PGP-Keys zu updaten. Gedruckt werden muss auch manchmal, aber welcher Drucker war es jetzt gerade noch in der Beta und welcher in der Lindenschmit? *nerv*

Beim Kunden und auch in diversen Workshops bei TNG hisse ich immer wieder die Flagge der Automatisierung wiederkehrender Aufgaben und was wäre ich für ein TNGler/Nerd/Consultant, wenn ich obiges "Problem" nicht automatisiert löse? ;)
Nach einigen Jahren verschiedenen Ideen/Tools bin ich nun seit einiger Zeit sehr zufrieden mit einer Kombination aus ControlPlane und “Otto – dem Automator” unterwegs.

ControlPlane

Mit Hilfe von ControlPlane erstellt man sehr einfach Regeln+Gewichtung für verschiedene Contexte:

Diese werden in regelmäßigen Abständen überprüft und der Context bei Bedarf gewechselt. In Prozent ist hier angegeben, wie sicher ControlPlane ist, dass man sich imm Context befindet. Das ist v.a. hilfreich, wenn man an den Slidern rumspielt, um verschiedene Contexte besser unterscheiden zu können.

Soweit so nett. Was jetzt allerdings der eigentlich wichtige Teil ist, dass man in ControlPlane definieren kann, was "on arrival" oder "on departure" eines Contexts passieren soll:

Hier kann man auf diverse vorkonfigurierte Actions zurückgreifen, die über das Ausführen von Applikationen oder Shellscripts auch Dinge anbieten wie z.B. Radios aus- und einzuschalten. Leider umfasst das natürlich nicht jede beliebige Operation…

Otto – der Automator

So kommt man schnell zu "Otto – dem Automator". Mit Otto lassen sich nahezu beliebige Aktionen zusammenbauen und als Applikation speichern, die dann wiederum von ControlPlane ausgeführt werden kann. Ein einfaches Beispiel ist z.B. das Ausführen der keysync.sh:

So wird jetzt jedes mal ein Keysync getriggert, wenn ich meinen Laptop in der Beta an meinem Schreibtisch anschließe und ich muss nicht mehr daran denken :P

Übrigens, wenn Du über meine neuen Posts benachrichtigt werden möchtest, einfach rechts Deine Emailadresse eintragen und/oder meine Facebook-Seite liken :)

Using your MacBook as Jenkins slave and thereby avoid any sleeping

As a requirement in my current project, we have to support IE11 and Safari 9 & 10. Since running Mac OS X virtualized comes with some legal issues, we decided to simply use a MacBookPro (El Capitan) as our Jenkins slave of choice. This works out of the box until the MacBook decides to hibernate, suspend or simply start any energy saving feature Mac OS offers. For normal usage, these are some great features but as a Jenkins slave, they are pretty annoying. So here are some hints you can follow to disable the annoying sleeping features:

At first, simply go to the energy preferences and set them up as shown here:
Energy System Settings

This is not enough though. To disable hibernation, you have to execute the following command:

sudo pmset -a autopoweroff 0

And again, this is not enough, as closing the lid will put the MacBook asleep… Therefore you should install a tool like NoSleep and configure it like this:
nosleep

…but, Apple was pretty busy trying to avoid any kind of energy consuming background task. Since we want to test within Safari, we have to disable Safari’s background sleeping as well. So you have to run the following command:

sudo defaults write com.apple.Safari NSAppSleepDisabled -bool YES

Watch out with running this on your own machine though. Safari will drain your battery from now on ;)

From now on, your device will silently run and wait for work :mrgreen:

Update:

You can also set this globally:

defaults write NSGlobalDomain NSAppSleepDisabled -bool YES

Also, when using Safari for automated tests, you might want to set the following, to prevent Safari from reopening the latest windows:

defaults write com.apple.Safari ApplePersistenceIgnoreState YES

By the way, if you want to be notified for new posts, just sign up with your email address on the right :)

Mac OS 10.8.4 & Vodafone Mobile Broadband Software

After the release the newest Mac OS update on Wednesday morning I wanted to install it quickly before going to work. That didn’t work out as expected… After the update was installed the reboot failed with a nice message like “An error occurred while installing the update…”. Clicking on “OK” to reboot and everything was fucked up as expected. The system didn’t boot up properly anymore and even in the verbose mode it didn’t give any usable clue about what happened. Luckily it still booted into the SafeMode. I tried a bunch of things but nothing, not even reinstalling the update manually (download on http://support.apple.com/downloads) helped. As my last backup was a few days earlier I was close to reinstall the whole system but had to do something else before. After getting back to the Mac, it came to my mind that I have had problems with the kernel extension installed by Vodafone’s amazing “Mobile Broadband” software before – the software is needed for the Mobile Stick. Because of that I knew how to get rid of the whole stuff and after the following steps, the update was installed correctly and the system was running again:

  • Plug the stick to access the Uninstaller and uninstall the software completely.
  • Download the update and install it manually again.
  • Reboot the system.
  • Be happy :)

As I need the Vodafone software, I had no choice but to reinstall it as well, but from now on, I’ll uninstall it before applying any Mac OS updates… If someone knows an easier way, please let me know!

Pocket auf dem Mac

Eine der wenigen Apps, die es seit langem schafft auf all meinen Geräten installiert zu sein ist Pocket (ehemals Read It Later). Da ich viele RSS Feeds abonniert habe und täglich diverse Links einflattern, musste ich irgendwann mal einen Weg finden die Sachen auszusortieren, die auf einen kurzen Blick lesenswert erscheinen und sie anschließend irgendwo ablegen, so dass ich sie nicht wieder vergesse. Das passierte mir nämlich immer mit Bookmarks und solchen Versuchen :oogle:
Pocket ist da echt super und es läuft auf meinen Android Handy, meinem iPad und da es im Browser läuft, natürlich auch im Prinzip überall sonst. Das schöne jetzt ist, dass es endlich auch eine App im App Store für meinen Mac gibt – und sie ist kostenlos, so wie für alle anderen Devices auch :mrgreen:

Von Mac OS X zu Windows 7, ein paar Kleinigkeiten

Nach meinem Projektwechsel, bin ich jetzt in einem Projekt, in dem wir nicht unsere eigenen Rechner verwenden dürfen, glücklicherweise aber Adminstratorrechte auf den Kundensystemen haben. Natürlich habe ich ein wenig rumprobiert und Veränderungen vorgenommen, die mir das Leben beim Wechsel angenehmer gestalten sollen :)

  • Dexpot – Dexpot erweitert Windows vernünftig um virtuelle Desktops. D.h. es “startet” nicht einfach 4 Desktops die dann unabhängig agieren, sondern es wird eine Startleiste geshared usw. Vorher habe ich auch Desktops und VirtuaWin ausprobiert, aber beide haben nicht wirklich das geboten, wonach ich gesucht habe.
  • Als Touchpad- bzw. Magic-Mouse-User musste ich mir die Scrollrichtung natürlich anpassen ;) Dazu muss man in der Registry (Start -> Ausführen -> regedit) den Wert FlipFlopWheel (HKEY_LOCAL_MACHINE -> SYSTEM -> CurrentControlSet -> Enum -> HID -> VID_? (ab hier kann man einfach mit Ctrl + F suchen)) auf 1 setzen.
  • Da ich gern mit einem englischen Tastaturlayout programmiere und auch eine englische Tastatur habe, hier die Sprache aber deutsch ist, ist es sehr praktisch den Shortcut “Alt + Shift” zu kennen, sobald man sich 2 oder mehr Sprachen eingestellt hat. Damit kann man schnell hin und her schalten, ohne lästige Klickerei.
  • Wenn man soweit gehen und auch die Bedeutung der Windows-Taste etc anpassen möchte, kann man dazu sehr gut SharpKeys nutzen. Ãœberhaupt gibt es bei RandyRants noch ein paar nette kleine Spielerein um diverse Input Devices umzukonfigurieren :mrgreen:

Sollten sich noch mehr Sachen finden, erweitere ich die Liste natürlich!

Upgrade to Mountain Lion

Mountain LionA few weeks after Mountain Lion was officially released I finally upgraded yesterday. We wanted to wait for the first update to avoid all the annoying little problems that usually come up. For now mostly everything looks alright, just a few little issues came up so far. I’ll try to keep this post up to date with the things I stumble upon and the solutions that’ll hopefully come up from somewhere ;)

Stuff you got to massage a little:

  • git/svn: Locally I using git and if the repository of the project is subversion, I usually simply use git-svn. After installing Mountain Lion I realized that svn was missing, which is kind of annoying. Why would it deinstall svn? Anyway, the solution I found is to either reinstall it using homebrew or install the latest Command Line Tools (needs an Apple-Developers-Account).

Things not working:

  • GPGTools: As always, the extension for Mail does not work anymore, therefore emails can not be signed nor encrypted.

Changing my Mac’s SSD – Wow, that was easy ;)

Today, I got a bigger SSD because mine used to out of space all the time. I already opened my MacBook Pro (2011) quite some times but I never actually changed the harddrive. Therefore I checked some blog posts about how to do it and it was as easy as from what I remember from doing it with my Thinkpad, maybe even easier ;)

So I plugged it in the USB port with the nice little adapter Samsung ships it with and partitioned it with the Disk Utility which comes with your Mac OS. Afterwards I downloaded the Carbon Copy Cloner, which has a free and fully functioning 30 day trial period, started it and used it to clone my former harddriver. Finally, I installed the new one in the adequate place and that’s it.
Everything worked right away => perfect :mrgreen:

Please note that you will loose the recovery partition when doing this, so you won’t be able to use FileVault2 nor the “Find your Mac” iCloud feature!

To regain these features you have to download (AppStore) and reinstall Lion (+ all the updates afterwards).

Some cool articles

I came across a few nice articles / blog posts during the last days and though I should share them. So here they are and I hope you’ll enjoy them :)

SourceTree – Mac UI for Git & Mercurial…

I’m using git for a while now and the lack of a nice gui for commiting, merging etc. was a little drawback I didn’t mind. As most of the repositories I’m working with are svn repositories, I usually worked with gitk and a mix of different other tools & tricks. It’s kind of a pain but somehow I usually managed to get everything done in an “okay” way. Today I got an email telling me about SourceTree, recently bought by Atlassian and it looks really nice so far, so you might want to try it out as well ;)

GPG Tools / Mail für Lion

Nachdem ich vor etwa 2 Wochen mein MacBook auf Lion geupgraded habe, gibt es seit heute einen Installer der GPGTools, der mein Mail wieder um GPG Unterstützung erweitert – die vorherigen Versionen liefen leider nicht. Das ganze ist ein Pre-Release und von daher gibt es natürlich keine Garantie, dass es bei jedem funktioniert. Einen Versuch ist es aber sicherlich trotzdem wert, falls man gern verschlüsselte Emails empfangen und senden möchte :)
Downloaden kann man den Installer, wenn man auf der offiziellen GPGTools Downloadseite auf “other” klickt oder einfach hier ;)

WordPress, Lion Bugs, git und die Bayern

Nachdem mich das nette Admin-Interface schon länger darauf hinweist, dass ich doch mal mein WordPress auf Version 3.2.1 upgraden soll, habe ich das grade mal getan. Ein wenig erinnert mich das neue Interface ja an ältere Typo3 und phpMyAdmin Versionen ;)

Was gibt es sonst Neues?

Die Fußballsaison hat wieder angefangen und nach dem Debakel gegen Gladbach habe ich heute niemanden in einem Bayern Trikot gesehen. Ich glaube es war der erste Tag seitdem ich hier wohne, dass ich wirklich niemanden im Trikot gesehen habe :P

Seit etwa 2 Wochen spiele ich jetzt mit git rum, auch wenn wir eigentlich svn nutzen – git-svn ist ein guter Freund – und muss sagen, dass ich es echt schick finde, auch wenn ich hier und da schon mal vor die Wand gelaufen bin. Ein wenig googlen oder geduldiger Kollege hat mir dann allerdings immer wieder auf die Beine geholfen.

Lion ist immer noch schick, auch wenn ich mittlerweile auch selbst den ein oder anderen Haken mehr gefunden habe. Warum zum Beispiel kann man bei seiner Maus keine andere Scrollrichtung als bei dem Touchpad einstellen? Verbirgt sich da eine Logik, Steve?
FileVault2 ist schick und funktioniert bisher ohne Datenverlust – hoffentlich keine Ausnahme ;)

Mac OS X Lion – meine (ersten) Eindrücke

Seit ein paar Tagen bin ich jetzt auch auf Lion unterwegs und muss sagen, dass mir fast alles gut gefällt. Trotzdem gibt es natürlich ein paar Änderungen, die nicht so toll sind. Für die Apps die nicht mehr gehen oder Funktionen die verschwunden sind habe ich zwar großteils schon Ersatz oder Fixes gefunden, aber das ein oder andere fehlt noch.

Als erstes mal ein Hinweis für die MarcoPolo User: Chris Campbell hat die letzte Version gefixed, so dass das WiFi an- und ausschalten jetzt auch wieder funktioniert. Die gepachte Version findet man auf seinem Blog :thumbup:

Nun die schlechte Nachricht für die Freunde von Visor: Visor ist tot, also unter Lion. Zumindest habe ich es bisher nicht geschafft eine gepachte Version zu finden, die mit den Änderungen am System umgehen kann. Deshalb bin ich jetzt auf iTerm2 umgestiegen, das im wesentlichen die selben Features bietet, allerdings nicht als Plugin sondern als selbstständige App.

Für Mail gibt es derzeit noch kein funktionierendes GPG Plugin, aber das wird hoffentlich bald kommen – erfahrungsgemäß dauert sowas nicht allzu lange *hoff* ;)

Was mich vor allem stört ist, dass man nicht mehr angezeigt bekommt auf welchem Desktop/Space man sich befindet und, dass man nur noch zum nächsten Space nach links oder rechts wechseln kann und nicht mehr nach oben und unten. Ich hoffe da wird es auch bald Abhilfe in Form irgendwelcher Apps geben! Falls jemand was mitbekommt, bitte melden!!!

Das neue Scrollen finde ich ganz gut, zumindest auf dem Touchpad, da fühlt es sich an als hätte ich mein Desire in der Hand :P Sobald ich eine Maus in der Hand habe geht alles schief bzw. in die falsche Richtung. Deshalb habe ich es derzeit noch deaktiviert, mir aber fest vorgenommen mich bald wieder daran zu versuchen. Allerdings muss man sagen, dass die neuen Gesten auf meiner MagicMouse (und natürlich auch auf den Touchpad) echt praktisch sind :mrgreen:

Ansonsten wirkt das System ganz schick und rund, abgesehen von ein paar Kleinigkeiten und Bugs, die ich allerdings nur kenne weil ich darüber gelesen und sie anschließend natürlich ausprobiert habe ;)

1 2