demented Python...

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

demented Python...

kirby urner-4

In calling something "demented" I'm coming off
the namespace used around genres of cartoon.

Cartoons I'd consider demented:

Pinky and the Brain
Ren and Stimpy
Teenage Aqua Hunger Force (Kevin Altis of PythonCard a fan)
SpongeBob SquarePants
...


(see clips on Youtube for any/all)

Synonyms for demented:  zany, surreal

Relevant:  links to "grossology" in EuroPython 
presentation:

(see string.Template Mad Libs)

Likewise, Demented Python serves a didactic function,
here to remind about the decorator:

def sillystrip( f ):
    if f.__doc__:
        f.__doc__ = "Your function has been hacked!"
    else:
        f.__doc__ = "You should always have a docstring."
    return f

@sillystrip
def square( x ):
    """could also be a triangle"""
    return x * x

def _test():
    frank = 2
    joe = square (frank)  # frank is kinda square
    print("Hello Joe, Frank here.")
    print(square.__doc__)
        
if __name__ == "__main__":
    _test()
    
Usage:

>>> ================================ RESTART ================================
>>> 
Hello Joe, Frank here.
Your function has been hacked!

Then comment out the docstring in the def of square.

>>> ================================ RESTART ================================
>>> 
Hello Joe, Frank here.
You should always have a docstring.


_______________________________________________
Edu-sig mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/edu-sig
Reply | Threaded
Open this post in threaded view
|

Re: demented Python...

kirby urner-4
On Sat, Apr 2, 2011 at 11:16 AM, kirby urner <[hidden email]> wrote:

In calling something "demented" I'm coming off
the namespace used around genres of cartoon.

Cartoons I'd consider demented:

Pinky and the Brain
Ren and Stimpy
Teenage Aqua Hunger Force (Kevin Altis of PythonCard a fan)

Oops:

PythonCard: a first (and brilliant) attempt to make cross-platform GUI programming easy with wxPython, Robin Dunn's wrapping of wxWidgets (earlier named wxWindows).


SpongeBob SquarePants
...

and let's not forget an all time favorite:

