00:06:19 -!- BeholdMyGlory has quit (Remote closed the connection). 00:06:24 What's a good program to input a character and it gives you its unicode number? 00:06:35 I have no idea what to google for 00:07:11 python -c 'print "U+" + raw_input().decode("UTF-8").strip()[0]' 00:07:20 er 00:07:26 not quite 00:07:26 here: 00:07:56 Slereah: 00:07:56 python -c 'print "U+%04x" % ord(raw_input().decode("UTF-8").strip()[0])' 00:07:59 thx 00:08:00 example: 00:08:01 a 00:08:02 U+0061 00:08:09 I use the python interpreter directly, what's the -c for? 00:08:22 wait make it 00:08:22 python -c 'print "U+%04X" % ord(raw_input().decode("UTF-8").strip()[0])' 00:08:22 >>> print "U+%04x" % ord(raw_input().decode("UTF-8").strip()[0]) 00:08:22 a 00:08:22 U+0061 00:08:27 Close enough I guess 00:08:30 Slereah: lets you specify a script on the command line 00:08:32 also, make it X 00:08:37 also whaddya mean close enough 00:08:40 unicode codepoints are in hex 00:08:46 python -c 'print "U+%04X" % ord(raw_input().decode("UTF-8").strip()[0])' 00:08:50 use the X since it uppercases hexy things 00:09:57 UnicodeDecodeError: 'utf8' codec can't decode byte 0x81 in position 0: unexpected code byte 00:10:00 Oh boners. 00:11:32 Slereah: it's not in utf-8 00:11:35 windoze? 00:11:39 try changing UTF-8 to UTF-16 00:12:02 Owait 00:12:09 http://www.decodeunicode.org/en/project 00:12:13 This may work 00:12:27 Hm. 00:12:29 I guess not 00:12:37 change utf-8 to utf-16 00:12:40 I'm trying to fine the unicode of different spaces 00:12:46 How do I do such a thing? 00:13:39 what 00:14:32 change utf-8 to utf-16 00:14:40 python -c 'print "U+%04X" % ord(raw_input().decode("UTF-8").strip()[0])' 00:14:43 see that UTF-8? 00:14:54 k 00:15:28 U+4081 00:15:33 Thankies. 00:15:48 er 00:15:48 no 00:15:57 Why not? 00:16:02 that isn't a valid unicode char 00:16:02 :-P 00:16:08 Isn't it? 00:16:34 Is shifted JIS part of unicode, or is it another standard alltogether? 00:16:41 Totally separate 00:16:57 Dickballs. 00:19:40 SJIS infos are much more sparse. 00:29:03 -!- psygnisfive has quit (Read error: 104 (Connection reset by peer)). 00:47:01 -!- Asztal_ has quit (Read error: 110 (Connection timed out)). 00:49:49 -!- M0ny has quit ("PEW PEW"). 00:53:11 -!- psygnisfive has joined. 01:36:28 -> 01:36:32 -!- FireFly has quit ("Later"). 02:07:14 -!- psygnisfive has quit (Read error: 104 (Connection reset by peer)). 02:07:16 -!- psygnisfive has joined. 02:24:26 -!- sebbu2 has joined. 02:26:32 -!- sebbu has quit (Read error: 60 (Operation timed out)). 02:26:32 -!- sebbu2 has changed nick to sebbu. 02:31:08 -!- zzo38 has joined. 02:33:19 Now I know what is unitary matrix! I read the book ROAD TO REALITY but now really I know. 02:33:32 I guess the matrix also has to have a reciprocal. 02:33:48 Becuase I read somewhere that the computation has to be reversible 02:34:12 So [1,1;1,-1] is unitary, am I right? And [1,1;-1,1] is also unitary I think. (Ignoring normalization) 02:34:59 I found the equation for measure of quantum state it is ()/() I have programmed it into my graphing calculator and it works OK 02:35:44 And I have made many cards in Magic: the Gathering 02:35:54 And including new entity/playercard rules. 02:36:31 They originally wanted planeswalkers to be another player but it didn't. My rule playercards they are another player. 02:39:20 Hey, wait. 02:39:26 Unitary ignoring normalization? 02:40:11 Roger Penrose doesn't bother with normalization, so neither do I. 02:40:13 Mm, okay. 02:41:18 How many people do and do not insist on normalization and in what circumstances? 02:41:27 Sometimes normalization is useful, though. 02:41:47 What's a non-unitary matrix with determinant equal to 1? 02:42:44 I don't know everything 02:43:25 But I do know that a quantum state vector cannot be all zero it is obviously to me that if you do, you are dividing by zero when doing the measurement according to the equation that I have described, just by looking at it. 02:48:03 I looked at the Google search for site:tunes.org zzo38 02:55:55 I only got 9 results, though. 03:06:34 -!- zzo38 has quit. 03:42:07 poundcake! 03:42:08 :D 03:42:12 who wants the recipe? :d 04:00:54 -!- zzo38 has joined. 04:01:48 Is the recipe for poundcake necessary? Isn't it just you put 1 pound of each ingredient and put in oven, I think. But you can post recipe if you want to 04:02:19 Do you have the idea of Magic: the Gathering cards, please? 04:02:44 I made 2 sets of Magic: the Gathering cards, called Unplugged and Super Unplugged. 04:03:03 The Super Unplugged is incomplete. And the next one will be called Hyper Unplugged. 04:03:36 Do you like these cards? 04:03:59 Many of them I invented or make a similar version, some are from another source, though. 04:07:04 O, I forgot to write the URL for the cards 04:08:50 "Lose priority" is now the cost of some abilities. 04:08:59 Some activated abilities do nothing. 04:10:55 Some cards do not have any effect. 04:11:23 Drawing cards, gaining life, and gaining mana, can all be costs in some of these cards. 04:14:33 -!- zzo38 has quit (Read error: 104 (Connection reset by peer)). 04:27:10 oklopol 04:27:15 or ehird 04:27:16 or someone 04:43:23 -!- sebbu2 has joined. 04:57:58 -!- sebbu has quit (Read error: 110 (Connection timed out)). 04:57:58 -!- sebbu2 has changed nick to sebbu. 05:00:58 -!- GregorR has quit (Read error: 110 (Connection timed out)). 05:01:12 -!- GregorR has joined. 05:41:29 -!- psygnisfive has quit (Read error: 104 (Connection reset by peer)). 06:35:24 -!- psygnisfive has joined. 06:50:29 -!- psygnisfive has quit (Read error: 104 (Connection reset by peer)). 07:34:42 o 07:37:41 megadeth is hideous music 07:37:50 well okay, i guess i just hate the singer 07:38:35 a youtube comment said an arch enemy piece was a ripoff of this one megadeth song; has a superficially similar beginning, then 6 minutes of filler unmusic 07:50:00 -!- psygnisfive has joined. 07:51:14 guys 07:51:16 im really bored 07:51:20 and i want to programming something 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:01:04 -!- fizziet has joined. 08:01:07 HAHA YOU MADE A GRAMMATICAL ERROR :DDDDDDDD 08:01:37 i mean 08:01:53 (Obligatory train-visit.) 08:02:05 maybe you should program like a program that calculates factorials! 08:02:29 fizziet: obligatory irc-visit during train trip? 08:02:40 oklopol: Yes, that. 08:02:43 right, right 08:02:55 is someone else seeing this? 08:03:07 i'm assuming you're not traveling alone 08:03:28 cmooooon 08:03:31 Well, no, not alone, but my travelling company is sleeping. 08:03:36 gimme stuff to code :( 08:04:02 fizziet: HOW CAN A WHOLE COMPANY SLEEP? 08:04:30 psygnisfive: code a program that like, writes hello world in the standard input 08:04:41 Obviously only a company that does not care about PROFIT MARGINS can sleep. 08:04:41 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;> 08:04:43 * psygnisfive smacks oklopol 08:05:30 profffiiiit 08:05:31 well 08:05:34 need to sleep 08:05:35 again 08:05:45 this was a temporary waking up 08:06:14 psygnisfive: write like a program that can ask the users name and then like, you know, greet them?!? 08:06:47 i'm so useful! 08:06:57 well night, this company'll sleep too, now 08:06:57 -> 08:16:34 -!- fizziet has quit ("it is all so quiet"). 08:33:55 -!- oerjan has joined. 08:43:30 I looked at the Google search for site:tunes.org zzo38 08:43:44 google doesn't seem to pick up all the logs 08:46:24 What's a non-unitary matrix with determinant equal to 1? 08:46:27 hm... 08:47:10 ab-cd=1 but not unitary 08:47:25 several ways, one is to scale each vector the opposite way 08:48:03 so, [1/2,0;0,2] is a trivial example 08:48:26 hi oerjan 08:48:29 hi AnMaster 08:49:44 allowing non-normalized unitary matrices ruins the simple algebraic definition 08:49:51 A*A = AA* = I 08:50:30 i.e. the conjugate transpose _is_ the reciprocal 08:58:00 -!- tombom has joined. 09:36:52 -!- oerjan has quit ("leaving"). 09:42:45 -!- BeholdMyGlory has joined. 10:01:18 0, 10:06:46 -!- KingOfKarlsruhe has joined. 10:09:28 -!- M0ny has joined. 10:10:11 -!- FireFly has joined. 10:47:05 -!- BeholdMyGlory has quit (Read error: 104 (Connection reset by peer)). 10:47:39 -!- BeholdMyGlory has joined. 10:51:01 -!- M0ny has quit ("PEW PEW"). 10:56:04 -!- BeholdMyGlory has quit ("say goodbye to ATI Catalyst"). 11:08:14 -!- BeholdMyGlory has joined. 11:31:33 -!- Gracenotes has quit (Read error: 54 (Connection reset by peer)). 11:33:09 -!- tombom has quit ("Peace and Protection 4.22.2"). 11:43:36 -!- neldoreth has quit ("Lost terminal"). 11:45:50 -!- BeholdMyGlory has quit ("ATI sucks"). 11:48:14 -!- BeholdMyGlory has joined. 11:56:42 -!- FireFly has quit ("Later"). 12:01:06 -!- fizziep has joined. 12:01:30 Hello again, this time from the hotel. 12:01:52 -!- FireFly has joined. 12:02:51 -!- ehird_ has joined. 12:12:55 well another morning to you! 12:13:08 and your cpu. 12:14:16 I could've been here to do a third "hello" before leaving home, around 06am, but we had some technical difficulties in waking up, and the departure was a bit... hurried. 12:17:27 -!- ehird has quit (Read error: 110 (Connection timed out)). 12:17:34 -!- ehird_ has changed nick to ehird. 12:21:24 -!- asiekierka has joined. 12:21:26 Woo 12:21:30 Finally got the virus sorted out 12:21:48 Now to install IMs and stuff 12:26:28 yay 12:27:35 but no deving 12:27:48 I'm busy with MS Paint Adventures's new subforum for your own MSPA's 12:32:15 http://mspaintadventures.com/phpBB3/viewforum.php?f=35 12:32:19 feel free to register and make one 12:54:16 I can't believe my topic stayed for 5 days or so 13:00:40 -!- M0ny has joined. 13:02:38 okay the downhill is steepening, i got a 4, and 6/38 got a 5. 13:03:50 of course, that was a scheduling failure on my part, read the wrong material 13:03:51 but still 13:03:54 there are now people 13:03:56 in our university 13:04:04 that have beaten me in an exam. 13:09:16 -!- Robdgreat has quit (calvino.freenode.net irc.freenode.net). 13:09:53 -!- Robdgreat has joined. 13:42:02 -!- fizziep has quit ("/quit"). 14:01:34 -!- Asztal_ has joined. 14:39:35 -!- ehird has left (?). 14:39:47 -!- ehird has joined. 14:50:28 My nice looking Squeak/Pharo setup: http://xs538.xs.to/xs538/09155/picture_1638.png 14:54:33 -!- KingOfKarlsruhe has quit (Remote closed the connection). 15:01:54 http://www.sorting-algorithms.com/ 15:01:57 ↑ sort porn 15:05:11 cool 15:05:55 also http://www.users.muohio.edu/helmicmt/sorting/sorting.html 15:11:52 hi fizzie 15:12:17 he's not here 15:12:19 oh wait his bnc is still connected 15:12:24 that explains it 15:12:30 he was in here earlier 15:12:32 on the train 15:12:44 yes we had guests 15:12:49 so I was kind of preocupied 15:13:22 i was sleeping 15:13:26 so I was kind of preoccupied 15:15:21 "'We're Linux' Commercial Winner ANNOUNCED! Linux ads on TV could be coming soon!" 15:15:23 Oh, god, no. 15:15:29 I bet one of the shit ones won. 15:15:43 Oh god. 15:15:46 The first one is fine 15:15:51 The second one is the CULT BACTERIA BJORK VIDEO one. 15:16:34 Aw the funny one was only third place 15:16:36 Harumph 15:16:38 ANyway they all suck 15:16:42 They don't say what linux is 15:16:46 PR disaster 15:16:46 Oh wel 15:16:46 l 15:35:41 Many ads don't say what it is they're advertising 15:36:26 Sure, but in a lot of cases, it's easy to find out, easy to deduce, or people probably have already heard of it, or can ask someone who has 15:36:57 Linux is virtually unknown and all this advert says is "YOU CAN TWEAK IT A LOT", which I might add is not a huge selling point for an OS -- a lot of tweakers probably already use Linux, that market isn't hard 15:37:06 It doesn't even mention computers. 15:37:09 Once. 15:37:53 People know what Macs and Windows are, so juxtaposition works there IMO 15:38:45 Deewiant: I did not see Mac or Windows mentioned in the winning ad. 15:38:55 Oh, there's a winning ad 15:39:03 Yes. 15:39:10 Which one was it 15:39:13 http://www.gizmostyle.com/2009/04/09/were-linux-winner-announced-are-linux-ads-coming-to-tv-screens/ 15:39:18 The crayon-y one. 15:39:29 The second one is the cult-bacteria-Bjork-video one. 15:39:49 The third one is the hilarious-and-helpful (it mentions computers and windows and apple...) 15:39:54 So it probably should have won 15:39:57 The crayon-y one is typical of modern ads, I think 15:39:58 With dubbing that i 15:39:59 s 15:40:12 Deewiant: Yes but it's also not going to help at all 15:40:21 It's supposed to pique your interest 15:40:25 And make you want to find out more 15:40:34 Amusingly surreal ads are also common, so that doesn't rule out #3. 15:45:22 first one was kinda gay 15:45:40 the second one is so unbelievably crap 15:45:44 it's fucking scary! 15:45:47 i can't get it to play 15:45:52 oklopol: huh 15:45:54 It's cool but it's not much of an advertisement :-) 15:46:03 click the vimeo logo and it should bring up a separate page 15:46:14 Deewiant: cool? it's not even entertaining 15:46:16 it's just disturbing 15:46:26 I thought it was cool 15:47:23 blah still won't open 15:47:36 oklopol: you're on jewbuntu right? 15:47:39 which flash plugin? 15:47:41 adobe's? 15:47:49 should have dat 15:47:55 right but is it adobe's or gnash or w/e 15:48:29 no idea. 15:48:36 which button do i press? 15:48:46 "vimeo" on the second video 15:48:50 should load a vimeo page 15:48:58 i meant to know which flash 15:49:01 o 15:49:04 i have the vimeo place open 15:49:04 go to about:plugins 15:49:10 *page, although both work 15:49:12 and find something about flasher or gnash or adobe or whatevar 15:49:56 application/x-shockwave-flash Shockwave Flash swf Yes 15:50:06 riiiight okay anything else? 15:50:19 err tons of shit 15:50:28 anything about adobe or flasher or gnash 15:50:47 for instance 15:50:48 Shockwave Flash 15:50:49 File name: Flash Player.plugin 15:50:51 Shockwave Flash 10.0 r22 15:50:54 if that's there, or similar, it's adobe 15:50:57 no. 15:50:59 if gnash or something is there, it's...gnash 15:51:11 no gnash, no adobe, no flasher 15:51:14 oklopol: err 15:51:20 there has to be or the other vidyas wouldn't play :D 15:51:21 screenshot? 15:52:12 http://www.vjn.fi/pb/p663436216.txt 15:52:22 textual screenshots :D 15:52:25 yes 15:52:25 Shockwave Flash 15:52:25 File name: libflashplayer.so 15:52:27 Shockwave Flash 9.0 r31 15:52:32 hokie, maybe flash 10's needed 15:52:37 cool. 15:52:40 oklopol: system->administration->synaptic package manager 15:52:43 search for "flash" 15:52:45 which one's ticked 15:52:48 and is there any "10"s 15:53:44 well let's see. 15:55:28 there's flashplugin, and it's 9 15:55:35 flashplugin-non 15:56:10 oklopol: no 10 ones? 15:56:42 oklopol: then you'll have to uninstall that and get it from adobe, think it's worth it? :P 15:57:02 nothing's worth something that drastic :D 15:57:16 yeah 30 seconds of work is drastic :D 15:57:51 it's not the duration, it's the principle! who am i kidding, it's the insanity. 15:58:00 :D 16:00:28 the level 3 ai is scary, it's like playing against god, except he actually moves the pieces 16:00:36 define level 3 16:00:49 well you know the reversi that came with the os 16:00:56 ah. 16:00:59 you didn't specify :P 16:01:02 -!- psygnisfive has quit (Read error: 104 (Connection reset by peer)). 16:01:03 * ehird starts up ubuntu vm 16:01:04 -!- psygnisfive has joined. 16:01:11 well i assumed it was self-evident ;) 16:01:15 which one's reversi? 16:01:21 o ya 16:01:21 that game 16:01:22 the one where you reverse 16:01:27 you mean Iagno 16:01:29 yes 16:01:34 love that game 16:01:44 does iagno have multiplayer over network 16:01:55 dunno. i wouldn't play with you :) 16:02:01 yeah cuz I'd beat you 16:02:04 yes 16:02:07 exactly 16:02:13 actually i'm pretty shit at reversi 16:03:05 ha 16:03:08 it does have networking 16:04:29 i'm shit at all games 16:04:57 Even pong? 16:05:02 damn that level 3 ai is impossible 16:05:06 me 5 it 59 16:05:20 okay i'm shit at games that are about intelligence 16:05:31 i'm very good at interactive games 16:06:11 oklopol: if I set up a network game now how unlikely are you to not not accept it :-D 16:06:42 very! 16:06:58 * oklopol counts nots 16:07:02 yay! 16:07:05 what if I said you had no choice :-D 16:07:39 well i guess i can lose one game 16:07:53 right I'm just figuring out this multiplayer thingy 16:08:05 okay, just tell me which button to press when you're done :) 16:09:14 * ehird hopes for best 16:10:04 it just keeps hanging :< 16:15:35 -!- provvl has joined. 16:15:46 hey guys 16:15:54 what was that programming language that was way ahead of its time? 16:16:56 erm 16:17:00 haskell? 16:17:06 Java! 16:17:06 lisp? 16:17:09 oklopol: AAAAAAAAAAA 16:17:53 no i mean from like the 70s i think 16:18:00 give or take a decade 16:18:03 lisp is from the 50s 16:18:12 haskell and java is not 16:18:14 and no not lisp 16:18:19 oklopol was joking with java 16:18:21 OH i remember how to find it now 16:18:26 anyway more details? 16:18:30 also hi have you been here before? 16:18:35 squirrelfish has a new feature specifically pulled from this one 16:18:48 i think polymorphic is in the name of the feature 16:18:49 The JS engine? 16:18:51 yes 16:18:54 Not ringing a bell. 16:19:12 provvl: do we mean implementation technique or language feature? 16:19:18 squirrelfish doesn't add any language freatures 16:19:19 implementation technique 16:19:20 *feature 16:19:21 s 16:19:33 provvl: like how squirrelfish infers types as the program runs? 16:19:35 something to do with caching 16:19:41 no, 16:19:46 sorry i might have used the wrong word 16:19:57 I think I know what you mean 16:19:59 dunno the name 16:20:00 rats 16:20:03 or specifically what it does 16:20:06 well it takes that concept from this old language 16:20:09 thts way ahead of its time 16:20:12 provvl: read the squirrelfish announcements? 16:20:15 trying 16:20:21 + squirrelfish extreme + nitro (rebranded SFE) 16:20:30 right 16:24:53 -!- ais523 has joined. 16:25:29 Polymorphic Inline Cache! 16:25:38 yep 16:25:42 hi ais523 16:25:47 hi 16:26:45 Self! 16:27:08 YES 16:27:08 Self 16:27:10 came out 16:27:13 in the 90s 16:27:15 :-P 16:27:23 :'( 16:27:26 well 16:27:27 1986 16:27:32 but more public in the 90s 16:27:41 The first public release was in 1990, and the next year the team moved to Sun Microsystems where they continued work on the language. Several new releases followed until falling largely dormant in 1995 with the 4.0 version. The latest 4.2 version was released in 2004 and runs on Mac OS X and Solaris. 16:27:53 aha, i was right! 16:28:12 you said 70 give or take 10 years 16:28:12 -!- provvl has quit (Remote closed the connection). 16:28:13 1980 16:28:15 so 6 years off 16:28:16 so ha. 16:28:19 damn he's gone. 16:29:17 wtf, the T-Mobile G1 (the phone running google's Android os) has a music player but no headphone jack 16:29:19 how ridiculous 16:32:40 who was provvl? 16:34:13 a guy 16:34:18 * ehird shrug 16:34:33 never been in here before 16:34:34 says grep 16:34:41 he just asked about one thing 16:34:51 not entirely esolang related 16:34:52 but programming related 16:34:56 and language related 16:35:02 and obscure language related 16:35:57 http://blog.morrildl.net/2008/09/various-software-licenses-in-single.html 16:36:52 ehird: heh 16:36:56 not entirely accurate, but still funny 16:42:47 also 16:42:48 http://www.jwdt.com/~paysan/httpd-en.html 16:43:08 I love how Forthers, whenever they see a data format, think "How can I evaluate this as Forth"? 16:43:18 s/"\?/?"/ 16:43:39 It's an apache-esque webserver with mime types, keepalive http connections, 16:43:46 and embedded forth scripting 16:43:48 in only a 100 or so lines 16:43:53 Very impressive 16:44:34 Forth have obviously stolen that old Overload trick 16:44:51 the idea was that you could run any language by changing the syntax of Overload to emulate that language 16:45:16 heh 16:45:19 forth does it much simpler 16:45:22 they just define words 16:45:30 well, Overload just defined characters 16:45:35 they only hack the parser if they absolutely cannot wrangle it to start with a word and a space 16:45:45 (because with a word and a space you can read arbitrary characters/words) 16:45:57 (if it starts with @@, gotta hack the parser, though) 16:49:36 hi 16:49:40 hi 16:49:47 I love especially how that article end with how it's much too long 16:51:33 ehird: is that entire article written in literate Forth? 16:51:50 ais523: no such thing, it's just html with forth snippets :P 16:51:56 what do you mean no such thing 16:51:57 literate programming involves rearranging code, BTW 16:52:00 for reading order 16:52:03 ah, ok 16:52:03 so it's not literate forth 16:52:09 ais523: it's not marked in any way 16:52:12 apart from html tags 16:52:13 and whatnot 16:52:17 the HTML tags are enough, IMO 16:52:25 even literate Haskell can use LaTeX tags 16:53:19 -!- MigoMipo has joined. 16:53:19 I added some whitespace in between the definitions of that and put it in a text file 16:53:29 180 lines of lightly-commented, well factored forth with whitespace 16:53:44 and it's a core-of-apache clone 16:53:58 with mimetype file parsing, a CGI-alike, error handling and keepalive connections 16:54:16 if only you could read it. 16:55:32 hah 16:57:02 : test DOES> ." Hello, world!" ; ok 16:57:02 test ok 16:57:03 : foo test ; ok 16:57:05 foo Hello, world! ok 16:57:07 ↑ i love it 16:57:12 if you interpret the word, it d oes nothing 16:57:14 put it in a definition? 16:57:16 BAM, it expands. 17:09:06 uuencode should have an option to make lines 80 characters 17:10:15 ehird, hm about forth web server, I haven't had time to read that fully and I know almost no forth... What about security. How easy would it be to trick the web server into running something esle 17:10:26 AnMaster: I think it runs in a restricted vocab. 17:10:27 Dunno. 17:10:42 else* 17:10:44 ehird, ah ok 17:10:56 you mean somewhat like a perl sandbox or such 17:13:03 yeah. 17:19:29 Grah. 17:19:38 My editor cannot handle selecting 2000 lines in one go very well. 17:19:41 anyway, by populat demand: http://filebin.ca/kfseue/ais52308_1.xml 17:19:50 I wrote Pong in Enigma 17:20:04 ehird: C-space C-u 2000 17:20:12 yes, vim can do that too 17:20:16 I know 17:20:16 but I'm not using vim 17:20:17 -!- asiekierka has quit. 17:20:19 ais523: ALSO HOT. 17:20:19 even more easily 17:20:23 * ehird downloads 17:20:25 V2000j, isn't it? 17:20:27 or is that a lowercase v? 17:20:37 V2j 17:20:39 yep 17:20:43 (for 2 lines down) 17:20:48 v2j also works 17:21:43 * ehird ^space Enigma enter 17:22:01 * ais523 alt-f2 enigma enter 17:22:07 ais523: mine searches. 17:22:08 also 17:22:10 needs better controls 17:22:11 ais523, hm I have ais52301_1.xml ais52304_1.xml ais52306_1.xml ais52308_1.xml here 17:22:21 the rest are not completed? 17:22:28 AnMaster: I released 7 as well 17:22:31 and yes, the rest aren't completed 17:22:37 link to 7 17:22:43 I'll repaste it 17:22:47 ais523: with better controls and a ball that acts more like a pong ball it'll be brilliant 17:22:47 thanks 17:23:06 http://filebin.ca/eeephv/ais52307_1.xml 17:23:16 ehird: I know, it could do with improvement 17:23:25 the AI's good but not perfect, after all you have to be able to win somehow 17:23:31 ais523: yeah, like not losing totally every time you get hit? :-) 17:23:46 what do you mean by that? 17:23:48 those controls just doesn't work well indeed 17:23:59 ais523: every time the AI hits you, all your progress is lost 17:24:02 ehird: oh, yes 17:24:07 but in easy, you only have to win 3 times in a row 17:24:30 and in hard, you also only have to win 3 times, but you have to win towards the top half of the map or it doesn't count 17:24:47 how is the ball different from a pong ball, anyway? 17:24:58 ais523, I can't manage the control in that pong level 17:25:01 ais523: when your bat hits it, it sort of curves 17:25:02 I just bounce around 17:25:03 instead of whacking 17:25:21 ehird: whacking's easier but much less playable, as you can't determine the angle the ball comes back at 17:25:28 HARUMPH 17:26:15 ais523, what mouse speed thingy do you use for that pong level 17:26:22 since it is unplayable for me 17:26:27 and why the ice... 17:26:42 AnMaster: why the ice, so the ball can go across it without stopping, but you have friction 17:26:46 there's a pin in your inventory 17:26:47 hm 17:26:51 and you have 5 times standard mouseforce 17:26:53 right 17:26:55 so it works like standard floor 17:27:16 I could multiply the mouseforce up higher, or you can adjust it by hand using left and right 17:27:25 ais523, but what mouse force setting do you use, I usually use 2 or 3 for most levels 17:27:32 what? 17:27:33 I use 9 17:27:37 hm ok 17:27:37 no wonder you're no good at the fast level 17:27:39 *level 17:27:41 *levels 17:27:46 and 9 is the default as well, AFAIR 17:27:48 then I just bounce around randomly in pong level 17:28:05 moving large objects always is tricky in Enigma 17:28:39 ais523, that's unplayable for me, I do not have that fast reaction time 17:28:51 AnMaster: well, pong's all about fast reaction time 17:28:55 you mean, the level's too difficult 17:28:56 I just end up bouncing around randomly 17:29:11 how do you do levels like DownDown or Magic Triangle with a mouseforce that low? 17:29:35 ais523, well maybe, I don't know. But I played pong and handled it fine, but with the ball bouncing back and forth thus moving it up and down in the same spot: unplayable 17:29:38 for me 17:29:48 ais523, I don't 17:30:01 -!- psygnisfive has quit (Read error: 104 (Connection reset by peer)). 17:30:04 so what you really want is all Enigma levels to be easy? 17:30:14 -!- psygnisfive has joined. 17:30:19 ais523, well I like the bf one for example 17:30:27 and several other ones 17:30:28 that one's kind-of weird 17:30:32 do you like my nim level? 17:30:41 actually, you might like _07 17:30:49 that doesn't require speed at all 17:30:51 not really 17:30:53 nim, was that the first one 17:30:54 or 17:30:59 and I haven't tried 07 yet 17:31:01 nim's _01 17:32:06 well I don't know the rules of nim, but it was obvious how to solve it on easy, I guess it is less pointless easy on the normal difficulty mode. 17:32:20 easy is the two-player mode 17:32:25 you're meant to play it against another human 17:32:29 I put it in just because I could 17:32:50 ais523: question: 17:32:56 does this work: 17:32:57 trap "foo" blah blah 17:32:58 exec bar 17:33:03 ais523, what do you think about that level where there are hidden switches under the grass that activate the coloured stones and you have to navigate a hidden maze to activate them 17:33:04 ehird: which lang? 17:33:05 so that when bar makes the signal it gets trapped? 17:33:07 ais523: bash 17:33:08 shell 17:33:09 etc 17:33:10 ais523, I loved that level for example 17:33:11 in general 17:33:13 unix 17:33:15 AnMaster: I hate that sort of level 17:33:19 ais523, why? :( 17:33:29 because it's just about finding things out, rather than intelligence 17:33:33 AnMaster: because it doesn't require intelligence, just dumb persistence? 17:33:36 that's not rewarding 17:33:39 that's insulting 17:33:43 I prefer levels to have all the information you need on-screen 17:33:51 or at least easy to deduce by experimentation 17:33:58 unless it's randomized and it's a memory level, then that's OK 17:33:59 ais523, so you never played nethack while wearing a blindfold? I haven't managed to ascend that one yet but I did get down to castle with it. 17:34:05 :P 17:34:18 AnMaster: I haven't played Zen, but that's rather different, the whole point is that you have ways to do things 17:34:22 ehird, I solved it by making a map on paper. 17:34:34 ais523, heh indeed. 17:34:37 e.g. a hidden maze full of death items, plus a way to get glasses so you can see it, that's fine 17:35:09 a pitty that hidden maze level wasn't random every time 17:35:15 would have made it much more interesting 17:35:56 let's see... 1, 4, 6, 7, 8 are finished (although 8 could probably do with improvements, I'm not sure how) 17:36:05 5 is sort-of finished, but I don't really like it 17:36:10 I'll paste it anyway if anyone's interested 17:36:14 what is the 5 one about 17:36:16 and 2 and 3 are missing AIs 17:36:24 AnMaster: I'll paste it so you can look 17:36:38 http://filebin.ca/txvcq/ais52305_1.xml 17:37:02 "burn your bridges" it seems like the new one in the auto dir 17:37:06 yes 17:37:14 oh no speed :( 17:37:19 not very 17:37:23 if you can't outrun a fire, what can you do? 17:37:54 ais523, that's trying to think under short time limit, I guess I could do it, have done some such, but it isn't anything I enjoy 17:38:05 * AnMaster goes playing wesnoth instead 17:38:12 well, after trying to get that level working, I've decided not to mess with fire in Enigma again 17:38:14 new campaign merged with mainline 17:38:17 it's just much more trouble than it's worth 17:38:23 ais523, might interest you 17:38:30 if you are tracking wesnoth trunk 17:38:41 I don't remember if you were doing that 17:38:47 I'm not, I'll wait for the new release to be packaged 17:38:55 probably at the end of the month with the next version of Ubuntu 17:39:13 that sounds like an odd co-incidence 17:39:24 I mean, this version feels rather unstable currently at least. 17:39:34 AnMaster: the latest /release/ of Wesnoth 17:39:45 which was a couple of weeks ago, and added a new campaign but not the one you're talking about now 17:39:54 ais523, well the last release of it (1.6 atm iirc) doesn't have this campaign 17:40:02 yes, but it has one that isn't in 1.5 17:40:07 the campaign I talked about was added yesterday or so 17:40:16 AnMaster: are you not listening to what I'm saying 17:40:22 I try to 17:40:30 but I guess we are talking about different things 17:40:53 I was saying, that unless 1.7 is released by end of month it is unlikely the new ubuntu version will include it. 17:41:20 and the one that was new in 1.6, iirc it was great 17:41:28 if it is the one I'm thinking about 17:41:32 very epic 17:41:36 yes, I mean I only have the ones in 1.5 atm, so I'm getting a new one but not the one you were talking about earlier 17:41:40 also, what's so good about epic? 17:41:47 like say, Northen rebirth or Under the burning sun 17:41:56 ais523, I just like that style of campaigns 17:42:00 a matter of taste 17:42:09 I care mostly about the battles than the plot 17:42:11 grr 17:42:13 I can get the plot by sourcereading 17:42:17 what's the sh(1) syntax for < ais523, oh it had some interesting stuff for that too 17:42:22 <<'EOF' 17:42:37 if you quote the end-of-heredoc marker, the stuff in between gets quoted the same way 17:42:45 AnMaster: I know 17:42:58 just some of the Wesnoth campaigns are too difficult for me atm, I'm not actually very good at Wesnoth 17:42:58 ais523, in other news it seems wesnoth also use lua now as well as it's own odd DSL, I don't know for how long it did this 17:43:01 even though it's a good game 17:43:14 it might have been for ages and I just missed it 17:45:34 * ehird almost has a script that takes a forth file and produces a sh-binary 17:45:36 ais523, personally I'm hoping Invasion from unknown gets mainlined at some point, I played it (needs wesnoth trunk sadly, and is rather buggy in parts atm) but is vast. Takes place after the fall (so great epic-potential there, as well as rather interesting battles, though it need some more work in that area) 17:45:40 of course, it's platform-specific, so not very useful 17:46:00 platform-specific in what way? 17:46:02 sh-binary? 17:46:05 does it generate nonportable sh? 17:46:13 it embeds the gforth binary 17:46:17 it's standalone 17:46:24 hah 17:46:34 AnMaster: sh-binary: a sh with uuencoded blocks that uudecodes them then runs theem 17:46:35 *them 17:47:07 ais523: oh god that bridges one 17:47:08 fucking water 17:47:42 ehird: I don't really like it either 17:47:53 it's annoying in lots of ways, annoying to play, it was annoying to make too 17:48:10 I more or less abandoned it, but given that it is completable I think I may as well paste it just in case someone sees some merit in it eventually 17:49:42 uudecode: stdin: no "begin" line 17:49:44 How queer. 17:49:52 Relevant snippet: 17:49:53 echo "$GFORTH" | uudecode -o "$GFORTH_LOC" || exit 255 17:49:54 ais523, that new one in 1.6 is "intermediate" btw, the new one in 1.7 is "novice". So far I played through 3 of it's 24 scenarios. It seems good. Too early to tell if it is "great". 17:49:54 echo "$IMAGE" | uudecode -o "$IMAGE_LOC" || exit 255 17:56:51 enigma 1.01 new #39, City Life 17:56:52 wow. 17:57:14 I haven't done that one, but it's interesting 17:57:16 I keep getting lost 18:03:11 wow, RPMs? 18:03:13 People use them? 18:07:31 http://twitter.com/wikileaks/status/1490956462 freedom-- 18:08:26 -!- Slereah_ has joined. 18:08:41 ehird: Red Hat and Fedora still exist, you know 18:08:50 ais523: I know, I just don't know why :- 18:08:52 :-P 18:09:37 ehird 18:09:40 i want to make something. 18:09:44 something AWESOME. 18:09:47 what should i make. 18:09:49 make a baby 18:09:56 but babies arent awesome 18:10:00 nor do they involve programming! 18:10:09 i'll have you know I used to be a baby and I have been awesome all my life 18:10:19 also, I program babies minds 18:10:21 they are my slaves. 18:10:22 get to it. 18:10:25 CRAZY 18:12:32 -!- Judofyr has joined. 18:12:47 but seriously 18:12:53 serious? here? 18:12:55 i need something to do. :\ 18:13:06 ehm 18:13:08 code a new language 18:15:03 psygnisfive: write a Forte interp 18:15:19 ais523: that's easy peasy 18:15:47 ehird: what, really? 18:15:51 sure 18:15:52 I'm the only person who's managed it so far 18:16:07 I'm slightly surprised there aren't more, so either Forte is deceptively difficult, or nobody was bothered 18:16:10 although I know oerjan tried and failed 18:16:12 latter. 18:16:18 I tried and gave up out of boredom 18:16:32 Here, I'll write one in Python/Ruby or some other lowest common denominator. 18:18:14 the would require that i know what forte is. 18:18:22 http://esolangs.org/wiki/forte 18:18:28 dont give me this nonsense 18:18:39 psygnisfive: why not 18:18:40 you asked 18:19:54 -!- Slereah has quit (Read error: 110 (Connection timed out)). 18:20:23 * psygnisfive gives ehird and ais523 pound cake 18:20:53 ? 18:20:56 * ais523 gives it back 18:20:58 D: 18:21:00 but its yummy! 18:21:04 eat it! >| 18:21:13 but this is over IRC? 18:21:20 I don't trust food that's been sent over wireless 18:21:23 it could have got all sorts of corrupted 18:21:28 well it wasnt. 18:22:00 ais523: 18:22:01 All whitespace, apart from newlines and whitespace inside strings 18:22:04 what, so "R EM" works? 18:22:05 :-D 18:22:16 not sure 18:22:22 that may be a bug 18:22:23 i dont see why 18:22:23 I'll let it work 18:22:27 ais523: can you escape in strings with \ 18:22:27 forte is so magical 18:22:31 it seems not 18:22:34 I don't think so 18:22:40 ais523: how do you print "? 18:22:42 can't? 18:23:28 probably 18:23:32 let me check 18:23:45 ais523: wait, if 8 = 4 and 2 = 3, is 82 = 43? 18:23:48 I hope not 18:23:49 you can use PUT 18:23:51 and no 18:23:54 phew :P 18:23:57 it only operates on numbers, not their decimal representations 18:24:14 but yes, you use PUT to output characters that don't fit in strings 18:24:22 right okay, this should be easy 18:25:10 well, apart from string parsing, have to specialcase not filtering that 18:25:14 (I'm parsing with a loop and regex :-D) 18:25:42 -!- M0ny has quit ("PEW PEW"). 18:27:12 ehird: surely you mean lexing. 18:27:19 nope, parsing. 18:27:23 i'm a lazy bitch. 18:27:27 really now. 18:27:43 how are you managing to parse tree structures with a regex? 18:27:52 "a loop and a" 18:28:02 still! 18:28:02 psygnisfive: never heard of recursive regices? 18:28:18 * ais523 concludes that as regex is an abbreviation anyway, it's correct to use any pseudo-Latin plural you want to 18:28:28 ive never heard of a regular express that has non-star recursion. 18:28:56 expression* 18:29:22 actually I think I will lex 18:29:26 to avoid killign myself 18:29:32 good boy. 18:32:35 * ehird switches to haskell. 18:32:43 ais523: the main issue is the syntax :P 18:32:52 ehird: seriously? 18:32:58 syntax! :D 18:33:05 Judofyr: it's not _hard_ 18:33:07 it's just a pain 18:33:08 whats so complicated about this syntax, ehird 18:33:13 without a proper parser 18:33:15 like parsec 18:33:20 well build a proper parser then! 18:33:23 i am. 18:33:24 with parsec. 18:33:30 wuss. 18:33:31 do it by hand 18:33:37 _|_ 18:33:43 i hand code all my parsers. :D 18:34:14 i should probably write a generic parser thing for my little experiments. 18:34:24 are you all C guys? 18:34:31 no. 18:34:44 are any of us really "C guys"? 18:34:46 we'lre mostly everything guys 18:34:53 I'm probably the most C person here, or possibly AnMaster is 18:34:58 but I do high-level stuff too 18:35:07 well, I haven't touched C at all… 18:35:58 i'm an FP zealot! 18:36:31 I'm a Ruby guy (probably the most boring one here) 18:36:42 ruby's less boring than Python 18:36:49 boring != bad, though 18:37:01 ais523, "It is called Forte due to the mess it makes of the Peano postulates" <-- AUGH! 18:37:18 still, http://judofyr.net/posts/morse.html 18:37:33 and http://judofyr.net/posts/morse.html 18:37:37 uh 18:37:41 copy fail 18:37:44 yeah X and X man 18:37:55 AnMaster: am I not allowed a truly hideous pun now and again? 18:38:04 and http://judofyr.net/posts/tribute.html :P 18:38:18 18:38:20 ais523, well, it was oerjan quality. 18:38:24 SPAM SPAM BAM BAM 18:38:37 ehird, do you know anything about Fluxus? 18:38:42 what 18:38:55 apparently not 18:38:57 I don't either 18:39:36 -!- Hiato has joined. 18:40:00 resolveInteger :: Universe -> Integer -> Integer 18:40:01 resolveInteger u i | res == i = i 18:40:02 | otherwise = resolveInteger u res 18:40:04 where res = Map.findWithDefault i i u 18:40:06 haskell is so pretty 18:41:26 i love how you can condition on whether to enter the body using stuff that's meant to be calculated inthe body 18:42:55 ais523: I take it (N/0) is undefinde 18:43:00 unless 0 is ®edefined that is 18:43:01 *re 18:43:09 ehird: what a typo! 18:43:12 and yes 18:43:20 option-r vs r 18:43:36 Why would you press option there accidentally 18:43:38 * ehird makes undefined programs output "Demons fly out of your nose, washing the Windows API." 18:43:41 Deewiant: /shrug 18:46:28 ais523, Forte does seem easy to implement, if you know about lexers (I suck at them). 18:46:43 ais523, but I think the example has a bug, not 100% sure 18:46:50 172 LET 114=95 18:47:10 shouldn't that be: 172 LET 174=95 18:47:11 AnMaster: it's not the lexing that's the hard part I think, but the maths 18:47:19 ais523: why? 18:47:26 you just recursively lookup every integer, then lookup the result 18:47:29 ais523, just copy the value of the relevant variable 18:47:33 ehird, exactly 18:48:18 this would be as easy in a high level language like python as a dict with mappings or such I think. 18:48:25 or haskell 18:48:28 yeah 18:48:32 type Universe = Map Integer Integer 18:48:32 or forte 18:48:43 um... 18:48:53 forte in forte sounds hard 18:49:28 ais523, anyway what about that possible bug 18:49:43 I might just have confused things and 114 was redefined before 18:49:44 * oklopol guesses AnMaster s wrong 18:49:51 *is 18:49:51 AnMaster: but 114 and 174 are the /same number/ at that point 18:49:58 HAH! 18:49:59 redefinitions are transitive 18:50:00 ais523, aha 18:50:16 * oklopol owns at forte! 18:50:19 ais523, anyway I never said I was a good interpreter for it 18:50:20 :P 18:51:44 *Main> evalExpr emptyUniverse (Div (Const 2) (Const 0)) 18:51:44 *** Exception: Demons fly out of your nose, washing the Windows API. 18:52:12 ehird: you got my sig wrong 18:52:18 ais523: Howso? 18:52:23 fizzie: it makes demons fly out of my window, washing the windows api 18:52:24 ais523: just a harmless comment? :p 18:52:29 :D 18:52:30 Ah. 18:52:32 very harmless 18:52:36 I think I prefer my version :P 18:52:39 I don't 18:52:45 fungot: just funny that's all 18:52:46 oklopol: hello everyone :) usage: sad!code have fun!! 18:52:48 without the windows reference to start with it makes no sense 18:52:56 fizzie: it makes demons fly out of my window, washing the windows api <-- recursive quote yay 18:52:57 AnMaster: i'm not implying anything about perl... that, and whenever i go to university 18:53:10 fizzie: it makes demons fly out of my window, washing the windows api <-- recursive quote yay <--- why? 18:53:10 * AnMaster waits for someone to comment on his comment on it 18:53:12 ais523: and it doesn't change the _current_ handler. no wonder that it turned out 18:53:13 ais523: Naw, I got a psychedelic image of demons flying out of your nose to a window coloured like the windows logo, which they then wash 18:53:17 fungot: You are being awfully coherent today. 18:53:17 * AnMaster waits for someone to comment on his comment on it 18:53:17 fizzie: it makes demons fly out of my window, washing the windows api <-- recursive quote yay <--- why? 18:53:17 fizzie: not without extra definitions for stalin is this: if v is an n-dimensional inner product space has an orthonormal basis v_1,..., the calls to, log, sqrt, we have the kernel be the glass interpreter... brilliant. 18:53:18 AnMaster: i'm a very slow mail client in python :) yes fnord/ writings/ bignums.ps will be forced to disagree) 18:53:19 hah! 18:53:20 ais523: Naw, I got a psychedelic image of demons flying out of your nose to a window coloured like the windows logo, which they then wash 18:53:26 wow cool floods 18:53:27 fungot's a very slow mail client in python 18:53:27 ehird: you wouldn't happen to be a newer version than my netbsd box 18:53:29 o 18:53:29 o 18:53:29 o 18:53:32 okok 18:53:34 okokok 18:53:35 ais523, same second though 18:53:36 okokokok 18:53:49 ehird: are you a newer version than fungot's netbsd box? 18:53:51 ais523: help!! i'll have to write some stuff in common-scheme, and some stuff to crunch...) 18:53:57 ehird: I'd write that as resolveInteger u i = maybe i (resolveInteger u) (Map.lookup i u) 18:54:02 ais523: yes! 18:54:08 Deewiant: Oh, nice 18:54:19 my evalExpr is kind of ugly, meh 18:54:22 fizzie: it makes demons fly out of my window, washing the windows api <-- recursive quote yay <--- why" <-- why not 18:54:22 It's still a bit ugly, it refers to itself 18:54:23 AnMaster: they have nothing worth listening to. 18:54:33 *Main> evalExpr (Map.fromList [(1,7),(64,2)]) (Div (Const 2) (Const 64)) 18:54:33 7 18:54:35 HOORJ 18:54:35 """? 18:54:41 someone encoding fail 18:54:50 he's being annoying 18:54:51 and trying to avoid ? 18:54:56 and failing at it by encoding wrongly 18:55:02 that was intentional 18:55:06 Uh huh 18:55:10 why" 18:55:14 Damn that's funny and intentional 18:55:17 (may be ', I forget) 18:55:20 Maybe it was a quostion and not a question. 18:55:21 well, i have something to code now. :) 18:55:27 AnMaster: " and ? are on opposite sides of the kb, that makes no sense. 18:55:31 psygnisfive: the hello world? 18:55:35 no :P 18:55:43 i can give you a tutorial if you need one 18:55:43 oka 18:55:44 y 18:55:48 oklopol, ... 18:55:50 a tree drawing utility for my honors thesis 18:56:19 by that do you mean like a binary tree data structure? 18:56:29 that's a bit hard man, you'll never succeed 18:56:37 n-ary tree representations 18:56:42 of sentences. 18:56:49 but thats incidental. 18:56:50 n-ary 8| WTH man get outta here! 18:56:54 ;) 18:56:58 -!- oerjan has joined. 18:57:18 oerjan: i burned my tongue because my coffee is too hot 18:57:23 ok, who made an Enigma Sokoban level with invisible blocks? 18:57:28 just fyi, don't tell the others 18:57:33 oklopol: ok 18:58:30 oklopol: i sometimes bite my lip when eating and stressed. please don't pass on. 18:58:44 ais523, huh 18:58:56 oerjan: i'll keep that between me. 18:59:06 AnMaster: it has an easy mode where you can see them 18:59:12 darn almost did it again 18:59:21 ha 18:59:28 "INPUT. This works like LET, except that the redefinition of the number is taken from the input, not from an expression. The expression gives the number to redefine. " 18:59:30 ais523: separator? 18:59:31 newline? 18:59:33 ais523, which level is this 18:59:34 any non-integer? 18:59:40 ehird: I intended newline 18:59:41 what happens if input starts with non-digit 18:59:49 but it's not as if you can safely put INPUT in a program anyway, it's like gets 18:59:51 ehird: \u -> fst . until (isNothing.snd) (((,) <*> flip Map.lookup u) . fromJust . snd) . ap (,) Just 19:00:05 Deewiant: you know what? 19:00:07 kill yourself :-D 19:00:12 and if input starts with non-digit, pritn "Redo from start" and input again 19:00:13 Nah 19:00:19 *print 19:00:21 ais523: kay 19:00:48 ehird: That one's less efficient probably though, since it constructs tuples 19:00:59 ehird: what you don't think that was obvious? *duck* 19:01:28 obvious duck 19:01:36 is that your comic? 19:01:48 * oerjan swats oklopol -----### 19:01:53 ais523: can I pick something other than "Redo from start? 19:02:03 if you want to 19:02:10 I was trying to parody traditional BASIC with that 19:02:16 if i made a comic it would be a stick figure one 19:02:21 because that is the actual error message, and it's useless 19:02:27 since i cannot really draw, especially people 19:03:10 and also, i am much too perfectionist to make a stick figure comic 19:03:20 well umm make a blob comic 19:03:30 which is one reason why i rarely finish anything, ever :/ 19:04:10 same here 19:04:21 also i'm very lazy, but i guess so are you. 19:04:31 that would be another reason :D 19:05:02 -!- Hiato has quit (Read error: 104 (Connection reset by peer)). 19:05:04 "END. This causes the program to end. If this isn't given, the program enters an infinite loop rather than ending." 19:05:07 you mean it starts from the beginning 19:05:09 or just sits there? 19:05:25 just sits there 19:05:41 basically, all line numbers that aren't used contain NOPs 19:05:45 and it runs them off to infinity 19:05:53 heh 19:05:55 on second thought i _might_ be able to draw ducks :D 19:06:09 animals are easier than people 19:06:11 execCommand done 19:06:14 all I need now is the main loop 19:06:16 and the parser 19:06:28 69 lines so far, including whitespace and readability 19:08:50 -!- bsmntbombdood has quit (Read error: 104 (Connection reset by peer)). 19:09:21 -!- bsmntbombdood has joined. 19:10:16 ais523: 19:10:17 *Main> u <- execCommand emptyUniverse (Let (Const 9) (Const 7)) 19:10:17 *Main> execCommand u (PrintE (Mul (Const 6) (Const 9)) True) 19:10:19 42 19:10:21 fromList [(9,7)] 19:10:24 why is this hard again? 19:10:45 does it work for indirect redefinitions too? 19:10:51 ais523: example? 19:11:05 for instance, LET 3 = 5 : LET 12 = (1 + 2) + 4 19:11:10 that should set 12 = 9 19:11:47 also, LET 3 = 5 : LET 3 = 4 should set 5 to 4 19:11:47 forte in forte sounds hard 19:11:48 *Main> u <- execCommand emptyUniverse (Let (Const 3) (Const 5)) 19:11:48 *Main> execCommand u (Let (Const 12) (Add (Add (Const 1) (Const 2)) (Const 4))) 19:11:50 fromList [(3,5),(12,9)] 19:11:56 ais523: so hard :-P 19:12:16 *Main> u <- execCommand emptyUniverse (Let (Const 3) (Const 5)) 19:12:16 *Main> execCommand u (Let (Const 3) (Const 4)) 19:12:18 fromList [(3,5),(5,4)] 19:12:21 wrong 19:12:26 it should be [(3,4),(5,4)] 19:12:28 wa 19:12:28 hm maybe if you divided integers according to moduli wrt some number 19:12:28 t 19:12:37 ais523: erm 19:12:38 howso 19:12:46 oh, I see. 19:12:49 because I just set 3 to 4, it should be 4 not 5 19:12:52 sir, that's retarded. 19:12:58 ais523: however 19:13:03 ais523: that's just the internal data structure 19:13:08 ais523: when you do the lookup of 3 19:13:09 you get 4 19:13:11 so that some numbers were guaranteed not to be messed up 19:13:11 ah 19:13:15 since it sees that 5 is defined 19:13:16 and keeps going 19:13:17 oerjan: agreed 19:13:26 ehird: that's the important point, you've probably got it right then 19:13:27 it makes things easier 19:13:30 resolveInteger :: Universe -> Integer -> Integer 19:13:31 resolveInteger u i = maybe i (resolveInteger u) (Map.lookup i u) 19:13:32 replaceInteger :: Universe -> Integer -> Integer -> Universe 19:13:34 replaceInteger u i j = Map.insert i j u 19:15:17 "Whenever a command finishes, the command with the next lowest number is run, even if that command has run earlier. " 19:15:18 so 19:15:21 resolve all line numbers 19:15:25 pick the lowest 19:15:26 repeat? 19:15:27 except 19:15:30 that does one line over and over 19:15:33 your semantics are shaky 19:15:40 well 19:15:46 "*next* lowest number" 19:15:48 resolve all line numbers, keep track of last line number, condition on > last 19:15:50 pick lowest 19:15:51 "next lowest" seems quite clear 19:15:52 should work 19:16:12 ehird: pick the next 19:16:22 you pick the lowest that's higher than the current one 19:16:22 "condition on > last" 19:16:24 itt we read 19:16:26 yep 19:16:31 typing lag ftw 19:16:32 ehird: when i as usual overengineered my forte interpreter (in haskell too) to the point of never getting anywhere, i pondered how to shorten chains of numbers automatically 19:17:37 so that long-running programs shouldn't slow down 19:18:08 ais523: 19:18:09 10 A 19:18:10 10 B 19:18:14 is this an error or is 10= 19:18:15 B 19:18:17 or even more complex 19:18:26 oerjan: the wimpode Thutu interp does automatic shortening 19:18:32 ehird: undef 19:18:39 it says so in the article, IIRC 19:19:02 execCommand . snd . head . sortBy (\(a,_) (b,_) -> a <=> b) . toList . Map.filter (> l) . Map.map (resolveInteger u) $ p 19:19:13 well 19:19:13 ehird: sortBy (comparing fst) 19:19:18 that doesn't handle undefinedies 19:19:21 Deewiant: oo 19:19:39 Assuming <=> = compare, anyway 19:19:46 If not, sortBy ((<=>) `on` fst) 19:20:14 case cmds of 19:20:14 [] -> let x = x in x 19:20:16 ehird: And instead of head . sortBy, minimumBy 19:20:22 Deewiant: yeah but I'm casing on [] now 19:20:24 so I can't do that 19:20:35 Whatever 19:20:41 let x = x in x = fix id 19:20:50 Sure 19:20:53 Mine's cuter :P 19:21:16 ehird: let x = x in x will probably halt with error in ghc, not really loop 19:21:19 It won't loop forever, though 19:21:21 Yep 19:21:26 darn 19:21:44 you need to trick ghc's autodetection 19:21:58 are you sure it's possible?!?!? 19:22:15 let f n = f (n+1) in f 1 should do it 19:22:16 wait did that get old already. 19:22:46 well. maybe some coffee, for some reason my cup keeps emptying 19:22:47 -> 19:24:01 Deewiant: where's "comparing" 19:24:15 ehird: Ask lambdabot or hoogle? Data.Ord 19:24:16 or so i hope - that's something a strictness analyzer could probably detect 19:25:16 last (repeat ()) 19:25:35 hm... 19:26:48 * ehird realises that mapWithKeys doesn't let you change the key 19:29:03 yay 19:29:06 the parse tree of 19:29:06 30 LET 9=7 19:29:07 40 PRINT 6*9 19:29:09 prints 42 and hangs 19:29:11 mapKeysWith ? 19:29:19 Asztal_: I didn't need a map after all 19:29:30 TODO: parser, command line interface 19:29:37 current loc: 89 19:30:35 ais523: er wait 19:30:42 with : the second part doesn't get its own line right? 19:30:49 no 19:30:54 the second part just runs after the first part does 19:30:55 number i mean 19:30:55 darnit okay 19:31:33 what's the biggest real number you know *without googling*? 19:31:52 oklopol: fixed point 2 is pretty large, there are much larger though 19:31:56 oklopol: 7 19:32:02 it is a very real number 19:32:05 forte [(100110,Let (Const 110) (Add (Const 110) (Const 3))) 19:32:05 ,(109,Let (Const 100110), (Const 108)) 19:32:07 I assume fixed point 3 is larger 19:32:07 ,(110,Do (PrintS "Looping..." True) (Let (Const 108) (Add (Const 108) (Const 3))))] 19:32:08 wait fixed point 2? 19:32:10 let's see if this works 19:32:33 ais523: "Looping..." forever. 19:32:34 That's right is it not 19:32:36 ais523: what kind of fixed point are we talking about? 19:32:52 ehird: shouldn't be forever, IIRC 19:32:54 oh, yes 19:32:57 Indeed it gets slower and slower 19:32:58 if that's all you have in your loop 19:33:04 I'll make some elimination stuff 19:33:06 ais523: yours -- it's your program 19:33:07 oklopol: doesn't get substantially larger even if you Ackermann it 19:33:53 line 172 is meant to end it 19:33:53 ah. is it bigger than 7? 19:33:57 but you didn't put it in there 19:33:59 oklopol: yes 19:34:00 i guess it will have to slow down some just due to the map growing 19:34:05 ehird: you were beaten 19:34:13 oklopol: ? 19:34:17 :-( 19:34:24 ehird: ais523's was bigger 19:34:28 darn 19:34:28 :D 19:34:29 ais523: 19:34:31 This outputs 77, followed by 462. This sort of thing is why bracketing is compulsory in Forte. The line shows that non-newline whitespace is ignored (for technical reasons, there are no form feeds, tabs, or vertical tabs in the above line, but there could be and the line would still work). 19:34:35 100110 LET 110=110+3 19:34:37 109 LET 100110=108 19:34:39 110 PRINT "Looping...": LET 108=108+3 19:34:41 This prints the output 19:34:43 yeah i totally see the 172 19:35:04 ehird: I mean, my example had a line 172, which broke the loop 19:35:09 it didn't 19:35:10 This outputs 77, followed by 462. This sort of thing is why bracketing is compulsory in Forte. The line shows that non-newline whitespace is ignored (for technical reasons, there are no form feeds, tabs, or vertical tabs in the above line, but there could be and the line would still work). 19:35:10 you didn't put line 172 in your example 19:35:13 100110 LET 110=110+3 19:35:15 109 LET 100110=108 19:35:16 so the loop doesn't break in your case 19:35:17 110 PRINT "Looping...": LET 108=108+3 19:35:19 This prints the output 19:35:21 ehird: it's all one big program 19:35:21 that is a DIRECT QUOTE 19:35:23 from YOUR WIKI PAGE 19:35:25 oh 19:35:27 jeez 19:35:33 172 LET 114=95 is the line that terminates the loop 19:35:38 what, have you never seen literate Forte before? 19:36:13 All the examples here are part of one long program. 19:37:04 well it is a bit confusing if you don't actually read the intermission texts 19:37:37 Darn I introduced a bug 19:37:51 to whom? 19:38:02 bug all gone 19:38:05 oklopol: ololololol 19:38:12 ;;;;;;;;;;) 19:38:13 ais523: now it runs in constantness! 19:38:17 neu koed: 19:38:18 resolveInteger :: Universe -> Integer -> Integer 19:38:18 yay 19:38:19 resolveInteger u i = Map.findWithDefault i i u 19:38:21 replaceInteger :: Universe -> Integer -> Integer -> Universe 19:38:23 replaceInteger u i j = Map.insert i j . Map.fromList . map eliminate . Map.toList $ u 19:38:25 where eliminate (a,b) = (elim a,elim b) 19:38:27 elim x | x == i = j 19:38:29 elim x | otherwise = x 19:39:00 ehird: usually when it's that bad, i don't expect you to laugh, but to answer. not that it's a good excuse, but anyway. 19:39:05 -!- psygnisfive has quit (Read error: 104 (Connection reset by peer)). 19:39:13 ais523: question 19:39:14 forte [(0,PrintE (Const 2) True) 19:39:15 ,(1,Let (Const 2) (Add (Const 2) (Const 1)))] 19:39:16 -!- psygnisfive has joined. 19:39:20 ais523: that hangs 19:39:21 should it? 19:39:22 it's: 19:39:27 0 PRINT 2 19:39:30 1 LET 2=2+1 19:39:33 oh 19:39:34 ofc 19:39:36 it hangs after printing 2 19:39:38 cuz I don't loop 19:39:39 ;))) 19:39:45 yep 19:40:03 hangs because you don't loop? 19:40:19 ais523: er 19:40:20 forte [(0,PrintE (Const 4) True) 19:40:20 ,(1,Let (Const 4) (Add (Const 4) (Const 1))) 19:40:22 ,(2,Let (Const 3) (Const 0))] 19:40:24 that prints 4 then hangs 19:40:26 is that correct? 19:40:41 let's see 19:40:44 you print 4 19:40:46 then set 4 = 5 19:40:50 ais523: no 19:40:51 then set 3 = 0 19:40:52 not quite 19:40:53 I set 4=4+1 19:40:55 well, yes 19:40:57 which differs post-loop 19:40:58 but yeah 19:40:59 3 = 0 19:41:01 so 19:41:02 I'm working out what actually happens, not what your program says 19:41:03 it should go on to 3 19:41:05 which is 0 19:41:07 and print 5 19:41:09 yep 19:41:16 well hmm 19:41:19 post-resolving, it'll come to 19:41:22 3->printe etc 19:41:24 and it'll look for >2 19:41:24 then go onto 4, which is 5, and infiniloop because it's fallen off the end 19:41:26 so yes ab ug 19:41:31 ais523: darn :-D 19:41:34 but yeah 19:41:37 I need to print twice 19:42:11 *Main> main 19:42:11 [(0,PrintE (Const 4) True),(1,Let (Const 4) (Add (Const 4) (Const 1))),(2,Let (Const 3) (Const 0))] 19:42:13 4 19:42:15 [(1,Let (Const 4) (Add (Const 4) (Const 1))),(2,Let (Const 3) (Const 0))] 19:42:17 [(2,Let (Const 3) (Const 0))] 19:42:19 [] (forever) 19:42:19 so setting a number to another, A=B, means all instances of A seen later on, are turned into B's? 19:42:25 how oddery. 19:42:33 oklopol: yes, and if 2=3, then 1+1=3 19:42:51 assuming 1 is not changed 19:42:59 yes 19:43:03 and 3 is not changed 19:43:14 ([(0,PrintE (Const 4) True),(1,Let (Const 4) (Add (Const 4) (Const 1))),(2,Let (Const 3) (Const 0))],[(0,PrintE (Const 4) True),(1,Let (Const 4) (Add (Const 4) (Const 1))),(2,Let (Const 3) (Const 0))],[(0,PrintE (Const 4) True),(1,Let (Const 4) (Add (Const 4) (Const 1))),(2,Let (Const 3) (Const 0))]) 19:43:16 4 19:43:18 ([(0,PrintE (Const 4) True),(1,Let (Const 4) (Add (Const 4) (Const 1))),(2,Let (Const 3) (Const 0))],[(1,Let (Const 4) (Add (Const 4) (Const 1))),(2,Let (Const 3) (Const 0))],[(1,Let (Const 4) (Add (Const 4) (Const 1))),(2,Let (Const 3) (Const 0))]) 19:43:20 i was just wondering about the direction of assignment 19:43:22 ([(0,PrintE (Const 4) True),(1,Let (Const 4) (Add (Const 4) (Const 1))),(2,Let (Const 3) (Const 0))],[(2,Let (Const 3) (Const 0))],[(2,Let (Const 3) (Const 0))]) 19:43:25 ([(0,PrintE (Const 4) True),(1,Let (Const 4) (Add (Const 4) (Const 1))),(2,Let (Const 3) (Const 0))],[],[]) {{Forever}} 19:43:28 which is 19:43:29 it's quite intuitive how the actual evaluation goes 19:43:41 (line numbers looked up,line numbers greater than last one,sorted by line number) 19:43:51 aaand 19:43:59 the problem is that it isn't resolving 19:44:00 properly. 19:44:16 ie 19:44:19 it fixes the line numbers 19:44:23 but only existing ones that are redefined 19:44:46 and the bestest thing? 19:44:49 can't think of a good fix. 19:45:28 um how is that incorrect? 19:45:31 I told you it wasn't as easy as it looked 19:46:00 oerjan: because 3 = 0 19:46:03 therefore 3 is defined 19:46:05 and it's the same as 0 19:46:09 therefore when we go on to 3 19:46:12 we go on to 0 19:46:34 i -could- go over every line, even undefined ones, but then if your first number is huge it'll take ages to get there 19:46:34 oh 19:46:34 so 19:46:36 what I need to do 19:46:38 um you need to change the line numbers in the actual program, i would think 19:46:39 you want to set 0 = 3, don't you 19:46:42 is look up the line number, somehow 19:46:45 rather than 3 = 0 19:46:46 ais523: yes but 19:46:51 we're on 2 19:46:53 and redefine 3 19:46:55 then we go onto 3 19:46:56 = 0 19:46:57 and we're at 0 19:46:59 no 19:47:00 if you set 3 = 0 19:47:10 then you look for a line numbered 3, and there isn't one 19:47:10 ais523: then... 19:47:12 because 3 no longer exists 19:47:13 no 19:47:21 so you go on to looking for a line numbered 4 19:47:21 you look for a line numbered 3 -- which is 0 -- so you look for a line numbered 0 19:47:24 no 19:47:26 no 19:47:27 no 19:47:31 it isn't fair to let the implementation cheat the redefinition, ais523 19:47:32 you've misunderstood the language 19:47:44 no, i understand 19:47:48 ehird: the implementation only uses numbers that exist 19:47:48 I just think it's worse this way 19:47:48 imo 19:47:54 ais523: 3 exists 19:47:58 it's another word for 0 19:48:01 ehird: for each line in the current program, look up its line number, then replace that in the program and resort 19:48:03 3's just a new name for 0 19:48:06 therefore it's /lower/ than 2 19:48:07 anyway: 19:48:14 so the next number up from 2 is 4 19:48:15 ais523: well 19:48:16 good point 19:48:27 forte [(0,PrintE (Const 4) True) 19:48:27 ,(1,Let (Const 4) (Add (Const 4) (Const 1))) 19:48:29 ,(2,Let (Const 0) (Const 3))] 19:48:31 which is 19:48:33 0 PRINT 4 19:48:35 1 LET 4=4+1 19:48:37 2 LET 0=3 19:48:41 of course, this fails. 19:48:43 that terminates, not lopos 19:48:44 I need to keep going up 19:48:45 *loop 19:48:47 *loops 19:48:48 yeah 19:48:51 it gives 4,5,hang 19:48:55 yep, that's what's expected 19:49:03 yes, what i need is a do 19:49:03 aka a : 19:49:05 * ehird does so 19:49:16 * ais523 isn't convinced that Forte would be TC if not for : 19:49:27 I mean, Forte without : is not obviously TC 19:49:39 Forte with : is not /obviously/ TC either, just almost certainly is 19:49:57 4 19:49:57 5 19:49:59 6 19:50:01 8 19:50:03 32 19:50:05 128 19:50:07 512 19:50:09 2048 19:50:11 8192 19:50:13 that was unintentional 19:50:15 :-D 19:50:19 without : i think you can only loop with lines that copy themselves 19:50:22 0 PRINT 4: LET 4=4+1: LET 0=0+1 19:50:26 was the code 19:50:36 and do nothing else 19:50:40 *renumber 19:50:54 oerjan: yes 19:51:05 as far as I can tell, you can't do anything inside such a loop 19:51:27 er actually 19:51:41 you probably could make a set of lines that renumber each other 19:51:49 hmm 19:51:51 but each line can only renumber one line 19:51:56 0 PRINT 0: LET 0=0+1 19:52:00 shouldn't this give: 19:52:02 0,1,2,3 19:52:03 etc 19:52:08 instead I get 19:52:14 0,1,2,4,8,16,32,... 19:52:32 so the number of "surviving lines" == number of infinitely renumbering lines 19:53:24 ais523: ? 19:53:31 so without : you can only do a finite total number of other actions 19:53:32 i mean, 1 never changes 19:53:36 so 0 always increases by 1 19:53:39 so 0 is 0 19:53:41 then 0 becomes 1 19:53:42 then 0 becomes 2 19:53:54 so, ais523, is me getting 0,1,2,4,8 an interp bug? 19:54:00 ehird: when 0 becomes 2, 1 also does 19:54:04 ehird: that's undefined behaviour 19:54:08 because they are the same 19:54:08 oerjan: erm. why. 19:54:16 because you're renumbering the line you're on 19:54:28 1 != 2 19:54:29 once you have made two numbers equal, they stay equal 19:54:33 yes 19:54:38 ah 19:54:43 and changing one changes the other too 19:54:44 there's no way to reclaim a number once you've redefined it 19:54:50 and no way to make two numbers different once they're the same 19:54:53 heh, forte is one sick language. 19:55:18 ais523: I love how hard it is to make a trivial counter 19:55:23 yes 19:55:44 probably it's best to convert to decimal yourself, rather than trying to use PRINT 19:56:09 I think I decided a long time ago that any practical Thutu program would most likely leave numbers from 1 to 256 untouched so you could output them 19:56:10 it should work if you start with 2 instead of 0 19:56:23 oerjan: that's cheating 19:56:40 but I suppose you could just have a PRINT "0": PUT 10 : PRINT "1" : PUT 10 19:56:48 oh, you don't even need the double newlines 19:56:51 because no semicolon 19:56:55 PRINT "0": PRINT "1" 19:57:11 0 PRINT "Hello, world!": LET 1=1+2 19:57:15 you don't need the quotes 19:57:17 1 LET 0=0+3 19:57:22 so close 19:57:29 if you print before changing anything 19:57:57 so wait let me step through 19:58:10 (that was to ais523) 19:58:19 oerjan: good point 19:59:42 0 PRINT "Hello, world!": LET 1=1+2 19:59:42 1 LET 0=0+4 19:59:44 prints hw thrice. 20:00:28 ais523: I'll write a parser now. 20:00:42 Uh, do you want to change the spec so that 1 3PR INT "Hello, world!" 20:00:44 isn't valid? :P 20:00:52 Just say "whitespace between _TOKENS_" 20:00:55 NO! 20:01:02 oerjan: but he says it was a bug 20:01:06 that 1 3PR INT was valid 20:01:52 bah, just write a lexer 20:02:04 oerjan: no such distinction in parsec. 20:04:19 I guess I could do a pass over it 20:05:26 ais523: is \n\n equiv to \n 20:05:28 I assume so 20:05:32 it just isn't stated anywhere 20:05:36 int the program, yes 20:05:38 *in 20:05:41 but not in the output 20:05:46 right 20:08:16 *Main> dewhitespace "1 3PR INT \"Hello, world!\"" 20:08:16 "13PRINT\"Hello, world!\"" 20:08:23 now for parsery 20:08:45 ais523: I estimate ~130-150 lines for the final thing 20:09:04 that's quite a lot... 20:09:11 ais523: well, I'm not golfing 20:09:12 oh, Parsec is pretty verbose but easy to understand 20:09:17 I just wrote it pretty dumbly 20:09:20 ais523: I mean the final interp 20:09:23 Not just the parser 20:09:45 and I've defined data types, split things into functions, done error handling, optimization 20:09:45 etc 20:09:53 and this includes blank lines 20:10:21 * ehird open ~/.cabal/share/doc/parsec-3.0.0/html/index.html 20:10:25 with open(1), naturally 20:10:47 open(1) is the best thing about Mac 20:10:59 s/Mac/OS X/; and, well, I wouldn't go that far 20:11:04 There is a gnome version IIRC 20:11:15 what does open(1) do? 20:11:22 presumably, it's rather different from open(2) 20:11:24 ais523: give it a URI/filepath/anything, it opens it in the right application 20:11:31 ehird: like start in windows? 20:11:37 er, no? 20:11:43 open http://google.com # opens in your browser 20:11:47 open foo.html # this too 20:11:54 that is what start does in Windows 20:11:55 open foo.doc # opens whatever app does word docs 20:11:56 etc 20:11:57 the command, rather than the button 20:12:00 ais523: hm, okay 20:12:06 well it's presumably less intelligent 20:12:07 also: 20:12:16 open -a "Application Name" # opens the app in qusetion 20:12:18 Windows bases it on the file extension 20:12:18 start's just the command-line version of double-clicking, I think 20:12:22 open -e foo # opens with TextEdit 20:12:28 open -t foo # opens with 20:12:29 And I guess URLs have their own thing depending on the protocol 20:12:34 open -W foo # blocks until the app finishes 20:12:39 open -g foo # opens app in background 20:12:47 open -f # opens stdin with textedit 20:12:49 URL handlers in Windows certainly are in the same place as the file extension mappingsies. 20:12:52 -h, --header Searches header file locations for headers matching the given filenames, and opens them. 20:12:59 ↑ that's a bit out ofp lace 20:13:05 but, yeah, you can combine most of those ops 20:13:08 *options 20:13:10 fizzie: hiii 20:13:32 tl;dr open(1) opens umber of things in the right way and you can tell it just how you want it to open them 20:13:42 Hello. 20:13:46 s/umber/any number/ 20:13:52 fizzie: current fizzielocationupdate? 20:13:59 -!- psygnisfive has quit (Read error: 104 (Connection reset by peer)). 20:14:09 -!- psygnisfive has joined. 20:14:22 Hotel Puustelli, Lieksa, Eastern Finland. 20:14:41 The only hotel in the whole city, as a matter of fact. 20:14:55 The "city" having about 12k inhabitants. 20:15:05 right okay so in my brain that classifies finland as "on fizzie's train VS not on fizzie's train", it says you're not on a train. right. got it. 20:15:18 Yes. Not on a train. 20:15:29 thrilling. 20:15:31 Hmm, Lieksa 20:15:36 when will you next be on a train, so I can ask you what a train is like? 20:15:40 (despite knowing) 20:15:46 Is that north or south of Kuopio? 20:15:49 i mean maybe finn trains are different 20:16:17 they probably have saunas 20:16:47 I go by "fizziet" when on a train, because I pay by kilobyte for the GPRS and don't want to bouncer-backlog. 20:16:47 Next train is on Sunday-evening (~18-23 I think) Joensuu -> home. 20:16:47 Deewiant: "Hmm"? 20:17:15 Deewiant: I think it's Norther, but not too much. It's about 100 km from Joensuu to a bit northwardy direction. 20:17:32 fizzie: The hotel's Internet connection seems poor 20:17:52 And alright, then I've got some kind of idea about where it is 20:17:54 Deewiant: How so? You mean the "just a regular DSL link" thing? 20:18:27 fizzie: Three messages within one second in rapid succession and a minute later than their context 20:18:39 hi fizzie 20:18:51 Oh. Well, the wlan's a bit laggy, yes. 20:18:53 fizzie: "I go by", "Next train", and '"Hmm"?' all after "they probably have saunas" 20:19:10 what 20:19:16 I did /ping fizzie 20:19:17 and 20:19:23 got three replies 20:19:25 AnMaster: It's this bouncer thing, all my connected clients answer. :p 20:19:36 ais523: is forte CASE SENSITIVE? 20:19:37 You can do version too. 20:19:45 20:16 fizzie: I go by "fizziet" when on a train, because I pay by kilobyte for the GPRS and don't want to bouncer-backlog. 20:19:46 but dude 20:19:49 fizziet is one byte more 20:19:52 that's pretty wasteful 20:19:54 fizzie, that gave *FOUR* replies 20:19:54 try fizzy 20:19:54 even 20:20:05 AnMaster: I suppose the bouncer would reply as well 20:20:11 guess so 20:20:17 20:20 CTCP-reply VERSION from fizzie : LimeChat for OSX 0.20 20:20:17 20:20 CTCP-reply VERSION from fizzie : irssi v0.8.12 20:20:18 is the bouncer called "bip" 20:20:23 LimeChat buddies fizzie! 20:20:26 AnMaster: Yes. 20:20:33 never heard of that one before 20:20:37 ehird: Well, I installed it because you said nice things about it. 20:20:42 that I did. 20:20:44 And bip because it's in the Debian repository. 20:20:55 ah 20:21:19 Deewiant: Looked at a map, Lieksa is pretty much directly northwards from Joensuu, and approximately as much "more North" from Kuopio than Kuopio itself is from Joensuu. 20:21:52 fizzie: Sounds like where I placed it in my mind 20:22:20 About them bytes, my regular "using the phone itself for IRC" nick is "fizn". Not sure if I thought about bytes when choosing it, though. 20:23:25 ehird: I don't think I ever defined whether it was case-sensitive 20:23:36 ais523: shall we say it is? 20:23:43 whitespace insensitive but casesensitive is funny 20:25:00 well, the general idea is to mimic BASIC 20:25:06 traditional BASIC is, QBASIC isn't 20:25:11 so maybe different interps can be different about it 20:31:51 ais523: in 20:31:53 30 REM foo 20:31:56 does 30 "exist"? 20:31:58 -!- KingOfKarlsruhe has joined. 20:32:32 I think so 20:32:41 that shouldn't make any practical difference, though 20:32:48 except to make things undefined when they wouldn't have been 20:44:46 ais523: 174 lines, now to test it 20:45:04 [ehird:~/Code/scraps/2009-04] % cat>test.forte 20:45:04 30 LET 9=7 20:45:05 40 PRINT 6*9 20:45:07 [ehird:~/Code/scraps/2009-04] % ./forte test.forte 20:45:09 Stack space overflow: current size 8388608 bytes. 20:45:11 Use `+RTS -Ksize' to increase it. 20:45:24 That's so debuggable. 20:46:06 Deewiant: know how to get a stacktrace out of that? 20:46:27 agh 20:46:29 You can't stacktrace Haskell 20:46:32 I don't handle colon-newline-negation 20:46:34 Deewiant: :< 20:46:45 ais523: does colon always negate newlines? 20:46:46 even in REM? 20:46:47 that's fucked. up. 20:46:59 ehird: With laziness, the operation doesn't really make sense 20:47:04 * oerjan cackles evilly 20:47:06 The GHCi debugger can do some things 20:49:15 ais523: 20:49:20 10 REM Foo: 20:49:23 20 A 20:49:25 how does that parse? 20:49:26 and 20:49:29 10 REM Foo: 20:49:32 20:49:33 20 A 20:50:03 ooh, interesting 20:50:08 I'd say a : only cancels out one newline 20:50:20 and 10 REM Foo: 20 A just has 20 A as part of the comment 20:50:27 gah 20:50:28 I was going to do 20:50:35 do char ':'; many (char '\n'); anyChar <|> anyChar 20:50:38 which would have made 20:50:40 10 REM Foo: 20:50:41 20:50:42 20 A 20:50:44 all one comment 20:50:45 but nooo 20:50:49 I have to do it COMPLICATEY 20:50:50 oh, maybe that's better 20:50:54 I don't really care 20:50:56 nah 20:50:59 : just cancels a newline 20:51:17 ehird: leaving out many is complicatey? :D 20:51:30 err 20:51:32 nothing to do with that 20:51:33 separate issue 20:51:41 ais523: what about 20:51:44 10 PRINT "A": 20:51:46 20:51:52 does that wait for the next command? 20:52:07 "wait for the next command"? 20:52:15 Forte isn't a repl... 20:53:03 ais523: in the input stream. 20:53:32 ehird: you compile the whole program 20:53:39 you stop reading at EOF 20:53:43 Thaaaank you captain obvious. 20:53:45 I meant 20:53:48 I don't think a : can cancel out EOF, that would be ridiculous 20:53:48 When the parser sees 20:53:50 10 PRINT "A": 20:53:52 20:53:52 foo 20:53:54 is it 20:53:56 syntax error 20:53:58 or 20:54:00 10 PRINT "A": foo 20:54:09 if it's the latter, then REM's : handling differs from everyone else's 20:54:11 which is ridiculos 20:54:13 ridiculous 20:54:13 I don't think there's an "official" line 20:54:19 but probably the former 20:54:21 I'm asking you to make one :P 20:54:32 I was gonna go for the latter 20:54:36 to make it more whitespace-lenient 20:55:08 Deewiant: so how do you debug a stack overflow 20:55:30 ehird: it's probably an infinite loop anyway 20:55:37 oerjan: yes, but 20:55:41 i shouldn't get a stack overflow 20:55:42 and it's not that 20:55:45 it's a parser bug 20:55:48 ehird: Profile it 20:55:52 Deewiant: how >_< 20:55:56 ehird: RTFM 20:55:58 ehird: left recursion in parsec? :D 20:56:05 oerjan: yes, but there's a base case 20:56:11 I don't remember the profiling options by heart 20:56:12 pExpr :: Parser Expr 20:56:12 pExpr = choice 20:56:14 [do digits <- many1 digit; return (Const (read digits)) 20:56:16 ,op '+' Add 20:56:18 ... 20:56:20 where op c r = do e <- pExpr; char c; f <- pExpr; return (r e f) 20:56:26 also 20:56:28 that branch is never called 20:56:30 my program's just a REM 20:57:08 oh dear 20:57:17 left recursion _never_ works in parsec 20:57:26 oerjan: what, why 20:57:28 please understand that 20:57:30 even when there's a base case? 20:57:31 that's shit 20:57:44 anyway it's irrelevant 20:57:45 because it literally recurses before doing anything 20:57:46 that branch is never called 20:57:49 the program is 20:57:50 10 REM This is an example program: 20:57:51 it is written for the Esolang wiki. 20:57:56 oerjan: no, because it tries to find an integer first 20:58:00 then goes onto the recursy solutions 20:58:04 [do digits <- many1 digit; return (Const (read digits)) 20:58:04 ,op '+' Add 20:58:06 see? 20:58:36 but if it does _not_ find an integer? 20:58:46 ehird: fmap (Const . read) (many1 digit) 20:59:02 Deewiant: nothx 20:59:14 oerjan: then it looks for an expression (which looks for an integer) 20:59:33 anyway, that's not my bug ffs 20:59:33 ehird: No, it keeps looking for an integer forever 20:59:37 I think 20:59:37 yes, and then you infinitely recurse because there is none to find 21:00:10 i'll deal with that when I come to that. 21:00:22 ehird: but that _might_ be the problem 21:00:29 10 REM This is an example program: 21:00:29 it is written for the Esolang wiki. 21:00:35 is pExpr tried before the REM check? 21:00:35 that program cannot possibly parse a pExpr 21:00:49 of course not 21:00:51 oerjan: no, because they're all behind string "FOO"s 21:00:57 so they never get to that point 21:01:29 bah paste it 21:02:07 oerjan: http://pastie.org/443146.txt?key=uqwgsv07ofssmmmcr9dzq 21:04:10 ehird: i see an indentation error at least 21:04:17 <|> directly below do 21:04:17 oerjan: erm ghc disagrees 21:04:26 (do char ':'; many (char '\n'); return () 21:04:26 <|> do anyChar; return ()) 21:04:29 how's that an error 21:04:40 oh wait 21:04:46 that just ends the do 21:04:49 It's confusingly intended is all 21:04:51 Er 21:04:54 Indented* 21:05:16 wouldn't it usually be something like: term = digit* | '(' expr ')'; expr = term (op expr)*; op = '+' | '-' | '*' | '/' 21:05:21 ehird: the <|> ends the _outer_ do 21:05:31 okay 21:05:42 oerjan: It can't, it's in () 21:05:48 because it's directly below string 21:05:50 it is? 21:05:53 yeh, makes no difference 21:05:56 so yer wrong 21:06:15 What it /might/ be is be in the same expression as the return () 21:06:20 no! 21:06:25 that _is_ the error 21:06:31 So it's actually = do char ':'; many (char '\n'); return () <|> do anyChar; return () 21:06:39 ehird: indent that <|> a bit 21:06:43 I did 21:06:45 and nothing changed 21:06:46 so stfu 21:06:51 the only branch hit is the REM one 21:06:55 :-P 21:07:07 oerjan: But since the whole thing is () it can't hit the outer do 21:07:34 Deewiant: the <|> is _not_ in () inside the do 21:07:55 ... 21:07:56 you're blind. 21:07:58 oerjan: "do char ':'; many (char '\n'); return () <|> do anyChar; return ()" is in () 21:08:13 Deewiant: that's not the <|> i was referring to 21:08:29 i am talking about the one after PRINT 21:08:37 Oh 21:08:39 dammit 21:08:41 you're reading wrong 21:08:44 it's fine 21:08:45 Well that one is definitely in the outer do 21:08:51 But it's also meant to be 21:08:57 em no 21:08:58 Since the do above it is in () 21:09:14 oerjan: It won't end the outer do 21:09:16 it is not _in_ the outer do 21:09:18 yes it will 21:09:19 Since it's indented below it 21:09:23 indentation error 21:09:36 you cannot start a do line with an operator 21:09:36 you are wrong. 21:09:43 oerjan: tell ghc that 21:09:47 because it happened to let me 21:09:47 ehird: try indenting it 21:09:50 I DID 21:09:51 NOTHING CHANGED 21:09:56 WHATSOEVER 21:10:13 main = do putStrLn "foo" 21:10:13 >> 21:10:13 putStrLn "bar" 21:10:18 oerjan: Works as one might expect 21:10:47 oh well ghc may not be strict about it 21:11:10 ghc is not the culprit here. 21:11:40 um according to haskell 98 that <|> _should_ end the do or possibly just error 21:12:09 can we go on to the real problem now 21:12:16 I'm not sure you're right 21:12:33 well since you tested it and it didn't help 21:13:02 the indentation rule says to insert a ; before the <|> 21:13:31 do notation considered harmful. :) 21:13:33 brb 21:13:50 but let me look at the REM then 21:16:37 -!- Gracenotes has joined. 21:16:50 oerjan: Based on a quick look at the report I'd say you're right, but FWIW Hugs accepts the code I pasted as well 21:17:08 hm 21:20:14 I think the code you pasted becomes (do putStrLn "foo") >> putStrLn "bar", so the <|> maybe indeed be escaping 21:20:28 Hmm, that could be 21:21:07 but if so indenting it should help 21:21:14 unless there is another bug 21:21:50 because if the <|> escapes, it creates exactly a forbidden left recursion in the second branch 21:22:30 Asztal_: You're right, it does 21:22:32 erm, it calls pExpr i mean, which left recurses because there is no integer at that spot 21:22:35 main = do let x = 1 21:22:35 putStrLn "foo" 21:22:35 >> 21:22:35 print x 21:22:40 That fails because x isn't in scope 21:23:06 Deewiant: is that with ghc? 21:23:15 oerjan: And Hugs 21:23:36 * oerjan realizes his hugs installation is mesozoic 21:24:22 the parsec module names have changed 21:24:43 Hugs is mesozoic :-P 21:25:47 * Slereah_ hugs oerjan 21:25:50 ehird: given what Deewiant says, you _really_ should check that indentation of the <|> in the PRINT branch 21:28:54 unless you are _really_ sure that's what you did when you said nothing changed 21:31:51 ehird: also, check out Debug.Trace.trace for simple debug print statements 21:33:58 ais523, only downside of svn wesnoth is that you sometimes get stuck due to bugs making the levels not work (just reported such a bug) 21:34:41 that's a general downside of sticking on svn head 21:34:44 and it isn't the only downside 21:34:50 the need to install things by hand is another, I'd think 21:35:06 * ais523 is vaguely surprised that AnMaster even uses a package manager 21:35:31 ais523, wesnoth can be run from build dir... 21:35:36 well with a few symlinks 21:35:43 so it finds it's data dir 21:36:14 ais523, anyway of course I use package manager for everything outside /home 21:36:22 I prefer to keep track of files 21:37:59 and for stuff in my home dir I use a separate directories for each package, like ~/local/llvm/2.5 ~/local/flightgear/trunk ~/local/valgrind/trunk ~/local/python/3.0 and so on 21:38:57 ais523, that helps for keeping stuff organized 21:39:03 -!- CakeProphet has joined. 21:39:08 err 21:39:09 grammar 21:39:32 ~/local 21:39:37 is that like /usr/local? 21:40:22 I call my such directory ~/opt 21:41:32 is that the optimal name? 21:41:41 Quite. 21:47:10 I have ~/research for things on my computer that I didn't work on 21:47:18 like downloaded programs 21:47:24 unless they fit under ~/esoteric 21:47:54 -!- oerjan has quit ("Good night"). 21:50:26 ais523, and now it was fixed, 21:50:37 very quick, usually it takes an hour or so at least 21:50:47 maybe someone who knew how to fix it was online 21:51:45 ais523, indeed, one of the maintainers of the campaign was. 21:51:53 now I got a C++y build error instead though 21:52:01 http://rafb.net/p/0HD0mx75.html if anyone cares 21:52:09 bbl 21:52:13 ehird: RAFB ALERT 21:52:24 SOUND THE ALARM 21:52:34 *BEEEEP BEEEEEEEP* 21:52:58 WEEEOOOO WEEEEOOOO WEEEEOOOO 21:53:10 COFFEE IS SOOOOOOOOOOOOOOOOOOOOOOO GOOD 21:53:24 That's not the alarm, that's the coffee machine! 21:53:31 that's a very C++y error 21:53:55 ais523, indeed. 21:55:32 http://entangle.mearie.org/sapzil/pyfunge-docs/funge98.html i don't know why i wrote that thing... strange. 21:56:42 * lifthrasiir made pyfunge 0.5 branch while doing a lot of refactoring 21:56:46 lifthrasiir: you're just doing what things like gcc do, documenting all the interp-specific stuff 21:57:43 you are maybe right. 21:58:29 it's also a very professional-looking docs for a Funge interp 22:00:10 maybe i was trying to do it since behavior of many fingerprints is never precisely documented, except for reference implementation 22:00:36 Yeah, I've often wondered about writing such a thing as well, for the RCS fingerprints 22:00:41 checkinstall FTW 22:01:13 (AnMaster and non debianists: 22:01:22 checkinstall does "make install" or w/e and prompts you for a lil bit of metadata 22:01:29 then it makes a .deb out of it and installs it 22:01:30 ) 22:01:33 lifthrasiir: you're just doing what things like gcc do, documenting all the interp-specific stuff <-- cfunge do something like that too, a short section in the readme on it 22:01:35 checkinstall seems to fail a lot of the time. 22:01:42 ccbi has it in --help or something iirc 22:01:45 up to date 3rd party software + one package manager = FUCK YEAH 22:01:51 Asztal_: it's easy to get it working in my experience 22:01:53 but not as complete as that list of lifthrasiir 22:01:55 AnMaster: --implementation 22:02:01 ah ok 22:02:06 21:58 ais523: it's also a very professional-looking docs for a Funge interp 22:02:10 Or wait, --print-fprints for the fingerprint stuff 22:02:11 python's official doc system 22:02:16 so not his doing 22:02:32 still, though 22:02:33 It should be complete, it just assumes you know what the documentation is supposed to say ;-P 22:02:38 also, I'm not repasting that C++ error paste because, like every C++ error, it carries 0 bits of information 22:02:43 "sfwd:61: error: declaration of ‘struct std::" 22:02:46 Pastebin escaping fail. 22:02:53 ais523, agreed 22:03:02 lifthrasiir: planning to implement IFFI at all? 22:03:19 ehird, agreed about that 22:03:43 AnMaster: you know, you could have just appended 2>&1 | lisppaste to the invocation 22:03:44 :-P 22:04:12 Deewiant: oerjan-not-here: I did fix the indentation 22:04:13 It's not that 22:04:17 ehird, assuming it was in $PATH and not ~/irc/freenode/esoteric/ehird/lisppaste :P 22:04:18 ais523: what fingerprint? i have no information about it. 22:04:22 -!- neldoreth|lp has joined. 22:04:32 AnMaster: ln -s ~/irc/freenode/esoteric/ehird/lisppaste ~/local/bin 22:04:38 (but the name reminds me FFI....) 22:04:40 directory order kept while convenience enhanced. 22:04:47 lifthrasiir: intercal<->funge98 interface 22:04:47 lifthrasiir: let me paste the relevant parts of the cfunge+ick docs 22:04:48 ehird, also I couldn't have done that, because there were loads of "updating mo" before 22:04:56 AnMaster: | tail -N | 22:04:57 ehird: it's intercal-like FFI 22:04:57 for about 200 or so different *.po 22:05:00 err, tail +N 22:05:03 or, sed or w/e 22:05:04 it doesn't have to have anything to do with INTERCAL, really 22:05:10 or, just copy it and paste into $ lisppaste 22:05:20 which is faster than rafb.nte anyway, most probably 22:05:23 *rafb.net 22:06:12 lifthrasiir: http://rafb.net/p/t9sHPM29.html 22:06:15 on rafb to annoy ehird 22:06:43 You know, you don't have to be a dick. 22:06:52 http://paste.lisp.org/display/78378, pasted as "ais523" to annoy ais523. 22:07:11 ehird: put it this way, the docs are available in a C-INTERCAL distribution anyway 22:07:22 so putting it somewhere permanent is just wasting storage space bytes 22:07:22 Sure. 22:07:30 i think that's too strange to be implemented for near future. ;) 22:07:35 Yeah, the whole KB or so of text. 22:07:40 How wasteful. 22:07:43 -!- neldoreth|lp has quit (Client Quit). 22:07:47 It's not like 10TB is affordable to put in a server nowadays. 22:08:16 (and i'm not good at intercal, of course) 22:08:21 -!- M0ny has joined. 22:08:27 hi M0ny 22:08:45 hi ais523 22:08:46 ehird: I think you're mostly just missing the fact that some conversations are just ephemeral 22:08:54 ais523: They would be if not for clog. 22:09:06 Clog exists to preserve our ephemeral conversations. 22:09:09 most conversations here don't make sense afterwards anyway 22:09:19 ais523: Sure they do; I'm an avid logreader, I do it for interest and fun. 22:09:19 clog exists to preserve the set of things which are actually intelligible months later 22:09:24 It is irritating seeing a link that has expired. 22:09:32 & kind of defeats the point 22:09:41 proto: put all the pastes on pastebin.ca, and set it to expire after 5 minutes, but only when ehird isn't here 22:10:04 proto: Don't be an asshole just to annoy me. Crazy, I know 22:10:17 it's just that you're annoying everyone else with the whole pastebin thing 22:10:35 You know I haven't complained about rafb much in ages. 22:11:11 It's such an interestingly common thing with humans: if a thing used to happen a lot and now happens only sporadically - heck, if it completely stops and is only survived by people joking about it when it would usually happen - they, for some reason, assume it still happens constantly. 22:11:28 you did it earlier 22:11:33 without prompting 22:11:50 Oh did I? 22:11:51 Wrong. 22:11:59 21:52 oklopol: ehird: RAFB ALERT 22:11:59 21:52 Deewiant: SOUND THE ALARM 22:12:00 21:52 oklopol: *BEEEEP BEEEEEEEP* 22:12:02 21:52 Deewiant: WEEEOOOO WEEEEOOOO WEEEEOOOO 22:12:04 21:53 oklopol: COFFEE IS SOOOOOOOOOOOOOOOOOOOOOOO GOOD 22:12:09 I wasn't here then 22:12:13 Well then. 22:12:16 I thought there was another time... 22:12:24 ais523: yes you were! 22:12:38 21:52 AnMaster: http://rafb.net/p/0HD0mx75.html if anyone cares 22:12:38 21:52 AnMaster: bbl 22:12:39 21:52 oklopol: ehird: RAFB ALERT 22:12:41 [...] 22:12:43 21:53 Deewiant: That's not the alarm, that's the coffee machine! 22:12:45 21:53 ais523: that's a very C++y error 22:12:47 no joins in between 22:13:46 oh, I thought there was another occasion today 22:13:57 it must be that oklopol's allcaps hit my mental spam filter 22:14:18 -!- neldoreth|lp has joined. 22:14:56 The problem with mental spamfilters on IRC is that on email people don't have in-depth conversations with viagra spammers. 22:15:22 ehird: you get lots of spam from other people, though 22:15:35 often people getting annoyed and writing in allcaps, or one word a line, or doing large pastes 22:15:38 in-channel 22:15:42 The point is that every time I ignore AnMaster I unignore him because I can't follow the channel. 22:15:54 So spamfiltering IRC doesn't really work. 22:15:54 people think it adds weight to their words, but actually it just makes them impossible to read 22:16:14 well, you know, most people think that conversations involving AnMaster can be interesting 22:16:19 -!- neldoreth|lp has quit (Client Quit). 22:16:20 ais523: Your brain's weird if it can't parse a wimpy enter-as-space. 22:16:23 Also, that's the point. 22:16:33 You say that /ignore lets everyone see what they want and everyone's happy 22:16:35 my brain ignores it because the content of the message is generally useless in such cases 22:16:36 but it doesn't work in practice 22:16:43 * AnMaster turns off highlight flashing for this channel for a while, busy playing wesnoth 22:16:54 AnMaster AnMaster AnMaster AnMaster AnMaster 22:17:03 -!- neldoreth|lp has joined. 22:17:04 *ehird misses the point 22:17:18 ais523: if I say it enough his client will give in and beep 22:17:19 AnMaster AnMaster AnMaster AnMaster AnMaster AnMaster AnMaster AnMaster AnMaster AnMaster AnMaster AnMaster AnMaster AnMaster AnMaster AnMaster AnMaster AnMaster AnMaster AnMaster AnMaster AnMaster AnMaster AnMaster AnMaster 22:17:59 ehird: no, you'll just annoyingly spam everyone else 22:18:08 Nobody's talking, ais523. 22:18:26 that doesn't make spamming any less annoying 22:18:34 because it means that I have to focus on the channel 22:18:40 you don't _have_ to 22:18:43 whereas if here's empty, I can just do other things 22:18:53 well, no, but I do if I want to determine if anything useful was said or not 22:19:09 anything useful 22:19:16 Answer: Yes. Now you can ignore this channel. 22:25:08 -!- neldoret1|lp has joined. 22:25:21 -!- neldoret1|lp has quit (Client Quit). 22:26:13 -!- zzo38 has joined. 22:26:48 You know I haven't complained about rafb much in ages. 22:26:48 It's such an interestingly common thing with humans: if a thing used to happen a lot and now happens only sporadically - heck, if it completely stops and is only survived by people joking about it when it would usually happen - they, for some reason, assume it still happens constantly. <<< yep, interesting phenomenon 22:27:11 I think Burro programs do not form a group because a anti-condition by itself does not mean anything. Am I wrong? 22:27:48 not sure i assumed it happens constantly ofc, my brain doesn't really understand time, but i've noticed that multiple times too. 22:28:13 And now for the game "Pulling the rules of Magic: the Gathering as far as possible and even a bit more farther as well" 22:28:40 A card has only the type Tribal and no other types or text. Its mana cost is {G}. 22:28:42 The problem with mental spamfilters on IRC is that on email people don't have in-depth conversations with viagra spammers. <<< you say lots of clever things today, are you especially lucid for some reason? 22:28:54 You tell me what you think it does and I will tell you what I think it does, based on the rules. 22:28:57 oklopol: umm no, but let's just say yes so I feel cooler 22:28:58 zzo38: it isn't a permanent, although I'm not sure offhand if it can be played at all 22:29:55 oklopol: I think it's when I use correct grammar like this. I sound more sage-like. 22:29:59 I think it is a "permanent card" although it still cannot be played at all, but something can put it into play. 22:30:01 I think Burro programs do not form a group because a anti-condition by itself does not mean anything. Am I wrong? <<< just check the axioms 22:31:29 ehird: i'm a bit disappointed you didn't think that was sarcasm. i hate it when people know what i mean. 22:31:56 Another card: It has 2 types, Instant and Land. What does it do? Again, after you tell me what you think, I will tell you what I think. 22:32:08 i have a mental spam filter for most of the unix programs and stuff talk 22:32:17 oklopol: I considered that it might be sarcasm but then cried. 22:32:51 also for many programming topics that aren't entirely algorithmic 22:33:00 oklopol: but unix programs are like megaawesome 22:33:17 the problem is i usually really would like to understand those conversations :P 22:33:20 zzo38: Otherwise like a land but you can play it whenever you can play an instant 22:33:54 zzo38: you can only play it if it's legal to play an instant, and if you haven't played a land that turn 22:33:57 it seems i like noticing other people's intelligence atm. 22:34:05 once it comes into play it goes straight into the graveyard because it's an instant 22:34:15 Deewiant: No, I don't think so. How I think it works is: You can play it any time you have priority, as long as it is your turn and you haven't played a land yet this turn. However, when played, it stays in your hand instead of going into play, but it still counts as your land for the turn. 22:34:37 oklopol: did you get a bad grade or sth 22:34:41 zzo38: Why would it stay in your hand? 22:34:44 zzo38: I think it goes into the graveyard, bouncing through play, but you're otherwise right 22:34:50 ehird: err, yes, actually :D 22:34:57 oklopol: what out of 5 :-D 22:35:05 4, and this time there were 5's. 22:35:07 The rule 212.5d 22:35:07 also, if you play it when you couldn't play a sorcery, you have to pay its mana cost 22:35:09 oklopol: 7/5 as opposed to your wanted 7.001/5? 22:35:10 6/38 got a 5. 22:35:44 zzo38: Sorry, the rule set that I know relatively well is 15 years old ;-) 22:36:36 zzo38: what does it say? I don't have the rules handy 22:36:43 Would you be correct if it was the 15 year old rule set? Do you think I am correct with the current rule set? 22:36:49 ehird: the problem was i didn't have time to read the lecture notes, because i'd read the 600 page (optional) book, and i'd been sick so i just had one weekend to do that. 22:36:57 zzo38: Like said, what does the rule say 22:36:58 212.5d Instants can't come into play. If an instant would come into play, it remains in its previous zone instead. 22:36:58 but still, failure is a failure 22:37:00 also, 15 years old? isn't that before instants were invented? 22:37:02 oklopol: xD 22:37:09 zzo38: ah, I forgot about that one 22:37:18 ais523: Instants were always there, but interrupts were there as well 22:37:26 how many rules does magic have 22:37:29 like 70 billion? 22:37:30 Deewiant: that's something entirely different to modern instants 22:37:34 ehird: a few hundred 22:37:36 ais523: Yes, I know 22:37:44 ais523: is it a nomic yt 22:37:45 yet 22:37:54 ehird: sadly no 22:37:54 the book was about use case based software engineering, exam was mostly about agile development, because the lecturer has a boner for it 22:38:09 oklopol: then I think you should be proud to fail that 22:38:10 I don't know the details of the modern instants but from what I gather they're essentially interrupts 22:38:14 oklopol: because it sounds like a heap of shit :D 22:38:45 zzo38: I think ais523'd be right with the old rules 22:38:45 agile development isn't a fundamentally bad idea, if done right 22:38:49 In the modern Magic: the Gathering rules there is the stack, if you know the old rules, I'm not sure if it worked at all like the modern stack or not. 22:39:08 http://esoteric.voxelperfect.net/forum/kareha.pl/1192759617/l50 22:39:10 heheheh 22:39:12 (and "mostly" meant half of the questions were about AD) 22:39:19 Dude didn't notice that this board has no text art :D 22:39:19 There always was a stack 22:39:23 zzo38: the way interrupts used to work made them equivalent to stacked instants, except that timing of turns was slightly different 22:39:37 ais523: Different how? 22:39:38 OK 22:39:40 22:38 oklopol: agile development isn't a fundamentally bad idea, if done right ← The first & last time oklopol will ever endorse something billing itself as a "software development methodology" 22:39:43 Cherish this moment. 22:39:46 there was also a batch, which was how instants stacked, it was like a stack except everything popped simultaneously instead of one at a time 22:39:54 ehird: i enforce a lot of things on paper! :D 22:40:01 oklopol: *endorse 22:40:06 whoops. 22:40:14 Deewiant: I don't think you could play two stacked instant-speed effects without giving the opponent a chance to interrupt under the old rules 22:40:34 oklopol: but, you know, I just got the image of you forcing various things to have sex with paper and I kind of don't like that image 22:40:55 ehird: explanation to that, i tend to copy paste other people's expressions when responding to their msg's. 22:41:03 :-D 22:41:10 oh, even waterfall isn't a fundamentally bad idea if done right 22:41:21 although you have to modify it a lot for it to work correctly in practice 22:41:27 ais523: So, these days you can play two instants without the opponent being able to respond in between? 22:41:30 waterfall is fundamentally bad imo 22:41:40 "Be completely and utterly perfect before you do anything at all." 22:41:43 waterfalls are pretty 22:41:58 The third card: It is a card with the type Creature and P/T=1/1, with mana cost {G} and text "Phasing; When ~ comes into play, it becomes an Instant in addition to its other types." Tell me what you think and I tell you what I think, and then argue about who is correct. 22:42:02 Deewiant: yes, but the opponent gets to do things before they /resolve/ 22:42:42 zzo38: the opponent kills it with Shock before it gets to do anything interesting 22:43:05 also, I disagree with you about the instant land 22:43:10 -!- CakeProphet has quit (Read error: 110 (Connection timed out)). 22:43:11 Assume neither you nor the opponent doesn't do anything to interfere 22:43:24 it doesn't go back into your hand; it stays on the stack 22:43:33 ais523: Please tell us what you think the instant land does. 22:43:34 ais523: So is the essential difference that you can still affect only the top of the stack, meaning that you can only affect the other one? Or what? 22:43:37 then it gets put into the graveyard as a state-based effect due to being stuck on the stack 22:44:00 my brain keeps filtering this too, even though i've played tons of M&G 22:44:00 Lands don't go on the stack! A land is always played as a land rather than as the other type that it is. 22:44:00 Deewiant: there's only an essential difference if something happens as the card goes onto the stack 22:44:08 oh, right 22:44:15 Deewiant: such as saccing a creature as an additional cost 22:44:57 zzo38: actually, I think your just-a-tribal breaks the rules just by existing 22:45:01 ais523: That sacrifice is resolved before the opponent gets to do anything? 22:45:06 * oklopol has spirit of the night, which has a curse, it's been in play about 50 times, occasionally even with those "dig up spirit of the night from your pile" cards, but it's never gotten to play :| 22:45:07 because the rules say tribals already have a different part 22:45:15 i mean 22:45:17 Deewiant: the sacrifice /happens/ before the opponent gets to do anything 22:45:20 in the deck. 22:45:45 four fucking gravediggers or what's that dig-up card called 22:45:48 but any effects that might happen as a result, such as gaining life when sacs happen, go on the stack 22:46:04 ais523: Right, that's what I meant, I think. 22:49:42 Please tell me what you think about the third card. 22:49:44 * AnMaster just ran into esr on irc 22:49:44 heh 22:50:29 what? 22:50:50 AnMaster: really? 22:50:52 I feel for you. 22:50:54 I'm sure he'd be amused that there's a channel where he's mostly famous for INTERCAL 22:50:55 Do you want therapy? 22:51:27 ais523: he's "esr" 22:51:27 on here 22:51:33 wesnoth/developer/esr 22:52:35 indeed esr is a wesnoth developer 22:52:43 that is where I ran into him 22:52:44 :P 22:52:52 * ehird tries to combine INTERCAL, islamophobia and "gun rights"; fails miserably. 22:52:59 No trolling a public figure for ehird today. 22:53:59 i wonder if you can implement a mutex with a pipe 22:54:32 hmm well if you smoke it just the right way 22:55:40 void mutex_lock(int *pipe) { char ignore; read(pipe[0], &ignore, 1); } void mutex_unlock(int *pipe) { char ignore; write(pipe[1], &ignore, 1); } 22:56:50 Make more weird cards to confuse the rules of Magic: the Gatheirng cards if you want to. 22:56:56 haha 22:57:07 to bsmntbombdood that is 22:57:10 how can you confuse an inanimate concept, zzo38 22:57:19 i think that would work... 22:57:25 I don't mean "confuse" in that sense, please. 22:57:34 zzo38: please? 22:57:57 zzo38: the beautiful T: Destroy target creature. Add (1) to your mana pool. 22:58:04 so deceptively simple 22:58:22 haha 22:58:23 but it utterly destroys Magic's timing rules, so badly that Wizards have been carefully avoiding anything like that for years 22:58:57 guaranteed mana burn, right? 22:58:58 Hmm, how is that problematic 22:59:03 oklopol: nope, much worse 22:59:05 hmm 22:59:15 Deewiant: you can legally play it halfway through paying a mana cost 22:59:15 okay then i can't 22:59:16 I think that is not a mana ability, because a mana ability is one that provides mana and does not have a target (rule 406.1) 22:59:21 oh 22:59:27 "Destroy a creature", then 22:59:56 Oh, mana abilities 23:00:06 Hmm, I wonder if they're new or old 23:00:18 O. Then I guess it is a mana ability and the creature will be destroyed without the chance for opponent to respond (except conceding, which can be done at any time regardless of anything else, you are even allowed to concede if a card says "Players may not concede") 23:00:31 zzo38: for bonus points, work out how it interacts with convoke 23:00:34 * AnMaster hit another blocker bug in that campaign 23:01:25 and I'm not sure what it is, except I lost all units to recall and my advanced leader unit returned to level 1 in the third last level of the campaign. 23:01:28 * AnMaster debugs 23:01:38 bsmntbombdood, it might indeed 23:01:51 a 23:02:06 AnMaster: the idea is that you can now select/poll your lock 23:02:25 ais523: Convoke? 23:02:41 Convoke is rule 502.46 23:02:56 Deewiant: a relatively new ability, it's only 4 blocks old 23:03:12 lets you tap creatures instead of or as well as mana while playing the spell 23:03:23 zzo38: do you remember the rule numbers? 23:03:31 The last time I played was with that expansion full of black cards 23:03:34 I forget its name 23:03:39 Onslaught block? 23:03:41 wow, that's old 23:03:42 I just looked it up, I have the file open in a text editor for quick lookup of rules 23:03:44 you're probably thinking of Torment 23:03:52 Possibly 23:04:04 bsmntbombdood, yes I know 23:04:24 Yes, Torment 23:05:07 My preferred set is still anything older than Mirage :-P 23:05:50 I stopped playing quite recently, because I didn't enjoy most of the sets that were still standard-legal 23:06:29 I don't play Magic much, mostly I just think about it 23:06:51 I think I still have two Blood Lusts from Legends somewhere but that's it 23:07:13 I even made up two sets of cards http://zzo38computer.cjb.net/magic_set_editor/Unplugged.mse-set and http://zzo38computer.cjb.net/magic_set_editor/SuperUnplugged.mse-set 23:07:48 And I still prefer the old card style 23:08:05 (Hint: The .mse-set files are just .zip file with different extension) 23:09:10 I am currently reading rule 409.1 23:11:49 MSE looks new, I wonder if it's decent 23:12:48 If you don't have MSE you can still open it as a ZIP archive 23:13:07 what is magic the gathering... 23:13:40 Magic: the Gathering is card game 23:13:59 it's not really a typical card game 23:14:06 you have to spend an absolute fortune buying the cards 23:14:08 short summary 23:14:16 and you have to keep buying more cards to get better cards than your opponents 23:14:21 No, you just buy 60 cards and play with proxies 23:14:30 Or play online using Apprentice32 or whatever :-P 23:14:35 ais523, can't you make your own cards then or something 23:14:43 AnMaster: then nobody will play with you 23:14:54 I never play Constructed (except casual games when I borrow other people card), so I am not bothered with the cost. I only pay when playing Limited. In other cases I just think about the game, make up something on computer, use proxies, etc. 23:14:54 They might if they're smart cards 23:14:58 but yes, I suspect there's a huge black market in playing the same rules with proxies 23:15:02 well not up your sleeve style of course 23:15:25 ais523, what are the rules like 23:15:32 very long and complex 23:15:34 ais523: You don't have to keep buying more cards to get better cards than your opponent if you are only playing Limited. That is why I like Limited 23:15:47 zzo38: I only like limited if the cards themselves are interesting 23:17:07 If you just want to try card with interesting, don't bother with tournaments, just use proxies. In a tournament, you pay entrance fee, draft the cards passing around the table, keep the cards you drafted, and if you get in a good enough placing you can win extra packs. And then you can sell all the cards if you want to. Different card are woth a different amount of money 23:17:27 proxies in this case is 23:17:38 AnMaster: proxy = unofficial card made by hand 23:17:59 AnMaster: Buy sleeves for the cards and then put a piece of paper inside the sleeve next to the card saying what card it's actually meant to be 23:18:01 I don't play tournaments that often either, usually only very rarely I like to play the tournament. And only Limited, and usually never more than once per each new set coming out. 23:19:41 I won't play Magic: the Gathering in any situation where a player has an advantage because they are rich 23:19:59 I liked Time Spiral because you could play insanely good decks on mostly commons 23:20:16 especially Time Spiral + 9th, that was about perfect, I didn't care for the third set 23:20:34 oh, Time Spiral + 9th + Coldsnap 23:20:38 -!- MigoMipo has quit ("QuitIRCServerException: MigoMipo disconnected from IRC Server"). 23:21:02 AnMaster: each of those are entire /sets/ of cards, you can see how it gets expensive very quickly 23:21:21 Whaat, Homelands was taken out of Ice Age, mehhh 23:21:28 I would like it if you can look at the card I have in the sets I invented so that a comment can be made of it 23:21:29 Deewiant: that was a joke 23:21:42 ais523: ? 23:22:06 I just Wikipedia'd Coldsnap and that's what it says 23:22:10 well, yes 23:22:37 it's official, but the joke was that Homelands was introduced by a rival company and Coldsnap was the actual third set in that block 23:22:55 the point being that modifying Ice Age block makes no difference this late, as nobody plays Ice Age block tournaments anyway 23:23:22 I would if there were any :-P 23:23:35 Well no, I probably wouldn't 23:23:46 But I'd be more attracted to such than other tournaments 23:24:24 .. 23:24:38 are you aware of how silly this sounds to someone not playing the game 23:24:40 The tournament is generally the newest set. But at the anime convention they played with two of one set and one pack of another set 23:24:45 ais523, ^ 23:24:50 AnMaster: yes, that's why lots of people stopped playing 23:24:57 oh ok 23:25:16 zzo38: tournament is generally the newest /block/, it was probably 2 of the first in the block and 1 in the second because the third hadn't been released at the time 23:25:43 ais523, so what do you do, match numbers in suites or what. You haven't actually explained what it IS yet. 23:26:01 AnMaster: The rules are long and complicated, as said. 23:26:24 AnMaster: basically: you play lands which allow you to play other cards, then you play creatures, your creatures hurt the opponent but can be blocked by the opponent's creatures, first to takes 20 damage loses 23:26:26 yes, but surely you can make some sort of representative example or something 23:26:32 that is a very summary, though 23:27:03 ais523, where do the creatures evolve in this game... 23:27:09 ;P 23:27:12 it isn't pokemon 23:27:19 ais523, I was trying to joke 23:27:19 AnMaster: Basic idea: each player has 20 life points and a deck, you lose when you go below zero or run out of cards. Most cards need mana to play, which you typically get from land cards of which you can play only per turn. There are five different colours of mana. 23:27:21 although the pokemon card game is made by the same people who make M:tG 23:27:45 Basically the rules are: Each player 7 cards, you play land card, generate mana, cast a spell by spending the mana, you start 20 points and if you have 0 points you are the loser. You can lose life points by combat damage(from creatures) or other effects. You also lose if you run out of cards 23:27:56 ais523, Deewiant: this sounds like a crazy cross between D6D, pokemon, a card game and insanity to me. 23:28:01 D&D* 23:28:07 AnMaster: This is older than Pokémon. 23:28:13 zzo38: I can think of at least 3 other ways to lose, so why mention running out of cards? that hardly ever happens 23:28:20 And yes, the concept draws from D&D. 23:28:27 very vaguely 23:28:31 Running out of cards happened to my opponent in the anime convention. 23:28:38 what was he doing? 23:28:40 Not so much nowadays. 23:28:42 Deewiant, only the grappling rules I presume. 23:28:43 :P 23:28:54 Sorry, I don't think there are grappling rules. :-P 23:29:01 oh 23:29:07 ais can correct me, he evidently knows the newer sets. 23:29:09 I played three tournaments so far, two I lost, but in the anime convention I won that tournament because te other players didn't know the rules very well (one player conceded because he didn't like the rules of the game!) 23:29:12 Deewiant: that's an old D&D joke, you need to get D&D's history to get it 23:29:23 ais523: I know the joke. 23:29:28 ah 23:29:40 Magic's rather inconsistent flavour-wise 23:29:43 Fortunately I don't remember the rules very well. :-P 23:29:47 I was implying it was as crazy as that. 23:29:51 the cards have rules on and flavour text, but the flavour text doesn't do anything 23:29:57 which is good as it's very inconsistent between cards 23:30:28 To me, I can play without art or flavor text, but sometimes they are ones I like, but it can still be done without. 23:30:29 how many unique cards are there 23:30:33 I liked the old kind of flavour text: The Rime of the Ancient Mariner was probably one of the best 23:30:39 AnMaster: Over 10000 these days, probably 23:30:43 A lot of unique card you can check on Wizards of the Coast 23:31:09 I also mostly prefer the old art and old flavor text. 23:31:15 Deewiant, so you could create your own cheat card, and if it looked good enough no one would notice 23:31:41 -!- Asztal_ has quit (Read error: 104 (Connection reset by peer)). 23:31:45 also what happens with a card after you play it 23:31:47 AnMaster: amazingly, many people have memorized the entire list 23:31:49 AnMaster: In theory, yes. You couldn't go to tournaments with it. 23:31:52 AnMaster: depends on what sort of card 23:31:54 most stay in play 23:32:04 well you get them back after playing or... 23:32:05 although instants and sorceries have one-off effects and are then discarded 23:32:10 Most stay in play, some go to the graveyard a.k.a. discard pile 23:32:23 stay in play = you leave them on the table and they continue doing things until someone gets rid of them 23:32:47 ais523, I mean isn't there a risk of mixing up your own card with the opponents when the game is over 23:32:59 AnMaster: Only if you don't take care of your cards :-P 23:33:05 heh 23:33:06 you keep them on your side of the table to not mix them 23:33:13 You could use different color of card sleeves if you wanted to. The other way is you could make a list of the cards 23:33:15 and normally the players will use differently-coloured sleeves to make sure 23:33:16 ais523: There's stuff like Enchant Creature 23:33:26 Which will end up on the other side of the table 23:33:31 Deewiant: sometimes I keep those on my side of the table when enchanting an opponent's card 23:33:37 although not when using different sleevs 23:33:40 *sleeves 23:33:54 ais523: Sounds like a good source of confusion to me :-P 23:33:58 and I know from personal experience that enchantment cards often do end up in the wrong player's decks 23:34:09 The cards that enchant other cards are Auras in the modern rules, with the ability called "Enchant Creature" which indicates what type of entities it can enchant. The rules says players and objects, my own rule extend that to "entities" 23:35:29 When I invented the entities/playercard rules, someone didn't understand it and thought I was trying to make combat damage into another player! 23:35:39 -!- Asztal_ has joined. 23:35:41 damage as a player? 23:35:43 that sounds awesome 23:35:47 I don't understand but it sounds awesome 23:36:39 -!- Asztal_ has quit (Remote closed the connection). 23:36:40 Of course that isn't what I was doing. See http://zzo38computer.cjb.net/magicvar/Entity.txt for the actual rules I wrote (I'm not trying to make combat damage into another player). See also http://zzo38computer.cjb.net/magicvar/Planeswalkers_Variant.txt 23:37:33 enchant combat damage? 23:37:47 we've already had enchant two cards in a graveyard 23:38:58 Combat damage and cards in a graveyard are both objects, so even the standard rules allow that. 23:39:43 the rules changed a lot? 23:39:54 over the years I mean 23:39:58 Yes 23:40:01 mhm 23:40:01 Someone once made a card that said "Add {U} to target {G}'s manapool." In standard rules that means nothing and is unplayable. 23:40:02 Annoyingly 23:40:24 mana doesn't have manapools 23:40:26 In entity/playercard rules, that card can be played if anyone has green mana in their mana pool, but the card still won't have any effect. 23:40:48 what if combined with {R}: Target {G} can play spells this turn 23:40:53 It will have a valid target but the effect on the target is invalid 23:40:57 then you just have to get a card into the green mana's hand 23:41:00 AnMaster: Garfield being the designer of the game: 'Finkel won match one because Garfield misplayed the current timing rules at least twice during the course of the game.' 23:41:01 mana comes in different colours nowdays? 23:41:06 that was news to me 23:41:09 AnMaster: it always has done, that's the core of the game 23:41:13 oh 23:41:33 "{R}: Target {G} can play spells this turn" won't have any effect either in entity/playercard rules, but at least it means something and is playable (in standard rules it would be meaningless and unplayable) 23:41:40 Deewiant, wut 23:42:00 AnMaster: Example of the rules changing 23:42:14 tbh, they mostly add or generalise rules, rather than make things illegal 23:42:20 I'd fail stuff like that too if I played noncasual 23:42:31 there's an official website where they have translations of all the old cards into modern rules 23:42:45 Removing interrupts changed a lot :-P 23:42:54 That is the Gatherer/Oracle where the texts are converted to new rules texts 23:43:01 not really, they removed instants then renamed interrupts to instants 23:43:15 That's the other way of looking at it 23:43:17 zzo38: Orcale has the new rules text, Gatherer's a search engine for it 23:43:54 Also, I guess these days you die instantly when you go below 1 life? 23:43:54 I once made a program packgen that created random booster packs from Gatherer 23:44:17 why not continue playing by original rules then 23:44:21 and ignore the newer ones 23:44:35 I would do that but I haven't run into folks who agree with me :-P 23:44:42 It is a state-based effect that you die when you go below 1 life. So you don't wait for end of turn like before, but still it isn't completely instant (like if you have 2 life and a card says "You lose 5 life you gain 4 life" then you won't lose) 23:45:20 the problem is most new cards are meaningless under old rules 23:45:26 Deewiant, I'd like to see what happened if someone went and added a new piece to chess some day () 23:45:30 I invented a card which says you have to play by the old rules (it is a "unglued/unhinged/un____" styles) 23:46:03 People often do add new pieces to chess, but they are variants rather than standard rules 23:46:45 zzo38: wouldn't that get rid of every ability invented since sixth edition? 23:46:48 what would happen to spiders? 23:46:58 they used to have text that worked under the old rules, but were reworded to reach, which doesn't 23:47:09 why are they changing the rules 23:47:09 would reminder text actually be official under your backdated rules? 23:47:15 were the original ones broken or something 23:47:18 AnMaster: because they can't fit them all onto the card 23:47:26 they mostly define terms on the cards 23:47:37 If you use the old rules then you would use the old texts also (but only for old cards obviously) 23:47:44 ais523, make a rule book and call it something like "Cards and Centaurs" 23:47:45 or whatever 23:48:02 zzo38: ok, something as simple as ashcoat bears, what would that do under the old rules? 23:48:11 new card with new simple ability with obvious reminder text 23:48:35 AnMaster: I guess the changes that I'm most annoyed about are indeed cases where the old rules were seen as too complicated/broken 23:48:51 ais523: I don't know, it was just a crazy idea, a "Un-" cards idea not a real one 23:49:13 Deewiant: banding? phasing? 23:49:24 ais523: What, have they been removed? 23:49:34 no 23:49:38 but they're never put on new cards 23:49:46 because they're too complicated, they have entire rules /sections/ each 23:49:48 Banding and phasing still exist although they aren't used on new cards. On cards in my set, phasing is used however (look to see how if you want to) 23:49:50 stretching for many paragraphs 23:49:59 Well boo hoo :-P 23:50:18 In practice you don't need to know the sections by heart to be able to play with them 23:50:20 challenge: write reminder text for phasing which fits on a card 23:50:38 how large are these cards or how small is the rules text 23:50:41 I'm opposed to reminder text, lose it and add more interesting flavour text 23:51:30 Even the reminder text that exists, isn't the actual rules (I think reach ability actually does nothing but flying checks for reach. I invented the card that sways flying and trample and that is why I thought about it at first) 23:51:36 -!- impomatic has joined. 23:51:44 Hi :-) 23:51:46 hi 23:51:56 zzo38: correct, about reach 23:52:04 I also don't use reminder text in my cards generally (even if it has no flavor text or arts) 23:52:25 ais523: Does reminder text generally encompass the whole rule? 23:52:46 Deewiant: no, it's generally a summary of the bits that come up most often 23:52:53 but with phasing, you have loads of common problems 23:52:58 enchantments and equipment, for one 23:54:14 I have made many changes to the rules, for examples, auras that are also creatures can now still continue to enchant things while being creatures, the Haunt keyword takes a parameter being what it haunts (if no parameter, "creature" is assumed), and new keyword abilities 23:54:16 Then I'd just say something like "Before your untap phase, this card phases out, unless it is phased out, in which case it phases in. It retains its enchantments and tappedness." 23:54:36 And leave it to the player to remember that "phased out" means essentially "is removed from play" 23:55:00 what if its enchantments are themselves enchanted? 23:55:05 (I don't actually know what happens then) 23:55:07 Am I correct that if a card in play somehow becomes an instant while in play and phases out, it will never phase back in? Or is that wrong 23:55:12 Not possible under the old rules :-P 23:55:27 zzo38: doesn't it go to the graveyard as a state-based effect? 23:55:30 when it becomes an instant? 23:56:00 Let me check the list of state-based effects again. Even if it is, I have made a card called "Unstate" which says "State-based effects stop working until end of turn" 23:56:59 I don't see that state-based effect under rule 420.5 23:57:00 zzo38: when does that effect stop working? 23:57:01 ... 23:57:05 this is insane 23:57:12 in particular, I'm trying to remember if ending at end of turn is state-based 23:57:15 although I don't think it is 23:57:19 All I see is the rules that say if an instant or sorcery tries to come into play, instead it remains in its current zone 23:57:28 AnMaster: ? 23:57:30 ais523, the game is described by a state-machine? 23:57:32 or what 23:57:37 no 23:57:44 mhm 23:57:44 state-based just means it happens whenever the conditions are met 23:57:48 as opposed to in response to something 23:57:48 k 23:57:58 Ending at end of turn is part of the cleanup step, I think. Well, I have also invented a card "Dirty Game" which says "All players skip their cleanup step" 23:58:32 Deewiant, wth is "tappedness". I don't think the word even exists. 23:58:39 zzo38: there's almost certainly several degenerate combos if you mix with fundamentals like that 23:58:49 AnMaster: tapped = can be used once per turn, and has already been used this turn 23:58:50 AnMaster: You're right, it doesn't 23:59:00 Did I join #mtg ? 23:59:00 mhm 23:59:07 impomatic: Nope. 23:59:23 this is off topic here unless it is TC 23:59:25 :( 23:59:29 IMO 23:59:37 AnMaster: When a card is tapped it's conventionally turned sideways, it indicates its abilities can't be used until it is untapped again 23:59:46 AnMaster: http://esolangs.org/wiki/Magic:_the_Esolang 23:59:46 insane. 23:59:50 AnMaster: If you really care at all, http://en.wikipedia.org/wiki/Magic:_The_Gathering_rules 23:59:51 I'm not convinced it's TC, but I suspect it might be