Date: Thu, 18 Dec 2014 12:02:46 -0800
From: Robert M Ochshorn
Subject: Re: Vocabulary (and Potential Cause Of The Mac Mini Problems)
I put some work-in-progress code up on gitlab, along with a readme that has my installation notes—I have the setup quite reproducible by now with all the Mac Minis, but if you’re not used to homebrew and python library management these notes may be a little terse: let me know if you’d like to go over setting up a local development environment.

So far I have seatbelt server configured on port 4444, and the beginning skeleton of a meta/configuration application, which I’m hoping will become a centralized place for code introspection, camera and projector calibration, and laser pointer routing. When the meta-app extends into the space, I’m hoping it can grow into the very sort of “seeing space” you’ve envisioned, which can help us understand and debug behavior of the whole system (in particular, the laser pointer tracking). I tried rewriting the camera/laser-tracking, (see scripts/camera.py) to run “headlessly” and simply dump its state to the database, while taking parameters from the db in realtime, but I’m not yet satisfied with that flow. If it can sort-of work, we can move on and come back to Ideal Programming Environments later, but it doesn’t yet even sort-of work in the morning library and I found the indirection (ie. how many steps it took me to be able to see/change something) frustrating.

To think about:

— will BVLayer be able to handle realtime data sync without too much trouble?

— is there some sort of “minimum” of variable/plot/image control between web interface and server that makes development un-frustrating?

— &c &c &c/ I need to take a call and lie down

To be continued,
RMO



On Dec 18, 2014, at 1:23 AM, Robert M Ochshorn wrote:

Hi Bret,

Here’s a hopefully-concise glossary I’ve been working on for the core of the Escaping the Rectangle “platform”:

app

Apps can be run by projectors and kiosks; they are webpage-bundles that receive laser coordinates and can communicate with other apps.

camera

Cameras help us find laser beams on surfaces.

projector

Projectors run apps on surfaces.

surface

Surfaces receive light from lasers and/or projectors.

kiosk

Kiosks are devices that run apps inside of rectangles.

laser

Lasers pointed at surfaces are detected by cameras and sent to apps.


I’m starting to write a simple “app” to handle configuration of the above. Ideally this “app” can be implemented on a surface/projector and grow to show source code, live execution, &c.
I’m imagining that you would upload apps to the platform, and then assign them to projectors and/or kiosks.

— — 

The Last Mac Mini was comically hard to fix, but I’m getting there. Even after wiping the hard drive, when I went to re-install the operating system I was still having bizarre mouse problems. Like the mouse pointer moving, but clicks not working. I could get pretty far through the install process using the keyboard, but not past the crucial last step where I needed to select a hard drive. This step required clicking, which was simply not possible, despite my using a USB mouse. I reset the PRAM (whatever that is) but it still didn’t work. I reset the PRAM five times in a row, and then, suddenly, I was able to click and re-install OS X. Then, OS X started exhibiting the same problem! 

Finally, I noticed that the freshly-wiped Mac Mini had associated itself with a dangerous North Korean computer virus that identified itself as a Bluetooth device called, innocuously enough, “Rick’s Trackpad.” It’s very hard to disconnect a bluetooth trackpad! Sometimes when I turned off Bluetooth the computer would be left in some weird state like dragging a window and I would have to hard restart because I couldn’t release the window. Disconnecting from “Rick’s Trackpad” would work for a few seconds, but then it would automatically connect again. It took many gymnastics to “remove” the trackpad (because you can’t remove a device while Bluetooth is off, and, apparently, you can’t click when bluetooth is on). After removing the trackpad, a pop-up called a “pairing request” would come from “Rick’s Trackpad” every 10 seconds or so. I must have clicked “cancel” 20+ times before it stopped showing up… knock on wood, but I think it stopped trying to pair. This could be filed under “pedantic” and given no further attention, but maybe like Dave’s fascination with A/V presentations going horribly and routinely awry, these multi-device configuration catastrophes may be worth breaking down in case we can discover some general convivial design patterns for these chicken-and-egg distributed configuration issues.

R.M.O.