From kirby.urner at gmail.com Sat Jul 1 01:26:09 2006 From: kirby.urner at gmail.com (kirby urner) Date: Fri, 30 Jun 2006 16:26:09 -0700 Subject: [Edu-sig] PataPata 0.1.19 release & Stigmergy In-Reply-To: <44A46917.9060003@kurtz-fernhout.com> References: <44A05C68.5575.3F4D8F5A@da.ajoy.gmail.com> <13a83ca10606281102s2532bbf6vd102b7a845250741@mail.gmail.com> <44A32B73.2090707@kurtz-fernhout.com> <44A46917.9060003@kurtz-fernhout.com> Message-ID: > faster and in a more maintainable way, whereas PataPata attempts to give > you a live world of Python objects where some of those objects are Morphs > and non-visual Prototypes. > Something we're used to from Visual FoxPro (not all classes are visual). > so if PataPata picked up some I would expect PythonCard might lose some. Very speculative. At the moment, I'm doubting it. > > So actually related in some sense I guess. > Yes. > Maybe it would be kind of like people building geodesic domes by someone > fiddling with some construction materials and then making a triangle, and > then other people getting excited and making triangles and linking them up > to the first triangle, and then a whole dome somehow going up. Now, this Yes, Dick Fischbeck http://profiles.yahoo.com/dick_fischbeck -- we met once in Applewhite's apartment -- does these "randome" things where you don't have to prefigure any math. Just pinch for concavity/convexity, staple together, and you're done. > people who are deaf, blind, and mute building a geodesic dome by just > helping each other add parts? > Sounds like some kind of emergency operation, not done with optimum planning or forethought. To be avoided if possible, or perhaps simulated. > prototypes. So, some emergent behavior is there as well, mediated by this > mailing list around some common interests related to Python and education. > > --Paul Fernhout Yes, that's the open source way I'd say, a kind of "development by Ouija Board" approach -- and the amazing thing is: it works, and produces beautiful code. Kirby From kirby.urner at gmail.com Sat Jul 1 01:38:50 2006 From: kirby.urner at gmail.com (kirby urner) Date: Fri, 30 Jun 2006 16:38:50 -0700 Subject: [Edu-sig] testing identitycheck.py Message-ID: """ So I wanted to test "handedness" in Python, around operators, by equating two different instances, each of different parentage. One sees they're the same, the other begs to differ. IDLE 1.1 >>> from identitycheck import testit >>> testit() a == b? False b == a? True Original context: a thread on the Math Forum: http://mathforum.org/kb/message.jspa?messageID=4866533&tstart=0 >>> """ class A: """ Begs to differ """ def __eq__(self, other): return False class B: """ I see we're the same """ def __eq__(self, other): return True def testit(): a = A() b = B() print "a == b? ", a==b print "b == a? ", b==a if __name__ == "__main__": testit() From kirby.urner at gmail.com Sat Jul 1 01:44:25 2006 From: kirby.urner at gmail.com (kirby urner) Date: Fri, 30 Jun 2006 16:44:25 -0700 Subject: [Edu-sig] Not true right? Message-ID: So is there any truth to the rumor that Guido plans to make __ at __ something we can overload at the module level, such that the new decorator syntax becomes as playdough in the hands of a skillful programmer? I hope not. Kirby From kirby.urner at gmail.com Sat Jul 1 02:41:42 2006 From: kirby.urner at gmail.com (kirby urner) Date: Fri, 30 Jun 2006 17:41:42 -0700 Subject: [Edu-sig] More on wxPython Message-ID: I meant to mention, speaking of wx and its second-banana status in Pata**2: I snarfed up Robin's and Noel's 'wxPython in Action' @ Powell's Technical today, paying full retail. I read Robin's intro and just got hooked again. It really is a powerful system. Sometimes I get all starry eyed dreaming about elegance, and turn my back on every working option available. But what's so elegant about pining for some end-of-the-rainbow GUI development system. How about all the hours in the meantime, until it gets here, what should I do with them? wxPython is definitely worth exploring. I also bought the latest Make: did I mention? Mostly for Tara (lots of robots in this issue). Oh yeah, mentioned that over on Math Forum again [1]. Tensegrity is a math topic, handled in Elastic Interval Geometry for example (already well developed and sometimes a topic in my Pythonic math classes @ psu.saturdayacademy, even though most the open source isn't in Python).[2] The link to my site is on pg. 105. Kirby [1] http://mathforum.org/kb/message.jspa?messageID=4867776 [2] http://www.darwinathome.org/ From guido at python.org Sat Jul 1 04:59:52 2006 From: guido at python.org (Guido van Rossum) Date: Fri, 30 Jun 2006 19:59:52 -0700 Subject: [Edu-sig] Not true right? In-Reply-To: References: Message-ID: On 6/30/06, kirby urner wrote: > So is there any truth to the rumor that Guido plans to make __ at __ > something we can overload at the module level, such that the new > decorator syntax becomes as playdough in the hands of a skillful > programmer? I was more thinking massage oil. :-) There can be truth to the rumor if you want to; just propose a meaning and it will magically become true (sort of like the room of requirement in Harry Potter). But why is there an ad about "George W Bush Humor" showing in my gmail window next to this thread? -- --Guido van Rossum (home page: http://www.python.org/~guido/) From pdfernhout at kurtz-fernhout.com Mon Jul 3 02:58:20 2006 From: pdfernhout at kurtz-fernhout.com (Paul D. Fernhout) Date: Sun, 02 Jul 2006 20:58:20 -0400 Subject: [Edu-sig] Big thanks to Ian Bicking for metaclass ideas for PataPata Message-ID: <44A86BAC.40202@kurtz-fernhout.com> Ian- I just wanted to publicly thank you for your suggestions, help, and patience here on this Edusig list getting me (and PataPata) started with using metaclasses to define prototypes (using the "class ProtoFoo:" syntax), for example your note here: http://mail.python.org/pipermail/edu-sig/2006-May/006383.html I just started using a metaclass approach inspired by your comment there for the main WorldCommonTK.py library, viewable here: http://svn.sourceforge.net/viewcvs.cgi/patapata/trunk/PataPata/WorldCommonTK.py?view=log After a lot of work :-) I could just open the old code written by hand in a more procedural way in PataPata and write it out that live world of prototypes in the new metaclass way. (I did lose some comments I may want to put back in eventually though, probably in some sort of overall "comment" property or in the documentation for specific properties.) For reference, you can see the old approach here: http://svn.sourceforge.net/viewcvs.cgi/patapata/trunk/PataPata/WorldCommonTK.py?view=markup&rev=237 So, here is an example from that WorldCommonTK.py file (again, wrapping Gregor Lingl's xturtle library) of how you can now define a prototype in PataPata using the "class" syntax (and stored as a global to use elsewhere) somewhat along the lines your outlined: class XTurtleCanvas("Morph"): __metaclass__ = world.buildPrototype pen = None size = (200, 200) def _destroyEmbeddedWidget(self): if self.widget: if xturtle._canvas == self.widget: xturtle._canvas = None if xturtle.pen == self.pen: xturtle._pen = None self.widget.destroy() self.widget = None self.setAttributeWithoutSideEffects("pen", None) def _newWidget(self): xturtle._root = self.world.widget newCanvas = xturtle.ScrolledCanvas(self.container.widget) xturtle._canvas = newCanvas self.setAttributeWithoutSideEffects("pen", xturtle.Pen()) xturtle._pen = self.pen return newCanvas def userInterrupt(self): xturtle.TurtleScreen._RUNNING = 0 def windowFocusIn(self): if self.widget: xturtle._canvas = self.widget xturtle._pen = self.pen _property_writeFunction_pen = '_store_None' _property_copyFunction_pen = '_store_None' world.worldGlobals['XTurtleCanvas'] = XTurtleCanvas [You can also see the older xturtle wrapping approach in my earlier "re: News about turtle graphics" post to the Edusig list.] Notice how I also added inline support for defining properties (anything starting with _property_ is processed as a property directive). I also used a builder function "__metaclass__ = world.buildPrototype" instead of a metaclass, and that builder function is actually a method of an existing world; all prototypes need a link back to the world they are in, in the current approach, so it was either that or some other initialization code with a module or class global. Notice also how what would normally be shared class variables (e.g. "pen" or "size") are instead now more like local prototype "instance" variables. And here is actually using the global prototype in another file (WorldExampleTK.py): http://svn.sourceforge.net/viewcvs.cgi/patapata/trunk/PataPata/WorldExampleTK.py?view=markup class proto17("XTurtleCanvas"): __metaclass__ = world.buildPrototype pen = None position = (38, 377) widget = None For reference, I made a decision a long while back to explicitly require naming prototypes before you could derive from them (for development clarity). There is no reason you could not link directly to other prototypes, and I used to do that, and it was more work to make the indirect lookup through a globals dictionary, but I'm hoping that explicitness make "documentation of intent" clearer. So, what is going on here isn't quite copying or cloning, it is setting a "self.traits" array to have one or more strings, which are then used to look up properties and values if they are not locally defined in the prototype itself, so something like multiple inheritance from named base classes. You can then override behavior locally or otherwise modify the globally named prototype you have as a trait. Anyway, thanks again for your help and suggestions, Ian. All the best. --Paul Fernhout From wescpy at gmail.com Wed Jul 5 23:40:25 2006 From: wescpy at gmail.com (w chun) Date: Wed, 5 Jul 2006 14:40:25 -0700 Subject: [Edu-sig] ANN: (Intensive) Intro to Python course, Aug 16-18, San Francisco Message-ID: <78b3a9580607051440j9779487u48331bf26018d83d@mail.gmail.com> Greetings! Below is the announcement we've just made this morning to CLP about our upcoming Python course. Please forward this msg to anyone whom you think would be interested or would benefit from Python training courses. This includes Plone, Zope, Django, TurboGears, and Mailman groups as well. http://mail.python.org/pipermail/python-list/2006-July/350187.html Significant discounts to students/teachers! Thanks for your time! -Wesley - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - "Core Python Programming", Prentice Hall, (c)2007,2001 http://corepython.com wesley.j.chun :: wescpy-at-gmail.com python training and technical consulting cyberweb.consulting : silicon valley, ca http://cyberwebconsulting.com From kirby.urner at gmail.com Fri Jul 7 01:55:00 2006 From: kirby.urner at gmail.com (kirby urner) Date: Thu, 6 Jul 2006 16:55:00 -0700 Subject: [Edu-sig] Teaching Python to Technologists Message-ID: I've pretty much finished up my small contract with Bernie's geokem.com, which involved two scopions in a jar: a Python scorpion versus a Java scorpion (I was the Python scorpion). Bernie had us fight it out, in a kind of double blind experiment, with himself as referee (only he could see who was winning). I dwelt on the dictionary (as a built-in data structure) and the csv reader (native to the Standard Library csv module) as especially relevant to his work. Numeric indexing of large tables introduce extraneous X,Y coordinates where the original spreadsheet had more mnemonically meaningful axes: sample IDs (rows) vs chemical names (columns). A dictionary of dictionaries will take you to any cell on the spreadsheet -- e.g. samples['HAWAII0626']['FeO2'] -- and this is *especially* useful when the community has no agreed upon order for the columns (the rows are by definition unsorted as well). If you're going to analyze something as quicksandy as a csv file with ever-shifting column headers, better to use names, not positionality, to grab values. A numeric index approach is too risky -- you might actually get a working GIGO program, and not know the chemicals you wanted were now ordered differently. My solution guards against that sorry outcome. I wrote it all up in a 10 page PDF, plus provided working source code, a lot of it built around Python geokem had already internalized (Bernie used to write everything in Pascal). What I've found interesting about teaching Python to technology professionals is a lot depends on imparting our somewhat unfamiliar jargon. For example, the first row of the csv file is different from all the others, in that it contains headers (chemical names). Then these particular files have footers as well, separated from the data block by blank lines. So rather than using a for loop, I used a while True, with a .next() method. It's that .next() that's confusing. What does it mean? Well, the csv.csv_reader returns an iterable. So I use .next() the first time to parse headers, then loop inside a while loop until a blank line is encountered, building a dictionary as I go. Even regular open file objects have a next method (not to be used in combination with readline). I ended up explaining this by means of StringIO (which simulates file objects using strings). As to whether Python or Java won this particular bout, I think New Zealand is a little behind the times (still teaching C++ as a first language in CS). However, my hash table approach, getting away from integer indexing, may at least inform the Java-based solution, as it'd be no trouble to use the same approach in that language. Anyway, I think Bernie is sold on the value of Python. It's more just rumors (about Python being "undocumented" for example) which slow its acceptance in a knowledge domain (geochemistry) that could really use some computing savvy. Per Bernie, most geochemists use their PCs for email and word processing and that's about it. The ability to program is a lost art across the board, in many sciences as well as the humanities. Kirby From da.ajoy at gmail.com Thu Jul 6 23:58:40 2006 From: da.ajoy at gmail.com (Daniel Ajoy) Date: Thu, 06 Jul 2006 16:58:40 -0500 Subject: [Edu-sig] rich data structure? Message-ID: <44AD4140.11359.57C8FCF@da.ajoy.gmail.com> The natural resources of countries and some other entities http://www.xist.org/earth/ec_natres.aspx Daniel From kirby.urner at gmail.com Fri Jul 7 04:21:46 2006 From: kirby.urner at gmail.com (kirby urner) Date: Thu, 6 Jul 2006 19:21:46 -0700 Subject: [Edu-sig] rich data structure? In-Reply-To: <44AD4140.11359.57C8FCF@da.ajoy.gmail.com> References: <44AD4140.11359.57C8FCF@da.ajoy.gmail.com> Message-ID: Yeah, that kind of thing. But now we need a screen scraper or something, as a rich data structure is legal Python the way I'm using it. XHTML doesn't count. Kirby On 7/6/06, Daniel Ajoy wrote: > The natural resources of countries and some other entities > > http://www.xist.org/earth/ec_natres.aspx > > Daniel > > > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > http://mail.python.org/mailman/listinfo/edu-sig > From kirby.urner at gmail.com Fri Jul 7 18:05:06 2006 From: kirby.urner at gmail.com (kirby urner) Date: Fri, 7 Jul 2006 09:05:06 -0700 Subject: [Edu-sig] Teaching Python to Technologists In-Reply-To: References: Message-ID: > Per Bernie, most geochemists use their PCs for email and word > processing and that's about it. The ability to program is a lost art > across the board, in many sciences as well as the humanities. > > Kirby Speaking of Java, it's very easy to talk to a Java programmer about Python. For example, newf = iter(f) is about wrapping f in the "interface" of the iterator type. Whereas Python relies on duck typing versus formal interfaces with compile time checks, the concept is transferrable: if you implement this list of methods, you're an iterable, or if you want to *make* something an iterable, just feed it to iter() (doesn't always work, but hey, worth a try). Likewise StringIO is about wrapping strings with a file type interface (which includes the iterable interface), and so on. But when speaking to non-CS trained scientists, we don't have these common namespace elements to fall back on. I think this is what CS0 should focus on providing: enough of a common language to help with learning relevant skills later in life. Somewhere along the line, we may have dropped the ball, as the level of computer literacy among today's scientists, if Bernie is right (and he interacts with a *lot* of scientists) is really very low. That's bad for all of us. A lot of computers are plugged in, burning joules, but not doing the important work they could be doing. This idea of "hard fun" or "programming for the fun of it" is part of what we need to inculcate. And by the way, I don't think it's just in the computer arena that scientists could use more skills. They'd benefit from better video making skills as well. There's too much reliance on people in other fields, not enough self-sufficiency, in our academic departments. That's supposed to be a feature, not a bug, but it's a bug when you lose overview or anyone able to coordinate among the pieces (all specialists, no generalists -- pretty much the case today). Kirby From kirby.urner at gmail.com Fri Jul 7 22:40:26 2006 From: kirby.urner at gmail.com (kirby urner) Date: Fri, 7 Jul 2006 13:40:26 -0700 Subject: [Edu-sig] Kusasa Message-ID: For those of you interested in Mark Shuttleworth's Kusasa Project, I have these wiki links to share, from the wiki. Project Charter - http://wiki.tsf.org.za/Project_Charter Scope Statement - http://wiki.tsf.org.za/Project_Scope Kirby From ajsiegel at optonline.net Mon Jul 10 16:46:22 2006 From: ajsiegel at optonline.net (Arthur) Date: Mon, 10 Jul 2006 10:46:22 -0400 Subject: [Edu-sig] The best way to predict the future... Message-ID: <44B2683E.60303@optonline.com> ...is to predict the future. Which I think I did fairly well, when I began - some 5 years ago - talking about the ideas of Alan Kay as extremely relevant to the business of edu-sig. What I seem to have gotten wrong is the fact that giving forum to those ideas; praise, implicit and explicit of those ideas; encouragement to the Python community to embrace those ideas is what is relevant. Critique of those ideas, encouragement of the Python community to resist them and to work to create a viable alternative to them is what is not. My bad. My effort at creating , informed by an alternative world view, is progressing. Many of the suggestions that Andre had given me when I asked for some feedback here earlier have been implemented. Lot's of hard work. Including extending/abusing the framework of the pudge automated documentation generation tool to, I think, pretty good effect. See http://pudge.lesscode.org/ for the tool: and http://pygeo.sourceforge.net/docs/module-base.geometry_real.html for example output. I have worked out one thing that was bothering me, i.e. lack of control on the ordering of modules in index documentation and such, but have not put up the new output as of yet. Beyond the auto-generated docs, a Overview document has been written that is an effort to express PyGeo's vision of itself. http://pygeo.sourceforge.net/docs/Overview.html as well as a document in progress on approaching the PyGeo application code as a readable document, geared toward those without prior experience in undertaking such an effort. http://pygeo.sourceforge.net/docs/codeanatomy.html PyGeo is what it is, but it is at this point hard to take seriously not taking it seriously. Andre's feedback had in fact been very helpful to me in getting to this stage. I am still a little bit away from a new release and an announcement. Any feedback in the meantime is relevant and welcome. Art From kirby.urner at gmail.com Mon Jul 10 21:40:05 2006 From: kirby.urner at gmail.com (kirby urner) Date: Mon, 10 Jul 2006 12:40:05 -0700 Subject: [Edu-sig] The best way to predict the future... In-Reply-To: <44B2683E.60303@optonline.com> References: <44B2683E.60303@optonline.com> Message-ID: On 7/10/06, Arthur wrote: > What I seem to have gotten wrong is the fact that giving forum to those > ideas; praise, implicit and explicit of those ideas; encouragement to > the Python community to embrace those ideas is what is relevant. > Critique of those ideas, encouragement of the Python community to resist > them and to work to create a viable alternative to them is what is not. > > My bad. I couldn't sort out the convolutions in the above paragraph. What about Alan Kay again? PyGeo is looking really sophisticated these days. I hope the links at edu-sig's home page get updated (I'm not longer "minister of education" so can't do it myself). I'm looking forward to studying your auto-generated docs. Thanks for continuing to polish. Kirby From ajsiegel at optonline.net Tue Jul 11 15:18:04 2006 From: ajsiegel at optonline.net (Arthur) Date: Tue, 11 Jul 2006 09:18:04 -0400 Subject: [Edu-sig] The best way to predict the future... In-Reply-To: References: <44B2683E.60303@optonline.com> Message-ID: <44B3A50C.6020906@optonline.com> kirby urner wrote: > On 7/10/06, Arthur wrote: > >> What I seem to have gotten wrong is the fact that giving forum to those >> ideas; praise, implicit and explicit of those ideas; encouragement to >> the Python community to embrace those ideas is what is relevant. >> Critique of those ideas, encouragement of the Python community to resist >> them and to work to create a viable alternative to them is what is >> not. >> >> My bad. > > > I couldn't sort out the convolutions in the above paragraph. What > about Alan Kay again? Actually the comment is more a reference to Guido than Alan Kay. If you read his blog entry about the Kay keynote, he seems to be struggling to find some reason why an implementation of Kay's ideas as to children, in a language other than the one Kay designed as the platform for the implementation of those ideas makes some kind of technical sense. And has to quickly back off his stab at it. Kay on the other hand is quick to correct Guido and has nothing to say about Python, other than referencing what Squeak can do that Python can't..And it would indeed be an insult to Kay to think that another language, by some kind of happenstance, would make be a better platform then the one he designed for the purposes to which he has devoted it. I think that Kay should in fact be respected *as an explorer*. My problem is that he has spent all his time in an industry in which explorations are promoted as *discoveries* as a matter of course, and the goal is to be on the scene of the Next Big Thing (or 100 million little ones). Is he Larry Ellison or Mother Theresa?. The fact that he points Guido to "best practices" is a tell. I've been around enough to know the term well, and understand the context in which it is usually used. Usually having mostly to do with getting folks in line and on board and moving in the same direction when working in a field fraught with unknowns, confusions and a thousand potential ways to go. If it has anything to do with "best", it is usually best guess. Personally I find the "best practices" of the IT industry more than irrelevant where the subject is children and education. My definition of "best practices" when it comes to this arena, and at this stage of thing, is to emphasize what we *don't know*, what we *can't* access in any meaningful way, in what way one's own world view, and one's own interests, might be influencing what one is seeing when one looks. It is in this regard that I think Kay is clearly *not* best practices, and getting in line behind him is exactly the wrong thing to do. But Kay can't miss the *energy* around the phenomena of Python. He wants a piece of that energy. Without undertaking the adjustment to his ideas that understanding what the source of it might be. He seems to me a cake and eat it kind of guy. I think I am being a Python stalwart in my attitude toward these issues. But suspect Guido disagrees.. Guido, I mean no harm. Art From guido at python.org Tue Jul 11 15:42:10 2006 From: guido at python.org (Guido van Rossum) Date: Tue, 11 Jul 2006 06:42:10 -0700 Subject: [Edu-sig] The best way to predict the future... In-Reply-To: <44B3A50C.6020906@optonline.com> References: <44B2683E.60303@optonline.com> <44B3A50C.6020906@optonline.com> Message-ID: On 7/11/06, Arthur wrote: > But Kay can't miss the *energy* around the phenomena of Python. He > wants a piece of that energy. That's a correct observation, and Kay doesn't hide it. It makes me proud that Python has something Smalltalk doesn't have. About the rest, I'm not about to sell out (except on the topic of int/int :-). -- --Guido van Rossum (home page: http://www.python.org/~guido/) From kirby.urner at gmail.com Tue Jul 11 20:20:20 2006 From: kirby.urner at gmail.com (kirby urner) Date: Tue, 11 Jul 2006 11:20:20 -0700 Subject: [Edu-sig] The best way to predict the future... In-Reply-To: References: <44B2683E.60303@optonline.com> <44B3A50C.6020906@optonline.com> Message-ID: OK Arthur, that's more clear, what you're saying. Alan makes no secret of the fact that he's a SmallTalk Slayer, kinda like Frankenstein, PhD doctor chasing down his last best superpowered monster. His magnum opus was pioneering and brilliant, but isn't what the world needed ad infinitum. As a creator-still-living, he has the integrity to try shutting it down (most creators leave that to future generations). Problem is: it's everywhere and has a lot of followers, even still. Python he didn't create, and he'll never get credit for it, but he still wants OO to live up to its promises. Python is a very clear implementation of the OO paradigm. A lot of us are excited about it for just that reason. In teaming up with the Python community, I think Alan is responding to people who think the reason a glorious Renaissance in education never occured, is because of some failing in the toys. He's like a toymaker surrounded by still-unhappy children. Why why? Given the energy behind Python, maybe here's another chance to get them laughing and playing and loving their laptops. Ah, but maybe we'll just make all the same mistakes all over again? I come from another point of view. Engineering has done its job, met people way more than half way, and the reason we've not had a glorious Renaissance is more like the reason we didn't get that big Peace Dividend after the Berlin wall came down. Too many are cynically invested in mediocrity, as a way to retain control in the way they understand control, which involves lots of intentional fearmongering. Fighting this brand of control freak can't be done at the level of computer language design. If it could, we'd already have gnu math in the schools and way more 8th graders would know who Guido and Alan were. A few might even be using PyGeo. But the reality is: teachers are afraid of Python, of hackers, of geekdom, of technology. We live in a culture of fear and ignorance. We had that student on earlier, complaining he couldn't demo has class project, because even a Linux boot CD was to scary for the school's IT cult. They regarded it as a threat to their authority. So whereas I understand and appreciate your nuanced analysis of what makes Kay tick vis-a-vis Python etc., I'm not about to pit Squeakers against Snake Charmers, and turn this into some psychoanalysis of business sector smarminess (a smarminess you claim to know a whole lot about). To me, that's a sideshow. I'm more like that lead narrator in the movie 'Why We Fight' (about Eisenhower's dream-come-true): he wants to find out what happened to our Peace Dividend. Yes, I'm encountering smarminess there too (a freezer full of cash in some Congressman's house, who woulda thunk it), but this is more a job for the FBI and so forth, not for gentle elves and their games with glass beads (we collaborate through the X-Files). I'm happy list Alan Kay as one of my heros, along with Seymour Papert, the South African mathematician. That doesn't mean I take my orders from him, or plan to spend the rest of my days in Squeakland. More it means I'm glad to see the Python community thinking about the bigger picture. This computers-in-education puzzle has been on the table for a long time by now. We need to see more of the pieces, and how we'll get them is through collaboration. Just having Guido and Alan meet, have some beers at a JurysDoyle, is a big accomplishment. We're building a more self-aware system, and that's a good thing. Kirby From ajsiegel at optonline.net Tue Jul 11 20:21:44 2006 From: ajsiegel at optonline.net (ajsiegel at optonline.net) Date: Tue, 11 Jul 2006 18:21:44 +0000 (GMT) Subject: [Edu-sig] The best way to predict the future... In-Reply-To: References: <44B2683E.60303@optonline.com> <44B3A50C.6020906@optonline.com> Message-ID: ----- Original Message ----- From: Guido van Rossum Date: Tuesday, July 11, 2006 9:42 am Subject: Re: [Edu-sig] The best way to predict the future... To: Arthur Cc: kirby urner , "edu-sig at python.org" > On 7/11/06, Arthur wrote: > > But Kay can't miss the *energy* around the phenomena of > Python. He > > wants a piece of that energy. > > That's a correct observation, and Kay doesn't hide it. It makes me > proud that Python has something Smalltalk doesn't have. At least that. I of course would have at times killed to find an alternative to Python that would accomplish my purposes as well - just on the general principle of being good and pissed off. You have yourself to blame that I am still here. Couldn't ;) Art . -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.python.org/pipermail/edu-sig/attachments/20060711/92df4a2f/attachment.htm From kirby.urner at gmail.com Tue Jul 11 21:03:40 2006 From: kirby.urner at gmail.com (kirby urner) Date: Tue, 11 Jul 2006 12:03:40 -0700 Subject: [Edu-sig] Fwd: The best way to predict the future... In-Reply-To: References: <44B2683E.60303@optonline.com> <44B3A50C.6020906@optonline.com> Message-ID: ---------- Forwarded message ---------- From: kirby urner Date: Jul 11, 2006 12:03 PM Subject: Re: [Edu-sig] The best way to predict the future... To: "ajsiegel at optonline.net" On 7/11/06, ajsiegel at optonline.net wrote: > > Kirby - > > Let's spare everyone the Itchy and Scratchy seqel, and leave it that we sees > things differently. > Agreed. Actions, not words, matter more at this point. Edu-sig needn't be our theater (doesn't mean it ain't a fun place to visit). Kirby From glingl at aon.at Tue Jul 11 21:27:16 2006 From: glingl at aon.at (Gregor Lingl) Date: Tue, 11 Jul 2006 21:27:16 +0200 Subject: [Edu-sig] xturtle - talk at EuroPython2006 Message-ID: <44B3FB94.4010903@aon.at> Hi everyone, the slides to my talk at Europython2006 *xturtle - an extended turtle module for Python as a vehicle for teaching programming concepts* are now available: http://indico.cern.ch/materialDisplay.py?contribId=100&sessionId=52&materialId=slides&confId=44 Regards, Gregor From glingl at aon.at Tue Jul 11 22:56:49 2006 From: glingl at aon.at (Gregor Lingl) Date: Tue, 11 Jul 2006 22:56:49 +0200 Subject: [Edu-sig] The best way to predict the future... In-Reply-To: References: <44B2683E.60303@optonline.com> <44B3A50C.6020906@optonline.com> Message-ID: <44B41091.7080806@aon.at> kirby urner schrieb: > OK Arthur, that's more clear, what you're saying. > Alas, not for me! I must complain that I simply do not understand large parts of this intellectually and psychologically outstanding conversation. Just as an example: it took me about 10 minutes to find out the meaning of 'smarminess' Perhaps a more pragmatical and less psychosicial philosophical approach would also bring some benefits. Given the fact, that I'm not really sure, what's going on here, I'll comment only one section of your recent posting. > But the reality is: teachers are afraid of Python, of hackers, of > geekdom, of technology. We live in a culture of fear and ignorance. > We had that student on earlier, complaining he couldn't demo has class > project, because even a Linux boot CD was to scary for the school's IT > cult. They regarded it as a threat to their authority. > This is simply nonsense (and to some degree even a dangerous point of view) - at least seen from my point of view as an Austrian teacher. (I would be interested to know if the situation in the USA/Canada is completely different from ours.) In my experience, nowdays teachers are overloaded with a huge set of different tasks, many of them belonging more to the branch of social work than to that of education. To do their work succesfully they have to educate themselves - continually for instance in seminars - about things like 'social learning', confilct management, coaching and many more similar things. ( There are many reasons for this, the main one beeing that there is not enough money spent for the educational sector by the state. ) Those who teach computer science normally teach also other subjects like maths, physics or even Latin or religious education. The computer education part normally comprises 20 percent plus/minus of their teaching obligations. They are overwhelmed by an incredibly enourmous amount of new developments in this sector and they have to choose which parts of them first to *learn* (for themselves) and then to *teach*. They are not afraid of - whatever - but they are under an enormous pressure and have to make a "clever" and economical (in terms of time and other ressources) decision. I for my part consider it to be my obligation to show, that the choice of Python as a first programming language is a clever one (in several respects I need not talk about here). I did this by writing a book for kids _and_teachers_, by providing the xturtle module which (imho) meets just those requirements, by giving advanced teacher's trainig courses and so on. The reality is, that you have to accept, that 98% of the cs teachers are not computer geeks/freaks/nerds like Kirby, Arthur, Andre (and perhaps to la esser degree me) - but they are surely interested to do a good job taking into accoutn their limited ressources. What can we do? We can try to reach them and convince them, that our approach is practical. Or we can try to change the politics concerning the educational sector of the society in order to achieve better conditions for education (harder!). Or both. Regards, Gregor From ms at cerenity.org Tue Jul 11 23:45:58 2006 From: ms at cerenity.org (Michael) Date: Tue, 11 Jul 2006 22:45:58 +0100 Subject: [Edu-sig] The best way to predict the future... In-Reply-To: References: <44B2683E.60303@optonline.com> Message-ID: <200607112245.59442.ms@cerenity.org> On Tuesday 11 July 2006 19:20, kirby urner wrote: > But the reality is: ?teachers are afraid of Python, of hackers, of > geekdom, of technology. No, that's fantasy. They don't even know it exists - that's the more fundamental reality, and furthermore, they don't care - in the UK computer studies was replaced at GCSE level (ie up to 16 years) with Information Technology 15 years ago, eliminating any programming aspect in that age group. Logo barely survives as an irrelevant (to many) cast off of the time. For example, the book "Writing Programs" [1] which is aimed at Key Stage 2 (7-11) year olds. However, it doesn't actually contain *any* programs. (I picked it up out of curiosity to compare with the Usborne books that I learnt about programming from originally when I was in that age range...) At A-Level (roughly equivalent to US highschool), computer studies does survive and for some contains some programming, but generally focusses on what's available in a database, spreadsheet and sometimes visual basic. And the teachers? They're not afraid - they don't even know it exists. If you think otherwise, then I'm sorry, you're in fantasy land. (To be honest, I wish they were afraid, fear is a lot simpler to solve, however complete lack of awareness or care? That's *a lot* harder.) Anyway, my intent isn't to offend, but merely to correct what I see as a major misconception (that people are afraid) being portrayed as reality (they don't even know python exists). Personally I'd love to be able to do something about this (people even knowing python exists and is usable by even children)... Michael. From ms at cerenity.org Tue Jul 11 23:53:28 2006 From: ms at cerenity.org (Michael) Date: Tue, 11 Jul 2006 22:53:28 +0100 Subject: [Edu-sig] The best way to predict the future... In-Reply-To: <200607112245.59442.ms@cerenity.org> References: <44B2683E.60303@optonline.com> <200607112245.59442.ms@cerenity.org> Message-ID: <200607112253.28858.ms@cerenity.org> On Tuesday 11 July 2006 22:45, Michael wrote: > the book "Writing Programs" [1] I should've included the link to the book I meant I suppose: * http://www.amazon.co.uk/gp/product/1845382714 More useful for showing the problem rather than the solution though I feel. (Nice enough book for it's aims though misnamed). Michael. From glingl at aon.at Wed Jul 12 00:07:12 2006 From: glingl at aon.at (Gregor Lingl) Date: Wed, 12 Jul 2006 00:07:12 +0200 Subject: [Edu-sig] Alan Kay - another one of his ideas Message-ID: <44B42110.1040007@aon.at> Hi everyone, let's go on pragmatically ;-) Recently Daniel Ajoy on LogoForum posted a link to a description of one of Alan Kay's projects, called logowiki, by himself: http://www.redhat.com/archives/olpc-software/ 2006-April/msg00035.html Worth reading! He not only writes about how this project fits into his "children first" efforts, but also (in some detail) about the difficulties of implementing such a system using DOM and JavaScript). And he manages it easily to mention Smalltalk only once, marginally ;-) Imho in the first place his initiative has to be considered as a political one. (As is the initiative to reimplement Squeak in Python.) The logowiki can be found here: http://www.logowiki.net I wonder if something similar could be done for Python easily? For instance using xturtle, which is built on a rather small graphics interface. I think the project has some similarities with Andre Roberge's Crunchy Frog. A thing like this certainly could be another building block in our efforts to bring Python to the people. Perhaps one of the web frameworks TurtboGears or Django or the Ajax-people have some ressources ready to implement this. So I've simply two questions: (1) Which Frameworks, Libraries, tools are adequate for a Python project similar to logo-wiki? (2) Who is interested in undertaking it or assisting it? Regards, Gregor From glingl at aon.at Wed Jul 12 00:15:10 2006 From: glingl at aon.at (Gregor Lingl) Date: Wed, 12 Jul 2006 00:15:10 +0200 Subject: [Edu-sig] Alan Kay - corrected link In-Reply-To: <44B42110.1040007@aon.at> References: <44B42110.1040007@aon.at> Message-ID: <44B422EE.1040103@aon.at> Gregor Lingl schrieb: > Hi everyone, > let's go on pragmatically ;-) > > Recently Daniel Ajoy on LogoForum posted a link to a description of one > of Alan Kay's projects, called logowiki, by himself: > Correct link: http://www.redhat.com/archives/olpc-software/2006-April/msg00035.html gl From kirby.urner at gmail.com Wed Jul 12 01:44:04 2006 From: kirby.urner at gmail.com (kirby urner) Date: Tue, 11 Jul 2006 16:44:04 -0700 Subject: [Edu-sig] The best way to predict the future... In-Reply-To: <200607112245.59442.ms@cerenity.org> References: <44B2683E.60303@optonline.com> <200607112245.59442.ms@cerenity.org> Message-ID: On 7/11/06, Michael wrote: > On Tuesday 11 July 2006 19:20, kirby urner wrote: > > But the reality is: teachers are afraid of Python, of hackers, of > > geekdom, of technology. > > No, that's fantasy. They don't even know it exists - that's the more > fundamental reality, and furthermore, they don't care - in the UK computer > studies was replaced at GCSE level (ie up to 16 years) with Information > Technology 15 years ago, eliminating any programming aspect in that age > group. I was referring to an actual exchange with an actual student who was getting resistence installing or booting Python, right here on this list. The question is, will I be able to come up with the URL. Unless the student was a plant, this was no fantasy. And where there's one example, I expect we'll find more. > And the teachers? They're not afraid - they don't even know it exists. If you > think otherwise, then I'm sorry, you're in fantasy land. (To be honest, I > wish they were afraid, fear is a lot simpler to solve, however complete lack > of awareness or care? That's *a lot* harder.) > OK, let's make them afraid then. A step up from where you're at in whatever neck of the woods. And actually, we teach Python in middle school here in Portland, at least at my daughter's school (a public one). They've been doing Scheme at Franklin, Java other places. Lots of Flash. Some Logo. > Anyway, my intent isn't to offend, but merely to correct what I see as a major > misconception (that people are afraid) being portrayed as reality (they don't > even know python exists). Given a planet of over seven billion people, I'm sure more than one picture might be true at the same time (sorry to break the bad news to ya). > Personally I'd love to be able to do something about this (people even knowing > python exists and is usable by even children)... > > > Michael. OK, I think we can do that. Stay tuned (it's fine if they're afraid at first though, right?). Disney was good at scaring children in Pinnochio (sp?). I'm thinking of something along those lines, but more geared towards adults. Kirby From ianb at colorstudy.com Wed Jul 12 02:01:51 2006 From: ianb at colorstudy.com (Ian Bicking) Date: Tue, 11 Jul 2006 19:01:51 -0500 Subject: [Edu-sig] The best way to predict the future... In-Reply-To: <200607112245.59442.ms@cerenity.org> References: <44B2683E.60303@optonline.com> <200607112245.59442.ms@cerenity.org> Message-ID: <44B43BEF.7050608@colorstudy.com> Michael wrote: > On Tuesday 11 July 2006 19:20, kirby urner wrote: >> But the reality is: teachers are afraid of Python, of hackers, of >> geekdom, of technology. > > No, that's fantasy. They don't even know it exists - that's the more > fundamental reality, and furthermore, they don't care - in the UK computer > studies was replaced at GCSE level (ie up to 16 years) with Information > Technology 15 years ago, eliminating any programming aspect in that age > group. I think it's right to dismiss fear as a real reason; it's an easy scapegoat, and one that excuses failure without trying to really understand it. If we're going to talk about Smalltalk, I'd say the same thing happened there -- too much railing against the world for being so dumb not to Get It, and not enough time spent trying to understand why people weren't Getting It. But I don't have any thoughts currently on Real Reasons, so I'll just be quiet again... -- Ian Bicking | ianb at colorstudy.com | http://blog.ianbicking.org From kirby.urner at gmail.com Wed Jul 12 02:20:17 2006 From: kirby.urner at gmail.com (kirby urner) Date: Tue, 11 Jul 2006 17:20:17 -0700 Subject: [Edu-sig] xturtle - talk at EuroPython2006 In-Reply-To: <44B3FB94.4010903@aon.at> References: <44B3FB94.4010903@aon.at> Message-ID: Excellent Gregor. I was saying positive things about xTurtle to Jason @ Shuttleworth Foundation the other day (even though there's no budget for software development). Excerpt (July 2): """ Likewise new versions of Logo mostly "target the receiver" in OO fashion, as Alan Kay cited Seymour Papert as saying, i.e. you explicitly instance and operate a turtle with dot notation: myturtle = Turtle() myturtle.pendown() myturtle.forward(30) and so on. Recent examples on edu-sig (xturtle by Gregor is looking pretty good -- not as slick as commercial grade, but the source code is included and you can't beat the price (exactly the kind of stuff it'd be fun to distribute and write lesson plans around)). """ Kirby PS: I was surprise Seymour would confuse the peace sign with a Mercedes logo. I'm glad you've got it right this time. On 7/11/06, Gregor Lingl wrote: > Hi everyone, > > the slides to my talk at Europython2006 > > *xturtle - an extended turtle module for Python > as a vehicle for teaching programming concepts* > > are now available: > > > http://indico.cern.ch/materialDisplay.py?contribId=100&sessionId=52&materialId=slides&confId=44 > > > Regards, > Gregor > > > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > http://mail.python.org/mailman/listinfo/edu-sig > From kirby.urner at gmail.com Wed Jul 12 02:29:36 2006 From: kirby.urner at gmail.com (kirby urner) Date: Tue, 11 Jul 2006 17:29:36 -0700 Subject: [Edu-sig] The best way to predict the future... In-Reply-To: <44B43BEF.7050608@colorstudy.com> References: <44B2683E.60303@optonline.com> <200607112245.59442.ms@cerenity.org> <44B43BEF.7050608@colorstudy.com> Message-ID: > I think it's right to dismiss fear as a real reason; it's an easy > scapegoat, and one that excuses failure without trying to really > understand it. I didn't find the kid banned from using eve a boot CD with Python yet, but here's a later case: the physics teacher not allowed to use VPython to teach physics. Same reason: fear (of open source in general). http://mail.python.org/pipermail/edu-sig/2005-May/004820.html There's a whole long thread in our archive, May 2005. Now if you wanted to get into the subject of who plants and deliberately fans those fears, we could, but I think other elists are already discussing this in some detail. If you just look at how the political game is played in the USA, you'll see fear is a standard weapon, used almost without thinking, at the drop of a hat. Some of the incredulity expressed here may have to do with a difference in hemisphere. Tell a teacher you want to put Python on the school computer, and she'll likely call Homeland Security. Kirby From pdfernhout at kurtz-fernhout.com Wed Jul 12 04:35:45 2006 From: pdfernhout at kurtz-fernhout.com (Paul D. Fernhout) Date: Tue, 11 Jul 2006 22:35:45 -0400 Subject: [Edu-sig] xturtle - talk at EuroPython2006 In-Reply-To: <44B3FB94.4010903@aon.at> References: <44B3FB94.4010903@aon.at> Message-ID: <44B46001.3020205@kurtz-fernhout.com> Gregor- Thanks for posting your slides. When I looked before at xturtle, I was amazed at how many interesting things you could draw with such short programs. And I was also amazed how easily you could add interactivity to them. I especially liked this point here from your talk: "Turtlegraphics (type 1): a mathematical tool to produce certain types of (very often recursive) pictures. Turtlegraphics (type 2): an interactive computing environment. xturtle.py keeps the merits of turtle.py and at the same time enhances features to be used as type 2 - turtlegraphics... " That really sums up xturtle's "value proposition" for education and it is a strong one, features like being able to watch the turtle while it moves, and so on all add to the educational quality and ease of use of "turtle graphics" in Python for type 2 activities over just turtle.py. Obviously turtle.py can also have a tracer, but I think yours looks nicer, and I think the default option, as with yours, should be true. And I really like that you can keep going with xturtle farther than you can with turtle, because of your integration of event responses, backgrounds, scrolling, and so on. I know if I was still teaching programming to biology majors, I'd jump on xturtle for use in class to teach even the most basic elements of computing (if statements, for loops, and so on) which turtle graphics can really help with by making the results explicit on the page (in a way, say, following a branch or a loop with the debugger does not). Now obviously one can also use prints to show the results of ifs and loops, but I think the graphics has a lot more effectiveness than prints (including providing intrinsic motivation to many learners to make pretty graphics), and at the very least, provides a great supplement to prints as well. And to see what is happening, I think that being able to watch the xturtle move is essential, so anything that makes that easier to see, like a bigger turtle, a default of having it on, etc., seems minor but I think is really important. As are the other ease of use features: http://ada.rg16.asn-wien.ac.at/~python/xturtle/features.html I'm not sure if you will convince people to replace the Python turtle.py package because I am not sure if people will agree the audiences are the same (although I don't even know who the turtle.py audience is?). Please don't take that as the main measure of success for it or be very disappointed if it does not happen soon (even if it might be nice). I think xturtle is a very useful stand alone module as it is. I'm not sure any "education" focused library has ever made it into the mainline Python distribution? (Can anyone think of one?) Still, from an xturtle point of view, obviously anything in the main distribution has much more "ease of use" for beginners than something that has to be downloaded, so I can see why it is worth lobbying for replacing turtle.py with it if the agreed audience for Python turtle graphcis is beginner. One might also have the two coexist even, with turtle.py and xturtle.py, although having two turtles in the base distribution itself might be confusing for beginners? By the way, you mention in your talk in the future looking into the pros and cons of 3D graphics. I wrote a 3D turtle abouttu ten years ago and my wife and I used it for some things (3D botanical plant drawing mostly). [I've also been planning to port that to Python as part of porting our other projects to Python.] Based on that experience, I can definitely say 3D turtles are really cool, and fun to play with, but at the same time they are much more demanding to use than 2D ones by maybe two orders of magnitude. With 2D you can pretty much follow what is happening when things draw, but that is much harder in 3D. Also, in 2D, you can easily see where the turtle is pointing, and in 3D that is harder (because you are using a 2D display). So 3D turtles may well be probably beyond what anyone might want to suggest to beginners who are learning "programing". I see 3D turtles more of interest to people who already know how to program somewhat but who are interested in learning "graphics" or are trying to learn about something 3D related (like botanical plant structure) through simulation. Now, to be clear, that is not to say 3D is bad for beginners if they are manipulating a world of 3D objects, say to spin a propeller or move a box around under program control (or even using 3D geometry like PyGeo, because that package apparently cleverly provides named classes and operations that make the 3D manipulations manageable in a geometrical framework). I'm just emphasizing that wrapping your mind around a 3D turtle drawing a recursive function can be fairly demanding. :-) I know we have spent many hours sometimes trying to understand why something doesn't draw right, involving drawing an axis at each point the turtle turns and so on. It seems to me that something like PyGeo might be more effective at making 3D accessible to beginners than a 3D turtle. I just don't think it will be easy for most people to follow several levels of matrix permutations as a turtle rotates in 3D, while they are trying to learn to program at the same time. Now, after they know how to program somewhat, then it certainly is quite possible for people to have fun modifying an existing complex parametric 3D model (like saying how branchy a plant should be, or how long stem lengths should be), or to make simple models of their own, and I think that is a very fun thing to play with (for some people). So anyway, I don't want to discourage you from doing 3D turtle things, just to bring up this issue of audience and complexity and expectations about how many things most people can learn at once. Also, frankly, some percent of the population (30%?) may just never be good at visualizing things in 3D without a lot of efforts, whereas almost everybody can follow stuff in 2D fairly effortlessly (relatively speaking). --Paul Fernhout Gregor Lingl wrote: > Hi everyone, > > the slides to my talk at Europython2006 > > *xturtle - an extended turtle module for Python > as a vehicle for teaching programming concepts* > > are now available: > > http://indico.cern.ch/materialDisplay.py?contribId=100&sessionId=52&materialId=slides&confId=44 From pdfernhout at kurtz-fernhout.com Wed Jul 12 05:09:42 2006 From: pdfernhout at kurtz-fernhout.com (Paul D. Fernhout) Date: Tue, 11 Jul 2006 23:09:42 -0400 Subject: [Edu-sig] Alan Kay - another one of his ideas In-Reply-To: <44B42110.1040007@aon.at> References: <44B42110.1040007@aon.at> Message-ID: <44B467F6.2040907@kurtz-fernhout.com> Gregor Lingl wrote: > The logowiki can be found here: > > http://www.logowiki.net Just as a general comment, running a current Mozilla under Debian (Unstable), with JavaScript turned on, there are no graphics on those pages for me when I click Run. Nothing happens. I don't mean to complain specifically about these pages, just to point out that while the supposed intent here is to make programming available to the masses by using a dumbed down environment like a web browser, in practice, this fails for me. Whereas, when I install Squeak or Python, it works. So, I think Alan Kay may be going in the wrong direction here in some ways, compared to Squeak. Not to say it might not be useful for certain audiences, just that it fails the "everyone" test, at least for me. And of course, the site was also inaccessible when I first learned about it (from Kirby's post to this list I think) from too much demand most likely, so it also failed the cost test. Presumably, they just could not afford to put enough resources into the project for "everyone". I've fought this battle before in other (commercial) situations. The web is good for many things. But if you want a rich client, forcing everything through a web browser involves making big sacrifices which often just often aren't worth it. And in my case, didn't even work at all! You can look up stuff on "rich client" vs. "thin client". For many situations, the answer is more often something like "java web start", where you can get the latest software installed with one click if you already have Java installed. And for Python, that means you can (in theory) launch any Jython program in one click from the web. I asked people to test that here a month or so ago http://mail.python.org/pipermail/edu-sig/2006-June/006574.html and everyone here who tried it reported success in seeing a Java web start 3D application. (I myself had some problems with some of my attempts, but they were not on the Java end -- they were on machines not configured to properly do 3D graphics). And, the demands on a server for Webstart are probably lower than for interactive use like logowiki. To be clear I don't want to entirely discourage doing stuff with Python on the web, our your outlined idea to make a logowiki like thing for Python, just to point out that there are limitations to the approach and there are other approaches like Jython and Java WebStart with their own advantages (and disadvantages too, no doubt). Now, if people don't like the "Java" in "Java Web Start" http://java.sun.com/products/javawebstart/ perhaps it might be worth petitioning Guido to somehow bless a "Python Web Start" and rounding up some people who wanted to support that? You would still need to install Python though. And have a compatible version for the app you are downloading etc. Still, you don't "need" that -- because Jython + Java Web Start is right here right now. --Paul Fernhout From ianb at colorstudy.com Wed Jul 12 06:14:35 2006 From: ianb at colorstudy.com (Ian Bicking) Date: Tue, 11 Jul 2006 23:14:35 -0500 Subject: [Edu-sig] Alan Kay - another one of his ideas In-Reply-To: <44B467F6.2040907@kurtz-fernhout.com> References: <44B42110.1040007@aon.at> <44B467F6.2040907@kurtz-fernhout.com> Message-ID: <44B4772B.9060004@colorstudy.com> Paul D. Fernhout wrote: > Gregor Lingl wrote: >> The logowiki can be found here: >> >> http://www.logowiki.net > > Just as a general comment, running a current Mozilla under Debian > (Unstable), with JavaScript turned on, there are no graphics on those > pages for me when I click Run. Nothing happens. You probably don't have support for the tag, which is relatively new and the only way to do that style of graphics in a web browser at this time. Only very new Firefox and Safari support it, and IE has some hacks to make it work which may or may not be enabled. Of course, it would be good if the site pointed out this limitation, but that's entirely feasible to do. > I don't mean to complain specifically about these pages, just to point out > that while the supposed intent here is to make programming available to > the masses by using a dumbed down environment like a web browser, in > practice, this fails for me. Whereas, when I install Squeak or Python, it > works. So, I think Alan Kay may be going in the wrong direction here in > some ways, compared to Squeak. Not to say it might not be useful for > certain audiences, just that it fails the "everyone" test, at least for me. A web browser is not a dumbed down environment at all. While Alan described the browser as barely being up to the capabilities of an Apple ][ (in the email that was linked previously: http://www.redhat.com/archives/olpc-software/2006-April/msg00035.html), a browser is also wildly more powerful than that. For dynamically creating graphics it is pitiful, with only this very new tag to make it feasible at all, and even then only to a very limited audience. For other features -- the features which demonstrably matter to the larger world! -- it is quite capable. The web browser's constraints are significant, but also the source of its power. It gives substantial power to the client to do the rendering and to make choices, and very limited control to the content creator. This is in contrast to a more "powerful" medium like PDF or PostScript, which allows for fine-grained control. The result is a high level of abstraction, and a substantial number of intermediaries (browsers, server-side software of many kinds, etc). I personally prefer the compromises HTML made, because it demands open content and has done well to create a democratic medium where the skill required to publish is fairly low, and it is not hard to achieve a result that is on par with the most professional output you might find. Using Logo Wiki as a way to encourage people to download a plugin would be a mistake IMHO. Putting all your code into a little dead box embedded on a web page is pretty lame, and it shows. There's only two kinds of plugins that matter anymore: video (Quicktime, Windows Media, etc) and Flash. And Flash is taking over video too. Everything else is entirely dead (and good riddance!). Plugins of various kinds have been done many, many times, and failed many, many times. (There's even a Logo/Java plugin: http://turtletracks.sourceforge.net/) OTOH, if you really want fancy output, you want Flash pure and simple. I'm glad Logo Wiki is in Javascript and uses the canvas, but if they really want more control and graphical power then Flash is the obvious next step. > And of course, the site was also inaccessible when I first learned about > it (from Kirby's post to this list I think) from too much demand most > likely, so it also failed the cost test. Presumably, they just could not > afford to put enough resources into the project for "everyone". Probably just a misconfiguration or something minor; the architecture they use puts all the processing in the client, and can scale easily to a very large number of clients. It's just dead content as far as the server can tell. > I've fought this battle before in other (commercial) situations. The web > is good for many things. But if you want a rich client, forcing everything > through a web browser involves making big sacrifices which often just > often aren't worth it. If they don't embrace the medium, then maybe it won't be worth it. If they embrace the DOM -- which is a lousy bitblt, but a great text layout system -- then it might be worth it. If they embrace the DOM and HTML forms and HTTP, then they might just get HyperCard, because I'm pretty sure it's living in there somewhere waiting to get out. -- Ian Bicking | ianb at colorstudy.com | http://blog.ianbicking.org From kirby.urner at gmail.com Wed Jul 12 08:31:21 2006 From: kirby.urner at gmail.com (kirby urner) Date: Tue, 11 Jul 2006 23:31:21 -0700 Subject: [Edu-sig] Alan Kay - another one of his ideas In-Reply-To: <44B467F6.2040907@kurtz-fernhout.com> References: <44B42110.1040007@aon.at> <44B467F6.2040907@kurtz-fernhout.com> Message-ID: On 7/11/06, Paul D. Fernhout wrote: > And of course, the site was also inaccessible when I first learned about > it (from Kirby's post to this list I think) from too much demand most > likely, so it also failed the cost test. Presumably, they just could not > afford to put enough resources into the project for "everyone". Not sure if from me, though Alan was showing everyone this Javascript Logo at the summit. I think what's happening is "implementing Logo" has become a sort of basic test of a language's go-no-go status as attention-worthy among educators. Alan was proving JavaScript is worthy, just as an exercise. Plus advancing the cause of the browser as a platform-neutral platform. But you're right, it's not platform neutral enough to run on my Edubuntu box in the basement. Your reports of difficulties sent me down there. Nor is upgrading the the next FireFox all that mindlessly easy (I struggled and lost). The Synaptic Package Manager (sp?) offered to uninstall FireFox, or reinstall, but not upgrade. Probably I need to apt-get somehow. The FireFox Help menu was no help on this. Kirby From andreas.raab at gmx.de Wed Jul 12 09:14:19 2006 From: andreas.raab at gmx.de (Andreas Raab) Date: Wed, 12 Jul 2006 00:14:19 -0700 Subject: [Edu-sig] Alan Kay - another one of his ideas In-Reply-To: <44B467F6.2040907@kurtz-fernhout.com> References: <44B42110.1040007@aon.at> <44B467F6.2040907@kurtz-fernhout.com> Message-ID: <44B4A14B.5020303@gmx.de> Paul D. Fernhout wrote: > I don't mean to complain specifically about these pages, just to point out > that while the supposed intent here is to make programming available to > the masses by using a dumbed down environment like a web browser, in > practice, this fails for me. Whereas, when I install Squeak or Python, it > works. So, I think Alan Kay may be going in the wrong direction here in > some ways, compared to Squeak. Not to say it might not be useful for > certain audiences, just that it fails the "everyone" test, at least for me. Not surprising, really, because you're missing the point of Logowiki. Logowiki's main purpose is as an example for what "dynamic content" on a web page can mean, in particular in an educational setting. Remember that we lost the ability to author with the introduction of the world wide web and we're only about to get it back. The choice of Logo is simply because it's easily recognizable for the intended target audience. [A secondary motivation for Logowiki is as an experiment in "zero install" deployment and to be able to see what can be done with Ajax and friends and a bit of compiler translation technology which is not so different from PyPy btw - parts of it would make perfect sense to translate Python to Javascript code on the fly] > And of course, the site was also inaccessible when I first learned about > it (from Kirby's post to this list I think) from too much demand most > likely, so it also failed the cost test. Presumably, they just could not > afford to put enough resources into the project for "everyone". Paul, you are confusing a demo with a product. Logowiki was done to explain to OLPC what we mean when we use terms like dynamic content and what may change if, for example, Wikipedia had the ability to included such dynamic, end-user authored content. Cheers, - Andreas From guido at python.org Wed Jul 12 16:31:48 2006 From: guido at python.org (Guido van Rossum) Date: Wed, 12 Jul 2006 07:31:48 -0700 Subject: [Edu-sig] Alan Kay - another one of his ideas In-Reply-To: <44B4A14B.5020303@gmx.de> References: <44B42110.1040007@aon.at> <44B467F6.2040907@kurtz-fernhout.com> <44B4A14B.5020303@gmx.de> Message-ID: On 7/12/06, Andreas Raab wrote: > Remember > that we lost the ability to author with the introduction of the world > wide web and we're only about to get it back. I've heard this before and with respect I think it's a load of crap. The WWW did not cause anyone to lose anything. Before the WWW most people didn't have computer access at all. Anybody who "lost" anything due to the WWW was extremely privileged to have it at all before the WWW. I have no argument with the rest of your message but I want to stop the rhetoric claiming that the WWW is somehow bad for us. -- --Guido van Rossum (home page: http://www.python.org/~guido/) From pdfernhout at kurtz-fernhout.com Wed Jul 12 16:51:42 2006 From: pdfernhout at kurtz-fernhout.com (Paul D. Fernhout) Date: Wed, 12 Jul 2006 10:51:42 -0400 Subject: [Edu-sig] Alan Kay - another one of his ideas In-Reply-To: <44B4A14B.5020303@gmx.de> References: <44B42110.1040007@aon.at> <44B467F6.2040907@kurtz-fernhout.com> <44B4A14B.5020303@gmx.de> Message-ID: <44B50C7E.4010709@kurtz-fernhout.com> Andreas- Welcome onboard Edusig. I guess your appearance here signals a real interest in the core Squeak team in Python? (For those of you who do not know Andreas, he did the original Squeak port to Windows, plus many other neat Squeakish things, especially 3D ones.) Thanks for your clarifications; I was responding mainly to the intent outlined here, http://www.redhat.com/archives/olpc-software/2006-April/msg00035.html which seemed a little more ambitious. Also, having dealt with this issue of stuff in a browser in other settings, I think it is wandering into an area that is a little more complex than is alluded to (as nice as the ideas you suggest are, including dynamic translation to multiple backends, like Jython already can do for Python on Java). For the biggest example problem, people expect the "Back" button in a browser to do certain things. So, in LogoWiki, does the back button reset the simulation? Not saying whether it should or not -- just that this is the kind of area where expectations tend to get violated. For another example, people expect URLs to be a good description of state. So when I press the run button, and then cut and paste the URL, does that produce the identical output bitmap for another user? Again, I'm not saying whether it should or not -- just that this is another potential area of violated applications -- because you are trying to use a browser in a way people have little experience with. I'm not saying what the LogoWiki team has done is not interesting, or a great demo (if I could see it :-), but I am saying that trying to put complex content in a web browser is fraught with lots of perils, because you end up trying to map a complex set of possibilities made possible by simulation and interactive editing into a very specific set of expectations derived from dealing with hypertext. Let me give a more concrete example of a "thin client" for a complex task failing in practice, from here: http://www.theserverside.com/tt/articles/article.tss?l=NakedObjectSeries_5 "What is really beginning to force the issue, however, is the growing awareness of the limitations of the browser interface from a user perspective. Our opening example is one of many. A couple of months ago we met with a large company in the engineering supplies business. They had launched an online application that allowed their frequent customers to order supplies, and provided other functionality to help those customers manage certain aspects of their own businesses. The new application has already been very successful in business terms. With a familiar browser-based interface it was easy for their customers to learn. Within weeks of the launch, however, the most active customers were beginning to express frustration with the user interface: not just because of the slow response time but with the strong modality. Keeping multiple jobs open at once, moving or copying objects between those jobs, dealing with a phone enquiry in the middle of a task - all the realities of their customers' businesses - are difficult if not impossible on the browser-based system." That article goes on to make a very important distinction: "The web browser was designed for navigating hypertext documents; it has adapted well to very simple business transactions, but not to more complex tasks. Alan Cooper made a useful distinction (see http://www.cooper.com/articles/art_your_programs_posture.htm ) between 'sovereign' applications (used intensively) and 'transient' applications: his point being that they have very different user interface needs. The thin client architecture can often meet the needs of a transient application: Amazon.com and its one-click ordering is possibly the epitome of this approach. But a browser-based interface, with its strong sequentiality and modality, is totally unsuited to sovereign applications." So, a deep question for an educationally-oriented developer is, do you want to focus on supporting "transient" educational experiences or "sovereign" educational experiences? Since I personally think the educational value in an interactive programming environment is more in how it lets kids learn by doing, I personally am far more interested in providing learners and designers with open ended tools (which was also Kay's original emphasis) than canned "educational" content. Although I'll admit that if a learner can find such "canned" content when they want it, that is a very good thing, so I'm not entirely against such content -- just a matter of emphasis. And, at the very least, even if you want to deliver such content with the web (e.g. Ajax or Flash or Java applications derived from Python or Smalltalk), that does not mean that your development environment also has to run on Ajax (or Flash, or Java, or whatever). I also think the analogy to Wikipedia is somewhat problematical and may miss the forest for the trees. Sure, Wikipedia has a lot of specific interesting pages which users wander onto. But "Wikipedia" is a complex platform both in a social sense and in a technological sense, even if the content is served through a web browser. It's kind of like looking at Squeak and its community and saying, well, that's just about clever use of BitBlit, so let's make BitBlit better. I feel that just trying to make more dynamic pages misses the broader issue here of Wikipedians (the authors) interacting with a very large system with a long persistent history and surrounded by a community. It's ironic that when I started thinking about contributing to Wikipedia some time back, my reaction is that it needs local tools to it can be a distributed network to share server load and allow people to visualized relationships between articles and authors in 3D (i.e. perhaps something built on Squeak :-). So, I had a very different set of thinking about that forest heading in a very different direction. I'm not saying, say Wikipedia, could not benefit from LogoWiki technology, just that I don't see that as a really big win, compared to say, just using Flash or Java Applets for dynamic content. What's really happening here is just a battle over standards for end user content delivered over the internet. A nice win, maybe, to use more open solutions like JavaScript over Flash, and so a battle worth fighting, but not a big win in-and-of-itself for education. And many solutions can coexist. And it seems to me that Alan Kay's work was always about the big ideas. And if one is going to fight the battle directly, then perhaps it might be easier at this point to argue more for Java solutions (as problematical as they are) like Java Applets or Java web start. For the Python Community, Jython already runs on those, so it is a "good enough" solution. So, maybe targeting Jython/Java (or using a similar compatible approach) is another way to go, even for Smalltalk related systems. [I have a bit more to say on Squeak/Python/Jython issues I'll put in another post.] --Paul Fernhout Andreas Raab wrote: > Paul D. Fernhout wrote: > >>I don't mean to complain specifically about these pages, just to point out >>that while the supposed intent here is to make programming available to >>the masses by using a dumbed down environment like a web browser, in >>practice, this fails for me. Whereas, when I install Squeak or Python, it >>works. So, I think Alan Kay may be going in the wrong direction here in >>some ways, compared to Squeak. Not to say it might not be useful for >>certain audiences, just that it fails the "everyone" test, at least for me. > > > Not surprising, really, because you're missing the point of Logowiki. > Logowiki's main purpose is as an example for what "dynamic content" on a > web page can mean, in particular in an educational setting. Remember > that we lost the ability to author with the introduction of the world > wide web and we're only about to get it back. The choice of Logo is > simply because it's easily recognizable for the intended target audience. > > [A secondary motivation for Logowiki is as an experiment in "zero > install" deployment and to be able to see what can be done with Ajax and > friends and a bit of compiler translation technology which is not so > different from PyPy btw - parts of it would make perfect sense to > translate Python to Javascript code on the fly] > > >>And of course, the site was also inaccessible when I first learned about >>it (from Kirby's post to this list I think) from too much demand most >>likely, so it also failed the cost test. Presumably, they just could not >>afford to put enough resources into the project for "everyone". > > > Paul, you are confusing a demo with a product. Logowiki was done to > explain to OLPC what we mean when we use terms like dynamic content and > what may change if, for example, Wikipedia had the ability to included > such dynamic, end-user authored content. From pdfernhout at kurtz-fernhout.com Wed Jul 12 16:58:49 2006 From: pdfernhout at kurtz-fernhout.com (Paul D. Fernhout) Date: Wed, 12 Jul 2006 10:58:49 -0400 Subject: [Edu-sig] Alan Kay - another one of his ideas In-Reply-To: <44B4A14B.5020303@gmx.de> References: <44B42110.1040007@aon.at> <44B467F6.2040907@kurtz-fernhout.com> <44B4A14B.5020303@gmx.de> Message-ID: <44B50E29.80203@kurtz-fernhout.com> Andreas Raab wrote: > [Stuff] Expanding on my previous reply. The Squeak team may find this project of casual this experiment I started a couple months ago: http://sourceforge.net/projects/patapata It is an experiment in bringing some Squeak (and Self) related ideas to the Python framework in a Pythonic way. For example, you will see here a little sketch of a microworld where you plant dandelions, http://svn.sourceforge.net/viewcvs.cgi/patapata/trunk/PataPata/WorldDandelionGardenTK.py?view=markup and the thing of interest is how the code is separate from the rest of the system so only a 4K file (though images are left out) and that world can be edited by the end user, either textually or using an interactive environment. Now granted, Squeak has its own approach towards modules and change streams etc., but I guess I'm trying to say that this is an example of what is possible. A key thing here is that that file was written out from the "PataPata" system directly, so living objects were converted to this textual form as a valid Python program, and they are read back in (using Python itself) and made to breathe again, and not stored in binary format like a Squeak image. Note -- this is more than saving code -- the objects state is saved in a human editable form too. And, while I haven't done it yet, that approach should easily work with Jython and Swing, as so would allow one to deliver either a Java applet or a Java web start application with full open-ended live editing of the application by the end user. Interesting to see Alan Kay and other Squeakers taking an interest in Python. Coming from a Smalltalk background before Python, and no offense to Guido, I feel that Smalltalk still has a better syntax IMHO for making clear readable programs once so you learn to read it; while I prefer Python's indentation to blocks, Smalltalk's keywords are more descriptive than parenthetical functions with arbitrary parameters. Smalltalk and Self have solved many difficult problems in various versions languages like Python are just starting to think about (i.e. generational garbage collection). Many inconveniences in Python (e.g. iteration) required language level changes to improve whereas in Smalltalk they would just be library level changes because of the block syntax. And the tools generally available in any Smalltalk (e.g. the browser, inspector, etc.) make managing a complex program far easier than what is usually used in Python (a text editor, though maybe with some navigation support). I still can't easily change programs while they are running in Python in a systematic way, or modify running code and restart it in a debugger that is commonly available. And I preferred many aspect of the underlying technology (such as identical cross-platform behavior) to Python. And, these are all frustrations any Squeakers will have approaching Python. :-) I've tried to address some of them somewhat in my experiment referenced above. But Python wins in a few areas that turn out to also be very important. It has a clearer license history, and because of a different syntax, it has less issues of copyright-related "contamination" from contributors exposed to a commercial version like Smalltalk has. In no small part due to Guido's technical and project management skills, the internal complexity of the base Python implementation has been managed well versus Squeak is still wrestling with that years later. A big user community has grown up around Python from the similarity to Algol-style or C-style languages (with Occam style indentation and some Lisp-like features as enhancements). Also, the Python module approach from the start has led to a different tone to the user community in that regard, and I think it is a better one, and similarly the transport of modules as typically-editable text form has made them more accessible to managing across versions (I'm not doing this last point justice; I know Squeak has tools, etc.). In the end, I personally moved away from the Squeak community mainly because I thought the licensing issue made it problematical how much investment I wanted to make in fixing the unmanaged internal complexity problems of Squeak. I thought the user community was fine though, and actually more suited to education in some way than Python. Python has also had the advantage (to me) of being useful for both commercial work and educational work, something Smalltalk also has had (e.g. using VisualWorks has made me a lot of money), but not really Squeak. Anyway, having written a Smalltalk-like parser in Python, I also don't think it will be that hard to eventually get Smalltalk syntax on top of Python, although that is never going to be that popular an option for a lot of people using Python any time soon, for good or bad. So anyway, once again, welcome onboard edusig and I'll be curious where this all leads. --Paul Fernhout From pdfernhout at kurtz-fernhout.com Wed Jul 12 19:18:00 2006 From: pdfernhout at kurtz-fernhout.com (Paul D. Fernhout) Date: Wed, 12 Jul 2006 13:18:00 -0400 Subject: [Edu-sig] Alan Kay - another one of his ideas In-Reply-To: <44B50E29.80203@kurtz-fernhout.com> References: <44B42110.1040007@aon.at> <44B467F6.2040907@kurtz-fernhout.com> <44B4A14B.5020303@gmx.de> <44B50E29.80203@kurtz-fernhout.com> Message-ID: <44B52EC8.1060308@kurtz-fernhout.com> Oops, sorry about the typo in that first sentence; it should have read: "The Squeak team may find of casual interest this project I started a couple of months ago: http://sourceforge.net/projects/patapata It is an experiment in bringing some Squeak (and Self) related ideas to the Python framework in a Pythonic way. " [Rushing around with too many other things to get to these days preparing for a week long trip..] --Paul Fernhout Paul D. Fernhout wrote: > The Squeak team may find this project I started > a couple months ago: > http://sourceforge.net/projects/patapata > It is an experiment in bringing some Squeak (and Self) related ideas to > the Python framework in a Pythonic way. From kirby.urner at gmail.com Wed Jul 12 19:20:54 2006 From: kirby.urner at gmail.com (kirby urner) Date: Wed, 12 Jul 2006 10:20:54 -0700 Subject: [Edu-sig] Alan Kay - another one of his ideas In-Reply-To: References: <44B42110.1040007@aon.at> <44B467F6.2040907@kurtz-fernhout.com> <44B4A14B.5020303@gmx.de> Message-ID: On 7/12/06, Guido van Rossum wrote: > I have no argument with the rest of your message but I want to stop > the rhetoric claiming that the WWW is somehow bad for us. > > -- > --Guido van Rossum (home page: http://www.python.org/~guido/) Yeah, what Guido said. Kirby From kirby.urner at gmail.com Wed Jul 12 19:34:59 2006 From: kirby.urner at gmail.com (kirby urner) Date: Wed, 12 Jul 2006 10:34:59 -0700 Subject: [Edu-sig] Alan Kay - another one of his ideas In-Reply-To: <44B4A14B.5020303@gmx.de> References: <44B42110.1040007@aon.at> <44B467F6.2040907@kurtz-fernhout.com> <44B4A14B.5020303@gmx.de> Message-ID: On 7/12/06, Andreas Raab wrote: > [A secondary motivation for Logowiki is as an experiment in "zero > install" deployment and to be able to see what can be done with Ajax and > friends and a bit of compiler translation technology which is not so > different from PyPy btw - parts of it would make perfect sense to > translate Python to Javascript code on the fly] > And I'd say tertiarily to up the rank of JavaScript in our minds, as a language. Alan and others were making positive clucking noises about it at the summit, with the caveat that DOM was still not quite right. > Paul, you are confusing a demo with a product. Logowiki was done to > explain to OLPC what we mean when we use terms like dynamic content and > what may change if, for example, Wikipedia had the ability to included > such dynamic, end-user authored content. > > Cheers, > - Andreas Yes, this sounds like an accurate expression of Alan's intent. He talks about "interactive Wikipedia" as a metaphor for the kind of 2-way computing we'd like to give children. Their ability to publish interactive content would not be so weighed down with upper division skillsets (why wait until you're 10 to publish a web site?). In my own mind, I think of Alan as working to empower minors too young to vote, but often with a lot on their minds and a willingness to share it. Given the Shuttleworth sequence, I try to mentally prepare myself for kids so-empowered entering a Python piece of the tunnel later in life. The sequence again is roughly: pilot avatars and sims with programs (Logo), immerse yourself in communicative fanstasy environments (Squeak), surface a more adult mindset and start tackling real world problems with more focus (Python). It's kinda like three kinds of music: control a body, swim in the ocean, build your own. The language names are stand ins for what're probably the best open source options today. However, as we've discussed earlier, there's a big fork in immersion between 2D and 3D worlds (a rough division, with 3D covering everything from Quake to Star Trek's holodeck). We've had long threads into whether Python might contribute as an implementation language for these worlds. Answer: yes. Panda 3D is one good example, as is Civilization IV. Kirby From andreas.raab at gmx.de Wed Jul 12 19:38:38 2006 From: andreas.raab at gmx.de (Andreas Raab) Date: Wed, 12 Jul 2006 10:38:38 -0700 Subject: [Edu-sig] Alan Kay - another one of his ideas In-Reply-To: References: <44B42110.1040007@aon.at> <44B467F6.2040907@kurtz-fernhout.com> <44B4A14B.5020303@gmx.de> Message-ID: <44B5339E.6010709@gmx.de> Guido van Rossum wrote: > I have no argument with the rest of your message but I want to stop > the rhetoric claiming that the WWW is somehow bad for us. Heck, no. I didn't mean to say that the web is "bad" for you (as in "TV is bad for you"). Limited, yes, and that is the point. Even on my very first home computer in the early 80s (Comodore C16) I had a drawing program. On the "web-platform" it effectively took ten years and two dozen standards until we've been able to recreate something as dog-simple as that. And the nature of the discourse simply changes dramatically when you have capable authoring tools at your hand to express your thoughts - one of the best examples being the Blogosphere which has managed to utilize the current limited authoring abilities in an amazing way. Anyway. I think this discussion is somewhat of a red herring so let's not get all locked up about whether the web's good or bad or whether it is too limited or "just right". To get back to the Logowiki starting point, the main idea of Logowiki is to give people an example for what it *could* mean to include this kind of dynamic content in browser. The way I understand it, Crunchy Frog seems to be aimed very much in the same direction. Cheers, - Andreas From ajsiegel at optonline.net Wed Jul 12 20:19:48 2006 From: ajsiegel at optonline.net (ajsiegel at optonline.net) Date: Wed, 12 Jul 2006 18:19:48 +0000 (GMT) Subject: [Edu-sig] Alan Kay - another one of his ideas In-Reply-To: References: <44B42110.1040007@aon.at> <44B467F6.2040907@kurtz-fernhout.com> <44B4A14B.5020303@gmx.de> Message-ID: > On 7/12/06, Andreas Raab wrote: > The sequence again is roughly: pilot avatars and sims with programs > (Logo), immerse yourself in communicative fanstasy environments > (Squeak), surface a more adult mindset and start tackling real world > problems with more focus (Python). It's kinda like three kinds of > music: control a body, swim in the ocean, build your own. The > language names are stand ins for what're probably the best open source > options today. Assuming that is accepted, shouldn't the Python community interested in the subject of education be concentrating on creating the applications geared toward the adult mindset? And that become the focus of edu-sig? That's been my position for 5 years, or so. Having not made many friends, or influenced many people by expressing it. Art -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.python.org/pipermail/edu-sig/attachments/20060712/1a1b0d6c/attachment.html From guido at python.org Wed Jul 12 20:20:16 2006 From: guido at python.org (Guido van Rossum) Date: Wed, 12 Jul 2006 11:20:16 -0700 Subject: [Edu-sig] Alan Kay - another one of his ideas In-Reply-To: <44B5339E.6010709@gmx.de> References: <44B42110.1040007@aon.at> <44B467F6.2040907@kurtz-fernhout.com> <44B4A14B.5020303@gmx.de> <44B5339E.6010709@gmx.de> Message-ID: On 7/12/06, Andreas Raab wrote: > Guido van Rossum wrote: > > I have no argument with the rest of your message but I want to stop > > the rhetoric claiming that the WWW is somehow bad for us. > > Heck, no. I didn't mean to say that the web is "bad" for you (as in "TV > is bad for you"). Limited, yes, and that is the point. Even on my very > first home computer in the early 80s (Comodore C16) I had a drawing > program. There we go again. You are surrounded by geeks so obviously you don't realize this any more, but do you have *any* idea how privileged you were to have a computer in the early 80s? > On the "web-platform" it effectively took ten years and two > dozen standards until we've been able to recreate something as > dog-simple as that. You're comparing apples and oranges. People can still do whatever you did on that C16 if they have a PC at home, no WWW needed. And there are a lot more PCs and they are a lot cheaper. The WWW is just icing on the cake. > And the nature of the discourse simply changes > dramatically when you have capable authoring tools at your hand to > express your thoughts - one of the best examples being the Blogosphere > which has managed to utilize the current limited authoring abilities in > an amazing way. Why do you keep referring to blogs as limited? They are a 1000x more versatile and accessible than the word processors of the 80s and 90s. You seem to be forgetting that. > Anyway. I think this discussion is somewhat of a red herring so let's > not get all locked up about whether the web's good or bad or whether it > is too limited or "just right". I'm all for wanting to improve the web. I just don't accept the claim that it's somehow a regression. What's a regression is that schools no longer teach programming. That trend was apparent even before the web; programming classes (only offered to very few students of course) have been replaced by atrocities like "using Word" and "using PowerPoint" (offered to many more students). Part of this may be due to the teachers -- there simply aren't enough teachers capable of teaching programming the way Alan Kay or his favorite teachers teach it... > To get back to the Logowiki starting point, the main idea of Logowiki is > to give people an example for what it *could* mean to include this kind > of dynamic content in browser. The way I understand it, Crunchy Frog > seems to be aimed very much in the same direction. I've had a hard time finding the exact software that was used here. I found a Squeak installer that was supposed to run in my browser but didn't install correctly on my PowerBook. Could you publish some fool-proof URLs for people to experiment with? -- --Guido van Rossum (home page: http://www.python.org/~guido/) From kirby.urner at gmail.com Wed Jul 12 20:26:00 2006 From: kirby.urner at gmail.com (kirby urner) Date: Wed, 12 Jul 2006 11:26:00 -0700 Subject: [Edu-sig] Alan Kay - another one of his ideas In-Reply-To: References: <44B42110.1040007@aon.at> <44B467F6.2040907@kurtz-fernhout.com> <44B4A14B.5020303@gmx.de> Message-ID: On 7/12/06, ajsiegel at optonline.net wrote: > Assuming that is accepted, shouldn't the Python community interested in the > subject of education be concentrating on creating the applications geared > toward the adult mindset? > This is just about one curriculum in particular though, Kusasa's in South Africa. How widely adopted it will be remains to be seen. > And that become the focus of edu-sig? > *A* focus, certainly. > That's been my position for 5 years, or so. > > Having not made many friends, or influenced many people by > expressing it. > > Art I think you've had a lot of influence over the years, but in ways we'll never be able to precisely measure, so what can I say about it. Hmmmm.... Anyway, I too am looking more and more at sharing Python with fully fledged adults (whatever that means). I don't think we'll get quality K12 lesson planning around this resource without more adult understanding. Look for me on the teacher training circuit. Kirby From andre.roberge at gmail.com Wed Jul 12 20:38:50 2006 From: andre.roberge at gmail.com (Andre Roberge) Date: Wed, 12 Jul 2006 15:38:50 -0300 Subject: [Edu-sig] Alan Kay - another one of his ideas In-Reply-To: <44B5339E.6010709@gmx.de> References: <44B42110.1040007@aon.at> <44B467F6.2040907@kurtz-fernhout.com> <44B4A14B.5020303@gmx.de> <44B5339E.6010709@gmx.de> Message-ID: <7528bcdd0607121138h56e07a9aj27c21c874881cc6c@mail.gmail.com> On 7/12/06, Andreas Raab wrote: [snip] > > To get back to the Logowiki starting point, the main idea of Logowiki is > to give people an example for what it *could* mean to include this kind > of dynamic content in browser. The way I understand it, Crunchy Frog > seems to be aimed very much in the same direction. > Yes, Crunchy Frog is aimed in the same direction. I must say that I have been 1) impressed by what the Logowiki does and 2) very disappointed by the lack of obvious way of getting access to its source. While it is not nearly as polished and it does not benefit from building upon existing resources (for Logo like Logowiki does), by contrast Crunchy Frog not only has its source openly available, but it has also been from the start accompanied by a "user guide" that included tutorials on how to use it to create personalized interactive tutorials. My goal is to try and lower the barrier for others to contribute. When I look at Logowiki, I think "this is fantastic..." ... and then get the impression that its purpose is just to amaze me in such a way - like some closed source applications do. (This assessment is perhaps slightly unfair, but it is the impression left with me.) Andr? From ajsiegel at optonline.net Wed Jul 12 21:47:34 2006 From: ajsiegel at optonline.net (ajsiegel at optonline.net) Date: Wed, 12 Jul 2006 19:47:34 +0000 (GMT) Subject: [Edu-sig] Alan Kay - another one of his ideas In-Reply-To: <7528bcdd0607121138h56e07a9aj27c21c874881cc6c@mail.gmail.com> References: <44B42110.1040007@aon.at> <44B467F6.2040907@kurtz-fernhout.com> <44B4A14B.5020303@gmx.de> <44B5339E.6010709@gmx.de> <7528bcdd0607121138h56e07a9aj27c21c874881cc6c@mail.gmail.com> Message-ID: From: Andre Roberge > When I look at Logowiki, I think "this is > fantastic..." ... and then get the impression that its purpose > is just > to amaze me Don't know how much was intended, but this touching on a lot to me. It is too easy to amaze, too hard to resist doing so. I would want educational software for children, in particular, to go out of its way to not amaze, not rely on the ability to create magic as its point of engagement. *Not* be immersive. But that is not where things have been, and they seem to be going further in a direction away from it. Bets being off if, for example, we are teaching something like Panda3d, where the *subject matter* is that magic. This implies, among other things, that we have had the technological capability to approach this problem for some time, and to the extent that it is not "solved", it is for reasons other than that we haven't had the bits and bytes configured just right, or enough accelerator cards, or folks are scared and resistant to change. But of course I don't really understand the problem. If computers do not have a major contribution to make to the education of children....so be it. Who promised us it must be otherwise, and when. Art -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.python.org/pipermail/edu-sig/attachments/20060712/a087ad6a/attachment.html From kirby.urner at gmail.com Wed Jul 12 22:03:52 2006 From: kirby.urner at gmail.com (kirby urner) Date: Wed, 12 Jul 2006 13:03:52 -0700 Subject: [Edu-sig] Alan Kay - another one of his ideas In-Reply-To: References: <44B42110.1040007@aon.at> <44B467F6.2040907@kurtz-fernhout.com> <44B4A14B.5020303@gmx.de> <44B5339E.6010709@gmx.de> <7528bcdd0607121138h56e07a9aj27c21c874881cc6c@mail.gmail.com> Message-ID: On 7/12/06, ajsiegel at optonline.net wrote: > I would want educational software for children, in particular, to go out > of its way to not amaze, not rely on the ability to create magic as > its point of engagement. *Not* be immersive. > I don't understand this. Childhood is a time to run simulations without the pressure of committing to this or that future as an adult. They "try before they buy" and experiment with different roles (role playing games big for kids), play with dolls. I let my daughter play Sims 2 for hours each week. Other times, she'll immerse herself in Uru, sometimes with me playing right alongside. Civilization IV was another hit with her. Then there're the robots. OMSI has an exhibit on robots going. She went straight for the case with the Sony Aibo, but unfortunately no Aibo was actually doing its thing. You may counter that these games aren't "educational" in the way you mean, but that begs the question of what "educational" really *does* mean to you. It seems to mean staying stark and austere. Maybe it's just a matter of taste and diet. I like *some* stark and austere "hard fun" experiences in the mix, but I don't insist that we withhold all the magic from this age group. This is a time when they should be allowed rich fantasy lives, and if engineering has ways to facilitate that, why not? Since greek times, we've used whatever tech was available to share drama. Are you also against television, across the board? Tara and I have watched lots of TV together. We usually get it through Netflix i.e. aren't at the mercy of "what happens to be on". You seem to indulge a more-than-healthy amount of nostalgia for the way it was when you were a kid. You're now ready to go to bat for kids who want it the way you had it. I don't deny your right to recruit for that lifestyle, but I do consider myself competition, even if I too have designs for using the great outdoors (the real one, not just a VM version). Kirby From mtobis at gmail.com Wed Jul 12 22:41:11 2006 From: mtobis at gmail.com (Michael Tobis) Date: Wed, 12 Jul 2006 15:41:11 -0500 Subject: [Edu-sig] Crunchy Frog, Spiny Norman, edupython in general Message-ID: I'll be giving a brief talk and trying to facilitate discussion at ChiPy (the Chicago Python association) tomorrow (July 13) evening (7 PM) in downtown Chicago (Performics, 180 N Lasalle, suite 1100) on Crunchy Frog, Spiny Norman, and networked tools for education (Note there will also be a talk on parsing and a talk on Perl 6. Order of presentations is pretty much figured out informally on the spot...) Spiny Norman is my (as yet very preliminary) answer to Jeff Elkner's request for a doctest based testing tool, which is amazingly orthogonal to Andre's approach to a doctest based teaching tool, which was also inpired by Jeff as I understand it. Related topics have recently generated quite a lot of discussion on the chipy mailing list ( http://mail.python.org/mailman/listinfo/chicago ). mt From ajsiegel at optonline.net Wed Jul 12 22:48:26 2006 From: ajsiegel at optonline.net (ajsiegel at optonline.net) Date: Wed, 12 Jul 2006 20:48:26 +0000 (GMT) Subject: [Edu-sig] Alan Kay - another one of his ideas In-Reply-To: References: <44B42110.1040007@aon.at> <44B467F6.2040907@kurtz-fernhout.com> <44B4A14B.5020303@gmx.de> <44B5339E.6010709@gmx.de> <7528bcdd0607121138h56e07a9aj27c21c874881cc6c@mail.gmail.com> Message-ID: From: kirby urner > > You seem to indulge a more-than-healthy amount of nostalgia for the > way it was when you were a kid. You're now ready to go to bat for > kids who want it the way you had it Perhaps, though I think not. But, I remain willing to be wrong here. Just that there is an inevitability about other peoples' sense of where we are *necessarily* going that I don't share, and to the extent we *necessarily* get there I would like to be sure that we get there as something more than a prophecy, self-fulfilled. Art -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.python.org/pipermail/edu-sig/attachments/20060712/b1292825/attachment.htm From kirby.urner at gmail.com Wed Jul 12 23:05:22 2006 From: kirby.urner at gmail.com (kirby urner) Date: Wed, 12 Jul 2006 14:05:22 -0700 Subject: [Edu-sig] Alan Kay - another one of his ideas In-Reply-To: References: <44B42110.1040007@aon.at> <44B467F6.2040907@kurtz-fernhout.com> <44B4A14B.5020303@gmx.de> <44B5339E.6010709@gmx.de> <7528bcdd0607121138h56e07a9aj27c21c874881cc6c@mail.gmail.com> Message-ID: On 7/12/06, ajsiegel at optonline.net wrote: > But, I remain willing to be wrong here. Just that there is an inevitability > about other peoples' sense of where we are *necessarily* going that I don't share, > and to the extent we *necessarily* get there I would like to be sure that we > get there as something more than a prophecy, self-fulfilled. > > Art I think we each have a responsibility to trailblaze, to pioneer, in the direction of a future we consider promising and attainable. We don't all share the same vision, but in expressing our respective preferred futures as clearly as we're able, we at least have something to bring to the table. I think you bring a lot to the table, and do responsibly demonstrate what you consider worthy of study and further development (Euclid, Klein, Pygeo etc.). In possible competition with yourself, however, is not some unified and coherent "other peoples' sense of where are are *necessarily* going". Rather, there are as many individual visions as we have individuals, all pushing and pulling in various directions. So whereas I support your efforts to clearly articulate a vision for a preferred future, I encourage you not to give in to paranoid talk about "others" as if there's one monolithic conspiracy out there (even within our Python Nation) -- nor even four or five. I see no possibility for top-down pyramidal style management at this level, which is why I'm a self-proclaimed admirer and to some extent student of Dee Hock, pioneer of Visa (with MasterCard a "me tooer"). Kirby From kirby.urner at gmail.com Wed Jul 12 23:17:14 2006 From: kirby.urner at gmail.com (kirby urner) Date: Wed, 12 Jul 2006 14:17:14 -0700 Subject: [Edu-sig] Crunchy Frog, Spiny Norman, edupython in general In-Reply-To: References: Message-ID: > Related topics have recently generated quite a lot of discussion on > the chipy mailing list > > ( http://mail.python.org/mailman/listinfo/chicago ). > > mt Congrats on having a going ChiPy. Our PorPIG is just a carcass these days, flies buzzing. Enviously, Kirby From da.ajoy at gmail.com Wed Jul 12 23:46:13 2006 From: da.ajoy at gmail.com (Daniel Ajoy) Date: Wed, 12 Jul 2006 16:46:13 -0500 Subject: [Edu-sig] Alan Kay - another one of his ideas Message-ID: > From: Ian Bicking > Subject: Re: [Edu-sig] Alan Kay - another one of his ideas > > Using Logo Wiki as a way to encourage people to download a plugin would > be a mistake IMHO. Putting all your code into a little dead box > embedded on a web page is pretty lame, and it shows. There's only two > kinds of plugins that matter anymore: video (Quicktime, Windows Media, > etc) and Flash. And Flash is taking over video too. Everything else is > entirely dead (and good riddance!). Plugins of various kinds have been > done many, many times, and failed many, many times. (There's even a > Logo/Java plugin: http://turtletracks.sourceforge.net/) > > OTOH, if you really want fancy output, you want Flash pure and simple. > I'm glad Logo Wiki is in Javascript and uses the canvas, but if they > really want more control and graphical power then Flash is the obvious > next step. > Here is a subset of Logo (The turtle graphics subset) in Spanish implemented in Flash: http://mondragon.angeltowns.net/paradiso/LogoFlash.html One of it's deficiencies is that the projects can't be really stored from session to session. They vanish when the browser window is closed. Daniel From glingl at aon.at Wed Jul 12 23:54:10 2006 From: glingl at aon.at (Gregor Lingl) Date: Wed, 12 Jul 2006 23:54:10 +0200 Subject: [Edu-sig] Alan Kay - another one of his ideas In-Reply-To: References: <44B42110.1040007@aon.at> <44B467F6.2040907@kurtz-fernhout.com> <44B4A14B.5020303@gmx.de> <44B5339E.6010709@gmx.de> <7528bcdd0607121138h56e07a9aj27c21c874881cc6c@mail.gmail.com> Message-ID: <44B56F82.1070809@aon.at> kirby urner schrieb: > On 7/12/06, ajsiegel at optonline.net wrote: > > >> But, I remain willing to be wrong here. Just that there is an inevitability >> about other peoples' sense of where we are *necessarily* going that I don't share, >> and to the extent we *necessarily* get there I would like to be sure that we >> get there as something more than a prophecy, self-fulfilled. >> >> Art >> > > I think we each have a responsibility to trailblaze, to pioneer, in > the direction of a future we consider promising and attainable. > > We don't all share the same vision, but in expressing our respective > preferred futures as clearly as we're able, we at least have something > to bring to the table. > > I think you bring a lot to the table, and do responsibly demonstrate > what you consider worthy of study and further development (Euclid, > Klein, Pygeo etc.). > Regardless of the subject line your and Arthur's discussions seem to have some strange attractor. (Just an observation. Or am I wrong?) Gregor > Kirby > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > http://mail.python.org/mailman/listinfo/edu-sig > > > From lists at janc.be Wed Jul 12 23:54:25 2006 From: lists at janc.be (Jan Claeys) Date: Wed, 12 Jul 2006 23:54:25 +0200 Subject: [Edu-sig] Alan Kay - another one of his ideas In-Reply-To: References: <44B42110.1040007@aon.at> <44B467F6.2040907@kurtz-fernhout.com> Message-ID: <1152741302.1550.112.camel@bedsa.local> On di, 2006-07-11 at 23:31 -0700, kirby urner wrote: > But you're right, it's not platform neutral enough to run on my > Edubuntu box in the basement. > > Your reports of difficulties sent me down there. > > Nor is upgrading the the next FireFox all that mindlessly easy (I > struggled and lost). > > The Synaptic Package Manager (sp?) offered to uninstall FireFox, or > reinstall, but not upgrade. If you're running Edubuntu 6.06 you should already have a version of Firefox that supports the element (and I think it's in 5.10 too), so probably that's not the problem... -- Jan Claeys From da.ajoy at gmail.com Thu Jul 13 00:26:34 2006 From: da.ajoy at gmail.com (Daniel Ajoy) Date: Wed, 12 Jul 2006 17:26:34 -0500 Subject: [Edu-sig] Alan Kay - another one of his ideas Message-ID: > From: Ian Bicking > > (There's even a > Logo/Java plugin: http://turtletracks.sourceforge.net/) Not one, but many. Here is an unusual one (similar in concept to GvR?): http://tinyurl.com/p5xwr http://school.eb.com/lm/manipulatives/enu/workspaces/ ladybug_maze/workspace.html Daniel From da.ajoy at gmail.com Thu Jul 13 00:30:51 2006 From: da.ajoy at gmail.com (Daniel Ajoy) Date: Wed, 12 Jul 2006 17:30:51 -0500 Subject: [Edu-sig] Alan Kay - another one of his ideas In-Reply-To: References: Message-ID: > Not one, but many. Here is an unusual one (similar in concept > to GvR?): > > http://tinyurl.com/p5xwr It seems to be part of this: http://standards.nctm.org/document/eexamples/chap4/4.3/index.htm Daniel From andreas.raab at gmx.de Thu Jul 13 01:34:49 2006 From: andreas.raab at gmx.de (Andreas Raab) Date: Wed, 12 Jul 2006 16:34:49 -0700 Subject: [Edu-sig] [Fwd: Re: [Fwd: Re: Alan Kay - another one of his ideas]] Message-ID: <44B58719.1060407@gmx.de> FYI - here's the source code. -------- Original Message -------- Subject: Re: [Fwd: Re: Alan Kay - another one of his ideas] Date: Wed, 12 Jul 2006 19:24:45 -0400 From: Colin Putney To: Alan Kay CC: Andreas Raab , Avi Bryant References: <44B572A9.9010509 at gmx.de> <6.1.2.0.2.20060712152350.10c70f90 at mail.squeakland.org> On Jul 12, 2006, at 6:24 PM, Alan Kay wrote: > Fine with me! > > Let's do it. Done. See http://www.logowiki.net/wiki/About%20LogoWiki Probably the biggest reason we didn't do this before is, well... this is the web. All you need is 'View source'. Colin From ajsiegel at optonline.net Thu Jul 13 01:49:17 2006 From: ajsiegel at optonline.net (Arthur) Date: Wed, 12 Jul 2006 19:49:17 -0400 Subject: [Edu-sig] Alan Kay - another one of his ideas In-Reply-To: <44B56F82.1070809@aon.at> References: <44B42110.1040007@aon.at> <44B467F6.2040907@kurtz-fernhout.com> <44B4A14B.5020303@gmx.de> <44B5339E.6010709@gmx.de> <7528bcdd0607121138h56e07a9aj27c21c874881cc6c@mail.gmail.com> <44B56F82.1070809@aon.at> Message-ID: <44B58A7D.9010603@optonline.com> Gregor Lingl wrote: > Regardless of the subject line your and Arthur's discussions seem > to have some strange attractor. > (Just an observation. Or am I wrong?) > Gregor As Kirby suggests, perhaps concentrate on what we do, not what we say. Perhaps Kirby compensates for the fact that his gnu math is down-to-earth, by talking visionary. And I for the fact that PyGeo is a bit out there, by talking mundane. I can't find much evil in either, however. Art From andre.roberge at gmail.com Thu Jul 13 04:47:22 2006 From: andre.roberge at gmail.com (Andre Roberge) Date: Wed, 12 Jul 2006 23:47:22 -0300 Subject: [Edu-sig] edu-sig exclusive: Crunchy Frog 0.4.9 released Message-ID: <7528bcdd0607121947i28a0a71ei9a1b59bcdd28b4a5@mail.gmail.com> Crunchy Frog has a new "permanent" home on sourceforge. Version 0.4.9 has just been uploaded. You can find it at: http://sourceforge.net/project/showfiles.php?group_id=169458 This is really meant as a demonstration in preparation for the 0.5 version and will, hopefully, be used by Michael Tobis at tomorrow's ChiPy meeting ;-). [It would not have been released tonight otherwise.] It has been tested on Linux and Windows ... but not Mac OS. Among the changes from the previous release (0.4): much improved appearance, through css styling options; better graphics support for canvas drawings; sound generation; more complete documentation. Note that the canvas is not supported by Internet Explorer. There has been _many_ "under the hood" changes/improvements mostly made by Johannes Woolard in preparation for this release. A few more changes will be needed prior to the 0.5 release and, until then, it is not really practical to create your own tutorials (due to some relative path issues) unless they are located in the same directory as the main Crunchy tutorial. As always, suggestions/comments are welcome. Andr? From andreas.raab at gmx.de Thu Jul 13 09:25:41 2006 From: andreas.raab at gmx.de (Andreas Raab) Date: Thu, 13 Jul 2006 00:25:41 -0700 Subject: [Edu-sig] Alan Kay - another one of his ideas In-Reply-To: References: <44B42110.1040007@aon.at> <44B467F6.2040907@kurtz-fernhout.com> <44B4A14B.5020303@gmx.de> <44B5339E.6010709@gmx.de> Message-ID: <44B5F575.2020607@gmx.de> Guido van Rossum wrote: > On 7/12/06, Andreas Raab wrote: >> Guido van Rossum wrote: >>> I have no argument with the rest of your message but I want to stop >>> the rhetoric claiming that the WWW is somehow bad for us. >> Heck, no. I didn't mean to say that the web is "bad" for you (as in "TV >> is bad for you"). Limited, yes, and that is the point. Even on my very >> first home computer in the early 80s (Comodore C16) I had a drawing >> program. > > There we go again. You are surrounded by geeks so obviously you don't > realize this any more, but do you have *any* idea how privileged you > were to have a computer in the early 80s? In what way is this relevant for our discussion? Unless you want me to pretend that prior art doesn't exist, I don't see much relevance in that observation ;-) [But just to answer your question: Yes I have a pretty good idea about it, simply because at the time and place it was pointed out to me over and over and over again] >> On the "web-platform" it effectively took ten years and two >> dozen standards until we've been able to recreate something as >> dog-simple as that. > > You're comparing apples and oranges. People can still do whatever you > did on that C16 if they have a PC at home, no WWW needed. And there > are a lot more PCs and they are a lot cheaper. The WWW is just icing > on the cake. I am not comparing apples and oranges, I am comparing platforms. And that last statement shows precisely where we differ. I don't look at the web as just icing on the cake, to me it's not a supplementary medium. To me it's the whole deal, a platform in and of its own. And when you compare the platforms, the web (maybe with a PC terminal for access) and my C16 you'll find pretty quickly there are lots of things that you can't do on the web. Just go into one of them Internet-Cafes and try installing some software of your own choosing. Or, even worse, try this in a corporate or school setting. You'll notice quickly that you don't have a platform - you have a terminal and the web is the platform. >> And the nature of the discourse simply changes >> dramatically when you have capable authoring tools at your hand to >> express your thoughts - one of the best examples being the Blogosphere >> which has managed to utilize the current limited authoring abilities in >> an amazing way. > > Why do you keep referring to blogs as limited? They are a 1000x more > versatile and accessible than the word processors of the 80s and 90s. > You seem to be forgetting that. Peace. I said "limited authoring capabilities" and given that even today most blog hosting services offer little more than an input field for writing HTML code I think I can defend that position ;-) >> Anyway. I think this discussion is somewhat of a red herring so let's >> not get all locked up about whether the web's good or bad or whether it >> is too limited or "just right". > > I'm all for wanting to improve the web. I just don't accept the claim > that it's somehow a regression. That's because you are comparing Apples and Oranges, and I am comparing platforms. > What's a regression is that schools no longer teach programming. That > trend was apparent even before the web; programming classes (only > offered to very few students of course) have been replaced by > atrocities like "using Word" and "using PowerPoint" (offered to many > more students). Part of this may be due to the teachers -- there > simply aren't enough teachers capable of teaching programming the way > Alan Kay or his favorite teachers teach it... Needless to say: I agree. >> To get back to the Logowiki starting point, the main idea of Logowiki is >> to give people an example for what it *could* mean to include this kind >> of dynamic content in browser. The way I understand it, Crunchy Frog >> seems to be aimed very much in the same direction. > > I've had a hard time finding the exact software that was used here. I > found a Squeak installer that was supposed to run in my browser but > didn't install correctly on my PowerBook. Could you publish some > fool-proof URLs for people to experiment with? I'm not sure which "exact software" you are referring to, we've been touching a couple of things in this discussion. For Logowiki, http://logowiki.net is the reference and there is no plugin required. For Squeak itself, there is Squeak.org which does not offer a webbrowser plugin installation. Our educational site, Squeakland.org offers such an install, see http://www.squeakland.org/plugin/download.html which is a custom Squeak version intended for use with eToys. Cheers, - Andreas From guido at python.org Thu Jul 13 16:38:37 2006 From: guido at python.org (Guido van Rossum) Date: Thu, 13 Jul 2006 07:38:37 -0700 Subject: [Edu-sig] Alan Kay - another one of his ideas In-Reply-To: <44B5F575.2020607@gmx.de> References: <44B42110.1040007@aon.at> <44B467F6.2040907@kurtz-fernhout.com> <44B4A14B.5020303@gmx.de> <44B5339E.6010709@gmx.de> <44B5F575.2020607@gmx.de> Message-ID: On 7/13/06, Andreas Raab wrote: > Guido van Rossum wrote: > > There we go again. You are surrounded by geeks so obviously you don't > > realize this any more, but do you have *any* idea how privileged you > > were to have a computer in the early 80s? > > In what way is this relevant for our discussion? Unless you want me to > pretend that prior art doesn't exist, I don't see much relevance in that > observation ;-) In my line of reasoning, the WWW isn't taking anything away because 99% of its users didn't have any computer access before the WWW. So I'm objecting against your "proof" that the WWW took away what you had on the C16 based on the C16's superior capacity; that's like blaming modern medicine for world hunger. > [But just to answer your question: Yes I have a pretty good idea about > it, simply because at the time and place it was pointed out to me over > and over and over again] Poor you. :-) > > You're comparing apples and oranges. People can still do whatever you > > did on that C16 if they have a PC at home, no WWW needed. And there > > are a lot more PCs and they are a lot cheaper. The WWW is just icing > > on the cake. > > I am not comparing apples and oranges, I am comparing platforms. And > that last statement shows precisely where we differ. I don't look at the > web as just icing on the cake, to me it's not a supplementary medium. To > me it's the whole deal, a platform in and of its own. And when you > compare the platforms, the web (maybe with a PC terminal for access) and > my C16 you'll find pretty quickly there are lots of things that you > can't do on the web. Just go into one of them Internet-Cafes and try > installing some software of your own choosing. Or, even worse, try this > in a corporate or school setting. You'll notice quickly that you don't > have a platform - you have a terminal and the web is the platform. The platforms differ. You seem to forget all the things you couldn't do with a C16 that are effortless on the WWW (like sharing something you wrote with millions of people, or storing thousands of 1000x1600 color photographs, or email). > > Why do you keep referring to blogs as limited? They are a 1000x more > > versatile and accessible than the word processors of the 80s and 90s. > > You seem to be forgetting that. > > Peace. I said "limited authoring capabilities" and given that even today > most blog hosting services offer little more than an input field for > writing HTML code I think I can defend that position ;-) Did your C16 support hyperlinks, multiple fonts, sizes, colors and automatic table lay-out? > > I'm all for wanting to improve the web. I just don't accept the claim > > that it's somehow a regression. > > That's because you are comparing Apples and Oranges, and I am comparing > platforms. Let's just agree that it's a different perspective. I still think the claim that the WWW is a regression is only possible from a very privileged POV. > > I've had a hard time finding the exact software that was used here. I > > found a Squeak installer that was supposed to run in my browser but > > didn't install correctly on my PowerBook. Could you publish some > > fool-proof URLs for people to experiment with? > > I'm not sure which "exact software" you are referring to, we've been > touching a couple of things in this discussion. Well, for a start I'd like to see what Alan Kay used in his keynote. I'm guessing that's Logowiki. > For Logowiki, > http://logowiki.net is the reference and there is no plugin required. > For Squeak itself, there is Squeak.org which does not offer a webbrowser > plugin installation. Our educational site, Squeakland.org offers such an > install, see http://www.squeakland.org/plugin/download.html which is a > custom Squeak version intended for use with eToys. And eToys itself? The web of different/similar sites is confusing. A taxonomy of the Squeak world would be helpful. -- --Guido van Rossum (home page: http://www.python.org/~guido/) From david at boddie.org.uk Thu Jul 13 21:46:47 2006 From: david at boddie.org.uk (David Boddie) Date: Thu, 13 Jul 2006 21:46:47 +0200 Subject: [Edu-sig] Alan Kay - another one of his ideas Message-ID: <200607132146.48108.david@boddie.org.uk> On Thu Jul 13 16:38:37 CEST 2006, Guido van Rossum wrote: > Well, for a start I'd like to see what Alan Kay used in his keynote. > I'm guessing that's Logowiki. He was just using the Squeak environment provided by the Squeakland plugin, wasn't he? There was probably a mixture of custom content and higher level Squeak-based components. At least, that's what it looked like to me. It wasn't clear to me what was providing the collaborative interaction facilities he showed at one point. Maybe that's some sort of extension to Squeak. David From pdfernhout at kurtz-fernhout.com Thu Jul 13 22:58:58 2006 From: pdfernhout at kurtz-fernhout.com (Paul D. Fernhout) Date: Thu, 13 Jul 2006 16:58:58 -0400 Subject: [Edu-sig] The keyhole problem and learning environments Message-ID: <44B6B412.3030104@kurtz-fernhout.com> While looking around the web looking at issues related to Squeak and Python and 3D GUI issues(*), I came across this: "The Keyhole Problem". http://www.aristeia.com/TKP/ From there: "This is the web page for my current book project, The Keyhole Problem. The book explains how some kinds of constraints in software systems decrease the quality of those systems in many ways. It proposes practical steps programmers can take to avoid these constraints. I call the constraints I'm interested in keyholes: arbitrary restrictions on your ability to see or express something. The name is motivated by the analogy of looking at a room through a keyhole in the door. I'm especially interested in keyholes that programmers can easily avoid, i.e., on gratuitous keyholes. The book defines a number of such keyhole types, gives a variety of examples of how they manifest themselves, explains why they are harmful, and describes how they can be avoided or mitigated. " While much of the book seems to be more about specific smaller programming issues, metaphorically I think that the general metaphor relates to my concern about promoting web-based development environments for Python beginners. Especially having seen the alternative as advanced by Smalltalk development environments thirty-odd years ago, I am concerned that such efforts may be creating experiences of looking through lots of keyholes instead of feeling increasing mastery of a powerful development environment. Maybe this is also a spin on what Kirby uses other language to describe related to when people try to hide the guts of GNU/Linux. Now, that doesn't mean that it is not worth making web tools, just that this is a concern, to be weighed against the advantages of getting people doing any programming at all or having an easy way to deploy educational Python simulations, and I think it worth reflecting on to see if one can both get the cake of people using Pythonic simulations easily and eat it too by letting them change those simulations in unexpected ways. Consider again my previous mention of "transient" versus "sovereign" http://www.cooper.com/articles/art_your_programs_posture.htm applications. I accept the idea that when you want to know something specific it may be nice to find a canned simulation about it on, say, a Wikipedia page. But, what I want is a way for people. when they wish, to go further, and turn that "transient" experience of interacting with a canned simulation into an ongoing expandable experience using "sovereign" development tools. For a decade that has always been my indirect goal with plans for our garden simulator -- to present something complex and educational, yet open to the user to easily build on, tear down, or just go further with, and that has been part of what has driven my interest in Squeak and now Python. Essentially, after the user looks through the keyhole of the specific simulation running, ideally they can open the door and walk into the simulation with easy-to-use development tools and start making changes. For the web systems, I would have less problems with the concept if it was easy to easily point your large development tool at the web page, download the code, and then keep modifying it (and republish it). I think this also returns to earlier comments on how to design a good graphical context for Python newbies -- one that just lets you do some interesting things easily (a keyhole) versus one that makes such things easy but still gives you power to move beyond that and do general graphics. Thinking about a 3D turtle vs. 2D turtle in that context, then maybe a same idea would be to have a turtle that does 2D by default with a simple API but also supports complete 3D operations in an extended API for people who suddenly have an interest in going further. Part of this of course comes from pedagogical philosophy -- restrict what kids can do at the moment versus point them to interesting things and see what happens. I guess one could have a system that restricts at first and gradually unlocks. Games are often structured this way as you proceed across levels or acquire new abilities. While that is looking at it from a pedagogical point of view, this issue pops up in lots of contexts. For example, emacs has tons of key bindings, and it is easy for a beginner to press one by accident and instead of getting a "beep" they get some completely unexpected behavior which they may not be able to back out of easily. It might be nice if for beginners only some of the key bindings worked, and they could be gradually added as needed in an easy way. Similarly, a criticism leveled in the link below on Squeak is that it is very easy to just break Squeak in various ways from the advanced shooting yourself in the foot by making a base class change that causes an error window to open when opening a window :-) to simple things like tearing off a window's close box in Morphic. PataPata has variations of the same failure modes too, so it isn't specifically bas about Squeak, just a general class of problems that are not always easy to solve. Somehow one want to lock certain features, or hide certain things, but still make them unlockable under certain situations. LearningWorks (based on VisualWorks Smalltalk) also addressed some of these issues hiding frames in the debugger related to internal operations from beginners. Anyway, just pointing out that "The Keyhole Problem" is perhaps another metaphor to use in thinking about how to design software which is both easy to learn and also worth learning and using for itself over the long term. :-) --Paul Fernhout (*)Some random snapshot links along my thought path leading to that: http://pyui.sourceforge.net/ [Just started a 3D PataPata version and am thinking about using this] http://twistedmatrix.com/users/glyph/rant/sqcr.html [5 years out of date, but echoes my own similar frustrations with Squeak; came across as I need twisted or another API if I can get a Tkinter process to inspect the 3D OpenGL GLUT world I just started] http://www.twistedmatrix.com/users/glyph/rant/python-vs-java.html [For comparison to Squeak, six year old negatives about Java, but they have been mostly resolved technically (though license issues remain).] http://patricklogan.blogspot.com/2003/12/game-programming-with-python-and-pyui.html [when looking to see comments on PyUI] http://patricklogan.blogspot.com/2003/10/craving-rich-gui.html [Which mentions the Keyhole Problem] From andre.roberge at gmail.com Fri Jul 14 00:59:04 2006 From: andre.roberge at gmail.com (Andre Roberge) Date: Thu, 13 Jul 2006 19:59:04 -0300 Subject: [Edu-sig] The keyhole problem and learning environments In-Reply-To: <44B6B412.3030104@kurtz-fernhout.com> References: <44B6B412.3030104@kurtz-fernhout.com> Message-ID: <7528bcdd0607131559k4a28ab59g75fcee540f4912de@mail.gmail.com> Guido van Rossum (on CP4E, in 2000): "... The two major research goals are the development of a prototype of a new programming curriculum and matching prototype software comprising a highly user-friendly programming environment... First, the environment must significantly ease the burden of writing, installing, and debugging new programs..." ...curriculum... user-friendly programming environment ...easy installation... Common themes in the last few days' discussion on edu-sig. Inspired by Paul's post about "The Keyhole Problem" (from which I will quote occasionally below) I'd like to describe another concept which I believe is as important, and which I think of as "smoothing the learning curve". The learning process can be often describe as a series of discontinuous "learning steps" followed by "shallow curves". "Smoothing the learning curve" is an attempt to transform the "learning steps" into gradual inclines. I will try to "encapsulate" my ideas in short snippets, somewhat disjoint, and using concrete examples mostly taken from rur-ple and Crunchy Frog - since I know them better and they are actual concrete representations of those ideas. Paul wrote: > Part of this of course comes from pedagogical philosophy -- restrict what > kids can do at the moment versus point them to interesting things and see > what happens. I guess one could have a system that restricts at first and > gradually unlocks. This is the philosophy that was behind rur-ple. Users starts writing simple programs in the robot world, with very few instructions. However, unlike with Guido van Robot which uses a Python-like syntax, rur-ple uses Python through and through ... thus no "learning step" required when going from the robot world into the full python world. In terms of "unlocking", rur-ple includes a python interpreter (which is the next environment introduced after the robot world) followed by an editor with "quick run" button, allowing more flexibility in writing programs. However, that being said... Paul wrote: > While much of the book seems to be more about specific smaller programming > issues, metaphorically I think that the general metaphor relates to my > concern about promoting web-based development environments for Python > beginners. Especially having seen the alternative as advanced by Smalltalk > development environments thirty-odd years ago, I am concerned that such > efforts may be creating experiences of looking through lots of keyholes > instead of feeling increasing mastery of a powerful development > environment. Use the right tool - not the only tool. I don't like Idle; never had. My favourite Python editor is SPE. Yet, sometimes I would use Idle for a quick look at a python script. Nowadays, I tend to use "lightning compiler" [which I wrote] for quick jobs, or when I want to write a function/method with included doctests, rather than using SPE, as it is much more convenient for this. Two editors, for two different types of jobs - both of which are for programming in Python. conclusion: If I need to use more than one tool, why can I expect to have a single environment that will satisfy the needs of all learners. So, I don't expect rur-ple to be the complete answer... but a good partial one. However, back to rur-ple, there is a significant step (more so on some platforms than others) in adopting rur-ple: one has to install wxPython. This lead me to consider Crunchy Frog, initially as a web-based implementation of rur-ple requiring only Python and a web-browser. (At the moment, it does require also Elementtree as a separate install - but this may change with Python 2.5+) Again, the idea was to "smooth the [installing] curve", removing a barrier to learning. Paul wrote: > I think this also returns to earlier comments on how to design a good > graphical context for Python newbies -- one that just lets you do some > interesting things easily (a keyhole) versus one that makes such things > easy but still gives you power to move beyond that and do general graphics. There are *so many* interesting packages written in Python that it would be presumptuous, imo, to think that any individual or team of individuals could provide a learning environment powerful enough to satisfy all potential users of the various python modules that are available. > For a decade that has always been my indirect goal with > plans for our garden simulator -- to present something complex and > educational, yet open to the user to easily build on, tear down, or just > go further with, and that has been part of what has driven my interest in > Squeak and now Python. Essentially, after the user looks through the > keyhole of the specific simulation running, ideally they can open the door > and walk into the simulation with easy-to-use development tools and start > making changes. This is part of the philosophy behind Crunchy Frog. You/(one) want to learn about pyui? I assume you are not going to do this by poring over the code, line by line. Rather, you will look for documentation/examples as your starting point. Most packages nowadays will have *some* html "tutorial". Now, what if you knew, as a package designer, that just by adding a few extra markup instructions, you could have the tutorial transformed into an interactive one inside a web-browser - thus allowing easy initial exploration of the package. This is what Crunchy Frog allows. Granted, it is still in its infancy and will likely be superseded by something better written by a professional programmer - but I like to think of it as an interesting proof of concept. What we need (and was identified in the CP4E proposal as quoted above) is lots of teaching material. The more material at all levels, the smoother the learning curve. One obstacle, I believe, is the apparent daunting task that this represent as seen by any one potential teacher. However, if there was a repository of Python related teaching material, following a standard format, many people might be interested in contributing. That's my opinion anyway... Andr? From kirby.urner at gmail.com Fri Jul 14 01:15:06 2006 From: kirby.urner at gmail.com (kirby urner) Date: Thu, 13 Jul 2006 16:15:06 -0700 Subject: [Edu-sig] The keyhole problem and learning environments In-Reply-To: <7528bcdd0607131559k4a28ab59g75fcee540f4912de@mail.gmail.com> References: <44B6B412.3030104@kurtz-fernhout.com> <7528bcdd0607131559k4a28ab59g75fcee540f4912de@mail.gmail.com> Message-ID: On 7/13/06, Andre Roberge wrote: > This is the philosophy that was behind rur-ple. Users starts writing > simple programs in the robot world, with very few instructions. > However, unlike with Guido van Robot which uses a Python-like syntax, > rur-ple uses Python through and through ... thus no "learning step" > required when going from the robot world into the full python world. This is my own preference, that if we're writing in Python, we just go with Python syntax, and not try to use Python as a parser-interpreter of yet another language (even though Python can do that -- I think it was Danny Yoo who'd implemented Scheme in Python). Per my excerpt from a letter to Jason (TSF), Alan relayed Seymour Papert's feeling OK about "exposing the receiver" or some such jargon, by which he meant objectifying the turtle as the message receiver. In the original LOGO you'll recall, there was never ambiguity about which "self" was meant, as the FD 30 was more like "inside a turtle's head" (and so no mystery, like "it's me, duh"). But by objectfying each turtle instance, by constructing from a Turtle class, we get this greater freedom of multiple turtles. Plus why just turtles? Robots, entire 2D ecosystems emerge. Pandas. As to the "keyhole problem" -- that's almost to general a metaphor to be useful. Like, *of course* we don't want unnecessarily limiting assumptions built-in by mistake, but until we're countered with true counter-examples to our assumptions, we just won't think of them. That's what the word assumption means. Put another way, I think we should focus on the capabilities and features of actually running projects, not hypothetical "could be" software. That's one aspect of this group that I like: most of us have running code to bring to the table. Keeps things more concrete that way (so many ivory tower lists I lurk on have no makers thereon -- people who actually make, don't just wax eloquent about this that and the other). Kirby From pdfernhout at kurtz-fernhout.com Fri Jul 14 02:46:13 2006 From: pdfernhout at kurtz-fernhout.com (Paul D. Fernhout) Date: Thu, 13 Jul 2006 20:46:13 -0400 Subject: [Edu-sig] Python and Robotics in Education on Slashdot (Pyro) Message-ID: <44B6E955.9090407@kurtz-fernhout.com> I'm sure he's too modest to toot his own horn, :-) but here is a current slashdot article discussing Doug Blank's Python and Robotics in Education using Pyro and other things: http://hardware.slashdot.org/article.pl?sid=06/07/13/010254 Congratulations to Doug! ==== The initial text (168 comments so far not included): Robots Coming to Intro Computer Science Classes Posted by samzenpus on Thursday July 13, @07:48AM from the my-dog-ate-my-robot dept. Robotics Education BlueCup writes "Two colleges are hoping to make computer science courses http://www.nwfdailynews.com/articleArchive/jul2006/robotscs.php more attractive by including personal robots with the textbooks. Looking to boost enrollment in introductory computer science classes, Microsoft Corp. is working with Bryn Mawr College and Georgia Tech on developing new ways to bring robotics technology into the classroom. Douglas Blank, a computer science professor at Bryn Mawr, said the goal will be to start incorporating the robots in introductory courses at the suburban Philadelphia college next spring. Georgia Tech hopes to start during that term as well. The idea behind the program, Blank said, is to make computer science more hands-on and practical, rather than simply about debugging programs." Update: 07/13 15:52 GMT by T :Professor Blank wrote in with some clarification on one of his statements ? read on below. dougblank writes "Note to self: when talking to the press, don't use complicated technical jargon, like 'debugging' :) I think what I actually said was 'rather than debug a program to make it give the right answer, the students must debug the program to make the robot behave the way they want it to.' I think many of you will actually like the hardware, software, and curriculum that we are designing. Check out roboteducation.org/ and pyrorobotics.org. The new version of the software will be based on Pyro, Python Robotics. We think of the hardware as something like an iPod on wheels. The software is also being developed with an open source license. This project is not what many of you guess it might be. http://www.roboteducation.org/ http://pyrorobotics.org/ The CS1 and CS2 that we are developing won't be watered down, but also won't be just the standard 'intro to programming, using robots.' It's a complete rethinking of the intro courses." ==== --Paul Fernhout From pdfernhout at kurtz-fernhout.com Fri Jul 14 04:31:09 2006 From: pdfernhout at kurtz-fernhout.com (Paul D. Fernhout) Date: Thu, 13 Jul 2006 22:31:09 -0400 Subject: [Edu-sig] The keyhole problem and learning environments In-Reply-To: <7528bcdd0607131559k4a28ab59g75fcee540f4912de@mail.gmail.com> References: <44B6B412.3030104@kurtz-fernhout.com> <7528bcdd0607131559k4a28ab59g75fcee540f4912de@mail.gmail.com> Message-ID: <44B701ED.6040503@kurtz-fernhout.com> Andre Roberge wrote: > There are *so many* interesting packages written in Python that it > would be presumptuous, imo, to think that any individual or team of > individuals could provide a learning environment powerful enough to > satisfy all potential users of the various python modules that are > available. Thanks for the thoughtful reply with many good points. I'll agree you have a good point I need to think more on from an educational point of view seeing Python as a broad platform and as people learn more about it they move from using one sort of library to another (or one sort of editing environment to another). It's a coherent way to look at Python and learning (both about Python itself and about things Python helps you simulate). Thanks for outlining it. Having said that, I still think there is a tension between two approaches. One is getting people to invest a modicum of effort up from to learn a small set of good tools like Smalltalk had even 30 years ago (browser, inspector, debugger and transcript being the core ones) to give a consistent experience to working with a well thought out core library. The other approach is learning one simple tool, and then another fancier one, and then another, etc, each perhaps easy to learn as a next step but missing some essential feature, and moving from simple libraries to more complex libraries as needs change. I don't want to sound too complaining, but perhaps there are a lot of Python libraries or tools sometimes because they are *all* missing essential features or built with limited time and attention and experience? Obviously, one hopes the reason is instead that they are all good for different things or they are coming at a problem from different points of view. :-) Most likely, it is a mix of both reasons. Still, in the case of Python development tools, and not having sampled them *all* myself, of the ones I've tried (Eclipse & PyDev, Eclipse & RedRobin, Idle, Boa Constructor, Scite, and a couple others) they do lack core features that any Smalltalker takes for granted -- for example always having an integrated restartable debugger available during development, or there usually being two levels of naming for methods and classes (i.e. an organization "protocol" or "category" level above the actual object or method level; almost all Smalltalks support this). And there are several other core missing features. Not to say Python doesn't have its own advantages, but the commercial Smalltalk libraries I've seen for all sorts of core things are just more complete than Python's (for example, all the stuff you can do with streams). [Python may win on breadth of free stuff, especially web related.] Granted there are also drawbacks to some of Smalltalk's approaches to things, and some of the libraries can require abstract thinking to use them, but, when working on large projects, in my mind there is little comparison, a good Smalltalk like VisualWorks (though maybe not always Squeak) wins over Python (for large projects) because it is easier to manage complexity in it usign those features. There may be lots of good reasons for using Python anyway, including being free-as-in-freedom, or being easy to learn for C programmers, but one should be realistic about its relative weaknesses so one knows where improvement can be done. So, does that mean a beginner should be overwhelmed by all this at the start (either tools or libraries)? Are "keyholes" sometimes good then? That's an interesting question. And Smalltalk has always suffered from a steep initial learning curve -- although I think webcasts like Francois Schnell did for PataPata (thanks again) could help a lot with that. So, one can still try to make an argument that a simple editor with a small program is enough to learn the syntax and core library of a language (as with a web based tool), and from then they can more onto other tools. I'm still not sure I buy that argument, :-) but I'm just trying to make explicit the assumptions underling it versus an alternative more monolithic conventional Smalltalk approach. I think part of this also depends whether you learn a system on your own (prhaps from a book or on the web) versus whether you learn it in a computer lab or through video demonstrations. Again, I've now seen from Francois' webcast and now others as I look around at, say, ShowMeDo, http://showmedo.com/ that watching even a five minute webcast may potentially make more complex GUIs much more accessible to novices (or at least, motivate them enough to push past the learning curve). Having mentored people learning Smalltalk in industry and taught C to Bio majors at a university, I know Smalltalk is the sort of thing most people do much better with when given a little hand holding up front -- much more so that something like VB or C++ (those those also benefit some of course). I think the difference is that in Smalltalk so much of a typical system is accessible within the environment (rarely meeting a compiled library brick wall) that helping people come to see that is much more important than in other systems (including sometimes Python) where one does rely on the documentation much more than the code. (Actually in Smalltalk, one usually relies on finding a real *example* of usage of an class of interest within the system...) So -- a lot of variables in choosing how to present Python programming to "everybody". How much hand holding is available? Do the learners have access to video presentations or other ways of seeing complex tools being used as in a classroom or computer lab? How motivated are the learners? Or how much are they willing to invest of their time relative to what benefits they expect? Or, from another perspective, how much time are the learners willing to "risk" before they see a payoff? Conventional Smalltalk tools often require you to be willing to risk a higher amount of time before seeing any significant payoff, whereas you can type " print 'hello' " on the Python command line and you are going. (Strictly speaking that isn't quite a fair comparison because in Smalltalk you can type something like " Transcript show: 'hello' " in almost any text pane and click "do it" from a menu, but most Smalltalkers don't consider that programming, which may be a flaw in how Smalltalk is typically taught. :-) And, obviously, the Squeak Team led by Alan Kay has been moving more in a simplified interface direction. They now have eToys, and beyond that Croquet with some other tools, plus there were predecessors also in Squeak. Now there is LogoWiki. So, they have made several attempts to put simpler (or different) interfaces on top of Squeak or, for LogoWiki, in front of people on the web (Squeak powered or not). Or in effect, creating "keyholes" in front of Smalltalk. (Although, Smalltalk always remains easily available at least in the Squeak powered examples). So that is a vote even by the inventors of Smalltalk for such simpler interfaces. Personally, I remain uneasy about those directions. While I am all for tools to help making programming easier or even sometimes doing some of it graphically, I think (as Kirby perhaps does?) that something big is missing if there is no textual representation, or if the text representation, as in eToys, is somehow, how to say this, somewhat fragmented? And I can wonder if the eToys and such are really as easy to use (for novices) as they look in demos (or even webcasts :-). I know from the history of Smalltalk that young kids, when given some hand holding, really can do stuff with textual Smalltalk representations. I presume that extends to Python, even though Python is a harder language to learn and use in some ways than Smalltalk -- if you don't already know C or something like it. Anyway, I'm mainly trying to think through some of these issues for myself, including for how PataPata proceeds, so thanks again for your comment (and thanks to Kirby for his too). Perhaps ultimately there is just a cultural issue (influenced perhaps by technological choices). With excellent modules from the start, and always being free and originating at a university, Python has a modular culture with quite a bit of diversity, and that is reflected in the philosophy you outline of learning how to navigate within that community with all its choices. Smalltalk, on the other hand, even though supposedly made for kids, was born in chains in the heart of Silicon Valley, inspiring the Macintosh, and (unfortunately?) aspiring later for a while to be the successor to COBOL in the financial world, and was highly polished for decades by a relatively larger team of well paid technologists some of whom went on to create publicly traded companies around it, and that shows a very different cultural legacy -- more monolithic, less focus on modularity, a requirement applications be packages without the compiler/interpreter, and until Squeak (and a few lesser known others) the language had little of the scent of freedom around it. So, some big cultural divides are there historically in how the communities and technologies were created and evolved -- each with some good points and bad points. So, one could also argue that your stepping stone approach (or "learning steps" and "shallow curves") is also as much an introduction to a Python community and related philosophies of freedom underlying the diversity of tools and libraries as it is learning to program. :-) Still, I still don't want to let Python off the hook for missing some good features Smalltalk had thirty years ago (though I've made some small efforts at adding some such things to Python. :-) [Well, need to wind this down and I'll be traveling for a week, so maybe not much more follow up, sorry.] --Paul Fernhout From andreas.raab at gmx.de Fri Jul 14 06:58:04 2006 From: andreas.raab at gmx.de (Andreas Raab) Date: Thu, 13 Jul 2006 21:58:04 -0700 Subject: [Edu-sig] Alan Kay - another one of his ideas In-Reply-To: References: <44B42110.1040007@aon.at> <44B467F6.2040907@kurtz-fernhout.com> <44B4A14B.5020303@gmx.de> <44B5339E.6010709@gmx.de> <44B5F575.2020607@gmx.de> Message-ID: <44B7245C.6060509@gmx.de> Guido van Rossum wrote: > In my line of reasoning, the WWW isn't taking anything away because > 99% of its users didn't have any computer access before the WWW. That is certainly true for those users. But does that mean we should ignore all that has been achieved in the past and start over assuming that history has never existed? > So > I'm objecting against your "proof" that the WWW took away what you had > on the C16 based on the C16's superior capacity; that's like blaming > modern medicine for world hunger. It would rather be blaming modern medicine for ignoring natural cures from the past that have been proven to work. Say, like a hot bath and good night's sleep for a common cold. >> I am not comparing apples and oranges, I am comparing platforms. And >> that last statement shows precisely where we differ. I don't look at the >> web as just icing on the cake, to me it's not a supplementary medium. To >> me it's the whole deal, a platform in and of its own. And when you >> compare the platforms, the web (maybe with a PC terminal for access) and >> my C16 you'll find pretty quickly there are lots of things that you >> can't do on the web. Just go into one of them Internet-Cafes and try >> installing some software of your own choosing. Or, even worse, try this >> in a corporate or school setting. You'll notice quickly that you don't >> have a platform - you have a terminal and the web is the platform. > > The platforms differ. You seem to forget all the things you couldn't > do with a C16 that are effortless on the WWW (like sharing something > you wrote with millions of people, or storing thousands of 1000x1600 > color photographs, or email). Agreed. There are *tons* of things that you can do on the Web that you couldn't even dream of on that machine! Coincidentally, I never claimed any different ;-) But then again, does that mean I must close my eyes and pretend that nothing ever existed before the web? Does it mean that because the web is great (which it is) it can't possibly be criticized? >>> Why do you keep referring to blogs as limited? They are a 1000x more >>> versatile and accessible than the word processors of the 80s and 90s. >>> You seem to be forgetting that. >> Peace. I said "limited authoring capabilities" and given that even today >> most blog hosting services offer little more than an input field for >> writing HTML code I think I can defend that position ;-) > > Did your C16 support hyperlinks, multiple fonts, sizes, colors and > automatic table lay-out? Not my C16 (not enough pixels) but my Amiga 500 from the late 80s (or was this already early 90s?). And not everything, no. It didn't have Hyperlinks and table layouts (though I'm not sure this is a disadvantage ;-) But I could draw a picture. I could make music. >>> I'm all for wanting to improve the web. I just don't accept the claim >>> that it's somehow a regression. >> That's because you are comparing Apples and Oranges, and I am comparing >> platforms. > > Let's just agree that it's a different perspective. I still think the > claim that the WWW is a regression is only possible from a very > privileged POV. Well, we certainly have different perspectives and if you choose to ignore the past that's of course up to you ;-) >>> I've had a hard time finding the exact software that was used here. I >>> found a Squeak installer that was supposed to run in my browser but >>> didn't install correctly on my PowerBook. Could you publish some >>> fool-proof URLs for people to experiment with? >> I'm not sure which "exact software" you are referring to, we've been >> touching a couple of things in this discussion. > > Well, for a start I'd like to see what Alan Kay used in his keynote. > I'm guessing that's Logowiki. Since I didn't see the talk I'm not sure what he used (Alan uses a variety of things in his talks). If you remember anything specific from the presentation it would help. >> For Logowiki, >> http://logowiki.net is the reference and there is no plugin required. >> For Squeak itself, there is Squeak.org which does not offer a webbrowser >> plugin installation. Our educational site, Squeakland.org offers such an >> install, see http://www.squeakland.org/plugin/download.html which is a >> custom Squeak version intended for use with eToys. > > And eToys itself? The web of different/similar sites is confusing. A > taxonomy of the Squeak world would be helpful. It's actually not that hard: Squeak.org provides the "main" Squeak version and is heavily geared towards (Smalltalk) programming. That's for example why it doesn't provide explicit installers (it simply assumes that you can figure out how to deal with the four files you're getting ;-) Squeakland provides a version that is based on Squeak.org and adds some additional packages, makes it a little harder to get to some programmer facilities and provides an install that includes both a standalone and a browser install. It is intended for educational environments. The eToys are actually included in both versions though typically the Squeak.org versions tend to be slightly more broken and out of date because our main attention for eToys is with the Squeakland user base. Cheers, - Andreas From kirby.urner at gmail.com Fri Jul 14 18:56:13 2006 From: kirby.urner at gmail.com (kirby urner) Date: Fri, 14 Jul 2006 09:56:13 -0700 Subject: [Edu-sig] Alan Kay - another one of his ideas In-Reply-To: <44B7245C.6060509@gmx.de> References: <44B42110.1040007@aon.at> <44B467F6.2040907@kurtz-fernhout.com> <44B4A14B.5020303@gmx.de> <44B5339E.6010709@gmx.de> <44B5F575.2020607@gmx.de> <44B7245C.6060509@gmx.de> Message-ID: I have no idea what a C16 is and don't care to ever know. Amiga was fun. Helped produce video for cable TV on that one. WWW (aka W3) is cool. Not sure what this thread is about any more. Kirby From kirby.urner at gmail.com Fri Jul 14 19:31:42 2006 From: kirby.urner at gmail.com (kirby urner) Date: Fri, 14 Jul 2006 10:31:42 -0700 Subject: [Edu-sig] The keyhole problem and learning environments In-Reply-To: <44B701ED.6040503@kurtz-fernhout.com> References: <44B6B412.3030104@kurtz-fernhout.com> <7528bcdd0607131559k4a28ab59g75fcee540f4912de@mail.gmail.com> <44B701ED.6040503@kurtz-fernhout.com> Message-ID: > Having said that, I still think there is a tension between two approaches. > One is getting people to invest a modicum of effort up from to learn a > small set of good tools like Smalltalk had even 30 years ago (browser, > inspector, debugger and transcript being the core ones) to give a > consistent experience to working with a well thought out core library. The I don't think you'll have much leverage if your pep talk in the locker room is all about catching up to some dead language nobody cares about anymore. > I don't want to sound too complaining, but perhaps there are a lot of Don't worry. We're adults here, have strong filters. > Still, in the case of Python development tools, and not having sampled > them *all* myself, of the ones I've tried (Eclipse & PyDev, Eclipse & > RedRobin, Idle, Boa Constructor, Scite, and a couple others) they do lack > core features that any Smalltalker takes for granted -- for example always > having an integrated restartable debugger available during development, or > there usually being two levels of naming for methods and classes (i.e. an > organization "protocol" or "category" level above the actual object or > method level; almost all Smalltalks support this). I find this paragraph very confusing. Weak (getting stronger) IDEs are one thing, but this "two levels of naming for methods and classes" sounds like a language thing -- apples and oranges no? It's like being a new teacher at a school for awhile then saying "at my *old* school we had this layer of assistant vice principals who took care of *those* kinds of tings." Like, ahem, so? This isn't that school. Bureaucratic structures aren't continuous across namespaces. But maybe you *do* have a coherent way of phasing in "protocol" or "category" that doesn't involve changing Python-the-language. Maybe if I downloaded PataPata I'd see what you meant. Like I said, I'm simply confused. > other core missing features. Not to say Python doesn't have its own > advantages, but the commercial Smalltalk libraries I've seen for all sorts > of core things are just more complete than Python's (for example, all the > stuff you can do with streams). [Python may win on breadth of free stuff, > especially web related.] Granted there are also drawbacks to some of > Smalltalk's approaches to things, and some of the libraries can require > abstract thinking to use them, but, when working on large projects, in my ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Sounds condescending. As if, oh, and you might have to be a little smarter to use my favorite dead language nobody cares about. Python has a nice clean API relative to Java's jumble of stream wrapped buffer objects or whatever (fun to hear Eckel on this). Don't mistake simplicity for a lack of sophistication. But if you want to take a specific concrete example, maybe we'll see a need for your missing-from-Python abstractions. > mind there is little comparison, a good Smalltalk like VisualWorks (though > maybe not always Squeak) wins over Python (for large projects) because it > is easier to manage complexity in it usign those features. There may be The key words here: "in my mind". > lots of good reasons for using Python anyway, including being > free-as-in-freedom, or being easy to learn for C programmers, but one > should be realistic about its relative weaknesses so one knows where > improvement can be done. I don't see you as being realistic *at all* about these matters. Attributing Python's widespread use to its being easy to learn for C programmers is just negative propaganda (which isn't to say there's not a connection: C is a great language to study after Python, if you're really serious about a career in CS). I don't think there's any hope of SmallTalk being ressurected, but I do see that Ruby is now being compared to SmallTalk a lot. > And, obviously, the Squeak Team led by Alan Kay has been moving more in a > simplified interface direction. They now have eToys, and beyond that I don't get the impression Alan Kay is leading the Smalltalk community anymore. He told us at the summit that he's a SmallTalk slayer. I think of him more like Ward Cunningham (consulting with Microsoft last I checked in), another former SmallTalker who came to Python with humility and respect (as I did, from APL and xBase), even though he's the inventor of the Wiki. > around it. So, some big cultural divides are there historically in how the > communities and technologies were created and evolved -- each with some > good points and bad points. So, one could also argue that your stepping > stone approach (or "learning steps" and "shallow curves") is also as much > an introduction to a Python community and related philosophies of freedom > underlying the diversity of tools and libraries as it is learning to > program. :-) > I would agree with this. Python and SmallTalk have very different histories, very true. However, they overlap in my own experience in that bfi.org's first plan, around archiving the Fuller stuff (digitizing, making searchable), involved SmallTalk, under the leadership of Hal Hildebrand. A subgroup of the LA construction mafia, interested in domes, contributed some hardware, but a tiny NGO like BFI just didn't have enough clout in industry to attract secondary backing. This enormous undertaking (digitally archiving a vast correspondence, audio and video tape etc) was way beyond the capacity of our little team, good intentions notwithstanding. Applewhite wasn't surprised I don't think, and angled to slide the papers into the hands of a more competent and financially supported institution (as a member of said team, I wasn't insulted, knew we were way ahead of our time, enjoyed the opportunity to watch Ed up close in action). Anyway, I used the opportunity to bone up on SmallTalk V, with Hildebrand in my ear on the phone (I was living around the corner from here at the time -- we're talking early 1990s). In the meantime, bfi.org has come a long way and my efforts to converge Pythonic mathematics (a subclass of gnu maths) with Fuller's volume tables, has not gone unnoticed. Relevant blog entry: http://controlroom.blogspot.com/2006/06/gnu-math-on-synergeo.html > Still, I still don't want to let Python off the hook for missing some good > features Smalltalk had thirty years ago (though I've made some small > efforts at adding some such things to Python. :-) What a hero. <> > [Well, need to wind this down and I'll be traveling for a week, so maybe > not much more follow up, sorry.] > > --Paul Fernhout Have fun traveling. Kirby From kirby.urner at gmail.com Sat Jul 15 06:54:39 2006 From: kirby.urner at gmail.com (kirby urner) Date: Fri, 14 Jul 2006 21:54:39 -0700 Subject: [Edu-sig] The keyhole problem and learning environments In-Reply-To: References: <44B6B412.3030104@kurtz-fernhout.com> <7528bcdd0607131559k4a28ab59g75fcee540f4912de@mail.gmail.com> <44B701ED.6040503@kurtz-fernhout.com> Message-ID: On 7/14/06, kirby urner wrote: > I don't get the impression Alan Kay is leading the Smalltalk community > anymore. He told us at the summit that he's a SmallTalk slayer. This interview, well over a year old, seems consistent with a lot of the stuff I heard Alan saying in person (this is a printed interview): http://acmqueue.com/modules.php?name=Content&pa=showpage&pid=273 He talks about his hope that SmallTalk would be superseded as early as the early 1980s (he started seeing it as obsolete as early as the 1970s). But for various reasons this didn't happen. He blames the spread of a pop culture around computing that outstripped the true church's ability to maintain quality. The average IQ of computer science as a discipline, went down. High culture became mediocre culture. Of course it's an exaggeration to say no one even *cares* about SmallTalk, even if we agree it's somewhat on the dead side. I met some highly paid FORTRAN compiler optimizers at OSCON last year. Many critical and important applications are still in COBOL as well. Dead languages have their devotees. There's really no shame in using dead languages (even caring about them). Here's an article from 2005 reassuring us the SmallTalk *isn't* dead. But I don't think this is as reflective of Alan's thinking. He's still looking to liberate and empower children, using the latest and greatest deep insights. The life of the professional programmer, doing adult things like container shipping, is not his priority. http://www.whysmalltalk.com/2005_04_03_archive.html Anyway, that's just my reading. The guy can speak for himself, obviously, and does so, all over the Internet (back to Googling...). Kirby From kirby.urner at gmail.com Sat Jul 15 07:21:05 2006 From: kirby.urner at gmail.com (kirby urner) Date: Fri, 14 Jul 2006 22:21:05 -0700 Subject: [Edu-sig] The keyhole problem and learning environments In-Reply-To: References: <44B6B412.3030104@kurtz-fernhout.com> <7528bcdd0607131559k4a28ab59g75fcee540f4912de@mail.gmail.com> <44B701ED.6040503@kurtz-fernhout.com> Message-ID: On 7/14/06, kirby urner wrote: > On 7/14/06, kirby urner wrote: > > > I don't get the impression Alan Kay is leading the Smalltalk community > > anymore. He told us at the summit that he's a SmallTalk slayer. > Also, the "slayer" moniker isn't completely out of the blue. Here's Alan using this very metaphor in a presentation, although it's Squeak doing the slaying (funny picture). """ Unlike Java, this runs bit-identical on every machine -- we invented this 20 years ago. Squeak is its own OS. This kicks PowerPoint's ass. PPT is retrograde. Applications and OSes are retrograde. We killed them in the 1970s, but we used the wrong kind of wood when we staked that vampire. """ from "Alan Kay's talk at O'Reilly Emerging Technology Conference 2003" by Cory Doctorow http://www.craphound.com/kayetcon2003 What I glean from studying Guido's, Alan's and Bruce Eckel's writings, is this thing about late binding. You do it all in runtime, basically. You get to be dynamic, aren't under the thumb of a finicky compiler that requires you to predeclare, and thence to "nail down" all your code. Nope, don't have to do it that way, as SmallTalk and Python both prove. Kirby From ajsiegel at optonline.net Sun Jul 16 01:26:01 2006 From: ajsiegel at optonline.net (ajsiegel at optonline.net) Date: Sat, 15 Jul 2006 23:26:01 +0000 (GMT) Subject: [Edu-sig] The keyhole problem and learning environments Message-ID: > What I glean from studying Guido's, Alan's and Bruce Eckel's writings,> is this thing about late binding. You do it all in runtime,> basically. You get to be dynamic, aren't under the thumb of a finicky> compiler that requires you to predeclare, and thence to "nail down"> all your code. Nope, don't have to do it that way, as SmallTalk and> Python both prove.My senbilities only feel under assault when reading the writings of one of these folks. His name is Alan Kay.How can they all be saying the same thing?I *do* acknowledge to Mr. Kay exactly what he asks to have acknowledged? - he is in a class of his own..No - he needn't care that he offends me.What I am thoroughly confused about - in all honesty - is that I seem to be the exceptionto the rule, rather the rule.I don't mean this sarcastically, as more nastiness. I honestly don't understand the seriousness with which he is taken.And I have read a lot about science, its history;. and the players that history hasanointed.Art -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.python.org/pipermail/edu-sig/attachments/20060715/881e4207/attachment.htm From guido at python.org Sun Jul 16 03:39:48 2006 From: guido at python.org (Guido van Rossum) Date: Sat, 15 Jul 2006 18:39:48 -0700 Subject: [Edu-sig] The keyhole problem and learning environments In-Reply-To: References: Message-ID: On 7/15/06, ajsiegel at optonline.net wrote: > I *do* acknowledge to Mr. Kay exactly what he asks to have acknowledged - > he is in a class of his own. > . > No - he needn't care that he offends me. > > What I am thoroughly confused about - in all honesty - is that I seem to be > the exception to the rule, rather the rule. Actually on my first day of meeting with him I had the same feeling. (Well, I can't know that, of course; I mean that I had a strong negative gut response to his repeated mention of the '60s and claims that there was only one true approach to tutoring.) What changed may well have been that he sensed this in me and changed his tune to avoid offending me; clearly he wants something from me. :-) -- --Guido van Rossum (home page: http://www.python.org/~guido/) From kirby.urner at gmail.com Sun Jul 16 04:03:57 2006 From: kirby.urner at gmail.com (kirby urner) Date: Sat, 15 Jul 2006 19:03:57 -0700 Subject: [Edu-sig] The keyhole problem and learning environments In-Reply-To: References: Message-ID: On 7/15/06, ajsiegel at optonline.net wrote: > > What I glean from studying Guido's, Alan's and Bruce Eckel's writings, > > is this thing about late binding. You do it all in runtime, > > basically. You get to be dynamic, aren't under the thumb of a finicky > > compiler that requires you to predeclare, and thence to "nail down" > > all your code. Nope, don't have to do it that way, as SmallTalk and > > Python both prove. > > My senbilities only feel under assault when reading the writings of one of > these folks. > > His name is Alan Kay. But you shouldn't feel under assault vis-a-vis my reason for grouping them, as the very next sentence after that slayer talk I cited, is LATE BINDING (all caps like that -- true, in the mind of a note taker). > How can they all be saying the same thing? > Just check the literature. Treat it as a technical issue, not a personality or political one. Guido, Alan and Bruce all praise the virtues of dynamic runtime-aware languages, the kind that can easily write and eat their own source code on the fly, introspect, other tricks. LISP was the breakthrough in some ways, and Alan circles it for that reason. He's not short on praise for ideas and people he admires -- an exclusive elite, but one he's sincere in respecting. > I *do* acknowledge to Mr. Kay exactly what he asks to have acknowledged - > he is in a class of his own. > . > No - he needn't care that he offends me. > > What I am thoroughly confused about - in all honesty - is that I seem to be > the exception to the rule, rather the rule. > > I don't mean this sarcastically, as more nastiness. > > I honestly don't understand the seriousness with which he is taken. > > And I have read a lot about science, its history;. and the players that > history has anointed. > > Art He takes a hard line, that we maybe peaked in 70s, and that the average IQ of computer science the discipline has been plummeting ever since. That line raises hackles. He adapts, yes, but continues to come out swinging, with all this trademark "low pass filter" talk, and obvious skepticism that anyone younger really knows shit. That's some seriously offensive clowning and a lot of people'd take him down if they could, but he keeps at it, plus brings new code to the table, new ideas. He backs up what he presents with running code. It's not just a shallow meme pool he's sharing from. This guy's done some homework. He does more than recycle or rest on his reputation (venturing into Python Nation was the act of an adventuresome explorer, especially given some of the hackles around here). At least that was my experience. He'll gladly risk offending everyone at the table, if only to make some point on principle. Annoying, yes, but also the mark of an earnest thinker. I'd say you two probably have more in common than you realize, which may account some for your blind spot here. Kirby From francois.schnell at gmail.com Sun Jul 16 12:23:03 2006 From: francois.schnell at gmail.com (francois schnell) Date: Sun, 16 Jul 2006 12:23:03 +0200 Subject: [Edu-sig] Alan Kay - another one of his ideas In-Reply-To: References: <44B42110.1040007@aon.at> <44B467F6.2040907@kurtz-fernhout.com> <44B4A14B.5020303@gmx.de> <44B5339E.6010709@gmx.de> <44B5F575.2020607@gmx.de> <44B7245C.6060509@gmx.de> Message-ID: <13a83ca10607160323w6ea5f69fhff0f91d2871d61c8@mail.gmail.com> On 14/07/06, kirby urner wrote: > > I have no idea what a C16 is and don't care to ever know. Andreas is talking about the early 80's 'personal computers' before the computer industry somewhat "changed". At this time the computers were: 1) Affordable. Actual my first computer was a 100$ laptop in front of a TV (a Sinclair ZX81 I had the chance to have at 11 when I was in a state of scholar failure... now my mum says it's the best thing she ever bought....) 2) Designed to learn some 'programming' if you wanted to have some fun. The first thing you had when you boot was a programming language. The machines came with the hardware schematics (even without understanding it, it really stimulated my curiosity). Magazines were all about Open Source code and "usual" hardware hacking to expand your computer (and again even without understanding much, it really stimulated my curiosity). Even if they were so imperfect there were already to me "tools to think with" as describes Papert. Nowadays computers don't come with schematics, don't come with a programming manual and you're mainly suppose to be just a "user", just a "consumer". When I compare personal computer magazines today it doesn't surprise me that there's a lack of vocations in CS. I see a lot of people laugthing at the OLPC (the tiny 100$ laptop project) but if it is successful, "developing countries " could well surprise us in the future maybe because they came "back" a little (in some ways). "OLPC is based on constructionisttheories of learning pioneered by Seymour Papert and later Alan Kay, as well as the principles expressed in Nicholas Negroponte's book 'Being Digital'. Some background on our approach can be gleaned from David Cavallo's essay, "Models for growth?towards fundamental change in learning environments" " http://wiki.laptop.org/go/One_Laptop_per_Child http://mitworld.mit.edu/video/313/ I also seen again a talk Seymor Papert gave in my university in 2003. In the second part he talks about the shift in the computer industry, he also says that WWW is wonderful but that eduction by focusing too much on the information search and "Powerpoint Presentations" is missing the deepest potential of these machines for education. The video is here: http://www.canalc2.tv/video.asp?idvideo=1868 (Papert spoke in French here but again I advise people to read his book "Mindstorms: Children, Computers and Powerful Ideas" ) Not sure what this thread is about any more. Me neither. Anyway by reading this high egoboo-list my bet is that relevant pythonic post-squeak/Logo environments, with a critical mass, probably won't happen here (I hope I'm wrong). I've always found educational lists "difficult", teachers tend to think that the way they learned and succeed is the right way for *everybody* ... ... maybe that's why its important to also give kids "tools to think with" and rich "environments" to play with and learn for *themselves*. francois (going back to more 'piratical' pythonic lists) Kirby > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > http://mail.python.org/mailman/listinfo/edu-sig > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.python.org/pipermail/edu-sig/attachments/20060716/42771208/attachment.htm From scott_list at mischko.com Sun Jul 16 17:20:46 2006 From: scott_list at mischko.com (Scott Chapman) Date: Sun, 16 Jul 2006 08:20:46 -0700 Subject: [Edu-sig] Alan Kay - another one of his ideas In-Reply-To: <13a83ca10607160323w6ea5f69fhff0f91d2871d61c8@mail.gmail.com> References: <44B42110.1040007@aon.at> <44B467F6.2040907@kurtz-fernhout.com> <44B4A14B.5020303@gmx.de> <44B5339E.6010709@gmx.de> <44B5F575.2020607@gmx.de> <44B7245C.6060509@gmx.de> <13a83ca10607160323w6ea5f69fhff0f91d2871d61c8@mail.gmail.com> Message-ID: <44BA594E.6060501@mischko.com> francois schnell wrote: > "OLPC is based on constructionist > theories of learning > pioneered by Seymour Papert > and later Alan Kay , as well as the > principles expressed in Nicholas Negroponte's book 'Being Digital'. Some > background on our approach can be gleaned from David Cavallo's essay, > "Models for growth?towards fundamental change in learning environments" > " The link is broken for the "Models for growth..." paper. Scott From kirby.urner at gmail.com Sun Jul 16 18:15:22 2006 From: kirby.urner at gmail.com (kirby urner) Date: Sun, 16 Jul 2006 09:15:22 -0700 Subject: [Edu-sig] Alan Kay - another one of his ideas In-Reply-To: <13a83ca10607160323w6ea5f69fhff0f91d2871d61c8@mail.gmail.com> References: <44B42110.1040007@aon.at> <44B4A14B.5020303@gmx.de> <44B5339E.6010709@gmx.de> <44B5F575.2020607@gmx.de> <44B7245C.6060509@gmx.de> <13a83ca10607160323w6ea5f69fhff0f91d2871d61c8@mail.gmail.com> Message-ID: On 7/16/06, francois schnell wrote: > francois > (going back to more 'piratical' pythonic lists) > > Arrrrrrgh. http://mybizmo.blogspot.com/2005/09/talk-like-pirate-day.html Kirby From ajsiegel at optonline.net Sun Jul 16 18:22:34 2006 From: ajsiegel at optonline.net (ajsiegel at optonline.net) Date: Sun, 16 Jul 2006 16:22:34 +0000 (GMT) Subject: [Edu-sig] Alan Kay - another one of his ideas Message-ID: >He does more than recycle or rest on his reputation (venturing into >Python Nation was the act of an adventuresome explorer, especially >given some of the hackles around here). As I said, I have no problem with a respectful pose toward Kay as an "adventuresome explorer". But in the end I think we need to converge - if we are to converge - around a respect for science and its methods. There is no discovery without exploration, but there is much earnest exploration without discovery. What I consider to be the "assault on my sensibilities" is Kay claiming an exception for himself, to the rules of the game. Are we to play by no rules whatsoever? Seniority is not science. *That's* politics. Am I to accept that I have nostalgia problem, an IQ problem, bad eye sight? Hard, when what I think that what I have is a good view of the hand in front of my face. And that this is what is causing my "problem". Art -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.python.org/pipermail/edu-sig/attachments/20060716/1c16b628/attachment.html From kirby.urner at gmail.com Sun Jul 16 18:28:28 2006 From: kirby.urner at gmail.com (kirby urner) Date: Sun, 16 Jul 2006 09:28:28 -0700 Subject: [Edu-sig] Alan Kay - another one of his ideas In-Reply-To: References: Message-ID: On 7/16/06, ajsiegel at optonline.net wrote: > Hard, when what I think that what I have is a good view of the hand in > front of my face. And that this is what is causing my "problem". > > Art And for my part, I have no problem with this difference of opinion, and your willingness to remain critical of Kay. I'd be more worried if Python Nation were a simple hive mind i.e. dumb as a doornail. http://www.phrases.org.uk/bulletin_board/13/messages/1414.html Kirby From francois.schnell at gmail.com Sun Jul 16 18:41:36 2006 From: francois.schnell at gmail.com (francois schnell) Date: Sun, 16 Jul 2006 18:41:36 +0200 Subject: [Edu-sig] Alan Kay - another one of his ideas In-Reply-To: References: <44B42110.1040007@aon.at> <44B5339E.6010709@gmx.de> <44B5F575.2020607@gmx.de> <44B7245C.6060509@gmx.de> <13a83ca10607160323w6ea5f69fhff0f91d2871d61c8@mail.gmail.com> Message-ID: <13a83ca10607160941h1292e40hbad1d94040a4e7e6@mail.gmail.com> On 16/07/06, kirby urner wrote: > > On 7/16/06, francois schnell wrote: > > > francois > > (going back to more 'piratical' pythonic lists) > > > > > > Arrrrrrgh. > http://mybizmo.blogspot.com/2005/09/talk-like-pirate-day.html Arrrrrrgh ....damn Google mail spell check, that meant to be 'practical' ... I'll probably sue Google on this one ;) francois Kirby > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.python.org/pipermail/edu-sig/attachments/20060716/1144db66/attachment.htm From francois.schnell at gmail.com Sun Jul 16 20:08:56 2006 From: francois.schnell at gmail.com (francois schnell) Date: Sun, 16 Jul 2006 20:08:56 +0200 Subject: [Edu-sig] Alan Kay - another one of his ideas In-Reply-To: References: Message-ID: <13a83ca10607161108x6bc54962k631c45858a80a715@mail.gmail.com> On 16/07/06, ajsiegel at optonline.net wrote: > > > But in the end I think we need to converge - if we are to converge - > around a respect for science and its methods. > Wow ... what makes you think that Alan Kay doesn't respect science and its methods ? > What I consider to be the "assault on my sensibilities" is Kay claiming an > > exception for himself, to the rules of the game. > I'm not sure I understand, what Alan Kay is 'claiming' exactly ? Are we to play by no rules whatsoever? > "we" ? again I'm not sure what you mean exactly but Papert, Kay, Negroponte and friends are interested in "children first" .... that's where things become difficult to understand for teachers focused on *their* teaching (and not on the various learning process of their pupils). Seniority is not science. *That's* politics. > Major scientific breakthrough has been done by people having the courage of going against the established 'politically correct' representations of their time. Science progress is by far not a linear process. When you do *politics* (if you want to be elected) I guess you avoid to disturb the main beliefs/representations in place. Am I to accept that I have nostalgia problem, an IQ problem, > bad eye sight? > > Hard, when what I think that what I have is a good view of the hand in > front of my face. And that this is what is causing my "problem". > Einstein said that it's ~"hard to understand what you never experienced" and I believe that's why he also said that "imagination is more important that knowledge" (ridding a photon to ~"experience" relativity, etc ...). Maybe you should work on your "imagination amplifier" ;) http://www.rheingold.com/texts/tft/11.html francois ** Art > > > > > > > > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > http://mail.python.org/mailman/listinfo/edu-sig > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.python.org/pipermail/edu-sig/attachments/20060716/0b2fd1f0/attachment.htm From ajsiegel at optonline.net Mon Jul 17 02:47:00 2006 From: ajsiegel at optonline.net (Arthur) Date: Sun, 16 Jul 2006 20:47:00 -0400 Subject: [Edu-sig] Alan Kay - another one of his ideas In-Reply-To: <13a83ca10607161108x6bc54962k631c45858a80a715@mail.gmail.com> References: <13a83ca10607161108x6bc54962k631c45858a80a715@mail.gmail.com> Message-ID: <44BADE04.1030006@optonline.com> francois schnell wrote: > > Einstein said that it's ~"hard to understand what you never > experienced" and I believe that's why he also said that "imagination > is more important that knowledge" (ridding a photon to ~"experience" > relativity, etc ...). > Francois, I have read the Book of Kay. If it were have the proper effect on me, it would have done so already. Quoting from it to me is therefore to no avail. But I suspect you knew that already. However I do see why the ability to think independently looms large as an issue to you. Good luck getting there. Art From francois.schnell at gmail.com Mon Jul 17 12:18:28 2006 From: francois.schnell at gmail.com (francois schnell) Date: Mon, 17 Jul 2006 12:18:28 +0200 Subject: [Edu-sig] Alan Kay - another one of his ideas In-Reply-To: <44BADE04.1030006@optonline.com> References: <13a83ca10607161108x6bc54962k631c45858a80a715@mail.gmail.com> <44BADE04.1030006@optonline.com> Message-ID: <13a83ca10607170318o2cecb7t2aa6b7938545e83e@mail.gmail.com> On 17/07/06, Arthur wrote: > > francois schnell wrote: > > > > > Einstein said that it's ~"hard to understand what you never > > experienced" and I believe that's why he also said that "imagination > > is more important that knowledge" (ridding a photon to ~"experience" > > relativity, etc ...). > > > Francois, > > I have read the Book of Kay. If it were have the proper effect on me, > it would have done so already. Quoting from it to me is therefore to no > avail. But I suspect you knew that already. To my knowledge Alan Kay never wrote a 'Book' ... I'm then somewhat puzzled by your omniscience and omnipotence ;) "If you're looking at something and you don't know where it comes from, if there's no pointer to the source, you can ignore it." Tim Berners-Lee (WWW 'father') http://news.bbc.co.uk/2/hi/technology/4132752.stm cheers, francois However I do see why the ability to think independently looms large > as an issue to you. > > Good luck getting there. > > Art > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.python.org/pipermail/edu-sig/attachments/20060717/16adf3bd/attachment.html From kirby.urner at gmail.com Mon Jul 17 19:39:40 2006 From: kirby.urner at gmail.com (kirby urner) Date: Mon, 17 Jul 2006 10:39:40 -0700 Subject: [Edu-sig] Alan Kay - another one of his ideas In-Reply-To: <13a83ca10607170318o2cecb7t2aa6b7938545e83e@mail.gmail.com> References: <13a83ca10607161108x6bc54962k631c45858a80a715@mail.gmail.com> <44BADE04.1030006@optonline.com> <13a83ca10607170318o2cecb7t2aa6b7938545e83e@mail.gmail.com> Message-ID: > To my knowledge Alan Kay never wrote a 'Book' ... I'm then somewhat puzzled > by your omniscience and omnipotence ;) > He think Arthur was probably speaking idiomatically, as one might say 'The Book According to [ ]' and then fill in any name, referring to the mentality and outlook of said person (perhaps only expressed in DVDs). In any case, I see no reason to reach some broad consensus regarding Alan's legacy. We're each likely to pursue our dreams in any case. For me, that involves doing things with television. I think we Internet-focused tend to forget the previous generation's work to lay down a very high bandwidth global infrastructure. To expect "unification" to come magically just from the consumer applicance (e.g. Intel's viiv) is to ignore the cultural divides separating those with computer skills and those with television skills. I'm more and more noticing my weaknesses in the television area (meaning those are the muscles I'm most trying to build right now, not learning Ruby, not writing a lot more Pythonic mathematics, which I consider a completed model by now, ready for prime time). Kirby From francois.schnell at gmail.com Mon Jul 17 20:35:23 2006 From: francois.schnell at gmail.com (francois schnell) Date: Mon, 17 Jul 2006 20:35:23 +0200 Subject: [Edu-sig] Alan Kay - another one of his ideas In-Reply-To: References: <13a83ca10607161108x6bc54962k631c45858a80a715@mail.gmail.com> <44BADE04.1030006@optonline.com> <13a83ca10607170318o2cecb7t2aa6b7938545e83e@mail.gmail.com> Message-ID: <13a83ca10607171135ueb0c834m406aaedd417f8c1@mail.gmail.com> On 17/07/06, kirby urner wrote: > > > To my knowledge Alan Kay never wrote a 'Book' ... I'm then somewhat > puzzled > > by your omniscience and omnipotence ;) > > > > In any case, I see no reason to reach some broad consensus regarding > Alan's legacy. We're each likely to pursue our dreams in any case. [...] I agree with you. I believe we don't all learn in the same ways, so I'm certainly against any kind of 'unification' in learning but for real 'diversification' accessible to kids (and I believe here the computer has an important role to play). I'm more and more noticing my weaknesses in the television area > (meaning those are the muscles I'm most trying to build right now, not > learning Ruby, not writing a lot more Pythonic mathematics, which I > consider a completed model by now, ready for prime time). Sounds interesting. Could you also put that on Google Video, YouTube or whatever ? PS: 'My' ~final ~word on this subject ( ...euh videos) ;) http://scott.weston.id.au/software/pymissile-20060126/ francois Kirby > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.python.org/pipermail/edu-sig/attachments/20060717/eca91c4e/attachment.htm From kirby.urner at gmail.com Mon Jul 17 21:23:52 2006 From: kirby.urner at gmail.com (kirby urner) Date: Mon, 17 Jul 2006 12:23:52 -0700 Subject: [Edu-sig] Alan Kay - another one of his ideas In-Reply-To: <13a83ca10607171135ueb0c834m406aaedd417f8c1@mail.gmail.com> References: <13a83ca10607161108x6bc54962k631c45858a80a715@mail.gmail.com> <44BADE04.1030006@optonline.com> <13a83ca10607170318o2cecb7t2aa6b7938545e83e@mail.gmail.com> <13a83ca10607171135ueb0c834m406aaedd417f8c1@mail.gmail.com> Message-ID: > Sounds interesting. Could you also put that on Google Video, YouTube or > whatever ? > There's my boring preview of the content of gnu math @ the London Knowledge Lab, accessible via the summit wiki page: http://wiki.tsf.org.za/shuttleworthfoundationwiki/Project_Summit but in my next phase, I'll try staying behind the camera most of the time. It's not my plan to hog the limelight. > PS: > > 'My' ~final ~word on this subject ( ...euh videos) ;) > > http://scott.weston.id.au/software/pymissile-20060126/ > How very DARPA. Python must feel right at home. Kirby From ms at cerenity.org Mon Jul 17 22:02:51 2006 From: ms at cerenity.org (Michael) Date: Mon, 17 Jul 2006 21:02:51 +0100 Subject: [Edu-sig] Alan Kay - another one of his ideas In-Reply-To: References: <13a83ca10607170318o2cecb7t2aa6b7938545e83e@mail.gmail.com> Message-ID: <200607172102.52315.ms@cerenity.org> On Monday 17 July 2006 18:39, kirby urner wrote: > To expect "unification" to come magically just from the consumer > applicance (e.g. Intel's viiv) is to ignore the cultural divides > separating those with computer skills and those with television > skills. Out of curiosity, what do you mean by this? Michael. From francois.schnell at gmail.com Mon Jul 17 22:41:13 2006 From: francois.schnell at gmail.com (francois schnell) Date: Mon, 17 Jul 2006 22:41:13 +0200 Subject: [Edu-sig] Alan Kay - another one of his ideas In-Reply-To: References: <13a83ca10607161108x6bc54962k631c45858a80a715@mail.gmail.com> <44BADE04.1030006@optonline.com> <13a83ca10607170318o2cecb7t2aa6b7938545e83e@mail.gmail.com> <13a83ca10607171135ueb0c834m406aaedd417f8c1@mail.gmail.com> Message-ID: <13a83ca10607171341x713422c8i712a6bb3145f3499@mail.gmail.com> On 17/07/06, kirby urner wrote: > > > Sounds interesting. Could you also put that on Google Video, YouTube or > > whatever ? > > > > There's my boring preview of the content of gnu math @ the London > Knowledge Lab, accessible via the summit wiki page: > http://wiki.tsf.org.za/shuttleworthfoundationwiki/Project_Summit Yes I saw part of it few months ago. It looks really interesting but it was difficult for me to focus due to the quit low signal/noise audio ratio (at least as my french ears perceived it) and the acoustic of the place didn't seem to help either. but in my next phase, I'll try staying behind the camera most of the > time. It's not my plan to hog the limelight. Well, I like to 'see' who's speaking in a video but a good quality audio part is I believe the most important one (some camcorders come with a 'mic in' which is useful if the speaker is quite far away from the camcorder). Also consider ripping the audio track for 'iPod' users. Most people like me prefer to listen to an audio content while commuting/jogging/shopping and come back latter for the slides/video/webpages if they want to explore more. Concerning 'podcasting' I like what Ron Stephens is doing with Python 411: "The python411 podcasts are created to help people learn Python and learn about Python."* *http://awaretek.com/python/index.html He's always searching for topics, audio contents or people to interview. If there's a relation between 'learning Python' and folks on this list then I think it would be great if some of you here would consider to contact him : he's really open and he's got plenty of downloads :) francois > PS: > > > > 'My' ~final ~word on this subject ( ...euh videos) ;) > > > > http://scott.weston.id.au/software/pymissile-20060126/ > > > > How very DARPA. Python must feel right at home. > > Kirby > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.python.org/pipermail/edu-sig/attachments/20060717/c2849b92/attachment.html From kirby.urner at gmail.com Mon Jul 17 22:59:10 2006 From: kirby.urner at gmail.com (kirby urner) Date: Mon, 17 Jul 2006 13:59:10 -0700 Subject: [Edu-sig] Alan Kay - another one of his ideas In-Reply-To: <200607172102.52315.ms@cerenity.org> References: <13a83ca10607170318o2cecb7t2aa6b7938545e83e@mail.gmail.com> <200607172102.52315.ms@cerenity.org> Message-ID: On 7/17/06, Michael wrote: > On Monday 17 July 2006 18:39, kirby urner wrote: > > To expect "unification" to come magically just from the consumer > > applicance (e.g. Intel's viiv) is to ignore the cultural divides > > separating those with computer skills and those with television > > skills. > > Out of curiosity, what do you mean by this? > > > Michael. > I mean people are always predicting this convergence of the home computer and home television set in the form of some groovy new synthesis, but it never quite seems to quite gel. There's a long road of junked toys, experiments with WebTV or whatever, with Intel's Viiv (I happen to think) starting to really see into the future (the personal workspace as value-adding audio/video edit/recombine studio). I don't think this convergence will happen simply by brainstorming about the end user applicance though. Industries need to talk to and better understand one another. I think Apple's understanding of the music industry, and a willingness of networks to upload TV shows to such as Google Video, are evidence that these conversations are starting to happen, perhaps in greater earnest, now that our infrastructure has come so far (lots of optical fiber lying around, under-utilized). Kirby From kirby.urner at gmail.com Mon Jul 17 23:02:09 2006 From: kirby.urner at gmail.com (kirby urner) Date: Mon, 17 Jul 2006 14:02:09 -0700 Subject: [Edu-sig] Alan Kay - another one of his ideas In-Reply-To: <13a83ca10607171341x713422c8i712a6bb3145f3499@mail.gmail.com> References: <13a83ca10607161108x6bc54962k631c45858a80a715@mail.gmail.com> <44BADE04.1030006@optonline.com> <13a83ca10607170318o2cecb7t2aa6b7938545e83e@mail.gmail.com> <13a83ca10607171135ueb0c834m406aaedd417f8c1@mail.gmail.com> <13a83ca10607171341x713422c8i712a6bb3145f3499@mail.gmail.com> Message-ID: On 7/17/06, francois schnell wrote: > Yes I saw part of it few months ago. It looks really interesting but it was > difficult for me to focus due to the quit low signal/noise audio ratio (at > least as my french ears perceived it) and the acoustic of the place didn't > seem to help either. > I agree, it's very low bandwidth. I'm not satisfied with even the higher bandwidth of Google Video, where I tackle my subject from another angle: http://video.google.com/videoplay?docid=-2137134480771470882 > Concerning 'podcasting' I like what Ron Stephens is doing with Python 411: > "The python411 podcasts are created to help people learn Python and learn > about Python." > > http://awaretek.com/python/index.html Hey, great link, thanks. We've got an iPod in the family. Kirby From francois.schnell at gmail.com Mon Jul 17 23:39:03 2006 From: francois.schnell at gmail.com (francois schnell) Date: Mon, 17 Jul 2006 23:39:03 +0200 Subject: [Edu-sig] Alan Kay - another one of his ideas In-Reply-To: References: <13a83ca10607161108x6bc54962k631c45858a80a715@mail.gmail.com> <44BADE04.1030006@optonline.com> <13a83ca10607170318o2cecb7t2aa6b7938545e83e@mail.gmail.com> <13a83ca10607171135ueb0c834m406aaedd417f8c1@mail.gmail.com> <13a83ca10607171341x713422c8i712a6bb3145f3499@mail.gmail.com> Message-ID: <13a83ca10607171439w244380f7v60a20626e8928d04@mail.gmail.com> On 17/07/06, kirby urner wrote: > > > I agree, it's very low bandwidth. I'm not satisfied with even the > higher bandwidth of Google Video, where I tackle my subject from > another angle: > http://video.google.com/videoplay?docid=-2137134480771470882 The sound is much better and I also recognized the eden project dome I visited few years ago (great place) :) http://www.flickr.com/photos/frenchy/29778903/in/photostream/ The video is a little short, I look forward for the sequels :) > Concerning 'podcasting' I like what Ron Stephens is doing with Python 411: > > "The python411 podcasts are created to help people learn Python and > learn > > about Python." > > > > http://awaretek.com/python/index.html > > Hey, great link, thanks. We've got an iPod in the family. > > Kirby > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.python.org/pipermail/edu-sig/attachments/20060717/602e3a99/attachment.html From da.ajoy at gmail.com Mon Jul 17 23:53:40 2006 From: da.ajoy at gmail.com (Daniel Ajoy) Date: Mon, 17 Jul 2006 16:53:40 -0500 Subject: [Edu-sig] SuperSwiki2 Server Bootable ISO image Message-ID: <44BBC094.25705.14435798@da.ajoy.gmail.com> Date: Mon, 17 Jul 2006 22:20:07 +0900 From: "Masashi UMEZAWA" Subject: [Squeakland] [ANN] SuperSwiki2 Server Bootable ISO image To: Squeakland at squeakland.org Hi, I have created a special USB bootable version of SuperSwiki2 Server. Features: o SuperSwiki2 starts automatically after booting. o Other SuperSwiki2 clients recognize the SuperSwiki2 server automatically. o The uploaded project data is stored in the USB memory automatically. Just booting up from a USB memory, you can start eToys project server. Project data is saved in the same USB memory, so it is very handy to carry with from classrooms to classrooms. More info: http://swikis.ddo.jp/SuperSwiki2/24 Enjoy! P.S. I do not attend SqueakFest. But my friend, Abe-san, will attend the fest and have a sample USB memory of this bootable SuperSwiki2 Server. So, if you have some interest, please ask him. From yoshiki at squeakland.org Tue Jul 18 09:20:37 2006 From: yoshiki at squeakland.org (Yoshiki Ohshima) Date: Tue, 18 Jul 2006 00:20:37 -0700 Subject: [Edu-sig] Alan Kay - another one of his ideas Message-ID: Hello, I'm Yoshiki Ohshima, working with Alan for a few years. I happened to be the only person who enjoyed the full show of Alan's keynote *in person*, so I guess I can clarify a few questions^^; Guido wrote: > Well, for a start I'd like to see what Alan Kay used in his keynote. > I'm guessing that's Logowiki. What Alan used in the talk was a slight variation of Squeakland Squeak. Virtually all code he used in the demo was available in the Squeak image downloadable at http://squeakland.org. Most of the content, including graphics, paintings, and "scripts" written in the tile-script are not there (only in Alan's image), but some eToys examples are available at the site, too. The dynamic interaction, full control of the graphics rendering, object manipulation with decent performance you saw in the demo is way beyond what today's JavaScript in a browser could deal with. The demo ain't Logowiki. The remote collaboration tool Alan used is called "Nebraska"; a low-tech screen sharing system in Squeak. Squeak running on a computer at CERN was sending the encoded drawing command to another computer in LA, and the user-events by Alan was again encoded and sent to the computer at CERN. (Nebraska is in the Squeakland image, too.) BTW, we are working on an eToys-like environment that is capable of server-based content authoring (asynchronous collaboration like wiki) as well as real-time collaboration based on a "better theory of collaboration". In regards to the "is the web good?" discussion. Sure, the web is good, but it could have been much better. For an historical account, the idea of "objects that talk to each other bi-directionally over the network" weren't new by the time HTTP was created. In fact, when the word "hypertext" was invented, Ted Nelson surely wanted the things on the net connected bi-directionally. (And ACM Hypertext conference predates HTTP, etc., etc.) Today's JavaScript in a browser is not exactly a great way of doing stuff, but the fast computers now let us do reasonably interesting stuff. However, if we would have started with a "language for the Web", which were as dynamic as JavaScript, and its execution engine properly incoporated known implementation techniques by the time, we would have been a few steps further. (HotJava in JavaScript on a well written execution engine?) Of course, hindsight is 20/20. I couldn't have done it if I were there, but to think of a possible better and fun world that we might have missed, I feel that learning from the history helps a lot. And, it gives good insights on the directions from "here". -- Yoshiki Microsoft Windows helped to create this world where reasonably cheap computers are abundant, and "everybody" gets the access to the net. But there could be a better world, right? From francois.schnell at gmail.com Tue Jul 18 13:55:55 2006 From: francois.schnell at gmail.com (francois schnell) Date: Tue, 18 Jul 2006 13:55:55 +0200 Subject: [Edu-sig] Fwd: [EuroPython] Video (Alan Kay part 1) In-Reply-To: <44BC93CE.2060606@comlounge.net> References: <44BC93CE.2060606@comlounge.net> Message-ID: <13a83ca10607180455k1266c63em1e7174785abb8cf7@mail.gmail.com> ---------- Forwarded message ---------- From: Christian Scholz Date: 18-Jul-2006 09:54 Subject: [EuroPython] Video (Alan Kay part 1) To: europython at python.org Hi! The first part of the keynote by Alan Kay is now up at http://mrtopf.tv The other two parts and more stuff from the conference will be up shortly at this place. -- christian -- Christian Scholz COM.lounge Luetticher Strasse 10 52064 Aachen Tel: +49 241 400 730 0 Fax: +49 241 979 00 850 EMail: cs at comlounge.net Homepage: http://comlounge.net _______________________________________________ EuroPython mailing list EuroPython at python.org http://mail.python.org/mailman/listinfo/europython -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.python.org/pipermail/edu-sig/attachments/20060718/96f4f703/attachment.htm From kirby.urner at gmail.com Tue Jul 18 18:51:58 2006 From: kirby.urner at gmail.com (kirby urner) Date: Tue, 18 Jul 2006 09:51:58 -0700 Subject: [Edu-sig] Alan Kay - another one of his ideas In-Reply-To: <13a83ca10607171439w244380f7v60a20626e8928d04@mail.gmail.com> References: <13a83ca10607161108x6bc54962k631c45858a80a715@mail.gmail.com> <44BADE04.1030006@optonline.com> <13a83ca10607170318o2cecb7t2aa6b7938545e83e@mail.gmail.com> <13a83ca10607171135ueb0c834m406aaedd417f8c1@mail.gmail.com> <13a83ca10607171341x713422c8i712a6bb3145f3499@mail.gmail.com> <13a83ca10607171439w244380f7v60a20626e8928d04@mail.gmail.com> Message-ID: > The sound is much better and I also recognized the eden project dome I > visited few years ago (great place) :) > http://www.flickr.com/photos/frenchy/29778903/in/photostream/ > > The video is a little short, I look forward for the sequels :) > Thanks Francois. I linked to your Flickr pix, other resources, in this morning's blog post, which is intended as an advertisement for how far we've come since W3 was born @ CERN, not so many years ago: http://worldgame.blogspot.com/2006/07/information-harvesting.html Kirby From ianb at colorstudy.com Tue Jul 18 19:42:55 2006 From: ianb at colorstudy.com (Ian Bicking) Date: Tue, 18 Jul 2006 12:42:55 -0500 Subject: [Edu-sig] Alan Kay - another one of his ideas In-Reply-To: References: Message-ID: <44BD1D9F.2040806@colorstudy.com> Yoshiki Ohshima wrote: > In regards to the "is the web good?" discussion. Sure, the web is > good, but it could have been much better. For an historical account, > the idea of "objects that talk to each other bi-directionally over the > network" weren't new by the time HTTP was created. In fact, when the > word "hypertext" was invented, Ted Nelson surely wanted the things on > the net connected bi-directionally. (And ACM Hypertext conference > predates HTTP, etc., etc.) The whole Ajax thing is really centered around that bi-directional web, and the recent discovery of the previously-ignored XMLHttpRequest which lets Javascript initiate new requests. Of course, as these things go it's still relatively crude, and currently hooking things together means lots of crufty-looking scripts. But then, I think the natural way to hook things together on the web is declarative anyway, and maybe the natural way to think about HTTP is as resources not objects, and I suspect that leads to some substantive differences with Squeak's model. I actually started playing around with these ideas some this weekend at a local conference, using DOM objects as the basic kind of object (Javascript objects show up too, but just as transient implementation details). It's just a toy a couple of us are messing around with at this point, and we haven't gotten far enough into the implementation to see what the hardest parts of the problem are yet, but I'm hopeful. One thing that occurs to me that defines the web is how transaction-oriented it is. So no *one* person has a hold on any object; everyone actually just gets a browser-local copy of the objects, and may try to commit changes to the server. This is probably very different from how Squeak works as well. But, of course, it scales way better because it is so optimized for reading, and it's quite unclear to me if a "better" web is actually feasible from a performance and management perspective (certainly Ted Nelson's transclusion seems absurd given the instability of content on the web that we should now accept as inevitable). ...Incidentally, while we were looking at some possible examples people might write in this Javascript system, we'd write something out in Javascript and then look at it and despair that it seemed quite unlikely a non-programmer would ever come up with the right incantation -- that's somewhere where the LogoWiki language implementation could offer a really nice alternative. Of course, we are just now starting to see reasonable debugging interfaces for Javascript that aren't too heavy or too obscure, and this'll mean giving up even that... :( -- Ian Bicking | ianb at colorstudy.com | http://blog.ianbicking.org From kirby.urner at gmail.com Tue Jul 18 21:33:36 2006 From: kirby.urner at gmail.com (kirby urner) Date: Tue, 18 Jul 2006 12:33:36 -0700 Subject: [Edu-sig] SuperSwiki2 Server Bootable ISO image In-Reply-To: <44BBC094.25705.14435798@da.ajoy.gmail.com> References: <44BBC094.25705.14435798@da.ajoy.gmail.com> Message-ID: SuperSwiki is not well promoted, in the sense of giving top-level overview easily. When I followed Daniel's link, I found nothing high level. After a series of hops, I arrived at: """ Basics of SuperSwiki SuperSwiki is not yet a well-defined term. That said, here are some of the ideas that are being explored. Undoubtedly, there will be changes in emphasis or even direction, but this should give you a starting point. """ This is not a promising way to promote a new technology. I trust adventuresome geeks to test out the USB2 version, but for those of us swimming in proposals, it's frustrating to have the testers assume we're already familiar with their namespace. Kirby From yoshiki at squeakland.org Wed Jul 19 04:02:39 2006 From: yoshiki at squeakland.org (Yoshiki Ohshima) Date: Tue, 18 Jul 2006 19:02:39 -0700 Subject: [Edu-sig] Alan Kay - another one of his ideas In-Reply-To: <44BD1D9F.2040806@colorstudy.com> References: <44BD1D9F.2040806@colorstudy.com> Message-ID: Ian, > Of course, as these things go it's still relatively crude, and currently > hooking things together means lots of crufty-looking scripts. But then, > I think the natural way to hook things together on the web is > declarative anyway, and maybe the natural way to think about HTTP is as > resources not objects, and I suspect that leads to some substantive > differences with Squeak's model. There is no single "Squeak's model"; don't worry about that. We've been experimenting a few different ways, but we aren't promoting a single one as the "best" solution. Anything better than these is simply better. > One thing that occurs to me that defines the web is how > transaction-oriented it is. So no *one* person has a hold on any > object; everyone actually just gets a browser-local copy of the objects, > and may try to commit changes to the server. This is probably very > different from how Squeak works as well. But, of course, it scales way > better because it is so optimized for reading, and it's quite unclear to > me if a "better" web is actually feasible from a performance and > management perspective (certainly Ted Nelson's transclusion seems absurd > given the instability of content on the web that we should now accept as > inevitable). Alan used the word "OpenDoc" in the keynote a couple of times, and what he meant was to use OpenOffice's "Open Document Format" as the common storage format on the web. One of our experiment is to have the "local copy" of the content, the user edits it on his local machine (in a dynamic environment), and the user stores it to the server when he wants. This works, of course. BTW, I wouldn't call it "transactional"; being "transactional" requires a bit more "theory" on what should happen when a user want to modify more than one pages "at once", the activity of the other users, and the rollback (or back button). (We wouldn't have to worry about the back button problem in the web apps, if the entire web was aware of that.) Ted's particular implementation of transclusion is pretty bad, but the idea itself has some good aspects. We should be able to track the change in the content, right? > ...Incidentally, while we were looking at some possible examples people > might write in this Javascript system, we'd write something out in > Javascript and then look at it and despair that it seemed quite unlikely > a non-programmer would ever come up with the right incantation -- that's > somewhere where the LogoWiki language implementation could offer a > really nice alternative. Of course, we are just now starting to see > reasonable debugging interfaces for Javascript that aren't too heavy or > too obscure, and this'll mean giving up even that... :( Or, like any other languages, JavaScript might be revised in the future. And a browser will be as well. I think there has been a discussion on how Python would be included to future browsers like current JavaScript does. Think about what such a language should be like is one of the interesting aspects around this. -- Yoshiki From kirby.urner at gmail.com Thu Jul 20 21:41:33 2006 From: kirby.urner at gmail.com (kirby urner) Date: Thu, 20 Jul 2006 12:41:33 -0700 Subject: [Edu-sig] Project HexaPent Message-ID: I think it's important that the civilian open source community establish beach heads in as many pioneering areas as we dare to boldly go, otherwise we surrender to that old urban legend: that the military does all the real R&D while civilians just get the "spin offs". That may have been true in Da Vinci's day (depends on whether we label him civilian), but today the leading edge is so often right out in the open, where everyone can see and document for themselves, that civilians have what it takes to do their own innovating, minus this indirect pass through a killingry chapter (i.e. make it kill first, then commercialize it (often a very inefficient way to go)). Along these lines, I've opted out of some too-stupid-for-words military projects, but retain access to the civilian aspects. I'm speaking of Fuller's Geoscope in particular, now enhanced with new thinking from Glenn Stockton's group (of which I'm a member), Patrick Barton and others (see wwwanderers.org & isepp.org -- the former especially in need of some maintenance). I'm finding the new wxPython book very readable and a new romance with that GUI development tool has commenced on my end. I've downloaded the latest beta of Python 2.5, and the corresponding wx, and am happy as a clam (are clams really happy?), relearning some of these ropes, plus discovering new ones. One feature of wx that most excites me is this ability to have non-rectangular top windows. Like the music industry, I don't want all my most important tools forced into 90 degree motifs. In particular, our HexaPent Matrix Disply (HMD) should be hexagonal in conception, with obvious click points for N, NE, E, SE, S, SW, W, NW (going clockwise). What's on your display to begin with is your "home hexagon" (a region of the earth's surface). When you click in any of these directions, you go to a neighboring hexagon (through points west and east, across edges in the six other directions, com sa: oooo SAT sig N _ _ _ / \ / \ \ x / \ _ _ _ / S x = self ). The hand-held units will be somewhat different, more like iPods in some respects, but the hexagonal motif is the same. The link to Fuller's Geoscope: the hexapent design, dual to an omnitriangulated geodesic, characteristic of turtle shells and fullerene, other natural geometries (not patentable); the use of same of a non-Mercator view of the earth; individual tilings, consisting of irregular (but many almost regular) hexagons and 12 pentagons (radially at the vertices of an original anchoring icosahedron and/or pentagonal dodecahedron). Here's an excerpt of a recent email to Glenn: """ The problem with the XY lat/long approach is it produces singularities at the poles, with the fictitiously square regions mostly occuring in places like Kansas (very far from Oz). But in reality, none of those XY squares are really square, because the Earth isn't really a plane, but a ball. Those squares were approximations. When we go from spherical to flat displays, our mathematics has to accomodate these approximations by means of various tradeoffs and compromises (the so-called "cartographic projections"). Another solution to the lat/long problem is to complement it with a more spherically sophisticated grid patterns, the hexapent being a good example, which is where the Global Matrix comes in. ... Since Fuller's day, the hardware for projecting in the round has come a long way, coming from the planetarium tradition. Joe Clinton, an early student of Fuller's, has made a distinguished name for himself in this arena. The geoscope idea itself has never been lost. Thanks to a convergence of technology and data, the applications for real time spherical and flat screen monitoring have never been greater. We're in a time of accelerating interest in this whole field of GIS/GPS and global data displays. Which is where the hexapent comes in, as an alternative to lat/long or XY, as a potentially more spherically adept geometry. It's users will have a strategic advantage over those clinging to the old ways. """ It's going to take me awhile to get up to speed on wx with all this, but in making this an open source project, I'm at least saving a stub on which others might build (without waiting for me if necessary, although you don't get far with a reputation for rip off artist, even when the source is open (something many gnubees fail to sufficiently appreciate (so we cut them some slack))). More info: http://mathforum.org/kb/thread.jspa?threadID=1416622 If any of your OSCON people want to visit the Linus Pauling House on Hawthorne, and/or have beers in my neighborhood, give me a holler. The only OSCON access I've purchased to date is an Exhibit Hall pass, and given the nearness of the deadline, that's probably going to be it for this year. Kirby From kirby.urner at gmail.com Fri Jul 21 04:53:10 2006 From: kirby.urner at gmail.com (kirby urner) Date: Thu, 20 Jul 2006 19:53:10 -0700 Subject: [Edu-sig] Project HexaPent In-Reply-To: References: Message-ID: > oooo SAT sig > > N > _ _ _ > / \ > / \ > \ x / > \ _ _ _ / > > S Trying again. ASCII art was never my forte. Note this is simplistic. Every hexagon is guaranteed six immediate neighbors, yes, but the relationship to the 8 compass directions is a variable. For example, if the geographic north pole (axis of spin) is at the center of a hexagon, every radial movement is "South". We might color code the six slices of 360 (60 degree wedges), and put these colors at the 8 points we sometimes see N, NE, E, SE, S, SW, W, NW. The word Hexa-Pent is from one of the Fuller patents (long expired) From kirby.urner at gmail.com Fri Jul 21 05:20:20 2006 From: kirby.urner at gmail.com (kirby urner) Date: Thu, 20 Jul 2006 20:20:20 -0700 Subject: [Edu-sig] Project HexaPent In-Reply-To: References: Message-ID: On 7/20/06, kirby urner wrote: > > oooo SAT sig > > > > N > > _ _ _ > > / \ > > / \ > > \ x / > > \ _ _ _ / > > > > S > > Trying again. ASCII art was never my forte. Looks like resistence is futile in this case, hah hah. Anyway, from a CS point of view, perhaps the most interesting aspect is not the GIS/GPS overlay, but simply the datastructure of the hexapent. It'd be a lot like a linked list, but with six unique links to neighboring territories, except in 12 instances, where there'd only be five. All of the territories are hexagonal except those 12 pentagonal ones (territories = tiles = cells, on a spherical surface). So if you're at any hexagon instance, you'll have either five or six attributes as references to your five or six neighbors. Probably both Hexa and Penta classes will be subclasses of Gon, or something along those lines. Once you've got the data structure, navigation, of any number of "turtle selves" is easy. For a global or flat panel display, you just need a mapping of cells (internal data objects) to projected widget. The widget might render with actual global data, giving a panel of high definition data. Click to head for one of the neighbors (whatever API), and boom, the data structure hands back the needed reference. You've got another cell rendering instantly (well, OK, some lag). Note that hexapents come in multiples of 3 frequency. If you Google on Rick Bono and Applied Synergetics, you'll end up at his free DOME program (already part of the Debian distro), written in C. A wxPython version with the same capabilities, including pulling up the rendered bitmap (via system calls to povray?) might be included? I'll think about it. Kirby From kirby.urner at gmail.com Fri Jul 21 06:02:54 2006 From: kirby.urner at gmail.com (kirby urner) Date: Thu, 20 Jul 2006 21:02:54 -0700 Subject: [Edu-sig] Python Pedagogy Message-ID: Although we all agree to use 'self' as the "me object" proxy, it's not a keyword, and we could use a different stand in, e.g.: class Human (object): def __init__(me, name): me.name = name def __repr__(me): return 'Hi, my name is %s' % me.name >>> import subgenius >>> aguy = Human('Bob') >>> aguy 'Hi, my name is Bob' It occurs to me that I could test "me" in place of "self" as it's shorter, and as it might encourage a first person identification which I think needs to happen when tackling OO. We explored earlier on this list the difference between CivBuilder 3rd person games, like SimCity and Civilization IV (many others), and 1st person shooters e.g. Quake and Doom. Of course many games give both 1st and 3rd, though we should distinguish between two kinds of 3rd: 3rd as in "I am that character (avatar, action figure or whatever, as in 'Alice')" vs. "I have some god's eye view" (incorporeal flyer, as in Google Earth and most of those WarCrafty type games, also Sims). Likewise, I think when coming to think formally in terms of objects (vs. informally, which begins with the emergence of language), it helps to personally project a "self" into various household objects, houses themselves. Like in the movie 'Cars' we need to *become* a thing, then ask (in the first person): what are my behaviors/methods, what are my attributes/properties? It's a game of "who am I" (or "who I am") and is already a natural feature of childhood play (fantasy self projections). I'm thinking the word 'self', at least in English, is too '3rd person' in some ways, and looking down on a lot of objects, each with a 'self', you have only a god's eye view. However, the grammar around 'me' is different -- there's only one of them (one first person), and therefore thinking "me" promotes a kind of first person instrospective attitude. And we *want* that, as an option, when modeling in OO. So I'd be accomplishing two things in this lesson (involving temporarily substituting "me" for "self" in some class definitions): (a) I'd be communicating the subtle teaching that 'self is not a keyword in Python' and (b) helping with the subliminal process of personally identifying with various objects, in order to become a better object-oriented programmer. At the end of the lesson, I'd reinforce the canonical accepted 'self' (i.e. the god's eye view) as the proper one, but hopefully students would have taken to heart the point of this lesson. Note that I'm not proposing this as a "for kids only" type lesson plan experience. I've been brainstorming a lot about what a Computer Science for Liberal Arts Majors might look like (recent link below), and this whole idea of "point of view" is already standard fare in literature courses, as well as film theory. We can bridge to OO through this "pronouns" discussion. Note about 2nd person: many multi-player Internet games, plus single-user games, do have a "we" concept, i.e. you're a part of a team with a shared objective, up against other players, or up against the computer, as the case may be. Related topic: me.__dict__ is a good intro to the idea of a "personal namespace" in addition to basic Python -- a helpful notion in psychology and diplomacy, where world views may start far apart, but grow closer through growing familiarity with the others' operations. It's in the tradition of Leibniz to want to use some "machine language" as a basis for diplomacy (American Transcendentalism has echoes of that, e.g. in Fuller's 'cosmic computer' meme)). Kirby Liberal Arts Compsci (except selling as Maths in this context): http://mathforum.org/kb/message.jspa?messageID=4931704 From andre.roberge at gmail.com Fri Jul 21 12:46:05 2006 From: andre.roberge at gmail.com (Andre Roberge) Date: Fri, 21 Jul 2006 07:46:05 -0300 Subject: [Edu-sig] Python Pedagogy In-Reply-To: References: Message-ID: <7528bcdd0607210346s1ed17a07nc193f59c4ee51cba@mail.gmail.com> On 7/21/06, kirby urner wrote: > Although we all agree to use 'self' as the "me object" proxy, it's not > a keyword, and we could use a different stand in, e.g.: > > class Human (object): > > def __init__(me, name): > me.name = name > > def __repr__(me): > return 'Hi, my name is %s' % me.name > > >>> import subgenius > >>> aguy = Human('Bob') > >>> aguy > 'Hi, my name is Bob' The "me" approach is very anthropomorphic and may not work well in all languages. Mind you, the same is true for "self". I do something similar with rur-ple (but have not had feedback on this so far). First, to set the stage. I introduce the concept of variables extremely early one (well before they are used) by talking about synonyms, a term everyone should be familiars with. Here's how (from lesson 5). ==== While the creators of Reeborg designed him so that he obeys instructions in English, they realised that not everyone understands English. So, they gave him the ability to easily learn a second language. For example, if we want to tell someone to "move forward" in French, we would say "avance". We can tell Reeborg that "avance" is a synonym of "move" simply by writing avance = move. The order here is important; the known command has to be on the right, and the new one has to be on the left. Note that we don't have any parentheses "()" appearing since the parentheses would tell Reeborg that we want him to obey an instruction; here, we are simply teaching him a new word. When we want Reeborg to follow the new instruction, we will use avance(). =================== Note that I don't really use variables in the usual way until lesson 27. Now, on to "self". (from lesson 37) ------- class RepairedRobot(UsedRobot): def turn_right(synonym_used_to_refer_to_this_object): for i in range(3): synonym_used_to_refer_to_this_object.turn_left() [some explanation here....; note that the long term is normally highlighted in red for clarity.] Python creates a new instance of the class RepairedRobot and defines all the methods, replacing the first argument of the method (synonym_used_to_refer_to_this_object) by the name of the instance (newReeborg). Now, synonym_used_to_refer_to_this_object is rather a long name to type. By convention, another variable name is used: self. Thus, to follow the normal convention, I should have written: class RepairedRobot(UsedRobot): def turn_right(self): for i in range(3): self.turn_left() ======================================= I think it's easier to accept using "self" rather than "synonym_used_to_refer_to_this_object" as a convention, as it is much shorter to type. Using "self" instead of "me" may be harder to justify to a rebellious teenager who is looking for ways to distinguish herself. Andr? From DSayre at wiley.com Fri Jul 21 12:11:23 2006 From: DSayre at wiley.com (DSayre at wiley.com) Date: Fri, 21 Jul 2006 06:11:23 -0400 Subject: [Edu-sig] Daniel Sayre is out of the office. Message-ID: I will be out of the office starting 07/19/2006 and will not return until 07/24/2006. I will have limited access to email while I am away. If you require immediate assistance, please contact Lindsay Murdock (lmurdock at wiley.com). From ajsiegel at optonline.net Fri Jul 21 15:53:58 2006 From: ajsiegel at optonline.net (Arthur) Date: Fri, 21 Jul 2006 09:53:58 -0400 Subject: [Edu-sig] Python Pedagogy In-Reply-To: <7528bcdd0607210346s1ed17a07nc193f59c4ee51cba@mail.gmail.com> References: <7528bcdd0607210346s1ed17a07nc193f59c4ee51cba@mail.gmail.com> Message-ID: <44C0DC76.7060704@optonline.com> Andre Roberge wrote: >On 7/21/06, kirby urner wrote: > > >>Although we all agree to use 'self' as the "me object" proxy, it's not >>a keyword, and we could use a different stand in, e.g.: >> >>class Human (object): >> >> def __init__(me, name): >> me.name = name >> >> def __repr__(me): >> return 'Hi, my name is %s' % me.name >> >> >> >>>>> import subgenius >>>>> aguy = Human('Bob') >>>>> aguy >>>>> >>>>> >>'Hi, my name is Bob' >> >> > >The "me" approach is very anthropomorphic and may not work well in all >languages. Mind you, the same is true for "self". > > > I think it interesting, and positive, that many of us interested in Python and education become concerned about issues of "language" in a sense broader than "programming language". An example is the discussion that developed on Guido's blog in response to his Kay posting. I consider myself a "liberal artist" at heart, and have almost taken for granted that the comfort I find with Python is in its emphasis on readiblity, on the importance of naming (i.e.words), the fact that we can stay to the point and succinct as *writers* by taking advantage of duck-typing mechanism, the need *not* to have declare variables (which, as a *writer*, seems like a forced redundancy), etc. and etc. *and* etc. It seems to me that efforts around education that are indigenous to Python and its community will almost necessarily be leveraging these qualities and thinking about words and about language more than about mouse clicks. Little mystery, little magic, no search for the Grand Unified Cognitive Theory that will catalyze the computer generated educational Renaissance What there is is new content we can expect people to need to digest to get them to an appropriate definition of *being educated* Western Civ, circa 2006, and we are trying to provide some of that content.in digestible form. Mundane, in an exciting sort of way. My preference - Let the geniuses work off-site and report in from time to time, if they must.. We are the sub-geniuses. What I am trying to do with PyGeo is have it approachable as a "document", code as text, code as object, the code not simply behind the application, but in some sense being the application, as much so as is the response to mouse clicks on the screen when one is manipulating a PyGeo construction. And what I think works, for the liberal artists, is the exegesis of text. My early effort is here: http://pygeo.sourceforge.net/docs/codeanatomy.html Art From kirby.urner at gmail.com Fri Jul 21 17:45:09 2006 From: kirby.urner at gmail.com (kirby urner) Date: Fri, 21 Jul 2006 08:45:09 -0700 Subject: [Edu-sig] Python Pedagogy In-Reply-To: <7528bcdd0607210346s1ed17a07nc193f59c4ee51cba@mail.gmail.com> References: <7528bcdd0607210346s1ed17a07nc193f59c4ee51cba@mail.gmail.com> Message-ID: On 7/21/06, Andre Roberge wrote: > The "me" approach is very anthropomorphic and may not work well in all > languages. Mind you, the same is true for "self". > Yes, deliberately anthropomorphic, put less about turning things into people than people into things, as a skill associated with modeling ("I am hydroelectric dam" "I am an airplane" -- what are my behaviors and states?). > Python creates a new instance of the class RepairedRobot and defines > all the methods, replacing the first argument of the method > (synonym_used_to_refer_to_this_object) by the name of the instance > (newReeborg). I like your linking of the named instance to 'self' internally. That fits with the "point of view" approach where we say: I am "that human" to other humans, but internally I am simply me or self. The class blueprint allows for every Human to have a self, and this is built in to the code in advance of creating any named instances. Likewise for other objects (we can talk about selfless classes another time). It's also important to distinguish the variable dog1 from dog1's attributes, one of which may be a proper name such as 'Rover' (a string). Even if we write rover = Dog('rover'), it's best to think of the passed-in string 'rover' as something etched on rover's collar, rather than as rover-the-dog. Note that rover.self raises an exception. self is not an 'attribute' of an object but a way for code to gain a reference to the specific instance "from within". This instance is perhaps best conceptualized as a discrete chunk of memory somewhere (something to be garbage collected when no longer referenced externally). All this resonance with ordinary concepts (self, introspection) is *not* something to fight ("oh, you shouldn't think this means anything like what you're used to") but to embrace and work with ("yes, the way you already think is going to help you master OO). Kirby From kirby.urner at gmail.com Fri Jul 21 18:01:42 2006 From: kirby.urner at gmail.com (kirby urner) Date: Fri, 21 Jul 2006 09:01:42 -0700 Subject: [Edu-sig] Python Pedagogy In-Reply-To: <44C0DC76.7060704@optonline.com> References: <7528bcdd0607210346s1ed17a07nc193f59c4ee51cba@mail.gmail.com> <44C0DC76.7060704@optonline.com> Message-ID: > It seems to me that efforts around education that are indigenous to > Python and its community will almost necessarily be leveraging these > qualities and thinking about words and about language more than about > mouse clicks. This is also true of the J community, which very explicitly ties to English grammar in its pedagogy -- way more so than Python does. > Little mystery, little magic, no search for the Grand Unified Cognitive > Theory that will catalyze the computer generated educational Renaissance Right. We want strong metaphors that sustain us in our thinking, nothing so grandiose and pretentious as a Grand Theory of Everything. And when another language comes along, be ready to drop these metaphors in favor of new ones. > My preference - Let the geniuses work off-site and report in from time > to time, if they must.. > Not my preference. Geniuses in isolation, without reality checks, tend to produce inferior work. They get too caught up in a personal namespace, and spend the rest of their lives being annoying, trying to get us all to learn some quirky new way of talking. > We are the sub-geniuses. > You may have noticed my allusion to subgenius in my Bob example. I'm playing of the Pythonic tradition of alluding to Monty Python, by bringing in another source of allusions some of us might use to lighten up our tutorials. Hackers, meet slackers, slackers, hackers. > And what I think works, for the liberal artists, is the exegesis of text. > Yes, liberal arts majors like to say "exigesis" a lot. And don't forget "hermeneutics". > My early effort is here: > > http://pygeo.sourceforge.net/docs/codeanatomy.html > > Art I read some of it. I'm glad you've committed to thoroughly explaining the code in prose -- too many hackers consider that inessential window dressing. In terms of motivating readers, I assume the context is one of already appreciating what PyGeo might do in the knowledge domain of geometry, especially projective geometry. If the motivation is lacking, then it becomes just another intimidating bureaucracy (just as a lot of liberal arts types see computer science as a whole). Kirby From kirby.urner at gmail.com Fri Jul 21 18:18:52 2006 From: kirby.urner at gmail.com (kirby urner) Date: Fri, 21 Jul 2006 09:18:52 -0700 Subject: [Edu-sig] Python Pedagogy In-Reply-To: References: <7528bcdd0607210346s1ed17a07nc193f59c4ee51cba@mail.gmail.com> Message-ID: > Note that rover.self raises an exception. self is not an 'attribute' > of an object but a way for code to gain a reference to the specific > instance "from within". This instance is perhaps best conceptualized > as a discrete chunk of memory somewhere (something to be garbage > collected when no longer referenced externally). Note: if you wanted, you could make self an attribute by assigning it to an instance variable: >>> class Human: def __init__(self, name): self.name = name self.self = self >>> o = Human('Bob') >>> o <__main__.Human instance at 0x00D0D198> >>> o.self <__main__.Human instance at 0x00D0D198> I can't think of any reason to do this off hand. Kirby From dcrosta at sccs.swarthmore.edu Fri Jul 21 18:08:43 2006 From: dcrosta at sccs.swarthmore.edu (Dan Crosta) Date: Fri, 21 Jul 2006 12:08:43 -0400 Subject: [Edu-sig] Python Pedagogy In-Reply-To: References: <7528bcdd0607210346s1ed17a07nc193f59c4ee51cba@mail.gmail.com> Message-ID: <44C0FC0B.9010804@sccs.swarthmore.edu> kirby urner wrote: > On 7/21/06, Andre Roberge wrote: > >> The "me" approach is very anthropomorphic and may not work well in all >> languages. Mind you, the same is true for "self". >> > > Yes, deliberately anthropomorphic, put less about turning things into > people than people into things, as a skill associated with modeling > ("I am hydroelectric dam" "I am an airplane" -- what are my behaviors > and states?). > What about (and this is just a random half-thought, apologies if it comes to nothing) using the traditional scope-ish keyword 'my' for increased readability? class Human: def __init__(my, name): my.name = name def __repr__(my): return 'My name is %s' % my.name Just a thought... - d From andre.roberge at gmail.com Fri Jul 21 18:46:23 2006 From: andre.roberge at gmail.com (Andre Roberge) Date: Fri, 21 Jul 2006 13:46:23 -0300 Subject: [Edu-sig] Python Pedagogy In-Reply-To: <44C0FC0B.9010804@sccs.swarthmore.edu> References: <7528bcdd0607210346s1ed17a07nc193f59c4ee51cba@mail.gmail.com> <44C0FC0B.9010804@sccs.swarthmore.edu> Message-ID: <7528bcdd0607210946oe0c5be3m7f929d0b2f0054a5@mail.gmail.com> On 7/21/06, Dan Crosta wrote: > kirby urner wrote: > > On 7/21/06, Andre Roberge wrote: > > > >> The "me" approach is very anthropomorphic and may not work well in all > >> languages. Mind you, the same is true for "self". > >> > > > > Yes, deliberately anthropomorphic, put less about turning things into > > people than people into things, as a skill associated with modeling > > ("I am hydroelectric dam" "I am an airplane" -- what are my behaviors > > and states?). > > > > What about (and this is just a random half-thought, apologies if it > comes to nothing) using the traditional scope-ish keyword 'my' for > increased readability? > > class Human: > def __init__(my, name): > my.name = name > > def __repr__(my): > return 'My name is %s' % my.name > > Just a thought... > Well, while we're at it: class Human: def __init__(my, name): my.name = name I = my def __repr__(my): return 'My name is %s' % my.name def is_hungry(I): print "I am hungry." I.eat() def eat(I): print "I eat!" Kirby = Human("Kirby") print Kirby Kirby.is_hungry() ==== :-) Andr? > - d > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > http://mail.python.org/mailman/listinfo/edu-sig > From dcrosta at sccs.swarthmore.edu Fri Jul 21 19:04:16 2006 From: dcrosta at sccs.swarthmore.edu (Dan Crosta) Date: Fri, 21 Jul 2006 13:04:16 -0400 Subject: [Edu-sig] Python Pedagogy In-Reply-To: <7528bcdd0607210946oe0c5be3m7f929d0b2f0054a5@mail.gmail.com> References: <7528bcdd0607210346s1ed17a07nc193f59c4ee51cba@mail.gmail.com> <44C0FC0B.9010804@sccs.swarthmore.edu> <7528bcdd0607210946oe0c5be3m7f929d0b2f0054a5@mail.gmail.com> Message-ID: <44C10910.4030704@sccs.swarthmore.edu> Andre Roberge wrote: > Well, while we're at it: > class Human: > def __init__(my, name): > my.name = name > I = my > > def __repr__(my): > return 'My name is %s' % my.name > > def is_hungry(I): > print "I am hungry." > I.eat() > > def eat(I): > print "I eat!" > > Kirby = Human("Kirby") > print Kirby > Kirby.is_hungry() I don't really know how decorators work, but wouldn't it be possible to write a decorator that would let you define functions like this: class Human: def __init__(my, name): my.stomach_state = 'empty' my.name = name @wackydecorator def is_hungry(I, my): print "%s stomach is %s" % (my.name, my.stomach_state) if my.stomach_state != 'full': I.eat() def eat(my): my.stomach_state = 'full' kirby = Human("Kirby") kirby.is_hungry() kirby.is_hungry() ==== so basically the decorator would duplicate the first argument twice so that you could transparently get two (or more) names for it... I don't know how to write decorators (and can't really spend time learning here at work), but something like this: def wackydecorator(func, *args): return func(args[0], *args) I think that would do the trick. - d From delza at livingcode.org Fri Jul 21 19:12:46 2006 From: delza at livingcode.org (Dethe Elza) Date: Fri, 21 Jul 2006 10:12:46 -0700 Subject: [Edu-sig] Python Pedagogy In-Reply-To: References: <7528bcdd0607210346s1ed17a07nc193f59c4ee51cba@mail.gmail.com> Message-ID: <44C10B0E.4040807@livingcode.org> kirby urner wrote: >> Note that rover.self raises an exception. self is not an 'attribute' >> of an object but a way for code to gain a reference to the specific >> instance "from within". This instance is perhaps best conceptualized >> as a discrete chunk of memory somewhere (something to be garbage >> collected when no longer referenced externally). > > Note: if you wanted, you could make self an attribute by assigning it > to an instance variable: > >>>> class Human: > def __init__(self, name): > self.name = name > self.self = self > > >>>> o = Human('Bob') >>>> o > <__main__.Human instance at 0x00D0D198> >>>> o.self > <__main__.Human instance at 0x00D0D198> > > I can't think of any reason to do this off hand. > > Kirby > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > http://mail.python.org/mailman/listinfo/edu-sig > class Anthro(object): def __init__(my): I = me = my my.self = me my.truism = (phrase for phrase in ['I am', 'that which I am']) def __repr__(my): return my.truism.next() def who(my): I = me = my print me, my.self and I if __name__ == '__main__': Anthro().who() --Dethe From glingl at aon.at Fri Jul 21 20:03:03 2006 From: glingl at aon.at (Gregor Lingl) Date: Fri, 21 Jul 2006 20:03:03 +0200 Subject: [Edu-sig] Python Pedagogy In-Reply-To: References: Message-ID: <44C116D7.2010201@aon.at> kirby urner schrieb: > Although we all agree to use 'self' as the "me object" proxy, it's not > a keyword, and we could use a different stand in, e.g.: > > class Human (object): > > def __init__(me, name): > me.name = name > > def __repr__(me): > return 'Hi, my name is %s' % me.name > >>>> import subgenius >>>> aguy = Human('Bob') >>>> aguy > 'Hi, my name is Bob' > ... > Likewise, I think when coming to think formally in terms of objects > (vs. informally, which begins with the emergence of language), it > helps to personally project a "self" into various household objects, > houses themselves. > ... I find this a very interesting discussion (and was really puzzled by Andre's high-level joke in his last posting). I'd like to supply a paradox counter point of view (perhaps just to participate in the game). And please forgive me, that I once again use my turtles (objects of the Pen-class) in my examples. (They fit into the antropomorphic approach, anyway.) Non - OO, teaching 'the' turtle (logo-slang) to draw a square goes like this: def square(l): for i in range(4): fd(l) lt(90) As soon as you want to teach to more than one turtle how 'to square' you have to name them and treat them as objects. Simple idea: alex = Pen() bert = Pen() def alex_square(l). for i in range(4): alex.fd(l) alex.lt(l) def bert_square(l). for i in range(4): bert.fd(l) bert.lt(l) A bit stupid, especially if for instance there comes chris = Pen() So why not supply an extra argument to determine, which turtle should 'square': def square(turtle, l): for i in range(4): turtle.fd(l) turtle.lt(l) which allow us to say: square(alex, l) square(bert, l) Now a simple trick comes in ... class Turtle(Pen): def square(turtle, l): for i in range(4): turtle.fd(l) turtle.lt(l) and we immediately better educated turtles alex = Turtle() bert = Turtle() chris =Turtle() for turtle in alex, bert, chris: turtle.square(l) Hmm..., so - this my paradox 'proposition' - why not use ClassName.lower() as replacement for self. > > I''m thinking the word 'self', at least in English, is too '3rd person' > in some ways, and looking down on a lot of objects, each with a > 'self', you have only a god's eye view. However, the grammar around > 'me' is different -- there's only one of them (one first person), and > therefore thinking "me" promotes a kind of first person instrospective > attitude. And we *want* that, as an option, when modeling in OO. > For instance class Human (object): def __init__(human, name): human.name = name def __repr__(human): return 'Hi, my name is %s' % human.name so expressing, that the first parameter just names that special instance of the class, which is meant in the current context. Insisting on this, I'd to add, that 'self' is not enough '3rd person', which I don't do. I just wanted to add an additional point of view. I write this not only for fun, but I've made the experience (with students as well with teachers) that this approach also can enhance their understanding of the *mechanisms* of OOP. (altough not, perhaps, their ability to do object oriented design). Regards, Gregor From dcrosta at sccs.swarthmore.edu Fri Jul 21 20:17:05 2006 From: dcrosta at sccs.swarthmore.edu (Dan Crosta) Date: Fri, 21 Jul 2006 14:17:05 -0400 Subject: [Edu-sig] Python Pedagogy In-Reply-To: <44C116D7.2010201@aon.at> References: <44C116D7.2010201@aon.at> Message-ID: <44C11A21.90000@sccs.swarthmore.edu> Gregor Lingl wrote: > [...] > > class Turtle(Pen): > def square(turtle, l): > for i in range(4): > turtle.fd(l) > turtle.lt(l) Maybe this isn't a problem for learning programmers (especially if you introduce it in the way you did for us just now) -- but I got confused at the lower case of 'turtle' being a stand-in for the conventional 'self'. I guess in my mind, it's important that the self-reference be consistent across classes, to the point of almost acting as a keyword, just so that you can glance at a bit in the middle of a method and see what it's doing. Otherwise, it's ambiguous whether the symbol 'turtle' is 'self' or some other variable. > alex = Turtle() > bert = Turtle() > chris =Turtle() > > for turtle in alex, bert, chris: > turtle.square(l) Using a more suggestive name like 'turtle' in place of 'self' might suggest that the name itself has some meaning, rather than its position as the first argument to the method -- especially if you repeat the name in the __main__ scope like you've done in the snippet above. It's an interesting idea, for sure, I'm just not sure I can really wrap my brain around it without some major rewiring. - d From glingl at aon.at Fri Jul 21 20:20:52 2006 From: glingl at aon.at (Gregor Lingl) Date: Fri, 21 Jul 2006 20:20:52 +0200 Subject: [Edu-sig] Python Pedagogy In-Reply-To: <44C10B0E.4040807@livingcode.org> References: <7528bcdd0607210346s1ed17a07nc193f59c4ee51cba@mail.gmail.com> <44C10B0E.4040807@livingcode.org> Message-ID: <44C11B04.4090307@aon.at> Dethe Elza schrieb: > class Anthro(object): > > def __init__(my): > I = me = my > my.self = me > my.truism = (phrase for phrase in ['I am', 'that which I am']) > > def __repr__(my): > return my.truism.next() > > def who(my): > I = me = my > print me, my.self and I > > if __name__ == '__main__': Anthro().who() > It's really a pity that despite thus much ego-centrism that poor Anthro couldn't say onother time who his is. Gregor > > --Dethe > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > http://mail.python.org/mailman/listinfo/edu-sig > > From delza at livingcode.org Fri Jul 21 20:28:20 2006 From: delza at livingcode.org (Dethe Elza) Date: Fri, 21 Jul 2006 11:28:20 -0700 Subject: [Edu-sig] Python Pedagogy In-Reply-To: <44C11B04.4090307@aon.at> References: <7528bcdd0607210346s1ed17a07nc193f59c4ee51cba@mail.gmail.com> <44C10B0E.4040807@livingcode.org> <44C11B04.4090307@aon.at> Message-ID: <44C11CC4.2010200@livingcode.org> Gregor Lingl wrote: > > > Dethe Elza schrieb: > >> class Anthro(object): >> >> def __init__(my): >> I = me = my >> my.self = me >> my.truism = (phrase for phrase in ['I am', 'that which I am']) >> >> def __repr__(my): >> return my.truism.next() >> >> def who(my): >> I = me = my >> print me, my.self and I >> >> if __name__ == '__main__': Anthro().who() >> > > It's really a pity that despite thus much ego-centrism > that poor Anthro couldn't say onother time who his is. > > Gregor Yes, Anthro simulates the transience of existence. %-) --Dethe From andre.roberge at gmail.com Sat Jul 22 02:27:37 2006 From: andre.roberge at gmail.com (Andre Roberge) Date: Fri, 21 Jul 2006 21:27:37 -0300 Subject: [Edu-sig] Ann: Crunchy Frog 0.6 Message-ID: <7528bcdd0607211727h4c68b1p647246bcb5ed589f@mail.gmail.com> [note to edu-sig people: the 0.6 version looks much different from the 0.4.9. Much!] Crunchy Frog (version 0.6) has been released. Crunchy Frog is an application that transforms an html-based Python tutorial into an interactive session within a browser window. The interactive embedded objects include: * a Python interpreter; * a simple code editor, whose input can be executed by Python; * a special "doctest" mode for the code editor; * a graphics canvas which can be drawn upon using a simple api. * simple sounds can be generated and played with all of the above. A comprehensive set of examples are included in the package, as well as two "standard Python tutorials" (mini-sorting HowTo, and regular expression HowTo) which have been adapted for use with Crunchy Frog. Requirements: Python 2.4+ (it might work, but has not been tested with earlier versions) Elementtree; (a link is provided in the included docs) Firefox 1.5+ The website address is http://crunchy.sourceforge.net The files can be downloaded from http://sourceforge.net/project/showfiles.php?group_id=169458 Andr? and Johannes From ajsiegel at optonline.net Sat Jul 22 03:51:59 2006 From: ajsiegel at optonline.net (Arthur) Date: Fri, 21 Jul 2006 21:51:59 -0400 Subject: [Edu-sig] Python Pedagogy In-Reply-To: References: <7528bcdd0607210346s1ed17a07nc193f59c4ee51cba@mail.gmail.com> <44C0DC76.7060704@optonline.com> Message-ID: <44C184BF.5010609@optonline.com> kirby urner wrote: > > In terms of motivating readers, I assume the context is one of already > appreciating what PyGeo might do in the knowledge domain of geometry, > especially projective geometry. If the motivation is lacking, then it > becomes just another intimidating bureaucracy (just as a lot of > liberal arts types see computer science as a whole). Yes, if the motivation is lacking.... Anybody writing anything worth reading needs to assume an interested reader. I don't really believe much in Programming for the Uninterested, or Geometry for the Uninterested- which has always been one of my problems with Computer Programming for Everyone. I'd rather find effective ways to teach the interested, than turn somersaults to interest the uninterested. And CP4E could be interpreted as the commitment to these somersaults. Presumably those not interested in geometry or programming are interested in something else - maybe even something more interesting than either. Those not interested in anything are the domain of social workers and psychiatrists, not educators. I personally find projective geometry (it is there even during power outages ;) ) more interesting than programming , and actually more essential to an understanding of what makes "modern" thinking modern.. I think Bucky might even agree. But I have also found that having the ability to program as part of my arsenal has been essential in allowing me to explore the geometry. It is second best to the kind of imagination that might allow one to *see* without having to see. Lacking that level of imagination, I need to see in a more literal sense, to see. Nobody had really created a tool to allow me to see what I needed to see. So I did. See? Art > Kirby > > From ajsiegel at optonline.net Sat Jul 22 15:04:18 2006 From: ajsiegel at optonline.net (Arthur) Date: Sat, 22 Jul 2006 09:04:18 -0400 Subject: [Edu-sig] Python Pedagogy In-Reply-To: References: <7528bcdd0607210346s1ed17a07nc193f59c4ee51cba@mail.gmail.com> <44C0DC76.7060704@optonline.com> Message-ID: <44C22252.1000304@optonline.com> kirby urner wrote: >> It seems to me that efforts around education that are indigenous to >> Python and its community will almost necessarily be leveraging these >> qualities and thinking about words and about language more than about >> mouse clicks. > > > This is also true of the J community, which very explicitly ties to > English grammar in its pedagogy -- way more so than Python does. I don't know, sometimes I think that Terrence and Philip better describes us as a duo then Itchy and Scratchy. a) I am not talking about English grammar. I am talking about a connection to the "language center" - in the what makes humans humans sort of way - and the way that something like Python can be connect to that center, as language. But having its own grammar - Dijkstra says that the search for the natural language programming language is another exploration to pursue for those who like dead-ends, and I believe him - , and connected to English in particular only to the extent it needs to be connected to something that is already language. b) I have done some J and it is hard to think of a programming language more abstracted away from natural language, i.e. less readable, and since I am talking about leveraging the existing strengths of an actual programming language - in this case Python - not sure how it comes up as in "yeah J as well". Whatever. Art From kirby.urner at gmail.com Sat Jul 22 19:15:12 2006 From: kirby.urner at gmail.com (kirby urner) Date: Sat, 22 Jul 2006 10:15:12 -0700 Subject: [Edu-sig] Python Pedagogy In-Reply-To: <44C184BF.5010609@optonline.com> References: <7528bcdd0607210346s1ed17a07nc193f59c4ee51cba@mail.gmail.com> <44C0DC76.7060704@optonline.com> <44C184BF.5010609@optonline.com> Message-ID: On 7/21/06, Arthur wrote: > Yes, if the motivation is lacking.... > > Anybody writing anything worth reading needs to assume an interested reader. > Well no. It's a luxury to assume that actually. Many people have day jobs writing for presumably uninterested readers. I'm thinking of advertising in particular. > I don't really believe much in Programming for the Uninterested, or > Geometry for the Uninterested- which has always been one of my problems > with Computer Programming for Everyone. I'd rather find effective ways I do. I believe in the old American art of selling or pitching a topic, letting someone's obvious passion for the stuff rub off on skeptical/clueless newbies. Yes, there's the danger of snake oil getting into the mix. On the other hand, in the case of Python, that's not entirely inappropriate (we can make fun of unprincipled huckstering, as in Yes Men). I think maybe where you and I part company is you see academe as a huckster free zone, whereas I see an academic as a type of huckster. "Running a racket" is built in to my model's base class, for any type of professional -- meaning "racket" needn't have any excessively derogatory connotations, any more than being a Toon in Toontown. It's possible to run a racket without being to smarmy about it (sorry Gregor, for all the idioms). > to teach the interested, than turn somersaults to interest the > uninterested. And CP4E could be interpreted as the commitment to these > somersaults. Presumably those not interested in geometry or programming That's right. Cirque du Soleil, move over (don't go away though). > are interested in something else - maybe even something more interesting > than either. Those not interested in anything are the domain of social > workers and psychiatrists, not educators. Ah, but you haven't solved the problem then. Psychiatry may be overkill. We don't need to write scripts for phamaceuticals most times, just apply some good old fashioned spin. > I personally find projective geometry (it is there even during power > outages ;) ) more interesting than programming , and actually more > essential to an understanding of what makes "modern" thinking modern.. > I think Bucky might even agree. But I have also found that having the > ability to program as part of my arsenal has been essential in allowing > me to explore the geometry. It is second best to the kind of > imagination that might allow one to *see* without having to see. > Lacking that level of imagination, I need to see in a more literal > sense, to see. Nobody had really created a tool to allow me to see what > I needed to see. So I did. You're a poster boy for what it's all about, including in your willingness to freely share your result, versus making it a closed source proprietary tool available only for money. Making it "for money only" helps keep the value of money high, but doesn't do much for education world at this point, where money is out of reach, especially if you're unlucky enough to be paid in a "soft" currency. I applaud your generosity and hope other projective geometry buffs come to realize and admit their good fortune, in having you joining their camp. > See? > > Art I sure do. Your story is very clear and I don't see any reason it should change. In saying that CP4E is indeed about reaching out to some of the militantly apathetic (what has Python Nation to do with *me*?!), I'm not thereby saying *you* need to switch gears and see your job as writing for the uncaring. You write for readers who care. I think that's the most a lot of writers ever attempt, and I don't begrudge them their fun, nor their readerships. Kirby From kirby.urner at gmail.com Sat Jul 22 19:31:31 2006 From: kirby.urner at gmail.com (kirby urner) Date: Sat, 22 Jul 2006 10:31:31 -0700 Subject: [Edu-sig] Python Pedagogy In-Reply-To: <44C22252.1000304@optonline.com> References: <7528bcdd0607210346s1ed17a07nc193f59c4ee51cba@mail.gmail.com> <44C0DC76.7060704@optonline.com> <44C22252.1000304@optonline.com> Message-ID: On 7/22/06, Arthur wrote: > I don't know, sometimes I think that Terrence and Philip better > describes us as a duo then Itchy and Scratchy. > I don't know who Terrence and Philip are. I think Itchy and Scratchy are those incredibly violent cartoon characters on the Simpson's TV. > a) I am not talking about English grammar. I am talking about a > connection to the "language center" - in the what makes humans humans > sort of way - and the way that something like Python can be connect to > that center, as language. But having its own grammar - Dijkstra says > that the search for the natural language programming language is another > exploration to pursue for those who like dead-ends, and I believe him - > , and connected to English in particular only to the extent it needs to > be connected to something that is already language. I admire humans for not waiting for computers to think like humans (through some godawfully complicated API one might suppose), and instead trained themselves to think like computers. The mental model was whatever the hardware dictated. That's what Kung Fu is all about: be like the grasshopper, Grasshopper, or horse or beaver or whatever. Become what you wish to have power over. And that's what so many engineers just sat down and did. They lived and breathed "microchip" (registers, ALU, bus, RAM...). Now, decades later, we have VHLLs like Python and J, and don't really need to transmogrify our thinking so completely. In contrast to chip-speak, Python is veritably natural, organic to boot. J is somewhat alien, true, but no one said ETs couldn't play. > b) I have done some J and it is hard to think of a programming language > more abstracted away from natural language, i.e. less readable, and > since I am talking about leveraging the existing strengths of an actual > programming language - in this case Python - not sure how it comes up > as in "yeah J as well". > > Whatever. > > Art But wouldn't we say about the same about Egyptian or Sumerian. J *is* a human language after all, invented by humans who write for humans who read. It's ostensibly unreadable to the unschooled eye, but after transmogrification, it reads fairly easily -- at least the basic stuff does (I've only glimpsed this promised land -- my ability to parse J is still beginner level). I can't look at readable English and force myself to see it as incomprehensible, as it once was to me. It's easy to see Japanese that way (for me), but I presume not for a Japanese reader. As Wittgenstein was always emphasizing, "meaning" is *so much* about perceptions -- so much so that it's almost impossible talk coherently about the importance of this level, as we're each so deeply down a mineshaft already, and wondering what "vertical" means in this context. Kirby PS: when I talked about 'Alice' before as both 1st and 3rd person, I wasn't talking about the 'Alice' we usually talk about here. I was talking about a game that I own, let my daughter play sometimes: http://en.wikipedia.org/wiki/American_McGee's_Alice (a classic). From kirby.urner at gmail.com Sat Jul 22 19:42:01 2006 From: kirby.urner at gmail.com (kirby urner) Date: Sat, 22 Jul 2006 10:42:01 -0700 Subject: [Edu-sig] More Pythonic Soccer Ball Geometry (was HexaPent) Message-ID: So here's a simple CS approach to the first/simplest hexapent: the soccer ball (at least until Adidas messed with it). You've got the 12 pentagons and the 20 hexagons. This lesson plan should fly easily in cultures which already have that image deeply engrained (USAers still lag in this respect, probably always will, given their "pig skin" fascination). I'm using what I'd call intermediate-to-beginner Python here. No class definitions, everything procedural. However, I do use globals, and take for granted the set, list comprehension, slicing. Lots of basic syntax is already in play. It's a script for building a data structure, step by step, starting from an encoding of the icosahedron's 20 faces, in terms of 3-tuples. The letters A-L label the 12 vertices. Those 12 vertices transform into the 12 pentagons of any hexa-pent, leaving the triangles to become 20 hexagons (Glenn calls this a 12/20). Then I go through a lot of selecting and sorting with the following goal in mind: build a dictionary such that every face has a name (the keys) and every face is paired with its five or six neighbors (the values). Note that the tricks I use to build this data structure (globaldata) aren't necessarily going to scale when we move to the higher frequency hexapents (12 pentagons, more hexagons). Here' we go: =================================================================== # here is a topological icosahedron, expressed as openings (faces) # Note: I recycled this from my rbf.py but changed the letters to # something friendlier baseicosa = [('A', 'C', 'I'), ('A', 'L', 'B'), ('B', 'D', 'K'), ('D', 'C', 'J'), ('I', 'E', 'G'), ('G', 'J', 'H'), ('K', 'F', 'H'), ('L', 'F', 'E'), ('A', 'B', 'D'), ('A', 'C', 'D'), ('A', 'L', 'I'), ('I', 'E', 'L'), ('C', 'I', 'G'), ('C', 'G', 'J'), ('L', 'B', 'F'), ('K', 'B', 'F'), ('D', 'K', 'J'), ('H', 'K', 'J'), ('F', 'E', 'H'), ('G', 'E', 'H')] # we will consider these the names of 12 pentagons then add a # 'soccer ball' pattern of 20 hexagons, named for the pentagons # at their 3 alternate edges, e.g. hexagon ACI. # Every hexagon will have six neighbors: three pentagons with # one letter in common, three hexagons with two letters is common # Every pentagon with have five neighbors: five hexagons with # one letter in common. pents = ['A','B','C','D','E','F','G','H','I','J','K','L'] # 20 print "Pents: %s" % pents def gethexes(): thelist = [] for t in baseicosa: thehex = ''.join(sorted(t)) thelist.append(thehex) return thelist hexes = gethexes() print "Hexes: %s" % hexes # and let's get the edges while we're at it. Every edge of every # triangle is an edge. We'll use the set data structure to police # against duplicates def getedges(): theset = set() for t in baseicosa: for i in (t[:2], t[1:], t[-1]+t[0]): theset.add(''.join(sorted(i))) return sorted(list(theset)) edges = getedges() print "Edges: %s" % edges # now we'd like a global dictionary in which every pentagon is paired # with its 5 neighbors. These will simply be all hexagons with # a letter in common. globaldata = {} def buildpents(): result = {} for p in pents: neighbors = [] for h in hexes: if p in h: neighbors.append(h) result[p] = neighbors return result result = buildpents() print "Pent neighbors: %s" % result globaldata.update(result) # adding to our globaldata, will be all the hexagons paired with # their six neighbors: 3 pentagons, and 3 hexagons across an edge. # We detect edge sharing as a boundary condition, i.e. if a panel # has two (and only two) letters in common, it's across an edge def buildhexes(): result = {} for h in hexes: neighbors = list(h) # 3 pentagons for candidate in hexes: votes = 0 for i in range(3): if h[i] in candidate: votes += 1 if votes == 2: neighbors.append(candidate) result[h] = neighbors return result result = buildhexes() print "Hexa neighbors: %s" % result globaldata.update(result) From ajsiegel at optonline.net Sat Jul 22 21:02:55 2006 From: ajsiegel at optonline.net (Arthur) Date: Sat, 22 Jul 2006 15:02:55 -0400 Subject: [Edu-sig] Python Pedagogy In-Reply-To: References: <7528bcdd0607210346s1ed17a07nc193f59c4ee51cba@mail.gmail.com> <44C0DC76.7060704@optonline.com> <44C22252.1000304@optonline.com> Message-ID: <44C2765F.5030004@optonline.com> kirby urner wrote: > On 7/22/06, Arthur wrote: > >> I don't know, sometimes I think that Terrence and Philip better >> describes us as a duo then Itchy and Scratchy. >> > > I don't know who Terrence and Philip are. I think Itchy and Scratchy > are those incredibly violent cartoon characters on the Simpson's TV. > They are famous for being Canadian: http://en.wikipedia.org/wiki/Terrence_and_Phillip or http://www.moviesounds.com/sp/comeup.wav Art > > From ajsiegel at optonline.net Sat Jul 22 23:29:42 2006 From: ajsiegel at optonline.net (Arthur) Date: Sat, 22 Jul 2006 17:29:42 -0400 Subject: [Edu-sig] Python Pedagogy In-Reply-To: References: <7528bcdd0607210346s1ed17a07nc193f59c4ee51cba@mail.gmail.com> <44C0DC76.7060704@optonline.com> <44C22252.1000304@optonline.com> Message-ID: <44C298C6.10107@optonline.com> kirby urner wrote: > As Wittgenstein was always emphasizing, "meaning" is *so much* about > perceptions -- so much so that it's almost impossible talk coherently > about the importance of this level, as we're each so deeply down a > mineshaft already, and wondering what "vertical" means in this > context. Not pretending to understand much of what Wittgenstein was saying, but I think it actually quite relevant in the context of your full post that, according to Betrand Russel, Wittgenstein's thinking was profoundly influenced by projective geometry and his early philosophy was in some sense applying the principles of what he found there to linguistics. Perhaps the ultimate VHLL can be defined as one that most perfectly facilitates the ability to preserve meaning in a transformation from human linguistic hardwiring to machine hardwiring. Gregor asking: How do they come up with this stuff? ;) Art From kirby.urner at gmail.com Sun Jul 23 01:41:13 2006 From: kirby.urner at gmail.com (kirby urner) Date: Sat, 22 Jul 2006 16:41:13 -0700 Subject: [Edu-sig] Python Pedagogy In-Reply-To: <44C298C6.10107@optonline.com> References: <7528bcdd0607210346s1ed17a07nc193f59c4ee51cba@mail.gmail.com> <44C0DC76.7060704@optonline.com> <44C22252.1000304@optonline.com> <44C298C6.10107@optonline.com> Message-ID: On 7/22/06, Arthur wrote: > Not pretending to understand much of what Wittgenstein was saying, but I > think it actually quite relevant in the context of your full post that, > according to Betrand Russel, Wittgenstein's thinking was profoundly > influenced by projective geometry and his early philosophy was in some > sense applying the principles of what he found there to linguistics. Well, it's something of a balloon popper, but I feel I should indicate I'm more a PI man than a TLP man, meaning I favor the 2nd philosophy and trace this importance of perception to PI Part II. Russell couldn't follow and concluded maybe LW had lost it by then -- but he was just getting good, to my way of thinking. None of which is to rain on your projective geometry metaphor for mapping a natural to a computer language. That happens when we get to Bucky. :-D Kirby Key: TLP = Tractatus Logico Philosophicus (Russell loved it) PI = Philosophical Investigations (weird stuff, Russell didn't get it) LW = Ludwig Wittgenstein (some big name philosopher I studied at Princeton) From kirby.urner at gmail.com Sun Jul 23 01:45:08 2006 From: kirby.urner at gmail.com (kirby urner) Date: Sat, 22 Jul 2006 16:45:08 -0700 Subject: [Edu-sig] More Pythonic Soccer Ball Geometry (was HexaPent) In-Reply-To: References: Message-ID: So now I've written a second module which imports from the first. So gm.globaldata is a given. The goal here is to simulate "walking a hexapent" (think of an ant walking around on a soccer ball). At each tile or cell, we have 5 or 6 neighbors. Pick from the list of valid choices, and go there. And so on. Pretty primitive, but suggestive nevertheless. Here the code gets a little harder, even throwing in a property for good measure. I'll start with what the session looks like, followed by source (note: on my IDLE screen, these are pretty good looking polygons, and I'm just cutting and pasting into gmail -- let's see what happens...) >>> reload(hpwalker) ____ / \ / \ \ / \____/ Cell: FHK Neigboring Pentagons: F, H, K Neigboring Hexagons : BFK, HJK, EFH Which neighbor? (x=quit): H ____ / \ \ / \ / \/ Cell: H Neigboring Hexagons : GHJ, FHK, HJK, EFH, EGH Which neighbor? (x=quit): FHK ____ / \ / \ \ / \____/ Cell: FHK Neigboring Pentagons: F, H, K Neigboring Hexagons : BFK, HJK, EFH Which neighbor? (x=quit): EFH ____ / \ / \ \ / \____/ Cell: EFH Neigboring Pentagons: E, F, H Neigboring Hexagons : FHK, EFL, EGH Which neighbor? (x=quit): EGH ____ / \ / \ \ / \____/ Cell: EGH Neigboring Pentagons: E, G, H Neigboring Hexagons : EGI, GHJ, EFH Which neighbor? (x=quit): GHJ ____ / \ / \ \ / \____/ Cell: GHJ Neigboring Pentagons: G, H, J Neigboring Hexagons : CGJ, HJK, EGH Which neighbor? (x=quit): J ____ / \ \ / \ / \/ Cell: J Neigboring Hexagons : CDJ, GHJ, CGJ, DJK, HJK Which neighbor? (x=quit): x Source code: from gm import globaldata class Cell (object): def __init__(self, address): self.address = address self.neighbors = {} h = p = 0 for f in globaldata[address]: if len(f)==3: self.neighbors['h'+str(h)] = f h += 1 else: self.neighbors['p'+str(p)] = f p += 1 if len(self.neighbors)==6: self.type = 'hexagon' else: self.type = 'pentagon' def _templ(self): if self.type == 'hexagon': return self._hex_templ() else: return self._pent_templ() ascii = property(_templ) def __repr__(self): return "Cell %s (%s)" % (self.address, self.type) def _hex_templ(self): panel = """ ____ / \\ / \\ \\ / \\____/ Cell: %s """ % self.address legend = """ Neigboring Pentagons: %(p0)s, %(p1)s, %(p2)s Neigboring Hexagons : %(h0)s, %(h1)s, %(h2)s """ % self.neighbors return panel + legend def _pent_templ(self): panel = """ ____ / \\ \\ / \\ / \\/ Cell: %s """ % self.address legend = """ Neigboring Hexagons : %(h0)s, %(h1)s, %(h2)s, %(h3)s, %(h4)s """ % self.neighbors return panel + legend whichcell = globaldata.keys()[0] looping = True while looping: thecell = Cell(whichcell) print thecell.ascii whichcell = raw_input("Which neighbor? (x=quit): ") if whichcell in 'qxQX': looping = False From kirby.urner at gmail.com Sun Jul 23 04:46:10 2006 From: kirby.urner at gmail.com (kirby urner) Date: Sat, 22 Jul 2006 19:46:10 -0700 Subject: [Edu-sig] Python Pedagogy In-Reply-To: References: <7528bcdd0607210346s1ed17a07nc193f59c4ee51cba@mail.gmail.com> <44C0DC76.7060704@optonline.com> <44C22252.1000304@optonline.com> <44C298C6.10107@optonline.com> Message-ID: > Key: > TLP = Tractatus Logico Philosophicus (Russell loved it) > PI = Philosophical Investigations (weird stuff, Russell didn't get it) > LW = Ludwig Wittgenstein (some big name philosopher I studied at Princeton) And thanks for the TP = Terrance and Phillip citation in Wikipedia. I learned a lot. Braaaap. http://www.flatulina.com/ Kirby From kirby.urner at gmail.com Sun Jul 23 07:02:51 2006 From: kirby.urner at gmail.com (kirby urner) Date: Sat, 22 Jul 2006 22:02:51 -0700 Subject: [Edu-sig] More Pythonic Soccer Ball Geometry (was HexaPent) In-Reply-To: References: Message-ID: On 7/22/06, kirby urner wrote: > Note that the tricks I use to build this data structure (globaldata) > aren't necessarily going to scale when we move to the higher frequency > hexapents (12 pentagons, more hexagons). Actually, I'm thinking they scale pretty well. Given a set of hexapent faces, say a list of 5- and 6-tuples, we name each face after the corner vertices, just as we normally do in geometry. Tuples are hashable keys, so we could call (1,3,13,5,7) a face (I'm just inventing the sequence), except to avoid duplicates we'd take advantage of ordinality to make (1,3,5,7,13) the *unique* reference to some pentagon. >From this face data, we have the same ability to distill (a) all unique edges (as vertex-pair tuples) and (b) all neighbors of a cell = those with exactly one edge in common. We can brute force our way through this if we're lazy and operating at a low enough frequency. Once developed, the resulting data structure may be saved to a file for recycling. So far, I haven't found a way to make Rick Bono's dome.exe (mentioned earlier) output buckyballs (x3 frequency) in a format that conserves faces as such. However, I'm thinking Adrian's Packinon might well do the job. So using gm.py to automatically build a globaldata dictionary for a higher frequency hexapent shouldn't be too problematic, using integers for vertices, and tuples for edges and faces. globaldata, recall, keys each face to a list of neighboring faces, so we're talking all 5- and 6-tuples. A separate lookup function could then retrieve pre-rendered data from a stash. Walking the globe is one thing. Doing so in real time -- well, that depends on what you're looking to see. I haven't forgotten that we want a compass control as part of the GUI, so that the 90-45 degree points mix with the 60-72 degree motif of the hexapent. Also, we of course want our labeled vertices to map to XYZ coordinate data, or whatever info will help with the OpenGL or whatever. Kirby From kirby.urner at gmail.com Sun Jul 23 20:51:06 2006 From: kirby.urner at gmail.com (kirby urner) Date: Sun, 23 Jul 2006 11:51:06 -0700 Subject: [Edu-sig] More Pythonic Soccer Ball Geometry (was HexaPent) In-Reply-To: References: Message-ID: > So far, I haven't found a way to make Rick Bono's dome.exe (mentioned > earlier) output buckyballs (x3 frequency) in a format that conserves > faces as such. However, I'm thinking Adrian's Packinon might well do > the job. Just a quick postscript and then I'll be quiet about this thread, as from the point of view of filing a lesson plan, it's filed. Done. Feel free to bring it up again though, and I might join in. Anyway, I'm sure Bono's .pov output has the faces, because he colors them, so must remember them as polygons. Adrian's didn't seem to, until Adrian himself showed me how his reciprocal finder gets it right off various traditional omnitriangulated geodesics. I chronicled our collaboration in my blog this morning: http://worldgame.blogspot.com/2006/07/another-hexapent.html Kirby From ms at cerenity.org Mon Jul 24 00:11:43 2006 From: ms at cerenity.org (Michael) Date: Sun, 23 Jul 2006 23:11:43 +0100 Subject: [Edu-sig] Project HexaPent In-Reply-To: References: Message-ID: <200607232311.43223.ms@cerenity.org> On Thursday 20 July 2006 20:41, kirby urner wrote: > The only OSCON access I've purchased to date is an Exhibit Hall pass, > and given the nearness of the deadline, that's probably going to be it > for this year. There's also OSCAMP running this year, which you can get into free - you need the exhibit hall pass, but that's all. From http://oscamp.org/Invitation """OSCAMP is an "open" space for meeting, for learning, for connecting, for writing code ? with no imposed limits or agendas - only the charge to come and learn and contribute as much as you can. The agenda is created and modified "on the fly" by the participants. You can add to the agenda any issue of importance to you. It will be discussed and addressed to the greatest extent possible. All of the key points and next steps will be captured online so that the entire Freedom/Libre/Open community can benefit from our work.""" Michael. From kirby.urner at gmail.com Mon Jul 24 06:54:41 2006 From: kirby.urner at gmail.com (kirby urner) Date: Sun, 23 Jul 2006 21:54:41 -0700 Subject: [Edu-sig] Recanting Message-ID: OK, so a few posts back I talked about moving away from writing Pythonic math and heading for the green fields of television. Certainly I've taken that tack in my blog some, but I can't stop myself with the gnu math writing. So for example, regarding this hexapent jag: I framed it as a CP4E web page today, at my OCN website: http://www.4dsolutions.net/ocn/hexapent.html I'm trying to escape the heat by retreating to the basement, and using the Edubuntu box (Jennifer). Portland is having a heat wave at the moment. I hope it gets cooler for OSCON, as Portland summers are usually pretty comfortable. I like those geek out-of-towners to enjoy their visits, in addition to us locals. Yes Michael, thanks for reminding me about the OSCAMP option. Good thinking. Kirby From ajsiegel at optonline.net Mon Jul 24 15:44:32 2006 From: ajsiegel at optonline.net (Arthur) Date: Mon, 24 Jul 2006 09:44:32 -0400 Subject: [Edu-sig] Recanting In-Reply-To: References: Message-ID: <44C4CEC0.3040904@optonline.com> kirby urner wrote: >OK, so a few posts back I talked about moving away from writing >Pythonic math and heading for the green fields of television. >Certainly I've taken that tack in my blog some, but I can't stop >myself with the gnu math writing. > > I would actually love to see an "American Masters" kind of documentary about Fuller. For most of us going to primary sources to understand what Fuller is about is not an option. Talk about presuming an interested reader! The underlying subject matter of Fuller seems to be, in one way or other, Fuller. The writing is extremely self-referential. "As I said in Book XYZ..." - no longer any need to go into further detail, we have Book XYZ at our fingertips if not committed to memory. He goes a step further than presuming interested readers, and presumes devotees. Let's assume that he had it right, and that is the only way available to him to get his message out, and that his inner voice telling him who he was was not on the fritz. What one tends to get on the web are signs of devotion, and disjointed pieces of his ideas. In this case some somersaults are probably necessary to generate interest in Fuller. An in this case a documentary drawing on archival fottage, interviews with known quantity thinkers who can speak to his importance, and a debunker or two for balance, would be quite interesting, and I think find an audience. Would give a lot better context to your Python math, which I find to be a bit disjointed in focusing on, absent the Fuller context, what seems like a relatively unimportant mathematical brooklet. Art From jasonic at nomadics.org Mon Jul 24 17:13:09 2006 From: jasonic at nomadics.org (Jason Cunliffe) Date: Mon, 24 Jul 2006 17:13:09 +0200 Subject: [Edu-sig] Recanting >> RDF documentary DVD set soon on NetFlix.com ?? References: <44C4CEC0.3040904@optonline.com> Message-ID: <000601c6af33$ae3464e0$0a01a8c0@inspiron> Some readable Helpful non-primary source books about Buckminster Fuller include: Buckminster Fuller's Universe: His Life and Work by Lloyd Steven Sieden Buckminster Fuller: Designing for Mobility by Michael John Gorman Buckminster Fuller: Anthology for a New Millennium (Paperback) by Thomas T. K. Zung Bucky Works : Buckminster Fuller's Ideas for Today (Paperback) by J. Baldwin Your Private Sky: R Buckminster Fuller It would be *great* to have a well researched, well-made documentary [on DVD] covering his life and work, while also putting it into current context. [Visonary ++ Followup, math, structures, politics, inspired works, new generation, limiatoins, problems, solutions...] DVD box set could provide a tight formatted program [2 hours ?] plus interviews, souce RBF recordings, etc etc. I'd consider it essential reading/viewing. Jason From jasonic at nomadics.org Mon Jul 24 17:19:32 2006 From: jasonic at nomadics.org (Jason Cunliffe) Date: Mon, 24 Jul 2006 17:19:32 +0200 Subject: [Edu-sig] Recanting >> RDF documentary DVD set soon onNetFlix.com ?? References: <44C4CEC0.3040904@optonline.com> <000601c6af33$ae3464e0$0a01a8c0@inspiron> Message-ID: <001101c6af34$914eab50$0a01a8c0@inspiron> I forgot to mention that there is 2-disc "Lost Interviews" DVD already ... http://www.netflix.com/MovieDisplay?movieid=70032784&trkid=189530&strkid=1002978248_9_0 From kirby.urner at gmail.com Mon Jul 24 18:45:45 2006 From: kirby.urner at gmail.com (kirby urner) Date: Mon, 24 Jul 2006 09:45:45 -0700 Subject: [Edu-sig] Recanting >> RDF documentary DVD set soon onNetFlix.com ?? In-Reply-To: <001101c6af34$914eab50$0a01a8c0@inspiron> References: <44C4CEC0.3040904@optonline.com> <000601c6af33$ae3464e0$0a01a8c0@inspiron> <001101c6af34$914eab50$0a01a8c0@inspiron> Message-ID: Hey Jason, long time no hear. Great having you back on edu-sig after all this time. Sieden and Zung I've met, have their books. The mobility one I don't. Jay's is great (hey, I'm even mentioned in the acknowledgements, so it must be :-D). Your Private Sky is actually two volumes and has a lot of hard to find pix in one, documents in the other. Stanford has recently opened the Fuller Archive to on-line browsers but I haven't registered yet. Various DVDs will be made, I have no doubt. American Masters did a pretty good one for television, but it stops way back in the 1980s when he died. PBS did another really stupid one we all jeer at but I forget the title. Kirby From kirby.urner at gmail.com Mon Jul 24 18:59:00 2006 From: kirby.urner at gmail.com (kirby urner) Date: Mon, 24 Jul 2006 09:59:00 -0700 Subject: [Edu-sig] Recanting In-Reply-To: <44C4CEC0.3040904@optonline.com> References: <44C4CEC0.3040904@optonline.com> Message-ID: On 7/24/06, Arthur wrote: > kirby urner wrote: > > >OK, so a few posts back I talked about moving away from writing > >Pythonic math and heading for the green fields of television. > >Certainly I've taken that tack in my blog some, but I can't stop > >myself with the gnu math writing. > > > > > I would actually love to see an "American Masters" kind of documentary > about Fuller. Yes, American Masters did one. It was called 'Thinking Out Loud' and was well made, though it skimped on the core geometry: http://www.pbs.org/wnet/americanmasters/database/fuller_b.html We also have lots of audio and video online e.g. http://memeticdrift.net/bucky/index.html http://www.hearingvoices.com/bucky/index.html > For most of us going to primary sources to understand what > Fuller is about is not an option. Talk about presuming an interested > reader! That's true. His magnum opus, Synergetics (originally 2 volumes from Macmillan) is online but is mostly read by specialists. > The underlying subject matter of Fuller seems to be, in one way > or other, Fuller. The writing is extremely self-referential. "As I said > in Book XYZ..." - no longer any need to go into further detail, we have > Book XYZ at our fingertips if not committed to memory. He goes a step > further than presuming interested readers, and presumes devotees. I tried to hook people in by talking for hours and hours, in public (hence 'Thinking Out Loud'). I'd say the vast majority of people who read his books probably started out hearing him speak -- but that's an hypothesis, not a proved fact. > What one tends to get on the web are signs of devotion, and disjointed > pieces of his ideas. > I think my Synergetics on the Web, around since the 1990s, does an OK job of summarizing. I've got a bio, overview, lots of explanation. I also gets lots of traffic -- or did when I still bothered to check. http://www.grunch.net/synergetics/ > In this case some somersaults are probably necessary to generate > interest in Fuller. An in this case a documentary drawing on archival > fottage, interviews with known quantity thinkers who can speak to his > importance, and a debunker or two for balance, would be quite > interesting, and I think find an audience. We've got all that. Even the debunker or two (e.g. Ken Snelson likes to play that role). > Would give a lot better context to your Python math, which I find to be > a bit disjointed in focusing on, absent the Fuller context, what seems > like a relatively unimportant mathematical brooklet. > > Art I think some of my Pythonic math helped lay the groundwork for moving forward with Fuller's innovations. People needed to see how his contribution might be mainstreamed. Now that the track is laid, you'll see more steam engines firing up, and more trains recognizable as such (i.e. doing obvious work, and not so disjointed -- unless there're problems with the couplings). Kirby From kirby.urner at gmail.com Mon Jul 24 19:04:39 2006 From: kirby.urner at gmail.com (kirby urner) Date: Mon, 24 Jul 2006 10:04:39 -0700 Subject: [Edu-sig] Recanting In-Reply-To: References: <44C4CEC0.3040904@optonline.com> Message-ID: On 7/24/06, kirby urner wrote: > I tried to hook people in by talking for hours and hours, in public He did, not I. I'm more focused on television, and splicing in the relevant geometry clips. Fuller wanted people to develop "mind's eye" capabilities so sometimes skimped on the visuals (I recall his talk at Hunter College where the assistants started bringing colorful polyhedra onstage and he waved them back into the wings, saying something like "no, not yet, make them use their brains"). Kirby From ajsiegel at optonline.net Mon Jul 24 19:28:30 2006 From: ajsiegel at optonline.net (Arthur) Date: Mon, 24 Jul 2006 13:28:30 -0400 Subject: [Edu-sig] Recanting In-Reply-To: References: <44C4CEC0.3040904@optonline.com> Message-ID: <44C5033E.6090909@optonline.com> kirby urner wrote: > On 7/24/06, kirby urner wrote: > >> I tried to hook people in by talking for hours and hours, in public > > Unfortunately, sometimes that is all they remember. He was the commencement speaker at my sisters law school graduation in1973. She remembers he spoke a long time. Pretty much, period. Logic would dictate that I attended, but I can't recall much. One of those decades, for me. I think that in presenting his ideas one needs to realize that to some extent he is a victim of his success in getting his ideas into the meme pool. Spaceship earth (thinking, say, about the general consciousness regarding the threat of global warming), eco-capitalism (i'm thinking about the success of Whole Foods, off the bat), and other ideas he might have been instrumental in lauching into the general collective idea-pool., seem today, on one hand, rather matter-of-fact and - to those who don't feel like the worst is by any means over - ineffective in changing fundamental things, fundamentally. In the little web research I did this morning I find him being described, with admiration, as someone who was driven mad by the 20th century. I've saved the 21st for that ;) Art Art > He did, not I. > > I'm more focused on television, and splicing in the relevant geometry > clips. Fuller wanted people to develop "mind's eye" capabilities so > sometimes skimped on the visuals (I recall his talk at Hunter College > where the assistants started bringing colorful polyhedra onstage and > he waved them back into the wings, saying something like "no, not yet, > make them use their brains"). > > Kirby > > From ajsiegel at optonline.net Mon Jul 24 20:51:08 2006 From: ajsiegel at optonline.net (Arthur) Date: Mon, 24 Jul 2006 14:51:08 -0400 Subject: [Edu-sig] Recanting In-Reply-To: References: <44C4CEC0.3040904@optonline.com> Message-ID: <44C5169C.4010408@optonline.com> kirby urner wrote: > On 7/24/06, kirby urner wrote: > >> I tried to hook people in by talking for hours and hours, in public > > > He did, not I. > > I'm more focused on television, and splicing in the relevant geometry > clips. Fuller wanted people to develop "mind's eye" capabilities so > sometimes skimped on the visuals (I recall his talk at Hunter College > where the assistants started bringing colorful polyhedra onstage and > he waved them back into the wings, saying something like "no, not yet, > make them use their brains"). Like that, and relevant to my earlier post as to my (in)ability to "see" the working of certain principles of geometry which led me to the building of PyGeo - and the fact that I see *builiding* it as an act of the imagination, the need to do so in some sense a failure of the imagination. Art > Kirby > > From kirby.urner at gmail.com Mon Jul 24 21:14:16 2006 From: kirby.urner at gmail.com (kirby urner) Date: Mon, 24 Jul 2006 12:14:16 -0700 Subject: [Edu-sig] Recanting In-Reply-To: <44C5033E.6090909@optonline.com> References: <44C4CEC0.3040904@optonline.com> <44C5033E.6090909@optonline.com> Message-ID: > In the little web research I did this morning I find him being > described, with admiration, as someone who was driven mad by the 20th > century. > > I've saved the 21st for that ;) > > Art He makes a lot of people batty, but remained himself quite coherent through it all. At no point does he transform into a raving lunatic, which is what happens at the end of some of these great genius stories (Nietzsche, Howard Hughes, Ross Perot, Lyndon LaRouche). However, some, upon cracking the cover of Synergetics, beg to disagree. They don't see it as great American literature (yet). Also, his contribution won't get lost in the whelter of whole foods and banked freeway ramps. The geometric iconography is quite distinctive, much like the Grateful Dead's is/was. The geodesic dome and hexapent are only two motifs in a much more involved composition, complete with jitterbug transformation, inside-outing, other stuff in my Python/VPython hypertoon. But with all of these intellectual currents, it's really about the people, the community, just as Python is a lot about the Python community (Perl about Perl's -- which I'm awed by). I'm one of the players, the one doing to most to build a bridge to/from Python Nation shall we say, but many more are working other angles. Like, there's a workshop going on right now, in Asheville, North Carolina... Kirby From driscollkevin at gmail.com Mon Jul 24 21:41:19 2006 From: driscollkevin at gmail.com (Kevin Driscoll) Date: Mon, 24 Jul 2006 15:41:19 -0400 Subject: [Edu-sig] Python Editor / IDE for HS students Message-ID: <87a8578e0607241241o41291b71t92f1d9cdc00bec12@mail.gmail.com> I'm preparing a new diskimage for a WinXP-based computer lab and deciding the editor or IDE I'll use to teach Python this year. I always include my preference, Vim, but typically my students have used either Textpad or IDLE. Although I like Textpad, I want my lab to be as free as possible so I'm leaning towards SciTE. What are your experiences with editors / IDEs and Python? I've used Eclipse with Java, how is the PyDev plugin? Is there a good editor with method completion and collapsible codeblocks? Flexibility is valuable, because they'll also be using this editor for XHTML / CSS but Python is the most demanding unit. Kevin From kirby.urner at gmail.com Mon Jul 24 22:02:03 2006 From: kirby.urner at gmail.com (kirby urner) Date: Mon, 24 Jul 2006 13:02:03 -0700 Subject: [Edu-sig] Python Editor / IDE for HS students In-Reply-To: <87a8578e0607241241o41291b71t92f1d9cdc00bec12@mail.gmail.com> References: <87a8578e0607241241o41291b71t92f1d9cdc00bec12@mail.gmail.com> Message-ID: Hi Kevin -- I've generally used IDLE as well. I think Vim gets in the way if you don't have the reflexes. With older adults, there's often a strong allegiance to a text editor and it's considered presumptuous for a teacher to specify which one, unless there's a strong rationale for using something special. In the "something special" department, have you considered PyCrust and PyAlaMode? I'm strongly considering teaching GUI Python for my Saturday Academy course this winter, and wxPython has this way of integrating the IDE with the wx event loop that looks very productive. Plus Patrick has all that fancy namespace and and calltip windowing going, in the notebook (bottom half of the screen). He considers it "a toy" but it's all relative. So is an aircraft carrier. The Py stuff wraps Scintilla, as you may know, which many swear by. I think *at minimum* you need color coding, and check to see if all the key words have been colored (not every editor is as up to date as every other, given how Python keeps changing e.g. is 'yield' seen as a keyword?). Kirby On 7/24/06, Kevin Driscoll wrote: > I'm preparing a new diskimage for a WinXP-based computer lab and > deciding the editor or IDE I'll use to teach Python this year. > > I always include my preference, Vim, but typically my students have > used either Textpad or IDLE. Although I like Textpad, I want my lab > to be as free as possible so I'm leaning towards SciTE. > > What are your experiences with editors / IDEs and Python? I've used > Eclipse with Java, how is the PyDev plugin? Is there a good editor > with method completion and collapsible codeblocks? > > Flexibility is valuable, because they'll also be using this editor for > XHTML / CSS but Python is the most demanding unit. > > Kevin > _______________________________________________ > Edu-sig mailing list > Edu-sig at python.org > http://mail.python.org/mailman/listinfo/edu-sig > From ajsiegel at optonline.net Mon Jul 24 22:14:28 2006 From: ajsiegel at optonline.net (Arthur) Date: Mon, 24 Jul 2006 16:14:28 -0400 Subject: [Edu-sig] Python Editor / IDE for HS students In-Reply-To: <87a8578e0607241241o41291b71t92f1d9cdc00bec12@mail.gmail.com> References: <87a8578e0607241241o41291b71t92f1d9cdc00bec12@mail.gmail.com> Message-ID: <44C52A24.1030900@optonline.com> Kevin Driscoll wrote: >I'm preparing a new diskimage for a WinXP-based computer lab and >deciding the editor or IDE I'll use to teach Python this year. > >I always include my preference, Vim, but typically my students have >used either Textpad or IDLE. Although I like Textpad, I want my lab >to be as free as possible so I'm leaning towards SciTE. > > I was a heavy user of Textpad. And switched to SciTE, finding that with good SciTEglobal.properties and python.properties settings it is actually a better environment for Python work than Textpad. One can also do a python.api file to add word completion and call-tips to SciTE. I've gotten fairly deeply into it, as I will be distributing a version of SciTE with PyGeo - even messing a bit with the C++ code. Anything I can do to help you get comfortable with SciTE and Python, please let me know. Art From kirby.urner at gmail.com Mon Jul 24 22:39:36 2006 From: kirby.urner at gmail.com (kirby urner) Date: Mon, 24 Jul 2006 13:39:36 -0700 Subject: [Edu-sig] Python Editor / IDE for HS students In-Reply-To: <44C52A24.1030900@optonline.com> References: <87a8578e0607241241o41291b71t92f1d9cdc00bec12@mail.gmail.com> <44C52A24.1030900@optonline.com> Message-ID: > Anything I can do to help you get comfortable with SciTE and Python, > please let me know. > > Art For gnubees who may not know: the Scintilla code editing widget is what the Py editors in wxPython wrap, *and* it's the basis for the SciTE code editor. So in a lot of ways we're talking about the same thing. Kirby From driscollkevin at gmail.com Mon Jul 24 22:58:48 2006 From: driscollkevin at gmail.com (Kevin Driscoll) Date: Mon, 24 Jul 2006 16:58:48 -0400 Subject: [Edu-sig] Python Editor / IDE for HS students In-Reply-To: References: <87a8578e0607241241o41291b71t92f1d9cdc00bec12@mail.gmail.com> Message-ID: <87a8578e0607241358x1abc8ab9y409fe0673457c289@mail.gmail.com> > I've generally used IDLE as well. I think Vim gets in the way if you > don't have the reflexes. With older adults, there's often a strong > allegiance to a text editor and it's considered presumptuous for a > teacher to specify which one, unless there's a strong rationale for > using something special. In a beginner's course, it's really helpful to have every student using the SAME text editor. Last year, some of my more experienced students were adamant about sticking with IDLE while the rest of us used Textpad. It was a little messy because some kids had a fake-DOS window open to access the interpreter while others were using the interpreter window in IDLE. Visual consistency from my projection to student desktops can help some students through difficult new concepts. I teach a little about vi (and pico/nano) in a unit about bash. I like that they'll be able to find vi(m) on just about any unix/linux/bsd machine they see from now until the end of computing. I'll give Crust/Alamode a look but probably won't include it in this rev of the diskimage though I might use something similar for the spring semester. Last year, instead of going to wxpython for GUI development, we went to CGI programming. The kids already had a sophisticated understanding of XHTML/CSS so they could make Python to generate XHTML code pretty quickly. There they learned about many conventional windows components via XHTML forms. Art, thanks for the support on SciTE, I'll let you know how it goes. Kevin From johannes.wollard at gmail.com Mon Jul 24 23:03:41 2006 From: johannes.wollard at gmail.com (Johannes Woolard) Date: Mon, 24 Jul 2006 22:03:41 +0100 Subject: [Edu-sig] Python Editor / IDE for HS students In-Reply-To: <87a8578e0607241241o41291b71t92f1d9cdc00bec12@mail.gmail.com> References: <87a8578e0607241241o41291b71t92f1d9cdc00bec12@mail.gmail.com> Message-ID: <10c99c2a0607241403u2428f957t26f12fbef6e05e10@mail.gmail.com> > What are your experiences with editors / IDEs and Python? I've used > Eclipse with Java, how is the PyDev plugin? Is there a good editor > with method completion and collapsible codeblocks? > I personally use PyDev for all my Python work these days. [In my opinion] It has excellent codeblock support, very good code completion (as good as you would expect in the C/C++ world!) and excellent code summary support (class/module browser). I only have two gripes: Its memory usage - which you'll probably be familiar with if you've used it with Java in the past, and the fact that it is horribly slow for some tasks (startup...) under Linux. I started using Eclipse mainly because of its excellent integration with pdb. I would go so far as to say that for "ease of use" it beats Visual Studio or any other commercial environment I've used. > Flexibility is valuable, because they'll also be using this editor for > XHTML / CSS but Python is the most demanding unit. The "Eclipse Web Tools Platform" has a decent xml editor and html validation - I'm not sure about CSS though. I would certainly recommend PyDev - although it would probably need an introduction for those students not familiar with an IDE. ...Just a couple of thoughts Johannes -- Johannes Woolard, Entz Rep, Oriel College, Oxford, UK mobile: 07837880296 From kirby.urner at gmail.com Mon Jul 24 23:16:07 2006 From: kirby.urner at gmail.com (kirby urner) Date: Mon, 24 Jul 2006 14:16:07 -0700 Subject: [Edu-sig] Signature Building Blocks Message-ID: If there's a signature Fuller polyhedron, it's probably the Coupler: >>> import syngeom >>> mypoly = syngeom.Coupler() >>> mypoly.volume 1 >>> mypoly.isaspacefiller True Some immediately object no fair gluing together already known pieces and *naming* them. But it's not a priority game, it's a getting work done game, and we need to call them something or other, so why not Coupler, since it's already nicely sorted out: >>> amightyMite = syngeom.Mite() >>> amightyMite.volume 0.125 >>> amightyMite.modules [A,-A,-B] >>> [i.volume for i in amightyMite.modules] [0.041666666666666664, 0.041666666666666664, 0.041666666666666664] MITE is an acronym from MInimum TEtrahedron, an irregular tetrahedron with a 90-90-90 XYZ corner that's able to fill the 8 corners of the XYZ coordinating apparatus, thereby putting the Coupler center right at the origin (0,0,0). However the Coupler is a bit deceptive in that it's really more of an interface between neighboring rhombic dodecahedra: >>> ballcase = syngeom.RhDodeca() >>> ballcase.volume 6 Plus it works to see it as coupling around all three equators in various ways (the Coupler being an octahedron): >>> mypoly.faces 8 At my web site: http://www.grunch.net/synergetics/modules.html More in my blog: Half-Coupler: http://worldgame.blogspot.com/2005/11/half-coupler.html Coupler: http://worldgame.blogspot.com/2004/12/more-geometry-of-thinking.html Kirby From kirby.urner at gmail.com Mon Jul 24 23:37:19 2006 From: kirby.urner at gmail.com (kirby urner) Date: Mon, 24 Jul 2006 14:37:19 -0700 Subject: [Edu-sig] Python Editor / IDE for HS students In-Reply-To: <87a8578e0607241358x1abc8ab9y409fe0673457c289@mail.gmail.com> References: <87a8578e0607241241o41291b71t92f1d9cdc00bec12@mail.gmail.com> <87a8578e0607241358x1abc8ab9y409fe0673457c289@mail.gmail.com> Message-ID: > In a beginner's course, it's really helpful to have every student > using the SAME text editor. Last year, some of my more experienced I agree. On the other hand, computer labs are in general difficult to manage, because the culture is so much about multitasking and doing your own thing. However, during a programmed activity, it's not too much to ask a student to use this or that teacher-selected text editor *for awhile.* Regarding Vim, I make sure my students know that one skill some star in is running a mean VI, switching windows, searching at break-neck speeds, generally making the screen a blur unless you read code as fast as they do. OK to invest in that, but on your own time please. This is not the place to bone up on a thousand quirky shortcuts. > students were adamant about sticking with IDLE while the rest of us > used Textpad. It was a little messy because some kids had a fake-DOS > window open to access the interpreter while others were using the > interpreter window in IDLE. Visual consistency from my projection to > student desktops can help some students through difficult new > concepts. There's a lot to be said for IDLE. Because it's not just a question of which text editor, it's a question of which shell. My beginning Python is very shell intensive. We don't even mention text editing at first. > I teach a little about vi (and pico/nano) in a unit about bash. I > like that they'll be able to find vi(m) on just about any > unix/linux/bsd machine they see from now until the end of computing. > I like the ring for a book title: "The End of Computing: The Day VI Died" (but is a favorite editor really dead -- only if it no longer runs I suppose, implying a different OS). > I'll give Crust/Alamode a look but probably won't include it in this > rev of the diskimage though I might use something similar for the > spring semester. Yes, it think it'd be useful if the class were about wxPython programming, but I don't think of that as a beginner topic, although I'm thinking how it could be, maybe. Working with these kids is a lot like working with adults: they come in the door already all over the map, in terms of prior experience. Back to what's hard about managing a computer lab. > Last year, instead of going to wxpython for GUI development, we went > to CGI programming. The kids already had a sophisticated > understanding of XHTML/CSS so they could make Python to generate XHTML > code pretty quickly. There they learned about many conventional > windows components via XHTML forms. I think that's a great approach. The goal is to quickly get to realism, so they see how these classroom skills are actually connecting to what they encounter every day in computer world. Taking server-side programmatic control in Python can be an exhilerating first experience in "real world" gnu math. Kirby From ajsiegel at optonline.net Tue Jul 25 18:06:03 2006 From: ajsiegel at optonline.net (Arthur) Date: Tue, 25 Jul 2006 12:06:03 -0400 Subject: [Edu-sig] Recanting In-Reply-To: References: <44C4CEC0.3040904@optonline.com> <44C5033E.6090909@optonline.com> Message-ID: <44C6416B.6090307@optonline.com> kirby urner wrote: > > But with all of these intellectual currents, it's really about the > people, the community, just as Python is a lot about the Python > community (Perl about Perl's -- which I'm awed by). I'm one of the > players, the one doing to most to build a bridge to/from Python Nation > shall we say, but many more are working other angles. Seems to put some of us at a disadvantage. This "Genius and their Posse" stuff is a lot of what seems to go on. You seem - from my perspective - to be immersed in it, and comfortable with it, and have names set aside for those of us who aren't. If I thought of it as a neutral current I could live with it better. It feels to me like an anti-intellectual current,.And worse than that. What I take away from the 20th century is something about dehumanization. I see hero worship as a form of exactly that. It seems to be important to you that every school child know the name of Fuller, and Guido, and Kay. Pata Pata was built on the "shoulders of giants", indeed. Thousands of them content to write and contri bute their device drivers, and move on - metaphorically speaking. I resent this Genius thrust, and particularly resent being resented it for resenting it. Art From kirby.urner at gmail.com Tue Jul 25 18:56:33 2006 From: kirby.urner at gmail.com (kirby urner) Date: Tue, 25 Jul 2006 09:56:33 -0700 Subject: [Edu-sig] Recanting In-Reply-To: <44C6416B.6090307@optonline.com> References: <44C4CEC0.3040904@optonline.com> <44C5033E.6090909@optonline.com> <44C6416B.6090307@optonline.com> Message-ID: On 7/25/06, Arthur wrote: > What I take away from the 20th century is something about > dehumanization. I see hero worship as a form of exactly that. It seems > to be important to you that every school child know the name of Fuller, > and Guido, and Kay. Pata Pata was built on the "shoulders of giants", > indeed. Thousands of them content to write and contribute their device > drivers, and move on - metaphorically speaking. I respect the right of young people to do their own R&D, follow their own hearts in their studies. Even my closest family doesn't get earfulls about Bucky very often. Dawn's like "just show me the green." However, if they should come across our Fuller School, I want them to find a tidy operating environment, well equipped for many purposes. It has a "getting work done in a design studio" flavor. We want you to have a lot of useful tools, other artifacts. But that doesn't mean every kid has to linger here, worship here or whatever. Why? Just take what you need and get going. Come back and visit someday, or don't, we'll be here. > I resent this Genius thrust, and particularly resent being resented it > for resenting it. > > Art > I hadn't really tuned you in as resenting hero worship in principle, as the hallmark of the 20th century's deep ills, but now that you've furnished this puzzle piece, I shall keep it in mind. I think you're suspicious of my earlier statement, that I'm into bringing some of this information to places of apathy or even active diswelcome. Sounds likes religious prostelytizing perhaps, which my brand of Quaker is actually not into. But more I'm claiming my right to use public channels, such as satellite transponders, like Rupert Murdoch does, first and foremost to serve his faithful fellow believers, like on Fox News, and secondarily to air some wonderful cartoon shows the rest of us might enjoy. Our Fuller School stuff is already out there, already propagandizing (Montreal Skeleton, Epcot MouseHead). But it's more the eerie ghost town look, fatiguing, with turn back signs for tourists (you've probably been on this ride -- Disney is good at it, comes from a Wild West meme pool). Still, despite all this apathy and/or even antipathy, we have a right to the public systems, and shout "Make Way" "Make Way" as we haul our Queen through some Icey Reception Forest. This may seem to conflict with my earlier, welcoming "design studio" talk, but it isn't. People have a right to feel negative towards our School, in which case there's a "shields up" aspect to it, in which case said Narnia imagery or whatever (more in my blog). I assert my right to go public with my data. How the cookie crumbles I don't need to control, but in a healthy democracy, I would expect many to take exception to this that or the other my school puts out. And if you wan't to be one of those, why not? Doesn't mean we have to disagree on everything else down the line. We both admire and respect Klein at least. But I'd think with your interest in geometry, you'd already appreciate the utility of our Couplers and our Pythonic math-like approach to our god (Athena, temple in Nashville). Kirby From andre.roberge at gmail.com Tue Jul 25 23:34:37 2006 From: andre.roberge at gmail.com (Andre Roberge) Date: Tue, 25 Jul 2006 18:34:37 -0300 Subject: [Edu-sig] Crunchy name Message-ID: <7528bcdd0607251434i4dc7bfd8qc337dc5dccc19867@mail.gmail.com> Hi everyone, seeing that the name "Crunchy Frog" originated on this list (thanks Dethe), I thought I should point those interested in a potential name change to this discussion: http://ask.metafilter.com/mefi/42943 We now resume our regularly scheduled program. Andr? From delza at livingcode.org Wed Jul 26 00:23:09 2006 From: delza at livingcode.org (Dethe Elza) Date: Tue, 25 Jul 2006 15:23:09 -0700 Subject: [Edu-sig] Crunchy name In-Reply-To: <7528bcdd0607251434i4dc7bfd8qc337dc5dccc19867@mail.gmail.com> References: <7528bcdd0607251434i4dc7bfd8qc337dc5dccc19867@mail.gmail.com> Message-ID: <44C699CD.2020807@livingcode.org> Hi Andre, I'm not a metafilter member, so I'm going to post my suggestions here. Someone wanted a name which makes an acronym, a la GIMP: Crunchy Refined Interactive Python Tutorials (CRIPT) or there's the Web2.0ish: Crunchr (only 345 Google hits) But I also like Crunchy Python, which seems to be the mefi favorite. --Dethe From kirby.urner at gmail.com Wed Jul 26 02:49:59 2006 From: kirby.urner at gmail.com (kirby urner) Date: Tue, 25 Jul 2006 17:49:59 -0700 Subject: [Edu-sig] Crunchy name In-Reply-To: <44C699CD.2020807@livingcode.org> References: <7528bcdd0607251434i4dc7bfd8qc337dc5dccc19867@mail.gmail.com> <44C699CD.2020807@livingcode.org> Message-ID: On 7/25/06, Dethe Elza wrote: > But I also like Crunchy Python, which seems to be the mefi favorite. > > --Dethe Yeah, I suppose Crunchy Python ain't bad, though that gives me the idea of "eating Python" (as in learning it). Someone will come up with Smooth Python in that case, as in the USA anyway, Crunchy is highly associated with Peanut Butter, which comes in two major varieties: Crunchy and Smooth. Anyway, if the tutorials are about Python, then yes, eating Python is apt. However, your web framework might be used for anything interactive and web based. Something like Python Presents or PowerPython (a riff on PowerPoint) might be in order. Other names like ShowTime, PythonPresenter, and SnakeShow might be considered. However, you seem especially tied to this word Crunchy and if that's your pick, just be aware of whom you neighbors will likely be (other Crunchy animals, to start -- implying Pythons eat a lot of other things, like frogs, not just themselves). Kirby From kirby.urner at gmail.com Wed Jul 26 07:18:53 2006 From: kirby.urner at gmail.com (kirby urner) Date: Tue, 25 Jul 2006 22:18:53 -0700 Subject: [Edu-sig] Signature Building Blocks In-Reply-To: References: Message-ID: > More in my blog: > > Half-Coupler: > http://worldgame.blogspot.com/2005/11/half-coupler.html > > Coupler: > http://worldgame.blogspot.com/2004/12/more-geometry-of-thinking.html > > Kirby Plus later @ Math Forum: Coupler Construction: http://mathforum.org/kb/thread.jspa?threadID=1419958 Kirby From kirby.urner at gmail.com Thu Jul 27 21:05:17 2006 From: kirby.urner at gmail.com (kirby urner) Date: Thu, 27 Jul 2006 12:05:17 -0700 Subject: [Edu-sig] Crunchy Fibonaccis Message-ID: We've many times visited the Fibonaccis on this list. In the general case, we start with any two numbers (the seed pair) and add them to get the next in series, and so on, always adding the most recent two to get the next in line. Obviously, the Python generator is perfect for this, as it remembers state between invocations (we invoke with .next() -- the standard method for iterators in general). New with Python 2.5 comes the ability to use the pause at "yield" to send in some new grist for the mill -- let's say a new (a,b) seed pair. Here's what that looks like: >>> def fibolater(a,b): while True: t = (yield a) if t is not None: a,b = t a,b = b, a + b >>> f = fibolater(0,1) >>> f.next() 0 >>> f.next() 1 >>> f.next() 1 >>> f.next() 2 >>> f.next() 3 >>> f.next() 5 >>> f.send((12,13)) 13 >>> f.next() 25 >>> f.next() 38 >>> f.next() 63 The punch line with the Phi-bonaccis is f.next()/f.next() -- and yes, that's legal Python -- approaches 1/phi. >>> from __future__ import division >>> f.next()/f.next() 0.61771561771561767 >>> f.next()/f.next() 0.61798753339269819 >>> f.next()/f.next() 0.61802721088435375 >>> f.next()/f.next() 0.6180329998700792 >>> f.next()/f.next() 0.61803384447421961 >>> f.next()/f.next() 0.61803396770035635 >>> f.next()/f.next() 0.61803398567880852 Note: phi = (1 + pow(5, 0.5))/2 Related reading: http://mathforum.org/kb/message.jspa?messageID=3867841 (re the NCLB Polynomial from my Pentagon Math). Kirby From andre.roberge at gmail.com Thu Jul 27 21:23:14 2006 From: andre.roberge at gmail.com (Andre Roberge) Date: Thu, 27 Jul 2006 16:23:14 -0300 Subject: [Edu-sig] Crunchy Fibonaccis In-Reply-To: References: Message-ID: <7528bcdd0607271223r76483d80x8a5e77ec2e57d4d3@mail.gmail.com> Nice! Now, put this example on a webpage, with the function definition inside a
,
add a simple html tag so that it becomes
and it will be truly deserving of the epithet "crunchy"  ;-)

