Safely running an MIT Scratch class for kids with Mac OS X Parental Controls
Or, at least, my attempt at it. The real-world test is this Saturday; I’d be interested in any further advice anyone can offer. I’m trying to balance security with ease of setup. This can of course be adapted to other applications.
- In the Finder, copy the Scratch folder from the disk image to /Users/Shared/ under the Macintosh HD.
- To ensure files can be saved to the Scratch Projects folder (which is the default location for a fresh Scratch install), in Terminal, run "chmod -R ugo+w /Users/Shared/Scratch 1.3.1" (or whatever the Scratch folder path is).
- Enable the Guest account via the Accounts preference pane.
- In the Parental Controls pane, enable parental controls for the guest account.
- Check "Use Simple Finder" (this will make it easier for younger kids to navigate to the app).
- Check "Only allow selected applications", and ensure all applications are disabled except Safari (for establishing scratch.mit.edu accounts) and Scratch. (If the top-level checkbox has a minus-sign, it means some sub-items are enabled. Click the box until it is empty, then expand the tree view to select individual sub-items.)
- Under the Content tab, select "Allow access to only these websites", click the plus sign, and add http://scratch.mit.edu/ to the list of allowed sites.
When the machine boots, students should be able to click the Guest account, then select the Shared folder in the Dock to get to the Scratch app. (I don’t know an easy way to add Scratch itself to the Dock under the locked-down Finder; let me know if you do.) They can also open and save Scratch projects within Scratch itself, and they’ll be preserved after logout even though it’s a guest account. Safari access lets them establish an account on scratch.mit.edu so they can upload their projects.
They won’t be able to do much of anything else, though - all apps will be hidden, and almost all paths will be inaccessible from the Finder. (They can still see almost anything from Safari, but next to nothing will be writable.) I’d imagine this is enough to keep most kids out of of distraction and/or trouble, but you can disable Safari and lock the machine down still further if you’re concerned.
Edit: My post on how the class went is here. Summary - I wouldn’t say these efforts were unnecessary, but they definitely weren’t essential. We had the program up and running when kids arrived, and that was all we really needed. Security wasn’t much of a concern in this environment.
Read more...Jay versus the Wave...
Automatically translate text from one human language to another. (Check.) Publish journal entry to LiveJournal and e-mail. (Check.) Receive notification by e-mail of replies to message board topic. (Check.) Add item to to-do list. (Check.) Run/archive a mailing list. (Check, only their implementation is better.) Do not reveal existence of certain media to unauthorized users. (Check.)
Some of the use cases I’ve been keeping for my “media server” project were knocked off like a checklist by the Google Wave Developer Preview presentation.
Infinite undo levels when editing. (Well, this will be awkward with multiple collaborators.) Mount a remote FTP site as a volume. (Not even close.) Transfer call to someone else’s phone. (Huh?)
Fortunately for me, some will never be, not by Wave. Guess I still have work to do after all.
Read more...Laid off...
Well, it looks like I don’t escape this downturn unscathed. Integrum just laid off half their staff, including me.
Three guys were suddenly called into one office for a meeting. The rest of us were called into the board room. “Oh, no,” I thought, “they’re laying them off and this is to apprise us of the situation and reassure us that we still have jobs.”
Well, I was half right - the larger group was the one getting laid off. My ears were actually ringing for most of this… “There’s no easy way to say this… The first two quarters were really rough… I hate doing this… I’ll give any of you a glowing letter of recommendation…”
The unlucky ones met up at a restaurant afterwards to talk and plan. Those with savings were going to look into consulting and side jobs for a while. Those without were going on unemployment and starting job hunts. Nobody was really angry at Integrum, just numb and sad.
I’m sad too. This was the best bunch of people I’ve ever been privileged to work with. Hopefully I will be working with them more, just in other venues…
Read more...I just finished asking Diana what she thought about cancelling cable TV while the budget was tight. (She was OK with the idea since she has Hulu.) I come back to GMail and see this ad at the top:
TV Service Too Expensive? - www.DishNetwork.com
Oh my God, I thought, Google did develop mind-reading technology.
Well, no. But they may as well have. They probably displayed that because my last two sent e-mails were:
Reminder: Jobs: Next: Check Chase bank statement for payments to cancel.
I have to backtrack - it looks like the travel budget will be too tight in June. Don't think we're going to be able to make it. :(Read more...
Zyps at MofoCamp
Zyps was one of two chosen topics for Mofocamp last night. I wasn’t really expecting that, so I was totally unprepared, but we piled into one of the breakout rooms and started hacking away.
I said Zyps was ideally suited for simulations or shooter-type games, and someone raised the idea of an Asteroids clone. I said not only could it be done, but half the code was written already (ExplodeAction, WrapAround, ShootAction, etc.). The only uncertain area was keyboard input (and 10 minutes of wxRuby research took care of that).
It was definitely not my cleanest work ever; we copied the entire Zyps repo since the last gem is so old, and ripped the entire contents of bin/zyps as a basis. I didn’t realize it was loading an empty environment from a YAML file, so when I wasn’t answering questions I was trying to figure out why the Asteroid and Ship objects (coded by Andrew Bowerman and Roy VandeWater) I was dropping in were mysteriously disappearing.
Thanks in part to that, we were 40 minutes late for presentation time (which was OK because the Processing team left without presenting), but we finally had a working demo. Lots more to be done, but not bad for two and a half hour’s work.
Read more...