00:01:22 oh, that reminds me of a quote in the glibc manual that elliott (and possibly other people) will likely find hilarious 00:01:24 let me try to find it 00:01:31 umm, or was it coreutils? 00:01:44 windows sucks so badly at hardware support compared to linux 00:01:51 and then I'm talking about a clean install 00:02:08 sure there are drivers for windows, but they aren't there by default 00:02:45 * ais523 vaguely ponders why "info libc" opens the glibc info manual, "info glibc" opens the glibc manpage (which is called libc) in info 00:04:28 for example: I installed windows 7 on a desktop yesterday. Stuff that didn't work out of box: graphics (beyond basic VGA), the USB 3 controller, the intel network controller, the eSATA controller, one of the internal SATA controllers, the on-board sound, ... 00:04:56 all of those bar the graphics worked out of box when I tried linux. And for the graphics I just had to install catalyst 00:05:04 so same as windows there 00:05:17 except easier, since I had working network 00:05:59 `setuid' and `setgid' behave differently depending on whether the effective user ID at the time is zero. If it is not zero, they behave like `seteuid' and `setegid'. If it is, they change both effective and real IDs and delete the file ID. To avoid confusion, we recommend you always use `seteuid' and `setegid' except when you know the effective user ID is zero and your intent is to change the persona permanently. This case is rare--most of the 00:06:00 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: setuid': not found 00:06:00 programs that need it, such as `login' and `su', have already been written. 00:06:33 what 00:06:44 lol 00:07:33 ais523, stuff like httpds may want to switch permanently after binding the port 00:07:38 so uh that is another use case 00:07:55 well, the Secret Project drops root in such a way that the program it's running can't undrop root again 00:07:59 which is kind-of important 00:08:05 if I drop permissions, I want to do it properly 00:08:16 ais523, oh damn, still secret 00:08:22 why would it not be? 00:08:24 it's not finished 00:08:35 ais523, how far has it progressed? 00:08:39 you'll all get to see it when it's done, and has been used for its intended purpose 00:08:44 but it won't be finished for quite a while, I imagine 00:08:57 the bit I've been discussing with all of you is only the first phase of the Projcet 00:09:00 ais523, was is the intended purpose 00:09:05 -!- CakeProp1et has joined. 00:09:07 that would give too much away 00:09:13 damn XD 00:09:25 ais523, why is it secret 00:09:38 that's also secret 00:09:51 ais523, why is the reason for it being secret secret? 00:09:59 because it's the same as the reason it's secret 00:10:17 huh 00:10:44 -!- pumpkin has joined. 00:10:58 wow, I just got unsolicited email apparently from Google, telling me I should consider applying for a job there 00:11:03 I'm trying to work out if it's spam or not 00:11:10 if it is spam, it's incredibly well done 00:11:13 XD 00:11:23 nice spam yeah 00:11:24 -!- CakeProphet has quit (Ping timeout: 240 seconds). 00:11:29 I suppose retyping the reply address and replying would be a pretty good way to determine if it's genuine 00:11:40 unless a spambot has hacked google somehow 00:11:51 ais523, well, that could also alert them to your mail being valid 00:12:01 the reply mail would go /to Google/ 00:12:06 ais523: You should try to call them on the telephone instead 00:12:07 oh 00:12:18 because I'd be retyping an address to a google.com domain 00:12:20 -!- CakeProphet has joined. 00:12:20 -!- CakeProphet has quit (Changing host). 00:12:20 -!- CakeProphet has joined. 00:12:21 C# would not be a bad language to program in, if its libraries weren't so obnoxious 00:12:38 so if they didn't send it, it'd just be a non sequitur 00:13:03 also, "I was impressed to see that you are active in the Open Source Community." amuses me, I wonder what it is that they thought I've done? 00:13:17 -!- copumpkin has quit (Ping timeout: 264 seconds). 00:13:29 -!- pumpkin has changed nick to copumpkin. 00:13:55 (assuming it's not a spambot that's just parsed the entire contributor lists to, say, Gnome, which I have a couple of minor patches to) 00:13:59 enterprise freelance bullshit like what I'm doing? 00:14:09 -!- lambdabot has joined. 00:14:34 CakeProphet: I rewrote the AI for Nibbles 00:14:36 and fixed a bug 00:14:51 looking at Nibbles, it seems they managed to reintroduce most of the bugs to it again after I'd fixed it, together with some new ones 00:14:54 which is kind-of impressive 00:14:58 -!- CakeProp1et has quit (Ping timeout: 252 seconds). 00:14:59 ais523, did you see my message about dna music 00:15:10 I should redownload dev source to see if it's fixed again 00:15:16 cheater_: yes but I mentally ignored it 00:15:22 because I didn't care 00:15:44 that is not nice 00:15:55 well, that's why I didn't tell you before you asked 00:16:57 being not nice doesn't change whether you tell someone of your not-nice behavriour or not 00:17:08 no, telling someone that you ignored their comment is not nice 00:17:21 ignoring their comment is just routine behaviour, I don't react to every single comment made in all the IRC channels I'm in 00:17:23 nor would it be sane to do so 00:18:14 -!- CakeProphet has quit (Ping timeout: 240 seconds). 00:18:19 there's a difference between "i ignored it because i don't care" and "i didn't have much to say about it because it's not an interest of mine" 00:19:30 cheater_: still, I don't think people should be obliged to care about every statement made on IRC 00:20:10 what you just said is so synthetic and not to the point there's no way to either agree or disagree with it 00:20:21 it's just.. mu 00:20:50 I have to agree with ais523 on this one 00:21:12 Vorpal: oh no, does that automatically cause elliott to disagree with me? 00:21:37 does that mean that i automatically agree with ais523? 00:22:45 we could totally oscillate at the speed of information propagation, much like a pll oscillator. 00:22:59 ais523, maybe 00:23:49 err, isn't the whole point of a pll oscillator that it matches the speed of an external synchronizing signal? 00:24:02 although I suppose your sentence is ambiguous, and one possible reading contradicts the other 00:24:05 -!- GreaseMonkey has quit (Quit: The Other Game). 00:24:05 no that's just a pll. 00:24:19 i'm talking about a ring of 2n+1 flip flops. 00:24:37 so why are you describing it as a pll when it has none of the properties of a pll? 00:24:47 because it's 2 am and i'm tired. 00:24:47 other than oscillating? 00:27:30 -!- CakeProphet has joined. 00:27:30 -!- CakeProphet has quit (Changing host). 00:27:30 -!- CakeProphet has joined. 00:28:58 night 00:29:00 -!- CakeProp1et has joined. 00:30:57 -!- augur_ has changed nick to augur. 00:33:02 -!- Vorpal has quit (Ping timeout: 240 seconds). 00:36:44 -!- oerjan has joined. 00:39:01 -!- CakeProp1et has quit (Ping timeout: 240 seconds). 00:39:14 -!- CakeProphet has quit (Ping timeout: 240 seconds). 00:45:44 -!- CakeProphet has joined. 00:46:18 -!- CakeProp1et has joined. 01:02:25 -!- CakeProphet has quit (Ping timeout: 240 seconds). 01:02:34 -!- CakeProp1et has quit (Ping timeout: 260 seconds). 01:04:03 -!- cheater__ has joined. 01:04:11 -!- CakeProphet has joined. 01:07:30 -!- cheater_ has quit (Ping timeout: 250 seconds). 01:08:36 -!- CakeProphet has quit (Ping timeout: 250 seconds). 01:13:24 -!- CakeProphet has joined. 01:13:31 -!- CakeProphet has quit (Changing host). 01:13:31 -!- CakeProphet has joined. 01:15:36 -!- CakeProp1et has joined. 01:26:35 -!- CakeProphet has quit (Read error: Operation timed out). 01:26:43 -!- CakeProp1et has quit (Ping timeout: 258 seconds). 01:28:03 -!- CakeProphet has joined. 01:28:20 -!- CakeProp1et has joined. 01:36:02 :/ 01:36:28 speaking of flip flops... 01:38:18 don't flip on your flops 01:39:10 it's just two nand gates, anyway 01:41:09 oerjan: keep an eye out for flapping prophets 01:41:32 i do 01:44:04 -!- CakeProp1et has quit (Ping timeout: 252 seconds). 01:44:54 -!- CakeProphet has quit (Ping timeout: 240 seconds). 01:46:07 -!- CakeProphet has joined. 01:46:07 -!- CakeProphet has quit (Changing host). 01:46:07 -!- CakeProphet has joined. 01:46:21 -!- PatashuWarg has quit (Quit: MSN: Patashu@hotmail.com , Gmail: Patashu0@gmail.com , AIM: Patashu0 , YIM: patashu2 .). 01:50:06 oerjan: hes flapping again. can we get a tempban plox? 01:51:11 hrmph 01:51:46 -!- CakeProphet has quit (Ping timeout: 252 seconds). 01:51:47 -!- CakeProphet has joined. 01:51:48 -!- CakeProphet has quit (Changing host). 01:51:48 -!- CakeProphet has joined. 01:52:04 -!- ChanServ has set channel mode: +o oerjan. 01:52:50 -!- yorick has quit (Read error: Connection reset by peer). 01:53:00 -!- oerjan has set channel mode: +b CakeProphet!~adam@*.dynamic.ip.windstream.net. 01:53:39 -!- yorick has joined. 01:53:41 -!- CakeProp1et has joined. 01:53:49 wat 01:54:07 -!- oerjan has set channel mode: -b CakeProphet!~adam@*.dynamic.ip.windstream.net. 01:54:18 -!- oerjan has set channel mode: +b CakeProp*!~adam@*.dynamic.ip.windstream.net. 01:55:36 -!- PatashuDragonite has joined. 01:55:55 i don't know whether that will also ban his cloak, but i'm not intending to 01:56:01 -!- oerjan has set channel mode: -o oerjan. 01:58:26 -!- CakeProp1et has quit (Ping timeout: 250 seconds). 01:58:53 -!- CakeProphet has quit (Ping timeout: 264 seconds). 02:27:50 -!- nisstyre_ has joined. 02:27:52 -!- Nisstyre has quit (Remote host closed the connection). 02:32:20 -!- nisstyre_ has quit (Ping timeout: 258 seconds). 02:33:35 -!- sebbu2 has joined. 02:33:35 -!- sebbu2 has quit (Changing host). 02:33:35 -!- sebbu2 has joined. 02:33:50 -!- Nisstyre has joined. 02:34:14 -!- sebbu has quit (Ping timeout: 257 seconds). 02:44:49 ok heres a topic 02:45:05 has hello world worn out it's welcome? 02:45:57 yeah the world is starting to get pissed 02:46:09 lol 02:48:45 * itidus20 . o O (russia.c : #include int main(void) { char input[50]; while (strcmp(input,"Hello world") != 0) { fflush(stdin); fflush(stdin); scanf("%s\n", input); } return 0; } ) 02:49:10 i haven't used these functions for a while though so not 100% sure on this 02:49:38 itidus20: i believe %s may be dangerous 02:49:46 theres a few bugs in that program.. 02:49:49 buffer overflow 02:49:58 but the idea is a soviet russian hello world 02:49:59 yes, that program is a buffer overflow waiting to happen 02:50:09 you forgot the comma 02:50:18 i think != 0 should be == 0 also 02:50:25 in soviet russia, buffer overflows you 02:51:07 the idea being, you input hello world instead of having it output 02:51:27 well naturally. also see [[Narcissist]] on the wiki. 02:52:03 firefox 6 highlights the domain name in a url 02:52:08 i think thats pretty cool... 02:54:10 hahah narcissist is a brilliant idea :o 02:54:15 wow...... 02:56:56 when you said the world is starting to get pissed.. i thought.. now its time to repay the world by saying hello world to it 02:57:09 more or less 02:58:06 that would be the opposite of the intended joke 03:00:05 "Hello World, you don't mind if we chop down a few billion trees do you? Sorry, don't have time to talk." 03:00:33 "Oh, and thanks for all the fish." 03:00:56 s/Oh/So long/ 03:02:09 fish.. the one animal which is unlikely to drown 03:02:59 do you suppose that the biblical story of a flood was a response to the prayers of fish? 03:03:03 that's a very land-animal biased thing to say 03:03:27 also, octopi, shrimps and jellyfish would like a word with you 03:03:54 (jellyfish are not fish either) 03:04:10 and also they are not jelly :( 03:04:20 well true. probably. 03:05:38 i do not recall any references to overfishing in genesis, but then it's been decades since i read it 03:06:14 Why does Windows display the message saying that you do not have permission to view the permissions but you can make changes? 03:08:24 If you do add things though, it says you have no permission. 03:20:15 -!- madbr has joined. 03:23:32 man 03:23:48 -!- MDude has changed nick to MSleep. 03:23:58 how does the pentium pro &co. not run incredibly slowly 03:24:39 Uh, the Pentium Pro runs several orders of magnitude slower than modern CPUs. By any reasonable standard, that is "running incredibly slowly". 03:26:21 well, I mean the ppro family including the much more recent derivatives 03:26:43 which I'm sure have much higher clock speeds and much larger caches 03:27:05 but similar pipelines etc 03:28:27 Okay, in *that* sense. The Pentium Pro was an early consumer release of modern CPU design. 03:29:49 Namely, implementing x86 by microcoding to a RISC and having a large pipeline. 03:31:53 Well. The first bit is only really done for the sole standing absurd CISC ISA. 03:44:17 Have you ever read "Science Made Stupid" or "Cvltvre Made Stvpid"? 03:47:38 pikhq: seems to be more about the crazy "out of order/register renaming" stuff 04:17:13 zzo38: windows sometimes asks you to contact the administrator when you are the only one who has ever used the pc 04:20:34 -!- pikhq has quit (Ping timeout: 240 seconds). 04:20:39 -!- pikhq has joined. 04:53:03 I'm starting to think I should remove xkcd from Google Reader 05:05:54 on a day when xkcd makes a strip which makes _me_ nostalgic for old-style absurd humor, _Sgeo_ decides it is not worth reading? 05:06:25 boomerang haters gonna hate and come back hating 05:06:30 (ok, it wasn't particularly _funny_. it was, i don't know how to translate "underfundig".) 05:06:42 underfunny? ;) 05:06:44 hehe 05:06:48 no relation. 05:07:20 "artful" says the internet 05:07:31 wait 05:07:33 that's swedish 05:07:38 norwegian = quirky 05:07:40 seems a better fit 05:07:47 hm yes maybe 05:08:06 it wasn't rofl 05:08:34 indeed. i find this comic gave me a strange sense of calm, instead. 05:09:46 my favorite oddball one is the etch-a-sketch one 05:11:20 yeah same feeling 05:12:24 different feeling for me 05:12:30 this one is a smile 05:12:35 that one was something a little more melancholy 05:13:48 definitely melancholy for both for me 05:14:01 melancholy about a boomerang? o_O 05:14:15 or wait, did i miss monday's? 05:14:28 melancholy about a simpler world 05:14:38 haha 05:14:43 simpler, where arrows come back as boomerangs 05:14:50 like caterpillars becoming butterflies! 05:14:50 ;) 05:17:04 One of the pages of this book has warning it says: INSTRUCTIONS TO USE: 1. The battery is not needed for operation of this. 2. Be holding the book with your hands, as it is show in the illustrations. 3. Make always sure, that you read the lines from reft to light [...] DO NOT INDUCE VOMITING--THE CONTENTS WILL TAKE CARE OF THAT [...] WARNING: The Attorney General Has Determined That Books May Contain Harmful or Dangerous Ideas [...] Best 05:17:48 got cut off after [...] Best 05:18:09 when read before AUG'91 05:18:59 -!- GreaseMonkey has joined. 05:41:58 what kind of algorithm can I use for pathfinding around continuous objects? A* I know is good for a discrete grid or graph of nodes 05:42:04 maybe I should just convert to a discrete grid and A* that 05:43:42 To my knowledge that's what's usually done. Draw a grid, A* over that, then within any non-empty element, subdivide. 05:43:57 thanks 05:47:16 -!- Lymia has joined. 05:47:22 -!- Lymee has quit (Disconnected by services). 05:47:24 -!- Lymia has changed nick to Lymee. 05:50:55 -!- Nisstyre has quit (Quit: Leaving). 05:55:21 -!- madbr has quit (Quit: Radiateur). 05:55:59 I've seen pathfinding done in continuous environments composed of arbitrary polygons, but I don't have any references handy. 05:56:17 Doing it in a grid sounds quite practical though. 06:10:22 I recall doing a sort of simplified pathfinding by drawing a straight line, finding the first point where it hit an obstacle, adjusting it in both directions, then recursing for each of the four new lines produced. 06:11:06 That's not a bad idea 06:12:59 -!- zzo38 has quit (Remote host closed the connection). 06:14:43 -!- Nisstyre has joined. 06:17:42 Gregor: Sounds like one of those suboptimal but correct pathfinding solutions. 06:18:10 oh dear, TIL that TV Tropes has inside jokes 06:18:16 I suppose I should have guessed that 06:18:17 ais523: Tons. 06:18:30 the thing about inside jokes is that they aren't obvious from the outside 06:18:52 Who could have guessed? 06:20:32 PatashuDragonite: also, why is there a Pokémon randomly in your nick? 06:20:35 inside jokes actually seem kind of obvious to me, but maybe I'm just fooling myself 06:20:57 rather, things being inside jokes; I can't determine their meanings or anything so easily 06:21:53 because http://nyiaj.deviantart.com/art/Dragonite-Zoids-187606462 06:27:17 pikhq: It's clearly suboptimal, but if you optimized your exploration order to choose current-shortest paths first, it probably wouldn't be terrible. 06:30:35 Plus, it has the advantage of being really clear for continuous data :P 06:36:36 Meh, just quantise at Planck length. Good enough. 06:36:37 Fastest file system in the west? 06:36:37 htkallas@pc112:~$ time ls -l ~ >/dev/null 06:36:37 real 3m32.514s 06:36:51 Three and half minutes to list a directory, not bad. 06:37:01 ... ls | wc -l? 06:37:17 "Quite a few, but not *that* many." 06:37:27 "git log" in a two-file repository printed log entries about one/second. 06:37:59 What do you need to know planck length for anyway 06:38:21 PatashuDragonite: Well, it's a very elegant unit. 06:38:47 Elegant if it's not a lie 8-D 06:39:11 In Placnk units, c=1 l_p/t_p. 06:40:51 pikhq: | wc -l: 547. Not really *so* unreasonable. 06:40:58 (Could do with a cleanup, though.) 06:41:41 Physics is all-around nicer in Plack units. 06:43:05 Plaque units 06:43:33 "In terms of raw plaque units, you need to brush your teeth." 06:44:17 (note, though, that Planck units are pretty poor for everyday measurement. 1 T_p, the Planck temperature, is 1.416833e32 K.) 06:44:55 (for comparison, the Sun is about 1.57e7 K) 06:45:18 http://en.wikipedia.org/wiki/Doubly_special_relativity It's starting to look like triply special relativity 07:00:31 -!- pikhq has quit (Ping timeout: 252 seconds). 07:00:38 -!- pikhq has joined. 07:01:44 -!- ChanServ has set channel mode: +o oerjan. 07:02:06 -!- oerjan has set channel mode: -b CakeProp*!~adam@*.dynamic.ip.windstream.net. 07:02:21 -!- oerjan has set channel mode: -o oerjan. 07:03:16 Why was CakeProphet banned? 07:04:01 ye olde triple join/quit/rejoin with cloak/ping timeout cycle 07:04:02 His connection was flailing. 07:08:06 Mmm 07:23:36 was the ban aimed to cut down the flails rather than ban him altogether? it looked like that 07:23:56 Yeah, that's pretty much it. 07:24:18 yep 07:24:49 i don't really know if it would affect him cloaked or not 07:25:59 elliott's not here, Phantom_Hoover's not here 07:26:01 So meh 07:39:59 -!- Taneb has joined. 07:40:07 Hello! 07:41:11 Hi 07:41:23 What'sup? 07:42:44 Taneb, I forget, did you say you're a Homestuck person? I remember someone getting offended when I only mentioned elliott and PH 07:42:56 Yeah, that was me 07:43:16 There's an update 07:43:24 Sweet 07:47:01 So, Hussie Got Tiger? 08:00:16 B. 08:00:20 r. 08:00:24 MOTERFUCING 08:00:25 b. 08:00:30 HONK 08:00:33 -!- Taneb has quit. 08:02:22 -!- Vorpal has joined. 08:07:17 -!- Taneb has joined. 08:08:56 "Mitchell and a colleague have described Titan's climate as "all-tropics" — the entire planet experiences the types of weather phenomena that on Earth are confined to the equatorial region. 08:09:28 which is rather weird for a place with average temperature of 94 K 08:09:54 s/[.]/."/ 08:11:05 Today's xkcd is pretty good 08:11:25 Of course, I enjoyed the Thor film. 08:11:28 For its plot. 08:11:43 we did talk about it previously. 08:11:56 Okay 08:12:15 starting with Sgeo implying the opposite 08:13:24 ...That I /didn't/ enjoy the Thor film!? 08:13:33 NATURALLY 08:13:41 or possibly, about today's xkcd 08:15:02 That today's xkcd didn't enjoy the Thor film!? What is the world coming to? 08:15:08 -!- GreaseMonkey has quit (Quit: The Other Game). 08:15:31 to disastrous wilful misunderstandings, it seems 08:15:40 :D 08:15:52 That is my actual expression. 08:16:02 Except I have rather more hair and noses. 08:18:05 well i'm sure a good doctor can repair that displaced jaw 08:18:21 It hurts 09:45:21 -!- cheater__ has quit (Ping timeout: 250 seconds). 09:46:15 -!- oerjan has quit (Quit: leaving). 09:55:54 -!- Taneb has quit (Ping timeout: 264 seconds). 10:14:59 -!- monqy has quit (Quit: hello). 10:31:08 -!- yorick has quit (Read error: Connection reset by peer). 10:32:51 -!- Taneb has joined. 10:49:37 Working on my Binodu fibonacci numbers program 11:06:10 -!- yorick has joined. 11:09:18 -!- ais523 has quit (Remote host closed the connection). 11:12:09 -!- BeholdMyGlory has joined. 11:50:24 i notice that the more i want to sound like a mathematician the more i start referring to everything as a space 11:51:02 Replace space with field and you're a physicist 11:52:08 -!- boily has joined. 12:00:31 -!- Phantom_Hoover has joined. 12:23:25 -!- Taneb has quit (Quit: He's a big quitter he is). 12:34:52 -!- ais523 has joined. 12:40:04 -!- Taneb has joined. 12:52:37 -!- alibaba has joined. 12:53:12 -!- alibaba has quit (Client Quit). 13:09:55 -!- sebbu2 has changed nick to sebbu. 13:27:44 #include int main(void) { auto i = 4.5L; printf("%d\n",(int)sizeof i); return 0; } 13:27:58 I think I have a C/C++ polyglot that acts differently in each language 13:31:06 #include int main(void) { return printf("%d\n", (int)sizeof'x'); } 13:31:28 ais523: As far as I know, that shouldn't compile in C, since you haven't declared i ... 13:31:37 Or rather, your --- oh, it's an int automatically. 13:31:39 Never mind :P 13:31:44 Heh, clever. 13:31:56 Everything's an int automatically. :p 13:32:07 I have indeed declared i 13:32:13 and even explicitly given its storage class 13:32:16 #include int x; int main(void) { struct x{char c;}; return printf("%d\n", (int)sizeof(x)); } 13:32:42 Deewiant: heh, playing with scope? 13:32:43 The "sizeof 'x'" variant was I think "discussed" (for some values of discussion) on-channel few moons ago. 13:33:07 is 'x' a char in C++? 13:33:10 Yes 13:33:11 Yes. 13:33:12 And yes 13:33:23 Yes, yes, a thousand times yes. 13:34:10 in C sizeof(x) refers to the int because the struct is called 'struct x', not 'x'; in C++ it refers to the struct because it's "closer" in scope 13:36:15 yep 13:38:08 auto was such an unloved keyword in C 13:38:15 illegal everywhere it isn't the default 13:41:36 Also in C++, sizeof doesn't take values, only types. 13:42:05 That's bogus. 13:42:14 It's very terrible. 13:42:22 No, I mean, it's not true. 13:42:42 Or at least I don't believe it until I see proof. 13:43:29 This works (as in, behaves differently) in my gcc, but it is probably a bit implementation-defined: #include #include int main(void) { printf("%d\n", sizeof true); } 13:45:12 (1 when compiled with g++, 4 when with gcc.) 13:54:07 I guess it's not all values ... my buffer.h doesn't work in C++ but does in C, and it's because of a sizeof, so I'll have to figure out more precisely what it is 13:56:13 It should take any expression, avoid evaluating it, and give sizeof as if it were applied to the type of the expression. 13:57:24 Is dynamic linking or any sort of file manipulation in the C standard library? 13:57:47 There's some file manipulation in general. 13:57:50 No directories, though. 13:58:24 Directories are for pussies. 14:04:12 -!- derrik has joined. 14:07:08 So it sounds like in order to do any dynamic linking, I first need to link (presumably statically) with a library that lets me do dynamic linking. 14:07:23 Or pitch the idea of a library and simply do it via system calls. 14:07:34 Or... embed a library? 14:07:51 Is that different from linking one? 14:08:18 I don't know 14:11:56 Depends on how dynamic you mean ... 14:12:27 If you're talking about the dynamic linking that's performed before your program begins execution, that's very different from the dynamic linking that's performed during program execution. 14:12:43 Huh. Wikipedia says that in Linux systems, an executable is given a "linker stub" that dynamically links the "real" dynamic linker. 14:13:50 Oh, it further says that the "real" dynamic linker is already in memory when the process is created, and the linker stub just sorta connects to it. 14:15:54 That's ... a bit misleading. 14:17:31 -!- PatashuDragonite has quit (Quit: MSN: Patashu@hotmail.com , Gmail: Patashu0@gmail.com , AIM: Patashu0 , YIM: patashu2 .). 14:18:19 Mmkay, Wikipedia says Unix-like systems all do dynamic loading with libdl. 14:18:36 Windows does it with the Windows API. windows.h and Kernel32.dll. 14:26:15 -!- Taneb has quit (Ping timeout: 260 seconds). 14:30:52 -!- FireFly has joined. 14:31:12 -!- copumpkin has quit (Remote host closed the connection). 14:31:37 -!- copumpkin has joined. 14:33:34 It kind of looks like libdl can only be used to link to libraries with the C calling convention. You tell libdl what file you want, and what symbol you want, and you get a function pointer. 14:34:08 Actually, that makes me think libdl is totally calling-convention-agnostic. 14:34:30 If the library has the C calling convention, you can call it directly from C. If it doesn't, then... you can do something else with it. 14:35:02 Maybe the library has no calling convention, and the function it exports is just text. Then you can cast it to a char*. :P 14:37:01 -!- ais523 has quit (Ping timeout: 252 seconds). 14:42:33 I need to upgrade my brain's scheduler. I have a priority inversion problem with TVTropes... 14:45:41 -!- oerjan has joined. 14:47:27 tswett: Yes, you can dlsym() out non-function symbols from a library too. 14:47:41 -!- MSleep has changed nick to MDude. 14:48:25 Including variables? 14:48:29 Global variables? 14:48:55 Yes, why not. 14:49:13 Assuming they have externally visible symbols, anyway. 14:49:32 The POSIX dlsym page even has an example which "shows how dlopen() and dlsym() can be used to access either function or data objects". 14:50:40 (POSIX assumes a void * can hold a function pointer, which isn't necessarily true in all C systems.) 14:54:10 Does the system need nasty workarounds then? 14:55:57 Well, the "nasty workaround" is probably to modify the void * so that it can point to functions too. Or just opt to be non-posix. 14:56:10 Does Linux? 14:56:17 You can return a size_t, right? 14:56:30 Um, no wait. 14:56:41 What was it called again? 14:57:02 Ah, there is no such type.... 14:57:09 Maybe (u)intptr_t? Though I fail to see how that's relevant. 14:57:44 That's just an integral type that's capable of holding any object pointer. It's not required to be able to hold a function pointer either. 14:58:27 I don't think Linux runs on anything where providing a sensible-looking void * that can also point to functions is a problem, though. 14:58:40 Eh. 14:58:50 Is there anything except maybe the JVM or something where that /isn't/ the case? 15:00:18 There are real systems where not all pointers are equal, but I don't know of any where function pointers would be too magical for void *. 15:00:46 CLC faq declines to provide any examples, just noting that "On some machines, function addresses can be very large, bigger than any data pointers". 15:02:00 maybe that weird assembly that was recently mentioned on the wiki, i recall something about typed pointers... 15:02:24 I think it did have an example of systems with unusual pointers in some other question, but that was about different object points. 15:03:08 I suppose it might be so on systems with really really small memories, so that it's actually usable, but... 15:03:21 You won't be running POSIX or C on that... 15:03:33 (By really really small, I mean "Could fit in Minecraft small") 15:03:35 I think it's reasonably "common" (if you can call it that) to have sizeof(char *) > sizeof(int *) (and correspondingly sizeof(void *) == sizeof(char *)) on strictly word-addressible systems, where 8-bit characters are faked with sub-word units. 15:03:48 So the char * pointers need to contain basically an int * and an offset. 15:04:25 I recall seeing a Cray something mentioned. 15:05:03 "data pointers, function pointers, and integers can't be cast to one another on the AS/400" 15:05:47 Unless you're compiling to the JVM, what systems do that? 15:05:51 (http://esolangs.org/wiki/Talk:Timeline_of_esoteric_programming_languages#AS.2F400) 15:05:53 Well. 15:05:55 WHY would a system do that. 15:07:57 Oh, and in some 16-bit MS-DOS memory models function pointers and data pointers have a different size. 15:09:27 For example the "medium" memory model, where data pointers are "near" (all data in one segment, 16-bit pointers) and code pointers are "far" (multiple code segments, technically 20-bit pointers that tend to take 32 bits of space, and can have functionally-equivalent values that == doesn't recognize as equal). 15:10:20 Though even there it's still possible a "reasonable" workaround to just make all void *s "far" too. 15:11:07 MS-DOS compilers I think mostly just decide to not be strictly C compilers, though, and provide some sort of extra "FAR" qualifier you can tag to pointer types. 15:12:06 Like gcc? 15:12:34 GCC proper is not a 16-bit compiler at all. 15:13:01 I don't think DJGPP is much of a one either, doesn't it run everything with CWSDPMI? Well, maybe it could be used as a 16-bit one too, I can't quite recall. 15:13:17 As for the "why", obviously because the hardware makes the "near" pointers much faster. 15:13:24 (No need to set/restore segment registers.) 15:15:17 I mean gcc's whole extension thing. 15:15:48 Oh. Right. Yes. But GCC provides a quite strict ISO C mode, unlike Watcom and Borland and friends. 15:16:05 -!- ais523 has joined. 15:16:13 oh dear 15:16:24 I, umm, may just have convinced my boss to run his first-year CS course as a nomic 15:17:29 Is that an "oh dear" instead of "oh wow"? 15:17:41 well, I'm meant to be helping to teach the course 15:17:48 Oh dear. 15:17:54 he'd got pretty much all the nomic framework in place but the mutability of rules already, though 15:18:03 in particular, he seems to have been expecting/encouraging scams 15:19:19 with this kind of power, maybe you should enter politics 15:19:49 oerjan: when Guild Council changed to be entirely elected, I ended up with only 2 votes, out of more than 1000 cast 15:19:53 I'm still wondering who the other one was 15:20:12 I think I'm too honest to be a politician (also, I disagreed with the majority of the electorate on most issues, which can't have helped) 15:20:25 Not wishing to sound like a troll (what with my obvious user name) 15:20:27 heh 15:21:00 /nick Troll 15:21:40 the rest of the comment was basically an opinion that the subject of the article being discussed sucked 15:22:43 ais523: my understanding is that holding positions of power causes people to be less honest. 15:22:57 So if you think you're too honest now, maybe holding office will fix that. 15:27:37 I think I'm too honest to be a politician 15:27:43 that doesn't mean I think I'm too honest in general 15:29:20 GCC proper is not a 16-bit compiler at all. // lies lies lies 15:29:37 GCC is not an 8{0,1,2}86 compiler. 15:29:45 But it supports (or has supported?) various 16-bit targets. 15:29:48 Just not that one. 15:29:58 And DJGPP isn't 16-bit at all. 15:34:26 Well, yes, it was in the x86 context. 15:35:27 My point is more how ridiculous it is; fixing a "crap we made assumptions all over the place and can't adapt to 16-bittedness" problem is a lot harder than fixing a "I don't support this particular target" problem. 15:35:28 And you know what they say: when you context, you make a... con... out of... T-ext? 15:47:44 There was that 16-bit experimental GCC. 15:47:50 DJGPP, I mean. 15:47:55 http://www.delorie.com/djgpp/16bit/gcc/ 15:48:06 Not any good, I believe. 15:48:21 (Based on gcc-2.7.2.3.) 15:49:59 Apparently there's also a 9-patch patchset against 4.3.0 20070729 (experimental) to add "ia16-unknown-elf" on the GCC mailing list. 15:52:43 It was quite terrible :) 15:55:47 -!- ais523 has quit (Remote host closed the connection). 15:56:36 OpenWatcom is pretty alright though. 15:58:10 The patchset doesn't seem to have been accepted. There's a huge thread of discussion mostly about whether it should be merged with the i386 architecture (all "-m16" style like it does "-m32" and "-m64" already) but nothing seems to have come out of it; everyone else wanted it merged there, except all the i386 maintainers didn't want any of that silly 16-bit code in *their* house. 16:03:35 "But it can happen you need to write a realmode application which uses MMX,SSE..." -- interweb forums. 16:03:41 Sounds like something that happens very often. 16:04:59 (There's that .code16gcc nonsense for that, though.) 16:07:22 -!- copumpkin has quit (Ping timeout: 250 seconds). 16:10:13 "Indiglo devices emit a distinct indigo or white or other color." Yes, that's a very distinct color. 16:11:52 -!- copumpkin has joined. 16:12:34 tswett: It is distinctly a color. 16:13:19 Yes, I guess it doesn't emit transparent or specular light. 16:17:02 -!- Nisstyre has quit (Ping timeout: 246 seconds). 16:19:09 -!- sebbu2 has joined. 16:19:09 -!- sebbu2 has quit (Changing host). 16:19:09 -!- sebbu2 has joined. 16:19:35 -!- sebbu has quit (Ping timeout: 260 seconds). 16:19:55 -!- sebbu2 has changed nick to sebbu. 16:21:02 -!- Nisstyre has joined. 16:23:27 -!- sebbu2 has joined. 16:23:32 -!- sebbu2 has quit (Changing host). 16:23:32 -!- sebbu2 has joined. 16:24:53 -!- sebbu has quit (Ping timeout: 250 seconds). 16:25:15 -!- CakeProphet has joined. 16:25:15 -!- CakeProphet has quit (Changing host). 16:25:15 -!- CakeProphet has joined. 16:25:15 -!- CakeProphet has changed nick to 36DAB2XPK. 16:25:15 -!- 92AADZBGG has joined. 16:25:39 now what 16:26:27 -!- sebbu has joined. 16:26:27 -!- sebbu has quit (Changing host). 16:26:27 -!- sebbu has joined. 16:27:03 -!- Nisstyre has quit (Ping timeout: 250 seconds). 16:28:07 -!- sebbu2 has quit (Ping timeout: 252 seconds). 16:30:34 -!- Nisstyre has joined. 16:30:35 -!- Nisstyre has quit (Excess Flood). 16:31:17 -!- Nisstyre has joined. 16:31:18 -!- Nisstyre has quit (Excess Flood). 16:32:00 -!- Nisstyre has joined. 16:32:46 -!- sebbu2 has joined. 16:33:59 -!- sebbu has quit (Ping timeout: 252 seconds). 16:38:26 -!- sebbu has joined. 16:38:34 -!- sebbu has quit (Changing host). 16:38:34 -!- sebbu has joined. 16:38:45 -!- sebbu2 has quit (Ping timeout: 250 seconds). 16:42:28 -!- Nisstyre has quit (Ping timeout: 250 seconds). 16:44:11 -!- sebbu2 has joined. 16:44:11 -!- sebbu2 has quit (Changing host). 16:44:11 -!- sebbu2 has joined. 16:44:30 -!- sebbu has quit (Ping timeout: 260 seconds). 16:45:01 -!- sebbu2 has changed nick to sebbu. 16:48:22 -!- ais523 has joined. 16:49:49 -!- sebbu2 has joined. 16:49:50 -!- sebbu2 has quit (Changing host). 16:49:50 -!- sebbu2 has joined. 16:49:55 -!- sebbu has quit (Ping timeout: 240 seconds). 16:49:59 -!- oerjan has quit (Quit: leaving). 16:50:32 -!- sebbu2 has changed nick to sebbu. 16:54:41 -!- zzo38 has joined. 17:14:18 -!- 92AADZBGG has quit (Ping timeout: 240 seconds). 17:15:05 -!- 36DAB2XPK has quit (Ping timeout: 276 seconds). 17:33:17 -!- zzo38 has quit (Remote host closed the connection). 17:55:53 this channel is made of joins and parts 17:56:30 This channel is made of joints and parts. 18:03:07 oh no, I think someone new has posted a surprisingly BF-like imperative tarpit to the wiki 18:03:52 in fact, the only difference, apart from syntax, is that - was replaced by a shift-left instruction 18:18:39 * ais523 reads parts of the design docs that lead to C++0xb 18:18:58 they point out that "std::string s1(false)" is legal, "std::string s2(true)" is illegal 18:19:07 which is pretty funny, although obvious if you think about it 18:21:30 It's hardly "obvious" unless you know the C++ promotion rules 18:22:59 you don't need that at all, it's actually pretty much pure C 18:23:06 "false" and "true" are both integer constants 18:23:14 and "false" has the value 0, and thus is a legal null pointer constant 18:23:28 and std::string's constructor (the relevant one, anyway) takes a char* as argument 18:23:44 The C promotion rules, then 18:23:55 the relevant C rule is not quite the same as the relevant C++ rule, but the differences don't matter in that case 18:24:13 Although I'd argue that this is C++-specific because false and true aren't #defined to 0/1 in C++, making it that much less obvious 18:24:49 In any case, I wouldn't call it "obvious" that false can be promoted to a null pointer 18:25:03 In fact I think "obvious if you think about it" is a bit of an oxymoron :-p 18:25:04 well, booleans are an integer type... 18:25:14 and not really, some things aren't /obviously/ obvious 18:25:14 Right, but you don't typically think of them as such 18:25:19 I do 18:25:23 but maybe I'm unusual in that respect 18:25:24 Most languages don't 18:26:10 wow, I'm always amazed at how clean C++'s documentation is, given how ugly what it's trying to describe is 18:26:13 it's much better than C's 18:26:51 You mean the ISO specs? 18:27:19 the (insert relevant standards body here) specs 18:27:26 I'm not sure who writes them and who just signs off on them 18:29:49 hmm, there's something nicely nihilistic about nullptr_t 18:29:59 it's a type that only has one possible value, which is nullptr 18:30:14 you can create a variable of that type, but can't possibly store anything but nullptr in it, so it's effectively read-only 18:30:50 (I wonder if it's nonetheless undefined behaviour to read from an uninitialised variable of that type? it's quite plausible that you could get something other than nullptr if, say, it's implemented as a void*) 18:33:16 I'd be surprised if not 18:33:37 This MIGHT be the best T-shirt that's ever been on woot: http://shirt.woot.com/friends.aspx?k=20718 18:39:07 -!- Nisstyre has joined. 18:39:07 -!- Nisstyre has quit (Excess Flood). 18:39:50 -!- Nisstyre has joined. 18:39:51 -!- Nisstyre has quit (Max SendQ exceeded). 18:40:34 -!- Nisstyre has joined. 18:50:37 Gregor, beautiful. 18:52:23 -!- KingOfKarlsruhe has joined. 18:53:09 http://shirt.woot.com/friends.aspx?k=18815 18:53:20 I like the way the formula is only vaguely related to the image. 18:59:20 There's that C++ thing they do, where if you have a user type (class) that you want to be testable as a boolean, e.g. if (myobj) ..., they give that class an overloaded operator void*, and then return null/this for false/true, because the void* in such a context gets tested as !=0, so that works; while if you'd provide an operator bool then "myobj1+myobj2" would also be legal, which of course you don't want. 19:00:52 -!- elliott_ has joined. 19:01:00 20:29:02: Can somebody with Cygwin give me the uname -a output please? 19:01:08 Gregor: Insert standard anti-Cygwin sentiment 19:01:23 Does Gregor still need that? 19:02:07 more wow at C++0xb: the syntax for suffix return value scope is rather reminiscent of Perl 6, but means something entirely different 19:03:38 $ uname -a 19:03:39 CYGWIN_NT-6.1-WOW64 Sgeo-PC 1.7.9(0.237/5/3) 2011-03-29 10:10 i686 Cygwin 19:05:09 Sgeo: Just as loony as I thought >_< 19:05:15 00:10:58: wow, I just got unsolicited email apparently from Google, telling me I should consider applying for a job there 19:05:15 00:11:03: I'm trying to work out if it's spam or not 19:05:15 00:11:10: if it is spam, it's incredibly well done 19:05:15 00:11:13: XD 19:05:15 00:11:23: nice spam yeah 19:05:18 ais523: probably not spam 19:05:28 Gregor: Why are you supporting Cygwin 19:05:37 I'm not. 19:05:38 elliott_: I agree in probably not spam 19:05:44 Somebody asked me for help with a Makefile. 19:05:56 "Wow, 64 bits!" (Yeah, yeah, it's that Windows-on-Windows thing.) 19:06:05 although I am a little annoyed that it's written assuming that I'm American (in particular, there's an American phone number with no country indicator there) 19:06:16 especially as it's sent to a .ac.uk address 19:06:33 00:13:03: also, "I was impressed to see that you are active in the Open Source Community." amuses me, I wonder what it is that they thought I've done? 19:06:33 likely GNOME, possibly TAEB? 19:06:52 it could even be AceHack for all I know, or C-INTERCAL 19:06:57 oh, probably C-INTERCAL 19:06:58 I thought of Gnome, but my patches to it are tiny 19:07:00 they sent one to esr, after all 19:07:05 well, they're quite large in terms of lines 19:07:06 and then he was promptly a dick about it 19:07:09 err 19:07:10 wait 19:07:11 that was MS 19:07:13 but to a relatively minor part 19:07:14 i'm smart 19:07:24 * elliott_ couldn't work at Google 19:09:43 ais523: The North American dialing code is pretty easy to remember, though. 19:09:45 ais523: 1. 19:09:49 +1, to be precise 19:10:11 but nothing links the phone number to the US but the mention of Mountain View buried earlier in the email 19:10:21 That's irritating. 19:10:31 ais523: are you going to respond? :P 19:10:56 I haven't yet, and am too tired to do so coherently 19:10:58 Especially since it's somewhat more normal to leave the 1 at the start... 19:11:06 ais523: that's not an answer :P 19:11:12 indeed 19:11:13 (that is *also* the number you need to press to make a long-distance call) 19:11:24 I haven't decided yet 19:12:08 my hypothetical employment opportunities are severely limited by having ethics and getting bored easily, oops 19:12:39 00:20:50: I have to agree with ais523 on this one 19:12:39 00:21:12: Vorpal: oh no, does that automatically cause elliott to disagree with me? 19:12:51 ais523: the exception to Vorpal being wrong about everything is things that everyone but cheater are right about 19:13:02 which applies to almost every opinion cheater has 19:13:10 heh, I thought there might be some sort of ranking algo there 19:13:31 I was pretty sure I was being trolled, but decided that the way I'd respond to a troll was pretty similar to the way I'd reply to a deluded non-troll in that context 19:13:35 so didn't bother establishing it fully 19:13:38 I've agreed with Vorpal on a large enough number of occasions that I don't think it should be surprising any more, anyway 19:14:05 it was more a joke than anything else 19:14:09 02:44:49: ok heres a topic 19:14:09 02:45:05: has hello world worn out it's welcome? 19:14:09 Meanwhile, from the worst member of the channel to the best... 19:14:27 -!- monqy has joined. 19:14:36 hi monqy 19:14:43 hi 19:15:13 elliott_: what's your opinion on the way you can define typesafe printf in C++0xb? 19:15:24 ais523: hmm, be more specific 19:15:28 ais523: or are you asking me for ideas how 19:15:55 elliott_: wait for Firefox to unfreeze, and I'll give you a link 19:16:06 http://www2.research.att.com/~bs/C++0xFAQ.html#variadic-templates 19:16:40 that, umm, does not look safe 19:16:44 it's not really perfect typesafety, as it has to check the format string at runtime 19:16:54 but at least it knows it's been given the wrong types 19:17:00 well, it's dynamically safe 19:17:07 Haskell's printf has that too 19:17:33 better than C's :) 19:17:48 ais523: considering that non-constant printf strings are basically never the right solution, compilers really have no excuse not to parse the string at this point and warn about it 19:17:50 and they do 19:17:59 well, gcc does, I would be very surprised if clang doesn't 19:18:04 they just need to make them errors by default :) 19:18:50 elliott_: there are hundreds of those in the NetHack build 19:18:58 I fixed them all for Ace, but most NetHack people just ignore them 19:19:06 ais523: NetHack build erroring out by default? sounds right to me 19:19:21 (it turns out that fixing 100 or so warnings, when they're all fixed in the same way, is not difficult with a decent editor, specifically Emacs) 19:19:33 processing code as text :( 19:19:48 * elliott_ mumbles something about @ 19:20:14 hmm, would it even be physically possible to enter code that produced warnings in @? 19:20:19 other than deserialising it? 19:20:47 warnings aren't the same thing as errors 19:20:52 you're describing -Werror 19:20:57 which is insane 19:21:01 * elliott_ cough mcmap cough 19:21:08 warnings seem wrong in @ 19:21:18 surely the compiler should know well enough whether code is correct or not? 19:21:24 none of this I'm-not-sure business 19:21:32 I don't see warnings as "I'm not sure" 19:21:36 I see it as "hey, this is confusing" 19:21:48 well, confusing code is Bad 19:21:50 (note: I think a lot of warnings should be errors, C standard be damned) 19:22:05 ais523: yes, but forcing someone to fix all bugs up-front is insane 19:22:14 ais523: there's a reason issue trackers exist 19:22:27 wow, I didn't expect you to hold that opinion 19:22:31 ais523: well: "confusing code" is much lower priority than "major feature doesn't work" 19:22:36 [asterisk]has a much 19:22:45 ais523: obviously code that violates the language should be rejected up-front 19:22:52 but confusing code? nah 19:22:59 "major feature doesn't work" is probably caused by confusing code 19:23:09 ais523: no, it's probably caused by incorrect logic 19:23:17 ais523: confusing code is a symptom 19:23:22 well, OK 19:23:25 that's why warnings exist 19:23:39 most of the bugs in my huge Ace rewrite of tactical logic seem to have been simple typos that caused compile errors, or reversed tests 19:23:40 ais523: I mean, Shiro currently has a few really hard-to-read functions 19:23:48 they work correctly, but they're very hard to read or modify 19:23:53 *huge Planar rewrite 19:24:06 but I would fix some of the mycology BADs before cleaning them up 19:24:11 hmm, I just need a name for "generic NetHack-related project I'm involved in and I'm sure you can infer which one from context" 19:24:24 because my fingers keep typing one at random 19:24:26 I guessed it was enemy AI 19:24:29 rather than TAEB 19:24:37 ais523: Which VCS are you using? 19:24:53 for Planar, darcs 19:25:03 pikhq: why'd you ask? 19:25:05 I mostly use darcs or git, depending on how much I have to collaborate with other people 19:25:08 D'awww. If only it were git. "GitHack" seems like a nice name. 19:25:21 that's not a name for what ais523 said 19:25:27 and naming a project after its VCS is insane 19:25:42 AceHack is also stored in darcs, incidentally 19:25:45 elliott_: About as insane as naming a project after a network. 19:25:49 as is jettyplay 19:25:51 pikhq: ? 19:25:55 elliott_: Nethack. 19:25:56 elliott_: NetHack is named after Usenet 19:26:01 well, OK 19:26:06 but it isn't directly obvious 19:26:08 they took the generic part of its name to name it after, too 19:26:18 the name GitHack would not really work properly if you moved to sg 19:26:39 nor does the name NetHack work properly if you hide from Usenet and don't produce any source or binaries for eight years 19:26:40 hmm, Linus Torvalds has successfully ruined an insult for developers worldwide 19:27:13 ais523: I know how we can call scapegoat's command sg (beyond the fact that nobody uses sg) 19:27:23 ais523: if its parameter is a group, act like sg 19:27:36 elliott_: I, umm, have used sg(1) a few times for its intended purpose recently 19:27:48 testing the Secret Project 19:27:52 ais523: plz use newgrp instead 19:27:52 or rather, testing what happens in its absence 19:27:52 thx 19:28:11 it's easier to type than newgrp, and has less confusing semantics 19:28:24 ais523: yes, but I really want to use the command s g :P 19:28:27 sg :P 19:28:43 just clash and let the distros sort it out 19:28:58 ais523: I have my doubts that Debian would handle it sanely 19:29:00 also, I thought you were opposed to that abbreviation when I first introduced you to Scapegoat 19:29:05 "ah, let's name it sg-version-control instead" 19:29:13 elliott_: as in ack-grep, for instance? 19:29:15 ais523: I was, then I realised I was calling it sg anyway, and no other abbreviation seemed nice 19:29:21 they renamed ack to /ack-grep/? 19:29:25 yep 19:29:38 when one of its selling points is that it's one character shorter to type than ack 19:29:50 13:27:58: I think I have a C/C++ polyglot that acts differently in each language 19:29:50 we did that ages ago :P 19:29:56 ais523: I wonder what else was called ack? 19:30:02 also, s/ack/grep/ on your line 19:30:09 elliott_: I instantly went to ack to search for it 19:30:14 then realised that made no sense on all sorts of levels 19:30:41 (actually, I started trying to type ack, then realised I didn't have a terminal window open, and realised it made no sense halfway to opening the terminal) 19:31:21 also, TIL that the same person invented CPL and denotational semantics 19:31:32 $ ack 19:31:32 The program 'ack' is currently not installed. You can install it by typing: 19:31:32 sudo apt-get install ack 19:31:32 ACK is a highly versatile Kanji code checker/converter. ACK can do 19:31:32 reciprocal conversion among Japanese EUC, Shift-JIS and 7bit JIS. JIS 19:31:32 Kata-kana(SJIS Han-kaku Kana) is also supported. Kanji code can be 19:31:35 automatically detected even if the input stream contains Kata-kana 19:31:36 characters. Besides, ACK can be used as a Kanji code checker with very 19:31:38 high detection rate. 19:31:42 ais523: it does make sense 19:31:50 also, TIL that the same person invented CPL and denotational semantics 19:31:51 CPL? 19:32:02 precursor to BCPL, precursor to B, precursor to C 19:32:54 heh, nice jump to academia 19:32:57 or was it the other way around 19:33:15 I don't know 19:33:21 -!- copumpkin has changed nick to Samwell. 19:33:44 15:19:49: oerjan: when Guild Council changed to be entirely elected, I ended up with only 2 votes, out of more than 1000 cast 19:33:46 ais523: aww 19:34:01 that just proves I shouldn't go into politics 19:35:16 and I know I was one of them 19:36:22 * elliott_ punches Tedius 19:36:36 we _really_ need to deincentivise creation of this crap somehow 19:36:49 well, it does have a leftshift-by-one rather than decrement-by-one 19:37:00 that makes it, umm, not quite as awful as generic BF equivalents? 19:37:15 18:25:04: well, booleans are an integer type... 19:37:15 I tried to define a strongly-typed C++0x boolean type that you could still use in if statements 19:37:20 it didn't work 19:37:29 my first failed C++0x sudoku session 19:37:42 ugh, tedius. 19:38:12 and triplet 19:38:23 and snack 19:43:51 18:59:20: There's that C++ thing they do, where if you have a user type (class) that you want to be testable as a boolean, e.g. if (myobj) ..., they give that class an overloaded operator void*, and then return null/this for false/true, because the void* in such a context gets tested as !=0, so that works; while if you'd provide an operator bool then "myobj1+myobj2" would also be legal, which of course you don't want. 19:43:52 Aha 19:43:54 Maybe it is possible. 19:45:16 There was some drawback with the "operator void*" thing too, but I forget exactly what. 19:46:28 Also the ur-classic C89-vs-C++ different-results polyglot, for completeness: #include \n int main(void) { printf("%d\n", 1//**/2 \n ); } 19:47:03 that one also does C89-vs-C99, though, so it's broken nowadays 19:48:29 just combine it 19:48:34 then you can distinguish all three 19:48:47 I wonder if you can do kandr too? 19:49:08 clearly, we need an ignorret test for C 19:49:18 it probably exists 19:49:21 one single interaction that nonetheless produces different interactions on every single compiler 19:49:55 that sounds difficult 19:49:59 depending on how you define one single 19:50:14 indeed 19:50:32 you'd have to use more than one in C, however it was defined, unless your definition was stupidly lenient 19:50:43 (and using __STDC_VERSION would clearly be cheating) 19:51:10 -!- derrik has left. 19:51:32 Here's one that works for the oft-required combination of C99 vs. pre-ISO C++ (or gcc -fno-for-scope): int main(void) { int i = 0; { for (int i = 1; !i; ); printf("%d\n", i); } } 19:52:42 aha, that's an interesting use of scopes 19:52:52 I'm not even sure which one's which there 19:53:05 -!- arny91x has joined. 19:53:25 The old-fashioned C++ style had in-for-loop declarations have scope to the end of the block containing the for statement in question. 19:53:39 Current C++ does the C99 thing of limiting the scope to the for statement itself. 19:54:20 The artificial {} is so that there's not two declarations of i in the same scope for the old-style C++, I don't think that would be okay. 19:55:14 -!- elliott_ has quit (Remote host closed the connection). 19:55:44 -!- elliott has joined. 19:56:01 -!- KingOfKarlsruhe has quit (Quit: ChatZilla 0.9.87 [Firefox 5.0/20110615151330]). 19:56:05 "If one of Haskell's goals is concurrency, then why is it based on the λ-calculus and not on a process calculus?" 20:05:11 One more imperfect one: enum e { a }; int main(void) { printf("%d\n", sizeof a == sizeof(int)); } /* Guaranteed 1 in C, could be 0 in C++, is for g++ -fshort-enums; because in C, even if the underlying enum type is shorter, the constant values always have type 'int', while in C++ the constants have type 'enum e'. */ 20:07:43 elliott: "If the pi calculus' goal is concurrency, why is it so terrible in every way?" :P 20:08:41 Gregor: Is it? I don't know much about the pi calculus. A stupid question though :P 20:09:26 What the lambda calculus is to functional languages, the pi calculus is to not a god-damn thing 20:09:52 Gregor: That's not necessarily a disadvantage, given that every common concurrency approach sucks to an unimaginable degree 20:10:07 True :P 20:10:40 are there any uncommon ones that don't suck 20:10:55 monqy: Maybe STM, maybe dataflow architectures??? 20:10:57 Not really 20:10:58 to an unimaginable degree at least 20:11:00 CSP is... alright 20:11:06 (see Erlang, Go) 20:11:13 (also occam, Limbo) 20:11:37 I've sort of seen erlang 20:11:40 none of the rest though 20:11:44 are they any good 20:12:00 Also, I'd really not call concurrency a goal of Haskell. 20:12:37 Abstraction, sure. Concurrency just comes as a biproduct of that. 20:12:40 pikhq: It is of modern compiler and library writers 20:12:42 And no, it doesn't 20:12:55 ... And people actually focusing on it. 20:13:08 ais523: Here's a nasty cheating can't-really-count-that unportable one too: http://p.zem.fi/zdga (text/plain, a bit overlong to paste) 20:13:11 monqy: Go is nothing special at all but it's alright if you want something that is slightly nicer to use than C and can deal with all its limitations 20:13:18 * ais523 looks 20:13:29 monqy: Limbo is a Plan 9 thing by the same people as Go, Inferno uses it, it's... a thing? 20:13:44 monqy: occam is pretty much CSP: The Language, it's old 20:13:44 Pluses of Go: it's a better C. Minuses of Go: it's a better C. 20:13:46 (early eighties) 20:13:49 fizzie: oh wow is that cheating, that's beautiful 20:13:59 I think you could probably detect Objective-C the same way 20:14:10 and specific compilers, and maybe even specific compiler versions, for the OO languages 20:14:23 fizzie: zdga? 20:14:35 Also, is that even _legal_? 20:15:01 Not really, there's no guarantee even the calling convention matches between C and C++ code. 20:15:08 (Also random name.) 20:15:09 elliott: It's undefined behavior in both languages. 20:15:15 Pluses of Go: It sets forth to be a better C. Minuses of Go: It somehow fails. 20:15:42 you know what? I suspect C is likely to be the most durable of, say, the top 10 current programming languages 20:15:45 Is there something else wrong with C except the use of a reserved _-starting identifier? 20:16:20 fizzie: No, that's precisely it. 20:16:23 how about the fact it sucks that ass 20:16:40 top 10 current programming languages? 20:17:50 via any sensible metric 20:18:42 ais523: fwhichvo durable 20:18:52 elliott: still in use $x years in the future 20:18:59 oh 20:19:02 it's quite a weaselwordy statement 20:19:13 and in moderately common use, that is 20:19:24 ais523: FORTRAN? COBOL? 20:19:36 " Meanwhile, from the worst member of the channel to the best..." <<< why do you keep hurting me like this 20:19:45 oklopol: you're joint best 20:19:51 but itidus20 is here more 20:19:51 elliott: they're about where I expect C to be when the rest of the current top 10 have faded into obscurity 20:20:18 ais523: oh, in the top ten 20:20:19 true 20:20:26 well, there IS a lot of COBOL and FORTRAN code :) 20:20:30 and top ten is usage-based or what 20:20:42 NihilistDandy can play qwop with one hand though 20:21:53 monqy: "on any sensible metric" 20:22:04 do we have a page of famous bisexual esolangers yet 20:22:11 I'm bad at sensible metrics :( 20:23:26 but does this mean any sensible metric would have to place C in the top ten? 20:30:51 -!- arny91x has quit (Quit: KVIrc 4.0.2 Insomnia http://www.kvirc.net/). 20:30:53 -!- boily has quit (Read error: Operation timed out). 20:30:58 "An even longer and wordier version of this, where parenthesis are replaced by long "start x" and "end x" statements, and the whole program has to be on one line (just to confuse people):" - list of ideas 20:33:55 is there anything good in the list of ideas 20:34:10 no 20:34:43 :( 20:35:28 monqy: there is nothing good, period 20:39:08 -!- ais523 has quit (Remote host closed the connection). 20:41:24 -!- Samwell has changed nick to copumpkin. 20:46:18 I wish cabal was less of a pain to use for a developer 20:46:27 reconfigure with "--enable-executable-profiling", how convenient 20:48:47 oh, and it doesn't do add -rtsopts like that, neat 20:56:02 -!- GreaseMonkey has joined. 21:12:06 lol, π-calculus 21:15:18 oklopol: *Can't* play qwop with one hand, remember? 21:16:23 And I think there should be a page of famous esolangers before they start getting divided on sexual identity lines. 21:16:39 NihilistDandy: famous bisexual esolangers are the only ones that matter 21:17:02 elliott: Well, obviously. I just don't want to look biased. 21:17:18 did sgeo ever make any languages 21:17:37 Yes. 21:17:50 * Sgeo hides somewhere 21:17:56 http://esolangs.org/wiki/Special:Search?search=Sgeo&go=Go 21:18:40 monqy: PSOX 21:18:43 monqy: PSOX PSOX PSOX PSOX PSOX 21:18:53 oh that's a language? 21:19:05 No. 21:19:26 -!- BeholdMyGlory has quit (Remote host closed the connection). 21:19:26 so just mkbl-ln? 21:19:47 Does BF-RLE count as a language? 21:19:53 PSOX _is_ a language 21:19:57 it's a sub-TC one though 21:26:27 -!- FireFly has quit (Quit: FireFly). 21:54:28 -!- Wamanuz has quit (Ping timeout: 252 seconds). 21:55:44 -!- sebbu2 has joined. 21:58:26 -!- sebbu has quit (Ping timeout: 240 seconds). 21:58:26 -!- sebbu2 has changed nick to sebbu. 22:01:00 -!- Wamanuz has joined. 22:07:42 -!- Phantom_Hoover has quit (Quit: Leaving). 22:13:11 -!- GreaseMonkey has quit (Quit: The Other Game). 22:14:42 The particular sneakers out of converse is really a just about all time favored. This epic shoe have been around just for a quite a while. Get cheap converse all stars online. This is all for now regarding helping your Converse skor experience. 22:14:46 i love these 22:15:05 "The particular sneakers out of converse", good esolang name 22:20:03 -!- PatashuDragonite has joined. 22:30:50 The probability, when choosing a random real between 0 and 1, of choosing 0.5 is 0. Same with the probability of, when choosing a random _rational_ between 0 and 1, of choosing 0.5, is 0. Is the former, in some sense, less likely than the latter, similar to how all of those are more likely than choosing -1? 22:31:50 Sgeo: they're not more likely than choosing -1 22:31:53 choosing -1 just isn't an option 22:32:52 So it's incorrect to say that the probability of choosing -1 is 0? 22:34:31 Well, the probability of an impossible event is 0. 22:35:47 Is there a distinction between choosing rational vs choosing real that = 0.5, similar to distinction between "almost never" and "impossible"? 22:36:26 Well, almost all reals are irrational. 22:36:42 Your chance of picking a rational are 0, which is not true for rationals. 22:37:40 Is there a way to quantify different "liklihoods" between two probability-0 events? 22:43:49 -!- augur has quit (Read error: Connection reset by peer). 22:45:08 -!- augur has joined. 23:08:46 -!- variable has quit (Ping timeout: 250 seconds). 23:12:56 -!- variable has joined. 23:29:19 Should I be lolling at Aptana Studio, partially a Ruby IDE, installing some .py stuff? 23:29:43 Oh, not specifically Ruby focused 23:32:15 En forumsektion som handlar om att lokalisera det webbhotell som allra bäst passar just dig bäst. Vad du än letar efter så hittar du det här. Om du fortfarande är osäker på exakt vilket webbhotell du ska välja så är det bara att ställa frågor i forumet så får du snabbt svar. 23:32:21 Webbhotell 23:32:23 help 23:32:30 webbhotell 23:32:58 Converse trainers actually are a incredible retro. Chuck taylors has been around for countless years. Notice the right offer on the subject Converse skor billigt information provided as it is meant for entertainment purposes only. 23:33:16 "Converse trainers actually are a incredible retro. Chuck taylors has been around for countless years.": my next esolang name 23:35:12 -!- ineiros has quit (Ping timeout: 250 seconds). 23:36:09 "My name is Johny, what the F**K?????" bringing up again because classic 23:36:39 -!- olsner has quit (Ping timeout: 276 seconds). 23:36:57 "User:Ehird/1st year sobriety and no dating" also good 23:37:26 -!- Wamanuz has quit (Ping timeout: 240 seconds). 23:37:33 -!- Wamanuz has joined. 23:39:40 -!- olsner has joined. 23:40:17 You know what the best language for me would be? 23:40:25 Something, anything, that gets me programming again 23:40:26 do i want to know 23:40:50 Goruby 23:40:59 PatashuDragonite: r u srs 23:41:03 oh that golf thing? 23:41:04 lol 23:41:39 elliott, I know Ruby is ... uglier than Smalltalk, but is it really that bad? 23:42:05 PatashuDragonite wasnt talking about ruby. 23:42:07 he was tlaking about goruby. 23:42:13 -!- ineiros has joined. 23:42:22 do you even know haskell yet, you keep learning all these crappy languages 23:42:47 Define "know" 23:42:52 so no, then 23:43:18 Well, I learned it in the same sense that I'm "learning" all these languages 23:43:23 Well, maybe a bit better 23:43:43 Write me a Haskell program that prints out the contents of the files named as arguments 23:43:59 This should take ten lines at most, ignoring import statements, and one at best 23:45:05 Sgeo: Go on (I'm done already) 23:45:08 I'm allowed to look at documentation, right? 23:45:23 Sure, but it should only take one Google (to find out how to read command-line arguments) at most. 23:45:53 -!- pikhq_ has joined. 23:47:28 * Sgeo does some Hoogling 23:47:46 If you know how to read command-line arguments, you should be done by now. 23:47:52 * elliott is a fluffy kitten. 23:48:07 im a monqy 23:48:44 Why can't I know how to read command-line arguments but not files? 23:48:46 -!- pikhq has quit (Ping timeout: 260 seconds). 23:49:11 they're both really easy 23:49:13 That would qualify as "not knowing Haskell", but fine, I'll grant learning that one thing too. 23:49:13 ok 23:53:07 Sgeo: Doing well? 23:53:17 Doing ok 23:53:34 Well, not that ok, but I know where I'm going, I think 23:53:39 elliot: I don't think I even know how to do that in java >:[ 23:53:41 stupid IO 23:54:21 i'd need to look up the API for bufferedfilestreamreaderfactory 23:57:55 @hoogle [IO a] -> IO [a] 23:57:55 Prelude sequence :: Monad m => [m a] -> m [a] 23:57:56 Control.Monad sequence :: Monad m => [m a] -> m [a] 23:57:56 Data.Traversable sequenceA :: (Traversable t, Applicative f) => t (f a) -> f (t a) 23:58:46 Ok, must stop rewriting wrongly 23:59:05 At least, I _think_ I did it wrongly 23:59:16 I could probably stuff returns to fix it 23:59:42 So far: 23:59:42 main = do 23:59:42 let iostring_list = getArgs >>= map (openFile ReadMode) >>= map hGetContents