[Edu-sig] CP4E VideoPython learning to teatch / teaching to learn ..[xpost: was {'cpl',"don't laugh"}]

Jason Cunliffe jasonic@nomadicsltd.com
Fri, 15 Sep 2000 14:02:42 -0400


Hi Steve

Thanks for your kind reply..

----- Original Message -----
From: Steve Litt <slitt@troubleshooters.com>
To: <edu-sig@python.org>
Sent: Friday, September 15, 2000 11:36 AM
Subject: Re: [Edu-sig] CP4E VideoPython learning to teatch / teaching to
learn ..[xpost: was {'cpl',"don't laugh"}]
> You might be pleasantly surprised running Python under Linux instead of
> Windows. All that registry and autoexec stuff goes away. I've never used
> Python under Windows, but I bet some of your frustrations were Windows
> based, not necessarily Python based. I used to use Activestate Perl under
> Windows, and it was really quirky. Perl under Linux does exactly what it's
> supposed to (or at least as predictably as a "pathetically eclectic
rubbish
> lister" can be).

Yes I agree some problems no doubt are Windows related.
But that is my reality and others too. I do a lot of graphics and multimedia
work, use a lot of applications which are not unfortunately available yet on
Linux, and though I am very interested in the OS, I am even more interested
in the applications and my files.
I like Python very much because it is so portable. I really want to put it
to that test and become adept with it on any platform.
Boa and wxPython for example. Zope and Python External Methods for another..

<start Linux on laptops rant>
About 3 months ago I did take a few days out, my older 233mhz Acer Laptop,
cleaned off some space, and installed first Corel then Mandrake 6.5 Linux on
it. Worked pretty nice, but I did not have enough disk space :-() and I
could not get any modem of Ethernet to work yet with it. rats..
It did motivate me to add some RAM which was the best $100 I spent in a long
time. wow what a difference.
When I have time I plan to catch up on latest Linux laptop voodoo tips and
try again..but I know in reality I have to schedule for several lucid
sequential days of backups,  re-organizing and logging in online to find
just-the-right-info(tm).
Plus maybe a new modem / Ethernet card with compatible drivers...arghh.
It will be worth it  when its all over. I will be wiser..  Maybe I will make
this a dedicated Linux Python laptop.

Meanwhile a new project this year budgeted me to buy a lovely Sony VAIO F450
which came with Win98se installed right now.
Beautiful screen and digitalvideo i/o [iLink= Firewire]. get right to work.
Fabulous. There _is_ enough hard disk space to install Linux on the other D:
partition but that kills the essential D:drive swap disk you need for any
video capture.. a possible solution is invest in a fabulous VST firewire
drive. [no budget left for that this year]
http://www.vsttech.com/vst/products.nsf/firewirepl?OpenView&Start=1&Count=30
&Expand=1#1

Dream#1
I _wish_ it had an 40Gb internal hard drive plus all the appropriate sounds,
graphics, DVD, PCMCIA, iLink and printer drivers.
Then I could run VMWARE and have everything virtual below that, Linux, Win32
etc.. But I am in the middle of a project and cannot afford the 2+ weeks it
might take to reformat and reinstall a lot of stuff to see IF I can get
Linux working satisfactorily on this pretty box. I doubt it will support the
graphics properly yet.
http://www.vmware.com/

I know it will run, because there is company selling Linux ready installed
on these SONY models and I checked out the Linux Laptop pages and
newsgroups..
Very close to get it happening but this stuff still takes a lot of time and
risk of downtime and reinstalling apps etc..

Dream #2
Put a smooothly running Linux on an external drive connected via SCSI or
PCMCIA and be able to use that drive as a free traveling instant Linux in
your pocket solution. I am some of the way along towards realizing this
dream. I invested in a Bullet Drive Express [$130] + 10Gbdrive
http://bondiboard.macpublishing.net/pages/december.98/Reviews.4581.html
http://www.igo.com/cgi-bin/ncommerce3/ProductDisplay?prmenbr=1&prrfnbr=19920
&cgrfnbr=63&crpcgnbr=&top_crccgnbr=&bot_crccgnbr=

I need a few calm days to get this one properly organized - it is sitting
here staring at me right now.
Let's see
- backup everything on CDROM and/or ORB removable drives
- format nonsense
- boot partitions..
- figure out how to get it to see: the_list_of_stuff_you_need = [ the CDROM,
the DSL, the Ethernet, the graphics display, the touch-pad, the mouse, the
standby[ouch] and power management buttons]
- then the config install fun begins - : Zope, Python, Python packages, PIL,
Blender, FreeGIS, Gimp, POVray, ...[Flash plugins], Email apps.. daemons and
PDF viewers etc..
- Yay: now get programming!!

Dream#3
shop around and get a cheap new/old generic desktop PC which will not have
all these early adopter laptop Linux headaches and just do it from scratch.
Dream#4
[to be continued]

I like all computing platforms for what they do well, and love to critique
them for what they do not.
Let's see.. my personal experiences so far have led from: RadioShack
Model100[the original laptop 8linesmonochrome300baud], through several
charming Amigas to Macintoshes to Sun Sparcs to Silicon Graphics Indigo back
to more Macs, and later to Win3.1, Amiga runnning a Mac emulator
[outrageous!], WinNT, Win95, Win98, now Linux a little..BeOS, soon a lot
more. [have you seen the new Mac emulators
http://www.emulators.com/softmac.htm]
</end Linux on laptops rant>

> You mentioned the following:
> >Personally I would love to spend a couple of hours sitting next to an
> >experienced Python programmer who could show for example the process of
> >putting to together a program, testing it, shaping, how they react to
error
> >messages, how they sculpt the code, how they might look at the problem a
> >couple of ways, how they use the tools, how many windows open, what they
> >look
> >at.. the real-world rhythm of a few hours in the life of a python
program..
> >even better if this was intelligently structured and re-playable with
> >examples. It would be nice to have a human being talk and type me through
> >some code.
>
> Are you sure you don't already know that stuff? My experience tells me
that
> the "how tos" you mention above are language independent (assuming the
> language is oop and topdown capable like Python, Perl, Java, C++ (no MFC
> please), Delphi and the like).

Yes you are partly right here.Hopefully the how-to's in many instances are
independent as they should be.
Python is clean and interactive enough to allow rapid demonstration and
exploration.
But as part of the big experiment where I am part observer, part guineapig,
part instigator, I do feel that Python is very good language for learning
computer programming hands-on. Learning through python,  rather than
learning python, if you see what I mean. Of course I want to learn python.
But I am interested to learn it in a way which goes beyond that.

This is the same argument I make for why a 12 year-old could get a great
intro to programming using Flash5 or LegoMindstorms.

I feel the same way about music software too.
For a fascinating example of object-oriented programming download a copy of
Tim Thompson's KeyKit:
http://nosuch.com/keykit/

Getting one's head around  abstract structures is easier for many if there
are tangible metaphors like sound or image which provide rapid feedback. So
many computer programming tasks or examples are based on real-world problem
solving, but in my opinion are not so good for beginners, piping files
around, making listboxes and yet another boring little application is ok,
but not very inspiring.
I suspect music and graphics for many are more motivating and encourage both
abstraction and real-world problem solving.
This was part of the insightful premise of LOGO after all.

hmm..Let's see I am looking for metaphor..
ok
You can learn a lot about music sitting with a good piano teacher. you will
learn some piano, but the right teacher will use the piano to teach music
structure, composition, improvisation, style, etc.
As I understand it this is what underlies the CP4E idea and others.

> Once you've cleared the basic language-independent programming methodology
> hurdle (which you sound like you've already done), the next step is the
> language-specific "riffs" that make coding in your language more
efficient,
> readable and easy. This is what you were discussing with import,
> os.getcwd(), os.chdir(), '__dir__','__builtins__', '__doc__', '__name__'
to
> the mysteriously named, ubiquitous,>but frequently blank files named
> __init__.py.

Right. riffs is a good way to put it..

> Jason, I think you should write a tutorial on all that stuff. You seem to
> have the curiosity and love of programming to do it. Maybe I can help you.
>
> Steve

Thanks for the encouragement.
I would love to take you up on the offer.
Where are you based and how do you think you can help?

best wishes
- Jason
________________________________________________________________
Jason CUNLIFFE = NOMADICS.(Interactive Art and Technology).Design Director