00:01:49 -!- calamari has joined. 00:11:02 * SimonRC thinks up the next great Apple feature: sub-pixel mouse positioning. 00:11:21 What the fuck am I doing? 00:11:24 I'm going to bed. 00:12:08 total used free shared buffers cached 00:12:08 Mem: 12040 11973 67 0 196 10184 00:12:08 -/+ buffers/cache: 1592 10448 00:12:15 lol, memory crisis 00:12:46 That's a lot of RAM. 00:12:59 mmhmm 00:51:43 -!- pikhq has quit (Read error: 104 (Connection reset by peer)). 00:54:30 -!- pikhq has joined. 00:57:01 bsmntbombdood: That is not a memory crisis. That is a cache. 00:57:35 ehm 00:57:37 logread 01:00:01 -!- augur has joined. 01:37:24 Now soliciting opinions on http://codu.org/music/vg/zee1.ogg (which is supposed to be semi-retro video-game-music-ish) 01:38:54 no drums? 01:39:04 THAT DOES NOT COUNT AS AN OPINION 01:40:11 sounds kinda general midi <- is this an opinion? 01:40:27 It is GM, 's all I've got (I refuse to use loops) 01:41:01 Also I just frankly don't want to take the time and effort to go hunting for soundfonts, put them all together, and then render something that's questionably not legal for me to redistribute anyway. 01:41:07 get some free vsts if your sequencer supports them? 01:41:54 I'm not sure what to say because for retro video game music I use trackers 01:42:22 I generally compose music of a less synthesized style :P 01:42:50 (And I compose it for human beings, eliminating the issue of making the computer make the right sounds) 01:43:06 well, the square wave does sound out of it's place 01:44:22 Really? I sort of liked the contrast. 01:45:10 Sounds fine. 01:45:37 Almost a standard of NES music. :P 01:46:17 well, nes music tends to be more bass+drums+stuff 01:46:23 because otherwise it's too thin 01:49:47 -!- jpc has joined. 01:57:10 Replacing the square wave by an accordion results in pretty much pure awesomeness. 01:58:32 I may actually do that :P 01:59:35 Mainly it's awesome because a simple do-do-so-do on an accordion = polka 02:06:55 -!- augur has quit (Read error: 104 (Connection reset by peer)). 02:07:06 -!- augur has joined. 02:07:44 -!- Asztal has quit (Read error: 110 (Connection timed out)). 02:24:34 yes, i think it could do with an accordion 02:25:19 * Sgeo__ tries From Hell to Heaven 02:25:29 Looks like it looks easier than it looks 02:25:36 "Solved by 1 players" 02:26:56 Actually, no 02:28:20 link? 02:29:00 http://robozzle.com/puzzle.aspx?id=1010 02:30:15 boo, no js version 02:30:30 oh wait, there is one 02:30:32 * coppro looks 02:30:44 no wait, there isn't 02:31:33 http://robozzle.com/js 02:33:34 yeah, but no js version of that puzzle 02:34:24 coppro, click one of the other puzzles, and put 1010 into there 02:34:39 Sometimes puzzles are hidden due to not getting good ratings 02:34:49 oh 02:35:11 * Sgeo__ has had issues with the JS client, actually 02:35:27 Like, if the robot dies off the edge, I can't restart the puzzle without refreshing the page 02:35:36 hit stop 02:35:54 hmm 02:35:57 It doesn't work 02:41:09 It would be silly for music to be illegal to distribute due to being made out of copyrighted soundfonts. 02:42:22 It's a derivative work. 02:42:31 Are you sure? 02:42:43 How could it not be? 02:43:40 soundfonts have weird copyright stuff 02:44:00 There would probably be some law stating it's not a derivative work. 02:44:02 because if they copyrighted the samples on synths people couldn't use them in music 02:44:20 obviously not good for roland 02:44:30 which is where your samples probably come from anyways 02:45:14 Mine are all public domain, it's the Chorium soundfont. 02:45:34 Ah, there's fair use. 02:46:22 This is especially amusing when compared with actual fonts... 02:46:24 Which cannot be copyrighted. 02:46:25 -!- Pthing has quit (Remote closed the connection). 02:46:26 Fair use has to do with how much of the work you use. When the work is a soundfont, and you used it to render music, you've used a lot of it. 02:46:36 I'm sure it's difficult to argue that using a soundfont in a piece of music and distributing the piece diminishes the value of the soundfont. 02:47:06 pikhq: I've heard that before, but I think I tried to verify it and wasn't able to. 02:47:06 (the actual font *file* can be copyrighted, though; it counts as a computer program.) 02:49:26 http://www.loc.gov/cgi-bin/formprocessor/copyright/cfr.pl?&urlmiddle=1.0.2.6.2.0.174.1&part=202§ion=1&prev=&next=2 02:50:20 (e) Typeface as typeface. 02:50:32 So, typeface as candy can by copyrighted. 02:50:37 Hahahah. 02:50:48 Yes, a candy mold of a typeface could be copyrighted. 02:50:56 But someone could carve their own mold. 02:51:23 So could I create a new file of an existing font, using the font file as my only reference? 02:52:04 So long as you actually *create* the new file, rather than deriving it, yes. 02:52:33 The font file merely describes how to render a typeface. You can look at the rendered typeface and imitate that just fine. 02:53:10 Note: it'll still be a derived work in Europe. 02:53:51 Is there legally a difference between copying the file and simply creating an identical one? 02:54:03 Yes. 02:54:17 The first is a derived work. 02:54:22 The second is a bizarre coincidence. 02:54:46 Well, I should say... 02:54:52 If I accidentally write a novel that's exactly equal to some Harry Potter book I haven't read, but with "Harry Potter" replaced by "Dodifer Fleghermaier", that's legal. Hard to prove though. 02:55:33 Unlike patent law. 02:55:42 Yesh 02:55:44 Between copying parts of the file, and looking at a part of the file, rendering it, and derendering it such that the new part is identical to the old one. 02:55:50 If you invent something that was invented and patented last year, you're screwed. 02:56:16 pikhq: If you invent something that was invented and patented twelve seconds ago, you're screwed :P 02:56:17 uorygl: If it's an automatic process, probably derived. 02:56:23 Gregor: Quite. 02:56:52 What if I invent something for which a patent was applied yesterday, but which has not yet been revealed to the public? 02:56:54 Heck, if the patent application was done by someone else a month after you, you're screwed. 02:57:23 (needs to be a year prior to be prior art. Yes, really.) 02:57:25 Ideally, if I do that, the law automatically changes such that the patent is invalid. 02:57:51 ...So I can invent someone and then someone else can patent it? 02:58:03 that's not the purpose of patent law 02:58:10 -!- Gracenotes has joined. 02:58:14 s/one/thing/ 02:58:15 "I invented it, too, right after he told me how he invented it." 02:58:18 the purpose of copyright and patent laws are actually different 02:58:21 Is Gracenotes addicted yet? 02:58:36 coppro: Yes. And that's tangential. 02:58:45 it's not 02:59:29 the purpose of copyright law is to give someone assurance that only they may profit from a work 02:59:38 Something can be nuts even if it has a purpose. 02:59:45 the purpose of patent law is to give the public the assurance that new innovations are available 02:59:56 oh, I completely agree 03:00:02 And that's not the purpose of copyright law. 03:00:17 what would you define the purpose of copyright law as, then? 03:00:18 ..maybe 03:00:22 The purpose of copyright law is to give the public the assurance that new works of art are available. 03:00:43 no 03:00:44 I lurv you all 03:00:47 And it only in that context that Congress even has the power to enact a copyright law. 03:00:48 my A key has been broken for 2 months 03:00:53 Erm. it is. 03:01:22 there is no such thing as a first-to-copyright system anywhere in the world, unless I'm seriously mistaken 03:01:33 -!- oerjan has joined. 03:01:36 That's a non sequitur. 03:01:41 it's really not 03:02:26 no _this_ is a non sequitur. oh wait... 03:02:39 Your mom is a non sequitur. 03:02:42 "Congress shall have the power [...] to promote the Progress of Science and useful Arts, by securing for limited Times to Authors and Inventors the exclusive Right to their respective Writings and Discoveries;" 03:03:01 I don't care about USAian law 03:03:10 Computer Useful Art 03:03:12 But that's what we were discussing. 03:03:17 oh, we were? 03:03:23 The "securing an exclusing right" bit is merely a means to an end... 03:03:30 That's not the first time I've cited it. 03:04:07 the USA further muddles things by adopting a first-to-invent system 03:04:32 Which is arguably not among Congress' powers. 03:04:39 (not that that's stopped them before) 03:04:40 don't know, don't care 03:05:02 Well, I cited the only bit that grants them the power to do a copyright or patent law. 03:05:24 (the US federal government does an astounding lot more than they have the de jure power to) 03:05:25 I meant I don't know or care about Congress' powers 03:05:36 GreaseMonkey, igoro replied to you 03:05:43 not being in the US, it's not important to me 03:06:13 Sgeo__: where? 03:06:19 http://robozzle.com/forums/thread.aspx?id=175 03:07:37 in any case, a first-to-patent system directly accomplishes the goal of public dissemination 03:07:48 Berne copyright does not 03:08:35 BURN COPYRIGHT YARGH oh wait you mean the Berne convention ... 03:09:42 whereas first-to-patent laws discourage information hoarding, copyright and first-to-invent systems do not 03:10:36 Really, the US has a most-$$$ system. 03:10:56 It doesn't matter if you invented it first if IBM invented it second. 03:10:57 In the modern day and age, limitation of the trading of information encourages information hoarding. 03:11:05 (Unless you're Microsoft) 03:11:58 actually, Gregor, that's only true in one direction 03:12:07 it's true that if IBM has the patent, you're screwed either way 03:12:36 but if you have the patent, and IBM violated it, you have a shot at some serious dough 03:12:42 This is true. 03:12:50 If you have the patent, then IBM will sue you for some patent that they *do* have, and offer to settle out of court. 03:12:57 With a reciprocal license. 03:13:01 possibly 03:13:04 Also true :P 03:13:22 This is the modus operandi of most all large corporations. 03:13:28 * Sgeo__ blehs at the Worlds.com 03:13:29 but in that case you can fight if they don't have a valid claim against you 03:13:41 Except that they almost certainly do. 03:13:43 sure 03:13:48 Because everything is patented :P 03:13:50 but what if you have no product? 03:13:50 You almost can't breath without violating a patent. 03:13:58 Business methods. 03:14:00 or if their patent is invalid? 03:14:02 Bilski 03:14:12 newfeatures? Worlds? lolWHAT? 03:14:18 Their patent being invalid again comes down to $$$. 03:14:28 You can patent adding 1 and 1 if you have enough dollar signs. 03:14:35 that's not it though 03:14:36 If you have absolutely no product, then you're not having the cash to sue, unless you're a patent troll. 03:14:50 pikhq: or you may be a startup without a product yet 03:14:53 In which case, the company in question has already paid your protection money. 03:15:02 coppro: In which case, you don't have the cash to sue. 03:15:06 And you're fucked. 03:15:14 Gregor: that's not the issue 03:15:25 the issue is that if you're sued for an invalid patent, you're screwed either way 03:15:39 but if you've got a suit of your own and you win both, you can cover your costs with the spoils 03:15:59 Yes, but you won't survive to the end of the suit. 03:16:19 (you got 10 years worrth of lawyer fees sitting around to shovel into something?) 03:19:23 LOL, this build of WorldsPlayer is 6 years old 03:19:39 Build date 11/12/04 03:19:53 The US' legal system is pretty much designed so that whoever has the most $ wins. 03:20:09 Our political system has approached that point, as well. 03:20:11 yeah 03:20:28 Oh, and corporations can fund the politics. 03:20:48 IP law is shaping up to be a real test of the government's willingness to listen to the people vs. the money 03:20:53 God bless America 03:20:54 especially copyright 03:21:24 So far, the people are losing. 03:21:38 looks like it 03:21:57 Though they have the advantage that IP law is about as enforcable as making breathing illegal. 03:22:08 but treaties are, fortunately, not enforceable until ratified 03:22:37 so ACTA/EUFTA(?) will need to make it past Parliament first 03:23:06 <3 Michael Geist 03:23:06 It's US copyright law that gets spread to other countries via treaty, y'know. :P 03:23:19 pikhq: not just that; the EU are trying to do it too now 03:24:06 ah, it's called CETA 03:24:07 http://www.michaelgeist.ca/content/view/4704/125/ 03:28:06 -!- dbc has quit (Read error: 110 (Connection timed out)). 03:59:33 -!- dbc has joined. 04:00:58 madbrain, GreaseMonkey: http://filebin.ca/mnotrf/zee1acc.ogg 04:01:37 http://cb.vu/ 04:02:11 Kinda changes the mood, but god that accordion is awesomesauce. 04:02:36 what's that 04:02:53 Music, of the Gregor kind. 04:02:56 Ostensibly it's semi-retro-video-gameish-music 04:03:04 Of the Gregor kind. 04:03:05 Wow, cb.vu looks like a Unix shell. 04:03:16 As per the norm for Gregor music, it is enjoyable. 04:03:36 Y'know what really looks like a Unix shell? http://codu.org/jsmips/system.html 04:03:49 Gregor: I'd sure hope so. ;) 04:03:56 personally i don't find it your best work, but very good work, obviously 04:04:14 It's not supposed to be my best work, it's my first attempt at writing something fairly out of my style. 04:04:20 right 04:04:26 I didn't manage to get that far out of my style though, making it a weird hybrid :P 04:04:28 What does this uname line tell you: FreeBSD cb.vu 7.1-STABLE FreeBSD 7.1-STABLE #2: Wed Jan 30 16:21:05 CET 2009 c@cb.vu:/usr/obj/usr/src/sys/CB i386 04:04:34 maybe you try a bit too hard to keep it consistent 04:04:50 I find it amusing that the thing making jsmips slow is the remote filesystem. 04:04:53 i386. I guess that means x86. 04:04:54 (lagtastic!) 04:04:58 (or not) 04:05:09 oklopol: How so? 04:05:34 well there isn't a clear change of mood anywhere, is there 04:05:52 No, no there is not. This is a good point. 04:05:58 oklopol: How much video game music does? 04:06:01 I mean, it's supposed to be background music. 04:06:06 ... Pre-Playstation, I should say. 04:06:13 pikhq: i've mostly heard FF music... 04:06:31 maybe i'm slightly biased 04:06:48 oklopol: Nobuo Uematsu didn't really start doing mood changes at all until SNES or Playstation era. 04:07:14 That's a technological limitation though. 04:07:23 Hard to coordinate music to onscreen events without any sort of video. 04:07:30 ...and the only FF musics i remember are from 9 and 7 04:07:43 Heh 04:07:59 Gregor: Harder still when the games didn't have much in the way of *plot*. :P 04:08:24 There's this witch. Uh, could you kill her for us? kthx 04:08:54 The plot for Final Fantasy was more like "Uh, there's a big bad. Could you guys defeat him? Kthx." 04:09:23 (and yet, still had some good music. "Final Fantasy" is a much nicer piece than it has any right to be...) 04:10:43 japanese ff3 has some nice songs 04:11:10 The same is true of all mainline Final Fantasy games. 04:11:19 Nobuo Uematsu takes video game music seriously, and it shows. 04:11:25 ok, better than the other nes games 04:11:37 pikhq: it's his job 04:12:09 madbrain: Then why does so much of the rest of video game music suck? 04:12:13 madbrain: It's their job too. 04:12:38 not enough time/too small budget/etc 04:12:53 also they don't care 04:13:31 ... Nobuo Uematsu, when he started, was hired part time out of the music rental store he worked at. 04:13:41 I'd call that "small budget". 04:13:47 yeah, he was at the right place at the right moment 04:13:57 It's kinda stunning that Square got even decent music out of that deal. 04:14:07 Much less "rather good". 04:14:16 also, talent, better tools... 04:14:34 a lot of early music (8bit era) was made in, like, assembler 04:14:40 Gregor: okay on a third listening, i don't think there's anything wrong with the mood 04:14:47 or -lessness 04:14:47 lol 04:15:28 madbrain: True. 04:15:33 like, if the square guys made him a program, and didn't force him to squeeze into, say, 32k to squeeze in more gfx, that probably helped 04:15:59 madbrain: They just told him what the NES could and couldn't do and let him have at it. 04:16:29 well, what I'd like to see is the tool the had to sequence the music 04:17:00 * pikhq is curious as well. 04:17:20 like, every so often they have .nsf compos 04:17:31 Gregor: maybe the feel of a sort of stability was just because the theme sort of stays the same throughout the whole song, which obviously was done on purpose, it just makes some of the "returning to the theme before next interesting part" feel pointless (maybe) 04:17:47 also maybe i should criticize less, it really was pretty good :P 04:18:08 I have no use for noncritical statements. 04:18:17 true. 04:18:21 well, looking at how people do songs for .nsf competitions these days 04:18:31 americans use trackers, japanese use MML 04:18:54 americans win the original song competition, japanese win the cover competition 04:19:03 * oklopol considers doing eso-related stuff 04:19:45 although it's hardly a NES compo anymore with all the extension chips people use 04:20:33 Why am I not eating yet? 04:20:58 wish i had food 04:21:11 also, final fantasy music was custom made for the console limits instead of some midi conversion 04:21:12 * Gregor wishes oklopol had food. 04:21:15 OK, now what? 04:21:55 hmm 04:21:59 send me munnay 04:21:59 madbrain: Helps a lot, that. 04:22:37 and he might have been more involved in the making of the game 04:22:42 It really helps a lot that Square actually had someone just write music that could fit on the NES, rather than "write something that counts as music". 04:22:59 instead of "here's 4000$, make us 20 songs" 04:23:16 "So one night when we were talking, she was asking if I would be interested in taking part in creating some music for some of the titles they were working on at that time. So I said, "Okay, for sure I'll do it." But that was totally a side job, and I wasn't considering that this would become any sort of full-time gig." -- Nobuo Uematsu 04:23:25 From http://www.1up.com/do/feature?pager.offset=1&cId=3166165 04:24:01 well, that's because in the 80s making music probably wasn't a full-time gig ever 04:24:28 that's more of a 16-bit era thing 04:25:13 -!- MizardX has quit (Connection timed out). 04:25:38 but yeah, these days games are more like made by the graphics guys 04:26:36 and they're not in a final fantasy 4 situation where the music has to be good because otherwise the games looks like total ass (just look at ff4's gfx) 04:28:10 FF4 didn't look like ass. *FF7* looked like ass. 04:28:49 ff7 looked good in 1997 :D 04:29:01 ... Not really. 04:29:09 and it's more like ff7 characters look like ass, the backdrops are nice afaik 04:29:25 The backdrops do look nice, yes. 04:29:36 Of course, those were *paintings*. ;) 04:30:00 the battle system models were less butty 04:30:18 "butty" :P 04:30:25 -!- oerjan has quit ("Lost terminal"). 04:30:36 probably because they didn't have to make the battle run at 30fps :D 04:30:36 It was pretty much the only entry in the series that looked *worse* than contemporary games... 04:30:55 yeah but the soundtrack is great 04:30:59 even though it's midi 04:31:11 The soundtrack is amazing, yes. 04:31:28 * pikhq puts on One Winged Angel. Whooo. 04:31:55 madbrain: Best heard performed by an orchestra. 04:31:56 it's sample set is less cheesey than most GM kits 04:33:03 that's the one where they recorded a choir no? :D 04:33:22 Like many before me, I feel like actually implementing Unix in JavaScript. 04:33:55 uorygl: http://codu.org/projects/jsmips/ 04:34:01 Help me with that instead :P 04:34:23 a lot of other psx soundtracks were made on synthesizers of the day 04:34:43 Gregor: how does that work? 04:34:43 madbrain: Yes, One Winged Angel has a choir. 04:34:50 roland/yamaha/korg romplers 04:35:01 "Veni veni venias, ne me mori facias." 04:35:04 uorygl: It's a MIPS simulator. In JavaScript. With an /actual/ Unix shell and vim compiled for it. 04:35:28 From the maker of Hackiki :P 04:35:49 It's considered the Sephiroth theme for some reason. 04:35:51 Why would you implement MIPS in JavaScript rather than just implementing Unix in JavaScript? 04:36:10 (the theme is actually, of course, Those Chosen by the Planet) 04:36:20 uorygl: Because ultimately you're going to end up having no compatibility with real apps unless you can run C programs. 04:36:31 Well, you can compile C into JavaScript! 04:36:41 Gregor: I'm curious: have you looked at Coffeescript at all? 04:36:56 Not really, C assumes you have addressable memory, and so you'd effectively be simulating a system anyway. 04:36:59 pikhq: Nope. 04:37:25 Wow, it sounds like C sucks. 04:37:27 there's a couple of holes in this C addressable memory thing, no? 04:37:45 Gregor: It's a language that maps rather closely to Javascript... 04:37:54 pikhq: I can see that. 04:37:56 Gregor: Rather nice. Much nicer syntax & scoping. 04:37:57 pikhq: syntically 04:38:04 pikhq: But I like JavaScript :P 04:38:08 madbrain: Maps closely semantically. 04:38:08 synatactically... whatever 04:38:11 yes 04:38:29 in working I'd think JS is a lot more like Lua and that kind of stuff 04:38:43 C is more like... asm? 04:38:48 Hmm. The root of "syntax" isn't "syntact", is it? 04:39:03 Gregor: And Coffeescript is fairly close to Javascript. 04:39:37 Gregor: Just, \x->x looks like (x => x) rather than (function (x) {return x}) 04:39:38 :P 04:39:53 I guess "syntax" is a truncation of "syntaxis". 04:40:25 but yeah, when you compose specifically for a platform, you can do amazing stuff 04:40:45 too bad that almost never happened on the PC 04:41:24 And then, starting with FFX, Nobuo Uematsu had it easy. 04:41:38 Sorry, this game only works with the Sound Blaster Pro 04:41:51 Dunno, after FF9 the soundtracks become less memorable 04:41:51 "Okay, here's your choir and orchestra. Come back with some CDs." 04:42:08 well, scoring for orchestra is an art too 04:42:28 ... *To Zanarkand* is not memorable? 04:42:32 madbrain: I don't think anyone would dispute that fact :P 04:42:36 haven't heard it actually 04:42:38 What sort of heartless bastard are you? :P 04:42:45 pikhq: ok FFXII 04:42:47 Did you *play* FFX? 04:42:49 no 04:42:50 :D 04:42:56 FFXII wasn't Nobuo Uematsu. 04:42:58 So that's why it's not memorable then :P 04:43:02 Yes. 04:43:04 :D 04:43:06 yeah 04:43:11 madbrain: Play FFX. 04:43:17 It's the best game in the series. 04:43:34 Only one I've replayed. 04:43:35 Whoah, that's a strong statement. 04:43:48 Also, wtf, FFXII wasn't scored by Uematsu? D-8 04:44:01 I'm a huge fan of composing for the hardware instead of just making mp3s 04:44:06 Gregor: Nope. FFX wasn't soley scored by him, either. 04:44:08 but I'm a nerd :D 04:44:24 yeah something that large is probably more than one guy no? 04:44:29 I'm a huge fan of composing for the hardware, where "the hardware" = "a piano" 04:44:39 madbrain: First time he didn't compose the entire game. 04:45:07 He did compose all of FFXI. And is composing all of FFXIV. 04:45:26 Who cares about FFXI :P 04:45:34 He's not actually the best but he's way good enough 04:45:35 What about X-2? 04:45:49 Gregor: Not him. 04:45:55 the guy who did chrono trigger is actually better 04:46:33 madbrain: ... Mitsuda and Uematsu? 04:46:43 mitsuda something yeah 04:47:40 Gregor: People who like MMOs. 04:47:43 Okay, in C, when do you actually use addressable memory? 04:47:48 Pointers. Arrays. Anything else? 04:47:56 uorygl: ... but pointers and arrays are /everywhere/. 04:48:06 uorygl: Everything in C is addressable. 04:48:12 well, no but yeah the sort of pointer/array merge it has is everywhere 04:48:14 uorygl: The only way to get memory dynamically is to get an address to something. 04:48:16 (well, almost everything. All lvalues are.) 04:48:33 and you have the problem that you can mess up all the dependencies with pointers 04:49:01 You can mess up pretty much anything with pointers if you please. 04:49:01 int p; p = 2+5; wacky_function(&p); 04:49:14 You can rewrite functions with pointers. 04:49:19 (not in a portable manner) 04:49:33 yeah that's inherently platform specific 04:49:39 Well, let's say that we figure out how to implement pointers and arrays. 04:49:56 uorygl: Then you're simulating virtual memory. 04:50:07 Haskell has pointers and arrays. 04:50:11 uorygl: And all of your operations have to support the fact that values may change from under them, so they're all simulated too. 04:50:14 madbrain: what is &? 04:50:20 I think you have to figure out if variables are only local or if they get turned into pointers/references 04:50:24 The address-of operator. 04:50:25 Oh, uorygl doesn't speak C, that explains it :P 04:50:32 uorygl: get memory address operator 04:50:34 That does explain it! 04:50:38 uorygl: In C, everything is addressable. 04:50:54 Except for return values, and... 04:51:16 A handful of other niche things. 04:51:27 once stuff is pointerizable, then you can contaminate stuff in your program with it and mess up everything 04:51:43 pikhq: Also variables labeled "register" :P 04:51:51 uorygl: And "pointers and arrays"? 04:51:56 uorygl: Surely you just mean pointers. 04:52:04 Gregor: Right, right. 04:52:29 might be doable anyways 04:52:56 although you'll probably need to simulate integer wraparound :( 04:53:00 madbrain: Oh, you can do it. You just have a memory array. 04:53:09 No, you don't need to simulate integer wraparound. 04:53:14 Going beyond the bounds is UB. 04:53:21 We can say that pointers are opaque until you try to do something non-opaque with them. 04:53:34 pikhq: ok, for char and short 04:53:41 and... was it long? 04:53:56 And when you do something non-opaque with them, they turn into dictionary keys. 04:53:59 it's probably messed up depending on compilers anyways 04:54:04 Erm. Sorry, that's *signed* integer wraparound that's undefined. 04:54:10 Unsigned is obvious. 04:54:20 uorygl: Nope, won't work. 04:54:23 No? 04:54:32 uorygl: Something "non-opaque", like a[1]. 04:54:43 uorygl: programs do nasty stuff with pointers 04:54:49 uorygl: Or a ^= b; 04:55:16 uorygl: Or a++; 04:55:37 javascript is designed for people doing programs directly in it, not handling butty C syntax trying to save 3 cycles on a VAX 04:55:51 Pointer + integer is opaque enough. 04:55:56 uorygl: Or (and this is really nasty:) int a = 0;a = &(1[(char*)a]); 04:56:23 pikhq: yeah you're going to have to intercept that kind of cast 04:56:29 Hmm. 04:57:04 madbrain: Yeah, very much undefined behavior. 04:57:12 Make it intptr_t, and you're just fine. 04:57:24 (sizeof(intptr_t) = sizeof(void*)) 04:58:01 uorygl: I suppose you're not familiar with the xor-linked list? 04:58:11 That sounds really painful. 04:58:17 pikhq: oh god that sounds totally horrible 04:58:26 It's a doubly linked list with a single pointer per node. 04:58:42 Ah, yes. 04:58:54 nice way to save 4 bytes at the cost of sanity? 04:58:55 Each node has the previous node xor the next node stored in it. 04:59:00 You XOR that pointer with the pointer you came from and get the pointer you go to. 04:59:19 Well, how's this. 04:59:41 that means you have to use 2 pointers to get inside the list but it's easy to reverse reading order?& 05:00:30 yeah that's like, impossible to garbage collect 05:00:37 Is madbrain addicted yet? 05:00:44 madbrain: You can also make it defined behavior by doing s/xor/addition/ 05:00:51 (since pointer addition is defined) 05:01:08 That is indeed impossible to garbage collect, in the absence of compiler intelligence. 05:01:26 "compiler intelligence" like "halting problem". 05:01:26 [garbage-collector intelligence] 05:02:08 The Boehm GC answer to that is "if you do that, we *will* free the memory out from underneath you. So don't do that." 05:03:05 sgeo: to what? 05:03:47 BGC = awesome 05:03:48 RoboZZle 05:03:51 AFK 05:04:36 Gregor: Why yes, yes it does. 05:04:43 Favorite C library. 05:04:46 It does ... awesome? 05:05:00 Oh, it does equals 05:05:10 I always read "foo = bar" in normal conversation as "foo is bar" :P 05:05:19 Heheh. 05:06:45 -!- coppro has quit (Remote closed the connection). 05:06:45 i read it as foo = bar 05:07:33 i usually don't read irc out loud, because i'm not a crazy person 05:07:36 -!- coppro has joined. 05:14:57 -!- uoryfon has joined. 05:15:20 Feckless, my Internet connection lapsed. 05:15:40 So, I saw none of what anyone said. 05:16:01 Anyway, my scheme: 05:17:22 Whenever the program wants to dereference something, take a hash and store it in the dictionary. To dereference, look for nearby keys in the dictionary and subtract to find an offset. 05:19:08 why not just simulate memory with a huge array 05:19:36 That sounds less efficient. Maybe it actually isn't. 05:20:06 What I did was use 4K arrays nested in a hash. 05:20:14 So a page is an array. 05:20:47 What if you have a really big array in your C program? 05:21:30 What if you have a really big array in your C program? 05:21:39 What if you have a really big array in your C program? 05:21:41 Why would that be an issue? 05:22:09 Well, it could exceed the page size. 05:22:57 A page's hash plus 4096 is not the next page's hash. 05:23:06 Why would that be an issue? 05:24:21 Because a program might use pointer arithmetic and get the wrong thing? 05:25:00 How could it possibly get the wrong thing? It's ultimately going to look up the location by its absolute address, not by looking up the base address of the array and assuming the rest is there. 05:26:01 Isn't that how C works, though? 05:26:28 By taking the base address of the array and assuming everything else is there? 05:26:29 C adds to a pointer, and then looks up the resulting pointer. 05:26:43 uorygl: ... Welcome to paging. 05:27:19 store each pointer as a 2-byte hash of the object's address and a 2-byte offset 05:27:20 (fun fact: memory is not actually contiguous, it just pretends to be!) 05:27:33 and just complain if you try to allocate more than 65535 elements in a single array 05:28:01 Store each pointer as an index into an array. And implement that array as 4K arrays in a hash. 05:28:33 Making the only annoying things to implement be malloc and free. 05:28:47 I guess that sounds like it works. 05:28:55 or just use llvm? 05:29:00 (though, this being MIPS emulated, that's on the C side) 05:29:02 * coppro ducks 05:29:56 Y'know what's sad? I've had zee1 on loop for like an hour now :P 05:30:15 But gosh, C still sucks. It's not even approximately Turing-complete without this barely-well-defined artifact of von Neumann? 05:30:40 C is a language designed for computers, yes. 05:31:08 Gregor: here, stick this on loop: http://pubacc.wilcox-tech.com/~greaser/mods/kattywampus.it 05:31:10 :P 05:31:18 well, C would need infinite size plointers 05:31:23 pointers 05:31:25 That's ... a dot-it file? 05:31:25 I think Gregor has the right idea 05:31:25 C is not Turing complete without stdio. 05:31:33 Gregor: what players do you have? 05:31:34 sure it is 05:31:45 GreaseMonkey: mplayer, vlc, anything else in Debian sid. 05:31:46 it shouold work OK in mikmody and modplugy stuff 05:31:56 why would you need stdio for C to be Turing-complete? 05:32:05 coppro: ... Finite memory? 05:32:05 Is dot-it some kind of new-age .mod? 05:32:12 yeah... 1996-era 05:32:16 Yeah, I suppose realistic computers are probably going to have addressable memory. 05:32:19 pikhq: eh, same goes for every other computer language 05:32:21 pikhq: size_t is still finite 05:32:29 check if you've got mikmod, it doesn't interpolate (read: butcher) like vlc (modplug) does 05:32:34 bsmntbombdood: And stdio doesn't require size_t. 05:32:36 unless you explicitly enable it 05:32:45 $ aptitude install mikmod 05:32:48 You can just *happen* to have an infinite tape as a file. :P 05:33:01 coppro: C *requires* it. 05:33:02 size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream) 05:33:03 oh? 05:33:07 pikhq: C + Unix + stdio + my infinite tape device :P 05:33:18 bsmntbombdood: So you can only read a finite amount at a time. 05:33:21 pikhq: except many file systems have limited file size to stuff like 4gb :D 05:33:21 pikhq: so any implementation of C is not Turing-complete 05:33:22 seek w/ SEEK_CUR only 05:33:23 The same is true of a Turing machine. 05:33:34 mikmod is a bit lacking in IT support sadly, but it should play that fine 05:33:34 coppro: C itself is not Turing-complete. At all. 05:33:35 pikhq: combine that to finite size file names 05:33:46 pikhq: the standard imposes no limits on the size of memory 05:33:46 long ftell(FILE *stream); 05:33:48 madbrain: Single file that's a tape? 05:33:53 coppro: Yes it does. 05:33:57 there are no sustain loops 05:33:58 coppro: Everything must be addressable. 05:34:10 pikhq: uh, you forgot about I/O 05:34:12 pikhq: if you run out of addresses, get an implementation with widen pointers 05:34:14 coppro: And pointers must have a size that's a multiple of the size of char. 05:34:19 coppro: And the size of a char must be finite. 05:34:31 *wider 05:34:33 coppro: Pointers have to have a constant size. 05:34:42 technically the x86 is turing-complete as it has I/O available in some way 05:34:43 And finite. 05:34:47 coppro: you can output the size of a pointer, clearly after something like that there must be some set size limit for pointers 05:34:55 GreaseMonkey: ... stdio is IO. 05:34:55 which you could theoretically hook up to a tape drive 05:34:58 pikhq: that's why I said that any implementation of C is not turing-complete 05:34:59 GreaseMonkey: How does one convince mikmod to output to ALSA instead of ... a file. 05:35:11 coppro: Pointers are *specified* to be finite. 05:35:22 C kinda almost designed for programs where everything is fixed size 05:35:29 kinda like old DOS programs 05:35:30 technically you could make an implementation that makes pointers bigger if needed ofc, but i doubt that's allowed to be visible to the user 05:35:34 Not merely "must be in practice", *MUST BE BY DEFINITION*. 05:35:40 oklopol: No. 05:35:42 Gregor: i honestly can't remember if mikmod has an alsa driver... esd should have an alsa version, and mikmod should have an esd driver 05:35:48 oklopol: sizeof(void*) is constant. 05:36:11 aoss + -d oss 05:36:21 As an optimisation, you could store them in less than sizeof(void*) units of char, so long as it was transparent. 05:36:28 hmmkay 05:36:30 afk, food 05:36:34 Of course, since char is finite, that doesn't get you anywhere. 05:36:56 but yeah that sort of platform is based on the irl fact that for infinite tape, 4gigabytes is "infinite enough" :D 05:37:34 pikhq: a Universal Turing machine either requires a finite amount of memory for a computation, or doesn't halt 05:37:48 and C can meet that standard 05:37:50 coppro: Sorry, I should say: 05:37:57 coppro: C requires finite *and bound* memory. 05:38:11 only any given implementation of C does 05:38:13 coppro: A finite but unpredictable amount of memory. 05:38:18 You have to specify the amount of memory before running the program. 05:38:28 coppro: No, there's always a bound. 05:38:28 what if the amount of memory is input dependent? :D 05:38:32 yes, so any implementation of C is not Turing-complete 05:38:48 ... And so C is not Turing-complete. 05:38:56 A Turing machine can't simply say how much memory it needs. 05:38:58 Good lawd, how are we somehow on this again X_X 05:39:21 coppro: Translate the following to C: [>] 05:39:26 Go on, I'm waiting. 05:39:35 Erm. 05:39:37 +[>] 05:39:43 pikhq: abort() 05:39:48 coppro, why do you think it is merely any implementation of C, rather than C itself, that is not Turing-complete? 05:39:53 coppro: Not a valid translation. 05:39:53 well, iirc interpreters for other turing complete languages will probably have a 4gb bound too :D 05:39:56 abort() halts. 05:40:01 fine 05:40:01 +[>] does not. 05:40:02 while() 05:40:06 ; 05:40:23 it's dumb distinction anyway 05:40:23 Not a valid translation. +[>] uses infinite memory. while(); does not even compile. 05:40:46 uoryfon: Because for any Turing machine, you can generate an implementation of C to simulate it 05:40:51 madbrain: Yes, but they're not required to be bound by definition. 05:40:53 more like while(1){ malloc(1);} 05:40:58 coppro: No you can't. 05:41:05 why not 05:41:08 +[[>+<-]>+] 05:41:21 for any halting one, yes 05:41:26 I hate this argument. 05:41:29 madbrain: More like void*p; while(*p++); 05:41:30 yes 05:41:31 How many times must this channel have this argument? 05:41:44 any nonhalting Turing machine can be simulated by having the C program not halt 05:41:47 Gregor: this is the fourth time i've seen i think, must be one hundredth for you? 05:41:58 I bought a USB infinite tape JUST so I'd never have to have this argument again. 05:42:02 i mean you've been here since the middle ages 05:42:02 It's at /dev/infinite_tape 05:42:07 lol 05:42:21 cpressey, who has recently reappeared, has been here far longer than me. 05:42:27 calamari has been here for a bit longer than me. 05:42:31 coppro: would you say that every Turing machine can be simulated by an FSM? 05:42:32 madbrain: That may halt in a compliant C implementation. 05:42:35 clog has been here longer than me. 05:43:33 You can't just make something dependent on whether the machine halts or not; that would be solving the halting problem. 05:43:38 let's make a nice esoteric language 05:43:39 Gregor: i didn't say you were the first one here 05:43:50 True :P 05:44:02 uoryfon: yes; not by the same one, though 05:44:03 pikhq: no it can't 05:44:07 uoryfon: of course you can, when talking about the existance of things 05:44:43 ok how about a problem like this: to design something like a super massively parallel cpu, you'd need something that doesn't have a gazillion data dependencies 05:44:51 bsmntbombdood: What does pointer wraparound do? 05:44:52 coppro: so FSMs are Turing-complete? 05:44:52 Chris is back? cool 05:44:56 which is an unfortunate property of RAM 05:45:11 oh, it's probably undefined 05:45:15 RAM is, like, the least parallel thing ever 05:45:18 uoryfon: I'd say that all FSMs are Turing complete. You cannot construct a single Turing-complete FSM 05:45:21 so i guess it could halt 05:45:28 coppro: I think you need to rethink your definition of Turing-completeness. 05:45:35 calamari: He was here a couple days ago, and a day or so before that. 05:45:38 or I'm just doing this to annoy you 05:45:41 FSM have finite storage space 05:45:49 yes... 05:45:51 -!- GreaseMonkey has quit (Read error: 104 (Connection reset by peer)). 05:45:54 coppro: and once you have a definition of turing-completeness, do share it 05:45:57 and not infinite like you'd need 05:46:02 coppro: And are therefore not Turing-complete. 05:46:02 we don't have one yet 05:46:10 Well, then, you can't construct a single Turing-complete C program. 05:46:25 [22:45:13]or I'm just doing this to annoy you 05:46:34 lament still comes around, doesn't 'e? 05:46:38 uoryfon: well, you'd need an implementation of C where pointers are not fixed size 05:46:51 madbrain: such is forbidden by the standard 05:46:53 madbrain: Which is impossible. 05:47:02 which would be sorta neat but would not have any practical use and probably violate the standard yes 05:47:10 Gregor: he seems to come everytime he's reminded of the channel at least 05:47:16 Heh 05:47:29 oklopol: which is why I added this channel to my autojoin list ;) 05:47:30 a few times he's seen me on another chan and instantly joined here :P 05:47:34 He's the first recognized name in the log (on the first day of the log) 05:47:43 yeah 05:47:58 i've read the genesis 05:48:12 were any of you guys on the mailing list? 05:48:22 -!- GreaseMonkey has joined. 05:48:25 I'm a relative n00b, myself. 05:48:25 i'm just here 05:48:27 [18:47:08] back 05:48:27 [18:47:27] ...cpressey appeared again? 05:48:32 how do you make a practical super-parallel processor? 05:48:33 I barely remember that there was a mailing list. 05:48:36 i got routerscrewed 05:48:49 GreaseMonkey: See recent log :P 05:49:02 -!- uoryfon_ has joined. 05:49:03 madbrain: message passing 05:49:14 coppro: that sounds like a bitch to code for 05:49:16 http://tunes.org/~nef/logs/esoteric/04.01.01 That's an impressive genesis. :P 05:49:34 madbrain: go learn erlang 05:49:41 * pikhq greps for conversation 05:49:55 basically it's manual parallelization 05:50:01 I'm thankfully not the most senior member of this channel, but I believe I am the most simultaneous people/bots on this channel :P 05:50:19 Gregor: Quite likely. 05:50:29 it's hardly manual parallellization. It's manual communication between independent, parallel parts 05:51:13 sounds like it'd be sensible to timing differences 05:51:35 -!- uoryfon_ has quit (Client Quit). 05:51:45 fortunately, asiekierka appears to be older than clog. 05:51:56 ...i think 05:52:20 ARGH THE TIGHT [inter]NET OF FOLKS I KNOW 05:53:22 This channel has a decent attrition/repopulation rate. 05:53:39 I never come back after ignoring it for a few months and find nobody I recognize, but I usually find somebody new. 05:53:47 i remet someone i knew over some now pretty much dead forums via youtube, we could have also potentially clashed over minecraft or through a sonic hacking group -> monsquaz (don't ask what this is) -> mod shrine 05:54:07 so before we remet he was already a friend-of-a-friend somewhere 05:54:11 coppro: the idea is, if you can eliminate the global dependency caused by stuff like RAM or side effects, you can basically parallelize everything automatically 05:54:20 GreaseMonkey: What's monsquaz? 05:54:24 :P 05:54:52 even execution order stuff can be parallelized by stuff like functionnal programming 05:54:53 Gregor: you don't want to know... it's some sonic-hacking injoke group i suppose 05:55:06 also an animation 05:55:09 Gregor: You never recognize me? 05:55:13 :P 05:55:32 pikhq: I NEVER come back ... and find NOBODY I recognize. 05:55:33 the latter is disturbing, the former is pretty much a cyberbullying ring and that's why i left 05:55:41 Oh. 05:55:47 Parsing English is *hard*. 05:55:59 don't worry, us foreigners got it right 05:56:03 pikhq: yeah, i tried it once in python 05:56:22 man kattywampus.it is great even if i do say so myself 05:56:23 except i have no idea what GreaseMonkey and madbrain are 05:56:37 oklopol: i've been here before, like, a few years ago 05:57:00 I recall GreaseMonkey being around when I first entered. 05:57:02 and madbrain... first sighted in digitalmzx/#mzx, second in #mod_shrine, third here. 05:57:05 lol, obviously i remember you 05:57:08 madbrain I think just showed up one day. 05:57:10 i mean i don't know where you live 05:57:36 asie i sighted on dmzx and met here, i think 05:58:12 i recognise maybe 30% of the people here 05:58:14 yeah 05:58:33 pikhq: basically I found the channel from the esolang wiki I think 05:58:50 yeah, roughly 05:58:50 madbrain: Same here. 05:59:03 I found it from a whois 05:59:06 i think i found it via the wiki, too 05:59:06 I was approximately a few feet from here, physically. 05:59:46 O_O 05:59:52 People found the channel from the esolang wiki. 05:59:53 Whoah. 06:00:09 the wiki is nice 06:00:10 * Gregor was here when the esolang wiki started, and that should not make me feel like I've been here a long time :P 06:00:13 Gregor: The wiki is actually quite handy. 06:00:28 yeah 06:00:29 i recognize 32/40 06:00:33 Especially that Brainfuck algorithms page. 06:00:51 suppose I want to launch an esoteric language, make a page on the wiki, kdone 06:00:53 Nono, don't get me wrong, the esolang wiki is awesome, it's just for some reason I didn't ever think of the this-channel-to-esolang-wiki link as bidirectional. 06:01:06 Gregor: Hahah. 06:01:15 i'm the guy who did RETURN, btw 06:01:54 unfortunately i've just realised a bit of undefined behaviour 06:04:44 madbrain: learn from me: if it's not PD people will sometimes scream at you 06:04:52 the spec must be PD 06:05:08 your interpreter, on the other hand... if you want it archived then PD should be fine 06:05:29 if it's really proprietary people will probably bin the link 06:05:50 I don't actually care about licenses 06:05:52 PD is overboard, but it ought to be under a liberal F/OSS license. 06:07:57 the spec needs to be PD if you want it on the esolang wiki 06:08:11 It should at a bare minimum not make Stallman cry. 06:08:21 interpreter, on the other hand, should ideally be FOSS. 06:08:49 Why would anyone make a non-PD esolang spec? 06:08:57 like I said, I don't actually care about license 06:09:08 Is someone actually interested in making money off an esolang/ 06:09:09 ? 06:09:10 Sgeo__: if you're like me, you're probably not thinking straight 06:09:37 I never thought for an instant that I'd make money off PSOX 06:09:40 or you don't like letting go of stuff fully 06:09:55 sgeo: the only thing that sounds kinda like that is the forth dude 06:09:56 i often used a "remember to credit me" thing 06:09:58 and even then 06:10:12 madbrain, hm? 06:10:23 Oh, Colorforth? 06:10:33 colorforth didn't make money I think 06:10:57 ... Money? Esolang? 06:10:59 -!- uoryfon has quit (Read error: 110 (Connection timed out)). 06:11:01 but the guy made money earlier, dunno with what 06:11:03 pikhq, exactly 06:11:07 Only the "plain English" guys were that crazy. 06:11:11 yeah it's a hoby 06:11:21 pikhq, "plain English" guys? 06:11:30 https://www.osmosian.com/ 06:11:33 This bit of hilarity. 06:12:55 Where's the compiler? 06:13:03 Oh, you have to email it from them? 06:13:06 erm, wait 06:13:08 that came out wrong 06:13:12 sounds like englishified basic or something 06:13:46 Somewhere in the logs is a link to the compiler... 06:14:24 http://www.osmosian.com/cal-3037.zip 06:14:27 They suck at charging. 06:15:12 whee i think i've solved #195 "another speed control" 06:15:41 What language was the first compiler ever written in? 06:15:46 #195 in what? 06:15:49 Erm, first "Plain English" 06:15:50 Euler? 06:15:55 They claim to have the most advanced compiler tech. 06:16:03 coppro: robozzle 06:16:06 Who cares how fast it is? 06:16:07 oh 06:16:13 What's interesting is the language itself 06:16:17 what does that english compiling shit is 06:16:22 uh 06:16:26 "We are all, by any practical definition of the words, foolproof 06:16:26 and incapable of error. Nevertheless..." 06:16:26 yeah something like that 06:16:32 It sucks. 06:16:39 And they charge for it. 06:16:45 what does it do 06:17:05 set n to 3 plus 8 06:17:10 or what? :D 06:17:17 "If the copy is greater than the number, break." 06:17:22 "Recompiles itself in 3 seconds", they claim. 06:17:40 Just a second while I test PFUCK's self-compile time. 06:18:13 0.121 seconds. 06:18:25 Clearly, I am the most awesome compiler author. 06:18:52 "Now I know that right about here most programming books would drum u 06:18:52 some dippy little "Hello, World" program and expect you to be impressed 06:18:52 but I'd like to suggest that we skip the kid stuff and start makin' babies." 06:19:13 also just did #305 "Follow directions" 06:19:51 ..and it doesn't exactly give syntax info or any code. That is just showing how to put a demo calendar into the IDE and compile 06:20:28 Yup. 06:20:37 It's actually undocumented. 06:20:43 wait, you mean this has no documentation? 06:20:43 Finallly, something interesting 06:20:51 Page 11 of the documentation 06:21:11 And has a rather simple compiler. 06:21:41 With silly, cutesy names for thinks. 06:21:47 'monikette'. 06:22:04 "I don't do nested IFs. Nested ifs are a sure sign of unclear thinking, and 06:22:04 that is something that I will not countenance. If you think this cramps your 06:22:04 style too much, read my code to see how it's done. Then think again." 06:22:28 haha that's horrible 06:22:42 i tend to recurse lots 06:22:45 i wonder how they got such fast compile times 06:22:53 heh 06:22:56 oklopol: By being trivial. 06:23:11 "I don't do nested LOOPS. Nested loops indicate that you have failed to 06:23:11 properly factor your code into manageable chunks, and I don't want you 06:23:11 regretting that later. Time after time my otherwise omniscient creators 06:23:11 thought they could get away with it, and time after time they were wrong" 06:23:18 "I don't do recursion. Recursion is a sure sign of thinking, and that is something i will not countenance." 06:23:35 sgeo: are you making that up 06:23:36 They emply "advanced techniques" like "a hash table" in the compiler. 06:23:42 madbrain: No. 06:23:44 madbrain, I wish 06:24:23 well, does it do recursion? 06:24:47 I don't see anything that says it doesn't *shrug* 06:24:59 more like, will it blow up if I try to use it like it was scheme 06:25:05 i wonder how many fucking times i've written the same function that enumerates every subset of size n... and i never save it anywhere 06:25:23 "Repeat." appears to be a tail call. 06:25:43 pikhq: repeat this function? 06:25:53 "You probably noticed that I mentioned comments on the preceding page, but 06:25:53 didn't say what they look like. I did that on purpose. I don't like comments. " 06:25:54 oklopol: Yes. 06:26:02 hahahaha 06:26:02 #311 "Follow directions II" solved in (5,4,4) instructions 06:26:22 "Most comments are either useless, or worse. Useless, if they merely reiterate 06:26:22 what the code already says. Worse, if they attempt to clarify unclear code 06:26:22 that should have been written more clearly in the first place." 06:26:43 "You will find that my editor displays simple comments in a delightful sky blue 06:26:43 making it easy for you to see what I'm going to ignore. And no, you can't 06:26:43 change the color. My creators have assured me that this is the right color." 06:26:52 "(3) Anything more than this falls under the heading "garbage collection" and, 06:26:52 as every manly programmer knows, garbage collection is for sissies. 06:26:53 " 06:27:07 is that in there? 06:27:11 Yes. 06:27:13 And yes. 06:27:22 hmph 06:27:32 It has manual memory management. 06:27:43 obviously it's our fault for being terrible if we want to use anything neat 06:27:56 that's a bit too direct an admission of not being serious 06:28:05 "manly programmer" 06:28:12 -!- tombom has joined. 06:28:49 is it a subtle joke? 06:28:53 So much of the language screams "No, I don't know how to do this right, and I don't care." 06:29:03 madbrain: ... They charge for this shit. 06:29:12 YOU CAN PAY MONEY FOR THAT ZIP FILE. 06:29:22 (they then email the link to you. :P) 06:29:29 "The third kind of comment that I understand is the qualifier." ... "Note that qualifiers are not like simple comments and remarks. Qualifiers are 06:29:30 considered part of the program and affect how the compiled code executes." 06:29:36 like, even C is higher level than this :( 06:30:02 * Sgeo__ vaguely realizes that Python also has things like comments that can effect execution. But it doesn't call them comment 06:30:04 *comments 06:31:42 madbrain: This is more like a poor assembler. 06:32:01 what sort of data types does it have 06:32:08 let me guess 06:32:15 nothing variable sized of course 06:32:26 madbrain: Well, there's your int, your string, your real, your reference, and you can do structures. 06:32:28 It has strings, I think 06:32:31 the only things a manly programmer needs, ints, bools and strings of sub256 length. 06:32:35 pikhq, I thought it didn't have reals 06:32:40 Erm. 06:32:43 s/real/rational/ 06:32:55 like, floats? 06:32:56 Floats? Bah, humbug! 06:33:24 "I don't do REAL NUMBERS. I do ratios, very elegantly, but I don't do reals. 06:33:24 My page editor reduces and enlarges and sizes shapes proportionately in and 06:33:24 out of groups and it does it all without real numbers. Master Kronecker was 06:33:24 right when he said, in German, "The dear God created the whole numbers; all 06:33:24 else is the work of man." I'm not interested in menschenwerk." 06:33:50 you're telling me this doesn't have floating point 06:34:14 They then give a "ASCII" table. By ASCII, they mean "Code page 1250". 06:34:18 madbrain: Yes. 06:34:23 haha 06:34:31 yeah this is the worst 06:34:42 It doesn't have inline assembler. You can, however, manually assemble something and use that. 06:34:49 (see: the noodle) 06:35:08 intel $8B8508000000. 06:35:11 SO VERY ENGLISH! 06:35:30 -!- Wareya has quit (Read error: 110 (Connection timed out)). 06:35:31 yeah 06:35:50 how do you unzip in python 06:35:56 wasn't Sgeo__ a pythonist at least 06:36:10 not really a question, i know he was 06:36:30 The worst part is, they probably think this is high-level. Should replace them with a small Haskell function. 06:36:35 -!- jpc has quit ("I will do anything (almost) for a new router."). 06:36:52 * Sgeo__ is also someone who needs to go afk occasionally 06:36:55 heh 06:37:04 "Over 100 Pages of Documentation " 06:37:09 over 100! 06:37:15 -!- jpc has joined. 06:37:45 haha the manifesto 06:37:45 oklopol, http://docs.python.org/library/zipfile.html 06:38:04 byzantine "C" language 06:38:18 madbrain: Dear God, I think I've got more than 100 pages of documentation just from the man-pages tarball. :P 06:38:47 Heck, my Emacs manual is nearly 600 pages. 06:38:57 And that's not comprehensive. 06:40:13 "They pray for guidance. Then they consider deleting the offending feature 06:40:14 altogether, to resolve the problem and prevent "feature creep" at the same 06:40:14 time. Next, they study the code, hoping to simply "discern" what the problem 06:40:14 is. If the bug has not been found, they pick an appropriate spot and insert a 06:40:14 buzz. If they hear it on the next run, they pick another spot further down the 06:40:16 line, and try again. If there is no buzz, they repeat the entire process. 06:40:19 " 06:40:21 On debugging. 06:41:21 * Sgeo__ tended to do that with Python 06:41:32 The Visual Studio C# debugger really opened my eyes 06:42:19 I still don't get debugging 06:42:22 In Tcl, I made a breakpoint function that started a REPL and inserted it into relevant places. 06:42:28 disclaimer: I'm not a professionnal coder 06:42:30 In C, <3 GDB. 06:42:37 In Haskell, I think. 06:43:51 "If you are bilingual, you can use our compiler for engineering Plain French or Plain Croatian." 06:43:55 Sgeo__: oh lol i mean unzip after calling zip 06:44:08 How's about Plain C? 06:44:17 well not after it, just the operation of splitting elements of a list into two lists 06:44:30 ...well not exactly that either, maybe i should just give an example 06:44:45 [(1,2),(3,4),(5,6)] => [1,3,5], [2,4,6] 06:44:59 i assume there's something for that because there is in J ;) 06:48:10 oklopol: Dunno about Python, but in Haskell that's "unzip". 06:48:26 oh, i guess that's where i got the name :P 06:48:38 not very consciously tho 06:48:39 Well, except that it's [(1,2),(3,4),(5,6)] => ([1,3,5],[2,4,6]) :P 06:48:55 unzip :: [(a,b)] -> ([a],[b]) 06:48:58 doesn't haskell let you omit ()'s too 06:49:01 -!- puzzlet has joined. 06:49:04 No. 06:49:17 hmm, indeed not 06:49:23 http://docs.python.org/library/functions.html 06:49:27 zip() in conjunction with the * operator can be used to unzip a list: 06:49:31 in any case same types 06:50:11 oh, right 06:50:14 fun hack 06:51:06 but why not have an unzip, me asks 06:52:49 because it's needless? 06:53:09 coppro: By that notion, all of Prelude that is not IO is needless. 06:53:10 :P 06:53:24 (seriously, all the rest is fairly trivial pattern matching) 06:53:36 (... And recursion, obviously) 06:58:08 coppro: because you'll need to write it yourself otherwise. it'll just be trivial to write if it's a special case of zip 06:58:30 but it would be trivial without using zip as well 06:58:50 it's not really 06:59:03 zip is bidrectional 06:59:10 it takes a list (conceptually) and returns a list 07:04:57 -!- FireFly has joined. 07:10:36 where's ais when you need one 07:11:18 He's hiding as.. s something 07:11:49 * Sgeo__ looks over at his own nick, and goes to deny everything 07:13:04 Wait... what was so hard with the Gridlock one? 07:13:10 (on RoboZZle) 07:13:13 what's the gridlock one, link 07:13:18 -!- bsmntbombdood_ has joined. 07:13:24 http://robozzle.com/js/play.aspx?puzzle=882 07:13:44 Bleh at link to JS 07:13:48 Meh 07:15:10 Night all 07:15:15 Morning 07:15:41 probably nothing, i don't even remember solving it 07:16:13 turn 180 at greens, 90 at reds 07:16:27 already forgot what it looked like :D 07:17:22 dude, no, just turn left at reds 07:17:22 okay yeah exactly that 07:17:29 that works too 07:18:17 Can't have the computer beeping at me, so bye 07:18:17 but that's like optimizing how you put your socks on 07:18:20 bye 07:18:35 oklopol, there's indications when you get shortest solution 07:18:38 *known 07:18:58 didn't know, assumed so 07:20:20 -!- Sgeo__ has quit ("Leaving"). 07:23:27 -!- zzo38 has joined. 07:24:33 FireFly: I don't think there was nothing so hard about Gridlock; it's just that I initially did it with 8 commands (I might have had a ↑↑↑-function there, or some such nonsense) and people here complained. 07:24:42 -!- bsmntbombdood has quit (Read error: 110 (Connection timed out)). 07:24:47 Ah, all right 07:25:39 i prefer my solutions long and robust 07:25:47 kinda like my penis 07:27:20 ais523: thought maybe you'd come if i highlighted you. i'm not sure how likely that is. 07:27:32 I'd prefer long solutions too, but they keep being thrifty with those command slots. 07:28:08 yeah 07:28:47 oklopol: Maybe you have to say his name thrice? I think that works for Hastur. 07:29:01 The file zee1.ogg is in fact not bad but why does sox command, when playing back a file in the Windows command-line window, to make a mess when you try to scroll the window while it is playing? 07:30:10 fizzie: No, it says "HASTUR HASTUR HASTUR HASTUR HASTUR HASTUR HASTUR HASTUR HASTUR HASTUR HASTUR HASTUR HASTUR HASTUR HASTUR HASTUR HASTUR HASTUR HASTUR HASTUR HASTUR HASTUR HASTUR HASTUR HASTUR" or in other words, any number of times, including too much 07:30:22 (I meant the scroll) 07:30:26 ais523: i have more than 7 bits of information of interest to you 07:34:23 I have also done 882 in initially in 8 commands, but now I did it in 5 commands 07:35:51 it takes 3 if you do what GreaseMonkey suggested 07:36:14 green is superfluous 07:40:30 But now I'm trying 883 (it is similar but all blue). I just typed in 883 and see what it did. 07:41:18 The part of the campaign sequence from '"960" on blue' to 'Linked List II' was nice; there was nothing to get stuck on. 07:41:51 fizzie: do you go from hardest to easiest now? 07:42:47 oklopol: I go based on the names mostly. 07:43:01 883 was trivial if you don't mind being inelegant and filling all the command slots. 07:44:31 Seems there are some 11-command solutions submitted too, though. 07:46:05 You people and your trivials. 07:46:28 -!- calamari has quit ("Leaving"). 07:46:59 But it is! The 13-command solution for 883 I have has absolutely no logic in it, just pure "go-there" bruteforcing. 07:47:44 i don't think the 960 is that easy, even though, obviously, the idea is trivial 07:48:03 i just need a few more slots... 07:49:51 -!- FireFly has quit ("Leaving"). 07:51:04 -!- tombom has quit ("Leaving"). 07:51:51 I used all I got there. 07:55:35 okay that was weird, i go almost everything, then suddenly the guy goes crazy and starts circling around in the blue zone :D 07:55:39 *got 07:56:06 very common thing with recursion that, almost getting it right, but having some details wrong... 07:57:39 -!- zzo38 has quit (Remote closed the connection). 07:58:19 okay, wasn't exactly hard, i just still have a hard time making recursion puzzle-concise 07:58:58 -!- jpc has quit ("I will do anything (almost) for a new router."). 07:59:36 -!- jpc has joined. 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:03:08 Linked List II was cute; still can't do 883, though. 08:04:28 Deewiant: You could if you stopped trying to be clever and just programmed in some suitable route taken in 882. 08:04:56 (If you can call that "programming", really.) 08:05:36 gridlock took me about 30 sec 08:05:43 I can think of routes to program, just not how to program them. 08:06:04 that's how good i am 08:06:08 linked list ii looks hard 08:06:10 Ah, here we go. One cell free. 08:07:03 yeah just do what you did in 882 08:07:11 That's what I tried for the better part of 10 minutes. 08:07:16 oh? 08:07:20 then what did you do 08:07:21 Then I did linked list II in about two mintues. 08:07:34 Then I came back and stared at 883 for another minute before figuring it out. 08:08:13 Deewiant: Your brain works in a strange way; linked list 2 took me quite many minutes of bugfixing. 08:09:19 I don't typically need to bugfix on any of these; once I have an idea that fits, it works. The times when stuff doesn't work is when I don't have an idea or when it doesn't fit. 08:09:36 -!- madbrain has quit ("Radiateur"). 08:10:46 Still, I think I'm improving. Most showstoppers for me now tend to be the ones that require "double recursion" or whatever its canonical name is, e.g. 141 08:12:49 -!- adam_d has joined. 08:15:29 Heh, cumulative effect (597) was fun, if only for the twirling-around... and also the first one I did on the phone. 08:18:48 One extra space there. 08:25:41 -!- GreaseMonkey has quit ("HydraIRC -> http://www.hydrairc.org <- Nobody cares enough to cybersquat it"). 08:29:35 heh, i think the reason i couldn't quite crack linked list ii was i had totally misunderstood how the colors were positioned 08:29:44 i should really look at these puzzles. 08:38:43 -!- Slereah has quit (Read error: 110 (Connection timed out)). 08:53:46 Wow, "Incomplete grid" had a huge number of useless slots; F1 and F2 had 5, and F3 had 10 (!); used 5 of F1, 2 of F2 and 0 of F3. 08:55:46 Or actually only F1; so 15 extra slots and two extra functions. 08:58:34 did you use all slots for linked list? 08:59:30 17, evidently 08:59:37 (For 654) 09:00:07 A lot, but maybe not quite all of them. 09:01:51 i had one empty slot, but it was only after tons of spec optimization 09:01:53 *space 09:02:12 i have a verbose intuition 09:03:27 -!- bsmntbombdood__ has joined. 09:17:42 -!- adam_d has quit (Read error: 110 (Connection timed out)). 09:20:15 -!- bsmntbombdood_ has quit (Read error: 110 (Connection timed out)). 09:33:32 -!- bsmntbombdood_ has joined. 09:33:41 -!- Slereah has joined. 09:49:35 -!- bsmntbombdood__ has quit (Read error: 110 (Connection timed out)). 09:52:43 -!- jpc has quit (Read error: 110 (Connection timed out)). 09:54:57 -!- scarf has joined. 09:56:16 scarf: Were you the same thing as ais523? 09:56:29 fizzie: /ns info me 09:56:34 NickServ knows I'm ais523 09:56:45 Yes, I sort of thought so because of the cloak. 09:56:55 Anyway, oklopol has more than seven bits of information for you. 09:57:05 Unfortunately he did not choose to reveal the contents to us. 09:57:58 Not just any information, in fact; information "of interest". 10:05:49 meanwhile, it seems that 1.0.0.0/8 was allocated 10:06:03 they must be running really low on addresses... 10:16:15 The block to allocate is choosen at random. 10:16:23 (among free /8s). 10:17:36 the allocation of any /8 is worrying, thouhg 10:17:37 *though 10:17:56 Its allocation to RIR. And yes, one more block allocated at IANA level... 10:22:59 At that level, following blocks are free: 5, 14, 23, 31, 36, 37, 39, 42, 49, 50, 100-107, 176, 177, 179, 181, 185, 223 (24 blocks, 384Mi addresses (minus the ones lost due to allocation blocking, network addresses and broadcast addresses). 10:24:09 And of the remaining 26 before this allocation, 1/8 was probably the worst block. 10:24:22 "worst"? 10:25:09 The amount of unauthorized use and unauthorized routes leaking. 10:25:38 I think they banned things like 1.2.3.4 pre-emptively 10:25:58 Yes, APNIC reserved those. 10:26:29 amusingly, Wikipedia has edits from 1.2.3.4 10:26:37 I think it must have been a dev testing checkuser, or something 10:27:43 The first 3 /16s in that block are probably the worst w.r.t unauthorized use / unauthorized routes. 10:30:03 Especially the 1.1/16 block. 10:41:11 ASes shouldn't be going around announcing 1/8 addresses, though 10:41:26 and any use of it inside an AS or smaller network is their own fault 10:45:57 "(Mar's Law) Everything is linear if plotted log-log with a fat magic marker." 10:49:03 -!- scarf has quit. 10:49:12 -!- scarf has joined. 10:51:24 -!- Ilari has quit (Read error: 60 (Operation timed out)). 10:57:50 the world would be a better place if everything was linear 11:05:23 oklopol: not really, overtaking would be really difficult 11:05:33 and you'd only have two people you could ever meet in RL, ever 11:05:45 (I assume you could use radio waves or something for longer-distance communication, they go through people) 11:11:06 -!- Ilari has joined. 11:11:06 i wasn't thinking one-dimensional, more that all physics was linear 11:12:13 a world where acceleration is impossible 11:31:54 then nobody could move 11:31:59 or stop moving, if they were already moving 11:36:23 http://ipv4depletion.com/?page_id=4 is interesting 11:36:59 hmm, what's the command-line command to look up DNS? 11:37:15 preferably, one that lets you pick a different DNS for the single command, and which can retrieve AAAA records 11:37:53 scarf: dig? 11:38:05 thanks 11:38:59 -t to set type to look (any for all types), @ to set address, and then name to look up after that. 11:39:12 wow DNS is fast 11:39:57 hmm, seems that the local DNS here has ipv6 addresses 11:40:05 even though I don't think the local network connectivity does ipv6 11:40:56 Hmm... Freenode IPv6 addresses don't seem to work, but querying .com nameservers over IPv6 does work. 11:43:45 heh, it seems that smuggle.intercal.org.uk and select.intercal.org.uk are on separate machines 11:43:52 both accessible over both ipv4 and ipv6 11:46:24 one of the worrying things that is coming out from the Slashdot article I'm reading is that some people apparently blackhole the whole of APNIC in an attempt to stop spam 11:46:28 which strikes me as a little indiscriminate 11:54:45 Then there are those that blackhole all chinese address ranges. 12:03:04 APNIC would be a bigger blackhole then just China, wouldn't it? 12:04:33 Yes. And includes stuff like .jp and .au too. 12:05:22 dig was just what I was looking for, by the way 12:12:37 "host" is another such tool, but dig is more DNS-like in its replies. 12:15:51 fun, i should be at uni in 4 minutes, and the door is broken, can't get out. 12:16:09 wonder who i'm supposed to call in a situation like this 12:17:54 is it a door you own, or a university-owned door? 12:18:01 if the first, call a locksmith 12:18:04 if the second, I don't know 12:18:15 although it may be worth calling security (on a non-emergency number) 12:18:19 especially as it's a fire risk 12:19:36 my own 12:19:52 but turns out there's a keyhole on the inside as well 12:19:55 and that opened it 12:20:22 ah 12:21:39 there's also this other lock, i assumed that was broken or something, so i started unscrewing it to see what's inside, and now i've lost the screw i took out. 12:22:15 shouldn't you be at uni already? 12:22:21 6 minutes ago 12:22:24 it's more than 4 minutes since you had to be there 4 minutes ago 12:22:51 takes about 3 to get there, so not that bad 12:22:55 -> 12:54:52 -!- FireFly has joined. 13:22:53 -!- Asztal has joined. 13:40:18 -!- Sgeo has joined. 13:40:51 ehird was last visibly active on Reddit 7 days ago 13:49:36 Hm 13:49:42 That "plain english" thing reminds me of ORK 13:56:14 -!- rodgort has quit (Read error: 104 (Connection reset by peer)). 14:01:22 -!- scarf has changed nick to scarf|away. 14:02:15 -!- rodgort has joined. 14:09:29 -!- MigoMipo has joined. 14:12:38 -!- BeholdMyGlory has joined. 14:38:38 -!- scarf has joined. 14:38:58 yay for going on IRC in the middle of marking people doing Java 14:39:38 the fun thing is, most of them didn't turn up to the tutorials, so didn't manage to agree a time to be marked, making it more-or-less anarchy 14:39:46 Yay for anything that involves not doing Java. 14:53:58 heh 14:54:31 still, my current belief, based on 1 sample, is that knowing Java is all that it takes to get a job nowadays 14:54:48 -!- oerjan has joined. 14:55:38 * scarf wonders if INTERCAL would be more enjoyable to mark 14:55:55 it has the advantage of not being Java, but there are several disadvantages in using it for teaching 14:57:41 well if anyone could enjoy marking it it would be you... 14:58:17 Why is Java considered so horrible, exactly? And is C# considered better (except for the licensing BS)? 15:05:10 Most modern languages are at least a smidge multi-paradigm. 15:05:17 But even C is more multi-paradigm than Java is. 15:07:48 Want closures? Sure, we can kinda do that! Make the variables you want access to final, create an anonymous class with a single member function which takes no arguments (because that would be helpful) and returns Object, instantiate that, and then pass it 'round as a Runner object! That's so similar to closures it BLOWS MY MIND. 15:08:20 I just realized, I'm taking all 300-level courses this semester 15:08:31 this will either go well or very poorly 15:09:24 Course levels are meaningless. 15:10:33 uh. well, they exist. 15:10:40 -!- Pthing has joined. 15:11:52 Gregor: now it feels so much less dramatic >_> 15:12:04 :P 15:12:36 okay okay. instance where levels matter: you need 3 300-level compsci courses before you can apply for grad courses 15:13:14 which is more of a department-specific thing 15:15:01 (by comparison, my other semesters have had 0, 1, and 1 300-level course respectively..) 15:15:54 We don't have that kind of levels at all. :/ 15:16:43 The courses belong to various sort of "modules" or some-such that is somehow related to their difficulty. I think; I don't really know how it goes nowadays. 15:18:01 And some selection of them have the "suitable for people who already have their master's degree and are studying for a doctoral degree" flag on too. 15:23:54 Well I'm taking all 500-level courses. 15:23:55 SO BUCK UP 15:23:56 :P 15:24:26 (This week I am also teaching a 500-level course. Go me!) 15:28:58 Without knowing the scale, that doesn't say much. How high do the levels go? 15:29:45 I was highlighted, out of scrollback 15:29:52 sigh 15:30:12 -!- cpressey has joined. 15:31:25 Deewiant, btw I implemented BOOL in cfunge today, quite surprised me that it turned out to be using bitwise operators instead of logical ones. Since the fingerprint was described as "Logical functions" 15:34:43 oh and I can't possibly implement RAND in efunge. It has an instruction for getting max range of integer randomness. But efunge uses bignum cells, and erlang's random:uniform/1 has no upper limit as far as I can tell. 15:35:29 AnMaster: then pick an arbitrary limit and use it 15:36:05 coppro, that feels so wrong! 15:36:29 I don't disagree 15:36:33 but that's what you must do! 15:37:56 cfunge: speed and correctness (and no memory leaks) are more important than anything else. efunge: no arbitrary limits. Oh and ATHR (a fingerprint for async befunge threads) 15:38:06 that's the goals you could say 15:38:43 ATHR is still work in progress 15:38:54 parts of it work, and some parts even have test cases 15:39:44 coppro, I guess returning -1 could work, I use -1 for size of funge cell in y. 15:40:23 since giving a size in bytes is meaningless if you don't have an upper limit 15:41:00 coppro, bignum intercal would be interesting btw 15:41:04 AnMaster: how is it possible to generate a uniform random number from 0 to infinity? 15:41:25 scarf, it isn't, you *have* to give a limit. Just you can give any limit. 15:41:31 hmm 15:41:39 is Ungefunge Turing-complete? 15:41:50 couldn't you give -1 or 0, isn't that the typical efunge/befunge-108 reaction? 15:42:02 (also, it should be -110 by now...) 15:42:12 scarf, look at RAND http://www.rcfunge98.com/rcsfingers.html#RAND 15:42:17 -!- jix has quit (Read error: 60 (Operation timed out)). 15:42:23 the problem is M there 15:42:39 I think erlang allows you to keep separate seeds 15:42:57 the considered-as-unsigned is fun too 15:43:02 -!- jix has joined. 15:43:03 yeah 15:43:03 what exactly is (unsigned bigint)-1? 15:43:09 no clue 15:43:32 I think that, in order to be compatible with other RAND implementations, you should wrap mod 2^64 15:43:33 really erlang doesn't fit the rcs fingerprints very well 15:43:33 scarf: uniform number from 0 to infinity is not defined in usual probability theory. and if you try to define it you'd get that you select an incomprehensibly large number with probability 1 15:43:40 in many ways 15:43:44 oerjan: I know 15:43:58 I'm slightly surprised that there's an unusual probability theory that does describe it 15:43:58 like one that more or less requires an union { float, int }; (FPSP) 15:44:10 well I considering using type-tagged cells for it 15:44:21 it could be done in erlang, just would be messy 15:44:23 AnMaster: you can surely encode a bigfloat in a bigint somehow 15:44:32 that strikes me as the obvious response 15:44:42 scarf, ah but the precision is fixed. Also erlang only have double when it comes to floating point iirc 15:44:57 except when packing/unpacking binary data 15:44:59 AnMaster: reading the spec, it looks like you should return a magic value larger than every other for y 15:45:00 oh, encoding a double as a bigint is even eaiser 15:45:07 and IIRC, float = double is a valid implementation of C 15:45:11 coppro, MAX_BIGINT 15:45:12 aha 15:45:13 hah* 15:45:21 there so should be MAX_BIGINT 15:45:27 scarf, sure it is. Just erlang throws an exception on NaN 15:45:28 you can encode it as (unsigned bigint)-1 15:45:31 which makes it a pita 15:45:38 use a non-signalling NaN? 15:45:42 or does it not distinguish? 15:45:44 just use an infinity atom 15:45:46 scarf, no such thing in erlang indeed 15:46:14 scarf, same goes for +/- inf for some unknown reason 15:46:27 ouch 15:46:39 the floating-point standards distinguish between a huge number of different sorts of NaN 15:46:48 yeah, didn't python use to do something similar some time ago? 15:46:51 but quiet/signalling is the important distinction 15:47:05 -!- MizardX has joined. 15:47:07 ("not a positive number" and "not a negative number" can also be intuited from the info given, I think) 15:47:20 AnMaster: where is the RAND instruction defined? 15:47:31 coppro, I linked it above: http://www.rcfunge98.com/rcsfingers.html#RAND 15:47:35 also not an instruction 15:47:37 a fingerprint 15:47:50 that implements I, M, R, S and T 15:48:12 hmm... SGNE looks like it could do with having some way to send a signal to another process 15:48:27 ah 15:48:47 scarf, half of his fingerprints are good, half are late night ideas. Almost all are underspeced and badly documented 15:48:51 AnMaster: the spec suggests that cell 2 of the y instruction should return infinity 15:48:53 at least he have test suites somewhere 15:49:03 wait I already said that 15:49:05 coppro, yeah but there is no such thing in bignum is there? 15:49:07 AnMaster: IMO it just adds to the fun 15:49:22 coppro, as in, you can always add one 15:49:34 at least the whole FING/FNGR thing was fixed, it reminds me sort-of of OOXML mandating the leapyear bug 15:49:36 use an infinity atom 15:49:39 (until you hit the memory limit of whatever arch you use) 15:50:01 but I certainly think pushing a sized cell is a bad idea 15:50:36 also, I note that UNIX effectively requires running as root 15:50:40 indeed 15:50:46 which is a mindboggling thing to do with a Befunge fingerprint 15:50:55 I won't implement it since I'm too scared to test it! 15:51:15 why? it's allowed to error 15:51:29 coppro, still need to check that it *would* work as root using a test suite 15:51:40 ah 15:51:41 (thing I randomly came across clicking on links; if you tried to mail someone not in /etc/passwd using sendmail, you got an error "scarf: not a typewriter") 15:51:51 use strace? 15:51:51 mycology + various other test suites give me a 80%+ line coverage of the code 15:51:57 both for efunge and cfunge 15:52:07 (that is just looking at executable lines of code of course) 15:52:18 coppro, too easy to miss something. 15:52:25 anyway, SGNE looks like a pita both for cfunge and efunge 15:52:37 for efunge, well it could be running on multiple computers 15:52:38 (because libc uses isatty in order to determine whether to line-buffer or block-buffer files, and doesn't always reset errno; it's like the whole error: success thing, just with a funnier message) 15:52:43 it is supported in theory 15:52:51 (apparently this bug is reproducable on OS X even nowadays) 15:52:58 to run the funge space process on another erlang node than the current IP is running 15:53:46 sure 15:53:48 also what is the parameter to S 15:53:53 that's why Erlang is awesome 15:53:55 I can't see it documented there 15:54:05 set the uid? 15:54:13 coppro, actually I think it would require a few lines of code changes, since it uses ETS tables 15:54:29 that are public, non-sync requiring writes won't go through the funge space daemon 15:54:54 only bounds of funge-space updates are sent to it, and CAS (relative special synced get/put) 15:55:01 why? because of ATHR 15:55:42 coppro, and ets tables aren't available on remote nodes iirc. mnesia is yes but it uses a process that uses those ets tables 15:56:03 ah 15:57:11 really ATHR does strange and interesting things to the whole efunge 15:57:19 I would hate to try to implement it in C 15:57:49 scarf, another fingerprint on that page that makes no sense in bignum funges is LONG 15:58:07 scarf, plus it even breaks programs if you change cell size 15:58:09 AnMaster: on the contrary, I'd imagine that implementing double-size bignums is really easy 15:58:12 which is why it is a bad idea (TM) 15:58:33 scarf, yeah but programs won't be portable even between 32-bit cells and 64-bit cells (cfunge by default uses the latter) 15:58:51 they'd be portable if they used the INTERCAL method 15:58:55 oh? 15:59:02 as in, all constants must be single-cell, but you can make larger constants by doing arithmetic 15:59:09 hah 15:59:22 reminds me of ICAL there, I can't see how to do it for bignum 15:59:41 well it specs you shouldn't 15:59:43 for some extra fun, do IFFI bignum 15:59:52 actually, that probably isn't very difficult 15:59:57 scarf, IFFI, as in the cfunge<->c-intercal interface? 16:00:00 as you'll be reflecting on things out of the range of the INTERCAL progrm 16:00:01 AnMaster: yes 16:00:06 scarf, ais wrote it, not me 16:00:10 I just wrote cfunge 16:00:37 quite for a bit, anyway, I'm trying to mark Java 16:00:50 "quite for a bit"? 16:00:54 quiet? 16:00:55 -!- MissPiggy has joined. 16:01:11 scarf, ^ 16:01:18 -!- scarf has quit. 16:01:21 meh 16:01:57 hm erlang does have bitwise not 16:02:03 how does that work for bignum... 16:03:28 f = fun (N) -> io:format("~.2B~n~.2B~n", [N, bnot N]) end. was unhelpful 16:03:33 it still prints it with sign 16:03:43 err F 16:04:08 9> F(999999999999999999999999999999). 16:04:08 1100100111110010110010011100110100000100011001110100111011011110101000111111111111111111111111111111 16:04:08 -1100100111110010110010011100110100000100011001110100111011011110101001000000000000000000000000000000 16:04:10 well okay 16:04:11 meh 16:04:43 I guess it is just change the sign until you try to pack it with <<>> 16:04:54 * oerjan subtly reminds AnMaster that scarf _is_ ais. 16:05:00 oerjan, is he? 16:05:01 wth 16:05:06 -_- 16:05:09 that's crazy 16:05:26 oerjan, 1) I wasn't around when he changed to it afaik 2) why the nick change? 16:05:40 indeed i was SHOCKED, SHOCKED 16:05:58 oerjan, also he could have said 16:06:01 also, whois is your friend 16:06:10 oerjan, I don't whois everyone all the time 16:06:12 why should I 16:06:33 because some people have a habit of changing nicks regularly 16:06:39 oerjan, not ais though 16:06:45 Ilari yes 16:06:48 indeed, which is why i was SHOCKED 16:06:59 AnMaster: BOOL uses bitwise ops? How'd you infer that? 16:07:03 wait, Ilari? 16:07:10 err 16:07:13 maybe I misremember 16:07:19 * oerjan was mostly thinking of ehird and ihope 16:07:24 Deewiant, from the test suite and from checking rc98 code 16:07:39 Deewiant, it tests for that it is bitwise 16:07:45 Meh 16:07:50 oerjan, ah yes ihope, that was it 16:07:57 someone i.* anyway 16:08:38 oh and fax, don't forget him 16:08:52 true 16:13:47 -!- oklopol has changed nick to oklofok. 16:14:22 -!- scarf has joined. 16:14:31 ok, that bit of marking done 16:14:36 did I miss anything important? 16:14:45 yes, you missed my relevant nick change 16:14:49 we revealed all your secrets BWAHAHA 16:14:53 I would have lurked, but AnMaster kept pinging me and I was trying to mark someone's Java in front of the computer 16:14:54 oh, and that 16:14:57 and all the pings were distracting me 16:15:11 it behaved really weirdly, too 16:15:25 the first time I ran it, it created a 0x0 unresizable window rather than a 600x400 one 16:15:37 the second time, it drew the window at the right size but didn't draw anything in it 16:15:41 and the third time, it worked 16:15:53 this is without any recompilation or changing any of the relevant files in between 16:16:08 and nothing in the code suggested that it was stateful 16:19:26 -!- oerjan has quit ("Good night"). 16:19:40 hmm... this reddit thread says that zip disks used to get hardware viruses 16:19:59 if the disk was damaged, it would damage the drive heads of a drive it was inserted into 16:20:09 in such a way that the drive then damaged all disks that were inserted in it from then on 16:20:21 :D 16:20:55 apparently this could go back and forth ad infinitum 16:21:04 which would make it a really impressive example of a hardware virus 16:25:37 scarf, ah okay 16:25:42 well you could have said you were ais 16:25:44 -_- 16:25:53 AnMaster: you mean it isn't obvious from my cloak and /ns info? 16:25:58 do you not pay attention to join messages? 16:25:59 scarf, I didn't look at that 16:26:23 scarf, also you joined before I reconnected to the bouncer. it only replays messages 16:26:25 not the joins 16:26:59 anyway your cloak is "gateway/web/freenode/x-nvokymtkctncoxtg" 16:27:03 so that doesn't help at all 16:28:25 from here, yes 16:28:27 it isn't normally, though 16:28:36 and I've been online at the same time as you plenty of times over the last few days 16:28:46 and no I haven't noticed 16:28:51 why the nick change? 16:31:02 because ais *is* a scarf. 16:31:12 an indigo scarf 16:31:13 AnMaster: amusing typo 16:31:43 also, relatively common real word that isn't taken 16:32:58 scarf, typo for? 16:33:13 I can't remember 16:33:17 it wasn't "ais523" though 16:33:57 yeah getting from ais523 to scarf sounds hard 16:38:50 scarf, btw ever considered writing a befunge backend for gcc? 16:39:00 no 16:39:07 it would be rather bad befunge anyway 16:39:14 gcc is very specialised for outputting asm 16:39:14 true 16:39:24 and you could write a bf->befunge compiler 16:39:25 and the less similar its output lang is to asm, the worse it performs 16:39:38 oh? someone tried it for other languages? 16:40:07 my educated guess is that was an educated guess 16:40:14 hah 16:41:57 AnMaster: consider I spent months trying to figure out how gcc worked 16:42:12 the answer is, it mostly doesn't; the code seems to only be tested in the cases that are actually used 16:44:42 See, I saved all that time by just assuming that :) 16:45:10 Cynicism is efficient! 16:45:25 i was under the impression gcc was a very well coded piece of shit 16:45:28 err 16:45:35 where piece of shit means program 16:46:18 Nope. More like "very well tested". 16:46:30 Nothing about it says "well coded". 16:46:52 i c 16:47:01 i don't know where i've gotten that impression 16:47:20 well "very well tested", maybe i've just heard rumors it doesn't have many bugs. 16:47:29 i haven't really used it much 16:49:14 It's rather well-known as not having much internal documentation, and being one of the slowest compilers... 16:50:13 But extremely conformant :) 16:50:37 Yeah. 16:52:03 * Gregor ♥ GCC 16:55:03 I despise it, but I despise it less than most other C compilers. :P 16:55:17 * pikhq <3 clang 16:57:43 :( gcc 16:59:16 -!- tombom has joined. 17:06:18 Halp, more wikipedians are invading #esoteric 17:06:32 quick, fight back with tvtropers 17:06:48 That idea is so bad it's horrible! 17:06:59 I don't know, the wikipedians here tend to be pretty good 17:07:13 also, TVTropes is not your personal army 17:07:17 also what about g++ 17:07:25 g++ is hilaaaaaaaaarious 17:07:25 now that is not only messy and such. it is also buggy 17:07:33 AnMaster: it's a gcc wrapper, more or less, I think 17:07:59 AnMaster refers not to the binary "g++", but to GCC's C++ support, namely cc1plus 17:08:20 Strictly speaking, gcc itself is merely a wrapper. 17:08:25 hmm, the bits of gcc I looked at were mostly past the language-specific stage 17:08:31 yep 17:08:35 scarf, huh 17:08:42 and yes what Gregor said 17:08:48 gcc and g++ are both wrappers for the internal drivers 17:08:50 although gcc-bf doesn't include support for exceptions, so you couldn't target it with C++ 17:09:01 Oh nose D-8 17:09:08 clang currently has a similar model, though it's all one self-invoking executable file right now 17:09:27 eventually they plan to move it all to one execution 17:09:30 All compilers have a similar model *shrugs* 17:09:37 why the internal driver stuff 17:09:40 I fail to see the point 17:09:42 Even if it's all in one execution, it's just drivers calling drivers. 17:09:42 clang also has a bit more to wrap -- clang is only a frontend, after all. 17:09:49 Gregor, well yes 17:09:50 gah, it's so hard to read leaked internal Microsoft emails because apparently they top-post 17:09:53 how can they get any work done? 17:09:53 it makes sense 17:10:00 to separate frontend from backend 17:10:12 boo topposting 17:10:13 (that isn't language and codegen I'm talking about here) 17:10:18 scarf, they use Outlook? 17:10:24 FireFly: almost certainly 17:10:27 * coppro blames Gmail 17:10:28 And to seperate backend from linker. 17:10:31 but even in outlook, top-posting is a sin 17:10:33 how can they get any work done? <-- they can? 17:10:39 you have to try to edit the message into something more readable yourself 17:10:45 I want an option to bottom-post, dammit 17:10:50 The internal version of Outlook has a secret feature that converts top-posted emails into bottom-posted emails for view :P 17:11:14 I prefer top-posting for one-on-one e-mail 17:11:30 I prefer not to use e-mail 17:11:40 the only thing worse that top-posters are the people who both top-post and leave 14 nested quote contexts in the email 17:11:53 * coppro kills them all 17:12:01 I USE GOOGLE WAAAAAAAAAAE 17:12:05 *waaaaave 17:12:23 * coppro euthanizes Gregor 17:12:34 :P 17:12:53 I use irc 17:13:00 hm top posting on irc 17:13:03 would be interesting 17:13:04 O_O 17:13:07 ...no 17:13:10 o.O 17:13:13 just make an irc client that scrolls the other way 17:13:14 I top-post when replying to top-posting people (which seems to be almost everyone these days) because otherwise one ends up with really silly-looking messages. (Well, unless you trim with a very heavy hand.) 17:13:19 as in, last line at the top 17:13:51 Clairvoyants can top-post in the normal-style IRC. 17:14:10 hah 17:15:36 I wonder if you could top-post in IRC somehow ... 17:15:37 OMG 17:15:39 FIZZIE JUST DID! 17:15:44 fizzie: You're welcome. 17:16:01 that's more like reverse bottom posting 17:16:03 Thank yous. 17:19:49 fizzie: when someone sends me an email with top-posting in I rearrange the whole thing to bottom-posting before replying 17:20:05 why is top-posting bad? 17:20:13 oklofok: because the answer comes before the question 17:20:27 so you have to read the email from bottom upwards to get the flow of conversation, but downwards within each message 17:20:32 ...so? 17:20:39 so you're jumping around scrolling up and down to read everything in order 17:20:49 you get the most relevant thing first, if you don't remember everything, read bottom to top as much as you need 17:20:51 technically it doesn't matter if you're getting emails one at a time and you remember the conversation 17:20:56 oklofok: Because people lurrve to complain about the most minor things in life. 17:21:03 Gregor: ah! 17:21:10 but if you're trying to catch up on a thread late, it's really annoying 17:21:23 in the case of the leaked Microsoft email I was reading, the OP was the most interesting and relevant post 17:21:28 and yet it was right at the bottom 17:21:44 ah 17:21:47 that's true 17:21:56 Sounds like a job for Gregor's R->L parser 17:22:07 -!- Sgeo|web has joined. 17:22:25 The JS client is broken for me on Chrome. When I stop it, I can't start it again 17:22:36 Another thing is that all the answers come in one block, and after that all questions in one block; I personally prefer a properly trimmed-and-quoted thing where the answers come after the relevant quoted bits. 17:23:13 fizzie, what about inline response 17:23:26 as in, commenting on various sections on it 17:24:06 * Sgeo|web is jealous of fizzie having solved 40 or so in the past 24h 17:25:03 AnMaster: Yes, that's what I mean by "properly trimmed-and-quoted thing where the answers come after the relevant quoted bits". 17:25:07 -!- augur has quit (Read error: 60 (Operation timed out)). 17:25:12 I should get an account so I can track my progress 17:25:34 Is it just me, or is Robozzle slow right now/ 17:25:52 fizzie, a true bottom poster would reply to *everything* at the end 17:25:54 no matter what 17:26:13 There aren't very many of those, I don't think. It's either the "right" way, or the top-posting way. 17:26:22 Well, based on the sample of emails I get. 17:26:33 Sgeo|web: I've been twiddling the game with the phone when technically listening to lectures; for some inexplicable reason I have an urge to get the campaign list completely done. 17:26:47 fizzie, you would make a graph of the percentages over time 17:27:02 I seem to be missing 16. 17:27:09 16 what? 17:27:23 That was still to Sgeo. 17:27:25 fizzie how come you're so good at robozzle 17:27:25 ah 17:27:25 ? 17:27:46 You haven't come across the same issue in the JS client? 17:28:22 MissPiggy: I'm not really very good, actually; I haven't done ~any of the >4 difficulty ones. 17:28:33 hm 17:28:59 Sgeo|web: Not yet, at least. Though I think I got somehow logged out without doing anything a moment ago. But I might have just gotten some tabs confused. 17:30:36 -!- scarf has quit ("Page closed"). 17:31:49 * Sgeo|web solves Early Warning on the first try (if I didn't, I'd have to refresh the page *cries* 17:33:02 -!- scarf|away has changed nick to scarf. 17:33:50 Ooh, now I got a "Server Error in '/' Application" from the JS client. 17:33:59 Oo that one looks tricky 17:34:25 Well, I got a hint from the RoboZZle video, which features Very Early Warning 17:36:01 * Sgeo|web switches to IE7 for RoboZZle purposes, the JS client works on it 17:36:22 Except now I'm getting that error 17:38:09 this minute i am deploying a newer version 17:38:12 oh I get it 17:38:27 hmm 17:38:32 how to approach the problem 17:38:52 obviously the two functions must mirror each other 17:40:17 Very Early Warning is a reasonably straight-forward extension with four functions. 17:40:37 I still haven't worked some of the recursion bits out in my head 17:41:11 Do you want a slight hint? 17:41:59 Lol, Cube Extreme's F2 has _one_ slot 17:42:03 Making it literally useless 17:43:43 Oo 17:46:04 labyrinth has too many open spaces 17:46:12 only need 6 cells 17:47:16 open spaces can increase the psychological difficulty, or can be because the author didn't find the shortest possible solution 17:47:45 coppro: "Incomplete grid" had 5+5+10 (F1+F2+F3) slots, and my solution used just the five slots out of F1 and the other two functions not at all. 17:47:55 Oo 17:48:07 oh yeah, me too 17:48:11 that one was easy 17:48:54 -!- augur has joined. 17:49:08 hmm 17:49:24 I know there's one stack trick I'm missing :( 17:49:53 -!- bsmntbombdood_ has quit (Read error: 113 (No route to host)). 17:50:33 http://robozzle.com/my 17:50:40 Has a solution viewer :D 17:51:33 I don't have an account 17:52:10 Then make one. (It only shows your solutions, btw) 17:52:26 -!- bsmntbombdood_ has joined. 17:53:36 what I need to know is how to make a function that counts up or down each time it's called, like for Cut in half 17:53:40 oh wait 17:53:42 nvm 17:53:47 I'm thinking about that one wrong 17:55:12 I still need the technique though 18:00:21 Getting loopy is a 5+5+5, I only needed 4+4 18:05:39 how does this game compare to Rubicon? 18:07:51 Rubicon has you build stuff on the level (I think), and this has you give instructions to a robot 18:08:18 I don't know if Rubicon is turing-complete. RoboZZle is (given access to the painting commands) 18:10:19 I think we agreed Rubicon is (excepting space concerns, of course) 18:19:29 Ghaaa, finally got that silly "Replication Engine" done; took me something like 20 minutes to implement workingly even though the idea is very simple. 18:21:42 * Sgeo|web just needs _one_ more slot for "Stacking for not so newbies" 18:22:16 Or not 18:25:20 done the first 30 in my account 18:25:25 time to do last-minute studying 18:25:39 -!- augur has quit (kubrick.freenode.net irc.freenode.net). 18:25:39 -!- tombom has quit (kubrick.freenode.net irc.freenode.net). 18:25:39 -!- MizardX has quit (kubrick.freenode.net irc.freenode.net). 18:25:39 -!- cheater2 has quit (kubrick.freenode.net irc.freenode.net). 18:25:39 -!- sebbu has quit (kubrick.freenode.net irc.freenode.net). 18:25:40 -!- Deewiant has quit (kubrick.freenode.net irc.freenode.net). 18:25:41 -!- olsner has quit (kubrick.freenode.net irc.freenode.net). 18:25:41 -!- mycroftiv has quit (kubrick.freenode.net irc.freenode.net). 18:25:41 -!- yiyus has quit (kubrick.freenode.net irc.freenode.net). 18:25:41 -!- Leonidas has quit (kubrick.freenode.net irc.freenode.net). 18:25:41 -!- comex has quit (kubrick.freenode.net irc.freenode.net). 18:25:42 coppro: I have a proof 18:25:59 BCT in Rubicon, the data and program are limited-size but only if the playfield is limited-size 18:26:35 yeah, I suspected you did 18:28:06 -!- Deewiant has joined. 18:30:49 * Sgeo|web fails a puzzle by failing to see a star 18:31:43 * Sgeo|web gives up, for want of a star 18:32:50 -!- olsner has joined. 18:32:50 -!- comex has joined. 18:32:50 -!- Leonidas has joined. 18:32:50 -!- yiyus has joined. 18:32:50 -!- mycroftiv has joined. 18:32:56 lol 18:33:23 -!- augur has joined. 18:33:55 -!- tombom has joined. 18:33:55 -!- MizardX has joined. 18:33:55 -!- cheater2 has joined. 18:33:55 -!- sebbu has joined. 18:36:01 * Sgeo|web surrenders somewhat easily 18:36:02 Sometimes I disagree with the difficulty assignments; I found "Replication Engine" (difficulty 4.00) much trickier than "Can you count in binary?" (difficulty 4.13). 18:43:24 -!- bsmntbombdood_ has changed nick to bsmntbombdood. 18:45:54 fizzie, they're assigned by the players 18:54:33 http://www.youtube.com/watch?v=O2rGTXHvPCQ&feature=player_embedded 18:54:36 oh lawd 18:54:51 * Sgeo|web sees a bunch of comments "no need for F2/F3".. but I used F2 and F3 19:01:35 Going to go get some food now 19:04:35 -!- Sgeo|web has quit (Ping timeout: 180 seconds). 19:21:54 Still, 4.47 for "Reflection"... 19:27:34 -!- kar8nga has joined. 20:29:58 -!- Wareya has joined. 20:52:28 scarf, but isn't Rubicon basically RUBE? 20:52:38 and wasn't RUBE proved TC iirc? 20:53:20 well, I proved Rubicon TC in its own right 20:53:31 and RedGreen is TC, but IIRC RUBE hasn't been shown either way 21:02:16 Intrigued by pikhq's reference, I'm trying to build clang right now... under cygwin... 21:02:32 (always a fun crap shoot) 21:03:24 cpressey: I don't think clang supports i686-pc-win32. 21:03:31 May end up with a cross-compiler. 21:03:54 Nope, I'm wrong. Supports it just fine. 21:03:57 pikhq: Isn't the question whether LLVM supports it? 21:04:14 cpressey: C needs the frontend to support it as well. 21:04:34 The LLVM generated is machine-dependent. 21:06:39 pikhq: I see. Makes sense. Well, I had gotten past "./configure" and it didn't barf, so I was hopeful, anyway. 21:12:02 doesn't cygwin run under a linux emulation dll? 21:14:39 -!- oklofok has quit (Read error: 60 (Operation timed out)). 21:17:33 Wareya: mostly, but there are all kinds of details relevant to compilers that aren't handled by it. For example, executable format. I don't think it can handle ELF... 21:18:07 Not to mention that its emulation of Linux is... not perfect. 21:20:54 Wareya: No, Cygwin runs under a DLL that provides POSIX functions. 21:21:11 It's not Linux, it's another UNIX. 21:21:43 cpressey: Cygwin uses PE for its executable format, with an executable postfix of .exe and a library postfix of .so. 21:21:47 Erm. 21:21:47 .dll 21:22:14 Sorry. meant POSIX when I said Linux... 21:29:36 -!- mycroftiv has quit ("leaving"). 21:38:29 -!- Sgeo has quit (Read error: 110 (Connection timed out)). 21:40:13 -!- augur_ has joined. 21:40:48 -!- augur has quit (Read error: 110 (Connection timed out)). 21:44:58 pikhq: Close enough. 21:45:05 -!- kar8nga has quit (Remote closed the connection). 21:50:48 -!- scarf has quit (Read error: 104 (Connection reset by peer)). 21:53:00 And in fact, clang trunk errors out in build on my cygwin install. Lovely. Well, it seems to be one of the debug tools, can probably just skip it. 21:54:58 cpressey, probably no one really cares about cygwin these days 21:55:15 real *nix ftw 21:55:33 LLVM trunk moves so fast, you can't expect it to work at any given time. 21:55:39 well yes 21:55:46 I use the releases anyway 21:55:49 They do have a cygwin buildbot, IIRC. 21:55:54 really? heh 21:56:49 cpressey, do you usually use windows? 21:57:12 AnMaster: not happily. 21:57:23 cpressey, ah, linux desktop? or os x? 21:58:04 AnMaster: to be more specific, I do usually use Windows these days, it's just that, I don't do so with much joy in my heart. 21:58:27 The logical question then is: why use it if it makes you sad 21:59:46 -!- Gregor-L has joined. 21:59:47 Observation: 21:59:50 I suck at drums. 22:00:02 I think you're supposed to beat them. 22:00:03 Deewiant: because being not sad is not, it turns out, a huge priority. 22:00:35 What, then, is? 22:01:00 cpressey, unless you need 3D virtualbox or such might work well 22:01:13 even with 3D iirc virtualbox has some support for that nowdays 22:01:14 Deewiant: at the moment, something closer to sheer survival. 22:01:31 huh 22:01:46 cpressey, programs for work? 22:01:48 AnMaster: as it turns out, I am running Ubuntu in a VMWare VM on this machine, and as my main OS on my machine at home. 22:01:57 ah 22:02:01 AnMaster: pretty much/ 22:02:07 so my guess was pretty close then yeah 22:02:25 I guess what I'm trying to fish for is what specifically is it that forces you to use Win 22:02:35 well that is interesting too 22:02:48 If it was really important for me to get clang running, I probably would have tried it in the VM. But for kicks, it's hey, let's try cygwin!! 22:03:03 Deewiant: ... other people? 22:03:24 cpressey, did it work? 22:03:51 Deewiant, also to what degree does the compiler have to support *.dll and *.exe. Isn't that mostly the linker? 22:03:52 AnMaster: no, there's some kind of error in the profiling library too 22:03:57 hrrm 22:04:00 cpressey: Probably not the people themselves, but a certain piece of software (not Windows itself) they expect you to use? 22:04:18 Deewiant: sure. 22:04:34 cpressey, I think Deewiant is trying to ask what those pieces of software are 22:04:50 Many and varied. 22:05:01 also I think you are almost deliberately avoiding answering it straight ;P 22:05:08 Gee, you think? :-P 22:05:24 which just makes us more interested of course 22:05:30 Re. *.dll and *.exe: beats me 22:05:49 Deewiant, well I guess some support for calling conventions and object format 22:06:13 cpressey, so any examples? :) 22:06:32 Calling conventions is a bit of a separate thing, but yes, of course the object format that your linker expects as input :-P 22:06:54 Deewiant, also GOT or whatever equiv windows uses 22:07:05 I think the compiler has to know part of it 22:07:15 that's what the __dllspec thing is for isn't it? 22:07:20 I'm not 100% sure what the GOT is, but isn't it part of the object format 22:07:37 I don't know what __dllspec is for, I know precious little about dynamic linking. 22:07:37 Deewiant, global offset table 22:07:46 AnMaster: I knew that, but not much more. 22:08:02 Deewiant, and __dllspec is used similar to __attribute__, that is to annotate functions 22:08:07 a specific annotation iirc 22:08:09 I know that, too. 22:08:10 also windows only 22:08:25 Deewiant, I think it is used to modify the calling sequence somewhat 22:08:42 Just the calling convention? 22:08:51 Deewiant, oh and for exporting symbols 22:08:58 but I meant when importing it 22:09:25 Deewiant, not "calling convention" as in "put value in register x" 22:09:30 but as in "jump to y" 22:09:38 also if I don't misremember *.exe and *.dll have separate memory spaces or some shit like that on windows 22:09:42 Ah right 22:09:45 but that is so weird I *might* have dreamt it 22:09:46 "dllimport" linkage causes the compiler to reference a function or variable via a global pointer to a pointer that is set up by the DLL exporting the symbol. On Microsoft Windows targets, the pointer name is formed by combining __imp_ and the function or variable name. 22:10:07 Deewiant, ye gods, worse than I remembered 22:11:34 Deewiant, btw source? 22:11:42 http://llvm.org/docs/LangRef.html 22:13:21 hm interesting there 22:13:23 "fastcc" 22:13:34 wonder if you can reach it through clang 22:13:43 or llvm-gcc for that matter 22:14:01 You mean emit code that uses it? Just make a file-local function. 22:14:13 Deewiant, well between files I meant 22:14:26 LTO should do it. 22:14:29 hm 22:21:23 -!- BeholdMyGlory has quit (Remote closed the connection). 22:25:52 One of the nicest things about LLVM is the LTO you can do with it. 22:26:07 -!- augur_ has quit (Read error: 60 (Operation timed out)). 22:26:16 (GCC 4.5 is also getting that; they make the compiler output GIMPLE in object files) 22:26:16 -!- MigoMipo has quit (Read error: 104 (Connection reset by peer)). 22:37:10 -!- tombom has quit ("Leaving"). 22:53:18 -!- augur has joined. 23:01:24 Which presumably means that either ld will gain some compilation support (ew) or that gcc, when used to link, actually does some trickery before calling ld. 23:02:51 Gregor: gold has plugin support. 23:03:10 ld ends up calling out to GCC at link time, in effect. 23:03:29 The same setup is used for LLVM's LTO. 23:03:53 (gold is an optional part of GNU binutils) 23:04:26 Yo dawg, I heard you like to compile, so I put a compiler in your linker, so you can compile while you link. 23:09:31 -!- nooga has joined. 23:09:33 hello 23:10:04 Gregor: GCC also has plugin support now. 23:10:16 are there lazy, functional esolangs that resemble haskell? 23:10:29 "resemble Haskell", no. 23:10:56 "lazy, functional esolang", yes. LazyK 23:11:26 i don't mean the syntax 23:11:31 but rather 23:11:33 hmmm 23:12:23 LazyK has S, K, and I. 23:12:29 too minimal 23:13:11 IO is perfomred by considering the program a function from input to output. 23:13:19 I want to program in a sanscrit version of lisp 23:13:55 (यन्त्र (संस्कृता) वाक्) 23:14:15 It also possesses 3 syntaxes. 23:14:27 MissPiggy, do you know sanscrit? 23:14:33 no but that would help me learn it 23:14:40 ... 23:14:52 hanguk is interesting 23:15:09 i wonder why nobody tried to design hanguk based esolang 23:15:28 what is that? 23:15:48 http://en.wikipedia.org/wiki/Hangul 23:15:56 i meant hangul 23:17:19 I don't know why it would be a good language 23:17:28 what's peculiar abou tit? 23:18:12 -!- FireFly has quit ("Leaving"). 23:18:37 -!- nooga_ has joined. 23:18:42 nooga: It's been done. 23:18:59 http://esolangs.org/wiki/Aheui 23:19:33 this is good ㅙ 23:19:50 DAMN 23:20:21 nooga_: but we could always use more :) 23:20:33 wow 23:24:09 hmm 23:28:09 weird 23:28:19 i always use ruby for prototyping 23:32:51 Today's game-music attempt (not yet complete): http://filebin.ca/wakrx/zee2.ogg 23:34:19 annoying 23:34:41 Gee :P 23:34:52 i mean the instruments 23:35:07 D-8. I spent /so damn long/ choosing those instruments X-D 23:35:24 the composition is nice 23:35:50 -!- nooga has quit (Read error: 110 (Connection timed out)). 23:36:15 -!- nooga_ has changed nick to nooga. 23:37:06 -!- cheater3 has joined. 23:38:08 -!- cheater2 has quit (Read error: 104 (Connection reset by peer)). 23:38:46 they're too hi-fi 23:38:59 who needs a synth trumpet when you can use a sawtooth 23:39:04 yeah! 23:39:11 square is the best 23:39:28 with a proper arpeggio 23:39:33 lawl, yesterday all my instruments were too synthy, now they're not synthy enough :P 23:39:42 use real ones 23:39:50 What a simple solution :P 23:40:04 well the people yesterday were wrong 23:40:09 or samples 23:40:16 soundfonts 23:40:23 nooga: This is from a soundfont, from samples X_X 23:40:31 oh 23:40:41 i thought it was cheap midi synthesizer 23:40:50 Yesterday I was writing this: http://codu.org/music/vg/zee1.ogg , not zee2, btw. 23:40:51 ;C 23:41:17 The trumpet sounds the worst, the others actually sound pretty good. 23:42:27 right 23:43:02 So, the trumpet ruins everything. I guess I need to go soundfont hunting for a trumpet. 23:58:11 -!- MizardX- has joined. 23:58:25 * SimonRC goes to bed