Thoughts

_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.

More

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:

https://github.com/srcshelton/adblock

… 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.

Dyn SLA Update – or, How To Lose Friends and Alienate Customers

I today received an email from Dyn (previously DynDNS), stating:

Starting now, if you would like to maintain your free Dyn account, you must log into your account once a month. Failure to do so will result in expiration and loss of your hostname. Note that using an update client will no longer suffice for this monthly login.

(emphasis theirs)

Now, if this were a service which requires interaction then this would be an unfriendly but potentially fair way to weed-out inactive accounts. This isn’t one of those cases, though – I can happily go for months or even years where my only interaction with Dyn(DNS) is via auto-update clients. And this is the heart of the problem – many routers and embedded devices have built-in DynDNS clients, frequently with no option to switch to an alternative service. Possibly this is worth $25/year, possibly it isn’t. Personally, I’m not paying a penny to a company trying to hold its users to ransom like this. For my usage, there are a handful for hostnames in a Dyn(DNS) domain – and therefore these cannot to transferred to a different provider. I keep them going purely so that historic links will still work.

More

HP TouchPad Review

Even though I’ve never owned a webOS-based device, over time I’ve followed with interest the various Mobile OS options out there – and webOS certainly seems to have some great ideas. In many ways, webOS is significantly more functional than Apple’s iOS – but is the HP TouchPad good enough as a consumer product to carry through this advantage?

I’m lucky enough to have been allowed to borrow a new TouchPad (model HSTNH-129C), and these are my thoughts after an afternoon’s usage.

HP TouchPad Marketing Image

More

Mid-2011 MacBook Air processor comparison: Core i5 or Core i7?

I’ve been promising myself for some time now that – as my current MacBook Pro has started to fall to pieces after three year’s perfect service – I would upgrade to a lighter, much more portable MacBook Air as soon as they received a Sandy Bridge processor update.

There is a nice overview of the available options at TechonoBuffalo, whilst MacWorld and Bare Feats are the first places I’ve seen with useful(*) benchmarks. Furthermore, the ever-reliable Storage Review has an interesting set of figures for the (excellent) performance of the new Blade SSDs.

However, what I’ve been unable to find elsewhere (and even wikipedia isn’t overly useful, in this case) is any quantitative comparison of the two MacBook Air processor options: For the 128GB 11″ model, the Core i7 processor is a £150 (~15%) extra for – on the face of it, a 200MHz (a fifth of an iPhone 4 or iPad, or 12.5%) speed increase.

There must be more of an advantage, surely?

As it turns out, the answer is yes and no…

More

Understanding UK Distance Selling Regulations

I’ve recently been looking to purchase a piece of equipment online which is not available from big-name suppliers, only from a limited number lesser-known websites. Having no reputation upon which to base a purchasing decision, a viable method to choose between a reliable site and a potentially bad site could be to see how well each site’s Terms & Conditions comply with the legal requirements of the UK Distance Selling regulations – legal requirements which either seem to be frequently misunderstood by legitimate sellers or frequently mis-quoted by sellers who seemingly wish to shirk their responsibilities in an attempt to force unlawful terms onto unwitting customers.

For reference, the Office of Fair Trading‘s guide on distance selling is available in this PDF document.

Please note that these regulations only apply when goods are purchased remotely, without having viewed the goods prior to purchase. They in fact give consumers many more rights when making purchases via the internet than if they purchased from a shop – to the point where it in many cases no longer makes sense to purchase big-ticket items from a bricks-and-mortar shop at all!

More

‘blog spam :(

Has someone worked out how to reliably game Akismet? I’ve just had to clear out 45 spam posts all within a few minutes around 6:30pm, then a few every 10 minutes to half an hour or so, until another bunch appeared around 11:15pm.

Quite how desperate for praise and/or attention to these spammers think bloggers are?!

Oh, wait…

More

Working around the lack of an RTC battery on ALIX system boards…

The ALIX 2c3 system board the forms my traffic-shaper has one irksome weakness: it lacks an on-board CMOS/RTC battery to maintain the time when the system is shutdown.

This is a more significant problem than it sounds since, for starters, the fsck tools for the ext2 filesystem, by default, treat a timestamp in the future as a failure – and disk checks have to be performed almost immediately on system start, so there is no opportunity to raise networking and start an NTP dæmon.

More