More serious comment below.

On 7/27/06, kirby urner  wrote:
> We've many times visited the Fibonaccis on this list.
>
[snip]
>
> >>> def fibolater(a,b):
>         while True:
>                 t = (yield a)
>                 if t is not None:
>                         a,b = t
>                 a,b = b, a + b
>
>
[snip]
>
> The punch line with the Phi-bonaccis is f.next()/f.next() -- and yes,
> that's legal Python -- approaches 1/phi.

Is the "order of operation" (i.e. first evaluated is the left-most
one) always guaranteed
to be that by Python?  Or is it only guaranteed by the current CPython
version?...

I seem to recall, from many years in the past, that some language (C,
I believe...) allowed
statements like:
i = 1
a = 2*i++  +  i++
but that the order of execution (i.e. which "i++" is executed first)
could not be guaranteed...
(Quiz: what is "a" equal to? )

Anyone knows?  (for Python I mean...)

Andr?

From kirby.urner at gmail.com  Thu Jul 27 21:32:32 2006
From: kirby.urner at gmail.com (kirby urner)
Date: Thu, 27 Jul 2006 12:32:32 -0700
Subject: [Edu-sig] Crunchy Fibonaccis
In-Reply-To: <7528bcdd0607271223r76483d80x8a5e77ec2e57d4d3@mail.gmail.com>
References: 
	<7528bcdd0607271223r76483d80x8a5e77ec2e57d4d3@mail.gmail.com>
