[Edu-sig] Rich Data Streams

kirby urner kirby.urner at gmail.com
Thu Aug 23 21:39:31 CEST 2007


The idea of rich data structures was to take advantage of the
Internet by providing students with more meaningful precoded
data through which to plow.

Examples:

*  all the bones in the body as a tree structure (with some fancy
networking among skull bones)

* GIS info (I posted cities.xml from Winterhaven)

* the eight planets of our solar system, plus Pluto and Iris
(the latter owned by CBS (smile)).

The idea of a rich data stream anticipates Python 3's strong
powers around data bitting (new bit type), which'll make OO
dissection of IPv6 packets (legacy IPv4 packets) a cinch.

Kids'll groove in their ability to really dissect what's going on
over the wire (sniffed from the ether or whatever).

Rather than encourage too much interloping on neighbors' comm
channels (a favorite hacker pass time I realize), we need canned
data streams of a simplified "cave painting" nature, with known
solutions.

Like it'll be a goal of the packetsniffer.py package to zip through
these canned packets at high (enough) speed, and to spit back
reports on whether they're tcp or udp, used by which flavored
protocols and so on (you need ideas about protocol if you hope
to reconstruct the payload, for all but the simplest of containers).

Students will grow to understand tcp/ip by reading packetsniffer's
deliberately *non*-obfuscated source code.  What a relief to see
it all in Python, vs. staring at low-level C structs all the time.
Most would die of boredom before getting there.  Python keeps
it less boring.

I'm aware that the Python Community hasn't waited for Python 3
before beginning work in this genre.

Python has some of the more sophisticated networking tools
around, including flagship peer to peer bittorrent in wx.

Python is *truly* an effective language, which is why certain unnamed
schools of low standards prefer students to concentrate on maybe
Visual Basic or Java.  The former is toothless enough (minus the
ActiveX add-ons), and the latter is difficult enough, that relatively few
in those two camps are as likely to experience the free flowing and
comprehensible style we Pythoneers simply take for granted.

Tough luck for them, and best wishes on some next iteration.**

Kirby

** of course this rhetoric is full of false dichotomies, I realize.
Many of us who code in Python likewise enjoy Java and VB.NET
sometimes, or C# or whatever.  I came to Python via Java from
xBase (which I still use), and before that APL (which got me
spoiled on always wanting REPL).  So to heap scorn on BASIC,
which I'm not doing, is really ahistorical anyway.  There wasn't
any Python way back then, especially not on the ROM chip when
you booted the PC.  However, I *do* still oppose this misguided
"Python: the new BASIC" meme.  I think that's stupid, as it
overlooks Python's way stronger potential owing to its much
higher level of design sophistication.  "Python ain't yer
grandfather's BASIC" is the slogan I'd prefer.  Too bad JavaScript
is so poorly named, as it'd be a better runner up to Python
(because of the DOM) than most 2nd banana languages.


More information about the Edu-sig mailing list