00:11:48 -!- Phantom_Hoover has quit (Ping timeout: 244 seconds). 00:14:38 -!- sebbu has quit (Ping timeout: 240 seconds). 00:22:28 -!- _46bit has joined. 00:27:00 -!- Bicyclidine has quit (Ping timeout: 255 seconds). 00:39:30 -!- edwardk has joined. 00:49:04 -!- Sprocklem has quit (Ping timeout: 264 seconds). 00:51:13 -!- lollo64it has quit (Quit: Leaving). 00:52:17 -!- Guest44825 has quit (Ping timeout: 245 seconds). 00:53:37 -!- Gregor has joined. 00:56:52 -!- MoALTz__ has joined. 00:58:48 -!- MoALTz has joined. 00:59:52 -!- MoALTz_ has quit (Ping timeout: 264 seconds). 01:01:27 -!- MoALTz__ has quit (Ping timeout: 245 seconds). 01:11:15 -!- vravn has joined. 01:12:50 -!- Bike_ has joined. 01:14:52 -!- Bike has quit (Ping timeout: 264 seconds). 01:28:54 -!- Sorella has quit (Quit: It is tiem!). 01:46:06 -!- Bike_ has changed nick to Bike. 01:52:13 I.... think I like Go's if better than aif 01:52:22 (except for the whole it's not a ternary operator thing) 02:05:21 -!- oerjan has quit (Quit: leaving). 02:08:59 -!- edwardk has quit (Quit: Computer has gone to sleep.). 02:10:32 -!- edwardk has joined. 02:12:20 -!- sebbu has joined. 02:12:57 -!- sebbu has quit (Changing host). 02:12:57 -!- sebbu has joined. 02:20:52 -!- edwardk has quit (Quit: Computer has gone to sleep.). 02:24:56 -!- edwardk has joined. 02:27:05 -!- shikhout has quit (Ping timeout: 272 seconds). 02:46:50 -!- Bike has quit (Ping timeout: 252 seconds). 02:51:44 -!- Bike has joined. 02:54:30 -!- Sprocklem has joined. 03:41:50 -!- vravn has quit (Ping timeout: 240 seconds). 03:42:51 -!- Gracenotes has quit (Ping timeout: 252 seconds). 03:43:25 -!- HackEgo has quit (Remote host closed the connection). 03:43:40 -!- Gracenotes has joined. 03:44:46 -!- vravn has joined. 04:10:57 -!- `^_^v has quit (Ping timeout: 272 seconds). 04:17:37 -!- MoALTz_ has joined. 04:20:53 -!- MoALTz has quit (Ping timeout: 252 seconds). 04:24:21 -!- nooodl has joined. 04:27:56 -!- brandonsons has joined. 04:30:12 -!- brandonson has quit (Ping timeout: 245 seconds). 05:21:15 you know how tcsh is the best esoteric shell, because it supports goto even in interactive mode gotoing among separately entered commands? 05:21:34 I wonder if anyone had modified tcsh to support computed come from in shell scripts yet. 05:23:22 -!- nooodl has quit (Quit: Ik ga weg). 05:50:13 -!- FreeFull has quit. 06:01:37 did someone dump hackego's quote database into qdb.us? 06:02:55 I hope not... 06:07:28 Wait, why was Y2K even a problem 06:07:36 Were years coded in BCD? 06:08:57 two digits 06:10:09 But that's just on the screen 06:10:49 nope 06:10:51 So literaly the only source of error would be human error if that was the problem, unless the date was in BCD in the computer 06:10:55 you have a year input, it takes two digits 06:10:57 you store that number 06:10:58 tada 06:11:11 you have a "get year" function, it returns the number of years since 1900, tada 06:11:19 (js has this) 06:11:33 Did js even exist back then? 06:11:38 19A0, as it were 06:12:33 Weren't a lot of like COBOL computers in BCD or something 06:12:49 Because they were used by non-engineers mostly 06:13:15 ..yes, js existed before 2000 06:13:17 it's not like engineers never get the idea to use something weird like bcd 06:13:21 js was wildly popular before 2000. 06:13:33 The horror 06:13:35 vbscript is going to take js's market share, though 06:14:16 anyway lots of web pages think it is 19114 06:14:28 The futuuuure 06:14:44 they are mistaken. it is in fact september 1993 06:14:55 I wonder if there is some 1996 webpage hidden somewhere in the depth on internet 06:15:08 A fan webpage of Hanson and Spacejam 06:15:11 @google one terabyte of kilobyte age 06:15:12 http://oneterabyteofkilobyteage.tumblr.com/ 06:15:12 Title: One Terabyte of Kilobyte Age Photo Op 06:15:15 That thinks it is the year -14 06:15:20 hth, etc 06:18:59 actually i suppose they're past 93 now. they switched to ie, i guess t hey're trying some kind of chronology 06:23:06 it ends with a screenshot of your browser viewing the page in present day 06:23:48 pans out to me screaming in a theater 06:36:28 -!- MoALTz_ has quit (Quit: Leaving). 06:39:18 -!- augur has quit (Ping timeout: 244 seconds). 06:52:38 ok who on earth actually submitted all the quotes to qdb.us 06:52:45 and what the fuck were you thinking 07:02:39 -!- augur has joined. 07:23:11 which quotes? #esoteric quotes? 07:29:36 yes 07:29:50 including the ones that are not even defensible as in any way good and make no sense outside the context of the channel 07:29:53 just all of them 07:30:05 and thi sinvolved reformatting them on multiple lines so someone put way too much effort into spamming qdb with our crap 07:31:47 listen, i don't want to defend this or anything, but i don't think it's gonna be much worse than the rest of qdb. 07:38:09 it's just 07:38:10 baffling 07:44:09 I can't find any quote from here there 07:47:32 looks like they're in the queue 07:52:42 POSIX's (and all similar) struct tm has a tm_year member that's also year-1900, so a lot of C programs also think it's 19114. 07:57:08 -!- slereah_ has joined. 07:57:51 printf("19%d", tm.year)? 07:58:04 Damn you Y2K! 07:58:14 yeah 07:58:24 they should just have reset the calendar to 1900 07:58:30 for backwards compatability 07:58:44 and to confuse historians in the future 07:59:13 They should use unsigned ints in number of seconds since the big bzn 07:59:13 no sense in making their job intentionally easier. 07:59:21 it's supposed to be a mystic job! 07:59:28 bang* 07:59:48 That's like 07:59:54 10^20 08:00:12 How many bits is that, like 70? 08:00:34 Put it as 128 bits for time 08:01:44 You'll be fine until 10790283070806014188970529154990 years 08:02:01 And you can write all times 08:02:06 then what you gonna do? 08:02:25 extend it to 256 bits 08:02:29 Then you have the year 10790283070806014188970529154990 bug 08:02:40 and hoping no banks will collapse due to the 2^128 bug 08:02:41 Or Y10790283070806014188970529154990K, as it is known 08:03:49 With some luck the universe will have been destroyed by that time 08:03:59 But then again that's the attitude that led to Y2K 08:04:09 "Oh yeah with the cold war we're all gonna be nuked by the 80's" 08:04:14 No need to plan ahead 08:05:01 true 08:05:13 I still think that'll be true for about 2050 08:05:51 Nah, nukes are all out of fashion 08:05:56 Now it's global warming 08:09:50 but history taught us that things don't really happen fast :) 08:10:18 Even if you bought games from the 90s 08:10:28 the way those game designers saw 2012 08:10:38 way too optimistic :D 08:10:55 Or both, in the case of Duke Nukem Forever~ 08:16:35 -!- brandonsons has quit (*.net *.split). 08:16:36 -!- Gregor has quit (*.net *.split). 08:16:37 -!- tromp has quit (*.net *.split). 08:16:37 -!- TodPunk has quit (*.net *.split). 08:16:37 -!- glogbackup has quit (*.net *.split). 08:16:37 -!- Frooxius has quit (*.net *.split). 08:16:38 -!- augur has quit (*.net *.split). 08:16:38 -!- Gracenotes has quit (*.net *.split). 08:16:38 -!- vravn has quit (*.net *.split). 08:16:38 -!- Bike has quit (*.net *.split). 08:16:38 -!- Sgeo has quit (*.net *.split). 08:16:39 -!- vyv has quit (*.net *.split). 08:16:39 -!- aloril has quit (*.net *.split). 08:16:39 -!- heroux has quit (*.net *.split). 08:16:39 -!- Slereah has quit (*.net *.split). 08:16:40 -!- trout has quit (*.net *.split). 08:16:40 -!- lifthrasiir has quit (*.net *.split). 08:16:41 -!- mtve has quit (*.net *.split). 08:16:42 -!- clog has quit (*.net *.split). 08:16:42 -!- pikhq has quit (*.net *.split). 08:16:43 -!- _46bit has quit (*.net *.split). 08:16:43 -!- newsham has quit (*.net *.split). 08:16:44 -!- ggherdov has quit (*.net *.split). 08:16:44 -!- Speed` has quit (*.net *.split). 08:16:45 -!- skarn has quit (*.net *.split). 08:16:45 -!- Quintopia has quit (*.net *.split). 08:16:46 -!- nisstyre has quit (*.net *.split). 08:16:47 -!- rodgort has quit (*.net *.split). 08:16:47 -!- myndzi has quit (*.net *.split). 08:16:47 -!- hubs has quit (*.net *.split). 08:16:48 -!- FireFly has quit (*.net *.split). 08:16:48 -!- lambdabot has quit (*.net *.split). 08:16:49 -!- qlkzy has quit (*.net *.split). 08:20:42 -!- augur has joined. 08:20:43 -!- brandonsons has joined. 08:20:43 -!- vravn has joined. 08:20:43 -!- Gracenotes has joined. 08:20:43 -!- Bike has joined. 08:20:43 -!- Gregor has joined. 08:20:43 -!- _46bit has joined. 08:20:43 -!- Sgeo has joined. 08:20:43 -!- vyv has joined. 08:20:43 -!- aloril has joined. 08:20:43 -!- glogbackup has joined. 08:20:43 -!- heroux has joined. 08:20:43 -!- tromp has joined. 08:20:43 -!- Slereah has joined. 08:20:43 -!- TodPunk has joined. 08:20:43 -!- Frooxius has joined. 08:20:43 -!- trout has joined. 08:20:43 -!- lifthrasiir has joined. 08:20:43 -!- mtve has joined. 08:20:43 -!- clog has joined. 08:20:43 -!- pikhq has joined. 08:20:43 -!- newsham has joined. 08:20:43 -!- ggherdov has joined. 08:20:43 -!- Speed` has joined. 08:21:10 -!- skarn has joined. 08:21:11 -!- Quintopia has joined. 08:21:11 -!- qlkzy has joined. 08:21:11 -!- nisstyre has joined. 08:21:11 -!- lambdabot has joined. 08:21:11 -!- rodgort has joined. 08:21:11 -!- myndzi has joined. 08:21:11 -!- hubs has joined. 08:21:11 -!- FireFly has joined. 08:27:42 -!- Gregor` has joined. 08:27:42 -!- TodPunk has quit (Excess Flood). 08:27:56 -!- Gregor has quit (Write error: Broken pipe). 08:27:58 -!- glogbackup has quit (Write error: Broken pipe). 08:28:07 -!- Gregor` has changed nick to Guest767. 08:28:31 -!- TodPunk has joined. 08:29:06 Aaaaargh 08:29:17 Fuck huge memory leak and I don't know what's wrong! 08:32:45 And the more threads it has, the faster it grows 08:32:55 So I suspect fukken threads 08:33:19 -!- TodPunk has quit (*.net *.split). 08:33:20 -!- brandonsons has quit (*.net *.split). 08:33:21 -!- tromp has quit (*.net *.split). 08:33:21 -!- Frooxius has quit (*.net *.split). 08:33:22 -!- augur has quit (*.net *.split). 08:33:22 -!- Gracenotes has quit (*.net *.split). 08:33:22 -!- vravn has quit (*.net *.split). 08:33:22 -!- Bike has quit (*.net *.split). 08:33:22 -!- Sgeo has quit (*.net *.split). 08:33:22 -!- vyv has quit (*.net *.split). 08:33:23 -!- aloril has quit (*.net *.split). 08:33:23 -!- heroux has quit (*.net *.split). 08:33:23 -!- Slereah has quit (*.net *.split). 08:33:23 -!- trout has quit (*.net *.split). 08:33:23 -!- lifthrasiir has quit (*.net *.split). 08:33:25 -!- mtve has quit (*.net *.split). 08:33:25 -!- clog has quit (*.net *.split). 08:33:26 -!- pikhq has quit (*.net *.split). 08:33:26 -!- _46bit has quit (*.net *.split). 08:33:26 -!- newsham has quit (*.net *.split). 08:33:27 -!- ggherdov has quit (*.net *.split). 08:33:27 -!- Speed` has quit (*.net *.split). 08:38:10 @tell Phantom_Hoover Don't look at r/haskell unless you have a brick handy 08:38:11 Consider it noted. 08:39:05 -!- Slereah has joined. 08:42:49 Phew, solved the memory leak 08:43:01 Apparently C prefers that I join my threads rather than cancel 'em 08:43:04 Whatever that means 08:44:02 -!- TodPunk has joined. 08:44:03 -!- augur has joined. 08:44:03 -!- brandonsons has joined. 08:44:03 -!- vravn has joined. 08:44:03 -!- Gracenotes has joined. 08:44:03 -!- Bike has joined. 08:44:03 -!- _46bit has joined. 08:44:03 -!- Sgeo has joined. 08:44:03 -!- vyv has joined. 08:44:03 -!- aloril has joined. 08:44:03 -!- heroux has joined. 08:44:03 -!- tromp has joined. 08:44:03 -!- Frooxius has joined. 08:44:03 -!- trout has joined. 08:44:03 -!- lifthrasiir has joined. 08:44:03 -!- newsham has joined. 08:44:03 -!- ggherdov has joined. 08:44:03 -!- Speed` has joined. 08:44:03 -!- pikhq has joined. 08:44:03 -!- clog has joined. 08:44:03 -!- mtve has joined. 08:46:09 -!- Patashu has joined. 08:46:17 slereah_: uhm 08:46:23 Why would you cancel them 08:46:27 It's not even guaranteed to work 08:46:34 as threads can be in uncanceable states etc. 08:46:38 Because I have no idea what happens to threads when they are done 08:47:12 they are destroyed 08:47:25 join just waits for them to exit 08:48:27 But then why would cancelling them after they are done cause a memory leak 08:50:06 well 08:50:12 you shouldnt cancel terminated threads anyway 08:50:48 Then why does that function exist 08:50:56 to cancel threads 08:51:22 either join each thread, detach it or create it detached 08:51:35 generally cancelling threads isn't really a nice way of doing things 08:51:36 ah, it's that channel 08:51:47 I think the general opinion is to use sync mechanisms to do that 08:52:11 thread apis in other languages usually don't even support that anymore @killing other threads 08:52:34 anyway... pthread_cancel takes a pthread_t 08:52:41 depending on what pthread_t is 08:52:49 maybe it's a thread id of some sort 08:52:55 and maybe that thread id gets reused at some point 08:53:07 so it might even be the case that you'll cancel a completely different thread 08:53:21 because it reuses the thread id of some thread that has already terminated 08:55:04 but yeah 08:55:10 either join or detach them 08:55:27 when a detached thread terminates it's released without having to join on it 08:56:58 slereah_: Some resources are kept when a thread terminates 08:57:00 like it's exit status 08:57:11 so you can ask for the exit status later on 08:57:32 which is why you'll have lots of orphan threads (or whatever they are called) around 08:57:39 unless you either join or detach them 08:57:41 exactly, cancelling threads or throwing asynchronious exceptions to threads is generally so dangerous and hard to get right that it's not worth to even try, except on this channel 08:58:39 -!- glogbackup has quit (Ping timeout: 255 seconds). 08:58:48 Just consider a thread having a lock 08:59:04 I'm not even sure if locks are released if a thread gets canceld 08:59:11 I hope so, but I'd have to check that someday 08:59:22 they should not be released 08:59:41 for pure calculation stuff cancelling is probably not so problematic 08:59:43 but still 08:59:44 Aw 08:59:50 I don't want orphans in my computer :( 09:00:20 But yeah, my neural network thing was taking like 09:00:26 9% of the memory per cycle 09:00:31 Now it's a flat 0.6% 09:00:34 Much better 09:01:21 -!- aloril has quit (Ping timeout: 240 seconds). 09:01:58 You could use cleanup_push 09:02:00 then cancel it 09:02:10 and make sure that you release the lock in the cleanup handler you pushed 09:02:25 That's probably more #esoteric style . 09:02:28 heh 09:02:37 Well it is a work thing, so I'd rather do it cleanly 09:04:29 I should try to do an esolang based on pi calculus someday 09:11:55 -!- Patashu has quit (Disconnected by services). 09:11:56 -!- Patashu_ has joined. 09:15:41 -!- aloril has joined. 09:16:33 -!- conehead has quit (Quit: Computer has gone to sleep). 09:18:45 -!- shikhin has joined. 09:22:33 -!- slereah_ has quit (Ping timeout: 272 seconds). 09:34:42 -!- slereah_ has joined. 10:08:06 -!- Ghoul_ has joined. 10:08:44 -!- Ghoul_ has changed nick to Aetherspawn-. 10:17:01 -!- shikhin has quit (Ping timeout: 272 seconds). 10:18:55 -!- boily has joined. 10:20:50 -!- nooodl has joined. 10:27:55 -!- Phantom_Hoover has joined. 10:30:43 -!- Patashu_ has quit (Remote host closed the connection). 10:31:00 -!- Patashu has joined. 10:45:17 -!- glogbackup has joined. 10:45:47 -!- oerjan has joined. 10:51:29 -!- ais523 has joined. 10:55:51 -!- Bike has quit (Ping timeout: 240 seconds). 10:57:50 -!- Bike has joined. 11:00:57 -!- boily has quit (Quit: JETTIARY CHICKEN). 11:03:39 oh someone fixed the content-type problem with tunes 11:08:40 tunes actually being maintained feels wrong to me, somehow 11:08:56 I have this mental image of the whole place having been abandoned years ago, being updated only by clog 11:09:43 running like clogwork? 11:10:21 ais523: well _maybe_ it was an IE bug that was fixed instead. 11:10:50 oerjan: the one where you can XSS attack a plain text file? that was probably the one 11:11:25 ais523: well the tunes files end in .listofnumbers 11:11:41 and perhaps IE just stopped assuming those to be text. 11:11:56 hm... 11:12:04 `url bin/url 11:12:12 oops 11:12:19 oh wait 11:12:40 i need something in paste/ to check that. 11:12:55 although that _may_ have been the hg browser's settings. 11:13:04 -!- callforjudgement has joined. 11:13:11 -!- ais523 has quit (Read error: Connection reset by peer). 11:13:17 [12:12] well, IE had a bug where it would interpret an explicit text/plain as text/html whenever it felt like it 11:13:17 [12:12] the standard workaround used to be to serve plaintext files as text/css 11:13:18 [12:12] which is interpreted the same way as text/plain by all browsers but IE, which interprets it the same way other browsers interpret text/plain 11:13:18 -!- callforjudgement has changed nick to ais523. 11:13:36 gah why must my browser have forgotten the hg repository url 11:14:29 http://codu.org/projects/hackbot/fshg/ ?! 11:15:00 ais523: i find it unlikely that IE interpreted tunes logs as html at any point? 11:15:08 thanks 11:15:22 oerjan: someone sent you to meatspin like that, didn't they? 11:15:52 * oerjan adds to favorites 11:16:40 ais523: ok there have been weird cases, but what happened recently was that it refused to open and asked to download instead. 11:17:14 ah right, so an entirely different bug 11:17:50 nope, hg repository still does that. 11:18:19 (and that was, i recall, an intentional security enhancement.) 11:19:36 -!- ais523 has quit. 11:19:48 -!- ais523 has joined. 11:20:36 oh gah I was going to report a bug in something 11:20:42 but I've forgotten both what the bug is, and what package I was going to report it in 11:20:44 in any case nothing happened on the clog side of the netsplits anyway :P 11:20:50 or, ooh, I just remembered a different bug, anyway 11:21:05 five-or-more sets the permissions incorrectly on the score file 11:21:39 * oerjan assumes nethack 11:21:53 nah, not much point in reporting bugs against a 10-year-old game 11:22:00 to Debian, anyway 11:22:05 I remembered what it is, anyway 11:22:12 well, nethack 4 then, except then you'd fix it not report it 11:22:18 -!- shikhin has joined. 11:22:24 funny-manpages puts manpages in section 1 that should be in section 7 11:22:33 even if they're joke manpages, they should still be in the right section 11:28:15 dungeon crawl stone soup is another roguelike that came up here recently 11:28:40 -!- ais523 has quit (Ping timeout: 264 seconds). 11:31:55 -!- KingOfKarlsruhe has changed nick to KingBot. 11:32:37 -!- KingBot has changed nick to KingOfKarlsruhe. 11:41:37 -!- Phantom__Hoover has joined. 11:42:33 -!- Phantom_Hoover has quit (Ping timeout: 240 seconds). 11:42:36 -!- ais523 has joined. 11:45:02 -!- Phantom___Hoover has joined. 11:46:19 -!- Phantom__Hoover has quit (Ping timeout: 272 seconds). 11:47:02 -!- Phantom__Hoover has joined. 11:47:45 -!- Sgeo has quit (Read error: Connection reset by peer). 11:49:33 -!- Phantom___Hoover has quit (Ping timeout: 240 seconds). 11:58:59 -!- ais523 has quit (Ping timeout: 272 seconds). 12:01:15 -!- MindlessDrone has joined. 12:15:30 -!- ais523 has joined. 12:17:08 gah, I enter the wrong password into sudo 3 times 12:17:10 and it emails me 12:17:35 this is completely pointless from a security point of view because an attacker could just confirm the password using some other method (e.g. passwd) before entering it into sudo 12:18:49 meanwhile, here's my first attempt to submit a patch to Ubuntu: https://bugs.launchpad.net/ubuntu/+source/five-or-more/+bug/1330956 12:19:02 if nothing happens for a bit, I'll see if it's a bug in Debian too, and if it is, file the bug there 12:19:14 (note: for this particular package, it's possible that it isn't, although there's no "ubuntu" suffix on the version number so it probably is) 12:19:54 -!- Sorella has joined. 12:22:12 oh five-or-more is the name of the game 12:22:26 i thought it was a condition for the bug to happen 12:24:54 oerjan: I thought the same bug was present in a games package for the high score table of five or more games 12:25:43 b_jonas: that is possible; many games (well more than five) were originally in the gnome-games codebase before it was split into smaller packages 12:25:48 and IIRC at least one other (that I don't have installed) has that bug 12:27:17 it'll also be fun to see what (if anything) is done about copyright for a patch that deletes one line 12:27:23 it's the first time I've submitted a pure-deletion patch anywhere 12:27:40 "How many lines of code do you have in Five Or More?" "-1" 12:28:18 -!- yorick has joined. 12:30:07 also, I think I'm still running at 100% for "proportion of bugs I found in Gnome that I submitted patches for" 12:31:09 maybe you don't use gnome enough 12:31:25 I don't use it that much, indeed 12:35:58 -!- FreeFull has joined. 12:36:57 do you count all the infrastructure projects that gnome has spawned, but that are used outside gnome, like libglib, gtk+, pango, etc? 12:37:14 -!- ais523 has quit. 12:37:24 -!- ais523 has joined. 12:41:51 -!- ais523 has quit (Ping timeout: 240 seconds). 12:42:27 -!- ais523 has joined. 12:53:06 -!- ais523 has quit (Ping timeout: 255 seconds). 13:12:42 -!- Patashu has quit (Ping timeout: 245 seconds). 13:18:39 -!- ais523_ has joined. 13:21:21 -!- ais523 has joined. 13:30:04 -!- ais523 has quit (Ping timeout: 240 seconds). 13:38:25 -!- Phantom__Hoover has quit (Ping timeout: 272 seconds). 13:41:27 -!- MDream has joined. 13:41:40 -!- MDream has changed nick to MDude. 13:42:05 -!- `^_^v has joined. 14:28:34 -!- ais523 has joined. 14:31:23 -!- oerjan has quit (Quit: leaving). 14:41:22 -!- lifthrasiir has quit (Ping timeout: 240 seconds). 14:43:32 -!- ais523 has quit (Read error: Connection reset by peer). 14:43:42 -!- ais523 has joined. 14:49:04 -!- callforjudgement has joined. 14:49:05 -!- mihow has joined. 14:50:16 -!- ais523 has quit (Ping timeout: 264 seconds). 14:50:37 -!- callforjudgement has changed nick to ais523. 14:56:16 -!- ais523 has quit (Ping timeout: 264 seconds). 15:16:45 I really hate exam questions 15:17:00 "Code generation is the most time consuming phase of a compiler? [ ] Yes [ ] No" 15:17:08 How the hell am I supposed to answer thta 15:17:21 -!- lifthrasiir has joined. 15:17:25 No clue 15:17:40 mroman: flip a coin 15:17:40 We don't usually have yes/no questions like that on our exams 15:17:52 Not sure if coins are permitted on exams 15:17:59 dice then 15:18:29 roll d6, if result odd, pick Yes, otherwise pick No 15:18:51 [x] Yes -- chosen by fair dice roll 15:20:16 but 4 is even 15:20:18 there actually was a "Don't know" option too 15:20:30 I just checked all three of those boxes 15:20:33 mroman: which compiler? 15:20:37 ais523_: well... 15:20:38 any 15:20:39 probably 15:20:42 I don't know 15:20:44 I bet there's at least one for which the answer is yes; also, IIRC the answer is no for gcc 15:20:46 It didn't say 15:21:18 it depends on settings, not just the compiler 15:21:26 oh, all these BF-to-high-level-language-by-textual-subtitution compilers 15:21:31 spend their /entire time/ in code generation 15:21:32 gcc with optimization enabled is really slow 15:21:35 compared to no optimization 15:21:43 so those are definitely yes 15:21:45 and I don't think optimization has that much an influence on the parser 15:22:12 optimization doesn't have that much influence on codegen either, though 15:22:20 it mostly affects how long the optimizer takes to run (fairly obviously) 15:22:26 obviously 15:23:14 for some esolang compilers reading the file to compile is probably the most time consuming task 15:23:26 (and write the output) 15:23:55 not sure if reading file counts as parsing and writing file counts as codegen 15:25:36 -!- edwardk has quit (Quit: Computer has gone to sleep.). 15:26:23 -!- ais523 has joined. 15:32:47 Obviously I could create an esolang that requires a compiler to do prime factorization 15:33:06 hm 15:33:13 actually... why not 15:33:26 mroman: or just play tricks with haskell or C++ or other languages 15:33:28 There's a list of primes that encode the opcode 15:34:00 and operands are encoded with primes too 15:34:12 so an add instruction is something like 9*13*17 15:34:19 where 9 is the opcode and 13,17 are the operands 15:34:27 oh wait 15:34:29 9 isn't prime 15:34:30 -!- Aetherspawn- has quit (Quit: Connection closed for inactivity). 15:34:48 7*13*17 then 15:35:05 -!- ais523 has quit (Ping timeout: 244 seconds). 15:35:51 Nine would just be 3 applied twice? 15:36:36 hm 15:36:37 or 15:36:45 p*2^x*3^y 15:36:56 p is the opcode, x the first operand and y the second operand 15:37:05 that should be uniquely deconstructable 15:37:09 (p is prime) 15:37:46 > 13*2^128*3^256 15:37:48 6149276275598477388941702188757835746814475554454696977361857718474664018531... 15:39:13 people claim that programmes used to program with this in the nineties . 15:40:13 > let c n 0 = 1; c n k = c (n-1) (k-1) * n `div` k; triple a b c = c (a+b+c+2) 3 + c (a+b+1) 2 + c a 1 in triple 13 128 256 15:40:15 Occurs check: cannot construct the infinite type: 15:40:16 a3 ~ a3 -> a4 -> a2 15:40:16 Relevant bindings include 15:40:16 c :: a3 -> a4 -> a2 (bound at :1:62) 15:40:16 b :: a3 (bound at :1:60) 15:40:25 hah. 15:40:52 > let bin n 0 = 1; bin n k = bin (n-1) (k-1) * n `div` k; triple a b c = bi (a+b+c+2) 3 + bin (a+b+1) 2 + bin a 1 in triple 13 128 256 15:40:53 Not in scope: ‘bi’ 15:40:53 Perhaps you meant one of these: 15:40:53 ‘b’ (line 1), ‘bin’ (line 1), ‘pi’ (imported from Prelude) 15:41:04 > let bin n 0 = 1; bin n k = bin (n-1) (k-1) * n `div` k; triple a b c = bin (a+b+c+2) 3 + bin (a+b+1) 2 + bin a 1 in triple 13 128 256 15:41:06 10517423 15:41:30 binomial coefficients? 15:41:33 yes. 15:41:45 what for? 15:42:00 psh, they have infinite uses 15:42:02 in this case, for encoding triples of natural numbers as natural numbers 15:42:14 oh 15:42:15 ok 15:44:07 I think p would have to not only be prime, but laos larger than 3. 15:45:16 or 15:45:24 A language where state is a number 15:45:30 and you can multiply divide it by two 15:45:33 i.e. 15:45:48 *p,x multiplies the state by p^x 15:46:01 /p,x divides the state by p^x 15:46:21 [x loops as long as x divides the state 15:46:23 so 15:46:40 *2,128 *3,156 [2 /2,1 *3,1] should add 128+156 15:47:07 *it by numbers 15:47:54 maybe add an indirect operator 15:47:56 something like 15:48:10 $2 gives you how many times 2 divides the state 15:48:46 mroman: are you aware of http://en.wikipedia.org/wiki/FRACTRAN ? 15:49:06 no 15:52:14 -!- Bike has quit (Ping timeout: 252 seconds). 15:53:52 -!- Bike has joined. 15:57:33 -!- slereah_ has quit (Quit: Leaving). 16:08:52 -!- shikhin has quit (Ping timeout: 264 seconds). 16:14:16 -!- password2 has joined. 16:45:17 -!- lollo64it has joined. 16:50:53 -!- MoALTz has joined. 16:53:35 -!- edwardk has joined. 16:59:22 -!- erdic has quit (Remote host closed the connection). 17:00:22 -!- erdic has joined. 17:14:52 -!- ais523 has joined. 17:20:27 -!- callforjudgement has joined. 17:20:38 -!- ais523 has quit (Read error: Connection reset by peer). 17:20:43 -!- callforjudgement has changed nick to ais523. 17:24:12 -!- callforjudgement has joined. 17:25:33 -!- ais523 has quit (Ping timeout: 240 seconds). 17:28:57 -!- callforjudgement has quit (Ping timeout: 245 seconds). 17:30:28 -!- shikhin has joined. 17:34:09 -!- Patashu has joined. 17:35:32 -!- Patashu_ has joined. 17:35:33 -!- Patashu has quit (Disconnected by services). 18:05:06 As far as I can tell, an eagle-owl is just an owl with nothing in particular to do with an eagle, despite the name. 18:06:24 Well, it flies??? 18:06:50 I don't think that really differentiates it from owls in general, though. 18:07:15 What about 18:07:18 The Superb Owl 18:07:27 It's a very popular owl in America 18:07:33 Millions of people watch it every year 18:08:05 I'm not familiar with that owl. 18:12:17 -!- sebbu2 has joined. 18:12:52 -!- sebbu2 has quit (Changing host). 18:12:52 -!- sebbu2 has joined. 18:14:33 -!- sebbu has quit (Ping timeout: 272 seconds). 18:18:48 What about the H Owl? It saw the best minds of its generation destroyed by madness, starving hysterical 18:19:04 Or the Mightyt Owl? Very popular in Pittsburgh 18:19:26 -!- sebbu2 has changed nick to sebbu. 18:20:01 owl ban you all if you keep this up 18:21:10 sounds like someone's a mr. grumpypants. what's wrong? got a headache? 18:21:17 @messages-lowl 18:21:17 You don't have any messages 18:21:41 Such a hoot. 18:21:49 * Quintopia offers elliott a Tylen Owl 18:22:04 Quintopia: that brand name isn't in use in the UK 18:22:19 ais523_: neither is Mighty Towel or Super Bowl 18:22:21 I'm aware of it, but am not quite sure what medicine it refers to 18:22:21 Quintopia: a nasty cold, actually, but I like banning people no matter how ill I am 18:22:27 ais523_: paracetamol 18:22:35 ah right 18:22:44 I'm not even sure if that has a dominant manufacturer in the UK 18:22:45 ais523_: which is referred to as acetaminophen generically in the US 18:23:03 (I think) 18:23:06 Calpol is the one I can think of offhand, but it's mostly marketed at parents to give to their children 18:23:30 rather than for adults to take themselves 18:23:42 elliott is good at translating to American. does that mean we've rubbed off on him? 18:24:04 -!- callforjudgement has joined. 18:25:26 being British and living on the Internet for any extended period of time makes you quite good at US/UK translations 18:26:47 -!- tswett has joined. 18:27:00 So! What's the best formalism of an analog signal? 18:27:29 Quintopia: who has rubbed one off on me is none of your business 18:27:45 tswett: 0/1/X/U/L/H/W/Z/Q 18:28:23 this isn't a particularly /useful/ formalism for analog work, given that it interprets all values that aren't at either voltage rail as W (or if you're unlucky, X) 18:28:44 but it nonetheless formalizes analog signals, and is good 18:29:17 Remind me what U, W, and Q are. 18:29:44 remind me what all of those are 18:30:24 0 is low voltage, low impedance. 1 is high voltage, low impedance. X I think is unspecified voltage, unspecified impedance. L is low voltage, medium impedance. H is high voltage, medium impedance. Z is unspecified voltage, high impedance. 18:30:25 Right? 18:30:45 tswett: X is the value you get if you connect a 0 to a 1 18:31:08 depending on the circuit design, it either means "somewhere between 0 and 1, low impedance", or "your circuit just caught fire" 18:31:09 Ooh. 18:31:34 U is the value the hardware defaults to if you don't give it any instructions at all 18:31:55 W is any medium impedance value other than L or H 18:32:07 and I'm not convinced Q exists, I think I might have made it up by mistake when listing the options 18:32:18 What are all these things called, again? 18:32:48 Here we go. https://en.wikipedia.org/wiki/IEEE_1164 18:33:34 oh right, there is a - 18:33:49 I should have listed that one, rather than making up an extra value because I remembered there were 9 but not what the 9th one was 18:34:27 "The "Z" value does exist in real-world circuits but only as an output state." 18:34:36 I'm sure Microchip would have a few words to say about that 18:34:52 they were the masters of finding ways to abuse chips for unintended purposes 18:34:57 maybe still are 18:35:06 All my input pins are 0. 18:35:32 This lets me see what's going on using an ammeter. 18:35:38 well, if you try to read an input pin as an output, you read a Z 18:35:55 but it's going to look like a 0 or a 1 unless you have very specialised input circuitry to connect it to 18:36:20 An ADC, perhaps? 18:36:29 Small amount of noise, it's a 0 or a 1. Large amount of noise, it's a Z. 18:36:41 haha, clever 18:36:53 my method would be to switch a small-valued resistor in and out 18:36:58 and see how much it changed the voltage by 18:37:10 or really, you could just use a bias to make Z read 0.5 or whatever 18:38:02 The best output value is C. 18:38:06 Low impedance grounded capacitor. 18:38:44 wait what? how do you use that from the input side? 18:38:50 also, high or low capacitance? 18:39:26 High capacitance. 18:39:45 It just stays at whatever voltage level it was most recently driven to. 18:40:24 so you can attach it to 1, then L 18:40:28 and get yourself a timer :-) 18:40:40 I wonder if you could test for Z by sending a tiny pulse in and seeing if it gets reflected or not. 18:41:05 gah, bad memories 18:41:26 that's the only module I ever failed in my EE degree (although I still got a first for the degree overall, my other marks were high enough to compensate for the huge penalty a failure gives) 18:42:23 Come to think of it, computer audio inputs seem to be pretty good at figuring out the impedance. 18:42:36 A cable that's unplugged gives way more noise than a cable that's plugged into something. 18:42:54 I mean, it'd be kind of amazing if you could actually take the noise level and calculate the capacitance. 18:47:35 Panadol is the dominant Paracetamol container in Finland, I believe. 18:47:52 -!- glogbackup has quit (Ping timeout: 240 seconds). 18:49:47 -!- callforjudgement has quit (Ping timeout: 245 seconds). 18:56:14 So we could say an analog signal is a sum of Gaussian functions that has finite energy in any time and frequency window. Or something. 18:58:22 Say that it's a sum of Gaussian functions such that, if you multiply it by a Gaussian and convolute it with a Gaussian, then the result has a finite amount of total energy. 18:59:29 'Cept that you'll also want to allow the product of a Gaussian with a function of the form e^(a i t) for real a. 'Cause taking the Fourier transform of a shifted Gaussian gives you a Gaussian multiplied by one of those. 19:00:19 -!- Bicyclidine has joined. 19:04:52 -!- password2 has quit (Ping timeout: 240 seconds). 19:13:34 I wonder if you could define white noise functions like that. 19:20:38 -!- drdanmaku has joined. 19:23:20 -!- edwardk has quit (Quit: Computer has gone to sleep.). 19:23:48 -!- edwardk has joined. 19:30:18 -!- conehead has joined. 19:32:34 -!- Bicyclidine has quit (Quit: Reconnecting). 19:32:40 -!- Bicyclid1ne has joined. 19:32:51 -!- Bicyclid1ne has changed nick to Bicyclidine. 20:11:48 -!- callforjudgement has joined. 20:11:54 -!- callforjudgement has quit (Changing host). 20:11:54 -!- callforjudgement has joined. 20:19:11 -!- conehead has quit (*.net *.split). 20:19:12 -!- glogbackup has quit (*.net *.split). 20:19:12 -!- augur has quit (*.net *.split). 20:19:13 -!- Gracenotes has quit (*.net *.split). 20:19:13 -!- vravn has quit (*.net *.split). 20:19:13 -!- vyv has quit (*.net *.split). 20:19:13 -!- heroux has quit (*.net *.split). 20:19:13 -!- trout has quit (*.net *.split). 20:19:15 -!- mtve has quit (*.net *.split). 20:19:15 -!- clog has quit (*.net *.split). 20:19:15 -!- pikhq has quit (*.net *.split). 20:19:16 -!- _46bit has quit (*.net *.split). 20:19:17 -!- newsham has quit (*.net *.split). 20:19:17 -!- ggherdov has quit (*.net *.split). 20:19:17 -!- Speed` has quit (*.net *.split). 20:19:59 -!- heroux has joined. 20:20:11 -!- conehead has joined. 20:20:12 -!- augur has joined. 20:20:12 -!- vravn has joined. 20:20:12 -!- Gracenotes has joined. 20:20:12 -!- _46bit has joined. 20:20:12 -!- vyv has joined. 20:20:12 -!- mtve has joined. 20:20:12 -!- clog has joined. 20:20:12 -!- pikhq has joined. 20:20:12 -!- Speed` has joined. 20:20:12 -!- ggherdov has joined. 20:20:12 -!- newsham has joined. 20:20:56 -!- variable has joined. 20:21:18 -!- variable has quit (Changing host). 20:21:18 -!- variable has joined. 20:21:18 -!- variable has quit (Changing host). 20:21:18 -!- variable has joined. 20:24:30 -!- MindlessDrone has quit (Quit: MindlessDrone). 20:24:43 -!- edwardk has quit (*.net *.split). 20:24:44 -!- TodPunk has quit (*.net *.split). 20:24:44 -!- brandonsons has quit (*.net *.split). 20:24:44 -!- `^_^v has quit (*.net *.split). 20:24:45 -!- tromp has quit (*.net *.split). 20:24:45 -!- Frooxius has quit (*.net *.split). 20:32:25 -!- mhi^ has joined. 20:33:24 -!- TodPunk has joined. 20:36:20 -!- erdic has quit (Ping timeout: 240 seconds). 20:36:35 -!- edwardk has joined. 20:36:36 -!- `^_^v has joined. 20:36:36 -!- brandonsons has joined. 20:36:36 -!- tromp has joined. 20:36:36 -!- Frooxius has joined. 20:40:31 -!- erdic has joined. 20:49:07 -!- erdic has quit (Ping timeout: 240 seconds). 20:56:20 -!- erdic has joined. 21:05:51 -!- callforjudgement has changed nick to ais523. 21:17:28 -!- myname has quit (Read error: Connection reset by peer). 21:20:27 -!- myname has joined. 21:25:07 -!- Patashu_ has quit (Ping timeout: 240 seconds). 21:27:27 -!- edwardk has quit (Ping timeout: 244 seconds). 21:29:23 -!- MDude has quit (Ping timeout: 252 seconds). 21:37:00 -!- tswett has quit (Quit: tswett). 21:55:13 -!- oerjan has joined. 22:08:22 -!- madbr has joined. 22:10:40 -!- ais523 has quit. 22:12:35 -!- ais523_ has quit (Quit: Page closed). 22:38:05 -!- Sgeo has joined. 22:40:43 Interesting thing about Go: They seem to want to make using undefined behavior obviously not work 22:40:47 "Iterations over small maps no longer happen in a consistent order. Go 1 defines that “The iteration order over maps is not specified and is not guaranteed to be the same from one iteration to the next.” To keep code from depending on map iteration order, Go 1.0 started each map iteration at a random index in the map. A new map implementation introduced in Go 1.1 neglected to randomize iteration for maps with eight or fewer entries, 22:40:48 -!- Phantom__Hoover has joined. 22:40:49 although the iteration order can still vary from system to system. This has allowed people to write Go 1.1 and Go 1.2 programs that depend on small map iteration order and therefore only work reliably on certain systems. Go 1.3 reintroduces random iteration for small maps in order to flush out these bugs." 22:41:27 <_46bit> I honestly sort of like it. 22:41:50 i've seen methods of "discouraging" using UB before, but reliance on prng state is new to me 22:42:04 <_46bit> It sounds like code might need testing N times to rule out use of undefined behaviour though 22:43:12 i like how they talk about using UB being a bug in something where there's obviously only one implementation 22:44:06 I think there's technically two implementations + future implementations 22:44:14 there are as many implementations as there are in-use versions of Go, surely 22:44:23 As in, there's a compatibility 'guarantee' for Go 1.x 22:44:49 Sgeo: i was thinking because they use "Go" to mean the language standard and an implementation interchangeably. 22:45:12 you can make my message "[...] only one implementation that matters" if you like 22:46:01 presumably, they're trying to avoid the problem e.g. Microsoft have always had with people building software that depends on the particular behaviour of the current version 22:46:08 creating a backwards-compatability nightmare 22:46:23 yeah. i just think it's funny. 22:46:50 i wonder if they use the same prng state as the user, or have a completely separate one. i think i don't like either option! 22:47:24 I think separate works better 22:48:29 i'd certainly prefer it. 22:49:05 * _46bit imagines how awful code he could write in Go if it depends upon the current state 22:50:12 <_46bit> A badly-named function that temporarily seeds the PRNG to a known value, followed by iteration-order-critical code, followed by setting the PRNG state back. 22:50:34 <_46bit> It sounds like an esoteric language could emerge out of that style. 22:50:40 name it Go1dot0Compat, ofc 22:50:50 Go1dot1Compat rather 22:50:53 <_46bit> A language with one construct where the behaviour depends upon the current PRNG state. 22:50:58 <_46bit> Wait. That has to already exist. 22:52:41 "Map iteration previously started from a random bucket, but walked each bucket from the beginning. Now, iteration always starts from the first bucket and walks each bucket starting at a random offset. For performance, the random offset is selected at the start of iteration and reused for each bucket." 22:52:46 For Speed 22:52:53 well, the original implementation was separate: https://code.google.com/p/go/source/detail?r=02c15930f43c 22:53:14 here's a fun thing you could do: 22:53:20 iterate through a map to get some entropy for your own purposes 22:53:31 RNG without anything beyond built-in iteration constructs! 22:53:57 let's see, i think the new one is doing runtime·fastrand1() 22:54:04 center dot? ok. 22:54:19 elliott: there's a post on one of the forums that says "we want it to be random, but not too random, so people don't use it as a source of entropy" 22:54:26 <_46bit> :D 22:54:31 qlkzy: well, that's no obstacle 22:54:35 you just have to wring the entropy out slowly 22:54:42 where there's a will... 22:54:46 qlkzy: how can you tell it's separate? (i don't know runtime or anything) 22:56:09 Bicyclidine, I'm not overly familiar with go, but afaict user prngs would be some way up from "runtime.fastrand1()" 22:56:54 because each user prng is a configurable object with a source, rather than a static C function 22:56:55 i think i will check the sources, now i'm curious. you might be able to make an exploit out of this in some ridiculous way 22:57:19 clearly the go implementers need to take a look at malbolge unshackled. 22:57:37 -!- Phantom__Hoover has quit (Remote host closed the connection). 22:57:45 (anyone else is also welcome, especially if they're willing to program in it) 22:57:53 -!- tswett has joined. 22:57:58 it is 'low-quality' randomness, so perhaps exploitable if an application depends on the iteration order in some way 22:58:19 fastrand1 looks like an LCG with some global called "m" 22:58:57 how feasible is it to create a language where writing a program in it that does what you want is Hard (e.g., on the order of breaking crypto), but you can write a public spec/implementation without jeopardising that? 22:58:58 "extern register M *m;" ok. 22:59:27 the comment says some ARM compilers actually notice the register declaration or something 22:59:36 like, "decrypt the program with a private key only the language author knows" works if you expose the interpreter via the internet, but you can't make a public spec out of it 22:59:41 or... they have their own compiler, or something. 22:59:47 I guess this could tie into homomorphic encryption type things? 23:00:12 Bicyclidine: Go uses its own C compiler I think? 23:00:24 since it's built on top of a port of the plan 9 compiler toolchain 23:00:30 figures 23:01:17 yeah, looks like the user exposed generators are separate, and in fact implemented in go 23:01:27 surely Go takes advantage of the massive optimization work in existing compilers? 23:01:43 the Plan 9 compilers are existing. 23:01:46 http://golang.org/src/pkg/runtime/runtime.h#L290 still, lookit all that state 23:02:04 they date back to the 90s, I think 23:02:06 (you can see the uint32 fastrand) 23:02:08 fine, "massive optimization work in popular compilers" 23:02:11 :p 23:02:21 well... Go is a programming language 23:02:28 they're already in the job of writing an optimising compiler 23:02:47 and they obviously sort of care about performance if they're telling the compiler what should be a register. 23:02:58 the cause of the conversation aside 23:03:24 I mean the C compiler will only affect the speed of the Go compiler. 23:03:32 the speed of Go programs will depend on the Go compiler. 23:03:49 well there's also the runtime, right? 23:04:03 well, right. 23:04:16 anyway the plan 9 c compilers and the go compiler are written by the same-ish people, so. 23:04:19 hm actually if they wanted to avoid both entropy use and dependence on order they should just choose the order randomly at startup, but fixed for each program run. (that's one of the options malbolge unshackled chooses between iirc.) 23:04:43 *approximately one of 23:05:10 There's another thing I like about the Go HTTP stack, that reminds me of some (not all) of the Haskell web frameworks: Routing layers themselves produce an HTTP application that can be nested in another routing layer, rather than a routing layer having to be at the top 23:12:48 fastrand1 is seeded from cputicks(), but at least on arm linux cputicks() is actually nanotime() + a random number which is... pulled from the elf i think? 23:13:53 "The address of sixteen bytes containing a random value." huh, that's kind of cool (from man getauxvalue) 23:15:12 and you can view the whole aux vector with an environment value on literally any program, so presumably that's in ld.so? nifty, nifty 23:16:47 literally any dnyamically linked program, then 23:17:20 i am the sufferer 23:17:54 yeah 23:21:16 -!- mihow has quit (Quit: mihow). 23:23:34 -!- nooodl_ has joined. 23:25:44 I also think I like type switching, but really don't like the thought of that being an idiomatic way of doing things 23:26:00 I like type switching as a last resort feature ala unsafeCoerce 23:26:22 -!- shikhout has joined. 23:26:52 -!- nooodl has quit (Ping timeout: 264 seconds). 23:27:17 note that type switching breaks parametricity. 23:27:34 (hence, arguably, abstraction) 23:29:24 -!- shikhin has quit (Ping timeout: 255 seconds). 23:33:14 Pretty sure I like Rust's error handling more than Go's. As explicit as Go, but there's a (still explicit) shortcut in the common case of returning earl 23:33:15 y 23:33:32 Go using tuples for sum types is horrific 23:34:35 I don't think multiple return quite counts as tuples. Can't just store the multiple return in some variable. But still bad at simulating sum types in the same way as what you meant, probably 23:35:14 yes, because an error must be (err, ) 23:35:48 Go seem to assume that 'zero it out' is meaningful most of the time, except when it isn't 23:36:01 -!- mhi^ has quit (Quit: Lost terminal). 23:47:29 -!- tswett has quit (Changing host). 23:47:29 -!- tswett has joined. 23:55:07 -!- Bicyclidine has quit (Ping timeout: 240 seconds). 23:58:54 -!- yorick has quit (Remote host closed the connection).