00:01 xinming joined 00:02 xinming joined
TreyHarris :-) 00:02
00:23 kanru joined 00:28 nekokak joined 00:37 steveo joined 00:38 steveo left 00:42 toku_away is now known as tokuhirom 00:48 nothingmuch joined
ludan see you tomorrow guys 00:58
01:13 Southen_ joined 01:25 mjl69_ joined 01:42 KingDiamond joined 01:43 premshree_ joined 01:48 dolmans joined 02:30 amnesiac joined 02:55 agentzh joined 02:57 agentzh joined 02:59 agentzh joined 03:02 agentzh joined 03:03 kanru joined
svnbot6 r11840 | fglock++ | pX/Pugs-Compiler-Rule - more fixes in capture; keep 'state' in the Match object 03:13
03:18 esammer_home is now known as esammer 03:35 weinig is now known as weinig|sleep 04:02 shachaf joined 04:24 [particle] joined 04:26 HEx joined 04:32 coderhasan joined 04:33 coderhasan left 04:35 justatheory joined 04:38 _meppl joined, _meppl is now known as meppl 04:43 broquaint joined 04:49 justatheory joined 04:56 Captain_Fourier joined 05:34 neoesque joined 05:44 agentzh joined 05:46 agentzh joined 05:50 agentzh joined, rgs joined, agentzh joined 06:05 Aankhen`` joined 06:06 agentzh joined 06:18 elmex joined
svnbot6 r11841 | dolmans++ | dolmans now signed in. 06:23
r11842 | dolmans++ | subroutines/param_sinature.t 06:35
dolmans hi audreyt, could you kind to review my first commit, which i refer it as a babystep.
audreyt well 06:38
svn mv param_sinature param_signature
(typo)
ditto in the test body
but otherwise looks sane
dolmans++
dolmans oops 06:39
Captain_Fourier hey i have more free time 06:44
if i dont know haskell, how can i help?
audreyt there's perl5/Pugs-Compiler-Perl6/HACKING 06:45
also pugs.blogs.com/pugs/2006/07/pugs_janitor_ta.html
also, proofreading synopses is very important too 06:46
Captain_Fourier ok
audreyt i.e. take svn.perl.org/perl6/doc/trunk/design/syn/ and mark the places where the English is misleading or wrong 06:47
lambdabot Title: Revision 10532: /doc/trunk/design/syn
audreyt and submit patches to [email@hidden.address]
Captain_Fourier will do
audreyt yay
audreyt is still reeling from jetlag
Captain_Fourier there were a flurry of perl cons last month 06:48
06:50 macroron joined
svnbot6 r11844 | dolmans++ | deleted the typo version param_sinature.t 07:02
07:05 iblechbot joined, kanru joined
nothingmuch Juerd: please add unicode to tnx.nl/php, it's an important argument nowadays 07:09
lambdabot Title: PHP in contrast to Perl
Bleadof Indeed 07:11
07:14 zard1989 joined 07:30 AppleIver joined, AppleIver left 07:35 buetow joined
pmurias a couple of my friends wan't to use a dual language php/c++ solution for a webapp 07:40
s/wan't/wanted/
nothingmuch sounds like the best of both worlds ;-) 07:42
pmurias i heard them planing a binary protocol at breakfast (with an XML header) 07:45
on the next day (to use with the webap)
s/webap/webapp/ 07:47
talked about perl6 with a pythonist who reveled himself by sugesting diango or another python framework 07:50
audreyt django is neat. 07:52
one of the inspirations of Jifty :)
pmurias it suposably also does autogeneration of database schemas 07:53
audreyt it is quite jiftylike.
I enjoy jifty's "action" abstraction for no-effort ajaxy behaviour
but otherwise the two frameworks are comparable in surface easy-to-codeness 07:54
pmurias audreyt: during your talk you mentioned a lot of neat RPS thingys like Jifty::Query 07:55
audreyt right. now that the 1.0 stuff are ported to jifty, I'm working on 2.0 stuff next week onward
(Jifty::Plugin::REST is now in jifty trunk and supports both GET and POST interfaces) 07:56
(and XML::All 0.02 is on CPAN)
pmurias and Jifty::Query?
audreyt it's in the "2.0" aka "exprimental" aka "we are still playing with the syntax" stage.
ditto jifty::View.
(though Jifty::Web::Session::ClientSide has since matured and is now part of jifty core) 07:57
pmurias thanks
audreyt np :) we'll get there, but unlike pugs, my jiftywork is prioritized by $client demand 07:58
and they want ::REST and ::ClientSide to be deployed, more than Query/View abstractions
so will get those two polished first
pmurias the python guy was suprised that perl6 has an implementation 08:00
audreyt ...and two other implementations 08:01
pmurias told him that too
audreyt and all three are on CPAN :)
audreyt praises CPAN some more.
pmurias he liked junctions thought
and when i told him about the grammar redefinability he liked it also and wandered when will python 08:03
have it
is it posible to unimport syntax by the way? 08:04
audreyt that is a very deep and interesting question :)
pmurias eq. no statement_control <goto unless until>;
audreyt no GLOBAL < &statement_control:<until> >; 08:05
something like that
but I can see grammatical categs becoming pragmas of their own, maybe.
no infix '+';
I don't see why not. will be lots of fun :) 08:06
pmurias the python guy complained that too much things are in the core perl language, so it assumed he will be able to unimport them 08:07
audreyt yup.
can you work out a syntax and write a proposal to p6l?
pmurias i'll try 08:08
audreyt probably belongs to S04
I'd love to have something like that.
pmurias what's the best way to print the synopsis? 08:11
audreyt use the excellent CPAN module 08:13
08:13 crem joined
audreyt search.cpan.org/~ajfry/Pod-Pdf-1.2/ 08:13
lambdabot Title: Alan J. Fry / Pod-Pdf-1.2 - search.cpan.org
audreyt 6 years old module, still gives the best formatting
08:14 trym_ joined
audreyt simply install and run "pod2pdf" 08:14
08:14 daxim joined 08:16 azuroth joined
azuroth morning/evening 08:17
audreyt reetings.
greetings.
Juerd nothingmuch: Please, if you want to contribute, submit a patch :) 08:18
nothingmuch: I'm afraid I don't have the time to investigate the matter in detail; though I knew that it sucks :) 08:19
08:20 mdiep joined
nothingmuch Juerd: okay, i'll try to find a spare 5 mins =) 08:22
audreyt: how was your flight?
Juerd nothingmuch: Thanks! 08:23
nothingmuch: Please keep it in the compared-to-Perl athmosphere
I've rejected contributions before because they were just anti PHP, without comparison
nothingmuch yeppers
Juerd Great, thanks
pmurias math& 08:29
svnbot6 r11845 | dolmans++ | use the conventional :toto style 08:36
08:36 drrho joined
azuroth toto the dog? 08:38
08:38 Oswyn joined
dolmans that's cute. typo is my nightmare. 08:40
08:40 crem_ joined, crem joined 08:44 crem_ joined, Oswyn left
azuroth oh, I got a job! 08:46
audreyt congrats! 08:47
azuroth I was originally planning on getting my diploma, bumming around for half a year, and then doing university 08:48
09:02 Southen joined 09:04 Revision17 joined
azuroth ?eval my @b = [1,2,3]; grep({1},@b).say; grep({1},@b[0]).say; 09:11
09:11 evalbot_11831 is now known as evalbot_11845
evalbot_11845 OUTPUT[123 123 ] Bool::True 09:11
09:23 marmic joined 09:52 chris2 joined
dolmans how to write another test case? 09:54
audreyt in the same .t file? 09:55
simply change the "plan 1" to "plan 2"
and then add another test case below
dolmans :), i know, but i'm hunting for a case, any suggestion? 09:57
audreyt oh btw, the -> in your test should be --> 09:58
look at S06.pod and find even more parametric types :)
dolmans checking... 09:59
10:04 elmex joined
dolmans ask himself, `why i made so many misdakes?' 10:11
svnbot6 r11846 | dolmans++ | amendment to the function return symbol
10:13 Southen_ joined 10:22 tokuhirom is now known as toku_away 10:37 hotte joined 10:41 hexmode joined 10:54 agentzh joined
agentzh is preparing for the patch for S05. 10:56
11:02 agentzh joined
agentzh the patch for S05 looks huge. ;-) 11:03
11:05 neoesque joined 11:11 Aankh|Clone joined 11:12 agentzh joined 11:13 agentzh joined
gaal interesting. I have a default method for class PLit in Perl6Class.hs line 91. And there's an instance on line 103 that looks like it's completely redundant, but I get compilation errors when I remove it. I don't understand why it's needed? 11:14
nothingmuch hola gaal 11:15
gaal when I say "class (Typeable a, Show a) => PLit a" isn't "instance (Typeable a, Show a) => PLit a" implicit?
hey nothingmuch
11:16 agentzh joined
agentzh is "semantics" a plural count noun? 11:16
is the sentence "the semantics *are* confusing" correct? 11:17
nothingmuch gaal: www.scannedinavian.com/hope/entry/68
theorbtwo I'd say that's correct.
gaal I think so.
nothingmuch you should comment on that thread, methinks
theorbtwo Possibly more to the point, I'd say "The semantics is confusing" is wrong.
nothingmuch or wait
are you the guilty party for hasktags? 11:18
agentzh okay, thanks
gaal nothingmuch: no, I have a patch for exuberant ctags.
nothingmuch that's what i thought =)
jerkcity++ 11:20
i have been following it for a while now, and i still don't know what they're talking about
yet i'm having fun =)
agentzh some comments in the sample code of the synopses are not "well-formed", should i fix them?
chris2 audreyt's rhox slides feature some neat examples with different output formats; where can i find the code for that?
gaal nothingmuch: hah, that patch made it to Gentoo somehow. 11:22
nothingmuch gaal: that's why i like gentoo
if you need silly features they usually have em
optional, of course
it makes a control freak like me happy =)
gaal oh wait no, the patch is by someone else, "Slightly based on haskell.c by Gaal Yahas" 11:23
maybe it's better!
hmm, it's a little more robust with whitespaces and character classes, and adds 'class', but it's basically the same thing. that is it doesn't do constructors and selectors, or instance methods. 11:28
broquaint Anyone know if there's an operator like this currently in Perl 6: www.perlmonks.org/?node_id=564792 # ?
lambdabot Title: Secret Perl Operators: the boolean list squash operator, x!!
gaal broquaint: 'x?' 11:29
broquaint So instead of doing COND ? THING : (), you can do (THING) x!! COND.
audreyt chris2: you mean the json/yaml/etc one? 11:30
chris2 audreyt: yes
audreyt chris2: installing plugins/REST/ from the jifty svn trunk gives you that
gaal broquaint: yes; in Perl 6 '?' forces bool context
audreyt in your jifty app, edit etc/config.yml
framework:
Plugins:
- REST: {}
chris2 svn ups 11:31
broquaint Aha, thanks, gaal :)
audreyt that's it (the "framework:" key is already present)
then navigate to /=/model/ and /=/action/
chris2 *now* it's there!
it wasnt when you posted the draft slides, was it?
audreyt some of them were in the moose branch
some of them were in $job branch
but they were not in trunk, correct
chris2 thanks a lot 11:32
gaal broquaint: but I'm not sure about precedence here. could be that the named version is better. I think that's called lowercase 'true' now.
audreyt np :)
chris2 steals it for his ruby thingy :P
audreyt good =)
I'd love to see yaml-based RESTish RPC between ruby and perl web app frameworks
11:33 Aankh|Clone is now known as Aankhen``, agentzh joined
chris2 okay/rpc exists :) 11:33
gaal and call it Rupee?
chris2 Peby
agentzh is the sentence "Just as A, so does B." correct?
gaal agentzh: when one of A and B have a verb. 11:34
agentzh gaal: so this is incorrect, isn't it?
gaal actually, A needs the verb.
Aankhen`` agentzh: It should be "Just as A does something, so does B".
agentzh A and B are nouns here.
following this reasoning, S05 is WRONG!!! yay! 11:35
gaal agentzh: context? what's the suspect sentence?
agentzh gaal: a sec...
"Just as C<rx> has variants, so does the C<regex> declarator." 11:36
gaal no, that's correct.
agentzh oh, A seems to have a verb..
gaal: okay, thanks
gaal np :) 11:37
11:49 hugues23 joined 11:53 weinig|sleep is now known as weinig, elmex joined 12:11 weinig is now known as weinig|bbl 12:16 dolmans joined 12:18 frederico joined, Limbic_Region joined 12:21 tup joined
pasteling "age" at 210.22.200.67 pasted "My patch for S05 (will be sent to p6-l soon). Please comment." (407 lines, 14.2K) at sial.org/pbot/18732 12:26
"agentzh" at 210.22.200.67 pasted "My patch for S05 (will be sent to p6-l soon). Please comment. (Ingnore the previous paste)" (407 lines, 14.2K) at sial.org/pbot/18733 12:27
12:29 weinig|bbl is now known as weinig
nothingmuch agentzh: i suggest you wrap text, so that the committer doesn't have to.... what is the ss diff? ... The new C<:ratchet> modifier causes this regex to not backtrack - i think this is the correct form. 12:29
oh, he's not here =/
Aankhen`` age: "causes this regex to not" reads better than "causes this regex not to".
Bleh. 12:30
pasteling "agentzh" at 210.22.200.67 pasted "thanks! will recover "to not backtrack" (btw I can't connect to IRC, so i use this to reply. ;-))" (1 line, 14B) at sial.org/pbot/18735 12:32
nothingmuch agentzh: if you need ssh access can help i can set you up an account on my machine where you can use irssi 12:34
within 2 mins
reply the same way =)
pasteling "agentzh" at 210.22.200.67 pasted "Cool! nothingmuch, please provide a (free) SOCKS proxy or something like that" (1 line, 14B) at sial.org/pbot/18736 12:36
nothingmuch agentzh: i can run an instance of nylon for you but I don't want to keep that up because they are easy to abuse 12:37
please nopaste a public ssh key
12:37 Dr_Pi_ joined
nothingmuch boy that's secure, eh ;-) 12:37
agentzh: you have a socks running on pasta.woobling.org 12:38
restricted to your IIP
(based on the nopaste IPs)
pasteling "agentzh" at 210.22.200.67 pasted "nothingmuch: i don't quite follow you. what is SSH key? would you please send the account info to my mailbox? "agentzh at gmail dot com" thank you. :=)" (1 line, 7B) at sial.org/pbot/18739 12:39
nothingmuch agentzh: sent 12:41
meppl guten morgen 12:43
12:44 weinig is now known as weinig|away
pasteling "agentzh" at 210.22.200.67 pasted "nothingmuch: that does not help. I remember i'm behind my school's firewall. 210.22.200.67 is the firewall's IP. thank you all the same :D" (1 line, 14B) at sial.org/pbot/18740 12:48
nothingmuch agentzh: okay, what about the socks then? i have one running on pasta.woobling.org 12:49
12:50 agentzh joined
nothingmuch hola agentzh 12:51
agentzh yay! i'm back! :=)
nothingmuch how did you manage?
agentzh i'm used a weird HTTP to SOCKS4 proxy in China
*using
nothingmuch ah
• [pasta:~] nothingmuch % sudo nylon -f -v -a 210.22.200.67 -i eth0
Password:
nylon: Listening on bzq-84-108-53-74.cablep.bezeqint.net:socks
agentzh because it's free so it's very fragile
nothingmuch: i can't directly connect to any foreign sites here 12:52
every request should go through a chinese proxy 12:53
nothingmuch oh, so the socks server has to be behind the great firewall?
i see
agentzh the great firewall is not a problem.
the real problem is the little firewall of my university. :=)
nothingmuch ah
so which hosts/ports *are* allowed? 12:54
http?
agentzh http and https
nothingmuch try ssh -p 443 pasta.woobling.org
agentzh 80 and possibly 21
nothingmuch if it doesn't detect the traffic, just the port, it may work
agentzh trying...
nothingmuch that's why i have it set up that way
(university firewalls)--
agentzh nothingmuch: "[error] unable to solve host name" 12:56
nothingmuch urh
84.108.53.74
agentzh trying...
nothingmuch agentzh: another option is CGI::IRC 12:59
cgiirc.sourceforge.net/ 13:00
lambdabot Title: CGI:IRC - Web based IRC Client
nothingmuch i think feather.perl6.nl has an instance of it
Juerd: can you confirm?
13:02 agentzh joined 13:04 mauke_ joined
pasteling "agentzh" at 210.22.200.67 pasted "nothingmuch: IRC disconnected again. feather does have an CGI:IRC interface, but i'm getting this error: "An error occured: Communication socket already exists"" (1 line, 3B) at sial.org/pbot/18741 13:04
nothingmuch agenthzh: odd... you did join the channel for a second 13:05
any feather sudoer: can you reset my password to some dumb string?
i use an ssh key so i can't actually change it now
but i'd like to try CGI::IRC 13:06
pasteling "agentzh" at 210.22.200.67 pasted "nothingmuch: is there any way to kill the running socket on feather? (maybe i should write a Perl script to automate this paster)" (1 line, 4B) at sial.org/pbot/18742 13:07
nothingmuch pasteling: probably only as the www-data user (== someone with sudo) 13:10
13:11 fglock joined 13:17 stevan joined 13:18 mauke_ is now known as mauke 13:19 b00t joined 13:45 cdpruden joined 13:54 kanru joined 13:55 esammer_ joined 13:58 cdpruden_ joined
pasteling "agentzh" at 210.22.200.67 pasted "Updated patch for S05 (Aankhen``++, nothingmuch++). Please review. :=)" (397 lines, 13.8K) at sial.org/pbot/18744 14:05
14:10 mako132 joined, cdpruden__ joined, avar joined 14:14 vel joined, cdpruden joined 14:20 rnorwood joined 14:28 crem joined 14:29 cjeris joined, agentzh joined
agentzh finally back... 14:29
Perl 6's ms/.../ was constantly reminding me of Microsoft while i was reading S05. 14:30
i think we had better switch to mm/.../ which looks more consistent with ss/.../ and furthermore... 14:31
mm has a side effect of having the meaning "pretty girl" in Chinese. ;-) 14:32
14:36 penk joined 14:44 weinig|away is now known as weinig 14:45 agentzh joined
agentzh ?eval my $a = 1..3; say @{ $a }; 14:46
14:46 evalbot_11845 is now known as evalbot_11846
evalbot_11846 OUTPUT[1 2 3 ] Bool::True 14:46
agentzh question: are @{ ... } and %{ ... } still valid Perl 6?
i grepped through all the lastest synopses, only S05 uses this syntax, which is odd. (Maybe S05 is out of sync with others?) 14:48
i also have grepped the pugs test suit and have got the following results: 14:49
PerlJam agentzh: they ought to be valid. @{$capture} should give you the positiony things, %{$capture} should give you the namey things.
agentzh PerlJam: but i think we should use the syntax @($capture) and %($captuer) per S02 14:50
or even @$capture and %$capture for short
PerlJam Hmm. 14:51
agentzh {...} is a always a clousure or a hash script 14:52
this meaning of {...} is very consistent in Perl 6 IMHO
PerlJam you're right. /me isn't used to the nw world order yet
s/nw/new/
agentzh PerlJam: :)
agentzh is adding this kind of fixes to his patch for S05... 14:53
PerlJam yes, please do. I'm looking at it now and the uses of @{...} appear vestigial 14:54
agentzh aye 14:56
Juerd nothingmuch: Confirmed 14:59
nothingmuch Juerd | agentzh &
agentzh ? 15:01
Juerd: why am i getting that error when using feather's CGI:IRC?
"Communication socket already exists"
15:04 dakkar joined 15:05 agentz joined
agentz Juerd: it's my proxy's fault or must i always use /quit or /part after using CGI:IRC? 15:05
15:11 iblechbot joined 15:15 StudiesInWords joined, justatheory joined
agentz PerlJam: mail sent to p6-l 15:17
15:19 agentz left 15:20 agentzh joined
agentzh finds S05 quite comfortable to read because it contains *many* samples. 15:26
hopefully @larry will add more sampe code to S02, S03, and S04. :) 15:27
ajs I would think that @{...} would be "the return value of ... as a list (possibly lazy)" 15:29
Where @(...) would be "the value of the expression ... as a list (possibly lazy)" 15:30
PerlJam ajs: I would think @{...} would be "evaluate this closure in an array context" :)
agentzh ajs: i think lists are always lazy in Perl 6 :)
ajs PerlJam: you said the same thing I did, but I'm talking about the return value treatment and you're talking about the evaluation
PerlJam ajs: list != array
ajs agentzh: No. Lists are always lazy IF THEY CAN BE. So, it's important to note that an expression can be lazy 15:31
agentzh the difference between lists and arrays is quite fuzzy to me.
ajs: of course
PerlJam: why not simply { ... }? 15:32
ajs agentzh: lists are collections of values with inspecific typing. Arrays are a data structure. (as I understand it)
agentzh @ is redundant in your usage
ajs: thanks
PerlJam agentzh: I'm not sure there isn't some difference between "list context" and "array context"
agentzh PerlJam: you're confusing me even more. ;-) 15:33
ajs Consider "$x = {...}" vs "$x = @{...}" These are radically different things (potentially)
agentzh ajs: indeed
ajs PerlJam: Array context would imply the creation of a datastructure, no? I'm guessing based on your usage.
PerlJam ajs: that makes some sense to me, yes. 15:34
ajs It's not a different context though. It's just a behavior
svnbot6 r11847 | fglock++ | pX/Pugs-Compiler-Rule - more tests; code cleanup
PerlJam agentzh: confusion is that natural state of humanity :)
ajs The evaluation would still be in list context
PerlJam (especially around #perl6)
agentzh ?eval $x = @(do { 1..5 });
evalbot_11846 Error: unexpected "(" expecting "::"
agentzh ?eval $x = @{ 1..5 }; 15:35
evalbot_11846 Error: Undeclared variable: "$x"
agentzh ?eval my $x = @(do { 1..5 });
ajs heh
evalbot_11846 Error: unexpected "(" expecting "::"
agentzh stops playing
ajs ?eval my $x = @{ 1..5 };
evalbot_11846 [1, 2, 3, 4, 5]
ajs And there you have it 15:36
agentzh it's not specified i'm afraid
15:36 ludan joined
ajs It's specified in the source ;) 15:36
agentzh consider everything not mentioned in Perl 6 Spec should stay just the same as it was in Perl 5
then yes
15:51 buetow joined 16:01 Wikipedia-Gast66 joined
Wikipedia-Gast66 why 16:02
Limbic_Region why not?
PerlJam ask not "why?", but rather, "why not?" 16:03
Wikipedia-Gast66 why
merlyn y? :)
Limbic_Region ok - because
Wikipedia-Gast66 merlyn sucks
Limbic_Region no, merlyn guzzles
Wikipedia-Gast66 Limbic_Region sucks 16:04
PerlJam sounds the troll gong ... *BONG* 16:05
pmurias it looks more like an artificial life form to me 16:09
Wikipedia-Gast66 does it? 16:10
pmurias does it not?
16:10 amnesiac joined 16:11 Psyche^ joined
pmurias Limbic_Region: why should things not mentioned int the Synopsis implicitly fall through into perl 6? 16:12
16:20 Psyche^ is now known as StudiesInWords 16:23 cdpruden joined
Limbic_Region pmurias - huh? When did I say anything regarding that? 16:25
PerlJam pmurias: Larry has said that things that exist in perl5 but aren't in the perl6 spec are assumed to be "just like perl5" 16:29
rgs formats ! 16:31
PerlJam formats are specced. 16:32
rgs damn. pack templates? :) 16:33
Limbic_Region no, they are specced to no longer be part of the core and to see Damian 16:34
IOW - relegated to a module
rgs I remember that;
I was just switching my troll to the support of pack() in perl 6
Wikipedia-Gast66 rgs sucks
[particle] reset ;)
PerlJam ?? 16:35
study
[particle] (i know that's specced out of existance)
PerlJam any others?
Wikipedia-Gast66 PerlJam sucks
[particle] am i invisible?
Limbic_Region chop
Limbic_Region thinks chop is gone anyway
Wikipedia-Gast66 Limbic_Region sucks
PerlJam yep
[particle] hrmm, it may be 16:36
Wikipedia-Gast66: you suck! :P
PerlJam [particle]: You may be invisible, but I can still see the text you type :)
[particle] i'm just invisible to the stupid bot
...which should be kicked
PerlJam indeed!
[particle] is not a channel op 16:37
Wikipedia-Gast66 PerlJam sucks
PerlJam Wikipedia-Gast66 sucks
Wikipedia-Gast66 no
PerlJam yes
Wikipedia-Gast66 PerlJam is gay
[particle] hands out square brackets to the crowd 16:38
heh, whaddayaknow, there are no channel ops here
rgs square brackets suck 16:39
[particle] :)
PerlJam all bracketing constructs suck
[particle] perhaps i should call them earmuffs :)
Limbic_Region if #perl6 is anything like #perl - no channel ops by default, you "power up", do the deed, and "power down"
PerlJam They're too ... constraining :)