Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Want short demos of interesting Interlisp features #4

Open
masinter opened this issue Aug 11, 2020 · 19 comments
Open

Want short demos of interesting Interlisp features #4

masinter opened this issue Aug 11, 2020 · 19 comments
Assignees
Labels
enhancement New feature or request help wanted Extra attention is needed

Comments

@masinter
Copy link
Member

the Interlisp way, file package, masterscope, versioned file system, dwim, break package, lispx commands, spy

lafite, tedit, image objects, grapher

@masinter masinter added documentation enhancement New feature or request help wanted Extra attention is needed labels Aug 28, 2020
@masinter
Copy link
Member Author

masinter commented Apr 6, 2021

The outline of demo features in the LispNYC slide presentation corresponds to a breakdown of demos to give

image

@masinter
Copy link
Member Author

masinter commented Apr 6, 2021

There are a couple of videos demos listed in the Medley Wiki but nothing systematic.

Writing a script would be the first order.

@masinter masinter changed the title add (links to) video demos of various features Want short video demos of main Interlisp features Aug 2, 2021
@masinter
Copy link
Member Author

masinter commented Aug 2, 2021

@skaisler1 want to try your hand at script writing? I was thinking we could do a lot of short (2 minute) feature demos.
I could get some help editing recorded screen-share demos, perhaps linked to chapters of the books.

masinter pushed a commit that referenced this issue Oct 21, 2021
* Add new GitHub action to create medley release

* Update to manual trigger with release name as input