Message-ID: 

> (Quiz: what is "a" equal to? )
>
> Anyone knows?  (for Python I mean...)
>
> Andr?
>

I believe it's indigenous behavior, not unique to CPython.

Also:  a, b = b, a is legal in Python (no need for a temp).

Kirby

From mpaul at bhusd.k12.ca.us  Fri Jul 28 02:02:48 2006
From: mpaul at bhusd.k12.ca.us (Michel Paul)
Date: Thu, 27 Jul 2006 17:02:48 -0700
Subject: [Edu-sig] digits of pi
Message-ID: <06542978400EC4469ADBDE519E8C14420D0D45@mail2.bhusd.k12.ca.us>

When a student first sees Long integer capabilities a question often is "How many digits of pi can it show?"  There's a slight disappointment when they find out that though there's a Long integer, there is no Long decimal.  I would like to be able to show them a good way to compute a list of an arbitrary number of digits in the decimal expansion of of pi.  I think they might find that interesting.

Any recommendations for a good way to do this?

I'd like to implement a math/CS class utilizing Python.  As it turns out, I will have a group of students next fall where I can explore things like this.  I appreciate the ideas that appear on this list, like the Phi-bonaccis.

Also - I'd be interested in some ideas for Python Shell explorations with students.  I would like students to see how you could use this as a really super scientific calculator.  And, aside from strictly numeric stuff - how you could make truth tables and things that you normally can't do on a typical calculator.  

