newLISP Fan Club

Forum => newLISP newS => Topic started by: m i c h a e l on April 17, 2008, 10:39:11 AM

Title: Shell Games
Post by: m i c h a e l on April 17, 2008, 10:39:11 AM
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
Title:
Post by: newdep on April 17, 2008, 10:56:39 AM
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! ;-)
Title:
Post by: m i c h a e l on April 17, 2008, 12:16:42 PM
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
Title:
Post by: cormullion on April 18, 2008, 11:01:19 AM
I like these. I think I'm going to have a go at making one this week.
Title:
Post by: m i c h a e l on April 18, 2008, 01:47:13 PM
Today's episode: Packaging Data with Contexts. Enjoy.



Shell Game - Packaging Data with Contexts (//http)



m i c h a e l
Title:
Post by: m i c h a e l on April 21, 2008, 01:16:34 PM
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
Title:
Post by: cormullion on April 21, 2008, 02:46:42 PM
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...!
Title:
Post by: m i c h a e l on April 21, 2008, 03:12:03 PM
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
Title:
Post by: cormullion on April 21, 2008, 10:39:56 PM
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... :)
Title:
Post by: m i c h a e l on April 22, 2008, 12:46:28 PM
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
Title:
Post by: newdep on April 23, 2008, 03:30:45 AM
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 ;-)
Title:
Post by: cormullion on April 23, 2008, 09:24:37 AM
:) glad it worked for someone...! I must add a 'typewriter' sound to it.
Title:
Post by: m i c h a e l on April 23, 2008, 02:13:28 PM
Wednesday's episode is about passing by reference:



Shell Games - Passing by Reference (//http)



m i c h a e l
Title:
Post by: m i c h a e l on April 24, 2008, 10:37:32 PM
Here is tonight's episode of Shell Games about appending strings:



Shell Games - Appending Strings (//http)



m i c h a e l
Title:
Post by: m i c h a e l on April 25, 2008, 09:40:43 PM
Here's Friday's episode:



Shell Games - Manipulating Functions After Definition (//http)



Enjoy.



m i c h a e l
Title:
Post by: m i c h a e l on April 28, 2008, 07:11:35 PM
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
Title:
Post by: hsmyers on April 28, 2008, 07:41:39 PM
And Tuesday's child could be about making non-destructive functions destructive?



--hsm
Title:
Post by: m i c h a e l on April 28, 2008, 08:34:49 PM
I posted that one last Wednesday (//http) ;-)



m i c h a e l
Title:
Post by: hsmyers on April 28, 2008, 10:30:27 PM
Why so you did! Silly me. Do we need an index yet?



--hsm
Title:
Post by: m i c h a e l on April 29, 2008, 12:36:36 PM
Still ahead of you :-)



Shell Games (//http)



m i c h a e l
Title:
Post by: Lutz on April 29, 2008, 01:19:27 PM
... there is also an index at the bottom of the documentation page: http://www.newlisp.org/index.cgi?Documentation
Title:
Post by: cormullion on April 29, 2008, 02:54:15 PM
QuoteMonday'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... :)
Title:
Post by: m i c h a e l on April 29, 2008, 09:10:19 PM
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
Title:
Post by: m i c h a e l on April 29, 2008, 09:20:22 PM
Tuesday's episode is about formatting data into strings:



Shell Games - Format (//http)



m i c h a e l
Title:
Post by: m i c h a e l on April 30, 2008, 08:14:56 PM
Wednesday brings us an existential episode:



Shell Games - Exists (//http)



m i c h a e l
Title: Miss filed, should be a request for another Shell Game...
Post by: hsmyers on April 30, 2008, 10:06:40 PM
How about a piece on copymem and its use for in-line assembler?



--hsm
Title:
Post by: m i c h a e l on May 01, 2008, 06:23:19 PM
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
Title:
Post by: hsmyers on May 01, 2008, 09:35:23 PM
Great! Then soon I can bring the Awesome Beauty of Fractals(tm) to newLISP!



--hsm
Title:
Post by: m i c h a e l on May 02, 2008, 08:22:55 PM
Friday's episode: loops. Friday's episode: loops. Friday's episode: loops.



Shell Games - Loops (//http)



m i c h a e l
Title:
Post by: cormullion on May 03, 2008, 03:19:55 AM
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.
Title:
Post by: m i c h a e l on May 03, 2008, 10:13:21 AM
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
Title:
Post by: m i c h a e l on May 03, 2008, 11:13:29 AM
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
Title:
Post by: m i c h a e l on May 05, 2008, 09:47:30 PM
Monday's episode is about reading and writing files:



Shell Games - Reading and Writing Files (//http)



m i c h a e l
Title:
Post by: m i c h a e l on May 06, 2008, 08:42:49 PM
Tuesday's episode is filtered and cleaned for your protection:



Shell Games - Clean and Filter (//http)



m i c h a e l
Title:
Post by: m i c h a e l on May 07, 2008, 09:47:17 PM
Wednesday's episode can expand your lists:



Shell Games - Expand (//http)



m i c h a e l
Title:
Post by: m i c h a e l on May 08, 2008, 09:19:14 PM
(reverse (rotate "T:etator dna esrever su sgnirb yadseu" -1))



Shell Games - Reverse and Rotate (//http)



m i c h a e l
Title:
Post by: m i c h a e l on May 09, 2008, 10:26:58 PM
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
Title:
Post by: m i c h a e l on May 12, 2008, 09:01:00 PM
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
Title:
Post by: rickyboy on May 16, 2008, 08:25:41 AM
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.
Title:
Post by: m i c h a e l on May 16, 2008, 10:13:43 AM
Quote from: "Rick"These vids are really nice, Michael!


Thank you, Ricky! I'm glad you like them.


QuoteI 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 ;-)


QuoteLike 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 ;-)


QuoteI 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
Title:
Post by: rickyboy on May 16, 2008, 05:28:41 PM
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
Title:
Post by: m i c h a e l on May 19, 2008, 08:54:44 PM
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!


QuoteI 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 ;-)


QuoteHats 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
Title:
Post by: m i c h a e l on May 20, 2008, 09:06:21 PM
Tuesday means it's local symbols day!



Shell Games - Local Symbols (//http)



m i c h a e l
Title:
Post by: m i c h a e l on May 21, 2008, 08:34:57 PM
Let's speed things up today with memoization:



Shell Games - Memoization (//http)



m i c h a e l
Title:
Post by: m i c h a e l on May 22, 2008, 08:27:45 PM
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
Title: A Strange Response to a Typically Excellent Shell Game
Post by: cormullion on May 23, 2008, 08:31:46 AM
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?
Title:
Post by: m i c h a e l on May 26, 2008, 08:42:54 PM
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
Title:
Post by: m i c h a e l on May 30, 2008, 06:53:25 PM
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.
Title:
Post by: newdep on May 31, 2008, 01:31:35 AM
Thank michael for the games... make sure they return ;-)



Great.. great story/programming mixture Curmullion!..hahaha
Title:
Post by: rickyboy on May 31, 2008, 09:45:26 AM
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.
Title:
Post by: rickyboy on May 31, 2008, 09:51:43 AM
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!
Title:
Post by: m i c h a e l on June 01, 2008, 06:10:33 PM
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
Title:
Post by: rickyboy on June 01, 2008, 06:23:27 PM
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.
Title:
Post by: newdep on June 02, 2008, 12:24:38 AM
(//%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)