[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).

--Paul Fernhout

More information about the Edu-sig mailing list