damian gets his ideas from stray words forwarded urls "i blame nat" he sent damian a link to a list of interesting words reading through the list, it struck damian that those words were not needed they are all covered by "male" the English language interface is heavily over-designed blame dave [farber] he wanted a way to make sub calls in modules act like method calls (like grown-up languages) so damian wrote Sub::CallAsMethod sure, it's totally evil but it's totally easy the interface is gorgeous: you 'use' and then forget about it that's what this talk is about modules that can do their job with interface approaching nothing modules who effects are indistinguishable from magic, and are therefore Sufficiently! Advanced! Technology! feed back from last year: "ok, but unbalanced" unbalanced how? sex and violence here's some more violence: perl aikido ai - harmony ki - spirit do - path entirely defensive love your enemy encourage and help your aggressor [to understand his errors] for example ... damian engages in melee with gnat and orwant .... wu wei: less and less is done, but nothing is left undone action without striving ipod digression: conway channel needs theme music he settled on Darth Vader's March now he needed a content theme, with SAT, 2001 seemed obvious but it's boring the only thing that makes sense from 2001 for this is the monoloth but once you've seen the monolith, that's all there is to see the problem is that clarke's story wasn't interesting enough it needed more sex and violence when we think of magic, we think of LOTR well, but we don't anymore there isn't much magic in LOTR no, we think of harry potter and don't we think about him oddly! the japanese have a whole subculture HARIPOTA especially in manga/anime i know we love anime, but this is freaky it's creepy "there's something very Michael Jackson about it" but there's something creepier: parents who dress their kids up as HP characters take photos and put them on the web the best known SAT module: use strict you 'use strict' and your broken code appears Manifesta cimices! use diagnostics is even better you're executed for your sins... ...after a lecture. example: Acme::Pythonic it's easy to forget how few keystrokes separate us from Dark Places "programming in parseltongue" acme::bleach look at ingy's code---Or Lord Ingermort IO::All does... everything! given a sufficently evil mind, any SAT can be pushed further -- too far! here is damian's extension: instead of $foo = io(..) <$foo> now < ... > SAT is evolution in action you look at the clunky bits and eliminate them Perl6::Say IO::Prompt Object::Dumper from Perl Best Practices: always use /x always use /m never use ^ and $ as string boundary anchors always use \A and \Z hence regexp::auto sets some flags automatically on regex "i did work on synthetic humans" we took images of people speaking identified mouth shapes took arbitrary text convert to phonemes select images for the right mouth shape, morph between them added synthetic speech soundtrack and we had a TIAVO system text in AV out why don't we have sufficiently advanced comment technology IO::Progress wanted: "fiat vecto progressum!" aka Smart::Comments animates the comments you give the code ...and adds timers if it thinks that's prudent uses source filtering ...because perl doesn't have hooks to manipulate comments (for some reason) it's annoying to have 2130498 'use' lines at the top so you put all your SAT in a module and use that but lexicality and exportation of stuff makes it not work use Filter::Include; include S::A::T; # could've been enough # ... but wasn't # not sufficiently advanced for damian "I shouldn't have to change just because I want to do something different." Module::Macro ...and then I lost power on my powerbook.