I'd like to weave some Python lab days into my regular math classes.  A lot of students in a math class turn off to the idea of programming, because they regard it as more "work", but doing some effective Shell explorations might make them take enough interest to want to add their own functionality to this bizarre calculator.  And it's free!  Why spend the $ when you can just download it and go?

Thanks,

Michel Paul

 






From tim.peters at gmail.com  Fri Jul 28 02:38:17 2006
From: tim.peters at gmail.com (Tim Peters)
Date: Thu, 27 Jul 2006 20:38:17 -0400
Subject: [Edu-sig] Crunchy Fibonaccis
In-Reply-To: <7528bcdd0607271223r76483d80x8a5e77ec2e57d4d3@mail.gmail.com>
References: 
	<7528bcdd0607271223r76483d80x8a5e77ec2e57d4d3@mail.gmail.com>
Message-ID: <1f7befae0607271738i452b5a57s26e04f0efc3cf532@mail.gmail.com>

[Andre Roberge]
> Is the "order of operation" (i.e. first evaluated is the left-most
> one) always guaranteed to be that by Python?  Or is it only guaranteed
> by the current CPython version?...

It's definitely Guido's /intent/ that "left to right" be strictly
followed in all Python implementations, although I'm not sure the
language reference manual states this strongly enough that someone
from Mars could pick that up.

