[Edu-sig] Bootable Python CDs?

Paul D. Fernhout pdfernhout at kurtz-fernhout.com
Thu Apr 27 14:18:49 CEST 2006


Laura Creighton wrote:
> So bring-your-own distribution
> is the way to go.  The only tricky thing is making sure that the
> students -- who want to save their own work on a CD -- actually
> do this properly.

Wow, I had not even thought about students saving their work beyond to a 
RAM disk for the session. Nor had I really thought they would take the 
initiative to use a CD-ROM burner, but I guess those are common in school 
labs now? And I can see how it would be tricky, if you boot from a CD, to 
be able to write to a CD, since the system often has to load applications 
or libraries from CD. Any tips or pointers to links for managing this 
properly? I think I did it once, but I think I used an external USB 
writer. Here is a tip on that which seems to imply you need two CD-ROM 
drives (one for reading, and one for writing)
  http://www.eleli.de/knoppix/docs/tutorial/english/k3b.html
Sounds then like the ideal computer set up, from the point of traveling 
faculty, would be a lab full of machines that may have no hard disk but 
have a CD-ROM reader (or even DVD-ROM reader, for bigger distros) and also 
a separate CD-ROM burner (so students can save their work like they used 
to do with floppies, but not worry about being able to eject the CDROM the 
disto is running from). I've seen these two-CD machines in stores, I 
wonder if they are common in computer labs or classrooms these days?
Or does anyone carry around a few external USB CD-ROM burners with them 
for kids to use to save their work?

USB Flash drives with 64MB these days are about $10 retail, so is it 
possible to expect people to bring their own, or alternatively give them 
out in class to keep (if it was a paid gig), to use to save their work 
from done from the bootable CD? Do computer lab PCs in schools now 
typically have at least one up-front USB ports for easy access?

Of course, how important is it in in most cases for students to really 
save their work from playing with Python for one session? Is this really 
needed?

And now, another thought, maybe if there was some easy way to save your 
work to the Python site or some other web hosting service (gmail?) then 
you would not need to worry about kids writing their stuff to CD or USB, 
they could just run some magical Python application that would stash their 
Python work on the network somewhere for later retrieval. I can see the 
value of that as something to consider building into a Python educational 
environment.

I know, for me, this newer 2005 version of Knoppix with the UnionFS
http://www.oreillynet.com/sysadmin/blog/2005/03/knoppix_38_and_unionfs_wow_jus.html
is a big deal in my own use (since I often wanted to use some package that 
was not up-to-date on them, but I had a network). With UnionFS in Knoppix 
you can boot and still grab new packages with apt-get from the network 
transparently. So, if you are going to a computer lab with network access 
  to the outside world (is this taken for granted these days in the USA?) 
then you could boot with either a plain or a somewhat customized Knoppix, 
but still get users to download the latest Python and version of other 
learning software from the network with a command line "sudo apt-get 
install package-name".

Probably more chance of things going wrong relying on a network, but less 
need to update your CDs every time you make some change to your 
demonstration environment. For example, you could keep the latest Python 
learning environment on your own web site or publish it through Debian, 
but have the lab all boot a customized Knoppix with an apt sources file 
which includes a reference to your own web server if needed. Then, you 
have at least the older version of your stuff on the CDs, but you also 
have the option of getting newer stuff. Still, it seems like a pain to 
burn dozens of custom CDs (when you can get them for a dollar or even free),
   https://shipit.ubuntu.com/
so working with off-the-shelf solutions like an Ubuntu Live CD and having 
the kids fetch and install your own specific latest Python software off 
your website using the network is easiest (if you can trust the network to 
be there). Though that would take getting everyone to type at least few 
lines on the command line, one to fetch the package from the web to /tmp 
"cd /tmp; wget http://myserver/wonderful_python_educational_app.deb", one 
to install it with "dpkg -i wonderful_python_educational_app.deb", and one 
to run it "wonderful_python_educational_app". Of course this could also be 
done without apt if you just had an archive with a regular directory you 
unpacked to /tmp and then did a
"python wonderful_python_educational_app.py".

I like the notion too that you could burn CDs for people to take home to 
do stuff there too.

I remember when the NeXT system with the first magneto-optical drives came 
out, and the big excitement was people could have their whole environment 
on a 256MB disk to take with them and boot from and do their work on 
public computers. It sounds like this is being realized to an extent for 
everyone now with bootable CDs. So, the free licensing of GNU/Linux is 
making a real difference then in what educators can accomplish with Python 
in computer lab on a practical basis (since you could not legally burn 
your own CDs with Windows or Mac OS/X on them, without special 
arrangements with those companies).

By the way, not so sure about Mac labs; that would take a separate distro, 
like a bootable CD of YDL (Yellow-Dog Linux) if such exists?
   http://www-128.ibm.com/developerworks/library/l-ydlg5.html
   http://www.terrasoftsolutions.com/products/ydl/
Anyone successfully boot Mac labs with YDL CDs to run Python under 
GNU/Linux? It looks like you can do it other ways though to use stuff from 
Apple:
   http://en.wikipedia.org/wiki/LiveCD#Apple_Macintosh_OS-based
(but I am not sure about the licensing issues there either for personal or 
lab use). Here is recent discussion implying Ubuntu will do it too:
   http://www.htmlforums.com/archive/index.php/t-69520.html
and it looks like some success with the latest Intel macs:
   http://digg.com/apple/Ubuntu_Live_on_Mac_Mini_with_Ease_
and looking further, looks like it is definitely doable in theory with Ubuntu:
   http://www.ubuntuforums.org/archive/index.php/t-21233.html
(whether that works in practice in Mac labs is a different story, of course).

So, it sounds like with a bunch of CDs, some for Intel/PC and some for 
PPC/Mac, itinerant faculty could (theoretically) handle working in a known 
environment with current Python support in a lot of computer labs. And 
then they could possibly also download the latest specific environment 
they wanted through the network if there was one (or alternatively, 
distribute the latest environment from a few USB FLASH drives passed 
around the lab?)

Thanks for all the other replies (that robot oriented Python distro looks 
like a lot of fun!) It sounds like it is a real possibility in many 
situations in education to either use off the shelf Knoppix-derived 
bootable CDs, or alternatively rolling your own GNU/Linux distro, to make 
sure the lab is running Python (or another app) the way you want (at 
least, for Windows/PC labs). And what's more, it's actually being done in 
practice by some.

--Paul Fernhout



More information about the Edu-sig mailing list