_xcsbuildd user preventing logout after running OS X Server

Having given OS X Server a trial-run, I suddenly found that I was encountering all manner of weird system issues:

  • From the Apple menu, About This Mac, Restart…, Shutdown…, and Log Out… could be selected, but did nothing;
  • Complaints when trying to restart/shutdown or when trying to perform other tasks that another user was logged-in and blocking the action;
  • Restarting from the login screen cleared the screen to grey (and still be a usable mouse-cursor) but progressed no further;
  • Graphical logins failing after a reboot as if the password was wrong, despite the same password working for SSH access – but only after a warm restart. Cold-booting still allowed login as expected;
  • Multiple un-named “Admin” accounts in System Preferences’ Users & Groups pane, one of which could not be removed.

Removing OS X Server (drag the application to trash and manually remove /Library/Preferences/com.apple.server* and /Library/Server) didn’t resolve the issue.

It turns out, though, that the problematic behaviour is due to tools which are a part of Xcode but which are invoked by OS X Server – and the fix is maddeningly simple:

To disable the Xcode Server components with:

sudo xcrun xcscontrol --shutdown # Stops Xcode Server

… in order to shutdown all of _xcsbuildd’s processes and prevent restart from being blocked.

However, if you don’t actually need Xcode Server, then running:

sudo xcrun xcscontrol --reset # Resets Xcode Server, removing all service data and stopping all services

… will totally remove all users, services, and system changes. Running this resolved all of the above problems. If only Apple had mentioned this before OS X Server enabled Xcode Server in the first place…

Steam updates and issues

Valve have been busy with Steam recently – amongst the recent launches an updated front page, targeted curated views, and a new music player feature.

However, there are still many (and indeed growing numbers of) rough edges and ill thought-out features.


AdBlock Censorship :(

On the 13th September, the AdBlock team posted to Google+:

We at AdBlock believe that our users should have freedom. That’s why we block all ads by default and release our code for anyone at http://code.getadblock.com

… but apparently their belief in their users’ freedom doesn’t extend to mentioning that this code is available in a trackable, versioned form at github.com/srcshelton/adblock, because they removed my post saying this!

Now that, I have to say, is just rude…

AdBlock source-code on github.com

At the end of July, Wladimir Palant of Adblock Plus wrote a blog post which criticised Michael Gundlach‘s AdBlock for several reasons, but most worryingly:

AdBlock has no scruples to assign unique IDs to their users, to collect data about them (like which settings they enable) and to track the users each time they visit their website. You also cannot avoid visiting their website because the extension will send you there occasionally, most notably on first run. There is no privacy policy, so nobody knows what happens with that data. The discussion on their privacy policy has been marked private for some reason, I guess details were published there on what data they collect.

Not just that, the AdBlock project was also so careless when implementing this “feature” that every other website can track AdBlock users as well. And they explicitly allowed Disconnect.me to be notified whenever some AdBlock user starts up his browser.

… but also criticised AdBlock for being a GPL-3 open-source project with no public repository, and only per-release zip archives being made available. This means that it is non-trivial to determine what changes have been made between versions, and generally increases suspicions that someone somewhere is hiding something…

To remedy this, and as is my right according to the GPL-3 license under which AdBlock releases are made available, I have extracted each AdBlock release which is still available, and uploaded it to github at the following location:


… and I’ve a mind to fork this code-base and add DNT support if the user has enabled this option in their browser.

For balance, Michael’s response is at http://blog.getadblock.com/2014/07/adblock-and-privacy.html where he makes a point-by-point rebuttal.

I must admit that I’m still with Wladimir on this one – if AdBlock were doing nothing that they feel their users would object to, why not ask their users permission or, failing that, at least post – either within the extension or on their site – details of what tracking and what partnerships are active within a given release? Michael’s assertion that “User IDs are randomly generated and aren’t retained across different machines, browsers, or reinstallations” entirely misses the point that, for a given installation in a given browser, he had created a constant global tracking ID that can be used to uniquely identify the user, regardless of the preferences the user has expressed regarding whether they’re happy to be tracked or not.

Updated: Steam on Mac OS X

Further to my 2010(!) post Installing Steam on Mac OS with a Case-sensitive boot partition Steam is now, if anything, even more broken on Mac OS – and this is particularly odious given that a Linux Steam client is now available which operates under the same conditions, but handles itself correctly.

Valve, why do you hate Mac gamers?


Standard library for bash

bash standard library project: github.com/srcshelton/stdlib.sh

Give it a try ;)

Fixing Microsoft Lync 2011 “image not found” crash on Mac OS X

On the 12th December, Microsoft released update 14.0.7 to Lync for Mac. Unfortunately, after installing, launching Lync now results in this:

Lync 2011 Crash Report

… which, after close scrutiny, is due to Microsoft having failed to fully QA the new release by omitting to test it at all on any Mac with a case-sensitive filesystem: The new update is linked against ‘USBHidWrapper.framework’, whilst the framework is actually named ‘USBHIDWrapper.framework’.


March of progress…

It’s 1993, and Super Frog is released for the Commodore Amiga.


Don’t update Google Authenticator for iOS!

On Tuesday, Google released an iOS update for it’s Authenticator app, which adds support for the iPhone 5’s screen-resolution, an iOS 7-like user interface… and wipes all of your existing tokens.


HP Virtual Rooms on Linux

HP Virtual Rooms supports Windows (primarily), Mac OS, and Linux.

Getting things working on Linux, however, takes a bit of elbow grease…