> I seem to recall, from many years in the past, that some language (C,
> I believe...) allowed
> statements like:
> i = 1
> a = 2*i++  +  i++
> but that the order of execution (i.e. which "i++" is executed first)
> could not be guaranteed...

Most languages don't define order of evaluation (C, Fortran, Scheme,
...).  This was to give optimization a chance to reorder operations
for low-level machine efficiency.  Python is so far from the HW that
it doesn't really matter ;-)

> (Quiz: what is "a" equal to? )

Not defined in C.

From tim.peters at gmail.com  Fri Jul 28 03:27:48 2006
From: tim.peters at gmail.com (Tim Peters)
Date: Thu, 27 Jul 2006 21:27:48 -0400
Subject: [Edu-sig] digits of pi
In-Reply-To: <06542978400EC4469ADBDE519E8C14420D0D45@mail2.bhusd.k12.ca.us>
References: <06542978400EC4469ADBDE519E8C14420D0D45@mail2.bhusd.k12.ca.us>
Message-ID: <1f7befae0607271827x4be589b6t2f860c6f0d7d1962@mail.gmail.com>

[Michel Paul]
> When a student first sees Long integer capabilities a question often is "How many
> digits of pi can it show?"  There's a slight disappointment when they find out that
> though there's a Long integer, there is no Long decimal.

