From mail at russell-allen.com Wed Dec 2 00:23:59 2020 From: mail at russell-allen.com (Russell Allen) Date: Wed, 2 Dec 2020 11:23:59 +1100 Subject: [Self-interest] OurSelf on tablets - feedback wanted Message-ID: Hi guys I want to be able to use Self on my tablet and phone, but of course it is difficult since Self assumes at least a two button mouse - one for the main (orange-ish) menu and one for the blueish morph menu - and at least on MacOS it allows for using the trackpad to scroll easily around the Kansas infinite desktop. Long term it would be great to map gestures to Self events but to do that we need to replace the current VNC/X11 setup. I tried an experiment where the desktop could itself be dragged around, but the latency was too much. The delayed response to dragging was worse than no feedback. So instead I’ve created a morph which pops up when the desktop is clicked. It is shaped like a circle, with two arcs coloured like the menus. If you drag from the circle and release, you will scroll the desktop (or more accurately move your view within the desktop). If you drag but then release inside the circle, nothing happens. If you drag onto one of the coloured patches, the next click will be counted as that mouse button. So to get a background menu, drag and release over the orange patch. Then click on the desktop and the background menu will come up. To get a morph menu, drag and release over the blue patch. Then click on the morph you are interested in. This isn’t perfect but at least for me makes working on an iPad possible, and the scrolling part is also useful on my laptop for moving around Kansas. There is of course a preference to turn this off: preferences desktop useViewScrollMorph: false I’ve put this up on OurSelf.io , and it would be fab if people could try it out and let me know any thoughts, suggestions etc. Just start a trial and play around the let me know. Cheers Russell -------------- next part -------------- An HTML attachment was scrubbed... URL: From paul at igblan.free-online.co.uk Thu Dec 3 15:46:10 2020 From: paul at igblan.free-online.co.uk (Paul Chapman) Date: Thu, 3 Dec 2020 15:46:10 -0000 Subject: [Self-interest] slow systems (was: OurSelf trial nowwithout invite!) In-Reply-To: References: <20201125180635.5183BEE0285@proxy.email-ssl.com.br> <20201125214732.DC33E12412CE@proxy.email-ssl.com.br> <55186399-B242-4A49-A1CB-EB610DDFBFE4@mac.com> <8B9CFF5128E4442FBB66830C03E4AAC9@001PC> Message-ID: <28C021C1761842FBA2246DD4644215C3@001PC> David & David, > no machine can figure out what I need to be able to see as well as I can Because I didn’t know in advance what my workflow would look like, I deliberately designed DE so that any of the six windows could display any of the available views. This would be my approach in a non-overlapping Smalltalk environment, which at least partially answers your objection. > Morphic/Self was maybe two hours better at the 3am test than any of the "modern" IDEs 3am? That’s my primetime. :) > Our debugger reified each frame, so you could see as many as you wanted to, at once. Could yank them out, rearrange them, make a column morph of just the slots you wanted to see. This approach looks great, but I still say it can be achieved with non-overlapping windows. Yes, allow lots of windows. But also allow the user to design and save bespoke non-overlapping layouts which suit her workflow. > Is the I-APL code available anywhere, such as github? Sadly, no. It might be on a buried CD-ROM somewhere in my flat. If I ever get around to sorting out my archives, I might find it. I first encountered APL when searching through wastebaskets in room 404 (!) of the Electrical Engineering building at Imperial College, London, for poorly overprinted passwords. It was initially indecipherable, since there were no keywords. So I’d enjoy posting my source code without syntax or semantic definitions to similarly confuse modern programmers. :) I can, however, point you to a copy of my only published paper, on the development of I-APL, delivered at APL88 in Sydney, which I retrieved from Sci-Hub recently because of course it’s otherwise behind a paywall. http://igblan.co.uk/i-apl/paper.pdf It calls out some of the claims in my last post as falsehoods! Memory is sometimes unreliable. Cheers, Paul -------------- next part -------------- An HTML attachment was scrubbed... URL: From drdpharris at gmail.com Thu Dec 3 16:59:00 2020 From: drdpharris at gmail.com (David Harris) Date: Thu, 3 Dec 2020 08:59:00 -0800 Subject: [Self-interest] slow systems (was: OurSelf trial nowwithout invite!) In-Reply-To: <28C021C1761842FBA2246DD4644215C3@001PC> References: <20201125180635.5183BEE0285@proxy.email-ssl.com.br> <20201125214732.DC33E12412CE@proxy.email-ssl.com.br> <55186399-B242-4A49-A1CB-EB610DDFBFE4@mac.com> <8B9CFF5128E4442FBB66830C03E4AAC9@001PC> <28C021C1761842FBA2246DD4644215C3@001PC> Message-ID: Paul -- Thanks! I will read your paperwith interest. I had had ideas around an APL system back then too. David On Thu., Dec. 3, 2020, 07:46 Paul Chapman, wrote: > David & David, > > > no machine can figure out what I need to be able to see as well as I can > > Because I didn’t know in advance what my workflow would look like, I > deliberately designed DE so that any of the six windows could display any > of the available views. This would be my approach in a non-overlapping > Smalltalk environment, which at least partially answers your objection. > > > Morphic/Self was maybe two hours better at the 3am test than any of the > "modern" IDEs > > 3am? That’s my primetime. :) > > > Our debugger reified each frame, so you could see as many as you wanted > to, at once. Could yank them out, rearrange them, make a column morph of > just the slots you wanted to see. > > This approach looks great, but I still say it can be achieved with > non-overlapping windows. Yes, allow lots of windows. But also allow the > user to design and save bespoke non-overlapping layouts which suit her > workflow. > > > Is the I-APL code available anywhere, such as github? > > Sadly, no. It might be on a buried CD-ROM somewhere in my flat. If I ever > get around to sorting out my archives, I might find it. > > I first encountered APL when searching through wastebaskets in room 404 > (!) of the Electrical Engineering building at Imperial College, London, for > poorly overprinted passwords. It was initially indecipherable, since there > were no keywords. So I’d enjoy posting my source code without syntax or > semantic definitions to similarly confuse modern programmers. :) > > I can, however, point you to a copy of my only published paper, on the > development of I-APL, delivered at APL88 in Sydney, which I retrieved from > Sci-Hub recently because of course it’s otherwise behind a paywall. > > http://igblan.co.uk/i-apl/paper.pdf > > It calls out some of the claims in my last post as falsehoods! Memory is > sometimes unreliable. > > Cheers, Paul > -------------- next part -------------- An HTML attachment was scrubbed... URL: From paul at igblan.free-online.co.uk Thu Dec 3 17:30:32 2020 From: paul at igblan.free-online.co.uk (Paul Chapman) Date: Thu, 3 Dec 2020 17:30:32 -0000 Subject: [Self-interest] slow systems (was: OurSelf trial nowwithout invite!) In-Reply-To: References: <20201125180635.5183BEE0285@proxy.email-ssl.com.br> <20201125214732.DC33E12412CE@proxy.email-ssl.com.br> <55186399-B242-4A49-A1CB-EB610DDFBFE4@mac.com> <8B9CFF5128E4442FBB66830C03E4AAC9@001PC> <28C021C1761842FBA2246DD4644215C3@001PC> Message-ID: <1E639D00BA9D4DFA85C89844FD7D891F@001PC> David, PS. This appeared on my Twitter today: film of December 3rd 1968 announcement of CDC 7600. This is the computer I was using at Imperial College. https://umedia.lib.umn.edu/item/p16022coll91:52 PPS. I’d never heard the terms IDE, VM or bytecode when I wrote DE and I-APL, hence my awkward terminology. Cheers, Paul -------------- next part -------------- An HTML attachment was scrubbed... URL: From drdpharris at gmail.com Thu Dec 3 18:27:26 2020 From: drdpharris at gmail.com (David Harris) Date: Thu, 3 Dec 2020 10:27:26 -0800 Subject: [Self-interest] slow systems (was: OurSelf trial nowwithout invite!) In-Reply-To: <1E639D00BA9D4DFA85C89844FD7D891F@001PC> References: <20201125180635.5183BEE0285@proxy.email-ssl.com.br> <20201125214732.DC33E12412CE@proxy.email-ssl.com.br> <55186399-B242-4A49-A1CB-EB610DDFBFE4@mac.com> <8B9CFF5128E4442FBB66830C03E4AAC9@001PC> <28C021C1761842FBA2246DD4644215C3@001PC> <1E639D00BA9D4DFA85C89844FD7D891F@001PC> Message-ID: Paul -- Those were great machines. I never saw one. IBM 360/145 with APL microcode at UVic while I was there. We had a lots of fun on their Selectic terminals with APL type-balls installed. I wrote a one-liner Simplex Method LU Decomposition in APL, and a two-liner Tic-Tac-Toe. Did you hear about Snibble? It was a Forth-like language with a simple priority parser on top so that it had infix notation, and I had correspondence with someone at Imperial College about it in the early 70s. David On Thu, Dec 3, 2020 at 9:30 AM Paul Chapman wrote: > David, > > PS. This appeared on my Twitter today: film of December 3rd 1968 > announcement of CDC 7600. This is the computer I was using at Imperial > College. > https://umedia.lib.umn.edu/item/p16022coll91:52 > > PPS. I’d never heard the terms IDE, VM or bytecode when I wrote DE and > I-APL, hence my awkward terminology. > > Cheers, Paul > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ungar at mac.com Sat Dec 5 18:55:25 2020 From: ungar at mac.com (David Ungar) Date: Sat, 5 Dec 2020 10:55:25 -0800 Subject: [Self-interest] slow systems (was: OurSelf trial nowwithout invite!) In-Reply-To: <28C021C1761842FBA2246DD4644215C3@001PC> References: <20201125180635.5183BEE0285@proxy.email-ssl.com.br> <20201125214732.DC33E12412CE@proxy.email-ssl.com.br> <55186399-B242-4A49-A1CB-EB610DDFBFE4@mac.com> <8B9CFF5128E4442FBB66830C03E4AAC9@001PC> <28C021C1761842FBA2246DD4644215C3@001PC> Message-ID: > On Dec 3, 2020, at 7:46 AM, Paul Chapman wrote: > > David & David, > > > no machine can figure out what I need to be able to see as well as I can > > Because I didn’t know in advance what my workflow would look like, I deliberately designed DE so that any of the six windows could display any of the available views. This would be my approach in a non-overlapping Smalltalk environment, which at least partially answers your objection. Yes, that's better than the IDE I'm stuck with today. Could I resize them? Change the number of them? Probably hard given the hardware constraints you had. > > > Morphic/Self was maybe two hours better at the 3am test than any of the "modern" IDEs > > 3am? That’s my primetime. :) It varies with my age! Or at least the penalty for going late does. > > > Our debugger reified each frame, so you could see as many as you wanted to, at once. Could yank them out, rearrange them, make a column morph of just the slots you wanted to see. > > This approach looks great, but I still say it can be achieved with non-overlapping windows. Yes, allow lots of windows. But also allow the user to design and save bespoke non-overlapping layouts which suit her workflow. What if the user is a male? ;) Seriously, what we had was a big outliner for the whole stack, each frame being a section you could expand. If all you did was expand a few, you had effectively non-overlapping windows, (or panes). But then you could yank them out, so each one was a whole window, or stick them back into a column of entities only related by you. Randy's genius! > > > Is the I-APL code available anywhere, such as github? > > Sadly, no. It might be on a buried CD-ROM somewhere in my flat. If I ever get around to sorting out my archives, I might find it. Yeah, BS (Berkeley Smalltalk), is in the same state, only worse. > > I first encountered APL when searching through wastebaskets in room 404 (!) of the Electrical Engineering building at Imperial College, London, for poorly overprinted passwords. It was initially indecipherable, since there were no keywords. So I’d enjoy posting my source code without syntax or semantic definitions to similarly confuse modern programmers. :) Let them eat glyphs! :) > > I can, however, point you to a copy of my only published paper, on the development of I-APL, delivered at APL88 in Sydney, which I retrieved from Sci-Hub recently because of course it’s otherwise behind a paywall. > > http://igblan.co.uk/i-apl/paper.pdf > > It calls out some of the claims in my last post as falsehoods! Memory is sometimes unreliable. Thanks, I'll take a look! Yes, much of "reality" is falsehoods. As long as I can get up in the morning, and find something to eat in the house reality isn't a total loss. > > Cheers, Paul -------------- next part -------------- An HTML attachment was scrubbed... URL: From ungar at mac.com Sat Dec 5 19:01:03 2020 From: ungar at mac.com (David Ungar) Date: Sat, 5 Dec 2020 11:01:03 -0800 Subject: [Self-interest] slow systems (was: OurSelf trial nowwithout invite!) In-Reply-To: References: <20201125180635.5183BEE0285@proxy.email-ssl.com.br> <20201125214732.DC33E12412CE@proxy.email-ssl.com.br> <55186399-B242-4A49-A1CB-EB610DDFBFE4@mac.com> <8B9CFF5128E4442FBB66830C03E4AAC9@001PC> <28C021C1761842FBA2246DD4644215C3@001PC> Message-ID: <97FD8D9F-B132-4C86-8C55-F89A2B1F3002@mac.com> Paul, Just skimmed your paper, looks like some great work. I'm wondering what the morals of the story are. What did the experience teach you? Did it change you? TIA - David > On Dec 5, 2020, at 10:55 AM, David Ungar wrote: > > > >> On Dec 3, 2020, at 7:46 AM, Paul Chapman > wrote: >> >> David & David, >> >> > no machine can figure out what I need to be able to see as well as I can >> >> Because I didn’t know in advance what my workflow would look like, I deliberately designed DE so that any of the six windows could display any of the available views. This would be my approach in a non-overlapping Smalltalk environment, which at least partially answers your objection. > > Yes, that's better than the IDE I'm stuck with today. Could I resize them? Change the number of them? Probably hard given the hardware constraints you had. > > >> >> > Morphic/Self was maybe two hours better at the 3am test than any of the "modern" IDEs >> >> 3am? That’s my primetime. :) > > It varies with my age! Or at least the penalty for going late does. > >> >> > Our debugger reified each frame, so you could see as many as you wanted to, at once. Could yank them out, rearrange them, make a column morph of just the slots you wanted to see. >> >> This approach looks great, but I still say it can be achieved with non-overlapping windows. Yes, allow lots of windows. But also allow the user to design and save bespoke non-overlapping layouts which suit her workflow. > > What if the user is a male? ;) > > Seriously, what we had was a big outliner for the whole stack, each frame being a section you could expand. If all you did was expand a few, you had effectively non-overlapping windows, (or panes). But then you could yank them out, so each one was a whole window, or stick them back into a column of entities only related by you. Randy's genius! > >> >> > Is the I-APL code available anywhere, such as github? >> >> Sadly, no. It might be on a buried CD-ROM somewhere in my flat. If I ever get around to sorting out my archives, I might find it. > > Yeah, BS (Berkeley Smalltalk), is in the same state, only worse. > >> >> I first encountered APL when searching through wastebaskets in room 404 (!) of the Electrical Engineering building at Imperial College, London, for poorly overprinted passwords. It was initially indecipherable, since there were no keywords. So I’d enjoy posting my source code without syntax or semantic definitions to similarly confuse modern programmers. :) > > Let them eat glyphs! :) > >> >> I can, however, point you to a copy of my only published paper, on the development of I-APL, delivered at APL88 in Sydney, which I retrieved from Sci-Hub recently because of course it’s otherwise behind a paywall. >> >> http://igblan.co.uk/i-apl/paper.pdf >> >> It calls out some of the claims in my last post as falsehoods! Memory is sometimes unreliable. > > > Thanks, I'll take a look! Yes, much of "reality" is falsehoods. As long as I can get up in the morning, and find something to eat in the house reality isn't a total loss. > >> >> Cheers, Paul > -------------- next part -------------- An HTML attachment was scrubbed... URL: From paul at igblan.free-online.co.uk Sun Dec 6 04:28:04 2020 From: paul at igblan.free-online.co.uk (Paul Chapman) Date: Sun, 6 Dec 2020 04:28:04 -0000 Subject: [Self-interest] slow systems (was: OurSelf trial nowwithout invite!) In-Reply-To: References: <20201125180635.5183BEE0285@proxy.email-ssl.com.br> <20201125214732.DC33E12412CE@proxy.email-ssl.com.br> <55186399-B242-4A49-A1CB-EB610DDFBFE4@mac.com> <8B9CFF5128E4442FBB66830C03E4AAC9@001PC> <28C021C1761842FBA2246DD4644215C3@001PC> Message-ID: <3C1EB2E2E7E04E77A2B6F1779E301E1F@001PC> David, > Could I resize them? Change the number of them? Resize, yes, including quick maximize/restore. Change the number? No. Six seemed like a good compromise between screen space and flexibility. > I'm wondering what the morals of the story are. What did the experience teach you? Did it change you? It taught me that my instincts were pretty good. The extra time spent designing a DSL and then building an IDE paid off with a fourfold improvement in development time compared with my first APL interpreter. That’s pretty remarkable for two projects whose end products were functionally identical. I was lucky that my first paid programming job, in my gap year when I was 19, happened to be writing a compiler, in FORTRAN IV, for a FORTRAN-like DSL for a market research company. Rather precociously, I started by rewriting the spec and sending it back. This was greeted with approval (The MD - an old term for CEO - of that company and I undertook other projects over subsequent years, including that first APL interpreter.) My rewrite simplified and unified various concepts. Thus I serendipitously became a specialist in language design and implementation, although professionally I had many ‘ordinary’ contracts as well. If anything changed me it was encountering Smalltalk five years later. My hobby programming language of choice switched almost overnight from APL to Smalltalk. And it was the reification of lexical closures which sealed the deal. I’d always wanted to reduce APL’s greed for memory by implementing ‘deferred execution’ (now known as ‘lazy evaluation’) for certain APL idioms, to eliminate the frequent need to compute large intermediate arrays. This would’ve been hard in a low-level language. When I brought a Smalltalk/V install home from work (I later bought Smalltalk/V with my own money!), I had a proof of concept for deferred execution (what is now called ‘lazy evaluation’) running in a few days. I’ve only written in Smalltalk once on a paid project, in 1997. But for another project, in 1998-2000, I implemented a DSL in VB6 (not my choice!) built around a datatype which was a piecewise linear function (in this case, a banded tax and benefits system). I demonstrated a proof of concept to my new boss on day two of the contract – by bringing my Smalltalk into the office and prototyping the datatype. This appeared to confirm to him that he’d hired the right guy off the street. We’re still friends. Cheers, Paul -------------- next part -------------- An HTML attachment was scrubbed... URL: From mail at russell-allen.com Wed Dec 9 06:48:33 2020 From: mail at russell-allen.com (Russell Allen) Date: Wed, 9 Dec 2020 17:48:33 +1100 Subject: [Self-interest] OurSelf.io - next steps Message-ID: Hi all, More for my benefit than anything else, I’ve set out below some thoughts on where OurSelf.io is headed. The general idea is to make OurSelf.io an online place for individuals and small teams to work on/play with Self. Why online? It gives us two important things: (1) access anywhere, including new ARM Apples, phones, Windows etc (2) it is collaboration and team focused out of the box. Somewhat like a mashup of something like AWS Workspaces, where you get GUI access to a running Windows or Linux desktop, and Heroku where you publish developed code for general access. Except of course that you have to use Self. :) For a small team, OurSelf.io should support the full lifecycle of Self development and use, including building a snapshot, publishing .self files to GitHub, and potentially allowing the publication of Self worlds as websites or interactive GUIs (depending on server capacity). At the moment, I have the core infrastructure set up. There is still an invite code needed to open an account and run Self for more than the 20 minutes of the demo (Invite is: “ourselves"), hopefully I’ll be able to remove that soon, I just need better monitoring so I can see when spammers start abusing the system. I’m doing this as the mood strikes me and when I’m not supposed to be doing something else, so there are absolutely no timeframes or promises attached to any of it! If any of this sounds like fun, speak up. It’d be great to have some collaboration! Russell Next steps --------------- Backend Infrastructure: - You should be able to restart the Self VM (not the whole container) from the web interface as a quick way to get out of crashes - The web interface should expose the snapshot versions so you can ‘rollback’ to a previous snapshot. - More and better backend monitoring Improvements to standard image: * A subway system - a morph to put down markers which you can jump between. An easy way to split your desktop into areas, and also helpful for multi-user development. * A terminal morph, so you can easily access the underlying Unix tools (git, cc etc) and also ssh into other systems. * A central repository for Self packages and tools to load them with dependencies, a la homebrew, apt, pkgsrc etc from the various Linux/Unix distros. A possible precedent here is Lex Spoon’s Package Universes he did ages ago for Squeak. Improvements to demo image: * Recreate the demo morphs to give new users a guided tour of Self and its possibilities Someday maybe ---------------------- * Port VM to FreeBSD * Replace current Xorg->X11vnc->novnc pathway with pure Self code * Create messageBroker plumbing to allow Self snapshots and Ourself.io system to talk to each other easily. * Allow running Self instances to expose a webserver on a suitable domain. * Allow customised ‘demo’ instances. * Web interface to download and upload Self snapshots to system. * Premade server images so you can easily run locally. From mail at russell-allen.com Sun Dec 20 06:56:28 2020 From: mail at russell-allen.com (Russell Allen) Date: Sun, 20 Dec 2020 17:56:28 +1100 Subject: [Self-interest] Updated demo image on OurSelf In-Reply-To: References: Message-ID: Hi guys I’ve done a little update to the demo image you get when you trial Self on OurSelf.io , adding the Smalltalk subsystem and the webBrowser, and also a new facility for moving around the desktop. If you try it you will see a hello message, and at the top left a ‘station’. This is a morph which looks a bit like a train station sign, with a ‘Go to..’ button which allows you to travel to other stations (ie it moves your viewpoint around the desktop) To create a station yourself, open a shell and do: stationMorph copy Then right click and choose ‘Show Morph’ from the menu. To change the station’s name, double click on its title. The ‘Go to…’ menu should update automatically to show your new station. Cheers Russell -------------- next part -------------- An HTML attachment was scrubbed... URL: