Dear Club,
I'm very happy to announce the first episode of a new video series called "Shell Games." They are short, command-line–centric videos showing newLISP in action. Shell Games, at first, will use examples taken from the newLISP documentation, but it might be fun to start a topic here (or use this one) where everyone could contribute code examples for future Shell Games videos.
But for now, just sit back and enjoy the first offering about number generators.
Shell Games - Number Generators (//http)
m i c h a e l
Aaa nice... The way you type flawless the fibo function,
like you shake it out of your sleeves, doing it every day ;-)
Well We cant be left behind.. "shell games" means "shell games"
Your ON! ;-)
Let's really start this off with a bang by having a Shell Games double feature :-)
Shell Games - Pushing and Popping Lists (//http)
Quote from: "newdep"
Aaa nice... The way you type flawless the fibo function,
like you shake it out of your sleeves, doing it every day ;-)
Yes, it's fantastic, isn't it ;-)
m i c h a e l
I like these. I think I'm going to have a go at making one this week.
Today's episode: Packaging Data with Contexts. Enjoy.
Shell Game - Packaging Data with Contexts (//http)
m i c h a e l
Today's episode of Shell Games is about implicit indexing. Make sure you have 8-1/2 minutes to spare before you start this one :-)
Shell Games - Implicit Indexing (//http)
m i c h a e l
I think these are really excellent. I admire your craftsmanship and attention to detail. I look forward to many more, and to the decline of the old-fashioned tutorial...! :)
I got as far as digging out my old copy of Keynote to see how it could be done... I think I found the essential ingredient (the build effect), but that's only the start of it.
Then I thought it would be cool to see what could be done at the opposite end of the spectrum - no state of the art quicktime movies, just an old VT100 terminal effect:
(load {http://unbalanced-parentheses.nfshost.com/downloads/typewriter.lsp})
I expect this will only work occasionally from a VT100 style terminal and only on MacOS X, and probably not at all on other systems. But there's a little echo of your idea, from the other side of the computing universe...!
cormullion,
Thank you for your kind words. It's all these videos cost ;-)
To see what effect your typewriter.lsp program is having here (OS X 10.4.11), I uploaded a video example:
Cormullion's Typewriter (//http)
Interesting, but probably not what you intended :-)
m i c h a e l
Ha.... I seemed to remember thinking that the Terminal had changed a bit when I upgraded from Tiger to Leopard. To be honest, there are so many options now for Terminal it probably won't work unless you tune the settings to interpret ANSI escape codes correctly.
Never mind - you get the general idea... :)
Ready for another episode? This one is about selecting multiple elements at once.
Shell Games - Selecting More Than One Element (//http)
m i c h a e l
Quote from: "cormullion"
(load {http://unbalanced-parentheses.nfshost.com/downloads/typewriter.lsp})
Aaa nice reminds me of the C64 days where I exchanged information
via data-cassetes by use of a tool called "Demo-Writer" or something,
It even had a bouncing cursor ;-)
:) glad it worked for someone...! I must add a 'typewriter' sound to it.
Wednesday's episode is about passing by reference:
Shell Games - Passing by Reference (//http)
m i c h a e l
Here is tonight's episode of Shell Games about appending strings:
Shell Games - Appending Strings (//http)
m i c h a e l
Here's Friday's episode:
Shell Games - Manipulating Functions After Definition (//http)
Enjoy.
m i c h a e l
Monday's episode is about making those destructive functions not so destructive:
Shell Games - Making A Destructive Function Non-Destructive (//http)
m i c h a e l
And Tuesday's child could be about making non-destructive functions destructive?
--hsm
I posted that one last Wednesday (//http) ;-)
m i c h a e l
Why so you did! Silly me. Do we need an index yet?
--hsm
Still ahead of you :-)
Shell Games (//http)
m i c h a e l
... there is also an index at the bottom of the documentation page: http://www.newlisp.org/index.cgi?Documentation
Quote
Monday's episode is about making those destructive functions not so destructive:
Shell Games - Making A Destructive Function Non-Destructive
Good one m! begin is nice! I think also and and or would do too? Trying to think of others...
amb - surely not... :)
Hi cormullion!
You're right, those work, as well (although not as conceptually attractive as begin for copying lists and strings).
Any Shell Games requests? How about some examples from Introduction to newLISP?
m i c h a e l
Tuesday's episode is about formatting data into strings:
Shell Games - Format (//http)
m i c h a e l
Wednesday brings us an existential episode:
Shell Games - Exists (//http)
m i c h a e l
How about a piece on copymem and its use for in-line assembler?
--hsm
Today's episode is a short one: the for-all function (//http).
Quote from: "hsm"
How about a piece on copymem and its use for in-line assembler?
Thanks, hsm! Good idea. Look for it next week :-)
m i c h a e l
Great! Then soon I can bring the Awesome Beauty of Fractals(tm) to newLISP!
--hsm
Friday's episode: loops. Friday's episode: loops. Friday's episode: loops.
Shell Games - Loops (//http)
m i c h a e l
Good job!
This one comes complete with error message at the end, this time:
ERR: value expected in function sequence : >!4>
You're just doing that to make me feel like I'm typing it myself... :)
PS: How are you making these cool videos? A meta-video is requested.
Quote from: "cormullion"
Good job!
Thank you :-)
Quote from: "cormullion"
This one comes complete with error message at the end, this time:
<blush> Whoops! That one got by me. Thanks for bringing it to my attention, cormullion.
Quote from: "cormullion"
ERR: value expected in function sequence : >!4>
That's a clue ;-)
Quote from: "cormullion"
PS: How are you making these cool videos? A meta-video is requested.
All will be revealed . . .
m i c h a e l
cormullion,
Sorry to pull a 1984 on you, but:
Shell Games - Loops has always ended correctly.
Shell Games - Loops has never ended in error.
Errors do not occur in Shell Games.
—The Ministry of Truth (//http) ;-)
m i c h a e l
Monday's episode is about reading and writing files:
Shell Games - Reading and Writing Files (//http)
m i c h a e l
Tuesday's episode is filtered and cleaned for your protection:
Shell Games - Clean and Filter (//http)
m i c h a e l
Wednesday's episode can expand your lists:
Shell Games - Expand (//http)
m i c h a e l
(reverse (rotate "T:etator dna esrever su sgnirb yadseu" -1))
Shell Games - Reverse and Rotate (//http)
m i c h a e l
Finally Friday. Starts with finally and ends with Friday:
Shell Games - Starts With and Ends With (//http)
hsm: Unfortunately, our PPC Mac prevents me from being able to make the cpymem Shell Games episode :-( Sorry to have falsely raised your hopes. If we ever get an Intel Mac, it'll be the first Shell Game I make ;-)
m i c h a e l
The Shell Gamer is on vacation this week, but do post any requests for examples you'd like to see as a future Shell Game. You could also catch up on any episodes you may have missed.
m i c h a e l
These vids are really nice, Michael! I am very impressed with their coverage, production, and compression (small size). Like Pete, I'd like to know how you did it.
I tried to do something similar, but it is not as nice. I'll post it soon.
Quote from: "Rick"
These vids are really nice, Michael!
Thank you, Ricky! I'm glad you like them.
Quote
I am very impressed with their coverage, production, and compression (small size).
I'm mostly just copying the examples from the manual and Code Patterns. I know Lutz would like me to make my own examples up, but then Shell Games would likely become a weekly affair as a result. I may need to do that anyway if I run out of examples to copy ;-)
Quote
Like Pete, I'd like to know how you did it.
I hope to one day make a video of the entire process, but at this point even the process is in a state of flux. Until then, just know that, like show business, it's a lot of work to make something look and feel real ;-)
Quote
I tried to do something similar, but it is not as nice. I'll post it soon.
Looking forward to it.
m i c h a e l
Quote from: "m i c h a e l"
Until then, just know that, like show business, it's a lot of work to make something look and feel real ;-)
I totally get what your saying (finally). If I told you how much time I spent trying to get the compression down to your rate (size/time ratio), you could imagine that I finally guessed that you were scripting it off-line. Very clever of you.
I, for my part, did not do that. I used a screen capture of a live session at the newlisp prompt. At first I figured you did the same, then when I tried to stomp my already compressed video and started to lose graphical clarity, I thought "How the hell did Michael do this?" Then, some Google searching yielded some pages on scriptreplay (not that you used this, but it helped me get my mind in the right place) and Pete's comment in the back of my head (the one about Keynote); well, 2 plus 2 and half of my beer downed finally led me to conclude that the presentation was probably an off-line script.
Hats off to you buddy! Not only is all that quite a bit of work, but a great fake-out.
Cheers, --Ricky
Monday brings with it a new episode of Shell Games: Structuring Applications (//http)
Enjoy.
Quote from: "Rick"
I, for my part, did not do that.
It was a superb performance, Ricky. Impressive typing speed!
Quote
I used a screen capture of a live session at the newlisp prompt. At first I figured you did the same, then when I tried to stomp my already compressed video and started to lose graphical clarity, I thought "How the hell did Michael do this?" Then, some Google searching yielded some pages on scriptreplay (not that you used this, but it helped me get my mind in the right place) and Pete's comment in the back of my head (the one about Keynote); well, 2 plus 2 and half of my beer downed finally led me to conclude that the presentation was probably an off-line script.
Off-line, yes. But how? Keynote or similar program? No. Uses newLISP? Yes ;-)
Quote
Hats off to you buddy! Not only is all that quite a bit of work, but a great fake-out.
Thank you :-) For me, this is what computers are best used for—making something seem like it could be a real person at the other end (Turing's "Imitation Game"). But as you found, art (the fake) is very difficult to make "come alive," while the natural world (the real) simply just happens (with all its attendant mistakes).
m i c h a e l
Tuesday means it's local symbols day!
Shell Games - Local Symbols (//http)
m i c h a e l
Let's speed things up today with memoization:
Shell Games - Memoization (//http)
m i c h a e l
Friday goes out with a whimper with this one-screener:
Shell Games - Upper, Lower, and Title-Casing Strings (//http)
The title is longer than the video ;-)
m i c h a e l
Quote from: "m i c h a e l"
Shell Games - Upper, Lower, and Title-Casing Strings (//http)
Due to some strange synchronicity, the interweb is rumbling with title-case scripts at the moment. (started here (//http), I expect, then continued here (//http) ). I was going to contribute a title-case script that demonstrated how much better newLISP was than Perl...
But I decided not to. I don't like using title-case much, and wouldn't use it automatically in any case. (I believe it's now more popular in the US than in England...) But someone could step up to the challenge?
I'm back from the future (see Thursday's Friday post) and have a new episode of Shell Games: the sort function (//http).
m i c h a e l
Dear Club,
Other projects and responsibilities have forced me to suspend making "Shell Games" for a while. Don't worry, I haven't forgotten about the meta-video :-)
m i c h a e l
P.S. Funny post by cormullion (//http), and apparently, Rick is a legal genius.
Thank michael for the games... make sure they return ;-)
Great.. great story/programming mixture Curmullion!..hahaha
Yes, that is a great story from cormullion. (I wonder if it could be done in the film noir style. :-) If P isn't a professional writer, then he would definitely be missing a calling in life.
Quote from: "newdep"
Thank michael for the games... make sure they return ;-)
Of course: thanks m i c h a e l!!!
BTW, I'm still catching up on many of your activities whilst I was on my "newLISP hiatus". Last night I checked out the first two installments of m i c h a e l's FOOP video series. They are rather excellent. I wouldn't expect any less from him (but from mere mortals, I would be happy with much less).
You guys (Norman, Michael, P, &c.) are a really creative bunch! Keep up the stellar work!
Norman and Ricky,
Thank you both for your continued encouragement and kindness.
Quote from: "Norman"
make sure they return ;-)
Yes, I hope to begin again soon.
Quote from: "Norman"
Thank michael for the games...
Norman commands all to thank m i c h a e l !
Quote from: "Ricky"
Of course: thanks m i c h a e l!!!
Good and faithful Ricky :-)
Quote from: "Ricky"
Last night I checked out the first two installments of m i c h a e l's FOOP video series.
I finished the script for the fourth FOOP video some time ago, but I've yet to make the video. I'm really looking forward to getting back into FOOP again!
Quote from: "Ricky"
They are rather excellent. I wouldn't expect any less from him (but from mere mortals, I would be happy with much less).
You guys (Norman, Michael, P, &c.) are a really creative bunch! Keep up the stellar work!
If this keeps up, I'll have to take my hat in to be altered ;-)
m i c h a e l
Quote from: "m i c h a e l"
Quote from: "Norman"
Thank michael for the games...
Norman commands all to thank m i c h a e l !
Quote from: "Ricky"
Of course: thanks m i c h a e l!!!
Good and faithful Ricky :-)
Yes, you caught me. I have been known to succumb to the infrequent Jedi mind trick, as in "These aren't the droids you're looking for":
Stormtrooper Ricky: Let me see your identification.
Obi-Wan KeNorman: [with a small wave of his hand] You don't need to see his identification.
Ricky: We don't need to see his identification.
Norman: These aren't the droids you're looking for.
Ricky: These aren't the droids we're looking for.
Norman: He can go about his business.
Ricky: You can go about your business.
Norman: Move along.
Ricky: Move along... move along.

(//%3C/s%3E%3CURL%20url=%22http://www.nodep.nl/downloads/newlisp/lost-chapter.png%22%3Ehttp://www.nodep.nl/downloads/newlisp/lost-chapter.png%3C/URL%3E%3Ce%3E)