The newish `decimal` module has user-settable precision, although it's
more educational to use integers.  See the pi() function at:

    http://docs.python.org/dev/lib/decimal-recipes.html

> I would like to be able to show them a good way to compute a list of an arbitrary
> number of digits in the decimal expansion of of pi.  I think they might find that
> interesting.

See the very old Demo/scripts/pi.py in a Python distribution -- it's
one of the first things Guido coded in Python.  Although I'm
considered a numerical expert, I still have no idea how it works :-)

An enormous number of ways you /could/ proceed:

    http://mathworld.wolfram.com/PiFormulas.html

From kirby.urner at gmail.com  Fri Jul 28 07:08:29 2006
From: kirby.urner at gmail.com (kirby urner)
Date: Thu, 27 Jul 2006 22:08:29 -0700
Subject: [Edu-sig] HexaPents Again (bonus feature)
Message-ID: 

Framework:  HexaPents in VPython (back to using Python 2.4)

Re:  http://www.4dsolutions.net/ocn/hexapent.html  (recently modified).

So Adrian (author of open source Packinon) tells me you need to twist
it that way to make the hexagons lie flat.

The Rick Bono way (dome.exe -sb), of punching out faces in a Class I
icosasphere (Fig 2), gives hexagonal and pentagonal regions, but not
with a flat horizon, or so goes the tale.

