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