:)

from: jay
to: logan
subject: Gemini: Repulsive behavior…

No, not from me. Well, it is from me. But it’s in the source code… Oh, forget it.

Ruby
development

Permalink

Have explosions that push on surrounding objects working in Life-Tank. Need to tweak that explosion duration, though…

picture-36.png

development
games

Permalink

TO-DO:

Background color and… What else? Oh, yeah, win conditions.

picture-32.png

Ruby
development

Permalink

My proposal for Ignite Phoenix on November 3rd:

Scratch is a free visual programming language for kids created at MIT. It lets kids as young as 5-6 easily create interactive stories or games and share them on the Web. It’s also easy to teach - just set machines up and turn the kids loose!

A member of the Ignite steering committee was among the parents that brought their kids to my June 6th class, so hopefully they’re half-sold on the idea already.

development
family

Permalink

Scratch class!

Wow, the turnout for today’s Scratch class was incredible! I didn’t even have time to count heads, but there were at least 20 kids, each with one or in some cases both parents. Not bad considering event promotion consisted entirely of this page on Upcoming:

Learn to use Scratch (http://scratch.mit.edu/), a visual programming language targeted at kids. Parent involvement encouraged for children under 8. (Ages 5 - 12)

The few terminals we’d set up would have been overwhelmed, but thankfully almost everyone brought laptops with Scratch already installed. (A less-technical audience probably wouldn’t have done that.) Most kids were in the suggested age range, and a few had used the program before.

We gave a brief tutorial with the default project, which simply showed movement, turning, and looping on a single sprite. And that was it - we just turned them loose and told them to flag us down if they had questions. By the end we were seeing rotation, costume changes, sound effects, sprites following the arrow keys, drawing with pens, kids remixing each others’ projects… It was spectacular!

So I’ll echo the advice I’ve heard before if you want to do one of these events yourself:

  • Provide machines with Scratch preinstalled and running. (Older hardware is fine.)
  • Give a brief introduction (less than 5 minutes).
  • Say you’re available to answer questions.
  • Get out of the way.

I originally scheduled a break after half an hour and asked everyone to come up with a question to ask in front of the group - I regretted adding even that much structure. When time was up, it became clear I was interrupting 20 kids’ concentrated work, so I left off. My only remaining interruption was to encourage the kids to share their work on the MIT Scratch site, and to ask us if they needed help. Derek suggested adding a “gangplank” tag to posted projects.

You can view the resulting gallery here:
http://scratch.mit.edu/tags/view/gangplank

There were a couple teachers in attendance, and I gave them my contact info and offered help with setup and/or teaching. Hopefully there will be events at a couple schools as a result. If you’re involved with an Arizona school or club and want to host a class, please post in the comments.

Many thanks to GangPlank for hosting the event, and to Derek Neighbors, Mike Bennett, and Jade Meskill for helping field questions!

development
family

Permalink

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.

development

Permalink

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.

development
family
osx

Permalink

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. :(

general

Permalink

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…

development
friends

Permalink

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.

Code (in “zyps” subdir)
Wiki

Zypseroids

Ruby
Zyps
development

Permalink