I've taken the OFF file generated by Packinon, intermediate to the
POV-Ray file used for the rendering (Fig 1), and fed it through my
neighbor finder (brute force) to come up with a globalmatrix data
structure, per my posts earlier this month.

This data structure is used in tandem with a VPython rendering of the
hexapent itself (in terms of edges -- I keep a handle on all of them
to facilitate easy resizing and recoloring).

The demo starts somewhere, then randomly flits about the globe,
turning the current hexagon (or pentagon) red, and leaving those
visited green (Fig 3).

White is the default (untouched) color.

You can study a random walk and see how many cycles, on average, you
might need to turn the whole sphere green -- other games (I'm sure
you'll think of some, if you get into it).

Kirby

From john.zelle at wartburg.edu  Fri Jul 28 21:39:23 2006
From: john.zelle at wartburg.edu (John Zelle)
Date: Fri, 28 Jul 2006 14:39:23 -0500
Subject: [Edu-sig] digits of pi
In-Reply-To: <1f7befae0607271827x4be589b6t2f860c6f0d7d1962@mail.gmail.com>
References: <06542978400EC4469ADBDE519E8C14420D0D45@mail2.bhusd.k12.ca.us>
	<1f7befae0607271827x4be589b6t2f860c6f0d7d1962@mail.gmail.com>
Message-ID: <200607281439.23268.john.zelle@wartburg.edu>

Here's a generator I coded up based on a paper by Gibbons:
   http://web.comlab.ox.ac.uk/oucl/work/jeremy.gibbons/publications/spigot.pdf

It's simple to code, but I think you have to read the paper to figure out what 
it's doing. (I just translated some code, so I really can't tell you :-) In 
the paper, this was done in a lazy functional language. I was mostly 
interested to see how it would translate to a Python generator.

