Welcome news from UK (more Pycon promo)
I'm glad our UK math guy in residence, Sociality's Ian Benson, is planning to attend Pycon, just got his booking. We've been looking at interconnected computer science concepts and their applications in early mathematics education, namely: disambiguation (per Wikipedia, but a general concept), name collisions, namespaces. The first two are quasi-synonymous while the latter is our solution, a honkin' great feature of Python, while also the purpose of addressing more generally, URIs in particular. The Java world took the URI for the code's residence or source and turned that around ala net.4dsolutions.ocn.mathobjects, a kind of package name. That's actually harder to parse than simple "dot notation" though, where we just go: Apple.Safari Jungle.Safari OReilly.Safari Here students understand, from their own experience, how we disambiguate three meanings of Safari using "dot notation", with the prefix, like in Java, like in Python, having to do with "the source" (we hope open) or, more philosophically, "context" or "namespace"). I think a barrier to using dot notation in philosophical literature is authors have worried about all those periods interrupting the flow, i.e. how will our prose be uglified if we start going like Coxeter.4D to disambiguate from Fuller.4D, a name collision it's important to resolve, if you're going to anywhere with your Princeton philosophy courses. However, philosophy has the precedent of embedding lots of logic, going back to Bertrand Russell, Whitehead and before, continuing forward, attempting, some might surmise, to realize the Leibniz dream of machine executable codes. But no, those have already occurred, in computer science, but apparently workaday operational logic like Python, in charge of baggage carousels, air traffic control (small Siberian airport, nothing major), isn't "good enough" to merit much Ivory Tower attention. Leibniz can go blow, seems to be the prevailing attitude. However, the Wittgensteinians, with their blah blah about "language games", had the namespace idea already going. And a namespace is not just a dictionary, even though it's possible to treat one that way, as in O.__dict__. On the contrary, a namespace is more an ecology, something intricate. You may wonder how all this figures in to 'Python for Teachers', and you're right to wonder. There's a specific slide where I go: Fuller.4D Coxeter.4D Einstein.4D and then explain how the last two are disambiguated on page 119 of 'Regular Polytopes' (by Coxeter), whereas the first is presaged in the writings of Karl Menger, dimension theorist, and carries forward into our own time through a small bevy or writers. We have disambiguation problems galore, given popular ignorance of the whole idea of namespace. They give lip service to "context" but don't get its nuts and bolts importance in the Leibniz logics of our day. For example, the Wikipedia entry for Synergetics is mostly about some Springer-Verlag thing, not our American Transcendentalist writings. That's not really a problem, given how Wikipedia deals with this problem, is more just another good example, something to use in the classroom, when explaining the basics to philosophy students. Anyway, Ian keeps a lot of mathematicians in the loop besides just himself, isn't called Mr. Sociality for nothing. Kirby PS: I jumped in on Chipy on some Pyro vs. XML-RPC thread, mentioning my friend Patrick, a possible TA at our workshop (works for Synovate, Chicago-based).
On Fri, Jan 30, 2009 at 3:07 PM, kirby urner <kirby.urner@gmail.com> wrote:
I'm glad our UK math guy in residence, Sociality's Ian Benson, is planning to attend Pycon, just got his booking.
We've been looking at interconnected computer science concepts and their applications in early mathematics education, namely: disambiguation (per Wikipedia, but a general concept), name collisions, namespaces. The first two are quasi-synonymous while the latter is our solution, a honkin' great feature of Python, while also the purpose of addressing more generally, URIs in particular.
Actually, that was a bit sloppy of me. Disambiguation is what we need to do in *response* to name collisions, i.e. when people use the same word with different meanings, they're setting themselves up for confusion, unless and until we disambiguate. Namespaces to the rescue. import this... In Wittgenstein's writing, a "language game" was sometimes given the context of "a tribe" i.e. let's just imagine this ethnicity like in 'Lost' (in fact 'Lost' is a great example), all talking this certain way, doing these practices -- important to focus on language as an "embedded" activity, i.e. more than just tongue-wagging. His 'Philosophical Investigations' begins with some guy saying 'brick' and an assistant fetching a brick. Something like that, some program in action, objects at work. This somewhat anthropological approach has applications in our business, as our "tribal languages" have the feature of operating machinery (both light and heavy) i.e. they get the tribe's work done (as do all languages in some sense -- but the electronics bit is new, something Leibniz was dreaming about, Ada too -- and so now we have tribal data centers). Wittgenstein would invent language games to "tease out" or "isolate" what we might today call "design patterns" i.e. typical superpositions of behaviors and sayings, re-encountered in varying circumstances (deja vu!) but all with a "family resemblance" e.g. "board games" or "sports involving sliding downhill in on snow" or "commanders giving orders in battle". In terms of practicing our profession, what it comes down to is geeks want to understand their own work, and so pick memorable key terms, likely to help them understand their code latter. They'll name their objects Bridge, Queue, Topic, Apache, Dwelling -- all in the public commons, available to anyone, but then if you go around relying on others' work, bringing it into your own, you don't want to confuse every Bridge with every other Bridge and so on, or the code with break down. Hence name collisions as a possibility (a danger, risk), hence namespaces (a solution), signified in dot notation. I realize this all sounds rather trivial and obvious to Pythonistas, as natural as snake's milk on breakfast cereal. However, philosophers have been slogging along with paper and pencil notations, not forced to think like computer scientists the way those Mathematica people had to, when disambiguating a few of those pre-computer math notations, rationalizing 'em to make 'em more machine-worthy. To many philosophers, our "namespaces" concept will seem a revelation, a honkin' great idea, the harbinger of liberal arts still to come. Many philosophers, confronted with Bucky Fuller's divergent meaning for "precession" for example, would suggest he use a completely different word. Or they'd say (more generally): if you don't mean by "gravity" what I mean by "gravity" then how about you say "shmavity" instead? This is a very awkward approach to disambiguation, not a good solution to the name collision problem. They're not thinking like programmers. Python's solution, and dot notation more generally, is far more logical and apropos. We're lucky we have it. As Python teachers, we're already ahead of 90% of the practicing philosophers out there. Kirby
participants (1)
-
kirby urner