←2011-08-16 2011-08-17 2011-08-18→ ↑2011 ↑all
00:01:22 <ais523> oh, that reminds me of a quote in the glibc manual that elliott (and possibly other people) will likely find hilarious
00:01:24 <ais523> let me try to find it
00:01:31 <ais523> umm, or was it coreutils?
00:01:44 <Vorpal> windows sucks so badly at hardware support compared to linux
00:01:51 <Vorpal> and then I'm talking about a clean install
00:02:08 <Vorpal> 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 <Vorpal> 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 <Vorpal> 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 <Vorpal> so same as windows there
00:05:17 <Vorpal> except easier, since I had working network
00:05:59 <ais523> `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 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: setuid': not found
00:06:00 <ais523> programs that need it, such as `login' and `su', have already been written.
00:06:33 <monqy> what
00:06:44 <Vorpal> lol
00:07:33 <Vorpal> ais523, stuff like httpds may want to switch permanently after binding the port
00:07:38 <Vorpal> so uh that is another use case
00:07:55 <ais523> well, the Secret Project drops root in such a way that the program it's running can't undrop root again
00:07:59 <ais523> which is kind-of important
00:08:05 <ais523> if I drop permissions, I want to do it properly
00:08:16 <Vorpal> ais523, oh damn, still secret
00:08:22 <ais523> why would it not be?
00:08:24 <ais523> it's not finished
00:08:35 <Vorpal> ais523, how far has it progressed?
00:08:39 <ais523> you'll all get to see it when it's done, and has been used for its intended purpose
00:08:44 <ais523> but it won't be finished for quite a while, I imagine
00:08:57 <ais523> the bit I've been discussing with all of you is only the first phase of the Projcet
00:09:00 <Vorpal> ais523, was is the intended purpose
00:09:05 -!- CakeProp1et has joined.
00:09:07 <ais523> that would give too much away
00:09:13 <Vorpal> damn XD
00:09:25 <Vorpal> ais523, why is it secret
00:09:38 <ais523> that's also secret
00:09:51 <Vorpal> ais523, why is the reason for it being secret secret?
00:09:59 <ais523> because it's the same as the reason it's secret
00:10:17 <Vorpal> huh
00:10:44 -!- pumpkin has joined.
00:10:58 <ais523> wow, I just got unsolicited email apparently from Google, telling me I should consider applying for a job there
00:11:03 <ais523> I'm trying to work out if it's spam or not
00:11:10 <ais523> if it is spam, it's incredibly well done
00:11:13 <Vorpal> XD
00:11:23 <Vorpal> nice spam yeah
00:11:24 -!- CakeProphet has quit (Ping timeout: 240 seconds).
00:11:29 <ais523> I suppose retyping the reply address and replying would be a pretty good way to determine if it's genuine
00:11:40 <ais523> unless a spambot has hacked google somehow
00:11:51 <Vorpal> ais523, well, that could also alert them to your mail being valid
00:12:01 <ais523> the reply mail would go /to Google/
00:12:06 <zzo38> ais523: You should try to call them on the telephone instead
00:12:07 <Vorpal> oh
00:12:18 <ais523> 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 <CakeProphet> C# would not be a bad language to program in, if its libraries weren't so obnoxious
00:12:38 <ais523> so if they didn't send it, it'd just be a non sequitur
00:13:03 <ais523> 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 <ais523> (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 <CakeProphet> enterprise freelance bullshit like what I'm doing?
00:14:09 -!- lambdabot has joined.
00:14:34 <ais523> CakeProphet: I rewrote the AI for Nibbles
00:14:36 <ais523> and fixed a bug
00:14:51 <ais523> 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 <ais523> which is kind-of impressive
00:14:58 -!- CakeProp1et has quit (Ping timeout: 252 seconds).
00:14:59 <cheater_> ais523, did you see my message about dna music
00:15:10 <ais523> I should redownload dev source to see if it's fixed again
00:15:16 <ais523> cheater_: yes but I mentally ignored it
00:15:22 <ais523> because I didn't care
00:15:44 <cheater_> that is not nice
00:15:55 <ais523> well, that's why I didn't tell you before you asked
00:16:57 <cheater_> being not nice doesn't change whether you tell someone of your not-nice behavriour or not
00:17:08 <ais523> no, telling someone that you ignored their comment is not nice
00:17:21 <ais523> 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 <ais523> nor would it be sane to do so
00:18:14 -!- CakeProphet has quit (Ping timeout: 240 seconds).
00:18:19 <cheater_> 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 <ais523> cheater_: still, I don't think people should be obliged to care about every statement made on IRC
00:20:10 <cheater_> 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 <cheater_> it's just.. mu
00:20:50 <Vorpal> I have to agree with ais523 on this one
00:21:12 <ais523> Vorpal: oh no, does that automatically cause elliott to disagree with me?
00:21:37 <cheater_> does that mean that i automatically agree with ais523?
00:22:45 <cheater_> we could totally oscillate at the speed of information propagation, much like a pll oscillator.
00:22:59 <Vorpal> ais523, maybe
00:23:49 <ais523> err, isn't the whole point of a pll oscillator that it matches the speed of an external synchronizing signal?
00:24:02 <ais523> 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 <cheater_> no that's just a pll.
00:24:19 <cheater_> i'm talking about a ring of 2n+1 flip flops.
00:24:37 <ais523> so why are you describing it as a pll when it has none of the properties of a pll?
00:24:47 <cheater_> because it's 2 am and i'm tired.
00:24:47 <ais523> 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 <Vorpal> 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 <quintopia> :/
01:36:28 <quintopia> speaking of flip flops...
01:38:18 <oerjan> don't flip on your flops
01:39:10 <oerjan> it's just two nand gates, anyway
01:41:09 <quintopia> oerjan: keep an eye out for flapping prophets
01:41:32 <oerjan> 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 <quintopia> oerjan: hes flapping again. can we get a tempban plox?
01:51:11 <oerjan> 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 <oerjan> 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 <oerjan> 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 <itidus20> ok heres a topic
02:45:05 <itidus20> has hello world worn out it's welcome?
02:45:57 <oerjan> yeah the world is starting to get pissed
02:46:09 <itidus20> lol
02:48:45 * itidus20 . o O (russia.c : #include <stdio.h> 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 <itidus20> i haven't used these functions for a while though so not 100% sure on this
02:49:38 <oerjan> itidus20: i believe %s may be dangerous
02:49:46 <itidus20> theres a few bugs in that program..
02:49:49 <oerjan> buffer overflow
02:49:58 <itidus20> but the idea is a soviet russian hello world
02:49:59 <coppro> yes, that program is a buffer overflow waiting to happen
02:50:09 <coppro> you forgot the comma
02:50:18 <itidus20> i think != 0 should be == 0 also
02:50:25 <oerjan> in soviet russia, buffer overflows you
02:51:07 <itidus20> the idea being, you input hello world instead of having it output
02:51:27 <oerjan> well naturally. also see [[Narcissist]] on the wiki.
02:52:03 <itidus20> firefox 6 highlights the domain name in a url
02:52:08 <itidus20> i think thats pretty cool...
02:54:10 <itidus20> hahah narcissist is a brilliant idea :o
02:54:15 <itidus20> wow......
02:56:56 <itidus20> 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 <itidus20> more or less
02:58:06 <oerjan> that would be the opposite of the intended joke
03:00:05 <oerjan> "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 <oerjan> "Oh, and thanks for all the fish."
03:00:56 <oerjan> s/Oh/So long/
03:02:09 <itidus20> fish.. the one animal which is unlikely to drown
03:02:59 <itidus20> do you suppose that the biblical story of a flood was a response to the prayers of fish?
03:03:03 <oerjan> that's a very land-animal biased thing to say
03:03:27 <oerjan> also, octopi, shrimps and jellyfish would like a word with you
03:03:54 <oerjan> (jellyfish are not fish either)
03:04:10 <itidus20> and also they are not jelly :(
03:04:20 <oerjan> well true. probably.
03:05:38 <oerjan> i do not recall any references to overfishing in genesis, but then it's been decades since i read it
03:06:14 <zzo38> 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 <zzo38> If you do add things though, it says you have no permission.
03:20:15 -!- madbr has joined.
03:23:32 <madbr> man
03:23:48 -!- MDude has changed nick to MSleep.
03:23:58 <madbr> how does the pentium pro &co. not run incredibly slowly
03:24:39 <pikhq> 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 <madbr> well, I mean the ppro family including the much more recent derivatives
03:26:43 <madbr> which I'm sure have much higher clock speeds and much larger caches
03:27:05 <madbr> but similar pipelines etc
03:28:27 <pikhq> Okay, in *that* sense. The Pentium Pro was an early consumer release of modern CPU design.
03:29:49 <pikhq> Namely, implementing x86 by microcoding to a RISC and having a large pipeline.
03:31:53 <pikhq> Well. The first bit is only really done for the sole standing absurd CISC ISA.
03:44:17 <zzo38> Have you ever read "Science Made Stupid" or "Cvltvre Made Stvpid"?
03:47:38 <madbr> pikhq: seems to be more about the crazy "out of order/register renaming" stuff
04:17:13 <itidus20> 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 <Sgeo> I'm starting to think I should remove xkcd from Google Reader
05:05:54 <oerjan> 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 <myndzi> boomerang haters gonna hate and come back hating
05:06:30 <oerjan> (ok, it wasn't particularly _funny_. it was, i don't know how to translate "underfundig".)
05:06:42 <myndzi> underfunny? ;)
05:06:44 <myndzi> hehe
05:06:48 <oerjan> no relation.
05:07:20 <myndzi> "artful" says the internet
05:07:31 <myndzi> wait
05:07:33 <myndzi> that's swedish
05:07:38 <myndzi> norwegian = quirky
05:07:40 <myndzi> seems a better fit
05:07:47 <oerjan> hm yes maybe
05:08:06 <myndzi> it wasn't rofl
05:08:34 <oerjan> indeed. i find this comic gave me a strange sense of calm, instead.
05:09:46 <myndzi> my favorite oddball one is the etch-a-sketch one
05:11:20 <oerjan> yeah same feeling
05:12:24 <myndzi> different feeling for me
05:12:30 <myndzi> this one is a smile
05:12:35 <myndzi> that one was something a little more melancholy
05:13:48 <oerjan> definitely melancholy for both for me
05:14:01 <myndzi> melancholy about a boomerang? o_O
05:14:15 <myndzi> or wait, did i miss monday's?
05:14:28 <oerjan> melancholy about a simpler world
05:14:38 <myndzi> haha
05:14:43 <myndzi> simpler, where arrows come back as boomerangs
05:14:50 <myndzi> like caterpillars becoming butterflies!
05:14:50 <myndzi> ;)
05:17:04 <zzo38> 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 <oerjan> got cut off after [...] Best
05:18:09 <zzo38> when read before AUG'91
05:18:59 -!- GreaseMonkey has joined.
05:41:58 <PatashuDragonite> 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 <PatashuDragonite> maybe I should just convert to a discrete grid and A* that
05:43:42 <Gregor> 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 <PatashuDragonite> 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 <fizzie> I've seen pathfinding done in continuous environments composed of arbitrary polygons, but I don't have any references handy.
05:56:17 <fizzie> Doing it in a grid sounds quite practical though.
06:10:22 <Gregor> 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 <PatashuDragonite> 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 <pikhq> Gregor: Sounds like one of those suboptimal but correct pathfinding solutions.
06:18:10 <ais523> oh dear, TIL that TV Tropes has inside jokes
06:18:16 <ais523> I suppose I should have guessed that
06:18:17 <pikhq> ais523: Tons.
06:18:30 <ais523> the thing about inside jokes is that they aren't obvious from the outside
06:18:52 <PatashuDragonite> Who could have guessed?
06:20:32 <ais523> PatashuDragonite: also, why is there a Pokémon randomly in your nick?
06:20:35 <monqy> inside jokes actually seem kind of obvious to me, but maybe I'm just fooling myself
06:20:57 <monqy> rather, things being inside jokes; I can't determine their meanings or anything so easily
06:21:53 <PatashuDragonite> because http://nyiaj.deviantart.com/art/Dragonite-Zoids-187606462
06:27:17 <Gregor> 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 <Gregor> Plus, it has the advantage of being really clear for continuous data :P
06:36:36 <pikhq> Meh, just quantise at Planck length. Good enough.
06:36:37 <fizzie> Fastest file system in the west?
06:36:37 <fizzie> htkallas@pc112:~$ time ls -l ~ >/dev/null
06:36:37 <fizzie> real 3m32.514s
06:36:51 <fizzie> Three and half minutes to list a directory, not bad.
06:37:01 <pikhq> ... ls | wc -l?
06:37:17 <fizzie> "Quite a few, but not *that* many."
06:37:27 <fizzie> "git log" in a two-file repository printed log entries about one/second.
06:37:59 <PatashuDragonite> What do you need to know planck length for anyway
06:38:21 <pikhq> PatashuDragonite: Well, it's a very elegant unit.
06:38:47 <Gregor> Elegant if it's not a lie 8-D
06:39:11 <pikhq> In Placnk units, c=1 l_p/t_p.
06:40:51 <fizzie> pikhq: | wc -l: 547. Not really *so* unreasonable.
06:40:58 <fizzie> (Could do with a cleanup, though.)
06:41:41 <pikhq> Physics is all-around nicer in Plack units.
06:43:05 <Gregor> Plaque units
06:43:33 <Gregor> "In terms of raw plaque units, you need to brush your teeth."
06:44:17 <pikhq> (note, though, that Planck units are pretty poor for everyday measurement. 1 T_p, the Planck temperature, is 1.416833e32 K.)
06:44:55 <pikhq> (for comparison, the Sun is about 1.57e7 K)
06:45:18 <PatashuDragonite> 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 <Gregor> Why was CakeProphet banned?
07:04:01 <oerjan> ye olde triple join/quit/rejoin with cloak/ping timeout cycle
07:04:02 <pikhq> His connection was flailing.
07:08:06 <Gregor> Mmm
07:23:36 <ais523> was the ban aimed to cut down the flails rather than ban him altogether? it looked like that
07:23:56 <pikhq> Yeah, that's pretty much it.
07:24:18 <oerjan> yep
07:24:49 <oerjan> i don't really know if it would affect him cloaked or not
07:25:59 <Sgeo> elliott's not here, Phantom_Hoover's not here
07:26:01 <Sgeo> So meh
07:39:59 -!- Taneb has joined.
07:40:07 <Taneb> Hello!
07:41:11 <Sgeo> Hi
07:41:23 <Taneb> What'sup?
07:42:44 <Sgeo> 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 <Taneb> Yeah, that was me
07:43:16 <Sgeo> There's an update
07:43:24 <Taneb> Sweet
07:47:01 <Taneb> So, Hussie Got Tiger?
08:00:16 <Taneb> B.
08:00:20 <Taneb> r.
08:00:24 <Taneb> MOTERFUCING
08:00:25 <Taneb> b.
08:00:30 <Taneb> HONK
08:00:33 -!- Taneb has quit.
08:02:22 -!- Vorpal has joined.
08:07:17 -!- Taneb has joined.
08:08:56 <oerjan> "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 <oerjan> which is rather weird for a place with average temperature of 94 K
08:09:54 <oerjan> s/[.]/."/
08:11:05 <Taneb> Today's xkcd is pretty good
08:11:25 <Taneb> Of course, I enjoyed the Thor film.
08:11:28 <Taneb> For its plot.
08:11:43 <oerjan> we did talk about it previously.
08:11:56 <Taneb> Okay
08:12:15 <oerjan> starting with Sgeo implying the opposite
08:13:24 <Taneb> ...That I /didn't/ enjoy the Thor film!?
08:13:33 <oerjan> NATURALLY
08:13:41 <oerjan> or possibly, about today's xkcd
08:15:02 <Taneb> 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 <oerjan> to disastrous wilful misunderstandings, it seems
08:15:40 <Taneb> :D
08:15:52 <Taneb> That is my actual expression.
08:16:02 <Taneb> Except I have rather more hair and noses.
08:18:05 <oerjan> well i'm sure a good doctor can repair that displaced jaw
08:18:21 <Taneb> 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 <Taneb> 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 <itidus20> 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 <Taneb> 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 <ais523> #include <stdio.h> int main(void) { auto i = 4.5L; printf("%d\n",(int)sizeof i); return 0; }
13:27:58 <ais523> I think I have a C/C++ polyglot that acts differently in each language
13:31:06 <Deewiant> #include <stdio.h> int main(void) { return printf("%d\n", (int)sizeof'x'); }
13:31:28 <Gregor> ais523: As far as I know, that shouldn't compile in C, since you haven't declared i ...
13:31:37 <Gregor> Or rather, your --- oh, it's an int automatically.
13:31:39 <Gregor> Never mind :P
13:31:44 <Gregor> Heh, clever.
13:31:56 <fizzie> Everything's an int automatically. :p
13:32:07 <ais523> I have indeed declared i
13:32:13 <ais523> and even explicitly given its storage class
13:32:16 <Deewiant> #include <stdio.h> int x; int main(void) { struct x{char c;}; return printf("%d\n", (int)sizeof(x)); }
13:32:42 <ais523> Deewiant: heh, playing with scope?
13:32:43 <fizzie> The "sizeof 'x'" variant was I think "discussed" (for some values of discussion) on-channel few moons ago.
13:33:07 <ais523> is 'x' a char in C++?
13:33:10 <Deewiant> Yes
13:33:11 <fizzie> Yes.
13:33:12 <Deewiant> And yes
13:33:23 <fizzie> Yes, yes, a thousand times yes.
13:34:10 <Deewiant> 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 <ais523> yep
13:38:08 <ais523> auto was such an unloved keyword in C
13:38:15 <ais523> illegal everywhere it isn't the default
13:41:36 <Gregor> Also in C++, sizeof doesn't take values, only types.
13:42:05 <fizzie> That's bogus.
13:42:14 <Gregor> It's very terrible.
13:42:22 <fizzie> No, I mean, it's not true.
13:42:42 <fizzie> Or at least I don't believe it until I see proof.
13:43:29 <fizzie> This works (as in, behaves differently) in my gcc, but it is probably a bit implementation-defined: #include <stdio.h> #include <stdbool.h> int main(void) { printf("%d\n", sizeof true); }
13:45:12 <fizzie> (1 when compiled with g++, 4 when with gcc.)
13:54:07 <Gregor> 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 <fizzie> 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 <tswett> Is dynamic linking or any sort of file manipulation in the C standard library?
13:57:47 <fizzie> There's some file manipulation in general.
13:57:50 <fizzie> No directories, though.
13:58:24 <Gregor> Directories are for pussies.
14:04:12 -!- derrik has joined.
14:07:08 <tswett> 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 <tswett> Or pitch the idea of a library and simply do it via system calls.
14:07:34 <Taneb> Or... embed a library?
14:07:51 <tswett> Is that different from linking one?
14:08:18 <Taneb> I don't know
14:11:56 <Gregor> Depends on how dynamic you mean ...
14:12:27 <Gregor> 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 <tswett> Huh. Wikipedia says that in Linux systems, an executable is given a "linker stub" that dynamically links the "real" dynamic linker.
14:13:50 <tswett> 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 <Gregor> 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 <tswett> Mmkay, Wikipedia says Unix-like systems all do dynamic loading with libdl.
14:18:36 <tswett> 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 <tswett> 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 <tswett> Actually, that makes me think libdl is totally calling-convention-agnostic.
14:34:30 <tswett> 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 <tswett> 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 <Lymee> 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 <fizzie> 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 <Lymee> Including variables?
14:48:29 <Lymee> Global variables?
14:48:55 <fizzie> Yes, why not.
14:49:13 <fizzie> Assuming they have externally visible symbols, anyway.
14:49:32 <fizzie> 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 <fizzie> (POSIX assumes a void * can hold a function pointer, which isn't necessarily true in all C systems.)
14:54:10 <Lymee> Does the system need nasty workarounds then?
14:55:57 <fizzie> 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 <Lymee> Does Linux?
14:56:17 <Lymee> You can return a size_t, right?
14:56:30 <Lymee> Um, no wait.
14:56:41 <Lymee> What was it called again?
14:57:02 <Lymee> Ah, there is no such type....
14:57:09 <fizzie> Maybe (u)intptr_t? Though I fail to see how that's relevant.
14:57:44 <fizzie> 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 <fizzie> 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 <Lymee> Eh.
14:58:50 <Lymee> Is there anything except maybe the JVM or something where that /isn't/ the case?
15:00:18 <fizzie> 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 <fizzie> 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 <oerjan> maybe that weird assembly that was recently mentioned on the wiki, i recall something about typed pointers...
15:02:24 <fizzie> 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 <Lymee> I suppose it might be so on systems with really really small memories, so that it's actually usable, but...
15:03:21 <Lymee> You won't be running POSIX or C on that...
15:03:33 <Lymee> (By really really small, I mean "Could fit in Minecraft small")
15:03:35 <fizzie> 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 <fizzie> So the char * pointers need to contain basically an int * and an offset.
15:04:25 <fizzie> I recall seeing a Cray something mentioned.
15:05:03 <oerjan> "data pointers, function pointers, and integers can't be cast to one another on the AS/400"
15:05:47 <Lymee> Unless you're compiling to the JVM, what systems do that?
15:05:51 <oerjan> (http://esolangs.org/wiki/Talk:Timeline_of_esoteric_programming_languages#AS.2F400)
15:05:53 <Lymee> Well.
15:05:55 <Lymee> WHY would a system do that.
15:07:57 <fizzie> Oh, and in some 16-bit MS-DOS memory models function pointers and data pointers have a different size.
15:09:27 <fizzie> 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 <fizzie> Though even there it's still possible a "reasonable" workaround to just make all void *s "far" too.
15:11:07 <fizzie> 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 <Lymee> Like gcc?
15:12:34 <fizzie> GCC proper is not a 16-bit compiler at all.
15:13:01 <fizzie> 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 <fizzie> As for the "why", obviously because the hardware makes the "near" pointers much faster.
15:13:24 <fizzie> (No need to set/restore segment registers.)
15:15:17 <Lymee> I mean gcc's whole extension thing.
15:15:48 <fizzie> 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 <ais523> oh dear
15:16:24 <ais523> I, umm, may just have convinced my boss to run his first-year CS course as a nomic
15:17:29 <fizzie> Is that an "oh dear" instead of "oh wow"?
15:17:41 <ais523> well, I'm meant to be helping to teach the course
15:17:48 <fizzie> Oh dear.
15:17:54 <ais523> he'd got pretty much all the nomic framework in place but the mutability of rules already, though
15:18:03 <ais523> in particular, he seems to have been expecting/encouraging scams
15:19:19 <oerjan> with this kind of power, maybe you should enter politics
15:19:49 <ais523> 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 <ais523> I'm still wondering who the other one was
15:20:12 <ais523> 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 <ais523> <Troll> Not wishing to sound like a troll (what with my obvious user name)
15:20:27 <oerjan> heh
15:21:00 <Lymee> /nick Troll
15:21:40 <ais523> the rest of the comment was basically an opinion that the subject of the article being discussed sucked
15:22:43 <tswett> ais523: my understanding is that holding positions of power causes people to be less honest.
15:22:57 <tswett> So if you think you're too honest now, maybe holding office will fix that.
15:27:37 <ais523> I think I'm too honest to be a politician
15:27:43 <ais523> that doesn't mean I think I'm too honest in general
15:29:20 <Gregor> <fizzie> GCC proper is not a 16-bit compiler at all. // lies lies lies
15:29:37 <Gregor> GCC is not an 8{0,1,2}86 compiler.
15:29:45 <Gregor> But it supports (or has supported?) various 16-bit targets.
15:29:48 <Gregor> Just not that one.
15:29:58 <Gregor> And DJGPP isn't 16-bit at all.
15:34:26 <fizzie> Well, yes, it was in the x86 context.
15:35:27 <Gregor> 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 <fizzie> And you know what they say: when you context, you make a... con... out of... T-ext?
15:47:44 <fizzie> There was that 16-bit experimental GCC.
15:47:50 <fizzie> DJGPP, I mean.
15:47:55 <fizzie> http://www.delorie.com/djgpp/16bit/gcc/
15:48:06 <fizzie> Not any good, I believe.
15:48:21 <fizzie> (Based on gcc-2.7.2.3.)
15:49:59 <fizzie> 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 <Gregor> It was quite terrible :)
15:55:47 -!- ais523 has quit (Remote host closed the connection).
15:56:36 <Gregor> OpenWatcom is pretty alright though.
15:58:10 <fizzie> 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 <fizzie> "But it can happen you need to write a realmode application which uses MMX,SSE..." -- interweb forums.
16:03:41 <fizzie> Sounds like something that happens very often.
16:04:59 <fizzie> (There's that .code16gcc nonsense for that, though.)
16:07:22 -!- copumpkin has quit (Ping timeout: 250 seconds).
16:10:13 <tswett> "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 <Gregor> tswett: It is distinctly a color.
16:13:19 <tswett> 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 <oerjan> 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 <quintopia> this channel is made of joins and parts
17:56:30 <Phantom_Hoover> This channel is made of joints and parts.
18:03:07 <ais523> oh no, I think someone new has posted a surprisingly BF-like imperative tarpit to the wiki
18:03:52 <ais523> 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 <ais523> they point out that "std::string s1(false)" is legal, "std::string s2(true)" is illegal
18:19:07 <ais523> which is pretty funny, although obvious if you think about it
18:21:30 <Deewiant> It's hardly "obvious" unless you know the C++ promotion rules
18:22:59 <ais523> you don't need that at all, it's actually pretty much pure C
18:23:06 <ais523> "false" and "true" are both integer constants
18:23:14 <ais523> and "false" has the value 0, and thus is a legal null pointer constant
18:23:28 <ais523> and std::string's constructor (the relevant one, anyway) takes a char* as argument
18:23:44 <Deewiant> The C promotion rules, then
18:23:55 <ais523> 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 <Deewiant> 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 <Deewiant> In any case, I wouldn't call it "obvious" that false can be promoted to a null pointer
18:25:03 <Deewiant> In fact I think "obvious if you think about it" is a bit of an oxymoron :-p
18:25:04 <ais523> well, booleans are an integer type...
18:25:14 <ais523> and not really, some things aren't /obviously/ obvious
18:25:14 <Deewiant> Right, but you don't typically think of them as such
18:25:19 <ais523> I do
18:25:23 <ais523> but maybe I'm unusual in that respect
18:25:24 <Deewiant> Most languages don't
18:26:10 <ais523> 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 <ais523> it's much better than C's
18:26:51 <Deewiant> You mean the ISO specs?
18:27:19 <ais523> the (insert relevant standards body here) specs
18:27:26 <ais523> I'm not sure who writes them and who just signs off on them
18:29:49 <ais523> hmm, there's something nicely nihilistic about nullptr_t
18:29:59 <ais523> it's a type that only has one possible value, which is nullptr
18:30:14 <ais523> 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 <ais523> (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 <Deewiant> I'd be surprised if not
18:33:37 <Gregor> 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 <Phantom_Hoover> Gregor, beautiful.
18:52:23 -!- KingOfKarlsruhe has joined.
18:53:09 <Phantom_Hoover> http://shirt.woot.com/friends.aspx?k=18815
18:53:20 <Phantom_Hoover> I like the way the formula is only vaguely related to the image.
18:59:20 <fizzie> 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 <elliott_> 20:29:02: <Gregor> Can somebody with Cygwin give me the uname -a output please?
19:01:08 <elliott_> Gregor: Insert standard anti-Cygwin sentiment
19:01:23 <Sgeo> Does Gregor still need that?
19:02:07 <ais523> 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 <Sgeo> $ uname -a
19:03:39 <Sgeo> CYGWIN_NT-6.1-WOW64 Sgeo-PC 1.7.9(0.237/5/3) 2011-03-29 10:10 i686 Cygwin
19:05:09 <Gregor> Sgeo: Just as loony as I thought >_<
19:05:15 <elliott_> 00:10:58: <ais523> wow, I just got unsolicited email apparently from Google, telling me I should consider applying for a job there
19:05:15 <elliott_> 00:11:03: <ais523> I'm trying to work out if it's spam or not
19:05:15 <elliott_> 00:11:10: <ais523> if it is spam, it's incredibly well done
19:05:15 <elliott_> 00:11:13: <Vorpal> XD
19:05:15 <elliott_> 00:11:23: <Vorpal> nice spam yeah
19:05:18 <elliott_> ais523: probably not spam
19:05:28 <elliott_> Gregor: Why are you supporting Cygwin
19:05:37 <Gregor> I'm not.
19:05:38 <ais523> elliott_: I agree in probably not spam
19:05:44 <Gregor> Somebody asked me for help with a Makefile.
19:05:56 <fizzie> "Wow, 64 bits!" (Yeah, yeah, it's that Windows-on-Windows thing.)
19:06:05 <ais523> 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 <ais523> especially as it's sent to a .ac.uk address
19:06:33 <elliott_> 00:13:03: <ais523> 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 <elliott_> likely GNOME, possibly TAEB?
19:06:52 <ais523> it could even be AceHack for all I know, or C-INTERCAL
19:06:57 <elliott_> oh, probably C-INTERCAL
19:06:58 <ais523> I thought of Gnome, but my patches to it are tiny
19:07:00 <elliott_> they sent one to esr, after all
19:07:05 <ais523> well, they're quite large in terms of lines
19:07:06 <elliott_> and then he was promptly a dick about it
19:07:09 <elliott_> err
19:07:10 <elliott_> wait
19:07:11 <elliott_> that was MS
19:07:13 <ais523> but to a relatively minor part
19:07:14 <elliott_> i'm smart
19:07:24 * elliott_ couldn't work at Google
19:09:43 <pikhq> ais523: The North American dialing code is pretty easy to remember, though.
19:09:45 <pikhq> ais523: 1.
19:09:49 <ais523> +1, to be precise
19:10:11 <ais523> but nothing links the phone number to the US but the mention of Mountain View buried earlier in the email
19:10:21 <pikhq> That's irritating.
19:10:31 <elliott_> ais523: are you going to respond? :P
19:10:56 <ais523> I haven't yet, and am too tired to do so coherently
19:10:58 <pikhq> Especially since it's somewhat more normal to leave the 1 at the start...
19:11:06 <elliott_> ais523: that's not an answer :P
19:11:12 <ais523> indeed
19:11:13 <pikhq> (that is *also* the number you need to press to make a long-distance call)
19:11:24 <ais523> I haven't decided yet
19:12:08 <elliott_> my hypothetical employment opportunities are severely limited by having ethics and getting bored easily, oops
19:12:39 <elliott_> 00:20:50: <Vorpal> I have to agree with ais523 on this one
19:12:39 <elliott_> 00:21:12: <ais523> Vorpal: oh no, does that automatically cause elliott to disagree with me?
19:12:51 <elliott_> ais523: the exception to Vorpal being wrong about everything is things that everyone but cheater are right about
19:13:02 <elliott_> which applies to almost every opinion cheater has
19:13:10 <ais523> heh, I thought there might be some sort of ranking algo there
19:13:31 <ais523> 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 <ais523> so didn't bother establishing it fully
19:13:38 <elliott_> 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 <ais523> it was more a joke than anything else
19:14:09 <elliott_> 02:44:49: <itidus20> ok heres a topic
19:14:09 <elliott_> 02:45:05: <itidus20> has hello world worn out it's welcome?
19:14:09 <elliott_> Meanwhile, from the worst member of the channel to the best...
19:14:27 -!- monqy has joined.
19:14:36 <elliott_> hi monqy
19:14:43 <monqy> hi
19:15:13 <ais523> elliott_: what's your opinion on the way you can define typesafe printf in C++0xb?
19:15:24 <elliott_> ais523: hmm, be more specific
19:15:28 <elliott_> ais523: or are you asking me for ideas how
19:15:55 <ais523> elliott_: wait for Firefox to unfreeze, and I'll give you a link
19:16:06 <ais523> http://www2.research.att.com/~bs/C++0xFAQ.html#variadic-templates
19:16:40 <elliott_> that, umm, does not look safe
19:16:44 <ais523> it's not really perfect typesafety, as it has to check the format string at runtime
19:16:54 <ais523> but at least it knows it's been given the wrong types
19:17:00 <elliott_> well, it's dynamically safe
19:17:07 <elliott_> Haskell's printf has that too
19:17:33 <ais523> better than C's :)
19:17:48 <elliott_> 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 <elliott_> and they do
19:17:59 <elliott_> well, gcc does, I would be very surprised if clang doesn't
19:18:04 <elliott_> they just need to make them errors by default :)
19:18:50 <ais523> elliott_: there are hundreds of those in the NetHack build
19:18:58 <ais523> I fixed them all for Ace, but most NetHack people just ignore them
19:19:06 <elliott_> ais523: NetHack build erroring out by default? sounds right to me
19:19:21 <ais523> (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 <elliott_> processing code as text :(
19:19:48 * elliott_ mumbles something about @
19:20:14 <ais523> hmm, would it even be physically possible to enter code that produced warnings in @?
19:20:19 <ais523> other than deserialising it?
19:20:47 <elliott_> warnings aren't the same thing as errors
19:20:52 <elliott_> you're describing -Werror
19:20:57 <elliott_> which is insane
19:21:01 * elliott_ cough mcmap cough
19:21:08 <ais523> warnings seem wrong in @
19:21:18 <ais523> surely the compiler should know well enough whether code is correct or not?
19:21:24 <ais523> none of this I'm-not-sure business
19:21:32 <elliott_> I don't see warnings as "I'm not sure"
19:21:36 <elliott_> I see it as "hey, this is confusing"
19:21:48 <ais523> well, confusing code is Bad
19:21:50 <elliott_> (note: I think a lot of warnings should be errors, C standard be damned)
19:22:05 <elliott_> ais523: yes, but forcing someone to fix all bugs up-front is insane
19:22:14 <elliott_> ais523: there's a reason issue trackers exist
19:22:27 <ais523> wow, I didn't expect you to hold that opinion
19:22:31 <elliott_> ais523: well: "confusing code" is much lower priority than "major feature doesn't work"
19:22:36 <elliott_> [asterisk]has a much
19:22:45 <elliott_> ais523: obviously code that violates the language should be rejected up-front
19:22:52 <elliott_> but confusing code? nah
19:22:59 <ais523> "major feature doesn't work" is probably caused by confusing code
19:23:09 <elliott_> ais523: no, it's probably caused by incorrect logic
19:23:17 <elliott_> ais523: confusing code is a symptom
19:23:22 <ais523> well, OK
19:23:25 <elliott_> that's why warnings exist
19:23:39 <ais523> 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 <elliott_> ais523: I mean, Shiro currently has a few really hard-to-read functions
19:23:48 <elliott_> they work correctly, but they're very hard to read or modify
19:23:53 <ais523> *huge Planar rewrite
19:24:06 <elliott_> but I would fix some of the mycology BADs before cleaning them up
19:24:11 <ais523> 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 <ais523> because my fingers keep typing one at random
19:24:26 <elliott_> I guessed it was enemy AI
19:24:29 <elliott_> rather than TAEB
19:24:37 <pikhq> ais523: Which VCS are you using?
19:24:53 <ais523> for Planar, darcs
19:25:03 <elliott_> pikhq: why'd you ask?
19:25:05 <ais523> I mostly use darcs or git, depending on how much I have to collaborate with other people
19:25:08 <pikhq> D'awww. If only it were git. "GitHack" seems like a nice name.
19:25:21 <elliott_> that's not a name for what ais523 said
19:25:27 <elliott_> and naming a project after its VCS is insane
19:25:42 <ais523> AceHack is also stored in darcs, incidentally
19:25:45 <pikhq> elliott_: About as insane as naming a project after a network.
19:25:49 <ais523> as is jettyplay
19:25:51 <elliott_> pikhq: ?
19:25:55 <pikhq> elliott_: Nethack.
19:25:56 <ais523> elliott_: NetHack is named after Usenet
19:26:01 <elliott_> well, OK
19:26:06 <elliott_> but it isn't directly obvious
19:26:08 <ais523> they took the generic part of its name to name it after, too
19:26:18 <elliott_> the name GitHack would not really work properly if you moved to sg
19:26:39 <ais523> 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 <elliott_> hmm, Linus Torvalds has successfully ruined an insult for developers worldwide
19:27:13 <elliott_> ais523: I know how we can call scapegoat's command sg (beyond the fact that nobody uses sg)
19:27:23 <elliott_> ais523: if its parameter is a group, act like sg
19:27:36 <ais523> elliott_: I, umm, have used sg(1) a few times for its intended purpose recently
19:27:48 <ais523> testing the Secret Project
19:27:52 <elliott_> ais523: plz use newgrp instead
19:27:52 <ais523> or rather, testing what happens in its absence
19:27:52 <elliott_> thx
19:28:11 <ais523> it's easier to type than newgrp, and has less confusing semantics
19:28:24 <elliott_> ais523: yes, but I really want to use the command s g :P
19:28:27 <elliott_> sg :P
19:28:43 <ais523> just clash and let the distros sort it out
19:28:58 <elliott_> ais523: I have my doubts that Debian would handle it sanely
19:29:00 <ais523> also, I thought you were opposed to that abbreviation when I first introduced you to Scapegoat
19:29:05 <elliott_> "ah, let's name it sg-version-control instead"
19:29:13 <ais523> elliott_: as in ack-grep, for instance?
19:29:15 <elliott_> ais523: I was, then I realised I was calling it sg anyway, and no other abbreviation seemed nice
19:29:21 <elliott_> they renamed ack to /ack-grep/?
19:29:25 <ais523> yep
19:29:38 <ais523> when one of its selling points is that it's one character shorter to type than ack
19:29:50 <elliott_> 13:27:58: <ais523> I think I have a C/C++ polyglot that acts differently in each language
19:29:50 <elliott_> we did that ages ago :P
19:29:56 <elliott_> ais523: I wonder what else was called ack?
19:30:02 <elliott_> also, s/ack/grep/ on your line
19:30:09 <ais523> elliott_: I instantly went to ack to search for it
19:30:14 <ais523> then realised that made no sense on all sorts of levels
19:30:41 <ais523> (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 <ais523> also, TIL that the same person invented CPL and denotational semantics
19:31:32 <elliott_> $ ack
19:31:32 <elliott_> The program 'ack' is currently not installed. You can install it by typing:
19:31:32 <elliott_> sudo apt-get install ack
19:31:32 <elliott_> ACK is a highly versatile Kanji code checker/converter. ACK can do
19:31:32 <elliott_> reciprocal conversion among Japanese EUC, Shift-JIS and 7bit JIS. JIS
19:31:32 <elliott_> Kata-kana(SJIS Han-kaku Kana) is also supported. Kanji code can be
19:31:35 <elliott_> automatically detected even if the input stream contains Kata-kana
19:31:36 <elliott_> characters. Besides, ACK can be used as a Kanji code checker with very
19:31:38 <elliott_> high detection rate.
19:31:42 <elliott_> ais523: it does make sense
19:31:50 <elliott_> <ais523> also, TIL that the same person invented CPL and denotational semantics
19:31:51 <elliott_> CPL?
19:32:02 <ais523> precursor to BCPL, precursor to B, precursor to C
19:32:54 <elliott_> heh, nice jump to academia
19:32:57 <elliott_> or was it the other way around
19:33:15 <ais523> I don't know
19:33:21 -!- copumpkin has changed nick to Samwell.
19:33:44 <elliott_> 15:19:49: <ais523> 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 <elliott_> ais523: aww
19:34:01 <ais523> that just proves I shouldn't go into politics
19:35:16 <ais523> and I know I was one of them
19:36:22 * elliott_ punches Tedius
19:36:36 <elliott_> we _really_ need to deincentivise creation of this crap somehow
19:36:49 <ais523> well, it does have a leftshift-by-one rather than decrement-by-one
19:37:00 <ais523> that makes it, umm, not quite as awful as generic BF equivalents?
19:37:15 <elliott_> 18:25:04: <ais523> well, booleans are an integer type...
19:37:15 <elliott_> I tried to define a strongly-typed C++0x boolean type that you could still use in if statements
19:37:20 <elliott_> it didn't work
19:37:29 <elliott_> my first failed C++0x sudoku session
19:37:42 <monqy> ugh, tedius.
19:38:12 <monqy> and triplet
19:38:23 <monqy> and snack
19:43:51 <elliott_> 18:59:20: <fizzie> 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 <elliott_> Aha
19:43:54 <elliott_> Maybe it is possible.
19:45:16 <fizzie> There was some drawback with the "operator void*" thing too, but I forget exactly what.
19:46:28 <fizzie> Also the ur-classic C89-vs-C++ different-results polyglot, for completeness: #include <stdio.h> \n int main(void) { printf("%d\n", 1//**/2 \n ); }
19:47:03 <ais523> that one also does C89-vs-C99, though, so it's broken nowadays
19:48:29 <elliott_> just combine it
19:48:34 <elliott_> then you can distinguish all three
19:48:47 <elliott_> I wonder if you can do kandr too?
19:49:08 <ais523> clearly, we need an ignorret test for C
19:49:18 <elliott_> it probably exists
19:49:21 <ais523> one single interaction that nonetheless produces different interactions on every single compiler
19:49:55 <elliott_> that sounds difficult
19:49:59 <elliott_> depending on how you define one single
19:50:14 <ais523> indeed
19:50:32 <ais523> you'd have to use more than one in C, however it was defined, unless your definition was stupidly lenient
19:50:43 <ais523> (and using __STDC_VERSION would clearly be cheating)
19:51:10 -!- derrik has left.
19:51:32 <fizzie> 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 <ais523> aha, that's an interesting use of scopes
19:52:52 <ais523> I'm not even sure which one's which there
19:53:05 -!- arny91x has joined.
19:53:25 <fizzie> 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 <fizzie> Current C++ does the C99 thing of limiting the scope to the for statement itself.
19:54:20 <fizzie> 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 <elliott> "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 <fizzie> 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 <Gregor> elliott: "If the pi calculus' goal is concurrency, why is it so terrible in every way?" :P
20:08:41 <elliott> Gregor: Is it? I don't know much about the pi calculus. A stupid question though :P
20:09:26 <Gregor> What the lambda calculus is to functional languages, the pi calculus is to not a god-damn thing
20:09:52 <elliott> Gregor: That's not necessarily a disadvantage, given that every common concurrency approach sucks to an unimaginable degree
20:10:07 <Gregor> True :P
20:10:40 <monqy> are there any uncommon ones that don't suck
20:10:55 <elliott> monqy: Maybe STM, maybe dataflow architectures???
20:10:57 <elliott> Not really
20:10:58 <monqy> to an unimaginable degree at least
20:11:00 <elliott> CSP is... alright
20:11:06 <elliott> (see Erlang, Go)
20:11:13 <elliott> (also occam, Limbo)
20:11:37 <monqy> I've sort of seen erlang
20:11:40 <monqy> none of the rest though
20:11:44 <monqy> are they any good
20:12:00 <pikhq> Also, I'd really not call concurrency a goal of Haskell.
20:12:37 <pikhq> Abstraction, sure. Concurrency just comes as a biproduct of that.
20:12:40 <elliott> pikhq: It is of modern compiler and library writers
20:12:42 <elliott> And no, it doesn't
20:12:55 <pikhq> ... And people actually focusing on it.
20:13:08 <fizzie> 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 <elliott> 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 <elliott> monqy: Limbo is a Plan 9 thing by the same people as Go, Inferno uses it, it's... a thing?
20:13:44 <elliott> monqy: occam is pretty much CSP: The Language, it's old
20:13:44 <pikhq> Pluses of Go: it's a better C. Minuses of Go: it's a better C.
20:13:46 <elliott> (early eighties)
20:13:49 <ais523> fizzie: oh wow is that cheating, that's beautiful
20:13:59 <ais523> I think you could probably detect Objective-C the same way
20:14:10 <ais523> and specific compilers, and maybe even specific compiler versions, for the OO languages
20:14:23 <elliott> fizzie: zdga?
20:14:35 <elliott> Also, is that even _legal_?
20:15:01 <fizzie> Not really, there's no guarantee even the calling convention matches between C and C++ code.
20:15:08 <fizzie> (Also random name.)
20:15:09 <pikhq> elliott: It's undefined behavior in both languages.
20:15:15 <Gregor> Pluses of Go: It sets forth to be a better C. Minuses of Go: It somehow fails.
20:15:42 <ais523> you know what? I suspect C is likely to be the most durable of, say, the top 10 current programming languages
20:15:45 <fizzie> Is there something else wrong with C except the use of a reserved _-starting identifier?
20:16:20 <pikhq> fizzie: No, that's precisely it.
20:16:23 <oklopol> how about the fact it sucks that ass
20:16:40 <monqy> top 10 current programming languages?
20:17:50 <ais523> via any sensible metric
20:18:42 <elliott> ais523: fwhichvo durable
20:18:52 <ais523> elliott: still in use $x years in the future
20:18:59 <monqy> oh
20:19:02 <ais523> it's quite a weaselwordy statement
20:19:13 <ais523> and in moderately common use, that is
20:19:24 <elliott> ais523: FORTRAN? COBOL?
20:19:36 <oklopol> "<elliott_> Meanwhile, from the worst member of the channel to the best..." <<< why do you keep hurting me like this
20:19:45 <elliott> oklopol: you're joint best
20:19:51 <elliott> but itidus20 is here more
20:19:51 <ais523> 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 <elliott> ais523: oh, in the top ten
20:20:19 <oklopol> true
20:20:26 <elliott> well, there IS a lot of COBOL and FORTRAN code :)
20:20:30 <monqy> and top ten is usage-based or what
20:20:42 <oklopol> NihilistDandy can play qwop with one hand though
20:21:53 <ais523> monqy: "on any sensible metric"
20:22:04 <oklopol> do we have a page of famous bisexual esolangers yet
20:22:11 <monqy> I'm bad at sensible metrics :(
20:23:26 <monqy> 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 <monqy> "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 <monqy> is there anything good in the list of ideas
20:34:10 <elliott> no
20:34:43 <monqy> :(
20:35:28 <olsner> 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 <elliott> I wish cabal was less of a pain to use for a developer
20:46:27 <elliott> reconfigure with "--enable-executable-profiling", how convenient
20:48:47 <elliott> oh, and it doesn't do add -rtsopts like that, neat
20:56:02 -!- GreaseMonkey has joined.
21:12:06 <NihilistDandy> lol, π-calculus
21:15:18 <NihilistDandy> oklopol: *Can't* play qwop with one hand, remember?
21:16:23 <NihilistDandy> And I think there should be a page of famous esolangers before they start getting divided on sexual identity lines.
21:16:39 <elliott> NihilistDandy: famous bisexual esolangers are the only ones that matter
21:17:02 <NihilistDandy> elliott: Well, obviously. I just don't want to look biased.
21:17:18 <monqy> did sgeo ever make any languages
21:17:37 <Phantom_Hoover> Yes.
21:17:50 * Sgeo hides somewhere
21:17:56 <Phantom_Hoover> http://esolangs.org/wiki/Special:Search?search=Sgeo&go=Go
21:18:40 <elliott> monqy: PSOX
21:18:43 <elliott> monqy: PSOX PSOX PSOX PSOX PSOX
21:18:53 <monqy> oh that's a language?
21:19:05 <Phantom_Hoover> No.
21:19:26 -!- BeholdMyGlory has quit (Remote host closed the connection).
21:19:26 <monqy> so just mkbl-ln?
21:19:47 <Sgeo> Does BF-RLE count as a language?
21:19:53 <elliott> PSOX _is_ a language
21:19:57 <elliott> 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 <monqy> 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 <monqy> i love these
22:15:05 <elliott> "The particular sneakers out of converse", good esolang name
22:20:03 -!- PatashuDragonite has joined.
22:30:50 <Sgeo> 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 <elliott> Sgeo: they're not more likely than choosing -1
22:31:53 <elliott> choosing -1 just isn't an option
22:32:52 <Sgeo> So it's incorrect to say that the probability of choosing -1 is 0?
22:34:31 <elliott> Well, the probability of an impossible event is 0.
22:35:47 <Sgeo> Is there a distinction between choosing rational vs choosing real that = 0.5, similar to distinction between "almost never" and "impossible"?
22:36:26 <elliott> Well, almost all reals are irrational.
22:36:42 <elliott> Your chance of picking a rational are 0, which is not true for rationals.
22:37:40 <Sgeo> 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 <Sgeo> Should I be lolling at Aptana Studio, partially a Ruby IDE, installing some .py stuff?
23:29:43 <Sgeo> Oh, not specifically Ruby focused
23:32:15 <monqy> 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 <monqy> Webbhotell
23:32:23 <monqy> help
23:32:30 <elliott> webbhotell
23:32:58 <monqy> 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 <elliott> "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 <monqy> "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 <monqy> "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 <Sgeo> You know what the best language for me would be?
23:40:25 <Sgeo> Something, anything, that gets me programming again
23:40:26 <elliott> do i want to know
23:40:50 <PatashuDragonite> Goruby
23:40:59 <elliott> PatashuDragonite: r u srs
23:41:03 <elliott> oh that golf thing?
23:41:04 <elliott> lol
23:41:39 <Sgeo> elliott, I know Ruby is ... uglier than Smalltalk, but is it really that bad?
23:42:05 <elliott> PatashuDragonite wasnt talking about ruby.
23:42:07 <elliott> he was tlaking about goruby.
23:42:13 -!- ineiros has joined.
23:42:22 <elliott> do you even know haskell yet, you keep learning all these crappy languages
23:42:47 <Sgeo> Define "know"
23:42:52 <elliott> so no, then
23:43:18 <Sgeo> Well, I learned it in the same sense that I'm "learning" all these languages
23:43:23 <Sgeo> Well, maybe a bit better
23:43:43 <elliott> Write me a Haskell program that prints out the contents of the files named as arguments
23:43:59 <elliott> This should take ten lines at most, ignoring import statements, and one at best
23:45:05 <elliott> Sgeo: Go on (I'm done already)
23:45:08 <Sgeo> I'm allowed to look at documentation, right?
23:45:23 <elliott> 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 <elliott> 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 <monqy> im a monqy
23:48:44 <Sgeo> 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 <monqy> they're both really easy
23:49:13 <elliott> That would qualify as "not knowing Haskell", but fine, I'll grant learning that one thing too.
23:49:13 <monqy> ok
23:53:07 <elliott> Sgeo: Doing well?
23:53:17 <Sgeo> Doing ok
23:53:34 <Sgeo> Well, not that ok, but I know where I'm going, I think
23:53:39 <PatashuDragonite> elliot: I don't think I even know how to do that in java >:[
23:53:41 <PatashuDragonite> stupid IO
23:54:21 <PatashuDragonite> i'd need to look up the API for bufferedfilestreamreaderfactory
23:57:55 <Sgeo> @hoogle [IO a] -> IO [a]
23:57:55 <lambdabot> Prelude sequence :: Monad m => [m a] -> m [a]
23:57:56 <lambdabot> Control.Monad sequence :: Monad m => [m a] -> m [a]
23:57:56 <lambdabot> Data.Traversable sequenceA :: (Traversable t, Applicative f) => t (f a) -> f (t a)
23:58:46 <Sgeo> Ok, must stop rewriting wrongly
23:59:05 <Sgeo> At least, I _think_ I did it wrongly
23:59:16 <Sgeo> I could probably stuff returns to fix it
23:59:42 <Sgeo> So far:
23:59:42 <Sgeo> main = do
23:59:42 <Sgeo> let iostring_list = getArgs >>= map (openFile ReadMode) >>= map hGetContents
←2011-08-16 2011-08-17 2011-08-18→ ↑2011 ↑all