# pi.py -- imlementation of Gibbons' spigot algorithm for pi
#  John Zelle 4-5-06

def pi_digits():
    """generator for digits of pi"""
    q,r,t,k,n,l = 1,0,1,1,3,3
    while True:
        if 4*q+r-t < n*t:
            yield n
            q,r,t,k,n,l = (10*q,10*(r-n*t),t,k,(10*(3*q+r))/t-10*n,l)
        else:
            q,r,t,k,n,l = (q*k,(2*q+r)*l,t*l,k+1,(q*(7*k+2)+r*l)/(t*l),l+2)

Here it is in action:

>>> import pi
>>> digits = pi.pidigits()
>>> for i in range(30): print digits.next(),
...
3 1 4 1 5 9 2 6 5 3 5 8 9 7 9 3 2 3 8 4 6 2 6 4 3 3 8 3 2 7
>>>     

Since this uses long ints, it slows down considerably after a few thousand 
digits. You might want to use psyco when generating really "deep" digits.

--John


 The 
On Thursday 27 July 2006 8:27 pm, Tim Peters wrote:
> [Michel Paul]
>
> > When a student first sees Long integer capabilities a question often is
> > "How many digits of pi can it show?"  There's a slight disappointment
> > when they find out that though there's a Long integer, there is no Long
> > decimal.
>
> The newish `decimal` module has user-settable precision, although it's
> more educational to use integers.  See the pi() function at:
>
>     http://docs.python.org/dev/lib/decimal-recipes.html
>
> > I would like to be able to show them a good way to compute a list of an
> > arbitrary number of digits in the decimal expansion of of pi.  I think
> > they might find that interesting.
>
> See the very old Demo/scripts/pi.py in a Python distribution -- it's
> one of the first things Guido coded in Python.  Although I'm
> considered a numerical expert, I still have no idea how it works :-)
>
> An enormous number of ways you /could/ proceed:
>
>     http://mathworld.wolfram.com/PiFormulas.html
> _______________________________________________
> Edu-sig mailing list
> Edu-sig at python.org
> http://mail.python.org/mailman/listinfo/edu-sig

-- 
John M. Zelle, Ph.D.             Wartburg College
Professor of Computer Science    Waverly, IA     
john.zelle at wartburg.edu          (319) 352-8360  

From da.ajoy at gmail.com  Sat Jul 29 17:56:23 2006
From: da.ajoy at gmail.com (Daniel Ajoy)
Date: Sat, 29 Jul 2006 10:56:23 -0500
Subject: [Edu-sig] digits of pi
In-Reply-To: 
References: 
Message-ID: <44CB3ED7.6225.2B2F2203@da.ajoy.gmail.com>

On 29 Jul 2006 at 12:00, edu-sig-request at python.org wrote:

> From: John Zelle 
> Subject: Re: [Edu-sig] digits of pi
> 
> Here's a generator I coded up based on a paper by Gibbons:
>    http://web.comlab.ox.ac.uk/oucl/work/jeremy.gibbons/publications/spigot.pdf
> 
> It's simple to code, but I think you have to read the paper to figure out what 
> it's doing. (I just translated some code, so I really can't tell you :-) In 
> the paper, this was done in a lazy functional language. I was mostly 
> interested to see how it would translate to a Python generator.

Are both things: Python generators and lazy evaluation, two 
different tools that solve the same domain of problems?

Daniel


From kirby.urner at gmail.com  Sat Jul 29 18:14:23 2006
From: kirby.urner at gmail.com (kirby urner)
Date: Sat, 29 Jul 2006 09:14:23 -0700
Subject: [Edu-sig] digits of pi
In-Reply-To: <44CB3ED7.6225.2B2F2203@da.ajoy.gmail.com>
References: 
	<44CB3ED7.6225.2B2F2203@da.ajoy.gmail.com>
Message-ID: 

> Are both things: Python generators and lazy evaluation, two
> different tools that solve the same domain of problems?
>
> Daniel
>

They're definitely in the same domain, and a generator may be viewed
as a lazy evaluator.

The business term for these things is JIT (just in time), a principle
used in source code evaluation as well.

It's *not* always an advantage for some busy bee resource hog to run
out ahead and evaluate the next 20 million prime numbers, if you're
really only needing another five or ten of them.

A lazy evaluator compresses enough knowledge (we hope) to spit back a
*next* in sequence, without overloading the processor with a bunch of
extraneous results.

What I see as a pitfall of lazy evaluation is identified by
Wittgenstein as well:  this tendency to see a machine for generating
the next in sequence, and taking that as some mystical validation for
infinity, as in "the terms are already all there, in the machinery."

These mystics waste clock cycles boasting about how *their* language
already has all the natural numbers built in, etc. etc. At least in
Python the syntax reminds us we've been handed a state machine, not a
finished sequence.

My advice:  ignore these mystics, at least when they've had too much to drink.

Kirby

From kirby.urner at gmail.com  Sun Jul 30 06:01:27 2006
From: kirby.urner at gmail.com (kirby urner)
Date: Sat, 29 Jul 2006 21:01:27 -0700
Subject: [Edu-sig] digits of pi
In-Reply-To: 
References: <06542978400EC4469ADBDE519E8C14420D0D45@mail2.bhusd.k12.ca.us>
	<1f7befae0607271827x4be589b6t2f860c6f0d7d1962@mail.gmail.com>
	<200607281439.23268.john.zelle@wartburg.edu>
	
Message-ID: 

Also, Art, I wonder if you've heard anything about Pohlke's Theorem.
I looked it up and it seemed like a projective geometry thing.  I
mentioned on math-teach that I'd be running it by you (but of course
feel free to pass -- I did, for now (busy with hexapents etc.)):
http://mathforum.org/kb/message.jspa?messageID=4947994

Kirby

On 7/29/06, kirby urner  wrote:
> On 7/28/06, John Zelle  wrote:
> > Here's a generator I coded up based on a paper by Gibbons:
> >    http://web.comlab.ox.ac.uk/oucl/work/jeremy.gibbons/publications/spigot.pdf
>
> << SNIP >>
> > # pi.py -- imlementation of Gibbons' spigot algorithm for pi
> > #  John Zelle 4-5-06
>
> I made note of this post by John Zelle over on the Math Forum:
> http://mathforum.org/kb/message.jspa?messageID=4968441
>
> Don't be alarmed that the Python source has all the whitespace sucked
> away, an artifact of the web display program.  The underlying
> plaintext has it right (optional view) plus I link back to here, where
> Python Mailman does a better job.
>
> http://www.gnu.org/software/mailman/index.html
>
> Kirby
>

From ajsiegel at optonline.net  Sun Jul 30 09:20:30 2006
From: ajsiegel at optonline.net (ajsiegel at optonline.net)
Date: Sun, 30 Jul 2006 07:20:30 +0000 (GMT)
Subject: [Edu-sig] digits of pi
In-Reply-To: 
References: <06542978400EC4469ADBDE519E8C14420D0D45@mail2.bhusd.k12.ca.us>
	<1f7befae0607271827x4be589b6t2f860c6f0d7d1962@mail.gmail.com>
	<200607281439.23268.john.zelle@wartburg.edu>
	
	
Message-ID: 

HI Kirby - Never had heard of Pohlke's Theorem.? But a liitle research indicates that Pohlke taught at an art school, and his theorem was connected to art instruction - actually the kind of thing that intrigues me, in the math, programming, art,? liberal arts, let's all be friends vein.And the little? research as to Pohlke Theorem for some reason brought up this article:Drawing with Complex Numbers:http://arxiv.org/abs/math.MG/0001097coauthored by Roger Penrose.Which is another interest of mine/facility of PyGeo.? Also something that the famous (in the Python community) Fredrik Lundh? -? author of the Python Imaging Library - had touched upon in his blog at one point.Got lot's of time to kill today traveling home from Europe (from a quick business trip) so hopefully will have some time to play with these things, and report back at some point.Art----- Original Message -----From: kirby urner Date: Sunday, July 30, 2006 12:02 amSubject: Re: [Edu-sig] digits of piTo: "edu-sig at python.org" > Also, Art, I wonder if you've heard anything about Pohlke's Theorem.> I looked it up and it seemed like a projective geometry thing.  I> mentioned on math-teach that I'd be running it by you (but of course> feel free to pass -- I did, for now (busy with hexapents etc.)):> http://mathforum.org/kb/message.jspa?messageID=4947994> > Kirby> > On 7/29/06, kirby urner  wrote:> > On 7/28/06, John Zelle  wrote:> > > Here's a generator I coded up based on a paper by Gibbons:> > >    > http://web.comlab.ox.ac.uk/oucl/work/jeremy.gibbons/publications/spigot.pdf>> > << SNIP >>> > > # pi.py -- imlementation of Gibbons' spigot algorithm for pi> > > #  John Zelle 4-5-06> >> > I made note of this post by John Zelle over on the Math Forum:> > http://mathforum.org/kb/message.jspa?messageID=4968441> >> > Don't be alarmed that the Python source has all the whitespace > sucked> away, an artifact of the web display program.  The underlying> > plaintext has it right (optional view) plus I link back to > here, where> > Python Mailman does a better job.> >> > http://www.gnu.org/software/mailman/index.html> >> > Kirby> >> _______________________________________________> Edu-sig mailing list> Edu-sig at python.org> http://mail.python.org/mailman/listinfo/edu-sig> 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.python.org/pipermail/edu-sig/attachments/20060730/faccbf52/attachment.htm 

From kirby.urner at gmail.com  Sun Jul 30 20:29:07 2006
From: kirby.urner at gmail.com (kirby urner)
Date: Sun, 30 Jul 2006 11:29:07 -0700
Subject: [Edu-sig] Game of Life on a Hexapent
Message-ID: 

I've added a minimalist web page to my CP4E collection:

http://www.4dsolutions.net/ocn/life.html

I'm still looking for possible errors in logic, as my "no change = 4"
rule was netting me some "ghost edges" (somewhere between alive and
dead).  When I further simplified and refactored, plus tweaked the
rules, the results looked better.

I need to go back and look at that "no change" rule again.

Because alive and dead cells share edges, I expire first, then draw
births.  Any unchanged alive cell should also be redrawn.

If you've programmed the game of life before, you'll already know how
handy it is to have a data structure that just gives you a cell's
neighbors with a simple name lookup.  No fancy tricks with indexing
(blech).

The main job of a cell class in this implementation is to
self-colorize, by first distilling edges from the face-tuple (=
self.address i.e. name), and then turning them the appropriate color
(because edge verts are sorted, they're also unique handles to VPython
cylinder objects).

If you download Adrian's Packinon, you can generate a higher frequency
ball as an OFF file (in geodesic -c 2,3 2 | pol_recip | off_util -O >
output.off, up that 2nd 2 to like 3) and all the same source code
*should* work (but I haven't tested it yet).

Kirby

From kirby.urner at gmail.com  Sun Jul 30 22:23:50 2006
From: kirby.urner at gmail.com (kirby urner)
Date: Sun, 30 Jul 2006 13:23:50 -0700
Subject: [Edu-sig] Game of Life on a Hexapent
In-Reply-To: 
References: 
Message-ID: 

On 7/30/06, kirby urner  wrote:

> I need to go back and look at that "no change" rule again.
>

Seems OK if I just go:

        for tile in gameboard.keys():

            alive_n = 0  # number of alive neighbors
            alive_s = gameboard[tile]  # get whether current cell is alive
            neighbors = globalmatrix[tile]

            # count living neighbors (if any)
            for n in neighbors:
                if gameboard[n]:
                    alive_n += 1

            # current rules of life (adjust to suit)
            # e.g. you may want a "no change in state" neutral value

            if alive_n in [0,1]:
                nextme = False

            elif alive_n in [2,3]:
                nextme = True

            elif alive_n == 4:
                if alive_s:
                    nextme = True  # keep me the way I am
                else:
                    nextme = False # ditto

            elif alive_n in [5,6]:
                nextme = False

            if nextme == True:
                alive.append(tile)
            else:
                dead.append(tile)

But I don't like the evolutionary pattern as much.  Gets too crowded
too quickly.

In general, with life propagating everywhichway around a ball, the
tendency seems to be a chaotic but self-sustainable mess within short
order, starting from just one pentagon and its five neighbors.

I haven't yet discovered any so-called gliders or whatever, and it's
already time to move on to other projects.

> If you download Adrian's Packinon, you can generate a higher frequency
> ball as an OFF file (in geodesic -c 2,3 2 | pol_recip | off_util -O >
> output.off, up that 2nd 2 to like 3) and all the same source code
> *should* work (but I haven't tested it yet).

I just tried this, and yes, it all worked with no changes (Fig 3).

VPython will get sluggish as the number of edges increases
exponentially, plus the globalmatrix dictionary takes longer to build.

Kirby

From james at dis-dot-dat.net  Mon Jul 31 14:42:54 2006
From: james at dis-dot-dat.net (james at dis-dot-dat.net)
Date: Mon, 31 Jul 2006 13:42:54 +0100
Subject: [Edu-sig] A python teaching success
Message-ID: <20060731124254.GK12427@fitz.Belkin>

Hi all.

   This last academic year, we used Python for the first time in our
   introductory programming modules.

   This is in place of Java (horrible first language, IMNSHO).

   It went VERY well.  We've just had our external examiner's report
   and I got so excited, I blogged it and then ran here to yell about
   it.

   http://blog.dis-dot-dat.net/2006/07/we-officially-rock.html

   :)

James



From driscollkevin at gmail.com  Mon Jul 31 18:27:52 2006
From: driscollkevin at gmail.com (Kevin Driscoll)
Date: Mon, 31 Jul 2006 12:27:52 -0400
Subject: [Edu-sig] A python teaching success
In-Reply-To: <20060731124254.GK12427@fitz.Belkin>
References: <20060731124254.GK12427@fitz.Belkin>
Message-ID: <87a8578e0607310927o752e3787t4488d6d215ee5e0c@mail.gmail.com>

Congratulations!  Do you have a curriculum map or syllabus online?
I'd love to read about your sequencing.

Kevin


On 7/31/06, james at dis-dot-dat.net  wrote:
> Hi all.
>
>    This last academic year, we used Python for the first time in our
>    introductory programming modules.
>
>    This is in place of Java (horrible first language, IMNSHO).
>
>    It went VERY well.  We've just had our external examiner's report
>    and I got so excited, I blogged it and then ran here to yell about
>    it.
>
>    http://blog.dis-dot-dat.net/2006/07/we-officially-rock.html
>
>    :)
>
> James
>
>
> _______________________________________________
> Edu-sig mailing list
> Edu-sig at python.org
> http://mail.python.org/mailman/listinfo/edu-sig
>