mind the explanatory gap

many a slip ‘twixt mind and lip…

mind the explanatory gap RSS Feed

Apple opens up dev forums for Snow Leopard discussions

I have been waiting for this for a very long time…

One of the major problems with working in Mac IT has been the lack of a space to discuss pre-release seeds of major OS X versions, ie the current state of Snow Leopard 10.6.

Things change a lot between major releases. Seemingly small changes by Apple can have an enormous impact upon workflow, and when you couple this with the fact that new hardware will often only work correctly on the latest OS X release, you often end up being forced to support 10.x.0 releases that simply don’t work correctly.

To get around this you stagger bulk purchases to avoid the periods when new OS versions are released, and you pay for ADC accounts that give you access to the pre-release seeds.

The problem is that testing is time consuming, and good bug reporting is even more so.  There’s nothing more dispiriting than spending several hours putting together a good bug report for Apple, only to submit it and get it marked as a duplicate.

Sure, there were the AppleSeed forums, but they’ve never really taken off, which I can only assume means that there really aren’t that many Mac IT people on the AppleSeed program.

Ta-da! https://devforums.apple.com/community/mac

Now we have a space we can talk in that is sanctioned by Apple. If it turns out that something fundamental is broken or works completely differently in a pre-release seed, we can share this information with each other, leading to more discrete bug reports to Apple, and leading to an OS that upon release hopefully works better in all sorts of deployments.

Well done Apple.

Puppet and Facter now in MacPorts.

So even though we have reasonable packages out there for Puppet and Facter, some people prefer to install this sort of thing through MacPorts, the closest thing we have to a third-party packaging repository on OS X.

Anyway, Puppet and Facter are both out now.

nigelk@sillymidon [/Users/nigelk]
$ port search puppet
puppet @0.24.8 (sysutils)
Puppet is a configuration management solution.
nigelk@sillymidon [/Users/nigelk]
$ port search facter
facter @1.5.4 (sysutils)
A cross-platform library for describing OS attributes.

New Adobe Installer and Licensing blog…

http://blogs.adobe.com/OOBE/

I’m really glad to see they’ve done this, but am still reserving judgment until we actually see some results from it…

A screensaver to send your display to sleep.

I poked around a bit looking for something that did this, and couldn’t find anything, apart from some sample code using a private API to send the display to sleep, so I whacked that into a screeensaver.

https://sites.google.com/a/explanatorygap.net/misc-sw/files/SleepSaver.saver.zip

This does use a private API and thus could do anything. No warranties, may destroy your machine, etc etc etc, but works for me.

code:

//
//  SleepSaverView.m
//  SleepSaver
//
//  Created by Nigel Kersten on 1/29/09.
//  Copyright (c) 2009, Google Inc. All rights reserved.
//

#import "SleepSaverView.h"

@implementation SleepSaverView

- (id)initWithFrame:(NSRect)frame isPreview:(BOOL)isPreview
{
self = [super initWithFrame:frame isPreview:isPreview];
if (self) {
if (! isPreview) {
[self dimDisplayNow];
}
}
return self;
}

- (BOOL)hasConfigureSheet
{
return NO;
}

- (NSWindow*)configureSheet
{
return nil;
}

- (void) dimDisplayNow {
io_registry_entry_t r = IORegistryEntryFromPath(kIOMasterPortDefault, "IOService:/IOResources/IODisplayWrangler");
if (r) {
IORegistryEntrySetCFProperty(r, CFSTR("IORequestIdle"), kCFBooleanTrue);
IOObjectRelease(r);
}
}

@end

Awesome Daemons and Agents TechNote

http://developer.apple.com/technotes/tn2005/tn2083.html

This is really just going here so I can find it again as I can never remember what keywords to search with to find it and I often need to refer to it.

AAAAA+++ Excellent TechNote Would Read Again kthxbye

Macworld 2009: Puppet on Mac OS X

Macworld 2009: Python for System Administration

Presentation here:

The future of iPhone management? :)

Not completely working, but…

dre on the LKDC

So dre has done a great overview of the LKDC in Leopard, including a more detailed wiki page. There really isn’t enough info out there about the LKDC, and it’s quite awesome technology.

useful screen bash function

So I pretty much live in screen permanently these days, and there are a gazillion awesome introductions out there to screen that describe the amazing advantages of screen.

One thing that has been a minor niggle has been the clunky way you pick which screen session you wish to reattach to if you have multiple sessions active, so I whipped up this bash function that I’ve been finding really useful.

function scr() {

  if [ ! $1 ]; then

    screen -D -R

  else

    i=1

    for j in $(screen -list | awk --posix '/^[[:space:]]*[[:digit:]]{2,}.*$/{print $1}'); do

      screens[${i}]=$j

      let i=i+1

    done

    # test if integer

    if ! [ $1 -eq $1 2> /dev/null ]; then

      echo "You must supply an integer as the argument"

    elif [ $1 -eq 0 ]; then

      echo "screens list count starts at 1, not zero."

    elif [[ ${1} -gt ${#screens[@]} ]]; then

      echo "only ${#screens[@]} screens exist"

      screen -list

    else

      screen -D -R ${screens[$1]}

    fi

  fi

}

So you can basically go scr to reattach to a single screen session, scr 1 to reattach to the first, scr 2 to reattach to the second, etc etc.

I’m kind of expecting someone to pipe up now and point out a much easier way… :)