Duckman  (too offensive for some on Diversity I'd warrant)

Kirby
on a Saturday Morning
(a customary time for such streaming)

Relevant:  Mad Magazine, Crumb... 


_______________________________________________
Edu-sig mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/edu-sig
Reply | Threaded
Open this post in threaded view
|

Re: demented Python...

Mokurai
In reply to this post by kirby urner-4
On Sat, Apr 2, 2011 at 14:16, kirby urner <[hidden email]> wrote:
>
> In calling something "demented" I'm coming off
> the namespace used around genres of cartoon.
> Cartoons I'd consider demented:
> Pinky and the Brain

and their hosts, the Animaniacs

> Ren and Stimpy
> Teenage Aqua Hunger Force (Kevin Altis of PythonCard a fan)

Aqua Teen Hunger Force (Number 1 in the hood, man)

> SpongeBob SquarePants
> ...

Spaceghost Coast-to-Coast
Sealab 2021
Harvey Birdman, Attorney at Law
Invader Zim
South Park
The Simpsons
Futurama
Family Guy
Huri-kuri
Suupaa Miruku Chan (Super Milk Chan)
Bobobo-bo-bobobo
Urusai Yatsura
and, as you say, ..., in a tradition going back to Aristophanes, and
to distant prehistory.

Saw a flea
Kick a tree,
Fubba-wubba
Fubba-wubba.
Saw a flea
kick a tree,
Fubba-wubba John.
Saw a flea
Kick a tree
In the middle
of the sea,
Singin' Old Blind Drunk John,
Fubba-wubba John.

> (see clips on Youtube for any/all)
> Synonyms for demented:  zany, surreal
> Relevant:  links to "grossology" in EuroPython
> presentation:
> http://www.4dsolutions.net/presentations/connectingthedots.pdf
> (see string.Template Mad Libs)
> Likewise, Demented Python serves a didactic function,
> here to remind about the decorator:
> def sillystrip( f ):
>     if f.__doc__:
>         f.__doc__ = "Your function has been hacked!"
>     else:
>         f.__doc__ = "You should always have a docstring."
>     return f
> @sillystrip
> def square( x ):
>     """could also be a triangle"""
>     return x * x
> def _test():
>     frank = 2
>     joe = square (frank)  # frank is kinda square
>     print("Hello Joe, Frank here.")
>     print(square.__doc__)
>
> if __name__ == "__main__":
>     _test()
>
> Usage:
>>>> ================================ RESTART
>>>> ================================
>>>>
> Hello Joe, Frank here.
> Your function has been hacked!
> Then comment out the docstring in the def of square.
>>>> ================================ RESTART
>>>> ================================
>>>>
> Hello Joe, Frank here.
> You should always have a docstring.

Defensive programming:
<Pseudocode>
Case: True:...
Case: False:...
Else: Print("This can't happen.")
</>
> _______________________________________________
> Edu-sig mailing list
> [hidden email]
> http://mail.python.org/mailman/listinfo/edu-sig



--
Edward Mokurai (默雷/धर्ममेघशब्दगर्ज/دھرممیگھشبدگر ج) Cherlin
Silent Thunder is my name, and Children are my nation.
The Cosmos is my dwelling place, the Truth my destination.
http://www.earthtreasury.org/
_______________________________________________
Edu-sig mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/edu-sig
Reply | Threaded
Open this post in threaded view
|

Re: demented Python...

Corey Richardson
In reply to this post by kirby urner-4
On 04/02/2011 02:16 PM, kirby urner wrote:

> Likewise, Demented Python serves a didactic function,
> here to remind about the decorator:
>
> def sillystrip( f ):
>     if f.__doc__:
>         f.__doc__ = "Your function has been hacked!"
>     else:
>         f.__doc__ = "You should always have a docstring."
>     return f
>
> @sillystrip
> def square( x ):
>     """could also be a triangle"""
>     return x * x
>
> def _test():
>     frank = 2
>     joe = square (frank)  # frank is kinda square
>     print("Hello Joe, Frank here.")
>     print(square.__doc__)
>
> if __name__ == "__main__":
>     _test()

Did you see the PyCon2011 video on obfuscating python?
http://blip.tv/file/4881220

--
Corey Richardson
_______________________________________________
Edu-sig mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/edu-sig
Reply | Threaded
Open this post in threaded view
|

Re: demented Python...

kirby urner-4
In reply to this post by Mokurai

Spaceghost Coast-to-Coast
Sealab 2021
Harvey Birdman, Attorney at Law
Invader Zim
South Park

Team America:  World Police (by South Park Studios -- quite demented)
 
The Simpsons
Futurama
Family Guy

American Dad also a favorite
 
Huri-kuri
Suupaa Miruku Chan (Super Milk Chan)
Bobobo-bo-bobobo
Urusai Yatsura
and, as you say, ..., in a tradition going back to Aristophanes, and
to distant prehistory.

And a way of teaching that helps some people (more than 
others maybe) in part because of the resonance with
very youthful experience (relearning about body fluids, 
"grossology"), and in part because of the hard-to-forget
imagery (Hieronymus Bosch is also somewhat demented).

'The Art of Memory' by Francis Yates and related tomes
draws many links between mnemonics and making an
impression through the arts.  This hermetic tradition has
fed into memetics and advertising (PR, propaganda), 
as well as spatial data management GUIs.

I'd say we're at the other end of the spectrum from a 
lot of engineering pedagogy however, which seeks the
least offensive, abstract, diagrammatic and/or neutral
tones.  The hallmark of a Springer-Verlag publication is
to be scrubbed clean of anything too quirky.

My paradigm Snake class, with its eat and poop methods, 
is already too scatological for "serious adult" learning 
according to many publishing codes.

A workaround (sometimes) when working with adults 
in a workshop setting, is to say "this is what tends to 
work with younger kids" (not a lie), at which point they 
give themselves more permission to get into it, from 
the safe distance of using curriculum materials intended
for a different audience, not for them.

I've seen my use of Madlibs as a way of doing string 
substitution spread to other campuses.  String substitution
is the basis of templating, such as when outputting web
pages or other "driver" codes such as scene description
language (POV-Ray) or VRML / x3d (still under utilized
in high schools, thanks to the absence of a real digital 
math track).

Behind the scenes, you may look at the megatrend of
"biological computation" becoming respectable talk in
complexity science (dynamical systems, chaos, Santa
Fe Institute) which is rather well established here in 
Portland as well, through Portland State's "systems"
degree program.  

When ant hills, immune systems, reproducing animals, 
are identified as "computational" in nature, you start to 
get more of a cross (hybrid) between metallic science 
(metallurgy, silicon) and what we might call "slime" 
(collagen).  The feng shui or alchemy among the disciplines 
is always shifting.

It's what's happening in medical science more generally, with 
more prosthetics and implants, more combinations of 
biological and synthetic / electronic.

A movie that deliberately mixes computer and biological aspects 
of life (playing up the "grossology") is the (quite demented) 
'eXistenZ'.  I kept remarking on that film in a recent staff 
meeting.  

It wouldn't surprise me if the computer curriculum drifted more 
into this life sciences vein in part because of the accessibility of 
CA (cellular automata) to beginners, starting with the Game of 
Life (of course) and Wolfram's NKS type algorithms (easy to 
implement and get somewhat grandiose about, but in 
academically respectable ways).

