←2012-08-05 2012-08-06 2012-08-07→ ↑2012 ↑all
00:00:43 <elliott> All of it.
00:01:15 <shachaf> Oh.
00:20:01 -!- Jafet has quit (Quit: Leaving.).
00:25:53 * oerjan suddenly has the realization that in the first olympic games, getting an olympic record did not require breaking a previous one
00:29:21 <coppro> oerjan: *may* not have
00:29:31 <coppro> the record may have been broken in a later run of the same even
00:29:33 <coppro> *event
00:29:47 <coppro> oerjan: moreover, the same is true of any other Games where a sport is added (and that sport has records)
00:32:34 <oerjan> yes. it's just that in norwegian, we borrow the word "rekord" to mean solely the kind of record which you usually get by beating a previous one, so i hadn't really thought that even this had exceptions.
00:33:01 <coppro> oerjan: so wait, "rekord" doesn't apply to the first setting of the record?
00:33:06 <coppro> that seems... weird
00:33:18 <oerjan> yes it does. it's just that this is a very small fraction...
00:33:51 <coppro> ah ok
00:33:54 <coppro> yeah, it's the same in English
00:34:11 <oerjan> in english the word has other uses, though
00:34:27 <coppro> true
00:34:33 <coppro> but in that sense, it means one thing
00:53:12 -!- derdon has quit (Remote host closed the connection).
01:43:36 <shachaf> kmc: http://www.haskell.org/haskellwiki/HaskellImplementorsWorkshop/2012/Schilling
01:45:22 <oerjan> schilling effects
01:47:23 * oerjan realizes ghc is like the borg
01:59:37 <FreeFull> So I am finally doing some networking software
01:59:52 <FreeFull> Going to write an IRC client :D
02:00:40 <FreeFull> Already have it connecting to a host at a port and printing out everything
02:14:06 <coppro> in what language?
02:14:11 <FreeFull> S-Lang
02:14:43 <FreeFull> Prototyping in s-lang and might port to C later
02:30:42 -!- david_werecat has quit (Ping timeout: 264 seconds).
02:35:11 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
02:35:20 <elliott> hmm, Jafet apparently has the second-longest game on NetHack public servers
02:35:26 <elliott> Jafet is also apparently not in this channel any more
02:35:47 <oerjan> COINCIDENCE?
02:35:50 <oerjan> DUN DUN DUN
02:36:03 -!- pikhq has joined.
02:38:52 -!- pikhq_ has quit (Ping timeout: 246 seconds).
02:49:45 <Sgeo> Just because a language only became decent to program in recently doesn't mean it's inherently a bad language as it is, does it?
02:52:16 -!- zzo38 has joined.
03:14:07 <shachaf> 17:20 -!- Jafet [~Jafet@unaffiliated/jafet] has quit [Quit: Leaving.]
03:14:19 <shachaf> For time zone clarification, 20:14 <shachaf> 17:20 -!- Jafet [~Jafet@unaffiliated/jafet] has quit [Quit: Leaving.]
03:17:37 <shachaf> Wow, this channel is full of logreaders.
03:26:16 -!- Phantom_Hoover has joined.
03:27:37 * Sgeo is somewhat confused as to how a Smalltalk... thingy has a git repo
03:28:20 <coppro> shachaf: most of us know how to use ctcp time
03:28:33 <coppro> Sgeo: ... what
03:28:44 <shachaf> coppro: Yes, but that's a hassle.
03:28:45 <Sgeo> https://github.com/jvuletich/Cuis
03:29:28 <shachaf> git-clone should be called git-get
03:30:13 <zzo38> shachaf: Why do you think it is a hassle?
03:32:29 <shachaf> zzo38: Because you have to make the request.
03:37:27 <FreeFull> Less than two hours till Curiosity landing
03:42:03 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
03:46:37 <shachaf> elliott: #haskell: Worst channel or worstest channel?
03:46:50 <oerjan> worcester channel
03:47:25 <oerjan> sorry, *worcestershire
03:48:26 <pikhq> Worcester is an actual place too.
03:48:32 <pikhq> It's a city in Worcestershire.
03:48:40 <oerjan> sauce?
04:12:41 -!- oerjan has quit (Quit: leaving).
04:13:15 -!- augur has joined.
04:14:12 <elliott> `quote oklopol.*indentation
04:14:15 <HackEgo> No output.
04:14:17 <elliott> `quote oklopol.*indent
04:14:21 <HackEgo> No output.
04:14:22 <elliott> wtf
04:14:26 <elliott> `quote oklopol.*dynamic
04:14:31 <HackEgo> No output.
04:14:35 <shachaf> `quoklopol dynamic
04:14:35 <elliott> what did you assholes do
04:14:38 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: quoklopol: not found
04:14:38 <elliott> `pastequotes oklopol
04:14:42 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.23745
04:15:06 <elliott> `pastlog oklopol.*dynam.*indent
04:15:30 <ion> http://mars.jpl.nasa.gov/msl/multimedia/nasatv/
04:15:40 <HackEgo> No output.
04:15:49 <elliott> what the fuck
04:15:55 <elliott> `pastlog oklopol.*indent.*if they
04:16:12 <shachaf> Content-Type: text/plain; charset="ascii"
04:16:16 <shachaf> shachaf@carbon:~$ HEAD http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.23745
04:16:24 <shachaf> 289) <elliott> ais523: quick, say something funny <oklopol> something funny hagrea:D <oklopol> can'tä sopt laughitn
04:16:27 <HackEgo> No output.
04:16:29 <shachaf> LIAR
04:23:33 -!- david_werecat has joined.
04:30:50 <oklopol> someone removed the O(n) indentation thing?
04:31:32 <oklopol> that's just wrong
04:31:42 <elliott> no
04:31:44 <elliott> it's just oklofok
04:31:45 <elliott> not oklopol
04:31:48 <elliott> `quote oklofok.*indent
04:31:52 <oklopol> alrighto
04:31:52 <HackEgo> 69) <oklofok> i use dynamic indentation, i indent lines k times, if they are used O(n^k) times during a run of the program
04:32:08 <oklopol> that's a pretty crappy indentation scheme though :D
04:33:08 <oklopol> (also should be Theta not O)
04:33:18 <oklopol> (that silly oklofok)
04:33:47 <elliott> oklopol: too late, I already quoted you
04:38:16 -!- Jafet has joined.
04:39:16 <oklopol> o noooooo
04:40:51 <shachaf> elliott: Did you know Data.Text was internally nothing like Data.ByteString?
04:43:28 -!- pikhq has quit (Ping timeout: 246 seconds).
04:43:35 -!- pikhq has joined.
04:45:41 <elliott> Yes.
04:45:58 <shachaf> elliott: Did you know they abandoned UTF-8 Text? :-(
04:46:04 <zzo38> A free world needs no leaders.
04:46:10 <elliott> Yes.
04:46:21 <zzo38> shachaf: What UTF-8 Text is this?
04:46:41 <shachaf> jaspervdj's, I think.
04:47:02 <shachaf> elliott: Also, someone should implement the "3 codepoints per 64 bits" Unicode encoding.
04:47:40 <zzo38> shachaf: I think it would be simple enough. Now it is invented but you should give it a name, such as UTF-64.
04:47:53 <elliott> shachaf: What encoding is that?
04:47:54 <shachaf> UTF-63
04:48:03 <shachaf> elliott: A codepoint is 21 bits. 21 * 3 = 63
04:48:12 <zzo38> O, it is UTF-63. Yes that is better.
04:48:16 <elliott> That seems inefficient.
04:48:21 <elliott> To process, I mena.
04:48:22 <elliott> *mean.
04:48:38 <shachaf> Does it?
04:49:54 <elliott> Yes.
04:50:01 <zzo38> Use the "Linux Zeux encoding" (which is for Linux, not Unicode).
04:50:41 <shachaf> elliott: Why?
04:51:29 <elliott> Because sub-byte-thingy-thing.
04:52:35 <shachaf> Is that really significant?
04:52:41 <elliott> I think so.
04:52:52 <shachaf> Compared to branches for UTF-8/16?
04:53:04 <shachaf> Or ~3 times the memory use for UTF-32?
04:55:48 -!- itidus21 has joined.
04:56:24 <elliott> idk
04:56:28 <elliott> why don't you try it
04:56:45 <soundnfury> shachaf: UTF-8 has the colossal advantage that U+0 maps to an ASCII NUL, so Cstring woo!
04:57:07 <soundnfury> also in fact 7-bit ASCII is all untouched
04:57:15 <elliott> That is not a "colossal advantage", since 0 is a valid codepoint.
04:57:23 <elliott> C strings mangle without exceptions.
04:57:28 <elliott> *exception
04:57:32 <soundnfury> elliott: ... for encoding ASCII NUL
04:57:55 <shachaf> You can encode U+0 non-canonically as 11000000 10000000.
04:58:12 <elliott> shachaf: That's specified invalid IIRC.
04:58:12 <soundnfury> that is what codepoint 0 represents. Just like every codepoint under 128 represents its corresponding ASCII character.
04:58:13 <elliott> soundnfury: What?
04:58:20 <elliott> I know what the codepoint U+0000 represents.
04:58:27 <elliott> It does not necessarily terminate a Unicode string.
04:58:31 <shachaf> elliott: WELL, MAYBE YOU'RE JUST EDUCATED STUPID IIRC!!
04:58:47 <soundnfury> elliott: right, but it is sane for it to terminate a Unicode Cstring
04:58:53 <soundnfury> since NUL terminates a normal Cstring
04:59:02 <elliott> Not really, in that that mangles perfectly valid Unicode data.
04:59:13 <soundnfury> no it doesn't
04:59:16 <elliott> Yes, it does.
04:59:18 <shachaf> elliott's point is that C strings = bad.
04:59:24 <elliott> It has no representation for the Unicode string {U+0000 U+0001}.
04:59:29 <monqy> hey
04:59:33 <monqy> is this an argument happening?
04:59:35 <shachaf> hey monqy
04:59:37 <monqy> can i laugh
04:59:37 <elliott> That's a perfectly valid sequence of Unicode codepoints.
04:59:39 <monqy> should i laugh
04:59:41 <shachaf> monqy: laugh
04:59:42 <shachaf> do it
04:59:44 <elliott> monqy: people being wrong about unicode as always!!
04:59:51 <soundnfury> if you're handling data that may contain NULs, whether they're encoded as ASCII or UTF-8 or Shift-JIS for that matter, you don't use plain Cstrings
04:59:56 <soundnfury> OR you escape the NULs
05:00:18 <soundnfury> elliott: sure it is. It's a Unicode string. But it's not a Unicode Cstring that's the POINT
05:00:20 <monqy> heh heh heh heh heh heh heh heh heh heh heh heh heh heh heh heh heh heh hehh ehheh ehheh heh
05:00:21 <elliott> OK, so since Unicode strings can contain the codepoint U+0000, you don't use Cstrings for representing Unicode; I agree.
05:00:23 <monqy> was that good enough
05:00:27 <shachaf> soundnfury: That's why elliott is saying it's not a colossal advantage.
05:00:27 <elliott> monqy: no
05:00:37 <shachaf> The colossal cave advantage.
05:00:45 <soundnfury> gah!
05:00:59 -!- lifthrasiir has quit (Ping timeout: 252 seconds).
05:01:09 <soundnfury> You use Cstrings with UTF-8 for representing Unicode Cstrings
05:01:21 <soundnfury> that is, Unicode strings that are guaranteed not to have embedded NULs
05:01:22 <shachaf> Unicode CString
05:01:25 <shachaf> UCS
05:01:30 <shachaf> Coïncidence?!
05:01:32 <soundnfury> ahahaha
05:01:42 <soundnfury> ooh, nice diaresis
05:02:54 <shachaf> elliott: What's a good way to do integer division rounding up?
05:03:44 <elliott> soundnfury: I don't believe such a Unicode Cstring has any kind of relevant status, beyond it being an implementation effect of a bunch of programs due to their handling UTF-8 data in C badly.
05:04:14 <elliott> I mean, it doesn't really seem like much of a colossal advantage if all you can do with it is process things that aren't actually the Unicode strings that you're meant to be handling as a Unicode-capable(TM) program.
05:04:33 <elliott> (Especially since C strings are more painful to use than something that tracks length anyway.)
05:04:40 <shachaf> Oh, (x-1)`div`y+1
05:05:12 <shachaf> elliott: I think zoundsnflurry meant things like UTF-8 for path names in UNIX.
05:05:51 <elliott> shachaf: That's a bit of an implementation detail, really, caused by mashing a binary-C-string-thingy-path-name system with the desire to support Unicode.
05:05:57 <elliott> (It's also gross.)
05:06:03 <elliott> But OK, it's useful if you're the Linux kernel.
05:06:04 <shachaf> elliott: I agree.
05:06:12 <elliott> I usually try not to be the Linux kernel.
05:06:39 <soundnfury> I would /love/ to be the Linux kernel
05:06:42 <shachaf> elliott: UTF-8 is a nice encoding for a lot of reasons, though, and several of them have to do with working nicely with software that assumes Unicode doesn't exist.
05:06:45 <soundnfury> because there'd be so many copies of me
05:06:55 <soundnfury> I'd be parallelly indestructible
05:07:10 <elliott> shachaf: UTF-8 is okay. For in-memory representation I tend to prefer UTF-32.
05:07:27 <shachaf> elliott: But just think about UTF-63!
05:09:38 -!- lifthrasiir has joined.
05:53:21 <soundnfury> I've implemented a ternary /WE memory cell, but it's huge and ugly
05:53:37 <soundnfury> http://esolangs.org/wiki/User:Soundandfury/Ternary_ECL#.2FWE_Memory_Cell
05:53:48 <soundnfury> can anyone find a way to improve it?
06:11:47 -!- asiekierka has joined.
06:22:35 <zzo38> Sometimes they do use overlong encoding for U+0000 though, since it might be meaningful.
06:27:37 <shachaf> Why do people call it U+0000 and not U+0000000?
06:27:41 <shachaf> Or U+0?
06:28:25 <Jafet> Overlong encoding.
06:42:36 <elliott> Hey, Jafet!
06:42:47 <elliott> Did you know you have the second-longest game of NetHack on NAO?
06:53:20 <Jafet> You mean someone has wasted more time than I have?
06:53:53 <elliott> Apparently.
06:53:57 <elliott> (This is in turns, I think.)
06:58:21 <Jafet> http://alt.org/nethack/userdata/jafet/dumplog/1286454056.nh343.txt
07:00:30 <elliott> That looks boring.
07:00:55 <Jafet> It was
07:00:59 <Jafet> I probably won't do it again
07:02:06 -!- nooga has joined.
07:04:43 <elliott> You and the woodchuck and the woodchuck and the woodchuck and the woodchuck and the woodchuck
07:04:43 <elliott> went to your reward with 712336180 points,
07:04:43 <elliott> good
07:05:09 <Jafet> Me and the blessed rustproof +12 Excalibur
07:05:19 <Jafet> and the woodchuck and the woodchuck and the woodchuck and the woodchuck
07:21:39 -!- zzo38 has quit (Remote host closed the connection).
07:37:40 <soundnfury> Jafet: how on earth did you get it up to +12?
07:37:50 <soundnfury> without it exploding?
07:41:04 <soundnfury> "Vanquished creatures... 255 black puddings". I suspect you killed many more than that ;)
07:41:27 <Jafet> Hint: obtain a +12 arrow
07:41:56 * itidus21 suddenly remembers theres some story about a magic pudding
07:42:50 <itidus21> "The Magic Pudding: Being The Adventures of Bunyip Bluegum and his friends Bill Barnacle and Sam Sawnoff is an Australian children's book written and [...]"
07:43:16 <soundnfury> Jafet: wait... you polyed the arrow into a longsword then dipped? No, that wouldn't work, you're not Lawful
07:43:41 <Jafet> I might have been
07:43:55 <soundnfury> you... used a HoOA to dip?
07:44:15 <Jafet> Well done
07:44:51 <elliott> very good
07:45:11 <soundnfury> so did you get bored at +12 or is that as far as you can get?
07:45:25 <Jafet> I think I accidentally the last pudding
07:45:29 <Jafet> So that was that
07:45:35 <elliott> what's the theoretical max
07:45:36 <elliott> +255?
07:46:00 <fizzie> +127, I think.
07:46:05 <fizzie> At least those things are so often signed.
07:46:15 <fizzie> Could be +(2^31-1) too.
07:46:30 <fizzie> But I vaguely recall something about a byte.
07:47:26 <soundnfury> I think you're right, +127
08:15:24 -!- epicmonkey has joined.
08:23:53 -!- KingOfKarlsruhe has joined.
08:35:49 -!- epicmonkey has quit (Ping timeout: 272 seconds).
08:36:11 -!- azaq23 has joined.
08:36:23 -!- azaq23 has quit (Max SendQ exceeded).
08:37:21 -!- azaq23 has joined.
08:44:10 -!- zzo38 has joined.
08:51:10 -!- mig22 has joined.
09:07:48 -!- mig22 has quit (Quit: mig22).
09:09:54 -!- Taneb has joined.
09:18:43 <Taneb> Hello
09:19:29 -!- KingOfKarlsruhe has quit (Quit: ChatZilla [Firefox 14.0.1/20120713134347]).
09:20:58 <itidus21> spoiler alert
09:21:07 <itidus21> "The original poster stated that they had just accidentally 93MB of .rar files and wanted to know what they should do and if it was dangerous"
09:21:55 <itidus21> "that reminds me of the time i accidently 26KB of pictures, good times"
09:23:57 <itidus21> i want to use that in real life
09:31:58 -!- epicmonkey has joined.
09:52:42 -!- Jafet has quit (Quit: Leaving.).
10:12:05 -!- elliott has quit (Ping timeout: 272 seconds).
10:18:25 -!- Taneb has quit (Ping timeout: 246 seconds).
10:31:22 -!- derdon has joined.
10:38:03 -!- FreeFull has quit (Ping timeout: 272 seconds).
10:38:17 -!- FreeFull has joined.
10:47:30 -!- aloril has quit (Read error: Operation timed out).
10:49:02 -!- ais523 has quit.
10:49:24 <zzo38> Do you have computer program to convert a file to gate ROM if you specify which parts of the file are unimportant?
10:55:18 <shachaf> No.
11:03:07 -!- aloril has joined.
11:09:15 -!- pikhq has quit (Ping timeout: 246 seconds).
11:09:16 -!- pikhq_ has joined.
11:16:33 <zzo38> Do you have any ideas of how to implement such thing?
11:22:56 -!- Taneb has joined.
11:27:01 -!- david_werecat has quit (Ping timeout: 246 seconds).
11:31:35 <Taneb> Hello
11:34:50 <mroman> 'ellow
11:35:33 -!- monqy has quit (Quit: hello).
11:46:47 -!- Phantom_Hoover has joined.
11:52:21 -!- zzo38 has quit (Remote host closed the connection).
11:55:22 -!- Taneb has quit (Ping timeout: 246 seconds).
11:59:34 -!- pikhq_ has quit (Ping timeout: 246 seconds).
12:06:28 -!- boily has joined.
12:20:37 -!- MoALTz has joined.
12:25:26 -!- MoALTz has quit (Client Quit).
12:25:44 -!- MoALTz has joined.
12:27:13 -!- Jafet has joined.
12:27:30 <kallisti> hi
12:28:50 <boily> hi.
12:31:39 -!- Taneb has joined.
12:36:56 -!- pikhq has joined.
13:10:35 <Phantom_Hoover> What was with that notice?
13:16:53 <kallisti> Gregor: because umlbox doesn't allow networking, it's not possible to run the IRC bot within the UML sandbox instead of using the IRC bot to run the sandbox on each command invocation, right?
13:18:10 <kallisti> Phantom_Hoover: freenode staff entered soapbox mode, it would seem.
13:18:18 <Gregor> kallisti: You hardly need networking to run an IRC bot.
13:19:00 <kallisti> sure. but I'm not sure how I would set that up with my perl bot, which I'm pretty sure needs things that resemble network devices.
13:19:32 <Gregor> umlbox has restrictive and partially broken networking support, anyway.
13:22:26 <kallisti> I wonder if I could use unix sockets for this.
13:22:39 <Gregor> Unix sockets don't survive umlbox.
13:23:28 <kallisti> well the umlbox would be running indefinitely in this case.
13:23:36 <kallisti> but I doubt host-to-guest and vice versa would work.
13:24:29 <Gregor> Yeah, that's what's broken.
13:24:35 <Gregor> UML's hostfs doesn't support them.
13:25:07 <Gregor> But like I said, in spite of what you've heard, it DOES have networking support, it's just a bit imperfect because I haven't found the right UML device to represent this stuff yet (I'm using ttys)
13:26:01 <Gregor> Frankly tho, it seems a bit pointless to put a whole IRC bot in umlbox. Why don't you trust ANY component of the bot? That won't help to isolate commands run within the bot from each other anyway.
13:36:35 <Sgeo> Gregor, are Sine and here running different instances of the bot?
13:38:11 <Gregor> Well, yes, in that they're different connections, but they share the filesystem.
13:38:20 <Sgeo> Oh
13:38:27 <Sgeo> `ls bin
13:38:38 <HackEgo> ​? \ @ \ No \ WELCOME \ WeLcOmE \ addquote \ allquotes \ anonlog \ calc \ define \ delquote \ etymology \ forget \ fortune \ frink \ google \ hatesgeo \ joustreport \ jousturl \ json \ k \ karma \ karma+ \ karma- \ learn \ log \ logurl \ macro \ maketext \ marco \ paste \ pastefortunes \ pastekarma \ pastelog \ pastelogs \ pastenquotes \ pastequotes \ pastewisdom \ pastlog \ ping \ prefixes \ qc \ quachaf \ quoerjan
13:38:51 <Sgeo> I don't see it
13:38:57 <Sgeo> Different home folders?
13:38:59 <Sgeo> `run pwd
13:39:02 <HackEgo> ​/hackenv
13:39:09 <Sgeo> `ls /
13:39:12 <HackEgo> bin \ dev \ etc \ hackenv \ home \ lib \ lib64 \ opt \ proc \ sbin \ sys \ tmp \ usr \ var
13:39:22 <Sgeo> I'll take that as a no
13:40:19 <Sgeo> Hmm, maybe just cut off from being too long
13:40:33 <Sgeo> `run echo "puts {hello #esoteric}" | tclkitsh
13:40:36 <HackEgo> bash: tclkitsh: command not found
13:43:12 <Sgeo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.5942
13:43:22 <Sgeo> `run echo "puts {hello #esoteric}" | tclkit
13:43:25 <HackEgo> hello #esoteric
13:44:15 <Sgeo> `run echo "puts [info tclversion]" | tclkit
13:44:18 <HackEgo> 8.5
13:44:26 <Sgeo> `run echo "puts [info patchlevel]" | tclkit
13:44:29 <HackEgo> 8.5.1
13:46:18 <Sgeo> I don't know enough shell scripting to not encounter quoting hell while playing with tclkit like this
13:47:56 <Sgeo> `tclkit puts "Hello"
13:47:59 <HackEgo> couldn't read file "puts "Hello"": no such file or directory.
13:48:04 <Sgeo> :(
13:57:07 -!- Taneb has quit (Ping timeout: 240 seconds).
14:05:04 <FreeFull> Obviously .7z
14:05:10 <FreeFull> Oops, scrolled up
14:05:34 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
14:14:54 -!- mig22 has joined.
14:16:06 <FreeFull> Sgeo: Maybe they're in different chroots
14:16:41 <FreeFull> `ls /home/
14:16:43 <HackEgo> hackbot
14:16:44 <Sgeo> Well, I fetched and tested tclkit first on the other bot, so no.
14:17:44 <FreeFull> `run mkdir pie
14:17:47 <HackEgo> No output.
14:18:10 <FreeFull> `run echo "Pie pie pie!" > pie/pie
14:18:14 <HackEgo> bash: pie/pie: No such file or directory
14:19:01 -!- pikhq has quit (Ping timeout: 246 seconds).
14:19:19 -!- pikhq has joined.
14:20:44 -!- MoALTz has quit (Quit: brb).
14:20:45 -!- mig22 has quit (Read error: Connection reset by peer).
14:21:04 -!- mig22 has joined.
14:25:15 -!- mig22 has quit (Client Quit).
14:27:08 -!- MoALTz has joined.
14:31:50 -!- aloril has quit (Ping timeout: 250 seconds).
14:33:19 -!- copumpkin has joined.
14:33:55 -!- Taneb has joined.
14:34:14 <Taneb> Hello
14:44:27 <kmc> there seems to be a rule that all metro stations in budapest have 4 guys standing around watching the ticket validation machines
14:44:29 <kmc> they must have a good union
14:44:40 -!- aloril has joined.
14:44:57 <kmc> hi Taneb
14:53:08 -!- copumpkin has quit (*.net *.split).
14:53:08 -!- Jafet has quit (*.net *.split).
14:53:08 -!- epicmonkey has quit (*.net *.split).
14:53:09 -!- atehwa has quit (*.net *.split).
14:53:09 -!- HackEgo has quit (*.net *.split).
14:53:09 -!- EgoBot has quit (*.net *.split).
14:53:09 -!- SimonRC has quit (*.net *.split).
14:53:09 -!- ssue has quit (*.net *.split).
14:53:10 -!- shachaf has quit (*.net *.split).
14:53:10 -!- comex has quit (*.net *.split).
14:53:47 -!- copumpkin has joined.
14:54:42 <Taneb> :)
14:54:55 <soundnfury> splittastic :)
14:55:31 <Taneb> EgoBot, come back!
14:55:33 <soundnfury> freenode (Irc Hum Mal Cha), 225613 points, killed by a netsplit
14:55:35 <Taneb> All you other guys, too
14:55:46 -!- Jafet has joined.
14:55:46 -!- epicmonkey has joined.
14:55:46 -!- atehwa has joined.
14:55:46 -!- HackEgo has joined.
14:55:46 -!- EgoBot has joined.
14:55:46 -!- SimonRC has joined.
14:55:46 -!- ssue has joined.
14:55:46 -!- shachaf has joined.
14:55:46 -!- comex has joined.
14:56:05 <Taneb> A roguelike where IRC server was a playable race...
14:56:32 <soundnfury> It'd be programmed in IRP, of course
14:56:55 <Taneb> Or, slightly more seriously, the mIRC macro language
14:57:35 <soundnfury> Yegods mIRC
14:57:38 <soundnfury> DO NOT WANT
14:58:05 * soundnfury hates Khaled Mardem-Bey with a passion
15:06:34 <Taneb> I keep reading Mars as Mad
15:07:01 <Taneb> As in "Mad Science Laboratory Curiosity has landed safely"
15:10:09 -!- aloril has quit (Ping timeout: 244 seconds).
15:15:40 <Sgeo> I want a language with the functionalness and type safety of Haskell, the flexibility and run-time environment of Common Lisp, and the large ecosystem of Perl
15:16:28 <Taneb> And I want some chocolate
15:16:34 <Taneb> And the weather to hold of tomorrow
15:16:37 -!- azaq23 has quit (Ping timeout: 246 seconds).
15:17:03 -!- TodPunk has joined.
15:18:54 -!- azaq23 has joined.
15:19:01 -!- azaq23 has quit (Max SendQ exceeded).
15:19:46 -!- azaq23 has joined.
15:27:12 -!- aloril has joined.
15:28:24 <FreeFull> Sgeo: The third will be the hardest to find
15:34:33 -!- copumpkin has changed nick to MagicalDwolla.
15:34:55 -!- MagicalDwolla has changed nick to copumpkin.
15:40:32 <Sgeo> Is Strongtalk still dead?
15:40:33 <Sgeo> :(
15:41:42 <Sgeo> I don't think I'll ever quite get over the lack of multiple-dispatch
15:57:00 -!- Taneb has quit (Quit: Leaving).
16:17:57 -!- zzo38 has joined.
16:18:02 <quintopia> hi
16:23:37 -!- epicmonkey has quit (Ping timeout: 240 seconds).
16:25:49 -!- oonbotti has joined.
16:29:02 -!- Vorpal has joined.
16:55:06 -!- monqy has joined.
16:57:35 -!- oonbotti has quit (Ping timeout: 246 seconds).
17:04:25 <zzo38> Do you like this? He's Jim, Dad.-McCoy introduces Kirk to his family.
17:09:46 <Phantom_Hoover> Solid base, delivery needs some work.
17:10:03 <Phantom_Hoover> Introduce the context first, so the punchline is more prominent.
17:10:37 <zzo38> I didn't write it. It is is part of a word guessing game in X-BIT.
17:11:50 <zzo38> But, OK, if you want to move it around, try like this: McCoy introduces Kirk to his family: "He's Jim, Dad."
17:16:28 -!- david_werecat has joined.
17:21:28 <quintopia> hi david_werecat
17:21:47 -!- oonbotti has joined.
17:31:15 -!- epicmonkey has joined.
17:35:42 -!- Taneb has joined.
17:35:44 <Taneb> Hello!
17:35:58 <[]{}\|-_`^> hi
17:36:09 <Taneb> I've just given blood for the first time
17:36:10 <Taneb> :)
17:36:35 <[]{}\|-_`^> http://motherboard.vice.com/2012/8/6/nasa-s-mars-rover-crashed-into-a-dmca-takedown
17:36:47 <Sgeo> Why do new electronics still offer WEP?
17:52:17 <zzo38> What? DMCA takecount? How is it related to that?
17:58:18 <Taneb> Sgeo, legacy reasons?
17:59:11 -!- Eladith has joined.
17:59:19 -!- pikhq_ has joined.
17:59:24 -!- pikhq has quit (Ping timeout: 246 seconds).
18:03:13 <Sgeo> It seems almost too easy to fake Clojure-style multimethods in Tcl
18:03:43 -!- aloril has quit (Ping timeout: 250 seconds).
18:04:21 <Sgeo> Full predicate dispatch is probably better, but I don't even know what that looks like
18:10:41 -!- augur has quit (Remote host closed the connection).
18:17:11 -!- aloril has joined.
18:18:21 * Sgeo wonders if anyone uses Prolog for general programming
18:19:00 <[]{}\|-_`^> I once tried
18:19:19 <[]{}\|-_`^> I think I still have some programs in my old backups
18:19:50 <quintopia> people use datalog for production knowledge systems
18:20:20 <Taneb> The number of conventional programming languages I've attempted to use seriously is...
18:20:27 <Taneb> 7
18:20:44 <[]{}\|-_`^> which ones?
18:21:30 <Taneb> In chronological order?
18:21:53 -!- ogrom has joined.
18:22:02 <Taneb> Visual Basic 2005, C++, Python 3, JavaScript, PHP, Haskell, C
18:22:37 <Taneb> Pre-ANSI C
18:22:51 <[]{}\|-_`^> pre-ANSI?
18:22:53 <[]{}\|-_`^> when?
18:23:07 <Taneb> The textbook was published 1978, I think
18:23:27 <[]{}\|-_`^> oh. so K&R?
18:23:40 <Taneb> I think so
18:24:26 <[]{}\|-_`^> K&R C is still pretty nice
18:29:26 -!- elliott has joined.
18:29:42 <Taneb> It didn't tell me I needed to <include stdio.h> to use printf
18:30:01 <elliott> that's not valid syntax
18:30:09 <elliott> ps if it didn't, then whatever tutorial you are reading is incredibly bad
18:30:13 <[]{}\|-_`^> lets see. I have attempted to use 5 (C90, QuickBasic 4.5, Python 2, Scheme, K&R C)
18:30:15 <elliott> stop reading it or you'll fill yourself with misconceptions
18:30:34 <[]{}\|-_`^> Taneb: it is #include <stdio.h>
18:30:48 <Taneb> Okay, that was the fault of my memory
18:30:56 -!- FreeFull_ has joined.
18:31:09 <Sgeo> WHY am I looking at Prolog as a general programming language right now?
18:32:14 <Taneb> elliott, but it's the textbook of my ancestors!
18:32:24 <elliott> Taneb: it's also shit
18:32:28 <elliott> and probably incredibly outdated
18:32:31 <[]{}\|-_`^> Sgeo: well it is interesting programming language
18:36:05 <Taneb> elliott, but the fourth edition of it is recommended by the website that is recommended by the nice people in ##c!
18:37:21 <oklopol> k i can now consistently go over the first hill, but i have no idea how to tackle the seconed one
18:37:22 <oklopol> second
18:37:29 <oklopol> (clop)
18:37:40 <elliott> Taneb: then get the fourth edition
18:37:45 <Vorpal> Taneb, and which edition do you have?
18:37:47 <elliott> p.s. "nice people" in ##c?
18:37:48 <elliott> ahahahahahahahaha
18:37:52 <pikhq_> Taneb: K&R C is dramatically different from ISO C.
18:37:52 <Taneb> Vorpal, I think it's the first
18:37:54 <elliott> ##c is one of the most toxic channels on the planet
18:37:58 <Vorpal> Taneb, which book is it?
18:37:59 <Taneb> elliott, that involves spending money
18:38:01 <elliott> but yeah i suspect Taneb's book is for K&R C
18:38:05 <Taneb> Vorpal, A Book on C
18:38:09 <elliott> in which case don't read it it will not work, you will melt your mind,
18:38:16 <Vorpal> Taneb, that is the title?
18:38:18 <Taneb> Yes
18:38:22 <elliott> but I distinctly recall already trying to convince Taneb it would be a horrible idea to read this book and he ignored me
18:38:26 <Vorpal> Taneb, never heard of it
18:38:27 <Taneb> Yeah
18:38:27 <quintopia> oklopol: impressive. i can only get halfway up the steps.
18:38:29 <elliott> so maybe I will just not bother
18:38:38 <elliott> and not answer his questions when he inevitably asks them because it's a bad or outdated book
18:38:39 <Taneb> I dunno, I haven't read it in a while
18:38:43 <pikhq_> Taneb: This is a bit like reading a book on the immediate *ancestor* to Haskell to learn Haskell.
18:38:51 <pikhq_> s/the/an/
18:38:56 <Vorpal> elliott, he could read it once he already know modern C well, to find out the history of C
18:38:57 <Taneb> pikhq_, hmm
18:39:01 <Vorpal> but yeah don't start with it
18:39:13 -!- FreeFull has quit (Remote host closed the connection).
18:39:21 <pikhq_> Like, I don't think it is possible to write valid C99 that's also K&R C.
18:39:25 <Vorpal> Taneb, I can only think of ML
18:39:41 <Taneb> Miranda!
18:39:44 <oklopol> quintopia: the first steps?
18:39:44 <pikhq_> Oh, wait, it's possible, except it is necessarily trivial.
18:39:53 <pikhq_> int main(){return 0;}
18:40:01 <Vorpal> pikhq_, no printf?
18:40:06 <Vorpal> or anything
18:40:06 <oklopol> i can run pretty neatly so i get rather fast to the second hill
18:40:07 <oklopol> usually
18:40:14 <[]{}\|-_`^> pikhq_: main() {}
18:40:21 <pikhq_> []{}\|-_`^: Not valid C99.
18:40:25 <Vorpal> []{}\|-_`^, not valid K&R?
18:40:26 <Vorpal> pikhq_, sure it is
18:40:32 <quintopia> oklopol: i'm fun with running, but the running doesnt work on the hill
18:40:32 <Vorpal> pikhq_, for mainI()
18:40:35 <Vorpal> main*
18:40:42 <Vorpal> well you need int
18:40:46 <oklopol> the first one?
18:40:51 <Vorpal> but you can skip the return from main in C99
18:40:51 <quintopia> i can get up the first little slope and then i fall over backwards
18:40:53 <[]{}\|-_`^> Vorpal: it is int by default
18:40:58 <Vorpal> []{}\|-_`^, not in C99 iirc
18:41:18 <pikhq_> Vorpal: No, calling a variadic function without importing stdio.h in C99 is UB, and I don't *think* they had stdio.h in early K&R.
18:41:23 <oklopol> you can run up the first one, but often i have to use the hkhkhkhkhk cheat, just don't lame the horse or i hear the second hill can't be done.
18:41:29 <Vorpal> pikhq_, hm okay
18:41:29 <oklopol> i assume you have to run up it
18:41:31 <[]{}\|-_`^> Vorpal: well in K&R it is
18:41:39 <pikhq_> (due to essentially everything in it not needing a declaration for K&R C)
18:41:42 <Vorpal> []{}\|-_`^, the thing was it needed to be both valid C99 and K&R
18:41:44 <oklopol> i have gotten pretty far up
18:41:52 <Vorpal> []{}\|-_`^, otherwise it is of no interest to the conversation
18:42:06 <quintopia> what does "lame the horse" mean?
18:42:32 <Vorpal> quintopia, cruelty to animals?
18:42:38 <FreeFull_> pikhq_: What about puts?
18:42:43 <Vorpal> quintopia, or there is a horse called "Lame"
18:42:46 <oklopol> quintopia: press hkhkhkhkhk for some time
18:42:54 <oklopol> r to restart
18:42:55 <Vorpal> oh that game
18:42:56 <Vorpal> right
18:42:59 <quintopia> also my keyboards only seem to be 2-key rollover, so i get aliased if i try to do complicated stuff
18:42:59 <FreeFull_> Oh wait, puts is in stdio.h too
18:43:05 -!- FreeFull_ has changed nick to FreeFull.
18:43:22 <Vorpal> FreeFull, that is the point of "stdio.h"
18:43:50 <Vorpal> if you are doing IO without using POSIX or win32 or whatever you use stdio.h
18:44:20 <Vorpal> pikhq_, you could write a more complex program as long as you passed all arguments in global variables I think
18:44:37 <Vorpal> no recursion thus of course
18:45:17 <quintopia> oklopol: my guess is it stretches the back legs so far back that they break, but i can't test it right now
18:45:19 <pikhq_> FreeFull: Hmm. I *think* the implicit declaration would comply there.
18:45:53 <Vorpal> pikhq_, isn't puts a macro
18:45:57 <Vorpal> pretty sure it is
18:46:08 <elliott> no
18:46:10 <pikhq_> No, it's int puts(const char *s);
18:46:10 <Vorpal> "putc() is equivalent to fputc() except that it may be implemented as a macro which evaluates stream more than once."
18:46:11 <Vorpal> yes
18:46:14 <Sgeo> pikhq_,
18:46:15 <elliott> putc is not puts
18:46:18 <Vorpal> according to my man page
18:46:18 <elliott> are you blind
18:46:19 <pikhq_> Vorpal: *s*
18:46:26 <Sgeo> `run "puts {hello world}" | tclkit
18:46:28 <HackEgo> bash: puts {hello world}: command not found
18:46:30 <Vorpal> oh right
18:46:31 <Vorpal> misread
18:46:34 <Sgeo> `run ech "puts {hello world}" | tclkit
18:46:37 <HackEgo> bash: ech: command not found
18:46:38 <Sgeo> `run echo "puts {hello world}" | tclkit
18:46:45 <HackEgo> hello world
18:46:51 <oklopol> quintopia: something like that, you can't use them after that, or i don't know how to get them to work again.
18:47:10 <Vorpal> extern int fputs (__const char *__restrict __s, FILE *__restrict __stream);
18:47:15 <Vorpal> why do those have restrict
18:47:29 <Vorpal> isn't it only unsigned char* that can alias everything?
18:47:33 <Vorpal> rather than signed char
18:48:45 <Vorpal> extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos);
18:48:49 <Vorpal> that is just silly
18:48:55 <Vorpal> those can't ever alias each other
18:49:56 <pikhq_> Vorpal: It's char in particular.
18:50:01 <Vorpal> hm
18:50:07 <pikhq_> Vorpal: char* aliases everything potentially.
18:50:09 <Vorpal> okay the second example is silly still
18:50:17 <Vorpal> neither of those are char*
18:50:36 <pikhq_> fpos_t could be in particularly silly systems, as could FILE.
18:51:11 <Vorpal> pikhq_, well, it is a glibc header. I can't see how it could be on glibc
18:53:36 <pikhq_> FILE *restrict is technically different from FILE *
18:53:55 <pikhq_> Oh, derp. C99 doesn't make them restrict pointers.
18:54:16 <Deewiant> POSIX seems to.
18:54:17 <pikhq_> No, wait, yes it does.
18:54:34 <pikhq_> Vorpal: It's restrict because C requires it to be.
18:54:56 <Vorpal> hm okay
18:57:03 <Vorpal> <pikhq_> FILE *restrict is technically different from FILE * <-- really I thought they were just annotations for the compiler?
18:57:15 <pikhq_> They're still technically different types.
18:57:20 <Vorpal> advisory info for the compiler as it were
18:57:22 <Vorpal> hm okay
19:00:21 <Vorpal> # ifdef __REDIRECT
19:00:22 <Vorpal> extern int __REDIRECT (fgetpos, (FILE *__restrict __stream,
19:00:22 <Vorpal> fpos_t *__restrict __pos), fgetpos64);
19:00:24 <Vorpal> that is strange
19:00:39 <Vorpal> for large file IO on 32-bit systems?
19:01:05 <Vorpal> yeah seems so
19:01:08 <pikhq_> It's the result of complying with some terribly bad ideas in the past.
19:01:42 <Vorpal> pikhq_, well the question is why __REDIRECT rather than doing the thing it does when __REDIRECT is not defined:
19:01:45 <Vorpal> # define fgetpos fgetpos64
19:01:52 <Vorpal> that seems so much cleaner
19:01:57 <Vorpal> why that __REDIRECT nonsense
19:02:22 <pikhq_> Basically fpos_t was 32-bit and no UNIX vendor wanted to break ABI, so instead they added the *64 functions (violating namespace), and then added a preprocessor define so you could have the standard point to the *64 functions...
19:02:35 <Vorpal> right
19:02:36 <pikhq_> Now making it so that off_t isn't the same type in all programs.
19:02:41 <Vorpal> indeed
19:02:42 <pikhq_> i.e. you have two ABIs.
19:02:59 <pikhq_> Except they will randomly link to each other.
19:03:03 <Vorpal> pikhq_, still, what is __REDIRECT possibly defined to I wonder
19:03:10 <pikhq_> If off_t was used more often, this would Break.
19:03:25 <pikhq_> (the correct answer, of course, is *just break ABI once* and have 64-bit off_t)
19:03:31 <pikhq_> Vorpal: Beats me.
19:03:42 <Vorpal> not in /usr/include/bits
19:03:53 <Vorpal> there are some usage of __REDIRECT_NTH and such there though
19:03:54 <pikhq_> I don't try to follow glibc headers.
19:04:08 <Sgeo> Is Prolog better for general purpose stuff than Erlang?
19:04:12 <Vorpal> time for full /usr/include search (this is going to take ages)
19:04:33 <pikhq_> http://git.etalabs.net/cgi-bin/gitweb.cgi?p=musl;a=blob;f=include/stdio.h;h=3d22220f2e7b0a675d0abad4c22872ab7c352279;hb=HEAD This is what stdio.h should look like.
19:05:34 <Vorpal> ah in /usr/include/sys/cdefs.h
19:05:56 <Vorpal> __asm__ ("xyz") is used throughout the headers to rename functions
19:05:56 <Vorpal> at the assembly language level. This is wrapped by the __REDIRECT
19:05:56 <Vorpal> macro,
19:05:59 <Vorpal> [...]
19:06:04 <Vorpal> there it is ^
19:06:11 <Vorpal> # define __REDIRECT(name, proto, alias) name proto __asm__ (__ASMNAME (#alias))
19:06:39 <Vorpal> pikhq_, that is missing a lot of the restrict that C99 requires
19:07:01 <pikhq_> Vorpal: Minor issue.
19:07:07 <pikhq_> But, yes.
19:07:08 <Vorpal> pikhq_, still an issue
19:07:34 <Vorpal> pikhq_, also making do format checks on printf() is nice :P
19:07:41 <Vorpal> I do like those useful __attribute__s
19:08:28 <Vorpal> it might do it automatically on printf though
19:08:35 <pikhq_> It does.
19:09:05 <Vorpal> pikhq_, glibc puts __attribute__ ((__format__ (__printf__, 3, 4))) on snprintf, but not the basic pre-C99 printf style routines
19:10:11 <zzo38> Can you make any .NSF music using all 28 channels?
19:22:41 -!- oerjan has joined.
19:26:01 -!- ogrom has quit (Quit: Left).
19:28:21 -!- zzo38 has quit (Remote host closed the connection).
19:28:37 <oerjan> <shachaf> Oh, (x-1)`div`y+1
19:28:58 <oerjan> does that really work in all corner cases?
19:30:11 <oerjan> oh right it should
19:30:59 <Deewiant> @check \x y -> (x-1)`div`y+1 == ceiling (fromIntegral x / fromIntegral y)
19:31:00 <lambdabot> "Falsifiable, after 0 tests:\n1\n-1\n"
19:31:27 <oerjan> i guess negative numbers are not indented
19:31:42 <Deewiant> Lame
19:31:54 -!- Taneb has quit (Ping timeout: 264 seconds).
19:32:14 <oerjan> @check \x y -> x < 0 || y <= 0 | (x-1)`div`y+1 == ceiling (fromIntegral x / fromIntegral y)
19:32:14 <lambdabot> Parse error at "|" (column 25)
19:32:19 <oerjan> oops
19:32:25 <oerjan> @check \x y -> x < 0 || y <= 0 || (x-1)`div`y+1 == ceiling (fromIntegral x / fromIntegral y)
19:32:26 <lambdabot> "OK, passed 500 tests."
19:32:45 <oerjan> @check \x y -> x < 0 || y <= 0 || (x-1)`div`y+1 == -(-x)`div`y
19:32:47 <lambdabot> "OK, passed 500 tests."
19:33:05 <oerjan> shachaf: ^
19:33:10 <Vorpal> oerjan, that doesn't mean it is true
19:33:16 <Vorpal> just that it passed 500 tests
19:33:19 <oerjan> duh
19:33:25 <Vorpal> it could fail in yet another case
19:33:33 <oerjan> but i already convinced myself it is true, anyway.
19:33:42 <Vorpal> right
19:34:33 <oerjan> @check \x y -> y <= 0 || (x-1)`div`y+1 == -(-x)`div`y
19:34:34 <lambdabot> "OK, passed 500 tests."
19:34:50 <oerjan> @check \x y -> y <= 0 || (x-1)`div`y+1 == ceiling (fromIntegral x / fromIntegral y)
19:34:52 <lambdabot> "OK, passed 500 tests."
19:35:01 <oerjan> only y needs to be positive
19:41:13 <Sgeo> Ugh why is GUI stuff in Prolog so ugly
19:42:55 <kallisti> s/GUI //
19:43:29 <oerjan> No.
19:44:15 <Deewiant> @check \x y -> y == 0 || (x`quot`y + fromEnum (x`rem`y /= 0 && (x>0) == (y>0))) == ceiling (fromIntegral x / fromIntegral y)
19:44:16 <lambdabot> "OK, passed 500 tests."
19:45:42 <oerjan> 15:06:34: <Taneb> I keep reading Mars as Mad
19:45:43 <oerjan> 15:07:01: <Taneb> As in "Mad Science Laboratory Curiosity has landed safely"
19:45:56 <oerjan> well he _is_ the evil overlord of bad kerning.
19:46:14 <oerjan> possibly *future
19:46:33 <Sgeo> 7 ?- father(X) = X.
19:46:33 <Sgeo> X = father(X).
19:47:03 -!- augur has joined.
19:49:57 -!- asiekierka has quit (Remote host closed the connection).
19:53:50 -!- Taneb has joined.
19:54:05 <Taneb> Hello
19:58:24 <Sgeo> Hi
19:58:28 <Phantom_Hoover> So Sgeo spent... what, less than a week on tcl?
19:58:49 <Sgeo> `pastequotes Sgeo.*tcl
19:58:53 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.22571
19:58:54 <Sgeo> I think over a month
19:59:10 <Sgeo> `pastequotes Sgeo*tcl
19:59:13 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.26878
19:59:21 <Phantom_Hoover> You really need to get over your fear of linguistic commitment.
20:00:31 <oerjan> 15:06:34: <Taneb> I keep reading Mars as Mad
20:00:34 <oerjan> 15:07:01: <Taneb> As in "Mad Science Laboratory Curiosity has landed safely"
20:00:42 <oerjan> well he _is_ the evil overlord of bad kerning.
20:01:06 -!- MoALTz has quit (Quit: Leaving).
20:01:14 <Taneb> :)
20:08:30 -!- epicmonkey has quit (Ping timeout: 264 seconds).
20:17:03 <shachaf> oerjan: OK, I guess that works too.
20:17:37 <shachaf> oerjan: Doesn't work with quot, though!
20:19:39 <oerjan> indeed. i'm not sure i would recommend Deewiant's variant.
20:20:41 <elliott> Sgeo: but i thought you were a "Tcl person" now
20:21:08 <Sgeo> Just because I'm looking at Prolog right now doesn't mean I've given up on Tcl yet.
20:21:40 <Sgeo> On the other hand, in theory I'm _still_ planning on doing some Clojure Koans thing.
20:21:45 <elliott> it does tho
20:22:31 <oerjan> what is the sound of one cons cell clapping?
20:23:01 <Sgeo> This (Prolog) feels too much like learning Haskell again.
20:23:31 <Sgeo> Well, no... just the re-treading of stuff like Peano numbers etc
20:24:08 <oerjan> can someone tell me what is happening here (and what is a crescent roll) http://www.sheldoncomics.com/archive/120806.html
20:24:27 <Phantom_Hoover> Possibly because they're both declarative?
20:27:36 -!- Vorpal has quit (Ping timeout: 276 seconds).
20:28:00 <oerjan> that is obviously some kind of common american experience depictured of which i have no clue.
20:28:49 <Sgeo> "But Prolog is not , repeat not , a full logic programming language."
20:28:53 <Sgeo> What languages are?
20:31:23 <Phantom_Hoover> Man, in 2006 multi-core CPUs were a rarity in consumer devices?
20:32:01 <Phantom_Hoover> Wait that can't be right, I'm pretty sure my old family laptop had 2 cores.
20:32:58 <Phantom_Hoover> Oh wait it had a Core 2 Duo and they were mostly released in 2007.
20:33:32 * oerjan waves from his single-core laptop bought in 2006
20:34:19 * []{}\|-_`^ waves from his single-core laptop bought in 2012
20:34:31 <oerjan> fancy
20:34:31 <Taneb> oerjan, a crescent roll is a croissant in a tin
20:34:41 <Phantom_Hoover> 'Bought' does not generally extend to 'found in dumpster', nortti.
20:35:12 <oerjan> Taneb: ok, but ... wtf is happening there
20:35:22 <Taneb> I dunno
20:35:30 <Taneb> Maybe the tins are hard to open
20:36:13 <oerjan> crescent rolls of DOOM
20:45:11 <Sgeo> I was not expecting ?- member(blah,X). to work in a sensible way. It did.
20:46:03 <[]{}\|-_`^> Phantom_Hoover: why are you addressimg me with my old nick?
20:46:17 <Phantom_Hoover> Aesthetics.
20:46:27 <Phantom_Hoover> Sgeo, huh?
20:46:40 <Phantom_Hoover> Is member a built-in predicate, I forget.
20:46:45 <Sgeo> Yes
20:46:58 <Sgeo> But the tutorial I'm reading gives a two whatever definition
20:47:39 <Phantom_Hoover> Also is it member(element, list)?
20:47:53 <Sgeo> Yes
20:48:23 <oerjan> Sgeo: member(X, [X | Y]). member(X, [Y | Z]) :- member(X, Z). ?
20:48:52 <Sgeo> oerjan, not using those variable names, but yes
20:49:37 <Phantom_Hoover> Yeah that's where I actually found Prolog interesting.
21:00:45 <shachaf> []{}\|-_`^: You should really get a more alphanumeric link. :-(
21:00:52 <shachaf> No matter how much fun bugging #plan9 is.
21:01:04 <[]{}\|-_`^> why?
21:01:15 -!- boily has quit (Quit: WeeChat 0.3.8).
21:01:59 <[]{}\|-_`^> shachaf: by the way I have hilight for nortti
21:07:40 -!- []{}\|-_`^ has changed nick to nortti.
21:09:48 * Sgeo sads at no reverse arithmatic
21:11:58 <oerjan> i thought there were some reverse arithmetic predicates, although the general expression evaluating one isn't iirc
21:12:40 <Sgeo> Oh, ok
21:12:55 <Sgeo> Am only up to is/2
21:13:26 <oerjan> yeah that's the general one
21:13:27 <nortti> is/2?
21:13:42 <nortti> does it have something to do with os/2?
21:13:55 <oerjan> no. it's a predicate with 2 arguments.
21:14:03 <nortti> oh
21:14:18 <oerjan> iirc X is 2+2 will make X = 4, etc.
21:14:25 <Sgeo> Yes
21:14:26 <Sgeo> .
21:21:19 -!- nooga has quit (Ping timeout: 246 seconds).
21:39:29 <Sgeo> Actually, I guess it makes sense you can't do 4 is X+2.
21:39:37 -!- Taneb has quit (Ping timeout: 240 seconds).
21:39:51 <Sgeo> Is X = 2? Is X = 1 + 1?
21:40:08 <Sgeo> If things like + were predicates directly it would make more sense
21:45:32 -!- augur has quit (Remote host closed the connection).
21:57:28 * Sgeo vaguely wonders why Mozart/Oz was abandoned
21:58:19 <Sgeo> Ok, so AliceML is also dead.
22:03:07 <fizzie> oerjan: Why are you in a laptop?
22:04:45 <oerjan> a most intriguing question. thank you for asking that question.
22:04:47 <oerjan> ->
22:04:54 <fizzie> SWI-Prolog manual at least does have a plus/3. That's plus(?Int1, ?Int2, ?Int3), it's true if Int3 = Int1 + Int2, and at least two of the three arguments must be instantiated integers.
22:05:53 <fizzie> "[plus and others in the same list] are not covered by the ISO standard, although they are `part of the community' and found as either library or built-in in many other Prolog systems."
22:06:55 -!- zzo38 has joined.
22:08:09 <zzo38> Do you like a magic ring in Dungeons&Dragons game having effect as follows: Any wearer of this ring is allowed to change its color to whatever you want it to be. You can also change it for five minutes after you remove the ring, regardless of where it is.
22:09:52 <Phantom_Hoover> Magic ring which allows the wearer to unmagic the ring at any time.
22:10:27 <Phantom_Hoover> Although isn't that the kind of thing that people tend to actually find a use for?
22:10:49 <zzo38> Yes if there is a use for it then that is good.
22:11:26 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
22:11:53 <Phantom_Hoover> It'd be a bit of a stretch to turn the colour changing ring into a gamebreaker, though.
22:12:24 <zzo38> Well, yes; it can have use even though not gamebreaker
22:12:29 <oerjan> fizzie: ah.
22:12:34 <Phantom_Hoover> Or indeed any great use.
22:14:05 <Phantom_Hoover> Oh man, I just realised the principle behind the peasant railgun.
22:14:37 <zzo38> I certainly would disallow the peasant railgun
22:14:41 <Phantom_Hoover> I always thought it relied on convincing the DM that the peasants accelerate the projectile each time they pass it forward, but it's way neater than that.
22:14:45 <Phantom_Hoover> zzo38, why would you do that???
22:15:29 <zzo38> Since it cannot work (even if the rules otherwise allow it).
22:17:17 -!- nooga has joined.
22:19:28 <coppro> why is vim so great
22:19:34 <coppro> I keep discovering new cool things about it
22:19:37 <Phantom_Hoover> It's magic, duh.
22:19:43 <coppro> like g/<<<<<</.,/======/d
22:19:57 <zzo38> I almost played Dungeons&Dragons game today but not quite.
22:20:57 <FreeFull> Phantom_Hoover: How does the peasant railgun work?
22:20:58 <zzo38> You can read the last session I have played if wanted to.
22:21:29 <FreeFull> coppro: That was inherited from ed
22:22:02 <Phantom_Hoover> FreeFull, you get a really, really long line of peasants (a couple of miles, say), then give the peasant at one end a slug and tell him to pass it to the next peasant.
22:22:09 <nortti> coppro: what does that do?
22:22:16 <FreeFull> vi and vim basically have ed embedded in them
22:22:26 <nortti> well ex
22:22:28 <FreeFull> Phantom_Hoover: And then?
22:22:43 <nortti> ed is much lighter and better than ex
22:22:49 <Phantom_Hoover> You tell the rest of the peasants to pick it up and pass it on to the next; with some... dubious interpretation of the rules, they can do this in one combat turn which lasts 6 seconds.
22:23:12 <fizzie> FreeFull: You could just read http://1d4chan.org/wiki/Peasant_Railgun for details.
22:23:16 <FreeFull> Wow
22:23:26 <Phantom_Hoover> fizzie, shut up, explaining it is fun!
22:23:42 <Phantom_Hoover> FreeFull, as the slug has now travelled 2 miles in 6 seconds, it is now travelling at...
22:23:54 <Phantom_Hoover> > 3400 / 6
22:23:56 <lambdabot> 566.6666666666666
22:24:05 <Phantom_Hoover> Metres per second.
22:24:22 <Phantom_Hoover> i.e. over Mach 1.5.
22:24:32 <zzo38> That is still not even close to the speed of light, though.
22:24:50 <Phantom_Hoover> It is, however, rather fast for a medieval setting.
22:25:27 <zzo38> Yes. Well, it is fast for moving things by hand regardless of a setting.
22:27:48 -!- olsner has joined.
22:28:51 <oerjan> `frink c * 6 seconds / 40000 km
22:29:02 <HackEgo> 449688687/10 (exactly 4.49688687e7) m^2 (area)
22:29:09 <oerjan> oops
22:29:23 <coppro> nortti: g/foo/cmd means "execute 'cmd' on each line matching the regex 'foo'
22:29:41 <oerjan> `frink c
22:29:44 <nortti> ok
22:29:53 <coppro> .,/bar/ is a range meaning "execute the next command on each line from here (.) to the next match of the regex 'bar' (the /bar/)
22:29:53 <HackEgo> 299792458 m s^-1 (velocity)
22:29:57 <coppro> d means delete the line
22:30:10 <oerjan> something is wrong here
22:30:14 <coppro> the net result is that it deletes all left entries from merge conflicts :)
22:30:17 <oerjan> `frink c * 6 seconds / (40000 km)
22:30:23 <coppro> a similar g/>>>>>>/d will delete the tail line
22:30:28 <HackEgo> 449688687/10000000 (exactly 44.9688687)
22:30:48 <fizzie> Personally I don't even think that exit velocity assessment is well-founded. I mean, just taking distance/time as the final velocity sort of assumes constant speed for the entire track.
22:30:50 <oerjan> there you go, just wind the peasants 44 times around the earth, and you'll be all set
22:33:07 <fizzie> oerjan: And if you do it 45 times, it'll go faster than light?
22:33:24 <oerjan> fizzie: the distance/time is the average, though, which must be at most the maximum
22:33:32 <Phantom_Hoover> fizzie, true, but the velocity's hardly going to start above 500m/s and go *down*, is it?
22:33:38 <oerjan> fizzie: yep!
22:34:51 <Phantom_Hoover> fizzie, depends, is anyone's character Einstein?
22:35:32 <oerjan> ye olde lorentz contracted peasants
22:35:36 -!- stanley has joined.
22:36:38 <oerjan> and stanley is no longer on death row
22:37:01 <Phantom_Hoover> the stanley parable
22:39:20 <oerjan> "...it's actually best if you don't know anything about it before you play it :D" <-- darn
22:44:03 <zzo38> Is your character going to be Einstein?
22:46:25 <oerjan> Zweiundhalbstein
22:58:15 <olsner> Keinstein
23:00:04 <Phantom_Hoover> I don't think Einstein would be very good in combat.
23:09:41 -!- nortti_ has joined.
23:24:53 <FreeFull> I wish there was a s-lang IRC channel
23:32:11 <zzo38> Not all the characters are very good in combat.
23:33:41 <FreeFull> I have a problem right now which prevents me from writing an IRC client, but would still allow me to write a bot
23:35:23 * oerjan guesses the problem is waiting for two input streams at once
23:35:24 <nortti_> why?
23:36:52 <FreeFull> oerjan: Yuup
23:37:07 <oerjan> sadly i don't know how to do that in s-lang
23:37:25 -!- mig22 has joined.
23:37:27 <oerjan> although in C i think one uses the select system call
23:38:04 <oerjan> (and in haskell you just start a thread for each stream to read from)
23:38:46 <FreeFull> Yeah, s-lang doesn't have threading
23:38:54 <FreeFull> It might have select though, let me check
23:38:55 <oerjan> (which ghc cleverly translates into the C version)
23:39:04 <shachaf> I heard threads are the future.
23:39:22 <FreeFull> shachaf: Threads suck, actor model is the future
23:39:33 <shachaf> TWIST: actors *are* threads
23:39:34 <FreeFull> Erlang style
23:39:58 <coppro> +1
23:40:23 <oerjan> (actually i think ghc is using something even more efficient than select that allows many more files)
23:40:39 <elliott> FreeFull: threads are actors tho
23:40:41 <oerjan> on linux, anyway
23:40:47 <elliott> in semantics
23:40:56 <elliott> "threads vs. actors" is confusing semantics for implementation
23:41:07 <elliott> well, more like *actors are threads
23:41:24 <FreeFull> By actors I mean threads that communicate through passing messages and are otherwise independent
23:42:29 <elliott> yes but you can do shared mutable state with actors
23:42:32 <elliott> and message-passing with shared mutable state
23:42:36 <elliott> they are basically equivalent
23:42:48 <elliott> indeed most Haskell threaded programming resembles actor style to a fairly large degree
23:42:54 <elliott> actor model has a whole bunch of problems though, it is not very declarative at all
23:43:16 <shachaf> elliott: Can you write this UTF-8 decoding code for me?
23:43:33 <elliott> shachaf: Is it.. hard? UTF-8 is pretty simple.
23:43:34 <FreeFull> oerjan: I could use slGTK, but I want something non-graphical for my IRC client
23:43:36 <shachaf> thinadvanceelliott
23:43:39 <shachaf> elliott: No, just annoying.
23:43:46 <shachaf> The annoying part isn't the decoding but the encoding, really.
23:44:31 <elliott> What language?
23:44:58 <shachaf> Probably C.
23:45:02 <oerjan> all i know about s-lang really is that back in the 90's there was a rather popular usenet reader slrn written in it
23:45:19 <shachaf> (I don't mean UTF-8 encoding, I mean the other side of UTF-8 decoding.)
23:45:27 <elliott> shachaf: The other side?
23:46:12 <shachaf> Anyway encoding is already working.
23:46:37 <pikhq_> shachaf: What language are you dealing with?
23:46:57 <shachaf> Portuguese, probably?
23:47:08 <pikhq_> shachaf: Programming language.
23:47:13 <pikhq_> Oh, C.
23:47:25 <pikhq_> http://bjoern.hoehrmann.de/utf-8/decoder/dfa/ Thar
23:47:34 <shachaf> Haskell code that calls into C to do the decoding.
23:47:40 <elliott> shachaf: What do you mean by the other side of UTF-8 decoding?
23:47:47 <shachaf> pikhq_: It's already using that code.
23:47:56 <pikhq_> Then, what's the hard part?
23:48:03 <shachaf> elliott: I mean the 63-bit thing.
23:48:20 <elliott> shachaf: What are you implementing this for? Just out of curiosity?
23:48:30 <shachaf> For fun!
23:49:09 <pikhq_> That's got to be the least convenient Unicode representation. Though at least it's also highly compact.
23:49:15 -!- nooga has quit (Ping timeout: 256 seconds).
23:49:21 <shachaf> It's not as compact for ASCII as UTF-8!
23:49:34 <elliott> It's probably more compact than UTF-8 for some texts.
23:49:39 <Gregor> UTF-4096 is best UTF.
23:49:40 <shachaf> Sure.
23:49:55 <shachaf> Anyway it's annoying to write it efficiently.
23:50:05 <nortti_> UTF-1 is the best
23:50:47 <Gregor> nortti_: You just have as many 1 bits as the codepoint, then a 0 bit? :)
23:50:59 <nortti_> yes
23:51:09 <shachaf> Gregor: UTF-1 is actually a thing.
23:51:18 <nortti_> is it?
23:51:22 <shachaf> https://en.wikipedia.org/wiki/UTF-1
23:51:29 <shachaf> Sort of like a worse UTF-8.
23:51:32 <pikhq_> Yes. It kinda sucks.
23:51:52 <Gregor> ...
23:51:58 <Gregor> It's also not named consistently with UTF-EVERYTHINGELSE
23:52:20 <nortti_> that UTF-1 is not as fun as my UTF-1
23:52:25 <Gregor> No.
23:52:31 <pikhq_> It really isn't.
23:56:09 -!- mig22 has quit (Quit: Colloquy for iPhone - http://colloquy.mobi).
←2012-08-05 2012-08-06 2012-08-07→ ↑2012 ↑all