←2009-05-04 2009-05-05 2009-05-06→ ↑2009 ↑all
00:04:39 <pikhq> fizzie: Any idea how you make urxvt handle the compose key?
00:11:12 <pikhq> Hrm. Well, now I wonder if it's screen that's screwing with me.
00:11:17 * pikhq will be back
00:11:22 -!- pikhq has quit ("leaving").
00:12:12 -!- pikhq has joined.
00:12:22 <pikhq> Quick! Someone use Unicode!
00:12:52 <ehird> é
00:13:03 <pikhq> ... A question mark?
00:13:10 <ehird> No.
00:13:20 <ehird> pikhq: café
00:13:21 <ais523> è
00:13:27 <ehird> ü
00:13:29 <ais523> that's the same as ehird's with a different accent
00:13:29 <ehird>
00:13:33 <pikhq> GOD DAMNED YOU URXVT.
00:13:38 <ehird> yes, the ` accent
00:13:41 <ehird> and umlaut u
00:13:43 <ehird> and interrobang
00:13:53 <pikhq> I see question mark after question mark.
00:14:17 <pikhq> fizzie: You said urxvt actually worked for you?
00:14:20 <pikhq> What magic did you do?
00:14:38 <ehird> is yer terminal set right pikhq?
00:15:00 <pikhq> Yeah.
00:16:18 <oerjan> Ünïcödë
00:17:40 <pikhq> More question marks.
00:19:45 <pikhq> It shows every Unicode character with a single question mark.
00:20:16 <pikhq> Odd, given that it's using Deja Vu Sans, which I *know* has Unicode characters.
00:22:00 <ehird> anyone have a fast internet connection and an open udp port? fizzie?
00:22:16 <ehird> I'm talking to ais523 about internet latency; we'd like to have a roundtrip of less than a tenth of second
00:26:53 <GregorR> 6 a i o pb qt rm sd we xl yuk zn
00:28:11 <ehird> GregorR: wat
00:28:20 <GregorR> That's the status of my pangram seeker :P
00:28:29 <ehird> ah
00:28:32 -!- ais523 has quit (Remote closed the connection).
00:28:34 <ehird> GregorR: make it optimize for longer words.
00:28:53 <GregorR> ehird: In retrospect I would do that, but it's too late now.
00:29:03 <ehird> GregorR: That'll take years, sir
00:29:10 <ehird> GregorR: Make a self-describing sentence
00:29:17 <GregorR> I'm not convinced that it will *shrugs*
00:29:17 <ehird> This sentence has 1 As, ...
00:31:27 -!- sebbu3 has changed nick to sebbu.
00:39:07 <pikhq> ehird: A tenth of a second? I wish. I've got a lag of 4 seconds ATM.
00:42:08 <oerjan> lag lag lag your boat, gently down the tubes...
00:42:16 -!- bsmntbombdood_ has quit (Read error: 110 (Connection timed out)).
00:43:12 -!- bsmntbombdood_ has joined.
00:44:34 <ehird> http://www.telegraph.co.uk/scienceandtechnology/science/sciencenews/5255394/Alien-skull-spotted-on-Mars.html
00:44:35 <ehird> lawl
00:44:39 <ehird> hi bsmntbombdood_
00:47:17 <GregorR> wtfbbq
01:11:36 -!- puzzlet_ has joined.
01:23:10 <comex> Prelude> ((/) 2) 8
01:23:11 <comex> 0.25
01:23:11 <comex> Prelude> (/ 2) 8
01:23:11 <comex> 4.0
01:23:13 <comex> :/
01:23:16 <ehird> duh
01:23:22 <ehird> (/x) = (_/x)
01:23:27 <ehird> ((/)x)=(x/_)
01:23:37 <ehird> ones infix ones prefix
01:23:48 <comex> except _/x is not valid syntax
01:23:55 <comex> subf a b = b - a
01:24:04 <comex> then do I have to do (`subf` x)
01:24:06 <ehird> no shit
01:24:06 <comex> which is ugly
01:24:12 -!- puzzlet has quit (Read error: 110 (Connection timed out)).
01:24:12 <ehird> so don't do that
01:25:27 -!- Gracenotes has quit ("Leaving").
01:26:02 -!- Gracenotes has joined.
01:26:04 <comex> what if I have a f a b c d
01:26:11 <comex> and I want to curry the c
01:26:35 <oerjan> use a lambda
01:26:41 <comex> besides that
01:26:49 <oerjan> (\c -> a f a b c d) yourC
01:27:16 <oerjan> flip (a f a b) d, i think
01:27:17 <comex> the first 'a' was an article, you know :p
01:27:28 <oerjan> oh
01:27:42 <comex> flip :: (a -> b -> c) -> b -> a -> c
01:27:44 <comex> cool
01:28:03 <oerjan> (`whatever` x) = flip whatever x
01:28:49 <oerjan> but you can only use `` with single identifiers
01:29:53 <oerjan> also, subf exists, it's called subtract
01:30:27 <comex> it was a contrived example anyway :p
01:30:36 <oerjan> it exists for a technical reason
01:30:51 <oerjan> because (- x) is negative x, not a section
01:31:07 <comex> I see
01:31:10 <oerjan> so you need to use (subtract x) if you want the section
01:32:16 <oerjan> s/negative/negate/
01:52:31 -!- oerjan has quit ("Good night").
02:05:28 <pikhq> I'd like to take this opportunity to state that all sellers of digital information are guilty of price fixing.
02:05:29 -!- psygnisfive has quit (Remote closed the connection).
02:05:32 <pikhq> That is all.
02:11:29 -!- bsmntbombdood_ has quit (Read error: 131 (Connection reset by peer)).
02:12:03 -!- bsmntbombdood_ has joined.
02:49:10 -!- psygnisfive has joined.
03:09:14 <GregorR> The commercials for Star Trek $MOVIE_NOT_NUMBERED makes it look godawful.
03:09:20 <GregorR> s/makes/make/
03:14:46 -!- Sgeo has joined.
03:15:39 <pikhq> I concur.
03:15:52 <Sgeo> Anyone feel that programming classes shouldn't be required for non-programmers?
03:15:53 <pikhq> Also, I note that Sam Hughes needs to write for Star Trek.
03:16:11 <pikhq> Sgeo: No, but they should be taught better.
03:16:24 <psygnisfive> people need to be not stupid
03:16:40 <Sgeo> psygnisfive, good luck with that
03:16:43 <psygnisfive> programming is so trivial, in many cases
03:16:44 <pikhq> (there's a freaking programming class for non-programmers at my school that uses C++. C++ for non-programmers? Madness!)
03:16:47 <psygnisfive> so trivial
03:17:05 <Sgeo> Saw some student who wanted help testing. I saw code like:
03:17:05 <psygnisfive> pikhq: C++ for programmers? Madness!
03:17:13 <Sgeo> MULTIPLICATION = multiplication()
03:17:20 <pikhq> psygnisfive: C++! Madness!
03:17:26 <Sgeo> since he never figured out void functions
03:17:35 <psygnisfive> what
03:18:03 <GregorR> THIS! IS! STROUSTRUP!
03:18:04 <Sgeo> (yes, a function like multiplication() made sense in context. The fact that it returned something (always 0), not so much)
03:18:15 <pikhq> GregorR: :)
03:21:36 <GregorR> <pikhq> This summer, I have so far designed a new (miniscule) processor architecture, written an emulator for it, and came up with an optimising Brainfuck compiler in Brainfuck.
03:22:23 <pikhq> Ah, yes. That was a productive summer for me.
03:22:33 <pikhq> And to think, I did it all on dialup.
03:22:35 <GregorR> I can't seem to find Sgeo's first messages in the logs ...
03:23:10 <GregorR> * Sgep is using konq, and can't figure out Java, so I can't really see EsoShell :-(
03:23:16 <GregorR> YOUR NAME CHANGE CONFUSES AND INFURIATES ME
03:24:03 <pikhq> :)
03:24:20 <GregorR> Hah, psygnisfive (then augur)'s first messages were "<augur> GregorR -- gregor richardson? <augur> i know a gregor richardson and i was gonna be all like <augur> ZOMG IS IT YOU"
03:24:40 <psygnisfive> its true!
03:25:38 <GregorR> How many people here HAVEN'T had a name change?
03:25:41 <GregorR> <-- always GregorR
03:25:46 <GregorR> clog <-- always clog
03:25:52 <psygnisfive> how many people here HAVEN'T has a sex change?
03:25:53 <pikhq> pikhq <-- always pikhq
03:26:07 <psygnisfive> i wouldve stayed augur if it werent for some cock using that name
03:26:09 <pikhq> I've had this nickname for *11 freaking years*.
03:26:10 <GregorR> ehird <-- had a backtick, but otherwise
03:26:27 <pikhq> Doesn't seem like that long, but, well, I'm 19. Forever for me.
03:26:28 <psygnisfive> i prefer "tusho" :(
03:27:38 <GregorR> <bsmntbombdood> how does one learn to speak Klingon?
03:27:58 <pikhq> I think I remember that.
03:33:57 <psygnisfive> http://www.muckflash.com/?p=200
03:48:22 <Sgeo> http://www.reddit.com/r/funny/comments/8hqgy/fire_check_shot_check_idiot_check/
03:49:45 <psygnisfive> HAHAHA
03:55:56 <GregorR> Lodz VFW benchmarks jug pix qty.
03:57:28 <bsmntbombdood_> c++ for programmers? madness!
03:57:31 <pikhq> Interesting.
03:57:42 <bsmntbombdood_> oh darn, psygnisfive beat me to it
03:57:50 <psygnisfive> :)
03:57:55 <pikhq> It still needs to be said.
03:58:54 <bsmntbombdood_> i want a beer
04:03:18 <GregorR> <Brian> And it suddenly makes a lot more sense when you consider 'jugs' can be a euphemism!
04:03:19 <GregorR> <Brian> I honestly typed "pictures of jugs" into Google
04:23:31 <Sgeo> Is "OSAM Autorun Manager" good?
04:35:54 -!- puzzlet has joined.
04:38:23 <GregorR> <puzzlet> http://puzzlet.org/puzzlet/~Funge/PuzzletChung/SquareRoot <puzzlet> One of my experiments..
04:39:17 <GregorR> Damn, pgimeno hasn't been on in 5 months.
04:49:07 -!- puzzlet_ has quit (Read error: 110 (Connection timed out)).
04:49:11 <puzzlet> wow that's many years ago
04:49:17 <puzzlet> still can be found at http://puzzlet.org/personal/wiki.php/~Funge/PuzzletChung/SquareRoot
04:50:46 -!- Gracenotes has quit (Remote closed the connection).
05:21:23 -!- bsmntbombdood_ has quit (Connection reset by peer).
05:37:05 <GregorR> puzzlet: I'm quoting peoples' first few words.
05:37:11 <GregorR> (On #esoteric )
05:38:43 <psygnisfive> puzzlet, this is a befunge program that takes square roots?
05:41:18 -!- bsmntbombdood has joined.
05:42:03 -!- puzzlet has quit (Read error: 60 (Operation timed out)).
05:42:18 -!- puzzlet has joined.
05:42:31 <GregorR> Heh, my first words here were about FYB.
05:42:37 <GregorR> I should get that goin' again :P
05:42:49 <GregorR> Somebody's got to beat logicex-3
05:43:26 <GregorR> Err, logicex-2
05:59:34 -!- Sgeo has quit ("Leaving").
06:06:50 <GregorR> !fyb
06:06:50 <EgoBot> Use: !fyb <program name> <program>
06:06:52 <GregorR> :)
06:09:46 <GregorR> Now I just need to get somebody interested in FYB again ...
07:04:58 -!- GreaseMonkey has joined.
07:10:31 <psygnisfive> so im pretty sure that slashes is TC
07:11:03 <psygnisfive> maybe
07:11:40 <psygnisfive> /a/b/c is very similar to (λa.c) b
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:17:43 -!- Slereah has joined.
08:32:35 -!- tombom has joined.
08:48:38 -!- coppro has quit (Read error: 110 (Connection timed out)).
10:43:56 -!- GreaseMonkey has quit ("YES -> thor-ainor.it <- THIS IS *DELICIOUS*!").
11:16:27 -!- jix has joined.
11:44:50 -!- oklopol has joined.
12:02:41 <kerlo> Hmm.
12:05:29 <kerlo> (^x.xx)(^x.xx) = /x/^x.xx/xx, but I don't think ^x.xx can be translated.
12:07:14 <AnMaster> kerlo, what language
12:10:20 <oklopol> !bf 2
12:10:27 <oklopol> am i here
12:11:58 <fizzie> You are probably just imagining being here.
12:15:55 <kerlo> AnMaster: a mixture of lambda calculus and ///.
12:16:04 <AnMaster> mhm
12:18:50 <AnMaster> kerlo, so how does it work.
12:19:33 <Slereah> I guess it's /a/b/c -> replace a's by c in b, given the context?
12:19:59 <fizzie> It's /a/b/c -> replace a's by b in c, actually.
12:20:11 <AnMaster> but that is just plain /// isn't it?
12:20:13 <Slereah> Yeah, that too
12:20:31 <Slereah> Although you'll have variable collision if you do that
12:20:47 <oklopol> do you think i should be a farmer?
12:20:55 <Slereah> We should all be farmers.
12:21:08 <oklopol> but what would we farm?
12:22:17 -!- oklopol has quit (Read error: 104 (Connection reset by peer)).
12:23:27 -!- oklopol has joined.
12:24:54 <oklopol> oh "dickensurl"
12:25:04 <oklopol> last time i read that as "dickandsuck"
12:25:09 <oklopol> ...
12:42:39 -!- oerjan has joined.
12:45:22 <AnMaster> oerjan, hi
12:45:34 <oerjan> hi AnMaster
12:47:35 <AnMaster> hm did xkcd update two days after each other
12:47:49 <oerjan> it has happened
12:48:11 <oerjan> ah yes and it's a multipart story
12:48:27 -!- oklopol has quit (Read error: 110 (Connection timed out)).
12:48:42 <AnMaster> right
12:50:14 -!- oklopol has joined.
13:00:09 -!- oklopol has quit ("PJIRC @ http://webirk.dy.fi").
13:04:55 <oerjan> <psygnisfive> /a/b/c is very similar to (.a.c) b
13:05:12 <psygnisfive> what
13:05:19 <oerjan> the problem is that that also garbles any instances of /a/b/ in c
13:05:21 <psygnisfive> λa.c
13:05:43 <psygnisfive> i presume you mean that like
13:05:45 <oerjan> <- iso8559-1
13:05:48 <psygnisfive> you get variable naming conflicts
13:05:52 <oerjan> no
13:06:01 <psygnisfive> no?
13:06:03 <psygnisfive> what do you mean then
13:06:25 <oerjan> the problem is, it is _very_ hard to modify just _some_ instances of anything
13:06:32 <psygnisfive> ???
13:06:50 <psygnisfive> im not sure what you mean
13:07:24 <oerjan> i mean to show slashes TC is hard
13:07:32 <psygnisfive> :P
13:07:37 <psygnisfive> thats not what you mean.
13:07:40 <oerjan> because it _doesn't_ work like lambda calculus
13:07:49 <psygnisfive> how do you mean it doesnt, tho
13:08:23 <oerjan> oh btw it's (\a.b) c, if anything
13:08:36 <psygnisfive> no its not
13:08:44 <oerjan> erm no
13:08:46 <oerjan> right
13:08:48 <psygnisfive> :P
13:08:54 <psygnisfive> how is it not like LC tho
13:10:40 <oerjan> oh you need to escape all / in b
13:11:43 <psygnisfive> ?
13:11:52 <psygnisfive> im not entirely up on how the slashes get escaped
13:12:00 <oerjan> with \ before
13:12:02 <psygnisfive> oh i think i know what you mean
13:12:07 <oerjan> (as is \ itself)
13:12:12 <psygnisfive> you mean if b is itself a /// expression
13:12:21 <oerjan> yes.
13:12:23 <psygnisfive> so that it doesnt fuck up the outer ///
13:13:51 <psygnisfive> do you have a bot that will interp stuff?
13:14:07 <fizzie> Personally I couldn't even do an infinite loop in ///, one that wouldn't have a single non-terminating /// expression. To loop "aaa" you need some code that translates "x" into "aaa [code that translates x into aaa] x", and it seems to be pretty difficult to do anything involving just the first "aaa" part without messing up the latter code.
13:15:56 <psygnisfive> what do you mean, fizzie
13:18:18 <Slereah> He means shit ain't TC so stop trying
13:18:21 <Slereah> Or somethin
13:18:21 <Slereah> g
13:18:28 <psygnisfive> i think that ///s might be an alternative notation for de bruijn notation lc.
13:19:04 <psygnisfive> de bruijn notation is almost identical, except /a/b/c is (b) [a] c
13:19:29 <psygnisfive> it could be an important difference tho. i dont know.
13:22:20 <fizzie> I just mean that anything with /// that involves generating code seemed to be rather tricky in practice. I couldn't write a /// expression Z that would turn "x" into "Zx", for example. (And in fact /x/...x.../ will never terminate, of course, so you'd need something pretty clever.)
13:23:05 <psygnisfive> why would /x/...x.../ terminate??
13:23:06 <psygnisfive> what?
13:23:32 <oerjan> ah yes, the substitution is repeated until it no longer applies
13:23:41 <psygnisfive> i dont follow
13:23:52 <fizzie> I mean /x/...x.../ will never terminate, since it keeps applying the substitution as long as there is a single x in the rest of the code.
13:24:12 <psygnisfive> well, surely that by itself wont not terminante, since its substituting x for ...x... in nothing
13:24:16 <psygnisfive> but i think i see what you mean
13:24:55 <psygnisfive> /a/b/c keeps replacing a with b in c and all the versions of c that get produced by substitutions?
13:25:21 <psygnisfive> so /a/b/c -> /a/b/c' -> /a/b/c'' ... until c^(n) has no a's?
13:25:28 <oerjan> yep
13:25:35 <psygnisfive> ok. so?
13:26:11 <oerjan> it means that afterwards, there _will_ be no a in the code
13:26:17 <psygnisfive> hm.
13:26:35 <oerjan> and so some easy ways of looping are excluded
13:26:36 <psygnisfive> i guess thats a problem if you have a /// that should apply to another version of itself
13:27:53 <oerjan> in particular, if b contains a you get a tight infinite loop, which never prints anything
13:28:26 <psygnisfive> hm.
13:28:32 <psygnisfive> thats a problem!
13:31:52 <oerjan> to get around this, i recall trying thinking about making a something with more than a single character, so you can reconstruct it
13:32:05 <oerjan> (if a were a single character, you could never get it back)
13:32:22 <psygnisfive> maybe have escapes on characters too?
13:32:25 <oerjan> but then the need to escape slashes gets added to that, and i gave up
13:32:40 <psygnisfive> so that \a doesnt match a until the replace cycle??
13:32:50 <psygnisfive> ergh
13:32:52 <psygnisfive> :|}
13:32:53 <psygnisfive> :|
13:33:08 <psygnisfive> :|} is a frustrated guy with an amish beard
13:33:20 <oerjan> broke his wagon wheel?
13:33:31 -!- jix has quit ("leaving").
13:33:33 <psygnisfive> ja :(
13:33:38 -!- jix has joined.
13:33:56 <fizzie> I did also try thinking about using some other longer strings, and then replacing them back with something like a simple /foo/bar/, but that hit the snag that it would of course replace any later "/foo/bar/" you wanted to run in the whole future of the program with a /bar/bar/.
13:33:58 -!- jix has quit (Remote closed the connection).
13:34:22 -!- jix has joined.
13:34:23 <fizzie> An easy language it is not.
13:35:49 -!- jix has quit (Remote closed the connection).
13:36:04 -!- jix has joined.
13:37:48 <psygnisfive> talking like yoda you are
13:43:12 <Slereah> Par la guerre personne ne devient grand
13:43:22 <psygnisfive> english, cockface.
13:44:16 <Deewiant> That's a good attitude for a linguist to have
13:44:32 <psygnisfive> it is.
13:46:38 <Slereah> Don't you call me cockface
13:46:40 * oerjan imagines psygnisfive somewhere in the depths of the amazon, saying "english, cockface."
13:46:46 <Slereah> Until your cock is in my face.
13:47:01 <psygnisfive> why would i go to the amazon
13:47:05 <psygnisfive> they dont speak english there
13:47:39 <Slereah> But this place is full of finns and Frenchmen
13:47:49 <Deewiant> Yes, it's like the amazon
13:47:51 <psygnisfive> yes but we speak english here!
13:47:55 <psygnisfive> unlike the amazon!
13:48:17 <psygnisfive> apparently some nutters have tried to apply type theory to the social sciences
13:48:25 <oerjan> how typical
13:48:49 <oerjan> first it was darwinism, now it's type theory
13:50:40 <Slereah> The holocaust was because of type theory
13:50:54 <Slereah> Bertrand Russell is a murderer
13:50:56 <psygnisfive> you know, this is true!
13:50:59 <psygnisfive> well, the holocaust part
13:51:04 <psygnisfive> not the murderer part
13:51:18 <oerjan> he was just following orders
13:52:26 <Slereah> Are you aware that Hilbert is just an anagram for Hitler b
13:52:59 <Slereah> Hilbert came up with the extermination of untyped objects.
13:53:22 <psygnisfive> Prelude> german + jew
13:53:22 <psygnisfive> <interactive>:1:9:
13:53:24 <psygnisfive> Couldn't match type `German'
13:53:26 <psygnisfive> against type `Jew'
13:53:28 <psygnisfive> In the second argument of `(+)', namely `jew'
13:53:30 <psygnisfive> In the expression: german + jew
13:53:32 <psygnisfive> In the definition of `it': it = german + jew
13:53:34 <psygnisfive> GASP, Haskell, you RACIST
13:53:40 <Slereah> D:
13:53:49 <Slereah> Let's make a language out of this
13:53:54 <psygnisfive> lets not
13:53:56 <oerjan> + has a strict segregation policy
13:54:16 <psygnisfive> i disavow all knowledge of this.
13:54:34 <Slereah> psygnisfive is a typzy
13:54:42 <psygnisfive> a what
13:54:45 <psygnisfive> a type gypsy?
13:54:50 <Slereah> A TYPZI
13:54:57 <psygnisfive> oh noes D:
13:55:18 <psygnisfive> a type zazi?!
13:55:43 <psygnisfive> but i dont speak pashto! :(
13:55:43 <Slereah> Close.
13:56:09 <Deewiant> int process_spell_target(int who, int what, int y0, int x0, int y1, int x1, int spell, int level, u32b flg, int region_id, int delay, int damage_div, bool one_grid, bool forreal, bool player, void retarget(int *ty, int *tx, u32b *flg, int method, int level, bool full, bool *one_grid), bool *cancel)
13:56:18 <psygnisfive> oh god wtf
13:56:21 <psygnisfive> gtfo
13:56:23 <psygnisfive> :(
13:56:41 <Slereah> is it some code for magic?
13:56:48 <Slereah> Throwing spells and shit
13:56:53 <Deewiant> It's from Unangband
13:56:54 <psygnisfive> im going to bed
13:56:57 <psygnisfive> for some hours
13:56:59 <psygnisfive> bye
13:57:12 <Deewiant> I got it from http://roguelikedeveloper.blogspot.com/2009/04/moral-simplification.html
13:57:49 <fizzie> Some people would've just used a typedef for the function pointer in there. I call those people quitters!
13:58:04 <psygnisfive> i'd say its very immoral.
13:58:04 <Deewiant> :-)
14:02:05 -!- oerjan has quit ("Later").
14:43:46 -!- Sgeo has joined.
14:47:10 <lifthrasiir> it's likely that SSA-based analysis is needed to propagate brainfuck IL correctly.
14:48:06 <Sgeo> IL?
14:48:16 <lifthrasiir> intermediate language, used in esotope-bfc compiler
14:48:36 <lifthrasiir> not that good though
14:48:53 <Sgeo> Linky?
14:49:20 <lifthrasiir> i have written analysis code for one basic block, but there are so many small basic blocks and i should analyze them in the whole...
14:49:28 <lifthrasiir> Sgeo: http://hg.mearie.org/esotope/bfc/file/tip/esotope-bfc.py
14:49:38 <Sgeo> ty
14:50:16 <lifthrasiir> there are many rooms of improvement, many of them requires SSA form or something like that
14:50:45 <Sgeo> SSA form?
14:51:35 <lifthrasiir> wikipedia contains some article on it: http://en.wikipedia.org/wiki/Static_single_assignment_form
14:51:54 <lifthrasiir> it is a popular technique in the compiler construction.
15:18:36 <Sgeo> ehird, new Fine Structure out
15:22:54 <pikhq> Another new one? Sweet.
15:23:06 <pikhq> Oh, it's a few days old.
15:23:12 <pikhq> Good one, though.
15:30:14 -!- jix has quit (Read error: 113 (No route to host)).
15:42:06 -!- puzzlet_ has joined.
15:44:55 -!- puzzlet has quit (Read error: 145 (Connection timed out)).
16:12:30 -!- KingOfKarlsruhe has joined.
16:16:00 -!- impomatic has joined.
16:17:38 -!- puzzlet has joined.
16:17:40 -!- puzzlet_ has quit (Remote closed the connection).
16:25:56 -!- MigoMipo has joined.
16:27:28 -!- Slereah has quit ("Leaving").
16:35:49 <GregorR> I'm up to 14 potential 26-letter pangrams :)
16:35:53 <GregorR> They're all pretty terrible though :P
16:41:27 -!- sebbu2 has joined.
16:43:32 <lifthrasiir> GregorR: are there common pattern in them? for example, certain word is likely to appear in them?
16:44:34 -!- sebbu has quit (wolfe.freenode.net irc.freenode.net).
16:58:21 <impomatic> Have you heard about Lee Sallow's pangram machine?
16:58:56 <impomatic> Cool looking machine from about 25 years ago.
17:12:31 -!- FireFly has joined.
17:32:11 -!- Hiato has joined.
17:33:03 <GregorR> lifthrasiir: Yes. Those acronyms I didn't manage to filter out are popular :P
17:33:25 <ehird> 01:05 pikhq: I'd like to take this opportunity to state that all sellers of digital information are guilty of price fixing.
17:33:26 <ehird> 01:05 pikhq: That is all.
17:33:29 <ehird> Ex-fucking-XACTLY.
17:33:46 <ehird> Bits are not scarce; there is infinite supply and finite demand.
17:33:48 <ehird> Value = 0.
17:34:47 <lifthrasiir> ehird: http://code.google.com/p/esotope-bfc/ i once heard of mercurial support in google code, but when i registered the project i realized mercurial support is for invited users... :S
17:34:52 <GregorR> That's by definition. The free market has not yet figured out how to deal with non-scarce resources, for that very reason, and to compensate they're treating them like scarce resources.
17:34:54 <lifthrasiir> anyway now there is a project page.
17:35:02 <ehird> lifthrasiir: Github ftw ;-)
17:35:17 <GregorR> lifthrasiir: If you'd like mercurial support, I could set you up a page on codu.org/projects .
17:35:19 <ehird> GregorR: Selling non-scarce resources is inherently immoral, imo.
17:35:28 <ehird> Also, free markets are dumb to the max :P
17:35:57 <lifthrasiir> GregorR: i feel google code is quite convenient, except for its VCS support
17:35:57 <ehird> lifthrasiir: you can integrate google code with mercurial
17:35:59 <lifthrasiir> i felt*
17:36:02 <ehird> lifthrasiir: go to the admin panel
17:36:05 <ehird> to do the tabs panel
17:36:07 <ehird> on the Source one
17:36:08 <ehird> input Source in the box
17:36:11 <ehird> now, edit the Source wiki pag
17:36:12 <ehird> e
17:36:18 <ehird> and put checkout instructions on there and a link to the web interface
17:36:25 <ehird> = the source tab on google code links to that; hooray
17:36:32 <ehird> you can also hide e.g. Downloads if you're not going to use that
17:36:36 <lifthrasiir> hmm, that'd be one way.
17:36:43 <ehird> lifthrasiir: I've done it befor
17:36:43 <ehird> e
17:36:47 <ehird> it works excellently
17:36:48 <lifthrasiir> thank you for info.
17:36:52 <ehird> http://code.google.com/p/github-and-google-code/
17:36:57 <ehird> the actual github project has been deleted
17:37:00 <ehird> but that shows the tab
17:37:31 <GregorR> <ehird> the actual github project has been deleted // I'm going to use this out of context hundreds of times >: )
17:37:32 <ehird> lifthrasiir: then if you put in e.g. the URL field on your hgweb, you can put a link to the google code there
17:37:35 <ehird> to link them up
17:37:41 <ehird> GregorR: wat?
17:37:43 <ehird> I deleted it myself
17:37:51 <GregorR> OOOH even better!
17:37:57 <GregorR> <ehird> the actual github project has been deleted <ehird> I deleted it myself
17:38:05 <ehird> GregorR: Er, what's so funny?
17:38:10 <ehird> That's what she said?
17:38:24 <GregorR> That says nothing about Google code. If I take that out of context, it sounds like you're saying you deleted github :P
17:40:56 <ehird> oh
17:40:59 <ehird> :P
17:41:04 <ehird> GregorR: I deleted the project-on-github
17:41:14 <ehird> dur
17:42:04 <GregorR> Of course you did, that's clear enough.
17:42:14 <GregorR> But it's less clear when I don't include those details, hence "out of context"
17:42:24 <GregorR> This joke has now been so over-explained it's been beaten to death.
17:43:34 -!- MigoMipo has quit (Read error: 60 (Operation timed out)).
18:09:59 -!- KingOfKarlsruhe has quit (Remote closed the connection).
18:20:51 -!- ais523 has joined.
18:24:58 -!- MigoMipo has joined.
18:26:35 -!- ais523_ has joined.
18:27:13 -!- Sgeo has quit (Read error: 110 (Connection timed out)).
18:28:00 -!- impomatic has left (?).
18:29:05 -!- tombom has quit ("Peace and Protection 4.22.2").
18:37:15 -!- ais523 has quit (Read error: 110 (Connection timed out)).
18:45:00 <ehird> hi ais523_
18:45:05 <ais523_> hi
18:45:08 <ais523_> wow, am I underscored?
18:45:10 -!- ais523_ has changed nick to ais523.
18:45:19 <ais523> this connection's rather flaky, it seems
18:50:48 -!- FireFly has quit (Read error: 60 (Operation timed out)).
19:34:54 <comex> btw,
19:34:58 <comex> !sh echo it works
19:34:58 <EgoBot> it works
19:35:04 <comex> good, heh
19:45:17 -!- Slereah has joined.
19:56:53 -!- WangZeDong has quit (Read error: 110 (Connection timed out)).
20:00:13 <ais523> some of Perl6's features seem only useful to golfers
20:00:32 <pikhq> 'Tis Perl.
20:00:34 <ais523> for instance, the pair (foo => 42) can be abbreviated :foo(42), which can be abbreviated :42foo
20:04:03 <lifthrasiir> so it treats 42 and foo as two tokens, not an error (still)?
20:04:19 <ais523> not just that, it's a deliberate abbreviation AFAICT
20:04:30 <ais523> :42 foo would mean something entirely different, probably
20:04:37 <lifthrasiir> ...
20:04:40 <lifthrasiir> sorta crazy.
20:04:50 <ais523> actually, even (foo => 42) is an abbreviation for ('foo' => 42)
20:05:07 <fizzie> What would :42'foo' mean?
20:05:21 <ais523> probably a syntax error
20:05:23 <fizzie> What's that : about, anyway?
20:05:46 <ais523> Everyone wants the colon.
20:13:35 <ais523> more fun Perl6 syntax: "\c[NEGATED DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE]"
20:14:59 <lifthrasiir> well that's also in python:
20:15:00 <lifthrasiir> >>> u'\N{NEGATED DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE}'
20:15:00 <lifthrasiir> u'\u22af'
20:15:12 <ais523> yes
20:15:20 <ais523> still fun, though
20:15:25 <lifthrasiir> right
20:16:50 <fizzie> >>> u'\N{tetragram for vastness or wasting}'
20:16:50 <fizzie> u'\U0001d337'
20:16:55 <fizzie> The most useful thing ever.
20:17:22 <fizzie> I wonder how many copies of over-a-megabyte Unicode character name database I have because of stuff like this.
20:17:24 <ais523> what about glagolitic capital letter spidery ha?
20:17:43 <Deewiant> 𝌷
20:18:15 <ehird> >>> print u'\N{glagolitic capital letter spidery ha}'
20:18:15 <ehird>
20:18:17 <ehird> Praise be.
20:18:21 <lifthrasiir> fizzie: no, it surely can be compressed less than 64K. i have done such thing once.
20:18:32 <AnMaster> ehird, sigh
20:18:38 <ehird> AnMaster: what did I do now?
20:18:43 <ehird> breathe?
20:18:44 <lifthrasiir> afaik python also uses such compression, making entire database less than 100K iirc
20:19:02 <AnMaster> ehird, it was a sigh in awe of the glagolitic capital letter spidery ha clearly!
20:19:05 <ais523> that's still over 5% of a floppy disk
20:19:34 <ehird> AnMaster: 20:17 ais523: what about glagolitic capital letter spidery ha?
20:19:42 <ehird> AnMaster: If you think I did that spontaneously, lern2scrollback.
20:19:51 <lifthrasiir> but python distribution doesn't fit in a floppy disk, does it?
20:19:58 <AnMaster> ehird, did I say it was spontaneous...
20:20:03 <AnMaster> you make no sense now
20:20:14 <ais523> lifthrasiir: maybe not, but I've had to fit python onto a small computer with only 16MB Flash space before now
20:20:28 <lifthrasiir> how about tinypy then?
20:20:31 <ais523> we did manage it in the end by uninstalling all the things we didn't need
20:20:33 <ehird> AnMaster: the 'sigh' seemed to imply you were blaming me.
20:20:34 <ais523> lifthrasiir: hadn't heard of it
20:20:41 <AnMaster> ehird, "<AnMaster> ehird, it was a sigh in awe of the glagolitic capital letter spidery ha clearly!"
20:20:43 <lifthrasiir> http://tinypy.org/
20:20:56 <ehird> AnMaster: if I took that seriously you'd accuse me of lacking a sarcasm detector AKA mind reader.
20:21:07 <lifthrasiir> tinypy is a minimalistic python implemenation whose loc is just over 60K lines.
20:21:11 <AnMaster> ehird, ...
20:21:33 <lifthrasiir> if you absolutely have to integrate python within restricted environment, it might help
20:21:33 <ehird> lifthrasiir: '60K lines', 'minimalistic'
20:21:46 <AnMaster> ehird, hah
20:21:57 <fizzie> -rw-r--r-- 1 root root 481008 2009-02-18 06:20 /usr/lib/python2.5/lib-dynload/unicodedata.so
20:22:05 <fizzie> The fact that it can be compressed of course doesn't mean it will.
20:22:15 <AnMaster> ehird, isn't sqlite rather minimalistic iirc? Yet it is something like 90k lines iirc
20:22:50 <lifthrasiir> fizzie: it also contains normalization tables for NFK?[CD]
20:23:15 <lifthrasiir> but anyway it looks like too huge. hmm.
20:54:54 <ais523> I love the way the Perl6 manual talks repeatedly about a function called "if"
20:55:03 <ais523> the idea being it's talking about how to do weird things with the parser
20:55:14 <ais523> in this case, how to use a function with a name that means something else
20:55:29 <ais523> likewise, it talks about how to refer to a variable called $@%$@
20:55:35 <ais523> or something like that, anyway
21:01:56 -!- olsner has joined.
21:06:30 -!- impomatic has joined.
21:06:55 <impomatic> Hi, just a quick question. How does this channel get logged? We want to log the #corewars channel
21:07:14 <ehird> impomatic: don't bother
21:07:19 <ehird> last log was accepted in 2005 iirc
21:07:22 <impomatic> Why not?
21:07:29 <ehird> because it's unmaintained
21:07:35 <ehird> nef doesn't maintain it, Faré doesn't care
21:07:49 <ehird> when you COULD get it, it was done by asking
21:08:12 <ehird> impomatic: there are many free IRC log services
21:08:14 <ehird> try ircbrowse.com or something
21:08:24 <impomatic> Ah, okay. How do I ask? It's worth a try.
21:08:26 <impomatic> Thanks
21:08:32 <ehird> impomatic: you can't; they don't exist :P
21:08:38 <ehird> but on IRC
21:08:44 -!- ais523_ has joined.
21:08:46 <ehird> impomatic: there's one that does it by filling out a web form
21:08:48 <ehird> I'll find it
21:09:19 <ehird> impomatic: http://www.irseek.com/
21:09:22 <ehird> fill in the opt in form
21:09:28 <impomatic> Does that count as unauthorised public logging? I saw a warning about that!
21:09:40 <ehird> No
21:09:48 <ehird> You have to put it in the topic.
21:09:54 <impomatic> Thanks, will do that now
21:09:57 <ehird> hmm, wait
21:10:05 <ehird> impomatic: it may not be the best option for long-term archival
21:10:06 <ehird> "IRSeek will keep channel logs for upto 7-years (for example, a message that has been archived by our log-bots on January 1st, 2001 will be kept in our database until January 1st, 2008, unless a channel contact/operator has specifically requested that we remove it before that time). This policy will reduce the concern that a message once sent to a logged-channel will be archived forever. "
21:10:27 * ehird googles
21:11:05 <ehird> hrm,.
21:12:04 <ehird> impomatic: does anyone in the channel have a server?
21:12:39 <impomatic> I think we all used shared hosting for our webpages.
21:12:40 <ehird>
21:12:46 <ehird> ← impomatic: I may be able to set up something.
21:12:47 <ehird> brb
21:16:04 -!- puzzlet has quit (Read error: 60 (Operation timed out)).
21:18:37 -!- puzzlet has joined.
21:18:44 <ais523_> > {my $x = "dnab0001.png"; say ++$x;}
21:18:45 <ais523_> dnab0002.png
21:18:47 <ais523_> now that's just showing off
21:20:20 <GregorR> That's a little bit scary actually.
21:20:35 <GregorR> say ++"foobar 1.0.1" ?
21:21:37 <ais523_> > {my $x = "foobar 1.0.1"; say ++$x;}
21:21:38 <ais523_> foobar 1.1.1
21:21:43 <ais523_> that definitely isn't what I expected
21:21:50 -!- ais523 has quit (Nick collision from services.).
21:21:52 -!- ais523_ has changed nick to ais523.
21:22:32 <ais523> that contradicts the spec, though, must be a bug in rakudo
21:22:35 <Deewiant> ais523: Parses it as a floating-point 1.0 and discards the rest?
21:22:38 <ais523> the spec would indicate "foobar 2.0.1"
21:22:46 <Deewiant> Oh, but ++
21:22:49 <Deewiant> Never mind
21:26:32 <GregorR> How 'bout "foobar 1.0.1" + 0.0.1
21:26:33 <GregorR> :P
21:28:01 <fizzie> And do you get a "foobar 2.3.4" out of "foo 1.1.1" + "bar 1.2.3"?
21:28:08 <GregorR> LAWL
21:28:39 <GregorR> I suppose a link in the topic that's required to show that there's public logging going on should probably not be obfuscated :P
21:29:02 <ais523> umm, how is that any different from a direct link?
21:29:08 <ais523> neither are obviously logs from the structure of the URL
21:29:14 -!- ais523 has set topic: Logs: <http://dickensurl.com/1b34/It%E2%80%99s_my_old_girl_that_advises._She_has_the_head._But_I_never_own_to_it_before_her._Discipline_must_be_maintained.>.
21:29:18 <ais523> there, that's better
21:29:20 <fizzie> The word "Logs:" could...
21:29:26 <fizzie> Meh.
21:29:33 <fizzie> I even spelled it the same way.
21:29:47 -!- GregorR has set topic: Logarithms: <http://dickensurl.com/1b34/It%E2%80%99s_my_old_girl_that_advises._She_has_the_head._But_I_never_own_to_it_before_her._Discipline_must_be_maintained.>.
21:29:48 <fizzie> You must be some sort of thought-pire.
21:30:01 * GregorR whistles.
21:30:47 <ais523> > {my $x = "αωω"; say ++$x;}
21:30:49 <ais523> αÏÏ
21:30:51 <ais523> ugh, Rakudo encoding fail
21:32:32 <Slereah> (^$B1?(B)
21:32:35 <Slereah> bu-n
21:37:03 * GregorR voodoos FYB at the channel.
21:37:12 <GregorR> You know you want to beat logicex-2!
21:37:16 <GregorR> Doooooooooit
21:37:36 <ehird> GregorR: FYB?
21:37:37 <ehird> Holy shit!
21:37:38 <ehird> It's back?
21:37:43 <GregorR> !fybv
21:37:45 <GregorR> Err
21:37:47 <GregorR> !fyb
21:37:48 <EgoBot> Use: !fyb <program name> <program>
21:37:52 <ehird> Hawt.
21:37:55 <ehird> How do you show the scoreboard?
21:38:24 <GregorR> Right now when you submit a program it just runs it against all the other ones it's seen and gives you the total, when I get home tonight I'm integrating int-e's nice scoreboard (in some way)
21:38:36 <ehird> GregorR: what's the additional instructions again
21:38:39 <ehird> err, I forgot fyb
21:38:53 <GregorR> http://codu.org/eso/fyb/ // spec is here
21:39:24 -!- MigoMipo has left (?).
21:40:21 <ehird> > | 3 | moves the data pointer to the right (looping if necessary)
21:40:23 <ehird> GregorR: wat?
21:40:37 <GregorR> You have a pointer in the opponent's code.
21:40:38 <ehird> GregorR: also, show logicex-2? :P
21:40:49 <GregorR> It's also on that site, under exa/
21:42:09 <ehird> !fyb :@%>+++++++++++++++[..............................................................................................................................................................................+]*;:++!>;*
21:42:09 <EgoBot> Use: !fyb <program name> <program>
21:42:12 <ehird> !fyb butt :@%>+++++++++++++++[..............................................................................................................................................................................+]*;:++!>;*
21:42:12 <EgoBot> butt won 0/20
21:42:16 <ehird> :D
21:42:23 <GregorR> Well played :P
21:42:49 <impomatic> Oh! :-)
21:42:51 <ehird> !fyb butt +[!>+]
21:42:51 <EgoBot> butt won 0/20
21:42:54 <ehird> :-(
21:43:09 <impomatic> When did fyb get added?
21:43:14 <GregorR> impomatic: Yesterday.
21:43:19 <impomatic> :-)
21:43:29 <impomatic> By the way, what happened to BF Joust?
21:43:30 <pikhq> :)
21:43:37 <ais523> impomatic: Goethe the contestmaster deregistered
21:43:39 <GregorR> impomatic: BF Joust?
21:43:41 <ais523> and it decontestified
21:43:50 <GregorR> Hm.
21:43:53 <ais523> I want em to restart it, now might be a bad time though
21:44:02 <ais523> e reregistered but Agora's rather busy with contest shenanigans atm
21:44:13 <pikhq> !fyb butt +[>+]
21:44:14 <EgoBot> butt won 0/20
21:44:19 <Deewiant> !fyb ++++++++++++++:!;*
21:44:19 <ais523> anyway, my plans for BF Joust are:
21:44:20 <EgoBot> Use: !fyb <program name> <program>
21:44:22 <Deewiant> !fyb butt ++++++++++++++:!;*
21:44:23 <EgoBot> butt won 0/20
21:44:39 <GregorR> Stop calling them all butt :P
21:44:52 <Deewiant> !fyb butt butt
21:44:53 <EgoBot> butt won 0/20
21:45:12 <GregorR> Amazingly, the "only-comments" FYB program doesn't win so much :P
21:45:36 <Deewiant> !fyb butt ++++++++++++++:{>}!;*
21:45:36 <EgoBot> butt won 0/20
21:45:56 <Deewiant> !fyb butt ++++++++++++++:{>>>>}!;*
21:45:56 <EgoBot> butt won 0/20
21:46:11 <GregorR> Deewiant: You realize the chance of that actually committing a bomb is near-zero, right?
21:46:18 <Deewiant> Committing?
21:46:34 <GregorR> Ah, so you're just poking around and haven't actually read the spec ;)
21:46:36 <ais523> !fyb test {>}[+]++++++++++++++!
21:46:36 <EgoBot> test won 0/22
21:46:55 -!- oerjan has joined.
21:47:05 <Deewiant> GregorR: I don't get program buffers
21:47:16 <Deewiant> I read what ! does but I don't get it :-P
21:47:40 <Deewiant> Oh, I think I do
21:47:47 <ais523> !fyb test {>}[+]++++++++++++++!;
21:47:47 <EgoBot> test won 0/22
21:47:48 <Deewiant> I have to modify space first using +-
21:47:52 <Deewiant> And then !
21:47:54 <ais523> no - in FYB
21:47:58 <Deewiant> Whatever
21:47:59 <Deewiant> :-P
21:48:11 <Deewiant> But anyway, ! on its own just... commits.
21:48:18 <GregorR> Yeah.
21:48:25 <ais523> anyway, quick rules of ais523-modified BF joust:
21:48:29 <impomatic> Has anyone played with Corelife? It's a 2D version of corewar
21:48:31 <GregorR> The changes you make aren't in the program code until you commit them.
21:48:35 <ais523> two BF programs share a tape, > for one program is < for the other
21:48:41 <GregorR> impomatic: Sweet. And no.
21:48:55 <ais523> each starts at the < end of the tape from their own point of view on a cell with value 128, all other cells have value 0
21:49:04 <ais523> programs run simultaneously, each command takes one tick
21:49:13 <Deewiant> !fyb butt :{>>>>}++++++++++++++!;*
21:49:14 <EgoBot> butt won 0/22
21:49:31 <ais523> and if at the end of each of two consecutive turns, the starting value of the tape of a program is 0, that program loses
21:49:37 <ais523> also, a program loses if it goes off the end of the tape
21:49:42 <ais523> . and , are no-ops, but still take one tick
21:49:44 <Deewiant> Hmm, it won't be zero will it now, hence the [+].
21:50:44 <GregorR> Deewiant: {} searches for the opponent's program pointer, [] is like BF's.
21:50:49 <Deewiant> !fyb butt :{>>>>}[+]++++++++++++++!;;{<<<}[+]++++++++++++++!;*
21:50:50 <EgoBot> butt won 0/22
21:50:51 <GregorR> Deewiant: So that's not likely to be zero.
21:50:59 <Deewiant> GregorR: Yeah, exactly.
21:50:59 -!- Hiato has quit (Read error: 60 (Operation timed out)).
21:51:14 <Deewiant> Threads share the data pointer?
21:51:22 <GregorR> No.
21:51:48 <Deewiant> Does the program buffer wraparound (if I <, do I get to the end)?
21:51:49 <GregorR> +++!;;{<< <-- notice a problem here :P
21:51:55 <impomatic> ais523: so ------- etc on the flag wouldn't win because it isn't 0 for 2 consecutive rounds.
21:51:57 <GregorR> Deewiant: Yes.
21:52:17 <impomatic> but [-] would win if run on the flag because it stops when it gets to zero
21:52:22 <Deewiant> !fyb butt :{>>>>}[+]++++++++++++++!;:{<<<}[+]++++++++++++++!;*
21:52:23 <EgoBot> butt won 0/22
21:52:26 <GregorR> ais523: And how big is the buffer in BF Joust, btw?
21:52:26 <Deewiant> ^^
21:52:53 <ais523> GregorR: oh, it used to be rather long, but for my version I suggest random from 10 to 30 inclusive
21:52:59 <impomatic> In the one which was online before, about 130
21:53:13 <ais523> because the old long buffer menat that you couldn't both attack and defend, and had plenty of time to set up defences
21:53:47 <ais523> impomatic: yes, the two-rounds thing should invalidate most of the degenerate strategies from last time
21:53:56 <ais523> and give defensive strategies an actual chance of working
21:54:25 <ais523> woe betide anyone who tries [>[-]+] this time, they're likely to fall off the end against a defensive strategy
21:54:38 <GregorR> Maybe you should get to thread.
21:54:41 <Deewiant> !fyb butt :{<}[+]++++++++++++++!;
21:54:41 <EgoBot> butt won 6/22
21:54:44 <Deewiant> Muah!
21:54:54 <Deewiant> I win the internets
21:54:57 * GregorR has no idea what difference that made :P
21:55:05 <Deewiant> !fyb butt :{>}[+]++++++++++++++!;
21:55:06 <EgoBot> butt won 6/22
21:55:08 <Deewiant> !fyb butt :{>}[+]++++++++++++++!;*
21:55:10 <EgoBot> butt won 5/22
21:55:18 <Deewiant> Hmm
21:55:26 <GregorR> Strange, did it just magically start working >_O
21:55:32 <Deewiant> !fyb butt :{>>}[+]++++++++++++++!;*
21:55:32 <EgoBot> butt won 10/22
21:55:34 <Deewiant> !fyb butt :{>>>}[+]++++++++++++++!;*
21:55:36 <EgoBot> butt won 4/22
21:55:36 <Deewiant> !fyb butt :{>>>>}[+]++++++++++++++!;*
21:55:37 <EgoBot> butt won 9/22
21:55:45 <impomatic> http://retrocode.blogspot.com/
21:55:46 <Deewiant> Maybe I typoed the number of +
21:55:47 <Deewiant> :-P
21:56:10 <Deewiant> !fyb butt :{>>>>}[+]++++++++++++++!;:{>>>>}[+]++++++++++++++!;
21:56:11 <EgoBot> butt won 4/22
21:56:11 <pikhq> !fyb vejni +[:{>>}+;]
21:56:17 <EgoBot> vejni won 0/24
21:56:27 <Deewiant> !fyb pietje :{>>}[+]++++++++++++++!;
21:56:31 <EgoBot> pietje won 5/26
21:56:35 <Deewiant> !fyb pietje :{>>}[+]++++++++++++++!;*
21:56:36 <EgoBot> pietje won 13/26
21:56:37 <GregorR> pikhq: Any given ':' can be spent, so doing it in a loop is mostly pointless.
21:56:46 <Deewiant> Oh right, : only works once
21:56:52 <Deewiant> !fyb pietje {>>}[+]++++++++++++++!
21:56:53 <EgoBot> pietje won 12/26
21:57:06 <Deewiant> !fyb pietje :fooooooooooooooooooooooooooooooooooooooooooooooooooooooooo;{>>}[+]++++++++++++++!
21:57:08 <EgoBot> pietje won 9/26
21:57:12 <pikhq> GregorR: I was doing random symbols. Wee.
21:57:19 <Deewiant> !fyb pietje :************************;{>>}[+]++++++++++++++!
21:57:21 <EgoBot> pietje won 10/26
21:57:24 <Deewiant> !fyb pietje :***********************;{>>}[+]++++++++++++++!
21:57:25 <EgoBot> pietje won 15/26
21:57:30 <Deewiant> This is so random :-P
21:57:34 <Deewiant> !fyb pietje :**********************;{>>}[+]++++++++++++++!
21:57:35 <EgoBot> pietje won 10/26
21:57:38 <Deewiant> !fyb pietje :***********************;{>>}[+]++++++++++++++!
21:57:38 <EgoBot> pietje won 15/26
21:57:40 <pikhq> !fyb vejni All of this is a comment. Really.
21:57:42 <ehird> !fyb pietje :{>>}<[-]++++++++++++++!;*
21:57:42 <Deewiant> I'll stick with that
21:57:43 <EgoBot> vejni won 3/26
21:57:48 <EgoBot> pietje won 4/26
21:57:51 <Deewiant> Hey, don't overwrite pietje
21:57:52 <pikhq> Wow.
21:57:53 <Deewiant> Stick with butt
21:57:56 <ehird> k
21:58:07 <Deewiant> !fyb pietje :***********************;{>>}[+]++++++++++++++!:****;
21:58:07 <ehird> !fyb butt :{>>}[-]<+>++++++++++++++!;*
21:58:09 <EgoBot> pietje won 13/26
21:58:10 <EgoBot> butt won 7/26
21:58:13 <Deewiant> !fyb pietje :***********************;{>>}[+]++++++++++++++!
21:58:14 <EgoBot> pietje won 15/26
21:58:16 <pikhq> !fyb vejni
21:58:16 <EgoBot> Use: !fyb <program name> <program>
21:58:25 <pikhq> !fyb vejni
21:58:25 <EgoBot> Use: !fyb <program name> <program>
21:58:38 <pikhq> !fyb vejni f
21:58:41 <EgoBot> vejni won 3/26
21:58:41 <impomatic> http://retrocode.blogspot.com/2009/02/bf-joust-hill.html
21:58:53 <GregorR> pikhq: Impressive ;P
21:58:59 <Deewiant> O_o
21:59:01 <pikhq> :)
21:59:08 <Deewiant> !fyb comment //
21:59:12 <EgoBot> comment won 3/28
21:59:12 <ehird> !fyb butt ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
21:59:13 <EgoBot> butt won 0/28
21:59:16 <ehird> !fyb butt ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;
21:59:17 <EgoBot> butt won 0/28
21:59:20 <ehird> !fyb butt ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::>+;;;;;;;;;;;;;;;;
21:59:21 <EgoBot> butt won 0/28
21:59:22 <Deewiant> !fyb comment //
21:59:23 <ehird> !fyb butt ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::>+!;;;;;;;;;;;;;;;;
21:59:25 <EgoBot> butt won 0/28
21:59:31 <GregorR> ehird: Each thread is one more point of weakness.
21:59:33 <pikhq> I'm afraid that null beats doing stuff.
21:59:39 <Deewiant> !fyb pietje :***********************;{>>}[+]++++++++++++++!
21:59:41 <EgoBot> pietje won 15/28
21:59:42 <EgoBot> comment won 3/28
21:59:47 <Deewiant> !fyb pietje :***********************;{<<}[+]++++++++++++++!
22:00:03 <EgoBot> pietje won 9/28
22:00:13 <ehird> !fyb {>}[-]++++++++++++++!
22:00:14 <EgoBot> Use: !fyb <program name> <program>
22:00:15 <ehird> er
22:00:17 <ehird> !fyb butt {>}[-]++++++++++++++!
22:00:20 <Deewiant> !fyb pietje :***********************;{>>}[+]++++++++++++++!
22:00:22 <EgoBot> pietje won 17/28
22:00:25 <Deewiant> ehird: There's no -
22:00:25 * ehird kicks EgoBot
22:00:29 <ehird> oh.
22:00:30 <ehird> why.
22:00:32 <pikhq> !fyb vejni +
22:00:33 <Deewiant> Ask GregorR
22:00:49 <ehird> !fyb butt {>}[+]++++++++++++++!
22:00:49 <Deewiant> Anyway, I'm going to stick with the 'this is random as hell' stance
22:00:51 <EgoBot> butt won 11/28
22:00:51 <EgoBot> butt won 6/28
22:00:58 <ehird> Deewiant: evidently there is a -
22:01:03 <oerjan> <ehird> try ircbrowse.com or something <<< i thought that died, it was the one cmeme used
22:01:05 <ehird> because my [-] won more :P
22:01:07 <Deewiant> ehird: Not in the README
22:01:08 <ehird> oerjan: indeed
22:01:18 <GregorR> There's no - because that would make putting bombs much quicker and easier.
22:01:22 <EgoBot> vejni won 3/28
22:01:25 <ehird> !fyb butt +[{>}[+]++++++++++++++!]
22:01:25 <Deewiant> !fyb comment {>}[x]++++++++++++++!
22:01:38 <EgoBot> butt won 11/28
22:01:51 <oerjan> it was very nice when it worked, although often horribly slow
22:01:51 <EgoBot> comment won 5/28
22:02:03 * GregorR wonders why he can't kill the tide of fukyorbranes :P
22:02:03 <ehird> GregorR: what does the any given : thing mean
22:02:14 <ehird> !fyb butt +[:{>}[+]++++++++++++++!;]
22:02:19 <ais523> !fyb selfdestruct ?[>]++++++++++++++!
22:02:20 <ehird> | | NOTE: any given : will only fork once, then it's spent
22:02:22 <EgoBot> butt won 7/28
22:02:24 <EgoBot> selfdestruct won 6/30
22:02:24 <ehird> fizzie: impssible
22:02:28 <ehird> *impossible
22:02:29 <ehird> er
22:02:30 <ehird> ais523:
22:02:31 <ais523> err, how did selfdestruct win so much?
22:02:37 <ehird> sheer luck
22:02:38 <Deewiant> ehird: If you put a : in your code, the forking will happen only the first time it's executed.
22:02:38 <ais523> ? is defect, right?
22:02:42 <Deewiant> ehird: But you can have multiple :.
22:02:46 <GregorR> ehird: If it comes across a ':' at that program position again, it will not fork again.
22:02:48 <ais523> I was trying to get it to suicide by putting a bomb in its /own/ code
22:02:57 <ehird> ais523: | | NOTE: You cannot set a bomb in your own program, so it doesn't have a character.
22:03:01 <ehird> GregorR: darn.
22:03:03 <GregorR> ais523: Except your own code has no %'s, so that's an infinite loop.
22:03:05 <Deewiant> ehird: That's different.
22:03:13 <ais523> !fyb selfdestruct ?[>]++++++++++++++!%
22:03:15 <ehird> !fyb butt *
22:03:16 <Deewiant> That just means you can't place one directly.
22:03:16 <EgoBot> butt won 2/30
22:03:19 <EgoBot> selfdestruct won 8/30
22:03:23 <ehird> lol
22:03:26 <ais523> GregorR: ok, it does even better now
22:03:26 <ehird> how did that win 2
22:03:35 <ehird> they killed themselves in less than one tick?
22:03:38 <Deewiant> :-D
22:03:42 <Deewiant> !fyb blank
22:03:42 <EgoBot> Use: !fyb <program name> <program>
22:03:44 <Deewiant> !fyb blank
22:03:45 <EgoBot> Use: !fyb <program name> <program>
22:03:46 <Deewiant> Aw
22:03:49 <Deewiant> !fyb blank
22:03:49 <EgoBot> Use: !fyb <program name> <program>
22:03:53 <ais523> and you can set a bomb, just only by self-editing
22:03:56 <ais523> !fyb blank comment
22:03:57 <ehird> ais523: no you can't!
22:04:02 <ehird> | | NOTE: You cannot set a bomb in your own program, so it doesn't have a character.
22:04:03 <ehird> | | NOTE: You cannot set a bomb in your own program, so it doesn't have a character.
22:04:05 <Deewiant> I wanted a blank blank
22:04:08 <EgoBot> blank won 6/32
22:04:11 <Deewiant> ais523: s/so/as/
22:04:15 <Deewiant> Err
22:04:16 <Deewiant> ehird:
22:04:18 <GregorR> Actually, you can set up us the bomb.
22:04:23 <ais523> ehird: that spec note is misleading, in that you can't set a bomb in the initial program
22:04:25 <GregorR> That note is misleading.
22:04:27 <ais523> but you can edit one into your own program later
22:04:29 <ehird> bah, fine
22:04:35 <Deewiant> GregorR: s/so/as/?
22:04:41 <GregorR> I'll fix that when I get home tonight.
22:04:50 <ehird> !fyb butt +[@+!]
22:04:56 <GregorR> Deewiant: That's both 'so' and 'as', actually :P
22:04:57 <EgoBot> butt won 1/32
22:05:06 <Deewiant> Meh :-P
22:05:09 <GregorR> Deewiant: I didn't give it a character because you're not allowed to put one in your source.
22:05:16 <Deewiant> Yes, indeed
22:05:28 <Deewiant> I still think 'as' would be better ;-)
22:05:37 <ehird> !fyb buttstolen :{>}[+[+[+[+[+[+[+[+[+[+[+[+[+[+[+]]]]]]]]]]]]]]]+++++++++++++!>%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%;:@[>+++]!;*
22:05:38 <EgoBot> buttstolen won 6/34
22:06:00 <Deewiant> !fyb pietje :***********************;{>>}[+]++++++++++++++!
22:06:01 <EgoBot> pietje won 23/34
22:06:07 <ehird> Deewiant: what does pietje mean?
22:06:22 <ehird> !fyb pietje :**************************************************************************************************************************************************************************************************************************************;{>>}[+]++++++++++++++!
22:06:24 <ehird> er
22:06:25 <ehird> ups
22:06:27 <ehird> meant to rename to butt
22:06:29 <ehird> sry
22:06:34 <EgoBot> pietje won 22/34
22:06:34 <ehird> did EgoBot ded
22:06:35 <Deewiant> !fyb pietje :***********************;{>>}[+]++++++++++++++!
22:06:36 <ehird> o
22:06:36 <EgoBot> pietje won 23/34
22:06:52 <ehird> !fyb pietje ::**********;*;{>>}[+]++++++++++++++!
22:06:53 <EgoBot> pietje won 17/34
22:06:56 <Deewiant> !fyb pietje :***********************;{>>}[+]++++++++++++++!
22:06:57 <ehird> oops
22:06:57 <EgoBot> pietje won 23/34
22:06:59 <ehird> sry
22:07:03 <ehird> !fyb butt ::**********;;{>>}[+]++++++++++++++!
22:07:21 <Deewiant> Pietje is a Dutch name
22:07:22 * ehird knocks EgoBot
22:07:35 <Deewiant> I use it where somebody else might use "Jack"
22:07:35 <ehird> GregorR: wat
22:07:42 <EgoBot> butt won 10/34
22:08:07 <ehird> !fyb butt ::**********;;:{>>}[+]++++++++++++++!;
22:08:08 <EgoBot> butt won 12/34
22:08:12 <ehird> \o/
22:08:18 <ehird> !fyb butt ::**********;;::{>>}[+]++++++++++++++!*;;
22:08:19 <EgoBot> butt won 0/34
22:08:25 <Deewiant> Zzz ->
22:08:28 <ehird> !fyb butt ::**********;;:{>>}[+]++++++++++++++!*;
22:08:29 <EgoBot> butt won 12/34
22:08:40 <ehird> !fyb butt ::**********;;:[{>>}[+]++++++++++++++!]*;
22:08:58 <EgoBot> butt won 10/34
22:10:04 <GregorR> http://codu.org/eso/fyb/report.txt is now automatically generated. Although it looks a bit freaky mid-generation :P
22:10:26 <ehird> GregorR: can you order it properly?
22:10:53 <GregorR> ehird: You mean by points? I can if you write a new mkreport program that does that ;)
22:11:01 <ehird> <_<
22:11:03 <ehird> can't be hard
22:11:45 <GregorR> It would be even easier if I made a new version of fukyorbrane that exited with a status code specifying which one won rather than having to parse its text output (I was an idiot in 2005 :P )
22:15:29 <GregorR> ehird: The only reason why it's "hard" is that the current one is just a simple script that outputs as it goes, doesn't keep any info around.
22:16:24 <pikhq> Pipe it into sort.
22:16:33 <GregorR> pikhq: Look at the output then say that again :P
22:16:53 <GregorR> Oh, btw, like the rest of EgoBot, !fyb accepts URLs, so don't think you have to fit these in an IRC line :P
22:17:10 <ehird> more fun that way
22:17:18 -!- impomatic has left (?).
22:17:48 <ais523> GregorR: is !fyb programmed any differently from the rest of EgoBot?
22:17:50 <AnMaster> night
22:17:59 <ais523> I should write a !bfjoust so we can have that too
22:18:02 <ais523> and night AnMaster
22:18:14 <GregorR> ais523: It's just another scmd. Feel free to check out the source.
22:18:18 <GregorR> ais523: That would be sveet.
22:19:29 <pikhq> GregorR: I assume you have it as a shell script?
22:19:40 <GregorR> Yeah X-P
22:19:49 <GregorR> But there's nothing shell-script-dependent about multibot of course.
22:19:54 <pikhq> Trivial, then.
22:20:00 <pikhq> Erm. mkreport, I mean.
22:20:07 <GregorR> Oh
22:20:15 <GregorR> Yeah, that's a shell script.
22:21:21 <pikhq> sort is really insanely flexible. ;)
22:21:42 <pikhq> Hmm. Where is this script, anyways?
22:21:57 <GregorR> The mkreport that that uses presently only exists in EgoBot.
22:21:58 <pikhq> Found it.
22:22:08 <GregorR> (I managed to hunt down int-e and get a copy of it, he made it in the first place)
22:22:24 <pikhq> So, codu.org/eso/fyb/in_egobot/mkreport.sh
22:22:36 <GregorR> Yup
22:23:26 * GregorR leaves for home, he'll see everybody in either fifteen minutes or forty-five minutes depending on how hungry he gets on the way.
22:23:37 <pikhq> Gxis.
22:23:44 <ehird> Gxis?
22:24:02 <GregorR> YOU HEARD 'IM
22:24:27 <pikhq> ehird: Short for "Gxis la revidu."
22:33:21 -!- ais523_ has joined.
22:33:53 -!- ais523 has quit (Nick collision from services.).
22:33:54 -!- ais523_ has changed nick to ais523.
23:02:52 <ais523> wow, Perl6 has short-circuit exclusive or
23:02:59 <ais523> which can only happen if you write $a ^^ $b ^^ $c
23:03:11 <ais523> which is different from ($a ^^ $b) ^^ $c
23:04:53 <ehird> ais523: :D
23:04:54 <ehird> wwaaaat
23:04:55 <ehird> *waaaaaat
23:05:17 <ais523> $a ^^ $b ^^ $c means "exactly one of $a, $b, $c is true"
23:22:17 <kerlo> The US International keyboard layout refuses to put a circumflex over a g.
23:23:03 <kerlo> â ^b ^c ^d ê ^f ^g ^h î ^j ^k ^l ^m ^n ô ^p ^q ^r ^s ^t û ^v ^w ^x ^y ^z
23:23:08 <kerlo> Proper vowels only.
23:23:13 <ehird>
23:23:36 <oerjan> that's the only ones in latin-1 i think
23:23:54 <oerjan> it's the same with a norwegian keyboard
23:23:57 <ehird>
23:24:14 <kerlo> I want a keyboard that can make circumflex-g.
23:24:26 <kerlo> Hmm, I wonder if I can find an Esperanto keyboard layout.
23:24:39 <ehird> "First of all, these fears are nonsense. C and C++ are never going to disappear. Why? Because there are classes of programming problems that are still and will always be CPU bound and there is still no language as fast as C or C++ for these problems. I highly doubt that there ever will be. "
23:24:40 <ehird> Fail
23:25:35 <kerlo> I can type English (Zimbabwe) and Estonian (Estonia), but nothing in between.
23:25:38 -!- olsner has quit ("Leaving").
23:26:26 <kerlo> Too bad Esperanto is something like the only language with those characters.
23:26:36 <ais523> ehird: there was that experiment recently in which an OCaml program turned out to be faster than an equivalent C program
23:26:42 <ehird> yep
23:26:43 <ais523> although the C program was probably badly written
23:26:47 <ehird> death to C!
23:27:03 <ais523> kerlo: look at the Esperanto Wikipedia, they have their own format for writing Esperanto in
23:27:38 -!- puzzlet_ has joined.
23:28:28 <ais523> it basically involves writing x after a letter to circumflex it
23:28:32 <ais523> but there are a few special cases
23:29:45 <kerlo> Wow. The source code does indeed contain x like that.
23:29:49 <kerlo> What are the special cases?
23:30:47 <pikhq> ehird: A well-written assembly program can at least match the C program. ;)
23:31:03 <ais523> kerlo: I don't know off by heart
23:31:10 <ehird> pikhq: Unlikely. Modern CPUs are insane.
23:31:18 <ehird> well, maybe it can beat gcc
23:31:19 <ais523> I don't know Esperanto, so I've never bothered to learn how to write in the Esperanto Wikipedia
23:31:22 <ehird> gcc isn't the best at optimizing...
23:31:27 <pikhq> Irrelevant.
23:31:38 <ais523> but I think it's to do with cases where you actually want an x, and with capital letters
23:31:52 <ehird> pikhq: "well-written" probably comes to "identical to the compiler's output".
23:31:59 <pikhq> The CPU being insanely good has *nothing* to do with how fast assembly is compared to C.
23:32:13 <ais523> pikhq: CPUs nowadays are so complex that writing asm for them by hand is very fast
23:32:16 <ais523> *very hard
23:32:27 <ehird> pikhq: The only way to beat a good compiler is to generate the same code nowadays.
23:32:32 <pikhq> ais523: Well, yes.
23:32:34 <ehird> It's as simple as that
23:33:04 <pikhq> ehird: In some cases, the assembly programmer will generate better code.
23:33:08 <pikhq> (no optimiser is perfect)
23:33:18 <ehird> Very few nowadays I would imagine.
23:33:23 <ehird> And no human optimizer is perfect.
23:33:32 <pikhq> Obviously, in general, the assembly programmer will be, at best, generating equivalent code...
23:33:56 <ehird> are the microcode specs for modern cpus available?
23:34:02 <pikhq> Of course, all this is in response to someone claiming that there is no language as fast as C...
23:34:05 <ehird> you could improve an optimizer a lot with those, I imagine
23:34:09 <pikhq> Which, frankly, is dumb.
23:34:20 <ehird> yeah
23:34:27 <ehird> if we're still coding C in 50 years I'll weep
23:34:42 <pikhq> Assembly is just the *obvious* language with similar performance.
23:35:00 <ehird> "C: 0.8 seconds.
23:35:00 <ehird> C++: 2.3 seconds.
23:35:01 <ehird> OCaml: 0.6 seconds interpreted, 0.3 seconds fully compiled.
23:35:03 <ehird> Java: 1 minute 20 seconds.
23:35:05 <ehird> Python: over 5 minutes."
23:35:08 <pikhq> Sorry, similar performance characteristics.
23:35:10 <ehird> OCaml is insanely fast. Wonder if you could get Haskell that fast.
23:36:36 <pikhq> It'd take a lot of work, but I bet you could.
23:36:50 <ehird> pikhq: Oh, there are C-competitive Haskell programs.
23:36:54 <pikhq> Also, I wonder how that Java program is when compiled to machine code.
23:37:05 <ehird> Put a bit of inlining hints, some strict-forcing bang-patterns.
23:37:08 <ais523> I wonder if asm is beatable?
23:37:16 <ehird> pikhq: he said that in a few years java took 0.7s with 1s startup time
23:37:19 <ais523> maybe by using undocumented machinecode opcodes that can't be generated from the asm?
23:37:21 <ehird> after he wrote it
23:37:24 <ais523> or by compiling straight to hardware?
23:37:28 <ais523> going home, anyway
23:37:29 <ehird> ais523: can you run microcode?
23:37:37 <ehird> if not by a supported way, via an exploit?
23:37:38 <ehird> if so, yes.
23:37:44 <pikhq> ais523: Theoretically, no. In practice? Possibly.
23:37:45 <ais523> ehird: no idea, it's certainly worth thinking about though
23:37:52 <ais523> I wasn't lying about going home, though
23:37:53 -!- ais523 has quit (Remote closed the connection).
23:38:24 <pikhq> If you assume a perfect assembly programmer, this hypothetical programmer will always be able to generate code that is at least as fast as its competition.
23:38:29 <pikhq> Of course, no man is perfect.
23:38:45 <ehird> If you assume a perfect assembly programmer, that there was the singularity.
23:39:00 <kerlo> In many cases, English is faster than any programming language.
23:39:15 <pikhq> kerlo: Not for computer execution.
23:39:41 <kerlo> I don't have to defend my point because I've forgotten what I meant by it.
23:39:49 <ehird> kerlo: Take any number of words on the command line; sum the ASCII digits of each one, then take the product and print it out.
23:40:06 <ehird> main = interact (show . product . map (sum . ord) . words)
23:40:12 <ehird> Haskell wins.
23:40:26 -!- puzzlet has quit (Read error: 110 (Connection timed out)).
23:40:27 <ehird> Er, wait, that's invalid
23:40:31 <ehird> main = interact (show . product . map (sum . map ord) . words)
23:40:32 <ehird> There
23:40:49 <ehird> Ah, you want a newline at the end of that
23:40:56 <ehird> main = interact ((++ "\n") . show . product . map (sum . map ord) . words)
23:40:57 <ehird> Voila.
23:41:05 <ehird> Shorter than the English and about as readable.
23:43:17 <pikhq> foreach $args i {incr ::sum [expr [join [split $i {}] "+"]]};puts $sum
23:43:28 <pikhq> (why doesn't Tcl have a builtin map?)
23:43:29 <ehird> pikhq: I can golf, also:
23:43:37 <oerjan> main = print . product . map (sum . map ord) . words =<< getContents
23:43:42 <ehird> main=interact$(++"\n").show.product.map(sum.map ord).words
23:44:46 <ehird> also
23:44:48 <ehird> pikhq: that's not it
23:44:49 <ehird> you forgot the product
23:44:53 <ehird> hello world
23:44:53 <ehird> is
23:45:06 <ehird> ('h'+'e'+'l'+'l'+'o')*('w'+'o'+'r'+'l'+'d')
23:45:08 <ehird> pikhq: get it?
23:45:18 <pikhq> Oh. Well, then. Just a sec.
23:45:20 <ehird> So you have to do that shorter than main=interact$(++"\n").show.product.map(sum.map ord).words
23:45:22 <ehird> Good luck :-P
23:45:47 <oerjan> main=print.product.map(sum.map ord).words=<<getContents
23:45:47 <pikhq> I'm trying to do it elegantly; sorry. ;)
23:45:59 <ehird> oerjan: very good
23:46:17 <oerjan> since print includes show and ++"\n" automatically
23:46:21 <ehird> pikhq: good luck getting more elegant than main = print . product . map (sum . map ord) . words =<< getContents
23:46:22 <ehird> oerjan: yep
23:46:29 <ehird> I wanted that at first
23:47:52 <GregorR> Foobarf.
23:48:05 <ehird> GregorR: wtf is wrong with my/oerjan's code
23:48:14 <GregorR> ?
23:48:15 <ehird> amusingly, it has NO foos and bars, it has no names
23:48:17 <ehird> oh
23:48:24 <ehird> I thought foobarf was barfing at my/oerjan's code :P
23:48:31 <pikhq> proc map {lambda x} {foreach $x i {lappend ret [apply {*}$lambda $i]}};puts [* {*}[map {{x} {+ {*}[split $i {}]]}
23:48:42 <ehird> pikhq: Now THAT's barf-worthy.
23:48:45 <pikhq> That'd be so much more shorter if I didn't have to implement map first.
23:48:59 <ehird> Even without the map, it'd take me a while to figure out even the algorithm from that.
23:49:02 <GregorR> I see there are no new FYB programs X-P
23:49:05 <ehird> I'm going to enroll #haskell to golf it :P
23:49:20 * oerjan does a little dance
23:49:28 <oerjan> no trojan virus today
23:49:39 <ehird> oerjan: lawl
23:49:41 <oerjan> well, found, anyway
23:49:47 <pikhq> Fine, y'want golf?
23:49:57 <ehird> pikhq: Absolutely.
23:50:09 <ehird> Haskell, in its divine elegance, can stay beautiful and tiny at the same time.
23:50:15 <ehird> You have no chance to survive, make your Tcl.
23:50:23 <pikhq> C.
23:50:31 <ehird> You think C will be shorter?
23:50:33 <ehird> Hohohohoho
23:50:38 <ehird> We can defeat your follies.
23:51:37 <GregorR> If I'm allowed to define the programming language, than I can always write a program shorter and clearer than Haskell :P
23:52:01 <GregorR> Oh, you wrote 99 Bottles of Beer in 200 characters of Haskell? Well, I just wrote it in one character of HQ9+
23:52:02 <ehird> GregorR: Yeah, but we won't listen to you :-)
23:54:47 <ehird> pikhq: Welp?
23:55:32 <oerjan> main=getContents>>= \c->print$product[sum$map ord w|w<-words c]
23:55:48 <ehird> on which planet is this shorter, oerjan?
23:55:53 <ehird> main=print.product.map(sum.map ord).words=<<getContents is shorter
23:56:00 <oerjan> i just wanted to write it out to check
23:56:03 <ehird> ah
23:56:03 <ehird> :P
23:56:05 <pikhq> i,c,d;main(a,char**b){(**b)?c*=main(a-1,b++)return;:while(*b[i],d+=*b[i++]);return d;}
23:56:09 * pikhq can't win
23:56:18 <pikhq> And that's not quite right.
23:56:26 <ehird> pikhq: 31 characters extra to do it wrong fail :-)
23:56:32 <oerjan> since some of that mapping could be removed with a list comprehension
23:56:41 <ehird> see how awesome haskell is pikhq?
23:56:57 <pikhq> GregorR: Any way of getting command line arguments in Plof?
23:57:15 <GregorR> pikhq: Not presently :P
23:57:24 <pikhq> Argh.
23:57:36 <ehird> pikhq: command line arguments?
23:57:40 <ehird> Sir, we use stdin.
23:57:44 <ehird> That's what the Haskell dose.
23:57:45 <ehird> *does
23:57:51 <oerjan> well...
23:57:57 <ehird> oerjan: what
23:58:46 <oerjan> main=print.product.map(sum.map ord)=<<getArgs
23:58:52 <ehird> of cours
23:58:53 <ehird> e
23:58:53 <oerjan> except you need an import as well
23:59:01 <ehird> we need an import for Data.Char
23:59:06 <ehird> but let's just assume we don't
23:59:06 <oerjan> oh
23:59:13 <ehird> because imports are silly
23:59:13 <oerjan> use fromEnum
23:59:18 <ehird> oh?
23:59:42 <ehird> oerjan: oh?
23:59:46 <oerjan> ord = fromEnum, type restricted
23:59:53 <ehird> that's longer, my son.
23:59:59 <ehird> other languages can ignore imports too
←2009-05-04 2009-05-05 2009-05-06→ ↑2009 ↑all