The popularity of the 'Sims' genre is another draw.  Each Sim 
is an object, yet there are clear templates (classes) involved.  
'Spore' is another one.  Genetic algorithms, agent-based search
strategies... lots of concurrency and parallelism.

I feel I have a somewhat front row seat on these issues given 
I'm tutoring someone in the PSU systems department in Python, 
work for an outfit connected to Wolfram's, and have a history 
with this "demented cartoons" as pedagogical meme (traces 
to Mad Magazine and underground comics, not just TV of 
course).  

Portland is a center for this kind of animation as well (at least 
culturally).  Bill Plympton is from around here, as is Matt Groening.


Here's some typical "chaos Python" with overt ties to PSU's 
curriculum, where Melanie is currently on faculty:


I've also sought to make the "cartoony" aspects of Python 
come more alive in the "person" of the PSF snake, a stuffed 
animal totem.  She is developing a character and a history.  

She's a somewhat rough, street wise, earthy, good natured 
old girl, who may not always know who the father is (true 
in the case of Adonis at least, probably that python in 
Florida, although he looks a lot like a cobra...)


Kirby


Saw a flea
Kick a tree,
Fubba-wubba
Fubba-wubba.
Saw a flea
kick a tree,
Fubba-wubba John.
Saw a flea
Kick a tree
In the middle
of the sea,
Singin' Old Blind Drunk John,
Fubba-wubba John.

> (see clips on Youtube for any/all)
> Synonyms for demented:  zany, surreal
> Relevant:  links to "grossology" in EuroPython
> presentation:
> http://www.4dsolutions.net/presentations/connectingthedots.pdf
> (see string.Template Mad Libs)
> Likewise, Demented Python serves a didactic function,
> here to remind about the decorator:
> def sillystrip( f ):
>     if f.__doc__:
>         f.__doc__ = "Your function has been hacked!"
>     else:
>         f.__doc__ = "You should always have a docstring."
>     return f
> @sillystrip
> def square( x ):
>     """could also be a triangle"""
>     return x * x
> def _test():
>     frank = 2
>     joe = square (frank)  # frank is kinda square
>     print("Hello Joe, Frank here.")
>     print(square.__doc__)
>
> if __name__ == "__main__":
>     _test()
>
> Usage:
>>>> ================================ RESTART
>>>> ================================
>>>>
> Hello Joe, Frank here.
> Your function has been hacked!
> Then comment out the docstring in the def of square.
>>>> ================================ RESTART
>>>> ================================
>>>>
> Hello Joe, Frank here.
> You should always have a docstring.

Defensive programming:
<Pseudocode>
Case: True:...
Case: False:...
Else: Print("This can't happen.")
</>

I actually see quite a bit of this design pattern in 
beginning programs:

if a < b:

elif a > b:

elif a == b:

else:

