[squeak-dev] re: WebDAV interface design for launching, browsing, debugging, workspaces

Chris Cunnington brasspen at gmail.com
Tue Dec 23 01:02:35 UTC 2014

> On Dec 22, 2014, at 7:17 PM, tim Rowledge <tim at rowledge.org> wrote:
> On 22-12-2014, at 4:01 PM, Craig Latta <craig at netjam.org> wrote:
>> Hi Tim--
>>> Unfortunately when I download the zip (which is the only way to
>>> download the working app that I can spot right now) and unzip it I
>>> get an OS X notifier...
>>    This is a known conflict between the way GitHub makes ZIP archives
>> and the Apple signing facility. There's an open issue for it in the
>> Context repo. I suspect I can avoid the notifier by just not signing the
>> repo at all; I'll try that soon.
>>    In the meantime, you can turn off the Gatekeeper facility in your
>> Security settings.
> OK, that lets *something* start up. What next? I’ve tried http://localhost:8090/memories/23687C16-EBB8-48B7-A38D-1B8D9216865B/session/state, for example, and it shows nothing in Safari.
> For those of us that have no clue, some guidance on how to do anything with it would be great.

*sigh* I promised myself I wouldn’t get involved…here we go. 

First off, the things Craig does are remarkable. The second thing is if there was a prize for obfuscation of what it he does, he’d win a prize. 

Let’s say Spoon has only three players: a client; a server; and a the page you see in a browser. It’s the exact same rig as a client/server/web page experience on the web. Three players. 

What you see first, the web page, is almost irrelevant to understanding Spoon. What you’ve seen so far? Forget it. What you want to see is the client image. 

See, Spoon is about having a client image provide tools that remotely operate on a server image, a smaller image, called the ‘history' image. All the tooling of the history image is remote for the simple reason that there are no tools, class names, or characters in the history image. It’s a pure, pure, pure object environment. No dead text which is bad, bad, bad. 

So, the place to start with is the client image, the one with the tools. Execute your own version of this in a Mac Terminal. 

/Users/chriscunnington/Desktop/context-master/context\ 4\ alpha\ 1.app/Contents/Resources/context\ 4\ alpha\ 1\ processor.app/Contents/MacOS/Spoon\ VM\ Opt /Users/chriscunnington/Desktop/context-master/context\ 4\ alpha\ 1.app/Contents/Resources/context\ 4\ alpha\ 1\ processor.app/Contents/Resources/context/memories/23687C16-EBB8-48B7-A38D-1B8D9216865B/23687C16-EBB8-48B7-A38D-1B8D9216865B.image &

What you’re looking at is not one Apple application, .app file, but two. The images that matter are super buried in a directory called ‘memories'. To no help at all, they have not names, but UUIDs. This is where you need to start. 

Execute the above and you get an image. The master control panel. Got that? Good. 

Now look for a closed window called ‘remote messaging’. Open that. This is where the Spoon explanation should start. Full stop. 
Those commands allow you to start the Flow/socket/remote messaging relationship with the history memory found here:

Users/chriscunnington/Desktop/context-master/context\ 4\ alpha\ 1.app/Contents/Resources/context\ 4\ alpha\ 1\ processor.app/Contents/Resources/context/memories/946BE974-48B7-4D11-B209-6355B3E49722

Buried. Do I lie? 

It’s the history memory that you start with that AppleScript script found here:

Macintosh-6:~ chriscunnington$ /Users/chriscunnington/Desktop/context-master/context\ 4\ alpha\ 1.app/Contents/Resources/Scripts/main.scpt 

which starts automatically when you double click on 'context 4 alpha 1.app'. (And remember that’s just the first *.app file. The one inside that one has the UUID named memories. It is called 'context 4 alpha 1 processor.app') 

That image, the history image, has a server in it that is serving the page you are lead to look at first. Really, you should look at it last. It’s like looking at the Transcript and wondering where the Workspace is.

See, you use the remote tools to code the smaller, remote image, so it can server a webpage, which is the first thing you see. And should actually be the last. 

Take my advice, execute the longest path above, the first one I showed you. Then open the ‘remote messaging’ window. I made that window start the remote memory in 2011. I haven’t been able to do that this time around. 

Look at the buttons on the top edge of the client image that say things like: start history; remote browser; save history; quit history; ping history. You’ll start to get the big picture. 1) Connect to the history image. 2) Open ‘Remote Browser’. 3) Hack the small image that serves a web page. 


> tim
> --
> tim Rowledge; tim at rowledge.org; http://www.rowledge.org/tim
> Science adjusts its views based on what is observed. Faith denies observation so belief can be preserved

More information about the Squeak-dev mailing list