* Build loadup (#1)

* Add new GitHub action to create medley release

* Update to manual trigger with release name as input

* Cleanup

* Build loadup (#2)

* Add new GitHub action to create medley release

* Update to manual trigger with release name as input

* Cleanup

* Cleanup

* Build loadup (#3)

* Add new GitHub action to create medley release

* Update to manual trigger with release name as input

* Cleanup

* Cleanup

* Move sysouts to correct location

* Build loadup (#4)

* Add new GitHub action to create medley release

* Update to manual trigger with release name as input

* Cleanup

* Cleanup
masinter pushed a commit that referenced this issue Oct 23, 2021
* Build loadup (#1)

* Add new GitHub action to create medley release

* Update to manual trigger with release name as input

* Build loadup (#2)

* Add new GitHub action to create medley release

* Update to manual trigger with release name as input

* Cleanup

* Build loadup (#3)

* Add new GitHub action to create medley release

* Update to manual trigger with release name as input

* Cleanup

* Cleanup

* Build loadup (#4)

* Add new GitHub action to create medley release

* Update to manual trigger with release name as input

* Cleanup

* Cleanup

* Build loadup (#5)

* Add new GitHub action to create medley release

* Update to manual trigger with release name as input

* Cleanup

* Cleanup

* Move sysouts to correct location

* Set root directory to medley
@masinter
Copy link
Member Author

The explanation of how to use the Medley mouse and keyboard probably would be best a video clip;

#690 (comment)

Interlisp Exec: You need a 2 or 3 button mouse, or know how to have your trackpad/buttons generate a right-mouse-button event as well as the left-mouse-button event. Then: right-mouse-button down (and hold) in the background (the gray stipple not in any window) and you'll get a pop-up menu with EXEC as one of the items, slide the mouse pointer over that until it highlights, then slide right (it has the ► to indicate it has sub-menus) and over the "Interlisp" item (it also has sub-menus) and release the mouse button on the highlighted "Interlisp" item. It will then prompt you to position and size the new Exec window -- left button down to freeze the top-left corner and drag out the region and then release it to set the lower-right corner. Click in the window to give it the keyboard focus and then you can type at it.

@zbraiterman ?

@zbraiterman
Copy link
Contributor

@masinter I'd be honored to help create a demo. Thank you for thinking of me. :)

@masinter
Copy link
Member Author

masinter commented Apr 7, 2023

I like the idea of "live" demos which are actually done inside medley, with image objects. The video is to show them that it's easy ad what to expect.

@masinter masinter changed the title Want short video demos of main Interlisp features Want short demos of interesting Interlisp features Apr 9, 2023
masinter pushed a commit that referenced this issue Sep 27, 2023
… Windows docker build / install (#1337)

* Add cygwin-sdl build to buildLoadup workflow; add installer for cygwin-sdl on windows

* Change how buildLoadup computes latest maiko release to accomodate draft releases

* Fix call to gh release list for maiko

* Debugging call to gh release list for maiko

* Debugging call to gh release list for maiko #2

* Debugging call to gh release list for maiko #3

* Debugging call to gh release list for maiko #4

* Debugging call to gh release list for maiko #5

* Debugging call to gh release list for maiko #6

* Change maiko downloads to accoiunt for draft releases

* Change maiko downloads to account for draft releases #2

* Specify shell (powershell) for Download cygwin installler

* Few cleanup items on cygwin-install

* Update ShellWhich to use command -v instead of which because which returns to much crap on cygwin and command -v is more portable overall

* Switch from using medley-loadup & -runtime tars to medley-full-*.tgz so we get full release incl notecards; delete maiko on install and replace with cygwin maiko

* Make sure Notecards doesn't try to load its HASH fileon PostGreet - for apps.sysout

* Add xdg-utils to cygwin install to support ShellBrowser

* Odds and ends on cygwin build

* Redo medley.iss install script to use tar from Windows rather than cygwin tar because cygwin tar was messing up ACLs in windows.  Needed to change creation of medley.bat accordingly.

* Remove junk lines from buildLoadup.yml

* Restore accidently deleted line to buildLoadup.yml

* Fix multiple issues with cygwin_installer filename; arrange to remove placeholder.txt from the release assets at the end of cygwin installer

* Change name of job from windows_installer to cygwin_installer

* Fix missing GH_TOKEN is removal of placeholder.txt; fix naming of output file in medley.iss

* Fiddling with getting cygwin-installer name right

* Redoing merge of medley.sh/medley.command to handle the Darwin plus Cygwin cases; is medley.iss recreate symbolic links surrounding the medley.sh script

* Fix typos/syntrax errors in medley.sh/medley.command
@masinter
Copy link
Member Author

masinter commented Jul 1, 2024

how about a contest -- a prize for the 5 best demo videos?
(contestent supplies script and recording) 'best' determined by likes on youtube?
An idea for the wednesday morning meeting?

@pamoroso
Copy link
Contributor

pamoroso commented Jul 1, 2024

Here are some ideas for demo videos:

  • accessing documentation with MAN and DInfo
  • workflow and tools for editing, running, and saving a minimal program (e.g. a factorial function): SEdit and File Manager
  • what the options of the background menu do
  • what the options of the right-click window menu do
  • how to scroll a window
  • most common Exec commands
  • TTY editor basics
  • using SEdit
  • selecting, copying, moving, and deleting Lisp expressions in SEdit
  • using the File Browser
  • workflow for writing and saving a short document (e.g. a letter) with TEdit
  • selecting, copying, moving, and deleting text in TEdit
  • workflow and main commands for analyzing and querying a program with Masterscope
  • main system variables for customizing the system

I added a demo video contest item to the agenda of the July 3, 2024 external meeting.

@masinter
Copy link
Member Author

masinter commented Jul 1, 2024

Maybe I'mrepeating myself (arguing with myself), but looking again:

  • Videos are hard to produce and not very updateable.
  • "demo" might not have to be a video of someone doing the demo.
  • @pamoroso's Medley screenshots go a long way to helping with this.

To do a demo, it really helps to have a script. A script someone can follow along is a start.

A script for a demo is almost as good as a video, and a lot easier to produce.
A demo like https://interlisp.org/src/lispusers/DEMO-FEATURES.TEDIT.pdf would be start.

I haven't compared your list of topics to the one given in
#4 (comment)

@pamoroso
Copy link
Contributor

pamoroso commented Jul 1, 2024

Thanks, now it's clear. I agree videos are hard to produce and change.

Now that I think about it I may have posted something similar, i.e. a few very short, tweet-like demos (perhaps "microdemos"):

@masinter
Copy link
Member Author

masinter commented Jul 2, 2024

These are great. I suppose this begs the question of where to put the actual demo/demolet?
It's a subset of the bibliography-source problem.

maybe just link to the feature demos or screenshots or videos from the source?

SOme regular things to put in the catalog of Medley demos?

  genre: video, screenshot,  in-Medley demo
  If a part of a larger presentation,, start time
  ir timed media (video) duration
  if part of a larger presentation then page number, parqraph
  if avilable, pointer to source code
  if available, pointers to user and implementor documentation)
  topics (history, features, getting started, techniccal discussion)
  title, author(s) ane contributors, date produced....
  other tags: revision, reissued, ...
  intended audience: newcomer, Lisp developer, programming tools architect
   relevance (focused on medley, interlisp; partial (discusses tradeoffs 
  mentions in passing)
  demo review status (tested, approved, unreviewed)
  demo maker's experience with Medley/Interlisp-D: (nrevomer, used for decades,
    ...

https://interlisp.org/software/using-medley/ somewhere in there.

@phantomics
Copy link

I find videos aren't hard to do with OBS. A more ambitious goal could be a multi-step tutorial to build a small but interesting program.

@pamoroso
Copy link
Contributor

The old series of blog posts on Lisp debugging Simon Dobson rediscovered may be another source of inspiration for demos and scripts.

@pamoroso
Copy link
Contributor

I posted another demolet on file system Exec commands.

@masinter
Copy link
Member Author

Historically the file system commands were DIR,NDIR,FB,CONN. An early 2020 "Lispusers" UNIXYCD added cd, ls, pwd. They are case insensitive (you can use commands in upper case too) and package-independent. This is a problem in some situations when you want to eval a variable which matches a command.

There are a few things that probably SHOULD be commands, but are currently implemented as Interlisp NLAMBDA functions.

The Interlisp Exec handles input of 3 kinds: EVAL format, APPLY format, and "commands". If you type in a list -- starting with a left paren -- it is EVALed (or an undoable form of the expression. (Or should be undoable, verifying and correcting those that aren't is a big TODO item). If you type a symbol immediately followed by a List, it is treated as an APPLY-style call:

2/4_ LIST(A B)
  => (A B)

This is just to avoid typing the extra punctuation
(LIST 'A 'B)

But first the EXEC (The REPL that does more than read-eval-print) checks for "commands".
A command is case-independent and package-independent. Commands are like function that can only be typed in at the top level.
The set of commands incldue "history" commands (REDO FIX ?? UNDO RETRY), file commands (DEL, DIR, CONN, SEE). When running in a "break" there are debugging commands (BT, BT!, BTV, @, ?=, REVERT)

THere is an ambiguity about what should be done when you type a single symbol on the line input, that doesn't occur otherwise, if the symbol is (case-insensitive string-equal to a command -- Did you mean to eval the variable or invoke the command.

If you type in SYMBOL(LIST) without a space between the symbol and the left paren, than it prefers the APPLY format. If type in a second symbol. SYMBOL1 SYMBOL2 ... then the command interpretation is preferred. if you type SYMBOL (LIST )does it prefer command. Only if you have a variable NAME (in some package) and you type NAME does it become annoying -- You need to treat it at least as ambiguous.

If you type SYMBOL stuff and there is no COMMAND matching SYMBOL AND Symbol is a NLAMBDA format, it's treated as APPLY format (which will error on case and package mismatch.

I think we might make it easier for newcomers by adding some explanatory text to what's going on but experienced users can turn off.

Could you possibly make a list of demolets for the website? or linked from?

@pamoroso
Copy link
Contributor

Yes, I'll make a list of demolet links for the website.

A demos section with the list could go under Software > Documentation > Using Medley Interlisp Basics (after "Writing a sample Interlisp program") or Software / Documentation (after "Introductory material"). Where else?

The list would fit well with the concise essentials and tidbits of the first page.

@masinter
Copy link
Member Author

it would be good to get some links to introductory material for those who would start oout with online.interlisp.org first without reading any documenetation. Not sure where to put that, though.

@pamoroso
Copy link
Contributor

We could add to online.interlisp.org some minimal text like this:

New to Medley? Check out these demos.

The link would lead to a Demos section on the website pages suggested above, or somewhere (at the end?) on the page Software / Access Medley Online.

This keeps clutter to a minimum on Medley Online and decouples it from the actual content which can be updated independently.

@pamoroso
Copy link
Contributor

Another demolet: sending stream output to windows.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request help wanted Extra attention is needed
Projects
Status: In Progress
Development

No branches or pull requests

6 participants