-- though it's often a try/except that might be
more realistic, e.g. complex numbers don't have
ordering, just equality, making them more nominal
than ordinal in some ways (though subsets 
may be ordered, and | c | will define equivalence
classes.

> _______________________________________________
> Edu-sig mailing list
> [hidden email]
> http://mail.python.org/mailman/listinfo/edu-sig



--
Edward Mokurai (默雷/धर्ममेघशब्दगर्ज/دھرممیگھشبدگر ج) Cherlin
Silent Thunder is my name, and Children are my nation.
The Cosmos is my dwelling place, the Truth my destination.
http://www.earthtreasury.org/


_______________________________________________
Edu-sig mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/edu-sig
Reply | Threaded
Open this post in threaded view
|

Re: demented Python...

Kirby Urner-6
In reply to this post by Corey Richardson
On Sun, Apr 3, 2011 at 2:39 AM, Corey Richardson <[hidden email]> wrote:
On 04/02/2011 02:16 PM, kirby urner wrote:
> Likewise, Demented Python serves a didactic function,
> here to remind about the decorator:
>
> def sillystrip( f ):
>     if f.__doc__:
>         f.__doc__ = "Your function has been hacked!"
>     else:
>         f.__doc__ = "You should always have a docstring."
>     return f
>
> @sillystrip
> def square( x ):
>     """could also be a triangle"""
>     return x * x
>
> def _test():
>     frank = 2
>     joe = square (frank)  # frank is kinda square
>     print("Hello Joe, Frank here.")
>     print(square.__doc__)
>
> if __name__ == "__main__":
>     _test()

Did you see the PyCon2011 video on obfuscating python?
http://blip.tv/file/4881220


Just checked this out, thanks for the pointer.

One of the most zany aspects was he's introduced as 
Rev. (Reverend) yet makes no reference to this in his 
biographical remarks, nor does anyone bring it up in 
the Q&A out of curiosity -- just not that curious I guess, 
or everyone already knows (Subgenius?), or no one 
really cares (Pycons are notoriously accepting of
Diversity -- you could probably give a talk naked and
no one would raise an eyebrow).

I draw a vertical and horizontal axis and label these 
"lore" and "technical stuff" respectively, then draw a
curve representing the event horizon or standard 
bandwidth of the listener / learner (attender).  


This talk (Obfuscated Python) was super-duper to the
technical end with hints at lore, such as when he talks 
about other languages and Curry Haskell in particular 
(Turing Machine etc.).

One hallmark of a super technical talk is you want to 
rewind and stare at the code.  Everything seems to go 
by too quickly.  You focus and concentrate on the 
technical aspects to the exclusion of all else, which 
comes across as a distraction (unwanted noise).

When you boost the lore component, you get more 
storytelling and it's more like those trade books for adults 
that purport to explain math and/or physics but contain 
nary an equation, or just a few to help boost the self esteem 
(self confidence) of the reader.  

On the other hand, other types of artistry may be on 
display, such as foreshadowing, character development, 
plot twists of various kinds, tone and texture (look and
feel).  The humanities have their liberal arts and crafts.
It's not like optimizing bandwidth is a new challenge or
that symbols became powerful only in our lifetimes.

Once you try to capture this stuff (hermeneutics) and teach it, 
you get into semantic networks, ontologies, diagrams every 
bit as technical... (film and theater production are not devoid
of technical tips and tricks, or lets talk about advertising)  
so there's a kind of Mobius strip at work (the art of 
Paul Laffoley comes to mind, for me, at this juncture, as
both technical and lore-filled). 

Take Sesame Street as another good example.  There's really 
not much stress understanding the Letter A in the first place, 
once you've memorized your alphabet, the presumed technical 
content of a Sesame Street short is far from overwhelming.  
It's designed for stay-at-home guardians as well, who need 
to vacuum, putter about the house, while Big Bird holds forth.

Imagine absorbing computer science concepts, along with
more of STEM, from similar video clips.  Youtube already 
offers plenty of opportunities.

And yet the lore takes up plenty of bandwidth and leaves 
most viewers more satisfied than bored.  The whole point 
of television is to make "day dreaming" (so necessary 
when chalkboards and droning pedants are involved) 
quasi-unnecessary.  The tube replaces your dreams 
with its own.  Of course that may serve insidious and/or 
subversive ends (a nation of zombies), but this doesn't
detract from my point.

(the "cult of cute" in Japanese animation -- scatological)

Upshot:  Python andragogy and pedagogy will develop 
along different lineages.  I'm pioneering zaniness as a 
useful component, which takes me in the direction of 
certain kinds of animation we might see on Python.tv
someday.

Vi Hart's stuff is somewhat zany, but not over the top.  
Mathematicians have long ties to the surreal, 
Alice in Wonderland being the work of a logician.  

OLPC gets somewhat zany in places, without paying 
too high a price.  It's a fine line.

A tinge of darkness for happy camper campfire stories:

Towards the higher end, those on the PSF list know I like 
to rope in Greek mythology and play up the Python's 
importance to Athena's cult (also Nike's: "Just Use It").  

I'm roughly following what's known as the Parthenon Code 
among conspiracy theorists, which piggy-backs on the 
better known Da Vinci Code in terms of gaining name 
recognition and notoriety.

Kirby



 
--
Corey Richardson
_______________________________________________
Edu-sig mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/edu-sig


_______________________________________________
Edu-sig mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/edu-sig