[Edu-sig] Turtles all the way down (was Re: Tips ...)
Paul D. Fernhout
pdfernhout at kurtz-fernhout.com
Wed Apr 26 23:51:18 CEST 2006
kirby urner wrote:
> Ian Bicking wrote:
>>Personally I wish *I* could be insulated from more of this; leaky and
>>imperfect systems make this impossible at the moment. A strong
>>abstraction is great -- at some point you may need to understand what
>>that abstraction is built on, but even then it is nice to be able to
>>retreat back into the abstraction so you can focus on what's really
>>interesting and new that you are doing.
> That's nice if you're not just into escapist fantasy. Great to bliss
> out in a well-designed and productive environment, no one arguing with
> that. But that's no excuse for keeping kids clueless too long.
Isn't "abstraction" mathematically simplifying something somehow, or
creating an alternative mapping of part of the system to a symbol system
you are comfortable working with? And isn't "fantasy" making up new stuff
you like (even if only in your mind) from bits and pieces of ideas you
have experience with? So, isn't even much of GNU/Linux is an
"abstraction" away of many hardware details, like file systems are
abstractions hiding how many disk platter you have and what sectors are in
use, and "device nodes" are another abstraction, as are the "services" the
kernel provides? They could all be provided other ways (or not at all),
using other APIS, and are different on other computers and OSs throughout
history (and may well change in the future). And, by contrast, the Linux
kernel only a "fantasy" of Linus Torvalds (at one much earlier point, for
some short time before he set to coding). So, when kids learn the guts of
Linux, it seems they are still learning only an abstraction that was once
a fantasy. Maybe something to remind them about occasionally.
I liked Ian's point and your response because it reminds me of that Star
Trek:TNG episode where people think they are leaving the Holodeck, only to
find out later the ship they are in is still really just a virtual one and
they are still on the Holodeck. For all we know, this reality is just a
"escapist" simulation too: :-)
"Are You Living In a Computer Simulation?"
The more practice kids have mastering (and even creating or transcending)
various new-to-them systems of rules the more prepared they will be for
whatever life (or death :-) may throw at them down the road. Also, it is
in our choices of what systems of rules to learn that we make some of
life's hardest and most important decisions. So, by all means, it is good
to encourage kids to get into details (like inodes) underneath
abstractions (like files) when they want to, as a new and potentially
useful sort of set of rules to master. But, just remind them, there always
may be another layer of "turtles" :-).
A related motivational CP4E question for kids who have probably all see
the movie "The Matrix":
Turtle -> Python -> OS -> Hardware -> Physics -> Universe -> Turtle?
Of course, that question may be just too explosive for some classrooms?
To somewhat address the original "Tips" question, and to address a genuine
issue of computer literacy as GNU/Linux rises in dominance, and to address
this issue of mastering multiple levels of abstraction, perhaps kids and
even some teachers could be encouraged to make a tiny GNU/Linux
distribution to make a Python interpreter shell that boots from on a
diskette or USB stick or CDROM, and creates a RAM disk for classroom
experiments. It isn't that hard.
http://www.linuxlinks.com/Distributions/Floppy/ [has one already]
http://www.linuxfromscratch.org/ [general instructions]
Then you would have a custom Python which would be useful for wandering
faculty (assuming the admins let you reboot the machine, and it was
configured to allowing booting from removable media).
More information about the Edu-sig