[Edu-sig] Tips for wandering faculty

Ian Bicking ianb at colorstudy.com
Wed Apr 26 20:21:31 CEST 2006

kirby urner wrote:
> Yes, a Linux system is huge and complicated.  No, I don't favor
> "insulating" students from that hugeness, by constructing some dream
> world atop it and inside it, but unaware of it.  This whole idea that
> we must "protect" students from this context is an anathema to me, as
> it's hypocritical.  The people who *build* your pseudo or virtual
> reality need to know about these underlayers, these pipeworks and
> clockworks.  Their not wanting to clue you in is a sign they're not
> treating you as a peer, but as a rat in some maze of their own
> devising.

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.

There's a bunch of examples of this which I think are uncontroversial. 
Things like GC, pointers, characters (which are missing in Python), 
TCP/IP (which few people access directly anymore), the underlying 
mechanisms of threads and processes, and a bunch of other things that 
are so basic I have a hard time remembering they exist.

Anyway, tangential to this, but maybe useful, I wrote a script to create 
isolated Python environments that doesn't require the cooperation of the 
system Python installation: 
http://blog.ianbicking.org/workingenv-revisited.html -- it may be useful 
for educational environments as well; easy to set up, and easy to throw 
away if you mess up your environment.  Though it's dependent on 
PYTHONPATH, which isn't very accessible in a typical Mac or Windows 
environment (unless you are using one of those in a unixy style); 
hopefully someone familiar with those environments can suggest something.

In this case, I think the status quo -- which forces you to think about 
the entire system, package management, etc -- is simply dumb.  It's dumb 
for experienced programmers and dumb for newbies.  For experienced 
programmers the status quo is sloppy and implicit; for newbies the 
status quo is dangerous and inaccessible.  Neither group is well served. 
  Kind of like manual memory management... we shouldn't mistake design 
problems for deep and useful ideas.  There's hard and deep and useful 
ideas too; I'm just pointing out that not all hard things are deep or 
useful ;)

Ian Bicking  /  ianb at colorstudy.com  /  http://blog.ianbicking.org

More information about the Edu-sig mailing list