←2009-01-18 2009-01-19 2009-01-20→ ↑2009 ↑all
00:00:18 <oklopol> cheap or poor?
00:00:27 <fizzie> Both, I think.
00:00:36 <ehird> oh no.
00:00:39 <ehird> a _terrible_ bug
00:01:46 <oklopol> hmm. how advanced is introduction to algorithms, and why clrs?
00:01:54 <fizzie> Well, it's the classic.
00:02:03 <fizzie> And it's called CLRS because of the authors.
00:02:04 <oklopol> yes but i haven't read it. i assume you have
00:02:06 <oklopol> oh.
00:02:16 <oklopol> right.
00:02:44 <fizzie> Well, it's no Knuth. So it's not very advanced-advanced. But it's (maybe) good to have a reference book of them basics, just in case.
00:03:13 <fizzie> The first edition was abbreviated CLR; the second edition added an author and a letter in the abbrev.
00:03:20 <oklopol> does it prove algos, or just state them?
00:03:45 <oklopol> or a random mixture
00:04:07 <fizzie> Something like that. It's not *that* formal, but it's no cookbook either.
00:04:31 <ehird> http://pastie.org/364233.txt?key=9rpypyo03fxtfukjimeq
00:04:35 <fizzie> There's a reasonable amount of work done on computing worst-case asymptotic effectiveness and things like that.
00:04:40 <ehird> Bracism->Python translator.
00:04:44 <ehird> Written in Bracism, of course. :-P
00:04:55 <oklopol> well yes, but that's much easier than correctness proofs, ime
00:05:13 <ehird> wait actually i broke it fuck
00:05:22 <bsmntbombdood> ehird: how does it do dictionaries?
00:05:27 <ehird> bsmntbombdood: cleverly
00:05:35 <ehird> ill show the non-obfuscated source
00:05:35 <ehird> second
00:06:17 <ehird> just need to fix this one bug
00:06:34 <fizzie> oklopol: Sure, that's probably why they've bothered to do them.
00:07:06 <ehird> bsmntbombdood: http://pastie.org/private/wqoy0vq8pdrfkapgzgg
00:07:15 <ehird> should be fairly easy to figure out how it works
00:07:16 <oklopol> because ordos and the like are often pretty much just arithmetic, with a small layer of explanation
00:07:55 <oklopol> i read *an* introduction to algorithms at some point i think
00:08:07 <oklopol> i mean skimmed through it because i already knew all the algos
00:09:31 <oklopol> no actually there were a few trees i didn't know about, these things where you have the strings as paths in a tree, and can thus check what's in the dict etc.
00:09:38 <oklopol> but anyway, i wonder what book that was
00:10:17 <ehird> bsmntbombdood: see how it works?
00:10:20 <oklopol> it was really big, but most of it was sample code, which was written in C# i think, and thus took the bulk of the book (levenshtein was like 3 pages)
00:10:21 <bsmntbombdood> no.
00:10:42 <ehird> bsmntbombdood: :D, basically, it only triggers a block if you have a colon, whitespace, then a {, BUT
00:10:51 <ehird> it only does that trigger if the last { seen entered a block
00:11:00 <ehird> so {...} doesn't enter a block, no colon
00:11:01 <ehird> but
00:11:04 <ehird> {'a': {}}
00:11:05 <ehird> doesn't either
00:11:09 <ehird> since the last { seen didn't open a block
00:11:19 <ehird> it's an essentially foolproof algorithm
00:12:02 <fizzie> CLRS code samples are all in their own pseudo-code thing.
00:12:19 <ehird> pseudo-code is a great evil.
00:12:56 <fizzie> The book's web page has their LaTeX macro for typesetting that pseudo-code, I've used it a couple of time for presentation slides and stuff.
00:13:37 <ehird> fizzie are you IRL buds with lament I have this fucked up view of #esoteric, and all the ops know each other.
00:13:56 <fizzie> ehird: No. I don't even know which country lament is from.
00:14:03 <ehird> he lives in canada.
00:14:10 <oklopol> but he's russian
00:14:10 <ehird> but he's russian iirc
00:14:13 <ehird> snap
00:14:28 <ehird> He's like a superhero
00:14:34 <ehird> "LAMENT! He lives in canada...
00:14:36 <ehird> But he's RUSSIAN!"
00:14:50 <oklopol> yeah, i wonder why that was such a crucial detail
00:15:04 <oklopol> i mean i'm australian, but i don't mention it much
00:15:08 <ehird> lol
00:15:13 <ehird> lament has inherent russian-nature
00:15:23 <ehird> wait oklopol are you really australian
00:15:35 <oklopol> ehird: how really are we talking?
00:15:36 <fizzie> From the people in the nick-list I only IRL-know ineiros. And I might've seen Deewiant accidentally, since we're in the same university.
00:15:42 <ehird> oklopol: like, really
00:15:48 <oklopol> like really really?
00:15:53 <ehird> fizzie: wait you know ineiros the famous idler? WHOAAAAAAAAA.
00:16:04 <ehird> he's been idle _thirty two days_
00:16:44 <oklopol> i haven't seen esotericers irl, not even myself
00:16:44 <fizzie> Not on the IRCnet side of the fence.
00:16:50 <oklopol> at least directly and completely
00:17:01 <ehird> IRCnet is a crazy finnish thing.
00:17:09 <ehird> oklopol: there needs to be an #esoteric meetup sometime :|||||||
00:17:17 <oklopol> hehe.
00:17:37 <ehird> would be so coo
00:17:38 <ehird> l
00:17:39 <fizzie> It's not that Finnish. Although I haven't seen statistics.
00:18:02 <fizzie> There are .de people around, at least.
00:18:06 <AnMaster> night
00:20:53 <fizzie> Seems to be sort-of losing in popularity: http://irc.netsplit.de/networks/details.php?net=IRCnet&submenu=years when compared to the trend in http://irc.netsplit.de/networks/details.php?net=freenode&submenu=years
00:21:46 <ehird> Freenode has only had 52041 users max?
00:21:48 <ehird> Seriously?
00:22:23 <fizzie> Well, it's not a big network.
00:22:37 <ehird> It feels like one of the biggest...
00:22:59 <fizzie> :wolfe.freenode.net 266 fasdfa :Current global users: 44083 Max: 52254
00:23:28 <fizzie> Must sleeps now, night.
00:24:22 <bsmntbombdood> hmmm
00:24:28 <bsmntbombdood> so in haskell all object are immutable
00:24:38 <bsmntbombdood> does that mean they can use reference-counting for gc?
00:24:55 <oklopol> no
00:25:45 <oklopol> you can still have circular references that go out of scope
00:25:45 <bsmntbombdood> no?
00:26:00 <bsmntbombdood> how can you have a cricular reference?
00:26:09 <ehird> bsmntbombdood: easy
00:26:12 <ehird> let x = [x]
00:26:15 <oklopol> a=1:a?
00:26:21 <oklopol> x=[x] doesn't work
00:26:26 <ehird> oh
00:26:27 <ehird> right
00:26:28 <ehird> types
00:26:30 <ehird> :P
00:26:37 <ehird> newtype Foo = Foo Foo
00:26:41 <ehird> myFoo = Foo myFoo
00:26:45 <oklopol> yeah it's not like types are that crucial in haskell :P
00:26:51 <bsmntbombdood> oh hmm
00:27:16 <ehird> bsmntbombdood: in fact, circular structures are very good for haskell programs
00:27:22 <ehird> e.g. a fold over an infinite list is an interesting control structure
00:27:59 <oklopol> bsmntbombdood: take this with a grain of salt though, i'm not feeling all that bright today, there might be some other optimizations for gc at least, given immutability.
00:28:28 <oklopol> i just haven't thought or read about it, and clearly you can at least do what makes mutable stuff circumvent refcounting.
00:31:45 <bsmntbombdood> http://www.amazon.com/Garbage-Collection-Algorithms-Automatic-Management/dp/0471941484
00:31:48 <bsmntbombdood> that book is $100
00:35:33 <oklopol> lol cool
00:39:39 <kerlo> http://product.half.ebay.com/_W0QQcpidZ405747QQprZ305965
00:40:01 <ehird> 1996?
00:40:09 <ehird> Garbage collection has progressed a loooooong way since then.
00:40:28 <kerlo> "Visible shelf wear -- may have some notes/markings on pages" - $32.00
00:40:56 <bsmntbombdood> lofl
00:41:06 <bsmntbombdood> Never used - may have notes
00:41:12 <ehird> lol
00:41:15 <ehird> lofl: lolling on the floor laughing?
00:41:22 <ehird> or
00:41:26 <ehird> laughing on the floor louding?
00:41:39 <bsmntbombdood> there is no expansion
00:41:40 <bsmntbombdood> just lofl.
00:41:43 <kerlo> Loudly on the floor laughing.
00:41:45 <ehird> oic
00:41:48 <kerlo> I am loudly on the floor.
00:41:48 <ehird> kind of like oko then
00:50:05 <GregorR> I see that my name has been said, so I look up through history to see in what context it was said, and am subjected to THAT :P
00:52:04 <ehird> what was it
00:55:51 <psygnisfive> mnomnomno
01:09:08 <MizardX> ehird: I think I got the persistance of triggers working. http://dpaste.com/110549/
01:09:46 <MizardX> just need to call bot.save_callbacks() to save, and it is loaded upon restart
01:11:54 -!- Corun has quit ("Leaving").
01:13:52 <MizardX> ehird: Strangely, the issue with the topic-change doesn't seem to have any obvious solution. The bot sends the TOPIC-command to the server, which responds with the standard ":nick!user@host TOPIC #chan :...", but the topic doen't seem to get changed anyway.
01:17:57 -!- seabot has quit (Read error: 113 (No route to host)).
01:37:49 <bsmntbombdood> is something besides bsmntbombdood developing bsmnt_bot ?!?!
01:48:29 <MizardX> well... ehird asked me to make added triggers persistant
01:51:30 <psygnisfive> ive begun coding the interp for my language :o
01:52:34 <psygnisfive> and its working :D
02:31:25 <comex> >>> import each
02:31:27 <comex> >>> ['a', 'b', 'C'].each().upper()
02:31:29 <comex> eo['A', 'B', 'C']
02:31:30 <comex> >>>
02:38:57 <kerlo> I no longer like Python.
02:39:44 <kerlo> Then again, you can do wild things like that in Haskell, too.
02:39:52 <comex> I got the idea from IO
02:40:20 <kerlo> You mean you can actually do that in Haskell?
02:40:29 <comex> ?
02:40:43 <kerlo> Er.
02:40:48 <comex> however, implementing it in python required using ctypes to get at the internal dict :D
02:40:53 <kerlo> Never mind.
02:41:13 <comex> I don't know haskell :(
02:41:19 <comex> I'm afraid to learn it because then I will forget about prolog
02:41:37 <kerlo> newtype Each a = Each [a]; instance Stuff a => Stuff (Each a) where f (Each a) = Each (map f a)
02:42:01 <kerlo> Where Stuff is an arbitrary class, and f is an arbitrary class variable thingy.
02:42:26 <comex> I'll get back to you on that when I understand Haskell. ;)
02:42:33 <kerlo> :-)
02:43:03 * kerlo ponders the continuous functions in Sierpinsky space
02:45:48 <kerlo> Sierpinski, rather.
02:53:05 <kerlo> Oh, cool, a function to the Sierpinski space is continuous if and only if the set of functions it maps to 1 is open.
02:54:04 -!- GreaseMonkey has joined.
03:40:38 -!- bsmnt_bot has quit (Excess Flood).
03:41:36 <MizardX> ...
04:00:02 <bsmntbombdood> dc is awesome
04:00:15 <bsmntbombdood> it's sooo esoteric even though it was intended as a serious language
04:24:27 -!- puzzlet_ has quit (Read error: 60 (Operation timed out)).
04:25:34 -!- puzzlet has joined.
04:30:43 <psygnisfive> :D
04:36:58 <bsmntbombdood> i am teh bored
04:45:38 <GregorR> bsmntbombdood: HELP ME WRITE ZEE
04:45:52 <bsmntbombdood> whut is that
04:46:22 <GregorR> ZEE is a game I'm writing, it stands for Zoom-Enhance-Extrapolate. It's a parody of those scenes in spy movies where they magically ... well, zoom, enhance and extrapolate images.
04:46:27 <GregorR> It's sort of an image-maze game.
04:46:59 <bsmntbombdood> i don't believe in games
04:47:15 <GregorR> You don't believe that they exist? :P
04:50:16 <bsmntbombdood> good god, cpython is a quarter-million sloc
04:51:23 <bsmntbombdood> i was gonna take a look at it
05:27:38 -!- oerjan has joined.
06:25:17 <psygnisfive> my language is working! :D
06:25:20 <psygnisfive> well, not all of it
06:25:23 <psygnisfive> but some of it
06:25:26 <psygnisfive> the important stuff!
06:25:36 <oerjan> so you did solve your parsing problem?
06:25:51 <psygnisfive> oh, no, that wasn't for this yet. im going to need to solve it eventually.
06:25:54 <psygnisfive> and no, i didn't. not yet
06:26:00 <oerjan> what kind of parsing is it?
06:26:06 <psygnisfive> what do you mean?
06:26:24 <oerjan> LR parsing or recursive descent, or what?
06:26:34 <psygnisfive> havent decided/determined yet.
06:28:12 <oerjan> anyway, the thing is that when you recognize a non-terminal token, you should know what tokens it consists of.
06:28:46 <oerjan> so you can build the tree out of the trees for the subtokens at the same time...
06:29:15 <psygnisfive> im not entirely sure how you mean that but ok :P
06:29:52 <oerjan> well consider LR parsing. you have some tokens on the stack, and recognize that they form a non-terminal production
06:30:17 <oerjan> so you do a reduction, perhaps after considering lookahead
06:31:02 <oerjan> now, if you already have the trees for the subtokens built up, you can just combine them to get the tree for the replacement non-terminal
06:31:24 <psygnisfive> sdjfhsajkdhfs
06:31:25 <psygnisfive> dude
06:31:31 <psygnisfive> dont even
06:31:32 <psygnisfive> :P
06:32:09 <oerjan> once more: you build the trees _while_ you are recognizing tokens, not afterwards
06:32:22 <psygnisfive> ok.
06:33:23 <oerjan> each token comes with its subparse tree
06:39:06 -!- bsmnt_bot has joined.
06:39:11 -!- bsmnt_bot has quit (Remote closed the connection).
06:42:58 <psygnisfive> man
06:43:04 <psygnisfive> the ruby socket docs are horrible
06:43:07 <psygnisfive> all ruby docs are
06:43:11 <psygnisfive> wtf is wrong with these people
06:50:35 -!- Alt-255 has joined.
06:50:39 <psygnisfive> haha nice
06:50:44 -!- Alt-255 has quit (Remote closed the connection).
06:51:26 -!- Alt-255 has joined.
06:52:23 -!- Alt-255 has quit (Remote closed the connection).
06:53:36 -!- Alt-255 has joined.
06:53:40 -!- Alt-255 has quit (Remote closed the connection).
06:53:59 -!- Alt-255 has joined.
06:54:06 -!- Alt-255 has quit (Remote closed the connection).
06:55:12 -!- Alt-255 has joined.
06:55:18 -!- Alt-255 has quit (Remote closed the connection).
07:17:18 -!- oerjan has quit ("leaving").
07:39:30 <psygnisfive> guys!
07:41:42 -!- kerlobot has joined.
07:52:02 -!- ehird has quit (K-lined).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:02:06 -!- psygnisf_ has joined.
08:02:16 -!- psygnisf_ has changed nick to psygnisfive_.
08:02:16 -!- GregorR has quit (Remote closed the connection).
08:02:30 <MizardX> K-lined :P
08:02:39 -!- psygnisfive_ has changed nick to psygnisfive__.
08:02:41 <psygnisfive__> hm
08:02:45 <psygnisfive__> i seem to have died
08:02:47 <psygnisfive__> what did i miss
08:02:57 -!- psygnisfive__ has changed nick to psygnisfive_.
08:03:43 -!- psygnisfive_ has changed nick to psygnisfive_____.
08:03:50 -!- psygnisfive_____ has changed nick to p5.
08:03:56 <AnMaster> * ehird has quit (K-lined) <-- wow, why?
08:04:02 <AnMaster> what did he do?
08:04:11 -!- p5 has changed nick to cygnus5.
08:04:17 <cygnus5> hrmph
08:04:27 <MizardX> maybe too many Excess Flood...
08:04:57 <fizzie> Heh, and he's always saying that Freenode admins do nothing.
08:05:33 -!- AntiGravityBot has joined.
08:05:36 <cygnus5> :D
08:06:53 <cygnus5> my bot is sexy innit
08:06:53 <cygnus5> :D
08:11:25 -!- ehird has joined.
08:11:30 <AnMaster> ehird, hello
08:11:37 -!- ehird has quit (K-lined).
08:11:39 <AnMaster> what the heck did you do to get klined...
08:11:40 <AnMaster> wtf
08:11:56 <AnMaster> MizardX, maybe too many clients from one host?
08:12:00 -!- AntiGravityBot has quit (Remote closed the connection).
08:12:18 -!- AntiGravityBot has joined.
08:13:37 -!- psygnisfive has quit (Read error: 110 (Connection timed out)).
08:21:20 -!- AntiGravityBot has quit (Remote closed the connection).
08:21:29 -!- cygnus5 has changed nick to psygnisfive.
08:22:31 -!- AntiGravityBot has joined.
08:22:38 <psygnisfive> so!
08:22:47 <psygnisfive> i now have a bot that runs most of my little language. :D
08:28:30 -!- AntiGravityBot has quit (Remote closed the connection).
08:34:30 -!- puzzlet has quit (Remote closed the connection).
08:34:34 -!- puzzlet has joined.
08:47:29 -!- GregorR has joined.
08:57:01 -!- ais523 has joined.
08:57:34 -!- GreaseMonkey has quit ("Client Excited").
09:00:43 -!- ais523 has quit (Client Quit).
10:29:16 -!- puzzlet has quit (Remote closed the connection).
10:29:25 -!- puzzlet has joined.
11:06:34 <oklopol> GregorR: It's sort of an image-maze game. <<< like, all you can do is zoom, but only some parts of the picture contain details you can actually zoom to?
11:11:49 <oklopol> somehow the fractal's structure hints where the path continues
11:12:02 <oklopol> and at the end, there's a little winking smiley
11:12:04 <oklopol> ";)"
11:12:16 <oklopol> so you know you finally did it.
11:16:35 <AnMaster> hm
11:16:42 <AnMaster> a lot of games are way too weak on the plot I think
11:17:12 <AnMaster> However, I'm not good at making up game plots myself...
11:17:28 <AnMaster> Two games in particular.
11:17:33 <AnMaster> 1) Chess 2) Tetris
11:17:37 <AnMaster> both need more plot :D
11:17:42 <oklopol> no they don't
11:18:00 <AnMaster> oklopol, well, not "need" indeed. But it wouldn't hurt.
11:18:20 <oklopol> it would hurt, it would just distract from the games' actual problems
11:18:45 <AnMaster> oklopol, well, you could include it as "background info" or something
11:18:48 <oklopol> well okay, i'm not saying anything bad about tetris, but chess doesn't really work as a computer game.
11:18:57 <AnMaster> oklopol, agreed.
11:18:58 <oklopol> because you can't build on it.
11:19:07 <AnMaster> um?
11:19:09 <oklopol> it's always the same, change it, and it simply isn't chess anymore.
11:19:20 <AnMaster> oh that would be fun, chess with trench digging!
11:19:20 <oklopol> thus it's more of a puzzle imo
11:19:23 <AnMaster> :D
11:19:43 <oklopol> puzzle-typey game, not the kind that's fun to play with the computer
11:19:56 <AnMaster> oklopol, make chess an RTS!
11:20:02 <oklopol> real-time system?
11:20:14 <AnMaster> real time strategy
11:20:22 <oklopol> oh. right lol.
11:20:27 <AnMaster> as opposed to turn based
11:20:59 <oklopol> trench digging?
11:21:18 <AnMaster> oklopol, yes?
11:21:34 <oklopol> just making sure i heard
11:21:41 <AnMaster> oklopol, http://en.wikipedia.org/wiki/Trench_warfare
11:21:57 <AnMaster> you dig them
11:22:13 <AnMaster> oklopol, also add hitpoints to the chess pieces
11:22:18 <oklopol> right that kinda trench.
11:22:19 <AnMaster> and ranged weapons
11:22:29 <oklopol> i just thought you wanted to reroute rivahs or something.
11:22:41 <AnMaster> oklopol, now, at which point is it no longer chess? :D
11:22:59 <oklopol> i'd say pretty much instantly, and that's my point
11:23:05 <AnMaster> hehe
11:24:14 <oklopol> it's not a very continuous game, on any level, it breaks easily, in a way
11:24:49 <oklopol> well okay not that easily, i guess this is more about what i consider the chess philosophy to be.
11:27:03 <oklopol> chess is more of an algorithmic game, you can't continuously add challenge to it, as material, i guess is my point.
11:28:26 <oklopol> the only way you can safely add challenge is to make the AI gradually better, but, well, first of all that doesn't really have a continuing feel to it. and second of all AI isn't inherently very gradually enhancable.
11:28:52 <oklopol> it just isn't all that visible how good the AI is, at least to me. it just sometimes wins, sometimes not.
11:29:10 <oklopol> i mean unless you're really good at chess, which i obviously am not.
11:29:20 <AnMaster> heh
11:29:37 <AnMaster> oklopol, nor am I
11:30:04 <oklopol> AnMaster: i know dat
11:31:22 <oklopol> tetris is pretty easy to build on, the general idea of dropping shit into a pile with rewrite rules is used quite a lot
11:32:16 <oklopol> not directly though, ofc, if you just increased the size of the dropped objects, and kept them random, you'd never get a complete row
11:32:45 <oklopol> you'd have to add fuzzy row removing
11:32:54 <oklopol> which again isn't very tetrisy.
11:33:32 <oklopol> but, if the puzzles were handmade, or, well, even just generated more sensibly, you could even have continuous tetris
11:33:58 <oklopol> of course, if you fucked up, you might never be able to get the piece destroyed.
11:34:08 <oklopol> because it might not fit anything else
11:34:19 <AnMaster> hm
11:34:34 <AnMaster> continuous tetris?
11:34:43 <oklopol> pieces of arbitrary form.
11:34:46 <AnMaster> ah
11:35:23 <oklopol> of course closed, having holes would make it kinda hard to remove the insides (impossible, assuming the pieces can't roll around, which isn't tetrisy again)
11:44:51 <AnMaster> oklopol, you could also make something like, tetris but remove blocks of same colors if they are large enough
11:45:02 <AnMaster> I think I have seen that once
11:45:06 * AnMaster tries to remember where
11:45:46 <AnMaster> oh yes... http://kfouleggs.sourceforge.net/
11:46:21 <oklopol> yes, that's the most common rewrite-rule-pile-based game.
11:46:32 <oklopol> it has tons of variations
12:00:56 <AnMaster> true
12:08:58 -!- ais523 has joined.
13:11:47 -!- ehird has joined.
13:13:06 -!- bsmnt_bot has joined.
13:13:08 -!- bsmnt_bot has quit (Remote closed the connection).
13:25:57 <ehird> WTF @ K-LINE
13:26:02 -!- ais523 has quit (Client Quit).
13:26:42 <ehird> 17:13:52 <MizardX> ehird: Strangely, the issue with the topic-change doesn't seem to have any obvious solution. The bot sends the TOPIC-command to the server, which responds with the standard ":nick!user@host TOPIC #chan :...", but the topic doen't seem to get changed anyway.
13:26:44 <ehird> rate throttling?
13:27:10 <ehird> 18:40:48 <comex> however, implementing it in python required using ctypes to get at the internal dict :D
13:27:12 <ehird> no, it really didn't
13:27:18 <ehird> you can implement that trivially
13:28:31 <ehird> Anyway, I was offline when I was klined.
13:28:34 <ehird> I am asking #freenode now.
13:29:04 <MizardX> ehird: No. If I look at the console window (running the bot locally), the bot gets the standard response for successful topic change, but I don't see that in my normal IRC client.
13:29:17 <ehird> MizardX: That's very wtf.
13:34:21 <ehird> told me to email kline@freenode.net..
13:34:23 <ehird> I love indirection.
13:34:32 -!- ais523 has joined.
13:34:44 <ehird> Hi ais523.
13:34:49 <ehird> Why'dya think I got klined twice overnight?
13:35:12 <ais523> no idea
13:35:16 <ais523> which network? Freenode?
13:35:59 <ehird> Yep.
13:36:04 <ehird> I've sent an email to kline@freenode.net.
13:36:13 <ehird> Very WTFy.
13:36:29 <ehird> ais523: are there automatic K-lines
13:36:30 <ehird> ?
13:36:34 <ais523> maybe some nick that yours is linked to got hijacked?
13:36:38 <ais523> and went mad?
13:37:19 <fizzie> There used to be automatic K-lines on joining known botnet control channels, but that probably doesn't apply.
13:37:36 <ais523> also on joining GNAA channels
13:37:41 <ais523> hmm... do you have autojoin on invite?
13:38:02 <ehird> 13:36 <ais523> maybe some nick that yours is linked to got hijacked?
13:38:02 <ehird> 13:36 <ais523> and went mad?
13:38:09 <ehird> Considering the hostname was eso-std.org I very much doubt it.
13:38:12 <ais523> that combination seems to be an obvious way to get someone klined, if it works
13:38:17 <ehird> And I do not have autojoin on invite because it was my _freaking bouncer_
13:38:23 <ehird> Also, I've joined #gnaa on freenode before. No kline.
13:38:26 <ais523> anyway, in a lecture, I'd better go
13:38:30 -!- ais523 has quit (Client Quit).
13:40:00 <Slereah> What, #gnaa does not have hot african sex?
13:49:53 -!- ehird has quit (K-lined).
13:51:46 <fizzie> Maybe they didn't like his tone in the email.
13:52:33 <oklopol> :P
13:52:53 <oklopol> maybe he should ask his big brother for help
14:06:28 -!- seabot has joined.
14:12:09 -!- seabot has quit (Remote closed the connection).
14:29:31 -!- seabot has joined.
14:35:21 -!- seabot has quit (Remote closed the connection).
15:03:14 -!- KingOfKarlsruhe has joined.
15:15:52 -!- MigoMipo has joined.
15:16:38 -!- join has joined.
15:17:06 -!- join has changed nick to Guest21688.
15:18:01 -!- Guest21688 has changed nick to Slereah_.
15:22:05 -!- puzzlet has quit (Remote closed the connection).
15:22:10 -!- puzzlet has joined.
15:23:26 -!- FireFly has joined.
15:24:53 -!- ehird_ has joined.
15:24:59 <ehird_> The fuckers. I'm still fucking banned.
15:25:06 <ehird_> God, freenode is a bunch of incompetend retards.
15:25:18 <ehird_> *incompetend
15:25:19 <ehird_> *incompetent
15:27:50 <fizzie> You'd better watch that mouth of yours, they'll be k-lining you for calling them retards.
15:28:01 <ehird_> Verily.
15:29:32 <ehird_> It'd be nice if they, say, unbanned me while trying to fix it.
15:29:40 <ehird_> Instead of "contact our shitty issue tracker so we can ignore it".
15:32:01 -!- Slereah has quit (Read error: 110 (Connection timed out)).
15:45:42 -!- KingOfKarlsruhe has quit (Remote closed the connection).
15:51:56 -!- jix has joined.
16:02:13 -!- dbc has joined.
16:03:46 <comex> ehird / ehird_
16:03:51 <comex> how do you propose this be trivially implemented
16:04:35 <comex> specifically, you can't just do list.foo = 'bar'
16:08:15 <ehird_> what is subclassing
16:08:24 <ehird_> each([1,2,3]) is so bad? :P
16:08:55 <ehird_> also im ehird_ cuz ehird got k-lined.
16:18:41 <ehird_> hi comex ico
16:20:46 <comex> yes
16:20:48 <comex> it is
16:21:01 <comex> because it requires thinking you're going to use "each" before typing out the list
16:21:08 <comex> this is a laziness construct
16:21:12 <ehird_> " what is cursor positioning "
16:21:21 <comex> however, obviously its uses in python are limited
16:21:57 <ehird_> clearly we should all use scheme
16:22:04 <comex> in io you can do, say, list(foo, bar, baz) each setNumber(x += 1)
16:22:08 <ehird_> clearly we should all use scheme
16:30:06 <ehird_> AAAAAAAAAAA
16:30:46 -!- MigoMipo has left (?).
16:31:21 <ehird_> still fucking klined
16:43:47 -!- ais523 has joined.
16:59:25 -!- oerjan has joined.
16:59:35 <ehird_> hi ais523 oerjan
16:59:43 <ais523> hi ehird_ oerjan
16:59:49 <ais523> *hi oerjan ehird_
16:59:53 <oerjan> hi ais523 ehird_
16:59:55 <ais523> we need some chance at symmetry here...
17:00:12 <oerjan> wait what
17:00:17 <oerjan> well we failed
17:00:28 <ehird_> so, now taking bets as to when freenode will de-kline my bouncer again
17:00:46 <oerjan> ouch
17:01:02 <oerjan> what did it do?
17:01:10 <ehird_> nothing, read the logs
17:01:13 <ehird_> keeps happening
17:01:16 * ais523 vaguely wonders why the desktop background on the Windows computer next to me says "Please Check Monitor For Updated Password"
17:01:21 <ehird_> freenode are incompetent maximus
17:02:00 <ais523> my guess is it's something to do with the practice on the lecture hall computers that they use of putting a guest username/password onto the monitor so visiting lecturers can log in
17:02:02 <oerjan> = incompetentissimus, iirc
17:02:07 <ais523> and it's somehow been deployed over here by mistake
17:02:23 <ais523> there isn't a username/password on this monitor
17:02:43 <ais523> but then, weirder was the time when I came to a similar computer and it was apparently off
17:02:55 <ais523> none of the LEDs on the front looked on (but it was sunny and I couldn't tell for certain)
17:03:01 <ais523> neither the keyboard nor mouse did anything
17:03:16 <ais523> the only thing that made me wonder if it was really off was the Windows XP screensaver on the monitor
17:03:24 -!- ehird_ has set topic: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.
17:03:29 <ehird_> wait what?
17:03:31 <ehird_> bsmnt_bot
17:03:37 <ehird_> ... guess it got klined too
17:04:27 <oerjan> perhaps bsmnt_bot was the reason
17:04:38 <ais523> was it going on a rampage, I wonder?
17:04:44 <ais523> it could be controlled by arbitrary people...
17:04:51 <ais523> does it have logs?
17:04:56 <ehird_> I doubt it, it didn't quit as k-lined
17:05:01 <ehird_> just as connection reset by remote
17:05:07 <ehird_> whereas I was explicitly auto-klined
17:05:10 <ehird_> or, umm, klined by a fucktard
17:05:19 <ehird_> but i'd prefer to think its incompetent programming
17:07:22 <GregorR> Chess plot: You are the king of a great empire, but for years there has been diplomatic tension with the empire just down the road. Now, their fury at you for completely duplicating their army in every detail has heatened so that they've declared war! Neither of your armies are very large (you have enough people to recruit a huge army, but then it wouldn't be an exact duplicate of your neighbors!), so this singular battle will likely determine the vic
17:07:24 <GregorR> tor in the war. Now, send your footsoldiers to their almost certain doom, as they are but pawns in ... oh, never mind. Welcome to the world of CHESS!
17:07:50 <ais523> GregorR: so why can you only move one a turn?
17:08:14 <GregorR> That has nothing to do with the plot, that's just a game rule.
17:08:24 <GregorR> The plot never actually explains the rules, that would be nonsensical.
17:08:40 <ais523> ah, it's just a chess-inspired film
17:08:44 <ehird_> http://groups.google.co.uk/group/net.micro.pc/msg/993d3e017d041ed4
17:08:48 <ehird_> The first me too post. EVER.
17:08:48 <ais523> you should make Tetris: the Movie
17:08:53 <ais523> I've wanted someone to make that for ages
17:08:59 <ehird_> A plague upon csu-cs!casterli.
17:09:00 <ais523> ehird_: how do you know it's the first ever?
17:09:14 <ehird_> ais523: google sez so
17:09:18 <ehird_> http://www.google.com/googlegroups/archive_announce_20.html
17:09:34 <ais523> did Deja really archive usenet right from the start?
17:09:40 <oerjan> <AnMaster> 1) Chess 2) Tetris
17:09:42 <ehird_> no, ais523
17:09:55 <ais523> so there may have been a me-too that wasn't archived and got lost
17:09:56 <ehird_> but near-complete usenet archives are available
17:10:04 <ehird_> and they were mostly meta-discussion about usenet, really
17:10:07 <ais523> fwiw, someone might have written X-No-Archive: yes\n\nMe, too!
17:10:14 <oerjan> ass for (2), there is the sunken city of Tetris in Triangle and Robert...
17:10:19 <oerjan> *as
17:10:21 <ehird_> yeah um I don't think people used those headers back then ais523 :P
17:10:22 <oerjan> DAMNIT
17:10:40 <GregorR> ehird_: Somebody extremely psychic could have :P
17:11:14 <ehird_> http://groups.google.com/group/net.lang.c/msg/66008138e07aa94c
17:11:16 <ehird_> Duff's device
17:11:59 * oerjan recalls seeing a chess-inspired film on TV once. it ended with nuclear war iirc
17:12:16 <ehird_> HOW ABOUT A NICE GAME OF CHESS?
17:12:18 <ais523> "Many people (even Brian Kernighan?) have said that the worst feature of C is that switches don't break automatically before each case label. This code forms some sort of argument in that debate, but I'm not sure whether it's for or against."
17:12:20 <ehird_> oh wait.
17:12:23 <ehird_> oerjan was referencing that.
17:12:24 <ais523> A famous quote, it's nice to see the original
17:12:25 <ehird_> damn you.
17:12:54 <ehird_> Seeing people talk about having written C for 10 years, around 10 years before I was born, is eerie.
17:13:06 <ais523> ehird_: just reading pre-C89 C is eerie
17:13:15 <ais523> some of that would have been written before I was born
17:13:21 <ais523> and the code you're talking about is even older than that
17:14:02 <ehird_> Any, or almost any,
17:14:03 <ehird_> > MacOS app that can run on MacOS8 *WILL* run on MacOSX.
17:14:05 <ehird_> -- 1998
17:14:06 <ehird_> *g*
17:14:55 <ais523> because Apple don't need to stick to an insane backward-compatibility system to try to convince the rest of the world that all computers really are like that
17:17:17 <ehird_> Hrm.
17:18:16 -!- CakeProphet has quit ("lol").
17:19:14 <ehird_> sssssssssssssssssssss
17:19:58 <ehird_> ais523: how come there aren't any old replies to things like http://groups.google.com/group/comp.os.minix/browse_thread/thread/e3df794a2bce97da/2194d253268b0a1b?#2194d253268b0a1b ?
17:20:09 <ehird_> did people not reply in those days? Or are they just lost from the archive?
17:20:23 <ais523> quite possibly not archived
17:20:33 <ais523> Usenet is not very conducive to archiving, the way it's designed
17:20:48 <ais523> you need to be someone big like Google who's connected to more or less everyone to get the whole thing
17:21:06 <ehird_> I'm pretty sure archiving Linus's message was Deja's work.
17:21:23 <ehird_> Well, depends if it's older than Deja.
17:21:23 <ais523> I'd be surprised if Deja managed to get the whole of every thread
17:21:41 <ais523> besides, the discussion may have moved to whatever the old-fashioned equivalent of comp.sources was
17:21:46 <ais523> when he posted the source on Usenet
17:21:46 <ehird_> Who wrote find(1)?
17:21:46 <ehird_> ? iirc some guy with vms experience.
17:21:48 <ais523> that used to be common
17:21:50 <ehird_> Why am I not surprised?
17:23:10 * ais523 finds http://mauke.ath.cx/stuff/poly.html on proggit
17:23:14 <ais523> which is actually esolang-related
17:23:18 <ehird_> Yes.
17:23:20 <ehird_> Does BF & Whitespace.
17:24:09 <ais523> strange...
17:24:15 <ais523> is 0 true for the purposes of ?: in Ruby?
17:24:15 <ehird_> ?
17:24:19 <ais523> that source seems to imply it is
17:24:27 <ehird_> ais523: Only false and nil have falsity in Ruby.
17:24:32 <ais523> aha
17:24:38 <ehird_> (After all, why is 0 false? It's just another number.)
17:24:39 <ais523> clever way to detect Ruby vs. Perl then
17:24:43 <ais523> in code which is almost the same in both of htem
17:24:57 <ehird_> yes
17:25:16 <ehird_> ais523: oh wow
17:25:20 <ehird_> if you leave http://mauke.ath.cx/stuff/poly.html open for a while
17:25:22 <ehird_> it changes
17:25:25 <ehird_> to I'm a javascript-generated HTML page
17:25:31 <ais523> not for me it doesn't
17:25:31 <ehird_> :-D
17:25:37 <ehird_> turn on scripts.
17:25:37 <ais523> it detects all sorts of other things, too
17:25:42 <ais523> scripts enabled is one
17:25:51 <ais523> but it also detects whether you're using trigraphs, in the C
17:25:58 <ais523> and zsh/bash/sh
17:25:58 <ehird_> yes
17:26:07 <ehird_> it does perl6 too :-D
17:26:25 <ais523> actually, I vaguely wonder how Perl6 knows to run just that code
17:26:29 <ais523> is everything else commented out for it
17:26:34 <ais523> or does it have a program-starts-here line?
17:26:34 <ehird_> mauke is a #haskell and ##C denizen FWIW, he's pretty fun
17:26:43 <ehird_> ais523: Same way as all the programs: clever commenting.
17:26:52 <ehird_> and polyglotty snippets
17:27:06 <ais523> we should go for an esolang-only polyglotting record
17:27:20 <ais523> luckily, there are lots of joke lines which autopolyglot into anyhting
17:27:23 <ehird_> I have to say, the fact that it's a Whitespace program is just beautiful.
17:27:36 <ehird_> Polyglots have been done, but not effing whitespace ones.
17:27:46 <ais523> whitespace is quite good for polyglotting into things, really
17:27:57 <ais523> hmm... it's valid HQ9+, ofc
17:28:04 <ais523> but it could be meaningful valid HQ9+ with a couple of tweaks
17:28:09 <ais523> although it would just say hello world
17:29:09 <ais523> ok, that C99 check is just insane
17:31:06 <ehird_> it's also a valid oklotalk program :-D
17:32:07 <ais523> what does it do in oklotalk?
17:32:15 <ehird_> Who knows?
17:32:19 <ais523> AFAICT, it's a Kimian quine in some versions of INTERCAL
17:32:25 <ehird_> But every string of characters is syntactically valid oklotalk.
17:32:35 <ehird_> And oklotalk has no runtime errors.
17:32:49 <ehird_> So it does _something_, possibly nothing.
17:52:10 <AnMaster> back
17:52:12 <AnMaster> hi ais523
17:52:15 <ais523> hi
17:53:18 <oerjan> tnorf
17:55:35 <AnMaster> oerjan, *GROAN*
17:56:09 <ehird_> think my boouncer is still k-lined?
17:58:40 <ehird_> ais523: blognomic is impossible
17:59:41 <ais523> why?
17:59:43 <ais523> and wrong channel?
17:59:54 <ehird_> wrong channel: it's a protest againt my k-line :-P
17:59:56 <ehird_> and because it's so effing fast
18:05:27 <ehird_> http://unix-tree.huihoo.org/V3/usr/man/man1/chdir.1.html
18:05:33 <ehird_> I am so glad they shortened the name
18:06:57 <oerjan> shortened the name of what?
18:07:01 <ehird_> chdir to cd
18:07:10 <oerjan> oh right
18:09:45 <ehird_> i found two old bots of mine yesterday/today.
18:09:48 <ehird_> who wants to play with em
18:10:44 <ehird_> :}
18:10:52 <ehird_> everyone loves bots right?
18:11:50 <ehird_> .
18:12:06 <ais523> ehird_: oko and kok?
18:12:16 <ehird_> nope, KajirBot and seabot
18:12:28 <ehird_> seabot was in here yesterday: it gave birth to Bracism
18:12:40 <ehird_> both in python
18:12:46 <ehird_> so, let's say hello to KAJIRBOT
18:12:51 * ehird_ runs
18:12:58 -!- KajirBot has joined.
18:12:58 <ehird_> here comes!
18:13:01 <ehird_> lo KajirBot!
18:13:03 <ehird_> .help
18:13:03 <KajirBot> feed, help, kill, ps, q, tell, time
18:13:12 <ehird_> .help help
18:13:12 <KajirBot> help [command]
18:13:12 <KajirBot> Displays help on commands.
18:13:19 <ehird_> .help feed
18:13:19 <KajirBot> feed [food]
18:13:19 <KajirBot> Feeds KajirBot.
18:13:23 <ehird_> .feed something
18:13:23 <KajirBot> sorry, i haven't eaten something before. have you got ten black holes?
18:13:27 <ehird_> .feed ten black holes
18:13:27 <KajirBot> thank you :)
18:13:32 <oerjan> .feed mushrooms
18:13:32 <KajirBot> sorry, i haven't eaten mushrooms before. have you got ten black holes?
18:13:32 <ehird_> how cute.
18:13:39 <ehird_> .feed lhc
18:13:40 <KajirBot> sorry, i haven't eaten lhc before. have you got ten black holes?
18:13:45 <ehird_> .feed ten black holes
18:13:46 <KajirBot> thank you :)
18:13:51 <ehird_> .feed sth
18:13:51 <KajirBot> sorry, i haven't eaten sth before. have you got pizza?
18:13:54 <ehird_> .feed pizza
18:13:55 <KajirBot> thank you :)
18:14:00 <ehird_> how pointless. but endearing.
18:14:01 <ehird_> .help
18:14:01 <KajirBot> feed, help, kill, ps, q, tell, time
18:14:04 <ehird_> .time
18:14:04 <KajirBot> Right now, it is 2009-01-19, 18:14 GMT
18:14:07 <ehird_> is it now
18:14:10 <ehird_> .help tell
18:14:10 <KajirBot> tell pid msg
18:14:11 <KajirBot> Sends a message to a process.
18:14:14 <ehird_> oho
18:14:16 <ehird_> .ps
18:14:16 <KajirBot> 0. ps
18:14:34 <ehird_> Okay, um, that is pretty much all it does.
18:14:37 <ehird_> Oh wait!
18:14:41 <ehird_> .q This is like a real AI.
18:14:41 <KajirBot> This is like a real AI?
18:14:46 <ehird_> .q You're fun
18:14:46 <KajirBot> You're fun?
18:14:51 <ehird_> .q I am cool
18:14:52 <KajirBot> you are cool?
18:14:55 <ehird_> .q yes I am
18:14:56 <KajirBot> yes you are?
18:14:59 <ehird_> etc
18:15:03 <ais523> ehird_: that looks to me like a bad elizabot
18:15:13 <ais523> fungot: meet KajirBot
18:15:13 <fungot> ais523: that's good though if it's going so slowly that i think
18:15:17 <ehird_> ais523: it just adds a ? and swaps I/you :-) and am/are :-)
18:15:19 <ais523> .q that's good though if it's going so slowly that i think
18:15:19 <KajirBot> that's good though if it's going so slowly that you think?
18:15:26 <ehird_> .q fungot
18:15:27 <KajirBot> fungot?
18:15:27 <fungot> ehird_: ( ( out if she does move you know i didn't know that mm th- there's no other circumstances that uh people are not even computer literate they don't even touch the tip of the iceberg when it comes
18:15:27 <fungot> KajirBot: at the same
18:15:40 <ehird_> .q fungot, will you marry me?
18:15:40 <KajirBot> fungot, will I marry me?
18:15:40 <fungot> ehird_: even seen it and have thought nothing maybe their first thought would've been okay there's a helen of troy okay there's a helen of troy okay there's a helen of troy okay there's a bunch of ' em
18:15:41 <fungot> KajirBot: unfortunately i guess you would have a lot to do with
18:15:41 <ais523> ehird_: Kajirbot doesn't respond to its name, though, it seems
18:15:45 <ehird_> ais523: nope
18:16:08 <ehird_> .q are__
18:16:08 <KajirBot> are__?
18:16:12 <ehird_> hmm
18:16:15 <ehird_> there's a way to break this
18:16:16 <ehird_> .q are___
18:16:17 <KajirBot> are?
18:16:20 <ehird_> :-)
18:16:27 <ehird_> def swap(a, b, q):
18:16:27 <ehird_> q = ' %s ' % q
18:16:27 <ehird_> q = re.sub(re.compile(r' %s ' % a, re.I), ' %s___ ' % b, q)
18:16:27 <ehird_> q = re.sub(re.compile(r' %s ' % b, re.I), ' %s ' % a, q)
18:16:27 <ehird_> q = re.sub(re.compile(r' %s___ ' % b, re.I), ' %s ' % b, q)
18:16:29 <ehird_> return q[1:-1]
18:16:45 <ehird_> Bot review: good code, cute, but lacks features.
18:16:51 <ehird_> Now, for seabot.
18:17:07 -!- seabot has joined.
18:17:15 <ehird_> This is seabot. He is pretty advanced:
18:17:16 <ehird_> .help
18:17:16 <KajirBot> feed, help, kill, ps, q, tell, time
18:17:18 <ehird_> er
18:17:19 <ehird_> @help
18:17:19 <seabot> cdecl: cdecl
18:17:19 <seabot> help: help
18:17:19 <seabot> karma: karma karma+ karma-
18:17:19 <seabot> meta: load reload unload
18:17:19 <seabot> python: python
18:17:23 <ehird_> @karma seabot
18:17:24 <seabot> seabot has a karma of 2
18:17:28 <ehird_> Persistance!
18:17:44 <ehird_> @python if 1 == 1: { print "[broken implementation of] bracism!" }
18:17:44 <seabot> [broken implementation of] bracism!
18:17:52 <ehird_> @python __import__
18:17:52 <seabot> <bound method MagicGlobals.__import__ of <a big brother>>
18:17:55 <ehird_> @python __import__('sy')
18:17:58 <ehird_> @python __import__('sys')
18:18:08 <ehird_> o_o
18:18:16 <ehird_> ah
18:18:20 <ehird_> it rejects imports
18:18:22 <ehird_> @python __builtins__
18:18:23 <seabot> <bound method MagicGlobals.__builtins__ of <a big brother>>
18:18:25 <ehird_> @python __builtins__()
18:18:26 <seabot> NameError: global name 'builtins' is not defined
18:18:31 <ehird_> @python builtins()
18:18:31 <seabot> NameError: name 'builtins' is not defined
18:18:34 <ehird_> meh
18:18:40 <ehird_> @help
18:18:40 <seabot> cdecl: cdecl
18:18:40 <seabot> help: help
18:18:40 <seabot> karma: karma karma+ karma-
18:18:40 <seabot> meta: load reload unload
18:18:40 <seabot> python: python
18:18:50 <ehird_> ais523: try cdecl :-P
18:19:46 <ais523> @cdecl void (*) ()
18:19:46 <seabot> syntax error
18:19:53 <ais523> @cdecl void (*foo) ()
18:19:53 <seabot> declare foo as pointer to function returning void
18:20:02 <ais523> it should manage it without the variable names
18:20:09 <ehird_> it doesn't.
18:20:19 <ehird_> because cdecl(1) doesn't
18:20:20 <AnMaster> huh
18:20:24 <ais523> @cdecl int getchar(), c[16], i;
18:20:25 <seabot> syntax error
18:20:27 <AnMaster> it runs cdecl?
18:20:30 <ehird_> yes
18:20:35 <AnMaster> interesting
18:20:44 <AnMaster> I mean I don't find C types very hard unless extreme
18:20:47 <ehird_> the name seabot cames from the fact that I made it for ##free-c and it was originally written in C
18:20:55 <ehird_> AnMaster: meh, bot features are fluff
18:20:58 <ehird_> might as well pile them up
18:21:04 <AnMaster> like function pointers to function pointers that take arrays of function pointers or whatever
18:21:13 <AnMaster> true
18:21:27 <ehird_> @karma AnMaster
18:21:27 <seabot> AnMaster has a karma of 0
18:21:31 <ehird_> nobody loves you.
18:21:39 <oklopol> @karma oklopol
18:21:39 <seabot> You have a karma of 0
18:21:42 <oklopol> oklopol++
18:21:42 <ehird_> !
18:21:45 <ehird_> @karma+ oklopol
18:21:45 <seabot> oklopol's karma raised to 1.
18:21:45 <oklopol> how's this work
18:21:46 <ehird_> @karma+ oklopol
18:21:46 <ehird_> @karma+ oklopol
18:21:46 <seabot> oklopol's karma raised to 2.
18:21:47 <ehird_> @karma+ oklopol
18:21:47 <seabot> oklopol's karma raised to 3.
18:21:47 <ehird_> @karma+ oklopol
18:21:47 <seabot> oklopol's karma raised to 4.
18:21:47 <seabot> oklopol's karma raised to 5.
18:21:49 <ehird_> @karma+ oklopol
18:21:50 <seabot> oklopol's karma raised to 6.
18:21:52 <ehird_> @karma+ oklopol
18:21:52 <seabot> oklopol's karma raised to 7.
18:21:54 <ehird_> @karma+ oklopol
18:21:54 <seabot> oklopol's karma raised to 8.
18:21:56 <AnMaster> @karma+ AnMaster
18:21:56 <seabot> AnMaster's karma raised to 1.
18:21:57 <ehird_> @karma+ oklopol
18:21:57 <oklopol> ah, right, much better
18:21:57 <seabot> oklopol's karma raised to 9.
18:21:59 <ehird_> @karma+ oklopol
18:21:59 <seabot> oklopol's karma raised to 10.
18:22:02 <ehird_> @karma+ oklopol
18:22:02 <seabot> oklopol's karma raised to 11.
18:22:04 <ehird_> @karma+ oklopol
18:22:05 <seabot> oklopol's karma raised to 12.
18:22:07 <ehird_> @karma+ oklopol
18:22:07 <seabot> oklopol's karma raised to 13.
18:22:09 <ehird_> that's better
18:22:12 <ehird_> hey wait AnMaster
18:22:14 <ehird_> you cant change your own karma!!
18:22:17 <ehird_> @karma+ ehird_
18:22:17 <seabot> You can't change your own karma, silly.
18:22:19 <ehird_> it specifically forbids it
18:22:25 <ehird_> @karma- ehird_
18:22:25 <seabot> You can't change your own karma, silly.
18:22:29 <AnMaster> it just did it above?
18:22:33 <ehird_> AnMaster: try again
18:22:40 <AnMaster> ehird_, so you fixed it, ok
18:22:41 <AnMaster> nice
18:22:44 <ehird_> no
18:22:47 <AnMaster> also I think karma is silly
18:22:47 <ehird_> but it always worked for me
18:22:48 <ehird_> try again
18:22:49 <ehird_> :P
18:22:51 <ehird_> @karma egobot
18:22:51 <seabot> egobot has a karma of -1
18:22:55 <ehird_> snarky
18:22:58 <AnMaster> @karma+ AnMaster
18:22:58 <seabot> AnMaster's karma raised to 2.
18:23:03 <ehird_> O_O
18:23:03 <AnMaster> fail?
18:23:14 <ehird_> norm = thing.lower()
18:23:18 <AnMaster> ehird_, do you lower case one and then compare or something?
18:23:18 <AnMaster> @karma+ AnMaster
18:23:18 <AnMaster> @karma+ AnMaster
18:23:18 <AnMaster> @karma+ AnMaster
18:23:18 <ehird_> if norm == msg.sender.nick:
18:23:18 <ehird_> msg.respond("You can't change your own karma, silly.")
18:23:18 <ehird_> Fail
18:23:20 <oklopol> HAHA LOL FAIL
18:23:21 <seabot> AnMaster's karma raised to 3.
18:23:21 <seabot> AnMaster's karma raised to 4.
18:23:21 <seabot> AnMaster's karma raised to 5.
18:23:21 <AnMaster> hm
18:23:25 -!- seabot has quit (Remote closed the connection).
18:23:28 <AnMaster> ehird_, agreed
18:23:30 <ais523> ehird_: easy to get round it, anyway
18:23:36 -!- seabot has joined.
18:23:37 <ehird_> @karma- AnMaster
18:23:38 <ehird_> @karma- AnMaster
18:23:38 <seabot> AnMaster's karma lowered to 4.
18:23:38 <seabot> AnMaster's karma lowered to 3.
18:23:38 <ehird_> @karma- AnMaster
18:23:38 <ehird_> @karma- AnMaster
18:23:39 <seabot> AnMaster's karma lowered to 2.
18:23:41 <seabot> AnMaster's karma lowered to 1.
18:23:41 <ehird_> (just balancing it out sry)
18:23:42 <AnMaster> ..
18:23:47 <ehird_> however
18:23:49 <ehird_> @karma+ AnMaster
18:23:49 <seabot> AnMaster's karma raised to 2.
18:23:51 <ehird_> for finding the buggg
18:23:54 <ais523> ^bf ,[.,]!@karma+ ais523
18:23:55 <fungot> @karma+ ais523
18:23:55 <seabot> ais523's karma raised to 1.
18:24:00 <ehird_> @karma- ais523
18:24:00 <AnMaster> ais523, :D
18:24:00 <seabot> ais523's karma lowered to 0.
18:24:03 <ais523> ehird_: you should probably block bots
18:24:03 <ehird_> that was easy.
18:24:06 <AnMaster> @karma+ ais523
18:24:07 <seabot> ais523's karma raised to 1.
18:24:07 <ehird_> ais523: naw
18:24:10 <ehird_> I like bots.
18:24:19 <ehird_> @unload karma
18:24:19 <seabot> You are not ehird!
18:24:22 <ehird_> ...
18:24:24 <ehird_> Bitch.
18:24:27 <ais523> classic
18:24:29 <oerjan> :D
18:24:29 -!- ehird_ has changed nick to ehird.
18:24:30 <ais523> @karma+ seabot
18:24:30 <seabot> seabot's karma raised to 3.
18:24:40 * oerjan waits for the kline
18:24:42 <ehird> @unload karma
18:24:43 <seabot> Unloaded the karma plugin.
18:24:49 <AnMaster> ehird, about that kline, too many connections from the same host could cause it
18:24:50 <ehird> @karma
18:24:50 <seabot> wtf is karma?
18:24:54 <ehird> :-D
18:24:56 <ehird> AnMaster: only 1
18:25:02 <ehird> @fungot
18:25:02 <seabot> wtf is fungot?
18:25:03 <fungot> ehird: ( ( noise yeah)) the one that's not conspicuous if they're ah laughter you know laughter stuff and ' cause she's packing))
18:25:03 <fungot> seabot: ( ( mm mhm mhm)) especially in the afternoon then it would come on fnord laughter laughter mm noise noise))
18:25:22 <ehird> @python while True: { print "lol
18:25:22 <seabot> SyntaxError: EOL while scanning string literal (<irc>, line 2)
18:25:23 <ehird> er
18:25:26 <ehird> @python while True: { print "lol" }
18:25:26 -!- seabot has quit (Excess Flood).
18:25:29 <ehird> lol fail
18:25:45 -!- seabot has joined.
18:25:56 <ehird> @help
18:25:56 <seabot> cdecl: cdecl
18:25:57 <seabot> help: help
18:25:57 <seabot> karma: karma karma+ karma-
18:25:57 <seabot> meta: load reload unload
18:25:57 <seabot> python: python
18:26:01 <ehird> @unload cdecl
18:26:01 <seabot> Unloaded the cdecl plugin.
18:26:03 <ehird> @unload help
18:26:03 <seabot> Unloaded the help plugin.
18:26:05 <ehird> @unload karma
18:26:05 <seabot> Unloaded the karma plugin.
18:26:07 <ehird> @unload python
18:26:07 <seabot> Unloaded the python plugin.
18:26:09 <ehird> @unload meta
18:26:09 <seabot> Unloaded the meta plugin.
18:26:14 <ehird> Now it does NOTHING :-D
18:26:20 <oerjan> @unload
18:26:20 <seabot> wtf is unload?
18:26:41 -!- seabot has quit (Remote closed the connection).
18:26:47 <ehird> Anyway, enough seabot.
18:26:51 -!- seabot has joined.
18:26:53 <ehird> Let me find another bot for us to enjoy!
18:27:03 <ehird> I have sooo many...
18:27:46 -!- olsner has joined.
18:27:51 <ehird> Ooh, old Endeavour./
18:27:52 <ehird> Vintage.
18:28:00 <ehird> TypeError: __init__() got an unexpected keyword argument 'conn'
18:28:02 <ehird> Very vintage.
18:29:02 <ehird> Let's try that again.
18:29:08 -!- Endeavour has joined.
18:29:14 <ehird> YO MY BOY
18:29:15 -!- Endeavour has quit (Remote closed the connection).
18:29:19 <ehird> wat
18:30:39 <ehird> bot.seen[input.nick] = (datetime.now(), input.target, input.text)
18:30:41 <ehird> is the failing line
18:30:48 <ehird> String or Integer object expected for key, unicode found
18:30:50 <ehird> oic
18:30:53 <ehird> just need to str() i guess
18:31:58 <AnMaster> written for old python?
18:32:02 <ehird> yeah.
18:32:09 <AnMaster> how old?
18:32:16 -!- Endeavour has joined.
18:32:18 <ehird> seen ehird
18:32:21 <ehird> .seen ehird
18:32:22 -!- Endeavour has quit (Remote closed the connection).
18:32:25 <ehird> Fail
18:32:32 <ehird> AnMaster: 2.4
18:34:29 -!- ais523 has quit (Remote closed the connection).
18:34:37 <AnMaster> ehird, that isn't so old
18:34:52 <AnMaster> I mean I would have thought maybe 2.3 or 2.2
18:35:11 <ehird> It was for this channel. :-P
18:35:20 <ehird> I only arrived here 2007 and I htink this bot is early-2008.
18:35:36 <ehird> AnMaster: python 2.4 is circa 2004
18:35:44 <ehird> So, 2.3 would have been 2003 or so
18:35:46 <AnMaster> ehird, that old heh
18:35:48 <ehird> 2.2 would have been about 2000
18:35:53 <AnMaster> ehird, 2.5 took a long time?
18:36:16 <ehird> 2.5 came out in 2006.
18:36:23 <ehird> So 2.4 only lasted 2 years or so.
18:36:37 <AnMaster> and 2.3 would be 2003?
18:36:43 <ehird> Roughly, yes.
18:36:52 <AnMaster> so it only lasted a single year?
18:37:04 <ehird> Well, I think it came out in 2002 :P
18:37:09 <ehird> I was just giving rough years.
18:37:09 <AnMaster> hm ok
18:37:20 <AnMaster> every second year new minor release?
18:37:31 <AnMaster> interesting
18:37:32 <ehird> Seems about right.
18:37:47 <ehird> AnMaster: they do quite a few really-minor (toddler?) releases inbetween
18:38:10 <AnMaster> ehird, "micro" I think is the real name, though "toddler" is funnier
18:38:28 <AnMaster> btw postgresql call the second digit "major" and the third "minor"
18:38:33 <AnMaster> I have no idea what they call the first
18:38:37 <ehird> In this line, I propose a new term for "early adopter": "pedophile".
18:38:58 <AnMaster> a bit too dirty for my taste
18:39:15 <ehird> Well, those early adopters are a dirty bunch.
18:39:16 <AnMaster> ehird, teenager maybe?
18:39:38 * oerjan recalls Paul Erdos called children "epsilons"
18:39:42 <AnMaster> that would fit, at least for the period around 15 years
18:40:38 <ehird> Well I give up on endeavour.
18:40:42 <ehird> Let's find another bt.
18:40:44 <AnMaster> ehird, oh?
18:40:50 <oerjan> endeavours are useless
18:40:56 <AnMaster> ehird, how many do you have in total
18:41:02 <ehird> AnMaster: like 50 :-P
18:41:03 <ehird> # bastard: fuck goddamn
18:41:03 <ehird> # it does irc
18:41:03 <ehird> # released into the public domain by tusho, 2008
18:41:07 <ehird> Best. Comment header. Ever.
18:41:16 <ehird> I think I recall the discussion surrounding it.
18:41:21 <AnMaster> eh
18:41:24 <ehird> I think we were trying to come up with the most horrible IRC client ever.
18:41:25 <AnMaster> was that the name?
18:41:33 <AnMaster> client or bot?
18:41:34 <ehird> And I decided to run sed over netcat.
18:41:39 <ehird> AnMaster: client
18:41:39 <AnMaster> ouch
18:42:29 <oerjan> so, was it worse than telnet? :D
18:42:39 <ehird> oerjan: it's only 1 lines long, I never got around to it :P
18:42:44 <AnMaster> oh
18:42:46 <oerjan> ah
18:42:49 <ehird> unfortunately :(
18:43:36 <ehird> _10 = PRINT("HELLO, WORLD!"), GOTO(10)
18:43:40 <ehird> Valid Python code.
18:44:00 <AnMaster> ehird, really?
18:44:08 <AnMaster> with some input filter?
18:44:15 <ehird> http://pastie.org/364879
18:44:53 <AnMaster> ehird, that one doesn't work in the general case does it?
18:44:56 <AnMaster> just wondering
18:45:02 <ehird> What do you mean?
18:45:26 <AnMaster> could you have more than one label there
18:45:30 <AnMaster> and so on
18:45:35 <ehird> yes, if you did:
18:45:42 <AnMaster> to actually make control flow with it
18:45:44 <ehird> _10 = PRINT("HELLO, "), GOTO(20)
18:45:48 <ehird> _20 = PRINT("WORLD!"), GOTO(10)
18:45:50 <ehird> that woul dwork
18:45:52 <AnMaster> wow
18:45:58 <ehird> ctx = globals()['_'+str(self.i)]
18:46:00 <ehird> from GOTO
18:46:02 <AnMaster> ehird, antyhing but "print"?
18:46:13 <ehird> AnMaster: no, but you could make something like CALL(func, 1, 2)
18:46:34 <AnMaster> also am I right this works through some sort of reflection?
18:46:40 <ehird> yes.
18:46:43 <ehird> ctx = globals()['_'+str(self.i)]
18:47:03 <AnMaster> hm
18:47:34 <AnMaster> what does the syntax _10 = classname(...), otherclass(...) do in python?
18:47:36 <AnMaster> in general
18:47:54 <ehird> a, b is (a,b), a tuple (like a list but immutable)
18:48:00 <ehird> _10 is just a random variable name
18:48:00 <AnMaster> ah
18:48:03 <ehird> that looks like a line number
18:48:36 <comex> even better on python 3 where exec is a function
18:48:41 <AnMaster> heh
18:48:46 <ehird> umm
18:48:49 <ehird> that makes no difference
18:48:57 <comex> well, you could lowercase it if you want in that case
18:49:05 <ehird> o_o
18:49:07 <ehird> what
18:49:13 <AnMaster> why would you want that
18:49:20 <AnMaster> upper case is the point.
18:49:20 <comex> good point
18:49:24 * comex shutsu p
18:49:25 <ehird> This botte looks like it works
18:49:33 <ehird> Specifically, botte.old/
18:49:39 <ehird> (I have 50 bots named botte, none of which work)
18:49:51 <ehird> ./lib/botte/client.rb:24:in `run': undefined method `feed' for #<Botte::Connection:0x559c4> (NoMethodError)
18:49:53 <AnMaster> ehird, you keep all bots in under one directory?
18:49:53 <comex> sed over netcat? lovely
18:49:55 <ehird> OR NOT
18:50:00 <AnMaster> in subdirs by year?
18:50:01 <AnMaster> :D
18:50:10 <ehird> AnMaster: i keep everything in ~/Code/<name>/
18:50:24 <ehird> it's a freaking huge dir
18:50:32 <ehird> % ls ~/Code|wc -l
18:50:33 <ehird> 746
18:50:36 <AnMaster> heh
18:50:40 <AnMaster> ehird, du -sh?
18:50:41 <comex> I keep things organized by subject
18:50:52 <comex> $ ls /usr/src/b | wc -l
18:50:54 <comex> 135
18:50:55 <ehird> AnMaster: 723MB
18:50:58 <AnMaster> comex, I keep them by size since my ~/src is too small
18:51:08 <ehird> comex: b?
18:51:18 <AnMaster> ehird, /b/
18:51:22 <comex> na
18:51:24 <comex> /usr/src/b is my "wii stuff" directory
18:51:25 <ehird> AnMaster: i doubt it
18:51:32 <ehird> how can you write 135 programs about /b/
18:51:33 <ehird> :-P
18:51:42 <AnMaster> ehird, um... good point
18:51:45 <comex> (did that work, because konversation fucked up)
18:51:48 <comex> [13:51] <-> #esoteric> /usr/src/b is my "wii stuff" directory
18:51:52 <ehird> yes
18:52:07 <comex> also, I daresay it wouldn't be very hard
18:52:19 <FireFly> Hm
18:52:59 <AnMaster> comex, <->?
18:53:10 <AnMaster> you broke it's format string somehow?
18:53:46 <ehird> no
18:53:48 <ehird> konversation does that
18:53:53 <ehird> -> = send
18:53:54 <ehird> <- = recv
18:53:59 <AnMaster> and <->?
18:54:13 <AnMaster> "either way"?
18:54:19 <comex> no
18:54:22 <ehird> <THING CHANNEL>
18:54:24 <comex> I typed /msg #esoteric
18:54:25 <ehird> THING = -> | <-
18:54:27 <AnMaster> ah
18:54:32 <ehird> } else {
18:54:33 <ehird> /* "offensive programming" */
18:54:33 <ehird> printf("You SUCK! Go to HELL!\n");
18:54:33 <ehird> exit(1);
18:54:33 <ehird> }
18:54:37 <ehird> -- ~/Code/c-cont/cont.c
18:54:44 <AnMaster> ehird, right
18:54:54 <comex> also, ehird: with konversation for normal channel messages I just get a standard layout
18:54:55 <AnMaster> ehird, heh? What is the if?
18:54:55 <ehird> (yes, real continuations for C)
18:55:06 <AnMaster> ehird, also. pastebin that code
18:55:07 <ehird> AnMaster:
18:55:08 <ehird> void restore_context(void) {
18:55:08 <ehird> if (gcont) {
18:55:08 <ehird> cont_t *old = gcont;
18:55:08 <ehird> gcont = old->next;
18:55:10 <ehird> exec_context(old);
18:55:14 <AnMaster> heh
18:55:15 <AnMaster> right
18:55:17 <comex> awesome
18:55:19 <AnMaster> checking for null
18:55:35 <ehird> Not strictly my code, I'm afraid: it was someone else's toy that I cleaned up the code of (it didn't compile)
18:55:42 <ehird> I wrote programs actually using it.
18:55:45 <ehird> For example, a factor(1).
18:55:52 <AnMaster> oh interesting
18:55:53 <ehird> It was basically prolog-style.
18:56:00 <ehird> The API was:
18:56:00 <AnMaster> if possible I would very much like to see it
18:56:05 <ehird> TRY(x) -- Returns x, generally.
18:56:06 <ehird> HOWEVER
18:56:14 <ehird> If after a TRY, a FAIL; happens somewhere
18:56:20 <ehird> then we backup to the next TRY, and keep executing after it
18:56:24 <ehird> until the try points are exhausted
18:56:26 <AnMaster> ouch
18:56:26 <ehird> at which point we fail
18:56:30 <ehird> So, Prolog-style.
18:56:38 <ehird> AnMaster: the actual continuation library was stack smashing
18:56:47 <ehird> The API definition:
18:56:47 <ehird> #define FAIL restore_context()
18:56:47 <ehird> #define TRY(x) if (!save_context()) return x
18:56:49 <AnMaster> ehird, I can see that
18:57:00 <ehird> You also had to have a main looking like this:
18:57:02 <ehird> int main(int argc, char **argv)
18:57:03 <ehird> { cont_main(main_, argc, argv);
18:57:03 <ehird> }
18:57:07 <AnMaster> um
18:57:13 <ehird> where main_ is your real main function
18:57:16 <AnMaster> wow
18:57:17 <ehird> because it needs to grab a stack pointer
18:57:24 <ehird> so then it can't return while the program goes
18:57:29 <comex> not portable
18:57:38 <ehird> comex: "Stack smashing isn't portable"
18:57:39 <ehird> no shit sherlock
18:57:43 <AnMaster> ehird, there are some tricks for getting stack pointer anyway. Boehm-GC does such stuff
18:57:47 <ehird> but it works on just about everything
18:57:56 <ehird> AnMaster: right, but you need to get a base stack pointer
18:58:03 <comex> non-x86?
18:58:05 <AnMaster> ehird, err, let me see if stack smashing works here :D
18:58:09 <ehird> comex: yes
18:58:16 <AnMaster> ehird, if you pastebin it
18:58:19 <comex> ehird: how?
18:58:23 <AnMaster> or upload a project with it or so
18:58:27 <ehird> comex: it doesn't use asm.
18:58:35 <AnMaster> comex, not very odd, the only thing I can think of where it would break is SPARC
18:58:38 <ehird> AnMaster: it actually uses longjmp
18:58:42 <comex> yeah, but the stack can go different directions and shit
18:58:43 <AnMaster> ehird, hm ok
18:58:44 <ehird> and setjmp
18:58:47 <ehird> but
18:58:51 <ehird> AnMaster: and here's the oh god part
18:58:56 <ehird> it messes with the jmp_buf
18:58:56 <ehird> :-D
18:59:01 <ehird> comex: you can detect that, the code doesn't but you can
18:59:04 <AnMaster> oh my indeed
18:59:13 <AnMaster> ehird, *that* isn't portable
18:59:20 <ehird> portable, n. works on shit
18:59:40 <AnMaster> ehird, jmp_buf format is "implementation defined", I'm pretty sure about that
18:59:46 <ehird> wait
18:59:51 <ehird> it doesn't actually mess with the jmp_buf
18:59:51 <ehird> huh
18:59:56 <AnMaster> oh right
19:00:02 <ehird> it just uses the jmp_buf to restore the registers
19:00:02 <ehird> XD
19:00:07 <ehird> with setjmp/longjmp
19:00:09 <AnMaster> ehird, yes and?
19:00:11 <AnMaster> that is normal
19:00:15 <ehird> AnMaster: yes but
19:00:16 <ehird> what it does is
19:00:21 <ehird> first it mangles the stack to restore it
19:00:24 <ehird> then it does a longjmp
19:00:24 <ehird> now
19:00:29 <ehird> since the longjmp just contains the position in the stack
19:00:34 <ehird> it jumps to the right place on the newly-mangled stack
19:00:36 <ehird> and returns the registers
19:00:46 <ehird> so it makes longjmp do its bidding, without mangling the jmp_buf :-D
19:00:51 <AnMaster> ouch
19:00:53 -!- GregorR has quit (Remote closed the connection).
19:00:55 <ehird> gotta find the original author of this code
19:00:58 <ehird> a complete genius
19:00:58 <AnMaster> ehird, this would fail on SPARC I'm pretty sure
19:01:04 <AnMaster> ehird, also I WANT TO SEE IT!
19:01:26 <AnMaster> ehird, I can't imagine this working with SPARC's moving register window thingy
19:01:43 <AnMaster> sadly I don't have a sparc to test on
19:01:48 <AnMaster> but anyway
19:01:52 <AnMaster> I want to test this, please!
19:02:09 <ehird> kay
19:02:18 <ehird> First, here's factor.c
19:02:27 <ehird> AnMaster: http://pastie.org/private/rm5gexu9dbovkfi3jch4g
19:03:08 <ehird> Note: rather inefficient :-P
19:03:15 <ehird> Specifically, in that it's copying the stack each integer it tries.
19:03:17 <ehird> In a brute-force.
19:03:32 <ehird> But it works:
19:03:32 <ehird> % ./factor 4
19:03:33 <ehird> 4: 2 2
19:03:34 <AnMaster> hm? any more files?
19:03:40 <ehird> AnMaster: yes, that's just the demo program
19:03:56 <AnMaster> ehird, the rest?
19:04:00 <ehird> Be patient.
19:04:03 <AnMaster> right
19:04:14 <AnMaster> that wouldn't be me however ;P
19:05:06 <ehird> AnMaster: http://pastie.org/private/yaoobsjszqr9ufddh9znfg
19:05:12 <ehird> source & examples
19:05:13 <AnMaster> ehird, idea: use this and boehm-gc at the same time, watch star collide
19:05:23 <ehird> source is mostly the other guyses, but with my cleanup and stuff
19:05:28 <ehird> examples are all mine
19:06:35 <ehird> AnMaster: fibs.c doesn't actually use it for prolog-style backtracking OFC
19:06:39 <ehird> it just uses it as a continuation
19:06:55 <ehird> generally you want multiple continuations that you can resume at your will and pass around, ofc
19:07:03 <ehird> left as an excersize to the reader :-P
19:07:17 <ehird> incidentally,
19:07:17 <ehird> printf("fib(%i) = %i\n", i++, fib());
19:07:17 <ehird> if (i <= 10) FAIL;
19:07:19 <ehird> causing a loop
19:07:25 <AnMaster> I'm splitting files atm, let see
19:07:34 <ehird> is possibly one of the most perverse behaviors of c code ever witnessed
19:08:14 <ehird> AnMaster: running those programs through cpp may help
19:08:35 <FireFly> ls
19:08:38 <FireFly> Hrm
19:08:53 <ehird> Note that I think getcontext/setcontext of posix ucontext may actaully do exactly what this code does.
19:09:06 * ehird runs one of these programs in gdb for shits 'n giggles
19:09:24 <AnMaster> ehird, yes
19:09:26 <AnMaster> testing them atm
19:09:37 * ehird step step step step
19:09:53 <AnMaster> hm it works work -fstack-protector-all for amb at least
19:10:07 <ehird> Ha. Your stack protector is foiled!
19:10:18 <MizardX> Heh. I found python 1.5.2 on one of my school's servers. :)
19:10:21 <AnMaster> ehird, it is for buffer overwriting on normal return
19:10:26 <ehird> AnMaster: Yes.
19:10:28 <AnMaster> it can't protect long jump
19:10:33 <ehird> AnMaster: It's not a long jump.
19:10:37 <ehird> It actually modifies the memory on the stack.
19:10:40 <ehird> It just copies it in place.
19:10:41 -!- KingOfKarlsruhe has joined.
19:10:47 <ehird> the longjmp is only needed for restoring registers
19:10:55 <ehird> the stack smashing would work just as well without of it
19:11:15 <AnMaster> ehird, yes and there is no way stack smash protection can work for that case
19:11:20 <AnMaster> since it doesn't return normally
19:11:29 <ehird> :-D
19:11:35 <AnMaster> ehird, oh btw, does it work on sparc?
19:11:40 <ehird> Dunno.
19:11:48 <AnMaster> ==17012== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 4 from 1)
19:11:52 <AnMaster> I don't believe it...
19:12:02 <ehird> The elk scheme implementation does continuations in a similar way, I think it has its own special setjmp/longjmp implementation in asm
19:12:04 <AnMaster> all of them are f*ing valgrind clean!
19:12:05 <ehird> for sparc
19:12:06 <AnMaster> !=
19:12:07 <AnMaster> !?
19:12:09 <ehird> HAHAHAHA
19:12:09 <ehird> :-D
19:12:35 <AnMaster> ehird, ok some memory leak
19:12:39 <AnMaster> but no other stuff
19:12:45 <ehird> haha, where?
19:12:51 <AnMaster> ==17022== 4,560 (2,240 direct, 2,320 indirect) bytes in 10 blocks are definitely lost in loss record 3 of 4
19:12:52 <AnMaster> ==17022== at 0x4A0743E: malloc (vg_replace_malloc.c:207)
19:12:52 <AnMaster> ==17022== by 0x4008AE: get_context (in /home/arvid/irc/c-cont/fibs)
19:12:52 <AnMaster> ==17022== by 0x40091B: save_context (in /home/arvid/irc/c-cont/fibs)
19:12:53 <AnMaster> for example
19:12:56 <ehird> AnMaster: I am dubious as to valgrind's ability to track memory over stack smashing.
19:13:00 <ehird> Perhaps it's messing up.
19:13:09 <AnMaster> ehird, yes I agree, but that is a heap allocation
19:13:14 <ehird> hmm, you're right.
19:13:15 <ehird> it never calls free()
19:13:18 <ehird> but it does malloc stuff
19:13:31 <ehird> so that'll be a problem if you do like 50 thousand continuation sets :-P
19:14:06 <AnMaster> ehird, yes, to support enterprise grade applications it need to avoid leaking memory
19:14:11 <ehird> Quite.
19:14:11 <AnMaster> ;)
19:14:27 <ehird> wow, oklotalk is so pretty.
19:14:41 <ehird> it uses the § symbol.
19:14:41 <ehird> that's hardcore.
19:14:52 <AnMaster> ehird, btw I saw Try/Catch in C today
19:14:58 <AnMaster> in a non-eso program
19:14:59 <ehird> that's easy.
19:15:01 <AnMaster> it makes me sad
19:15:02 <ehird> It's just a setjmp/longjmp.
19:15:05 <ehird> AnMaster: why?
19:15:05 <AnMaster> ehird, yes
19:15:09 <ehird> it's a legitimate thing
19:15:12 <AnMaster> yes
19:15:17 <AnMaster> and that makes me even more sad
19:15:23 <ehird> why :P
19:15:30 <AnMaster> ehird, btw: http://rafb.net/p/lwMx7W92.html
19:15:48 <ehird> Yeah, seen it.
19:15:52 <ehird> It's a bit bloated :-P
19:15:55 <AnMaster> ehird, unbalanced blocks too
19:15:57 <AnMaster> :(
19:16:08 <ehird> wut?
19:16:29 <AnMaster> exception__catch
19:16:31 <AnMaster> look at it
19:16:47 <ehird> ah, right.
19:16:50 <ehird> That's because it has to come after a try.
19:16:58 <AnMaster> same for Try, unbalanced too
19:16:59 <AnMaster> :(
19:17:02 <ehird> no duh
19:17:05 <ehird> you have a try, then a catch
19:17:08 <AnMaster> yes it is sad
19:17:10 <ehird> why
19:17:25 <AnMaster> because it breaks code folding in this editor :,(
19:17:36 <AnMaster> ;P
19:17:36 <ehird> lol
19:18:18 <AnMaster> ehird, you laughed at something I said? YES!
19:19:05 <AnMaster> ehird, btw have you seen the build systems (yes plural) of libpng?
19:19:28 <ehird> no
19:20:00 <AnMaster> there are 1) lots of makfiles like makefile.gcc, makfile.vms and what not, around 40 or so I think, 2) autoconf 3) cmake. All in parallel
19:20:21 <ehird> heh
19:20:24 <ehird> why?
19:20:26 <AnMaster> sure 2 at once when you are changing, but 3 at once... from such different periods
19:20:30 <AnMaster> ehird, I don't know
19:20:52 <AnMaster> I wish I knew
19:20:59 * ehird is a fan of the "just make it, if there's a system issue change the vars in the makefile" approach
19:22:22 <AnMaster> ehird, well that is what optipng uses, and you need to change in several makefiles, since it uses one for the main program, one for the included and modified libpng, one for (again modified) zlib, and one for some "pngxtern"
19:22:33 <AnMaster> and I needed to debug something, so 4 places to add -g, compile
19:22:39 <AnMaster> find out it passes -s in LDFLAGS
19:22:41 <ehird> then that is not my system :-P
19:22:44 <AnMaster> edit again in 4 places
19:22:47 <AnMaster> recompile,
19:22:49 <ehird> then that is not my system :-P
19:22:57 <AnMaster> find that make clean does not work as advertised
19:22:59 <AnMaster> fix
19:23:01 <AnMaster> clean again
19:23:03 <AnMaster> recompile
19:23:10 <AnMaster> ehird, yes it is awful
19:23:17 <AnMaster> I mean, autoconf would be a step up
19:23:30 <ehird> Note that you can do system detection in plain make.
19:23:39 <ehird> with things like uname :_P
19:23:40 <ehird> :-P
19:23:46 <AnMaster> ehird, oh? Let me check
19:23:52 * AnMaster looks for a copy of nmake
19:24:00 <AnMaster> damn don't think I have that
19:24:11 <ehird> nmake is almost gnu make, IIRC
19:24:20 <ehird> admittedly no uname :-)
19:24:24 <ehird> just run the windows specific command and check that
19:24:25 <AnMaster> ehird, err no it is microsoft make with a totally different syntax
19:24:25 <ehird> too
19:24:27 <AnMaster> iirc
19:24:33 <ehird> no, iirc, you're wrong.
19:24:49 <AnMaster> ehird, well I might be, it was years since I last had to deal with it
19:25:14 <AnMaster> ehird, and I don't have any windows around
19:25:15 <ehird> cool, my old DDoSing program
19:25:41 <AnMaster> wtf... dev-dotnet/gluezilla? (something depended on it. trying to figure out what the heck it is
19:25:49 <AnMaster> oh mono, wth pulled that in
19:26:06 <ehird> this ddos program was a random fuzz checker too :P
19:26:20 <ehird> it catted /dev/urandom to nc massively parallely
19:26:33 <ehird> fun fun
19:26:37 <AnMaster> WTF. What happened to the package dep graph
19:26:39 <AnMaster> :(
19:27:05 <AnMaster> first time gentoo package manager broke for me ever. And that is since 2004
19:27:16 <AnMaster> (that is when I started using gentoo)
19:28:06 <psygnisfive> logs!
19:28:30 <AnMaster> http://rafb.net/p/PnQjW524.html
19:28:38 <AnMaster> I have no clue what the hell happened
19:28:45 * AnMaster checks around
19:29:20 <AnMaster> well the mono one was easy to fix
19:37:28 -!- MigoMipo has joined.
19:42:22 -!- Corun has joined.
19:46:51 <MizardX> Heh. There's a module called tabnanny in Python :)
19:47:05 <ehird> whassit do
19:47:28 <lament> tab.
19:53:01 -!- sebbu2 has joined.
19:53:35 -!- sebbu has quit (Read error: 60 (Operation timed out)).
19:53:41 -!- sebbu2 has changed nick to sebbu.
19:54:52 <AnMaster> ehird, is there something like "perldoc" but for python?
19:55:03 <ehird> pydoc
19:55:09 <AnMaster> oh ok
20:07:07 -!- kar8nga has joined.
20:11:27 -!- KingOfKarlsruhe has quit (Remote closed the connection).
20:38:13 -!- kar8nga has quit (Read error: 110 (Connection timed out)).
20:42:52 -!- Corun has quit ("This computer has gone to sleep").
21:03:34 -!- kar8nga has joined.
21:10:43 -!- GregorR has joined.
21:11:07 -!- GregorR has set topic: This topic unintentionally left unblank..
21:36:53 -!- MigoMipo has quit ("QuitIRCException: MigoMipo out of IRC").
21:39:53 -!- Corun has joined.
22:01:54 <ehird> http://blog.uncool.in/2009/01/19/computer-science-fail-higher-education-in-india/
22:01:58 <ehird> … Linux is basically a DOS based OS.
22:02:04 <ehird> A compiler is a software that converts code written in a particular programming language to machine code. To compile a program, you must hit ALT+F9.
22:02:08 <ehird> The first high level language was Ada, also known as Smalltalk
22:02:12 <ehird> ETCETCETC
22:04:23 <ehird> Additional lulz: http://www.reddit.com/r/programming/comments/7qvdj/the_first_high_level_programming_language_was_ada/
22:06:41 <oklopol> A compiler is a software that converts code written in a particular programming language to machine code. To compile a program, you must hit ALT+F9. <<< xD
22:07:23 <psygnisfive> oklopol :p
22:07:25 <psygnisfive> :o
22:07:42 <oklopol> "a proof is a sequence of easily verifiable steps, in formal mathematics axioms or rules derived from them... to prove you use a pencil and you write "->"'s that mean "follows from""
22:07:54 <ehird> lol :-D
22:08:03 <oklopol> well okay that had a few errors, but joke should be correct anyway.
22:09:00 <psygnisfive> this is no joke sir! this are truth!
22:09:22 <psygnisfive> so, oklopol, i now have a semi-workable version of my language :)
22:09:37 <oklopol> cooooool. i have a few new books \o/
22:09:54 <oklopol> psygnisfive: is it the graph thing
22:09:55 <oklopol> oh
22:09:56 -!- ehird has set topic: how much could a if a could ?.
22:09:56 <psygnisfive> shall i bring my bot in here so you can poke at it? :P
22:09:58 <oklopol> it's the rewrite thing
22:10:01 <psygnisfive> no tree
22:10:02 <oklopol> sure.
22:10:08 <oklopol> of course, i should go read soon.
22:10:11 <psygnisfive> the graph thing is my linguistics project :p
22:10:31 <oklopol> ehird: a of it prolly
22:10:37 <ehird> oklopol: oic
22:10:41 -!- AntiGravityBot has joined.
22:10:54 <oerjan> ehird: !!
22:11:10 -!- AntiGravityBot has quit (Remote closed the connection).
22:11:20 <ehird> failure
22:11:21 -!- AntiGravityBot has joined.
22:11:25 <psygnisfive> there thats better.
22:11:32 <psygnisfive> a proper n=.
22:11:34 <ehird> you restarted it to change the ident?
22:11:35 <ehird> srsly?
22:11:39 <psygnisfive> yes :p
22:11:46 <psygnisfive> im neurotic about these things sir!
22:12:23 <ehird> so.
22:12:25 <ehird> how does it run.
22:12:28 <psygnisfive> it sort of works for what i want. i need to improve it tho. its just prototyped right now.
22:12:33 <oerjan> STOP BEING NEUROTIC OR I'LL SPANK YOU. OH WAIT.
22:12:34 <psygnisfive> run in what sense?
22:12:38 <ehird> psygnisfive: AntiGravityBot.
22:12:40 <ehird> how do you use it.
22:12:43 <psygnisfive> oh
22:12:44 <ehird> or does it just sit there.
22:12:46 <psygnisfive> agbot: 5 + 5
22:12:46 <AntiGravityBot> 10
22:12:50 <ehird> agbot: 1 / 0
22:12:51 <AntiGravityBot> Infinity
22:12:55 <ehird> agbot: {APOW£"
22:12:55 <AntiGravityBot> error: contains unbound variables
22:13:00 <ehird> agbot: crash fucker
22:13:00 <AntiGravityBot> (crash fucker)
22:13:06 <ehird> agbot: \n
22:13:06 <AntiGravityBot> (\ n)
22:13:08 <ehird> agbot: "\n"
22:13:08 <AntiGravityBot> ("\ n ")
22:13:18 <ehird> agbot: (1 / 0) + 2
22:13:18 <AntiGravityBot> ***
22:13:22 <ehird> wat
22:13:35 <oerjan> agbot: sin pi
22:13:35 <AntiGravityBot> (sin pi)
22:13:39 <psygnisfive> *** is its current way of saying "this is not possible"
22:13:41 -!- kar8nga has quit (Read error: 60 (Operation timed out)).
22:13:46 <ehird> agbot: suck a bum
22:13:46 <AntiGravityBot> (suck a bum)
22:13:59 <oerjan> AntiGravityBot: 1+2
22:14:00 <ehird> psygnisfive: um, Infinity+1 is very well defined
22:14:03 <ehird> so is Infinity+2
22:14:08 <psygnisfive> no no thats not what i mean :p
22:14:31 <psygnisfive> Infinity itself is not defined in the system. its relying on the ruby's math facilities to do math, see
22:14:38 <oerjan> AntiGravityBot: SUPPORT TAB COMPLETION YOU INFIDEL!
22:14:44 <psygnisfive> so it does 1 / 0 and ruby kicks back Infinity
22:14:59 <ehird> psygnisfive: now make its prefix its actual nick
22:15:03 <psygnisfive> and this gets converted back into a string
22:15:09 <psygnisfive> ok fine :P
22:15:12 -!- AntiGravityBot has quit (Remote closed the connection).
22:15:17 <ehird> so
22:15:19 -!- agbot has joined.
22:15:20 <ehird> what is interesting about it
22:15:23 <psygnisfive> happy? :P
22:15:25 <psygnisfive> whell
22:15:26 <ehird> i'm not seeing anything more than basic arithmetic atm
22:15:40 <psygnisfive> agbot: fac 0 = 1
22:15:40 <agbot> defined: fac 0 = 1
22:15:52 <ehird> you can define functions
22:15:52 <psygnisfive> agbot: fac N = N*(fac (N-1))
22:15:52 <agbot> defined: fac N = N*(fac (N-1))
22:15:54 <ehird> whoop de doo
22:15:56 <psygnisfive> :P
22:15:59 <ehird> when does it get interesting?
22:16:00 <oerjan> agbot: fac 5
22:16:00 <agbot> 120
22:16:09 <ehird> agbot: fac 10000000
22:16:11 <ehird> I broked it. :-)
22:16:15 <ehird> agbot: fac 1
22:16:15 <psygnisfive> no its running
22:16:19 <ehird> psygnisfive: yes.
22:16:20 <psygnisfive> im watching it evaluate that
22:16:23 <ehird> and it'll run until we get bored.
22:16:31 -!- agbot has quit (Remote closed the connection).
22:16:41 <ehird> so where's the interesting part
22:16:46 -!- agbot has joined.
22:16:48 <psygnisfive> hush you
22:16:54 <ehird> it's a question
22:16:55 <ehird> answer it
22:16:57 <oklopol> psygnisfive: now is there any of that nondeterministic stuff?
22:17:04 <psygnisfive> oklopol: not yet
22:17:06 <psygnisfive> agbot: X my== X = true
22:17:06 <agbot> defined: X my== X = true
22:17:14 <oklopol> ehird: when was the last time you made anything interesting? :P
22:17:15 <ehird> is that syntax?
22:17:17 <ehird> that is ugly syntax.
22:17:19 <psygnisfive> agbot: _ my== _ = false
22:17:19 <agbot> defined: _ my== _ = false
22:17:21 <ehird> oklopol: all the time :P
22:17:23 <ehird> I just never release it.
22:17:33 <psygnisfive> agbot: 1 my== 2
22:17:33 <agbot> false
22:17:37 <psygnisfive> agbot: 1 my== 1
22:17:37 <agbot> true
22:17:44 <psygnisfive> simple, trivial, i know. :P
22:17:57 <ehird> so
22:17:57 <oklopol> ehird: if you don't finish and release it, it never existed.
22:18:00 <psygnisfive> but the point is that its using full blown unification based pattern matching on its rules
22:18:04 <ehird> where's the interesting part psygnisfive
22:18:17 <ehird> oklopol: like oklotalk
22:18:23 <psygnisfive> you can define things like lists ground up, in a sense.
22:18:25 <oklopol> ehird: my point exactly.
22:18:31 <oklopol> that is
22:18:31 <psygnisfive> agbot: first nil = error
22:18:32 <ehird> psygnisfive: you mean like in any language ever?
22:18:32 <agbot> defined: first nil = error
22:18:38 <ehird> not impressed yet.
22:18:46 <psygnisfive> im not trying to impress you, funnily enough
22:18:47 <oklopol> the point was i was just referring to my own incapability to finish a project after realizing how to finish it.
22:19:04 <ehird> psygnisfive: i was assuming it was esoteric in some kind of way.
22:19:17 <ehird> you know, since you were talking about the lang in #esoteric. and brought the bot here
22:19:22 <oklopol> knew you couldn't just play along, people lose some sense of spotting sarcasm when you attack them
22:19:25 <psygnisfive> its esoteric in the sense that its thue with syntactic variables.
22:19:26 <oerjan> psygnisfive: that's impossible anyhow :D
22:19:50 <psygnisfive> so if thue as eso then this is mildly less so :P
22:19:50 <ehird> oerjan: your puns are pretty impressive
22:20:00 <ehird> agbot: a = a
22:20:00 <agbot> defined: a = a
22:20:03 <ehird> agbot: a
22:20:03 <agbot> a
22:20:09 <ehird> agbot: a X = a X
22:20:09 <agbot> defined: a X = a X
22:20:11 <ehird> agbot: a
22:20:11 <agbot> a
22:20:12 <ehird> agbot: a 2
22:20:15 <oerjan> huh
22:20:17 -!- agbot has quit (Remote closed the connection).
22:20:20 <ehird> byebye
22:20:23 <psygnisfive> thanks, you sent it into an infinite loop :P
22:20:26 -!- agbot has joined.
22:20:32 <psygnisfive> thats another thing im going to change in the next version
22:20:33 <ehird> agbot: ¡¶§¶åß®†∞¶ÂfiflÂÍfl
22:20:34 <agbot> ¡¶§¶åß®†∞¶ÂfiflÂÍfl
22:21:15 <psygnisfive> ehird
22:21:21 <psygnisfive> would it help if i explained the language? :P
22:21:38 <adimit> haha.
22:21:38 <ehird> perhaps
22:21:43 <psygnisfive> hey adimit
22:21:43 <ehird> that generally helps.
22:21:46 <adimit> I had fun with that thing today already
22:21:50 <adimit> hey psygnisfive
22:21:52 <psygnisfive> yes i imagine it does, ehird :P
22:22:45 <psygnisfive> ()[]{} are all individual symbols any time they appear. () is used to group things into trees in the text -- the interp never sees parens themselves
22:22:45 <oerjan> psygnisfive: if it's thue-based shouldn't the order of equations be irrelevant?
22:23:06 <psygnisfive> anything starting with a capital letter is a syntactic variable
22:23:17 <psygnisfive> anything else is a symbol
22:23:22 <psygnisfive> oerjan: what do you mean?
22:23:37 <oerjan> X my== X = true
22:23:41 <oerjan> _ my== _ = false
22:23:51 <psygnisfive> oh, in defining things? no. because variables + pattern matching introduces certain issues
22:24:04 <ehird> psygnisfive: can you make it trace
22:24:09 <ehird> thue is only fun if you see every step
22:24:30 <psygnisfive> also, non-alphanumerics produce separate symbols. so a+b is a, +, c. a++b is a, ++, b, etc.
22:24:48 <psygnisfive> and each _ is a dummy variable that uniformly matches anything but doesnt unify
22:25:06 <psygnisfive> ehird: im going to do those things in the next version. its very primitive right now.
22:25:17 <ehird> adding tracing cannot possibly be hard.
22:25:21 <psygnisfive> its not
22:25:33 <ehird> you have a step function, and a step-until-constant function, so just add an irc output in the step
22:25:45 <psygnisfive> but the way i evaluate it currently is using recursive evaluation, as opposed to iterative.
22:25:51 <ehird> and?
22:25:59 <psygnisfive> the next version will be properly iterative so itll work better.
22:26:10 <ehird> ok, I'll come back in 5 years
22:26:19 <psygnisfive> how about in maybe two weeks?
22:26:20 <psygnisfive> :P
22:26:34 <ehird> it takes you two weeks to rewrite an interpreter for that?
22:26:35 <ehird> Seriously?
22:26:38 <psygnisfive> schools going to start and i have stuff to do before then. i only worked on this yesterday because i wanted to experiment
22:26:51 <psygnisfive> no no writing the interpreter isnt what takes time dude
22:26:51 <ehird> sheesh, gimme the code and I'll add a trace
22:27:06 <Slereah_> Hey psygnisfive
22:27:10 <psygnisfive> no, its horrible code. and you dont understand the garbage i put into it. and its not even close to working properly
22:27:14 <Slereah_> want to experiment?
22:27:23 <psygnisfive> its like way pre alpha right now.
22:27:32 <psygnisfive> when its more mature ill start distributing code.
22:27:33 <ehird> I've patched oklopol's awful code before.
22:27:39 <psygnisfive> Slereah_ sexually?
22:27:40 <ehird> There is absolutely no way yours is worse.
22:27:53 <oklopol> ehird: have you?
22:27:58 <oklopol> when 8|
22:27:59 <oerjan> the code, it burns
22:28:02 <ehird> oklopol: ages ago
22:28:04 <psygnisfive> ehird: im sure you have. and im sure mine could easily be worse. but im self-conscious about my code.
22:28:05 <oklopol> which code?
22:28:14 <ehird> oklopol: oklotalk-- or something I think
22:28:30 <psygnisfive> SLereah 5:28 I have stuff in my bums D:
22:28:30 <psygnisfive> SLereah 5:28 It is cause for alarm
22:28:33 <psygnisfive> via the AIMs.
22:28:36 <oklopol> oklotalk-- is quite good code on a conceptual level.
22:28:42 <ehird> psygnisfive: well, I'd play with it if it traced.
22:28:44 <oklopol> of course, it's not very pretty
22:28:47 <ehird> oklopol: yeah. on a conceptual level ::::P
22:28:52 <ehird> hey oklopol when do we get oklotalk
22:28:53 <ehird> i want it
22:29:04 <psygnisfive> ehird: give me a little bit to do that and you can play all you want.
22:29:15 <psygnisfive> right now i have to go back to working on my database project.
22:29:22 <oklopol> i'm trying to get myself to add at least a few hours of coding to my weeks, it's simply dropped out with all the university shit
22:29:33 <psygnisfive> i have to build this db system, analyze the data, and then also do some work on my ling project
22:29:37 <psygnisfive> by next monday, preferably.
22:29:39 <oerjan> oklotalk will be finished in _good_ time before duke nukem forever, i'm sure
22:29:46 <psygnisfive> cause ive slacked a bit this past month :p
22:29:50 <oklopol> ehird: oklotalk will probably not be my next language to complete.
22:30:03 <ehird> oklopol: yeah but if you did oklotalk the other langs could be written in oklotalk.
22:30:05 <psygnisfive> so guys
22:30:07 <psygnisfive> afk
22:30:11 <psygnisfive> <3
22:30:18 <psygnisfive> dont break my bot :P
22:30:31 <oklopol> at least clue and a simple version of muture should probably appear before it
22:30:40 <oklopol> psygnisfive: i won't.
22:30:55 <psygnisfive> oh also, the interp is running inside textmate, which means its probably slow, so infinite loops are painful on my system.
22:31:04 <psygnisfive> so dont loop it :|
22:31:04 <oklopol> ehird: true. if i made all of it, then probably yes. also that would be insanely cool.
22:31:13 <ehird> oklopol: :D
22:31:41 <ehird> oklopol: then you could just, like, write oklotalk in oklotalk
22:31:48 <ehird> bootstrapping? who gives a fuckshit
22:31:52 <ehird> I run programs in my mind
22:32:03 <oklopol> well.
22:32:43 <ehird> yes. wells are holes with water.
22:32:54 <oklopol> quite.
22:37:56 <ehird> < Prodego> yes, and you really shouldn't be /on/ the network while klined
22:38:00 <ehird> *facepalm*
22:38:11 -!- ehird has quit ("leaving").
22:39:42 <oklopol> i have to leave, 00:37 and i haven't gotten pretty much anything done. irc is so fucking addictive.
22:40:03 <oklopol> if i can, that is.
22:40:27 -!- olsner has quit (Remote closed the connection).
22:44:49 -!- ehird has joined.
22:45:03 <ehird> Freenode are hostile, incompetent fucks failing to run a shitty network.
22:45:21 -!- sriracha has joined.
22:45:29 <oerjan> are you really supposed to be here? ;D
22:46:07 <ehird> Heh.
22:46:40 <ehird> No, being here is against freenode policy at the moment -- and I don't give a shit because it's the fault of a shitty auto-Kliner written by the incompetent fucks.
22:46:40 <sriracha> whats up
22:46:46 <ehird> sriracha: disregard me.
22:46:47 <ehird> I'm angry.
22:46:50 <ehird> :-)
22:46:51 * oerjan is actually having to remind himself how unimportant this is, otherwise he would be angry on ehird's behalf
22:46:57 <ehird> ha
22:47:12 <ehird> sriracha: not much at the moment, collectively, it seems
22:47:17 <ehird> not that I can speak on behalf of this channel.
22:47:24 <ehird> Although that would be neat. If I could.
22:47:31 <sriracha> i see...
22:47:31 <ehird> I'm scaring the newbie aren't I. Oh dear.
22:47:37 <ehird> :(
22:48:01 <ehird> Okay I'll pass this on to oerjan :P
22:48:01 <sriracha> ahh it's ok
22:48:35 <oerjan> wait, a newbie?
22:48:44 <ehird> Well, sriracha looks new to me.
22:48:46 <ehird> I may be wrong.
22:48:57 <oerjan> fungot, say hello to our newbie
22:48:57 <fungot> oerjan: okay well we can we walk pretty much everywhere so it was really
22:49:19 <ehird> ^style
22:49:19 <fungot> Available: agora alice darwin discworld europarl ff7 fisher* ic irc lovecraft pa speeches ss wp
22:49:21 <ehird> ^style irc
22:49:21 <fungot> Selected style: irc (IRC logs of freenode/#esoteric, freenode/#scheme and ircnet/#douglasadams)
22:49:26 <ehird> fungot: be slightly more coherent
22:49:26 <fungot> ehird: i don't read much of cll lately :) hot showers seem so much better :)
22:49:32 <ehird> fungot: oic
22:49:33 <fungot> ehird: now calamari has set up a poll about the most useless key, sysrq is currently tied for the lead, anyway? who needs to learn how to write it
22:49:43 <ehird> sriracha: Have you sacrificed the obligatory amount of goats yet?
22:50:09 <sriracha> i'm more of a sacrificing kittens and puppies type of person...
22:50:49 <ehird> The cuter the better!
22:51:02 <ehird> (I'm tired...)
22:51:09 <sriracha> wow...what did i get myself into
22:51:12 <oerjan> wait, is this one of those actual magick guys we sometimes get when our topic is misleading?
22:51:20 <ehird> who knows
22:51:24 <ehird> sriracha: what brings you here?
22:51:36 <sriracha> i was actually trying to figure out how to use IRC
22:51:42 <oerjan> aha
22:51:51 <ehird> Well, you've come to the right place! Sort of. Kinda. :-)
22:51:55 <sriracha> and i chose a random channel
22:52:16 <ehird> We're actually about esoteric programming languages. (How boring, right? :|)
22:52:30 <AnMaster> LOGS MISSING FROM TOPIC
22:52:34 <ehird> Oh dear.
22:52:38 -!- ehird has set topic: LGOS.
22:52:39 -!- ehird has set topic: LOGS.
22:52:41 <sriracha> i see
22:52:46 <sriracha> don't know much about programming
22:52:51 <oerjan> *facepalm*
22:52:58 <AnMaster> I should make a bot that screams that if someone edits topic and the logs are missing
22:53:04 <ehird> sriracha: Neither do we, that's why we're here (ok, that's a bad joke :-P)
22:53:08 <AnMaster> ehird, also: ha. ha.
22:53:08 <adimit> sriracha: here is the place to learn it.
22:53:18 <ehird> adimit: um that might be a bad choice of place :D
22:53:34 <adimit> why, I learned bass on a six-string fretless...
22:53:46 <sriracha> whoa...how'd you guys send a message to me directly like that?
22:53:51 <AnMaster> <ehird> fungot: oic <-- what did cll mean?
22:53:51 <kerlo> %eval (The logs are missing!)
22:53:51 <kerlobot> (The logs are missing!)
22:53:52 <sriracha> or better put...what's the command?
22:53:53 <fungot> AnMaster: ok what it was when i first saw it i knew it once but must not have been merged and info on how too view it.
22:53:56 <ehird> sriracha: Hm?
22:53:58 <ehird> I didn't.
22:53:59 <kerlo> That was pretty useless.
22:54:00 <ehird> But it's /msg.
22:54:06 <ehird> /msg person message.
22:54:12 <ehird> If you want a new window for them, /query person.
22:54:32 <AnMaster> *facepalm*
22:54:40 <ehird> what
22:54:48 <AnMaster> not knowing irc :(
22:54:54 -!- oerjan has set topic: Logs: http://tunes.org/~nef/esoteric.
22:55:16 <ehird> um, he's a newbie.
22:55:20 <ehird> stop being elitist.
22:55:20 <oerjan> AnMaster: well he (or maybe she) said that
22:55:43 <sriracha> i'm a "he"
22:55:43 <ehird> oerjan: sneaky topic
22:55:43 <AnMaster> ehird, hey you are like that to me when it comes to some stuff
22:55:56 <oerjan> ehird: how so?
22:56:05 <oerjan> did i mistype?
22:56:06 <ehird> oerjan: it's http://tunes.org/~nef/logs/esoteric
22:56:06 <ehird> :P
22:56:21 -!- oerjan has set topic: Logs: http://tunes.org/~nef/logs/esoteric.
22:56:23 <comex> %eval %eval
22:56:24 <kerlobot> %eval
22:56:28 <AnMaster> um
22:56:53 <AnMaster> night btw
22:57:00 <fizzie> AnMaster: I think CLL was comp.lang.lisp.
22:57:08 <AnMaster> fizzie, ah right, night
22:57:11 <ehird> hi fizzie.
22:57:21 <ehird> say hi to the person who randomly came in here when trying to figure out how to use irc!
22:57:27 <ehird> ( sriracha )
22:57:28 -!- BeholdMyGlory has joined.
22:57:29 <ehird> :-P
22:57:41 <fizzie> Hi to anyone who's hi-able, although I'll be gone in half an hour or so.
22:58:00 <ehird> who isn't hi-able?
22:58:07 <sriracha> i'm assuming you guys more or less know each other?
22:58:13 <AnMaster> ehird, well... there is also #,0 pretty common to get there by mistake
22:58:15 * AnMaster ducks
22:58:28 <oerjan> sriracha: for a certain value of "know"
22:58:34 <AnMaster> and don't try that
22:58:38 <ehird> sriracha: not really
22:58:40 <oerjan> i've never met any of the others in person
22:58:43 <fizzie> oerjan: You mean the biblical sense of "know", I guess?
22:58:44 <ehird> well, yes
22:58:54 * oerjan swats fizzie -----###
22:58:55 <ehird> but there's not many people in here so we know pretty much all the non-idlers.
22:59:00 <oerjan> think of the newbies!
22:59:02 <ehird> fungot is a bot by the way.
22:59:02 <fungot> ehird: sure, tomorrow. i thought the wrong way.
22:59:13 <AnMaster> ehird, have you tried the channel #2,000? Very newbie friendly I heard
22:59:15 <ehird> [a computer program that sits on IRC.]
22:59:20 <FireFly> You're a bot today too
22:59:22 <ehird> AnMaster: yeah that was funny in like 2006
22:59:44 <AnMaster> ehird, actually I have seen it work, using some strange unicode thing instead of , on a network that allowed that
22:59:49 <AnMaster> confused the hell out of me
23:00:25 <AnMaster> ehird, since I could join it by copy and paste by not by typing :P
23:00:35 <AnMaster> (until I found out a bit later)
23:03:56 -!- agbot has quit (Remote closed the connection).
23:04:27 <ehird> hum de dmu
23:04:28 <ehird> *dum
23:05:46 <oerjan> ^ul ((hum de dum de)S:^):^
23:05:46 <fungot> hum de dum dehum de dum dehum de dum dehum de dum dehum de dum dehum de dum dehum de dum dehum de dum dehum de dum dehum de dum dehum de dum dehum de dum dehum de dum dehum de dum dehum de dum dehum de dum dehum de dum dehum de dum dehum de dum dehum de dum dehum de dum dehum de dum dehum de dum dehum de dum dehum de dum d ...too much output!
23:05:53 <oerjan> darn
23:06:29 * oerjan feels dehumanized
23:07:12 <lament> ^ul ((what )S:^):^
23:07:12 <fungot> what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what ...too much output!
23:07:17 <AnMaster> night really now
23:07:25 <lament> ^ul ((...too much output! )S:^):^
23:07:25 <fungot> ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...t ...too much output!
23:07:49 <lament> ^ul ((oo much output! ...t)S:^):^
23:07:49 <fungot> oo much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too m ...too much output!
23:08:22 <lament> ^ul ((put! ...too much out)S:^):^
23:08:23 <fungot> put! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output!
23:08:28 <lament> there we go.
23:08:43 <comex> ^ul (:^):^
23:08:44 <fungot> ...out of time!
23:09:40 -!- CakeProphet has joined.
23:09:44 <kerlo> %eval (((s i) i) ((s i) i))
23:09:47 <fizzie> In retrospect, "out of patience" would have been more accurate there.
23:09:50 <kerlobot> ((loop i) (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i
23:10:29 <kerlo> I think I want to look up the Y combinator.
23:10:46 <ehird> Yes.
23:10:55 <ehird> I think we scared sriracha away.
23:11:11 <kerlo> %eval ((((s s)k)((s(k((s s)(s((s s)k)))))k) foo)
23:11:11 <kerlobot> Syntax error
23:11:16 * kerlo frowns
23:11:36 <kerlo> %eval (((s s)k)((s(k((s s)(s((s s)k)))))k)
23:11:37 <kerlobot> Syntax error
23:11:48 <kerlo> %eval ((s s)k)
23:11:49 <kerlobot> [l (z) ((s z) (k z))]
23:12:37 <kerlo> %eval (((s s)k)((s(k((s s)(s((s s)k)))))k))
23:12:38 <kerlobot> [l (z) ((((s (k ((s s) (s ((s s) k))))) k) z) ((k ((s (k ((s s) (s ((s s) k))))) k)) z))]
23:12:47 <kerlo> %eval ((((s s)k)((s(k((s s)(s((s s)k)))))k)) foo)
23:12:48 <kerlobot> (foo (((s ((s s) k)) (k foo)) ((k ((s (k ((s s) (s ((s s) k))))) k)) foo)))
23:13:00 <kerlo> %eval (((s s)k)((s(k((s s)(s((s s)k)))))k))
23:13:00 <kerlobot> [l (z) ((((s (k ((s s) (s ((s s) k))))) k) z) ((k ((s (k ((s s) (s ((s s) k))))) k)) z))]
23:13:11 <kerlo> %eval (hold (((s s)k)((s(k((s s)(s((s s)k)))))k)))
23:13:11 <kerlobot> (hold (((s s) k) ((s (k ((s s) (s ((s s) k))))) k)))
23:13:22 <kerlo> I'm too lazy to add spaces myself.
23:13:51 <comex> there should be a language whose valid programs are KH(A^n)N, where the number of As is converted to opcodes
23:15:41 <ehird> no.
23:15:43 <oerjan> ^ul (A)(~:(A)*~(KH)~*(N)*S~:^):^
23:15:43 <fungot> KHANKHAANKHAAANKHAAAANKHAAAAANKHAAAAAANKHAAAAAAANKHAAAAAAAANKHAAAAAAAAANKHAAAAAAAAAANKHAAAAAAAAAAANKHAAAAAAAAAAAANKHAAAAAAAAAAAAANKHAAAAAAAAAAAAAANKHAAAAAAAAAAAAAAANKHAAAAAAAAAAAAAAAANKHAAAAAAAAAAAAAAAAANKHAAAAAAAAAAAAAAAAAANKHAAAAAAAAAAAAAAAAAAANKHAAAAAAAAAAAAAAAAAAAANKHAAAAAAAAAAAAAAAAAAAAANKHAAAAAAAAAAAAAAAAAAAAAANKHAAA ...too much output!
23:15:47 <ehird> failure
23:15:52 <oerjan> ^ul (A)(~:(A)*~(KH)~*(N )*S~:^):^
23:15:53 <fungot> KHAN KHAAN KHAAAN KHAAAAN KHAAAAAN KHAAAAAAN KHAAAAAAAN KHAAAAAAAAN KHAAAAAAAAAN KHAAAAAAAAAAN KHAAAAAAAAAAAN KHAAAAAAAAAAAAN KHAAAAAAAAAAAAAN KHAAAAAAAAAAAAAAN KHAAAAAAAAAAAAAAAN KHAAAAAAAAAAAAAAAAN KHAAAAAAAAAAAAAAAAAN KHAAAAAAAAAAAAAAAAAAN KHAAAAAAAAAAAAAAAAAAAN KHAAAAAAAAAAAAAAAAAAAAN KHAAAAAAAAAAAAAAAAAAAAAN KHAAAAAAA ...too much output!
23:16:19 <ehird> ^ul ( ...too much output!)S(()S:^):^
23:16:20 <fungot> ...too much output! ...out of time!
23:16:26 <ehird> ^ul ( ...out of time!)S(()S:^):^
23:16:27 <fungot> ...out of time! ...out of time!
23:16:48 <kerlo> %temp ((lambda (fix) input) (((s s) k) ((s (k ((s s) (s ((s s) k))))) k)))
23:16:55 <kerlo> I did it again.
23:17:10 <oerjan> what?
23:17:12 <kerlo> %reset
23:17:16 <kerlo> Used lambda instead of l.
23:17:24 <kerlo> %temp ((l (fix) input) (((s s) k) ((s (k ((s s) (s ((s s) k))))) k)))
23:17:30 <psygnisfive> oh god you kids with your languages
23:17:35 <comex> out of curiosity, what is that?
23:17:39 <kerlo> What is what?
23:17:52 <comex> %temp
23:18:15 <oerjan> %eval fnord
23:18:16 <kerlobot> fnord
23:18:21 <kerlo> %eval fix
23:18:21 <kerlobot> [l (z) ((((s (k ((s s) (s ((s s) k))))) k) z) ((k ((s (k ((s s) (s ((s s) k))))) k)) z))]
23:18:49 <kerlo> That sets the evaluation template. Any expression you give to kerlobot is substituted for input in the template before it's used.
23:20:04 <kerlo> Let's see, I want the function to take itself, then take an argument, then return the argument a'd to itself... or something like that, anyway.
23:20:35 <kerlo> %eval ((fix (l (self) (l (x) (a x self)))) 3)
23:20:35 <kerlobot> (3 ((s ((s s) k)) (k (l (self) (l (3) (a 3 self))))) ((k ((s (k ((s s) (s ((s s) k))))) k)) (l (self) (l (3) (a 3 self)))))
23:20:44 -!- sriracha has left (?).
23:20:53 <kerlo> Of course.
23:21:55 <kerlo> It doesn't evaluate self before passing it to a.
23:22:15 <kerlo> I wonder how to do that...
23:24:05 <kerlo> Eh, SillyLisp isn't for serious programming anyway. That's what SaneLisp is for.
23:24:54 <kerlo> How many times have I mentioned that I don't know why SKI calculus in SillyLisp works?
23:25:20 <oerjan> oh
23:25:33 <oerjan> well basically each of S, K and I happen to work
23:25:44 <kerlo> %eval s
23:25:44 <kerlobot> [l (x) (l (y) (l (z) ((x z) (y z))))]
23:25:47 <kerlo> %eval k
23:25:47 <kerlobot> [l (x) (l (y) x)]
23:25:50 <kerlo> %eval i
23:25:50 <kerlobot> [l (x) x]
23:26:04 <kerlo> Oh, hmm...
23:26:20 <oerjan> variable capture is not a problem as long as you only pass closed expressions
23:26:37 <kerlo> Variable capture?
23:26:55 <oerjan> when variable definitions shadow each other
23:27:06 <oerjan> which is the problem you get when you don't rename
23:27:16 <kerlo> Do you know how variable substitution in SillyLisp works?
23:27:43 <oerjan> i assume you are just doing it naively
23:27:56 <kerlo> Pretty naively, yes.
23:28:08 <oerjan> ignoring alpha conversion
23:28:11 <ehird> %eval ((l (x y) x) y foo)
23:28:11 <kerlobot> y
23:28:12 * kerlo nods
23:29:42 <kerlo> (k foo), where foo is an arbitrary expression, will evaluate to [l (y) foo]. If foo contains any y's, those will be replaced when that's applied to something.
23:29:47 <kerlo> %eval ((k y) 6)
23:29:47 <kerlobot> 6
23:30:02 <kerlo> %eval ((k s) 6)
23:30:02 <kerlobot> [l (x) (l (y) (l (z) ((x z) (y z))))]
23:30:16 <comex> I have absolutely no idea what you guys are doing :(
23:30:18 <oerjan> however, if ... oh wait
23:30:24 <kerlo> Hmm.
23:30:27 <oerjan> hm there could be a problem
23:30:37 <kerlo> %eval (k s)
23:30:37 <kerlobot> [l (y) s]
23:30:41 <kerlo> Oh!
23:30:55 <oerjan> if foo contains both y's and what y's are replaced with
23:30:58 <kerlo> s doesn't contain anything at all!
23:31:10 <oerjan> oh
23:31:21 <kerlo> It's only when it's evaluated that stuff happens.
23:31:32 <oerjan> so you don't expand s and k until they are applied, yeah that makes things safe
23:31:37 * kerlo nods
23:32:08 <kerlo> I don't expand anything at all unless it's evaluated.
23:33:28 <kerlo> Evaluating (x y z . . .) causes x to be evaluated. After something is evaluated, the result is also evaluated, effectively. Also, f causes some stuff to be evaluated.
23:33:39 <oerjan> %eval ([l (x) (x x)] s)
23:33:39 <kerlobot> [l (y) (l (z) ((s z) (y z)))]
23:33:58 <oerjan> and no sharing
23:34:06 <kerlo> %eval ((l (x) (x x)) s)
23:34:06 <kerlobot> [l (y) (l (z) ((s z) (y z)))]
23:34:14 <kerlo> Using brackets is cheating. :-P
23:35:07 <oerjan> i thought there was some difference
23:35:21 <ehird> there is
23:35:48 <kerlo> %eval ((l (foo) (I AM A HOT DOG)) (l (foo) (no ain't)))
23:35:48 <kerlobot> (I AM A HOT DOG)
23:35:53 <kerlo> Wait, what?
23:36:07 <kerlo> I always get those mixed up.
23:36:10 <ehird> Makes sense to me.
23:36:25 <kerlo> %eval ((l (foo) (l (foo) (no ain't))) (I AM A HOT DOG))
23:36:25 <kerlobot> (l ((I AM A HOT DOG)) (no ain't))
23:36:36 <kerlo> %eval ((l (foo) [l (foo) (no ain't)]) (I AM A HOT DOG))
23:36:36 <kerlobot> [l (foo) (no ain't)]
23:36:47 <kerlo> The brackets protect l's first argument from substitution.
23:38:59 <kerlo> Which is cheating, of course.
23:39:04 <kerlo> So, I'll be more specific.
23:39:42 <kerlo> About f evaluating stuff, that is.
23:40:49 -!- BeholdMyGlory has quit ("godnatt på er").
23:41:00 -!- FireFly has quit ("Later").
23:41:02 <kerlo> (f func e list), where list is a non-empty list, evaluates func and (f func e <the tail of list>) before evaluating its result.
23:41:52 <oerjan> oh fold
23:42:37 <comex> "l" is lambda, what is "s"?
23:42:41 <ehird> SKI calculus
23:42:44 <ehird> for s, k and i
23:42:47 <kerlo> %eval (f (THIS IS FUN, EH MATE) e (1 2 3 4 54 5 6 7 8 9 0 10))
23:42:47 <kerlobot> ((THIS IS FUN, EH MATE) 1 ((THIS IS FUN, EH MATE) 2 ((THIS IS FUN, EH MATE) 3 ((THIS IS FUN, EH MATE) 4 ((THIS IS FUN, EH MATE) 54 ((THIS IS FUN, EH MATE) 5 ((THIS IS FUN, EH MATE) 6 ((THIS IS FUN, EH MATE) 7 ((THIS IS FUN, EH MATE) 8 ((THIS IS FUN, EH MATE) 9 ((THIS IS FUN, EH MATE) 0 ((THIS IS FUN, EH MATE) 10 e))))))))))))
23:42:47 <ehird> %eval s
23:42:47 <kerlobot> [l (x) (l (y) (l (z) ((x z) (y z))))]
23:42:49 <ehird> %eval k
23:42:49 <kerlobot> [l (x) (l (y) x)]
23:42:50 <ehird> %eval o
23:42:51 <kerlobot> o
23:42:52 <ehird> er
23:42:54 <ehird> %eval i
23:42:55 <kerlobot> [l (x) x]
23:43:14 <kerlo> %show
23:43:28 <kerlo> %what
23:43:28 <kerlobot> ((l (fix) input) (((s s) k) ((s (k ((s s) (s ((s s) k))))) k)))
23:44:50 <comex> %eval x
23:44:51 <kerlobot> x
23:44:53 <comex> %eval s x
23:44:54 <kerlobot> Syntax error
23:44:58 <comex> %eval (s x)
23:44:59 <kerlobot> [l (y) (l (z) ((x z) (y z)))]
23:45:03 <comex> %eval (l x)
23:45:03 <kerlobot> (l x)
23:45:17 <comex> %eval ((l x (x)) x)
23:45:18 <kerlobot> ((l x (x)) x)
23:45:22 <kerlo> %eval ((s x))
23:45:22 <kerlobot> ([l (y) (l (z) ((x z) (y z)))])
23:45:33 <comex> %eval ([l x (x)] x)
23:45:33 <kerlobot> Syntax error
23:45:38 <kerlo> l takes a list as its first argument.
23:45:43 <kerlo> Your argument is invalid.
23:45:48 <kerlo> (Sorry.)
23:45:51 <comex> how am I supposed to know that :)
23:45:55 <comex> %eval ((l (x) (x)) x)
23:45:55 <kerlobot> (x)
23:46:01 <comex> %eval ((l (x) (x x x)) x)
23:46:01 <kerlobot> (x x x)
23:46:03 <comex> %eval ((l (x) (x x x)) y)
23:46:03 <kerlobot> (y y y)
23:46:08 <oerjan> comex: omniscience.
23:46:28 <ehird> oh shit, freenode have a link to these logs as part of my email about the kline
23:46:36 <ehird> think I could get clog to erase the anti-freenode lines?
23:46:44 <comex> huh?
23:46:49 <comex> %eval ((k f) g)
23:46:49 <kerlobot> f
23:47:40 <kerlo> ehird: what were you klined for?
23:47:44 <comex> %eval (s (k y) (k z) x)
23:47:44 <kerlobot> ([l (x) (l (y) (l (z) ((x z) (y z))))] (k y) (k z) x)
23:48:00 <ehird> kerlo: nothing: I was offline when it was done.
23:48:18 <kerlo> Why are you saying "oh shit", then?
23:48:32 <kerlo> comex: the SKI functions don't really like it when you pass x, y and z to them.
23:48:40 <kerlo> %eval (s (k Y) (k Z) X)
23:48:41 <kerlobot> ([l (x) (l (y) (l (z) ((x z) (y z))))] (k Y) (k Z) X)
23:48:51 <kerlo> Though apparently they handled it well this time.
23:48:54 <ehird> kerlo: cuz I called freenode incompetent fucks in the log that I linked them
23:48:55 <ehird> :P
23:49:08 <kerlo> mm.
23:49:36 <kerlo> freenode without you would be... different.
23:49:51 <ehird> 'sthat a word for "better"? ;)
23:49:58 <comex> %eval (q q)
23:49:59 <kerlobot> (q q)
23:49:59 <oerjan> more quiet, polite...
23:50:03 <comex> %eval (k k)
23:50:03 <kerlobot> [l (y) k]
23:50:08 <ehird> oerjan: Harsh, man. Harsh.
23:50:31 <comex> %eval (l (x) (x x))(l (x) (x x))
23:50:31 <kerlobot> Syntax error
23:50:38 <comex> %eval ((l (x) (x x)) (l (x) (x x)))
23:50:39 <kerlobot> (loop (l (x) (x x)))
23:50:47 <kerlo> That terminated quickly.
23:51:10 <comex> %eval ((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((x
23:51:10 <kerlobot> Syntax error
23:51:19 <kerlo> Now what did you expect that to accomplish?
23:51:35 <comex> dunno
23:51:41 <kerlo> Anyway, it can handle recursion to a depth of 1000. If you want to hang it, use really wide recursion.
23:52:06 <comex> %eval (loop x)
23:52:07 <kerlobot> (loop x)
23:52:29 <kerlo> loop is nothing special.
23:52:57 <kerlo> Here, let me make it siller.
23:53:00 -!- oerjan has quit ("Good night").
23:53:00 <kerlo> Sillier, rather.
23:53:13 <kerlo> Creamy is the puff.
23:53:13 -!- kerlobot has quit (Read error: 104 (Connection reset by peer)).
23:53:20 -!- kerlobot has joined.
23:53:33 <kerlo> %temp ((l (fix) input) (((s s) k) ((s (k ((s s) (s ((s s) k))))) k)))
23:53:38 <kerlo> %eval (fix i)
23:53:52 * kerlo waits
23:54:12 <kerlo> %eval meep?
23:54:36 <kerlo> Wow, it hanged.
23:54:50 <ehird> http://lca2srv30.epfl.ch/sathe/data/emacs_learning_curves.png
23:54:57 -!- kerlobot has quit (Read error: 104 (Connection reset by peer)).
23:55:54 -!- kerlobot has joined.
23:56:24 <kerlo> I wonder why it did that.
23:56:30 <kerlo> Anyway...
23:56:30 <kerlo> %eval ((l (x) (x x)) (l (x) (x x)))
23:56:31 <kerlobot> (loop (l (x) (x x)))
23:56:46 <kerlo> Oh, I didn't even save it.
23:56:46 -!- kerlobot has quit (Read error: 54 (Connection reset by peer)).
23:56:52 -!- kerlobot has joined.
23:56:54 <kerlo> %eval ((l (x) (x x)) (l (x) (x x)))
23:56:54 <kerlobot> (loop (l (x) (x x)))
23:57:08 <kerlo> Oh, maybe I did.
23:57:29 <kerlo> One more time...
23:57:29 -!- kerlobot has quit (Read error: 104 (Connection reset by peer)).
23:57:36 -!- kerlobot has joined.
23:57:39 <kerlo> %eval ((l (x) (x x)) (l (x) (x x)))
23:57:40 <kerlobot> ((IT IS LOOP SORRY) (l (x) (x x)))
23:57:47 <kerlo> Worth spamming the channel for, isn't it.
23:57:53 <ehird> IT IS LOOP SORRY
23:57:59 <kerlo> IT IS LOOP SORRY
23:58:07 <ehird> %eval ((s i i) (s i i))
23:58:07 <kerlobot> (([l (x) (l (y) (l (z) ((x z) (y z))))] i i) (s i i))
23:58:13 <ehird> %eval (((s i) i) ((s i) i))
23:58:20 <kerlobot> (((YOU ARE LOOP SORRY) i) (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i
23:58:20 <ehird> IT IS LOOP SORRY???????
23:58:22 <ehird> lol
23:58:26 <ehird> YOU ARE LOOP SORRY?
23:58:26 <ehird> wat
23:58:37 <kerlo> Yeah, sometimes it says YOU ARE LOOP SORRY instead.
23:58:40 -!- Corun has quit ("This computer has gone to sleep").
23:58:42 <kerlo> For, um, diagnostic reasons.
←2009-01-18 2009-01-19 2009-01-20→ ↑2009 ↑all