You might have read some of our previous articles talking about using kicker to perform actions on network status changes.
This was always an unsupported solution, and with Leopard it turns out that Apple no longer needed kicker, and so they got rid of it.
Chris Adams and I started kicking around some ideas in Python, and the result is an incredibly flexible framework for triggering events on any change to the SystemConfiguration API, NSWorkspace notifications, and filesystem changes via FSEvents.
You can find this along with some other useful Python Mac sysadmin utilities at the Google Code site pymacadmin.
Anyway, there's a problem.
We need a name.
[Edit: 2008/07/23 – We have a winner! Kok-Yong Tan came up with "cranker" and the primary daemon will be called "crankd" ]
Read on for details….
The only material benefit we can promise you is some Google schwag that is yet to be determined… as well as a permanant line inside the README file, but think of the fame!
We really think this is going to be huge. It's incredibly useful, you can use it to trigger events on network changes, and NSWorkspace notifications like:
- NSWorkspaceDidLaunchApplicationNotification
- NSWorkspaceDidMountNotification
- NSWorkspaceDidPerformFileOperationNotification
- NSWorkspaceDidTerminateApplicationNotification
- NSWorkspaceDidWakeNotification
- NSWorkspaceDidUnmountNotification
- NSWorkspaceSessionDidBecomeActiveNotification
- NSWorkspaceSessionDidResignActiveNotification
- NSWorkspaceWillLaunchApplicationNotification
- NSWorkspaceWillPowerOffNotification
- NSWorkspaceWillSleepNotification
- NSWorkspaceWillUnmountNotification
but we need a name! We'll update this article when we've chosen one. You can submit a name in the comments below this article, or by joining the Google Group pymacadmin and posting it there.
If you're interested in all the amazing ramifications of Apple opening up the entire Cocoa API to Python in 10.5 as far as sysadmins go, please join the group and code project, and join in. We've already started working on a unit testing framework for Mac OS X image candidates that plays really nicely with InstaDMG.
pymento.
python, management, event, fruit… or nut… or what the heck is it anyway?
“would you like a pymento with your pymolive?”
“this paperweight will serve as a fine pymento of our time here.”
Something unique, yet still implying to “bounce” something… “Richochet”
Just watch out for if you pull the trigger, that the richochet doesn’t hit you!…..
Or event…. “Jounce”
jounce |jouns| verb
jolt or bounce : [ intrans. ] the car jounced wildly | : [ trans. ] the pilot jounced the plane through turbulence.
In keeping with Apple’s trend to use French … how about “Pulseur”? (It’s kicker in French.)
WachetAuf, perhaps? (From the bach cantata)
XeventMon?
Anyway, this fills a big hole for Leopard Admins – I’m looking forward to trying it out!
How about PUNTIF? It’s like SUMIF, but for punting (or kicking)
trippy — tripwire in python
pycker — python kicker
Cranker (short for “handcranker”, just like what those old Model T’s needed….)
Enjoying these ones so far! đŸ™‚
rebonkulator 1.0
rebonkulator 1.0
MontyKicker
or
FSKicker
How about “Trigger Happy”
Or “Bruce” in homage to Bruce Lee
bigfoot, of course.
Or steeltoe or stomper.
Or pyspy, since it watches for changes. Nevermind — already in use.
oops, forgot to log in. The above submission (pysser) was mine.
Apple didn’t write PyObjC, they just bundled it in Leopard’s Python framework.
This product also sounds a lot like http://www.symonds.id.au/marcopolo/
Sure. I didn’t say Apple wrote it did I? But having it available by default in OS X makes a world of difference.
Marco Polo looks really interesting. Thanks for posting that.