00:01:04 -!- zzo38 has quit (Quit: killed to death).
00:01:30 -!- pingveno has joined.
00:05:54 -!- zzo38 has joined.
00:15:26 <oerjan> i found an interesting reddit comment on reverse engineering and (somewhat) haskell by copumpkin: http://www.reddit.com/r/haskell/comments/iqz0l/reverse_engineering_of_compiled_haskell/c264g5b
00:16:14 <oerjan> well i only noticed it was by copumpkin after i'd starting reading it
00:17:37 <Sgeo> I have re-read the panels around the end of act 4
00:18:22 <Sgeo> It makes it obvious that it's refereing to it, but I'm still lost
00:18:57 <Sgeo> elliott, wrt Homestuck update
00:19:52 <copumpkin> oerjan: I'd still be curious to feed hex-rays a ghc-compiled binary
00:20:11 <copumpkin> I bet even function boundary analysis in basic IDA would fail, though
00:20:46 <Phantom_Hoover> Sgeo, elliott is going to mock you about this, but he was completely lost by the ectobiology stuff when I read it with him.
00:20:47 <zzo38> I have found myself wanting to use a PHI command in C, although of course C doesn't have that.
00:26:30 <ais523> <girtar, in a top rated YouTube comment> Wait, why the heck is that the highest rated comment....?
00:26:40 <ais523> this confirms it, YouTube commenting has now become a parody of itself
00:27:13 <ais523> I've been suspecting it for a while, but not had solid proof
00:28:23 <oerjan> ais523: you _do_ know what the top voted reddit post ever is, don't you?
00:28:53 <oerjan> see http://www.reddit.com/r/all/top/?sort=top&t=all :)
00:29:17 <ais523> what does the icon next to it mean?
00:29:53 <ais523> also, is the person who made it famous/special in any way that might lead to a post of theirs getting singled out?
00:30:37 <elliott> he was the most famous user of old reddit
00:30:44 <ais523> I don't, I don't really use reddit
00:30:49 <ais523> I read proggit for the comments, but that's about it
00:30:53 <ais523> I don't read homepage, for instance
00:32:22 <elliott> Phantom_Hoover: much before
00:32:49 <Phantom_Hoover> elliott, ah, so it was the power user crap Reddit prides itself on not having?
00:33:40 <oerjan> ais523: i'm not sure what that icon means, i _thought_ it meant a picture was missing but that's a self post so cannot have any...
00:34:09 <elliott> Phantom_Hoover: no, qg was cool
00:34:35 <Phantom_Hoover> elliott, well sure, but the fact that it was upvoted wasn't a random thing.
00:34:36 <oerjan> hm no looking at the frontpage the missing picture icon is an alien with a camera and a question mark
00:34:43 <elliott> oerjan: it's something i've never seen before, probably added just for that post
00:34:43 <ais523> oerjan: maybe that's why it's missing
00:34:49 <elliott> Phantom_Hoover: Well sure, but come on, it's a one-off
00:36:16 <oerjan> ais523: but there other self posts which have no icon
00:37:26 <elliott> http://www.reddit.com/static/self_default2.png
00:37:33 <elliott> maybe using a question mark changes it:)
00:41:38 -!- zzo38 has quit (Remote host closed the connection).
00:43:15 <oerjan> oh i finally found one deep down in the frontpage which has it http://www.reddit.com/r/gaming/comments/is1s7/extralivesorg_is_trying_to_raise_8500_to_build_a/
00:44:11 <oerjan> and moreover this one has the A+ icon for a self comment as well
00:44:34 <oerjan> while i've found a couple that have neither
00:45:18 <oerjan> oh well maybe there's some obscure setting which does it
00:59:32 <copumpkin> oerjan: you interested in reversing?
01:03:12 -!- Phantom_Hoover has quit (Quit: Leaving).
01:07:21 -!- CakeProphet has quit (Ping timeout: 264 seconds).
01:18:05 -!- pumpkin has joined.
01:18:06 -!- pumpkin has quit (Changing host).
01:18:06 -!- pumpkin has joined.
01:18:36 -!- copumpkin has quit (Ping timeout: 276 seconds).
01:19:44 -!- pumpkin has changed nick to copumpkin.
01:34:25 -!- myndzi\ has joined.
01:38:06 -!- myndzi has quit (Ping timeout: 276 seconds).
01:40:15 -!- Sgeo_ has joined.
01:43:33 -!- Sgeo has quit (Ping timeout: 255 seconds).
01:46:21 -!- pumpkin has joined.
01:46:46 -!- copumpkin has quit (Ping timeout: 240 seconds).
01:48:14 -!- copumpkin has joined.
01:48:14 -!- copumpkin has quit (Changing host).
01:48:14 -!- copumpkin has joined.
01:50:31 -!- pumpkin has quit (Ping timeout: 250 seconds).
01:56:36 -!- cheater_ has quit (Ping timeout: 255 seconds).
01:58:51 -!- Sgeo_ has quit (Ping timeout: 255 seconds).
02:03:29 -!- Sgeo has joined.
02:04:06 <Sgeo> I need to write a patch for XChat
02:04:17 <Sgeo> To stop its notifications from telling me that I disconnected
02:04:31 <Sgeo> Or at least, limit it to only once in x amount of time.
02:08:49 -!- cheater_ has joined.
02:10:02 * Sgeo wonders if XChat scripts have access to that stuff
02:22:04 <Sgeo> elliott, how much does prgmr HD space cost?
02:22:52 <elliott> What do you mean/why do you want to know?
02:23:07 <Sgeo> I want to know because I'm considering trying prgmr
02:23:27 <Sgeo> To play around with
02:23:54 <elliott> That seems like a bad reason to spend at least ten dollars a month :-P
02:24:01 <elliott> But it increases with the RAM.
02:24:20 <Sgeo> elliott, so what VPSes are more suited to just playing around with?
02:25:00 <elliott> You have a Linux box with an IP already, don't you?
02:25:16 <elliott> A VPS is for when you have actual services that you want to serve twenty-four seven :P
02:25:22 <elliott> I mean, your money, but...
02:25:34 <Sgeo> (Well, probably my dad's money)
02:25:36 <elliott> You're not gonna find anything more than a few dollars cheaper than prgmr and what you do find will be a lot worse.
02:26:16 <Sgeo> I want toy services that I want to serve 24/7
02:27:27 <elliott> Your usecase sounds rather badly thought-out
02:28:36 <Sgeo> IRC bots, maybe some Second Life stuff, wanting to play with web stuff without being restricted in my choice of language
02:28:51 <Sgeo> (Web stuff that other people can actually use)
02:29:31 <elliott> You could just leave your laptop on, then it costs [fraction of electrical bill] rather than whatever prgmr does:P
02:29:37 <elliott> But sure, prgmr would fit for that I guess.
02:55:33 -!- cheater_ has quit (Ping timeout: 255 seconds).
02:59:26 * Sgeo vaguely wonders what happened to a certain DJ that shares his name
03:00:06 <oerjan> well we found it confusing with several people named the same thing, so we killed him.
03:00:18 <oerjan> it was a fair coin toss, though
03:00:20 <ais523> actually, we found it confusing with several people named the same thing, so we killed you
03:00:30 <ais523> and are not sure why your client is still sending messages
03:00:53 <oerjan> ais523: ...are you sure you remember the right coin result
03:01:47 -!- zzo38 has joined.
03:05:59 <Gregor> Actually, each of oerjan and ais523 was tasked with killing one of you if the coin flip went that way, but they both misread the coin and killed both of you.
03:06:06 <Gregor> Still, the ambiguity was resolved.
03:08:12 -!- cheater_ has joined.
03:10:03 -!- BeholdMyGlory has quit (Remote host closed the connection).
03:26:39 -!- azaq23 has quit (Ping timeout: 276 seconds).
03:43:51 -!- elliott has quit (Remote host closed the connection).
03:44:33 -!- elliott has joined.
03:44:40 -!- elliott has quit (Changing host).
03:44:40 -!- elliott has joined.
03:59:48 -!- elliott has quit (Remote host closed the connection).
03:59:51 -!- elliott_ has joined.
04:22:55 <zzo38> My brother made up his character's name by now. He named his character "Also".
04:28:09 <oerjan> zzo38 is part of this group, and also his brother
04:28:46 <zzo38> Now I should *also* put it into the computer.
04:30:39 <oerjan> also puns can easily fall flat if you don't get the grammar just right
04:45:58 <Gregor> http://jeffkatz.typepad.com/.a/6a0120a721c2d7970b0133ed630c7b970b-800wi Delicious, delicious heart attack.
04:47:04 <pikhq> I am American and I approve of this murder weapon.
04:52:19 -!- elliott_ has quit (Remote host closed the connection).
04:52:25 -!- elliott has joined.
04:58:41 <oerjan> he didn't say he ate them
05:00:16 <elliott> you'd inhale the cholesterol
05:01:56 -!- oerjan has quit (Quit: Good night).
05:05:28 <copumpkin> but I did feel rather gross after eating them
05:05:46 <Sgeo> Clearly copumpkin is as deceased as I am.
05:08:25 <elliott> oh wow java generics are crappy
05:09:41 <elliott> but they're, like, _really_ crappy :O
05:10:47 <copumpkin> but water is, like, _really_ wet :O
05:11:45 <itidus20> perhaps wetness is the extent to which a thing is saturated with water
05:12:27 <copumpkin> does that mean water is the wettest thing of all?
05:12:36 <elliott> oh, phew, they're not _quite_ as bad as I thought I'd just proved
05:12:52 <itidus20> but wetness might relate to liquids, which would complicate things
05:12:59 <itidus20> since not all liquids are water
05:13:51 <itidus20> it also brings up the question of whether ice is wet
05:14:32 <itidus20> So, in wetness, is water a necessary element? is liquid state a necessary element?
05:14:48 <itidus20> Can you have something wet which is neither water nor liquid
05:16:09 <Gregor> Is humid air wet? Is mercury?
05:16:20 <Gregor> It's a natural word, so its probably ambiguous at best.
05:16:22 <itidus20> I am showing off because gregor is here
05:17:15 <Gregor> Not capitalizing my name or using punctuation isn't particularly impressive showing off ... :P
05:17:34 <pikhq> When Particle Man is in water, does he get wet, or does the water get him instead? </TMBG>
05:30:21 <zzo38> In Soviet Russia, wet gets YOU!!
05:30:40 <elliott> ais523: haskell/java bridge using jni
05:30:44 <ais523> it's rare for me to leave the computer on and unattended overnight
05:30:49 <elliott> therapy is available down the hall.
05:30:54 <ais523> in the daytime, it's possible my boss has contacted me or something like that
05:31:03 <elliott> you can only avoid reading that line for so long, ais523.
05:31:09 <ais523> elliott: that's no more insane than haskell/imperative language, isn't it?
05:31:23 <elliott> ais523: you're saying that involving Java in something doesn't make it more of a terrible idea?
05:31:34 <elliott> that would be some kind of Act of Maximum Terribleness
05:31:36 <ais523> elliott: only marginally
05:31:38 <Gregor> Haskell/JavaScript bridge 8-D
05:31:44 <ais523> I don't consider Java some sort of great, all-encompassing evil
05:31:49 <elliott> like, killing a baby with Java isn't really worse than just killing a baby, I suppose
05:31:49 <ais523> just an ordinarily evil
05:31:59 <ais523> almost mundane, in fact
05:32:00 <elliott> ais523: OK, but as a language, it sure doesn't like talking to other people :P
05:32:07 <elliott> Of course Java is mundane, it's just /strange/ and mundane
05:32:25 <elliott> Java constantly surprises me, and I'm hardly inexperienced with C and Python and other such "boring languages"
05:32:38 <ais523> it doesn't surprise me much
05:32:39 <Sgeo> Gregor, I think I have use for that
05:32:50 <elliott> ais523: that may be cause for concern :-)
05:32:56 * Sgeo abruptly gets shot
05:32:59 <elliott> ais523: but yes, it honestly does
05:33:02 <ais523> it's designed exactly like I expect it to be designed
05:33:18 <elliott> ais523: you expect type erasure?
05:33:21 <ais523> more abstraction layers than are particularly sane, and a standard library that tries to do everything itself
05:33:45 <ais523> and yes, but partly because I know that Java's template system is a last-minute hack that was retrofitted to the language
05:33:57 <elliott> that's not an "expectation"
05:34:02 <elliott> ais523: you expect the rather strange anonymous subclass syntax?
05:34:19 <ais523> elliott: it's saner than what C++ would come up with for the same thing
05:34:46 <ais523> elliott: well, you come up with a better syntax
05:34:59 <elliott> ais523: Why, when I could come up with a better language?
05:34:59 <zzo38> The C++ template syntax is bad because it uses < > as delimiters even though they also mean less than and greater than signs.
05:35:01 <ais523> I think you're just not thinking from the Java point of view
05:35:05 <elliott> It's strange to be able to do that with shortcut syntax in the first place
05:35:16 <elliott> And certainly not what I'd expect from the Most Boring Orthodox OOP Language Ever
05:35:17 <Sgeo> The syntax isn't what's bothersome, although I haven't used Java much. But how do you not have lambdas?
05:35:20 <ais523> not really, if everything is a class or an object, then what's a new method? a class
05:35:33 <ais523> so you need to be able to make throwaway classes like that
05:35:40 <ais523> and the syntax is much the same as defining an ordinary class
05:35:49 <ais523> except that you put the class definition where the class name should go
05:36:04 <Sgeo> Why can't anonymous functions just be syntax sugar for a method of an anonymous class, then?
05:36:06 * elliott steps away from ais523, curls up in a ball, and cries himself to sleep.
05:36:23 <ais523> elliott: I note that C does the same thing, with anonymous structs
05:36:37 <ais523> struct {int i; float f;} x;
05:36:38 <elliott> ais523: I wish you were around when Java actually surprised me so I could tell you why
05:36:47 <elliott> what happens in IDEA, stays in IDEA
05:41:51 <pikhq> Sgeo: Java 8 is actually adding lambdas.
05:42:17 <ais523> what syntax, incidentally?
05:42:25 <Sgeo> pikhq, yay! Now how about all the APIs that don't take lambdas?
05:42:39 <Sgeo> Or are they using Runnable or something, which, I _think_ stuff takes?
05:42:47 <ais523> well, they're just sugar for a five-liner that creates an anonymous inner class
05:43:11 <ais523> Runnable is sort-of the defacto standard for those if you're just using them as a callback, but taking no arguments and returning void is a bit crippling
05:43:34 <Sgeo> Haven't used much Java
05:43:37 <ais523> (not /fatal/, but you don't want to have to use stupid workarounds)
05:43:52 <pikhq> The planned syntax is #{ arglist -> code }
05:44:28 <ais523> that's such an unjavaish operator
05:45:19 <pikhq> And you can only close over final or "effectively final" variables...
05:45:52 <elliott> i never expect to see that outside of a literal/comment in java
05:46:33 <ais523> well, it's for consistency with method pointers, isn't it?
05:46:40 <ais523> pikhq: that restriction's been around for ages
05:46:49 <ais523> it's to save having to distinguish between current and original value
05:46:55 <Sgeo> Effectively final?
05:47:18 <pikhq> Sgeo: Basically, can be declared final without causing a compilation error.
05:47:46 <Sgeo> (Well, cool's the wrong word. But ... smarter than... an unsmart compiler?)
05:48:01 <pikhq> Anyways. It's basically syntactic sugar around anonymous classes.
05:48:18 <ais523> I suppose it's to make idiots think about whether they mean {final T x = this.x; return new C() {C(){setT(x);} } } or {final T finalThis = this; return new C() {C(){setThingToAccessToGetT(finalThis);} } }
05:48:36 <ais523> I probably have made minor syntax errors there, because Java more or less requires an IDE to do the boilerplate for you
05:48:41 <ais523> it's almost as bad as VHDL
05:48:50 <pikhq> Well. Anonymous classes of a single method.
05:49:07 -!- zzo38 has quit (Remote host closed the connection).
05:49:23 <pikhq> And the type gets inferred.
05:49:45 <ais523> elliott: you'll love this syntax, then (proposed, I'm not sure it was accepted): Math#sin for what is basically #{ x -> Math.sin(x) }
05:49:59 <ais523> pikhq: type inference? in /Java/? now I'm shocked
05:50:10 <pikhq> ais523: It's about as advanced as C++0x's.
05:50:21 <ais523> and how advanced is that?
05:50:49 <ais523> C++0x is more insane than my mind can easily grasp
05:50:59 <ais523> I couldn't even follow the move constructor debate
05:51:05 <pikhq> ais523: Pretty much, if you're trying to use #{ } where only a class with a single method is expected, it figures out that you want to use that type. Otherwise it's a compile error.
05:51:07 <elliott> C++0x is a beautiful, crystalline trainwreck
05:51:12 <ais523> despite knowing early C++ (really early, before namespaces were invented)
05:51:21 <elliott> it is the Best language and, therefore, a completely useless piece of shit
05:51:36 <ais523> can anyone here explain move constructors?
05:51:40 <elliott> but it lead to C++ sudoku!
05:51:47 <ais523> my guess is no, because they're basically inexplicable
05:51:55 <ais523> but perhaps someone here is insane enough to grasp them
05:52:05 <ais523> I mean, I understand the intention and what they're meant to encourage
05:52:25 <ais523> I just don't get a) why that's considered a desirable feature for a language, or b) any of the millions of details needed for them to work correctly
05:52:42 <elliott> summarise? opening a tab will crash flash
05:52:49 <ais523> they also make perfectly innocent-looking code do ridiculous things
05:52:55 <elliott> (flash /really/ hates pages loading or closing in Chrome for some reason)
05:53:01 <ais523> elliott: I can't easily, because I don't understand it really
05:53:07 <elliott> <ais523> I mean, I understand the intention and what they're meant to encourage
05:53:14 <ais523> you know what a copy constructor is, right?
05:53:25 <ais523> it's like that, except you destroy the thing being copied, because it isn't needed any more
05:53:26 <elliott> yes, it's constructing a new object with just an existing one as an argument
05:53:28 <elliott> and copying all its fields over
05:53:31 <elliott> but it's really hard to get right
05:53:56 <elliott> whatever Clean uses for IO, anyway
05:54:08 <ais523> it's reminiscent of linear typing, at least
05:54:14 <pikhq> The *reason* for move constructors is so that the compiler doesn't have to actually do deep copies for its temporary values.
05:54:18 <ais523> except that linear typing's "legitimate ways to cheat" are rather unlike C++'s
05:54:33 <ais523> pikhq: why can't it just use the original value?
05:55:20 <pikhq> ais523: Because things tend to get passed *by value* to relevant functions.
05:55:32 <elliott> but yes, the reason for anything insane in C++ tends to be "performance, even though you'd just use a struct if you _really_ cared"
05:55:32 <ais523> pikhq: oh right, and C++ doesn't hide calling convention stuff
05:55:47 <ais523> elliott: that's because C++'s market is very specific nowadays
05:56:08 <ais523> it's people who care massively about performance, but who can't use C for various reasons, mostly library support
05:56:09 <elliott> ais523: games programming, application developers (who don't care about the new features), and "specialist" areas? like embedded/realtime stuff
05:56:27 <ais523> (I don't include needing to use an object-oriented view of things as a reason to use C++, as C is better at that)
05:56:38 <elliott> `addquote <ais523> (I don't include needing to use an object-oriented view of things as a reason to use C++, as C is better at that)
05:56:39 <HackEgo> 512) <ais523> (I don't include needing to use an object-oriented view of things as a reason to use C++, as C is better at that)
05:56:52 <pikhq> e.g. foo = bar + baz + qux; would have to create a value for "baz + qux", to pass it to operator+ for adding bar to get the final value...
05:56:55 <elliott> i'll delete most of them later :-)
05:58:02 <ais523> pikhq: unless operator+ took references as arguments
05:58:09 <ais523> which is the standard for arithmetic operators, isn't it?
05:58:23 <pikhq> Oh, right. To *work around that*.
05:58:43 <elliott> is there ever really a reason to pass by value in C++?
05:58:44 <pikhq> C++'s semantics are far too complicated.
05:58:53 <pikhq> elliott: I dunno, but people *do it*.
05:58:56 <ais523> elliott: you pass integers and smaller primitive types by value, generally
05:59:19 <ais523> because if you pass them by reference, the compiler has to find some memory to store them in in order to pass a pointer to them, which is pretty convoluted
05:59:46 <elliott> I mean non-primitive types
06:00:01 <elliott> most languages don't even have a /way/ to specify that you want a by-value passing
06:00:10 <elliott> (as opposed to by-reference)
06:00:15 <ais523> nowadays, I think value is faster for even structures up to 64 bits wide, with modern compilers and calling conventions
06:00:25 <elliott> (although this is an implementation detail in the case of immutable objects)
06:00:31 <elliott> ais523: not many structures are less than sixty four bits wide...
06:00:48 <ais523> elliott: they are if you go up to Java levels of enterpriseyness
06:00:49 <elliott> (I would say that int is usually used even when char would do fine, for futureproofing and not-having-to-think-about-it reasons)
06:01:10 <ais523> if you have nothing but a vtable, for instance
06:01:16 <ais523> and the vtable is stored as a pointer
06:01:22 <ais523> a pointer to a pointer would just be ridiculous
06:01:40 <ais523> elliott: well, in the minds of C++ users
06:01:40 <elliott> so what you're saying is, C++ needs opaque typedefs :)
06:01:54 <elliott> in Haskell, those desugar to the contained value
06:01:58 <elliott> so there's zero runtime overhead
06:02:29 <ais523> elliott: gah, never suggest a new feature for C++, even as a joke
06:02:34 <ais523> the consequences aren't pretty
06:02:50 <elliott> I'm sad that concepts weren't accepted, those were really what C++ template metaprogramming needed
06:03:00 <ais523> something wasn't accepted? seriously?
06:03:06 <elliott> you don't know about concepts?
06:03:14 <elliott> they were half the size of C++ itself
06:03:17 <ais523> not if the word has a specific technical meaning in the context of C++
06:03:24 <elliott> and required a massive gcc fork to implement
06:03:29 <elliott> presumably to prove it was even humanly possible
06:03:37 <elliott> ais523: take a skim of http://en.wikipedia.org/wiki/Concepts_(C%2B%2B)
06:03:41 <elliott> In the pending C++0x revision of the C++ programming language, concepts and the related notion of axioms were a proposed extension to C++'s template system, designed to improve compiler diagnostics and to allow programmers to codify in the program some formal properties of templates that they write. Incorporating these limited formal specifications into the program (in addition to improving code clarity) can guide some compiler optimizations, and
06:03:41 <elliott> can potentially help improve program reliability through the use of formal verification tools to check that the implementation and specification actually match.
06:03:51 <elliott> it was kind of like.... typeclasses
06:04:00 <elliott> except... used as a sort of formal verification system
06:04:02 <ais523> presumably it's someone trying to embed a different language into an existing one?
06:04:13 <elliott> ais523: Wikipedia lists no prior art
06:04:19 <elliott> I suggest a quick read of the article, it's truly jaw-droppingly C++
06:04:23 <elliott> apparently too C++ for the committee
06:04:44 <ais523> it reminds me of a random reddit poster saying that incomprehensible template error messages were the compile-time version of a segfault
06:04:50 <ais523> presumably, that's an attempt to statically prevent segfaults
06:05:15 <elliott> I really hope they were powerful enough to make a big C++ subset --> C++ template compiler easy-ish
06:05:28 <elliott> then you could propose to the committee to specify C++ templates based on the C++ semantics itself
06:05:34 <elliott> thus shortening the report and allowing for further extension
06:05:41 <elliott> like, say, allowing every C++ feature to be used at the type level
06:06:04 <ais523> the Java-like solution to this would be to allow templates to extend each other
06:06:08 <itidus20> does the C++ committee take the same crap that the html5 committee does?
06:06:16 <ais523> it wouldn't /help/, but would be more javaish
06:06:26 <coppro> itidus20: same crap as in what?
06:06:47 <itidus20> i do not know entirely what I mean.. but I hear the ISO is a joke
06:07:07 <ais523> elliott: OK, the axioms addition is very C++ish indeed
06:07:11 <ais523> actually, it reminds me a bit of C99
06:07:37 <elliott> hmm, I see the kind of feel you mean
06:07:42 <elliott> it's just... on a C++ scale
06:08:12 <ais523> yep, that's a good description
06:08:34 <ais523> hmm, this reminds me a bit of listening to a piece of computer game music and trying to figure out what series it comes from by the style
06:08:35 <itidus20> (sorry for fake foreign accent) It is much the feeling that dependancy on C/C++ undermines potential of esoteric languages.
06:08:42 <ais523> only with programming languages
06:09:00 <elliott> that's not fake foreign accent, that's just academicspeak
06:09:05 <ais523> itidus20: C in particular has a view of the universe that was low-level once, but nowadays is an abstraction inversion
06:09:06 <elliott> or maybe the latter is an absorption of the former
06:09:25 <ais523> but it's hard to do better
06:09:32 <itidus20> Well, there is danger in dependance.
06:09:35 <elliott> ais523: I have a feeling the C committee went that way after someone came up to them with a copy of the Lisp Machine ZETA C compiler, and said "explain this".
06:10:11 <ais523> I've got annoyed with gcc-bf, because I just run into abstraction inversions everywhere, and it saddens me
06:10:24 <coppro> abstraction inversions?
06:10:38 <Sgeo> Wow, coppro asked the question I was going to ask
06:10:38 <elliott> hmm, that made sense when i typed it
06:10:51 <elliott> Sgeo: thus proving that neither of you can use Google (you're not ais523, you have no excuse)
06:10:52 <itidus20> A dependance on c/c++ means that GNU can be led along by the c standard.
06:10:55 <ais523> coppro: basically, when a language provides high-level concepts only, so if someone wants to use low-level concepts, they have to implement them in terms of the high-level concepts
06:11:06 <ais523> which are again implemented in terms of low-level concepts
06:11:07 <elliott> which doesn't advance automatically with the C standard
06:11:08 <itidus20> do they define their own standards?
06:11:16 <elliott> itidus20: they refer to published ones
06:11:31 <ais523> pikhq: the classic example is synchronization in ADA, but most people, including me, don't know how it works
06:11:32 <elliott> you can change what the latest ISO standard for C is, but you can't change what ISO C90 is
06:11:37 <itidus20> but you can see the danger here right?
06:11:44 <elliott> itidus20: it's just the trust issue.
06:11:50 <elliott> in the end, you have to (depend|trust) someone.
06:11:55 <pikhq> ais523: No, I mean "in C".
06:12:00 <itidus20> if google and microsoft lobby the standard
06:12:07 <pikhq> ais523: I know what abstraction inversion is, and can think of a few really good examples.
06:12:22 <pikhq> Most obviously, implementing locking primitives in Erlang on top of its messaging. :)
06:12:26 <ais523> pikhq: hmm... vectorised instructions, perhaps
06:12:43 <ais523> that's not quite what I mean, though
06:12:57 <itidus20> they should make a language called stallman
06:13:16 <itidus20> :D every program needs to have the name stallman in the filename to compile
06:13:20 <pikhq> (so you can do locking-based multithreading on top of message-passing multithreading on top of locking-based multithreading!)
06:13:50 <itidus20> smacks my knee with jocularity
06:14:29 <Sgeo> itidus20, ...why? No offense, really, but that sounds boring
06:14:56 <ais523> pikhq: fetch/modify/store's a decent example, I think
06:15:06 <ais523> in C, all movement of data into and out of caches is implicit
06:15:35 <ais523> so you have to do silly things normally used only by Vorpal, and weird unusual libraries, or else confusing code that doesn't really mean what it looks like it means, to get your memory access patterns to what you want
06:15:49 <Sgeo> Will anyone be mad at me if I strap my hash output language into a sucky thing like BF?
06:15:54 <Sgeo> Because I'm uncreative
06:16:01 <ais523> I won't, but half the channel will
06:16:28 <elliott> because i won't care anyway :P
06:16:38 <elliott> PH will, but PH already hates literally every person on the planet
06:16:49 <pikhq> ais523: Obvious solution is to ban 3/4ths of people from using C ever.
06:17:06 <Sgeo> So: Come up with a unique language just to show off the hash output.
06:17:07 <pikhq> Doesn't solve any of the problems with C, but it *does* make them hardly relevant!
06:17:30 <ais523> Sgeo: have you seen http://esolangs.org/wiki/SLOBOL?
06:17:51 <Sgeo> I may have seen it but forgotten everything about it
06:17:56 <ais523> well, look at it again
06:18:17 <ais523> it's hash source rather than hash output, but much the same thing
06:18:37 <Sgeo> Not really. It's the compiler that has to bruteforce hashes, not the program author.
06:18:54 <ais523> wow, on NetHackWiki, I just found a disambiguation page with two disambiguation headers
06:19:02 <ais523> as in, it had to disambiguate what was being disambiguated
06:19:15 <ais523> pity the other pages linked aren't dab pages too, or it would have been even better
06:20:08 <ais523> http://nethackwiki.com/wiki/Fire
06:20:22 <ais523> basically, it's full of all the different pages relating to fire as in burning things
06:20:26 <elliott> Sgeo: why not just put it on top of BF, it won't really matter
06:20:31 <ais523> with a header connecting to fire as in firing an arrow
06:20:31 <elliott> Sgeo: and make cells the size of a hash
06:20:37 <ais523> and another one about a god in Slash'EM
06:20:54 <ais523> I think Wikipedia just uses different sections for homonyms like that
06:20:59 <Sgeo> elliott, ooh, didn't think of that
06:21:16 <Sgeo> Was thinking I'd add ! to the commands, or something
06:22:14 <elliott> Sgeo: means you get to use fun arithmetic to output the simplest things :D
06:22:26 <elliott> the simplest quine will be, like, a gigabyte long
06:22:55 <Sgeo> Assuming there is a quine..
06:23:14 <fizzie> (Disclaimer: I don't know how you're using hashing in them outputs, but...) If you have a k-bit output from a hash function, and restrict yourself to k-bit inputs for it, I don't think it's very likely the function will be surjective, so you wouldn't be able to generate all possible outputs.
06:24:02 <ais523> fizzie: didn't the NSA go to a lot of trouble to prove that DES wasn't surjective?
06:24:03 <Sgeo> Actually wait, the hash-sized cells restricts the possible inputs to the hash
06:24:35 <Sgeo> Which would make it less likely that a quine exists, I thin
06:25:09 <fizzie> ais523: Mmmmaybe. It sounds like something that -- especially for a hash function -- would be really tricky to prove.
06:25:09 <itidus20> sgeo: poking light hearted fun at stallman's fixation on which words people use. stallmanhelloworld.gnu .. if gnu is the extension
06:25:14 <fizzie> ais523: Maybe it was the round function?
06:25:28 <ais523> fizzie: I imagine it was really tricky to prove
06:25:31 <ais523> at least, it was far from obvious
06:25:41 <ais523> but they had to in order to ensure that 3DES was harder to bruteforce than DES
06:27:29 <elliott> fizzie: Sgeo wants a language for which it's unknown whether a quine exists or not
06:27:33 <elliott> Sgeo: btw don't use dha or whatever
06:28:06 <Sgeo> elliott, hmm, why not?
06:28:36 <itidus20> presence of the word quine in the file would cause the program to compile a quine of the program"
06:28:47 <elliott> Sgeo: Because you ideally want the hash to be two-hundred-and-fifty-seven bytes long. The first byte is "how many bytes of this hash to print" minus one. i.e. first byte = 0 means the one byte following will be printed.
06:29:01 <elliott> Sgeo: So this way we can specify only the valid lengths in the first byte and there are no edge cases.
06:29:28 <elliott> Sgeo: There's a really nice hash that outputs an infinite stream that you just take the first N bytes of that you want; lemme find it
06:29:32 <Sgeo> What if first byte = 0 means that 0 bytes following will be printed
06:29:43 <Sgeo> So, 256 byte hash
06:29:46 <elliott> Sgeo: Well, you could have that, but it means . could be a nop.
06:29:49 <elliott> Which is not shared with brainfuck.
06:29:59 <elliott> I mean there's no problem with it.
06:30:12 <fizzie> A scheme like that sounds like it would make it trivial to just bruteforce a set of hashes that start with "0000", "0001", "0002", ..., "00ff", and then use those for all output.
06:30:13 <elliott> Sgeo: also, it means that . at the start of the program does nothing, rather than outputting a NUL byte
06:30:20 <elliott> fizzie: Oh, hmm, of course.
06:30:52 <elliott> fizzie: Well, I just cooked it up in three seconds after I told Sgeo that he obviously didn't have arbitrary output at an arbitrary point because ...
06:31:04 <elliott> fizzie: Because of lengths etc.
06:31:28 <fizzie> Yes. Some sort of "remove trailing nulls" thing might work, except then you couldn't output trailing nulls.
06:31:38 <fizzie> ("Yes" to the lengths thing.)
06:31:40 <elliott> fizzie: That's also what I said.
06:31:47 <elliott> Sgeo could cheat and have an "output NUL byte" instruction.
06:31:55 <elliott> fizzie: Just calculate the prefixes again
06:32:36 <fizzie> No, I mean, remove trailing nulls from the "final output". Okay, I guess that's not going to work if you want some output before the end of the program.
06:32:48 <Sgeo> Output transformer. Program can only output 1-255, but this somehow expands to 0-255. 0 is always and only at the end
06:32:53 <elliott> Sgeo: Do what fizzie said, except don't filter the nuls outputted by @.
06:33:00 <elliott> Where @ is the nul byte outputter instruction because I said so.
06:33:41 <Sgeo> I need to sleep soon
06:33:45 <elliott> http://en.wikipedia.org/wiki/Very_smooth_hash oh this is cool
06:34:38 <Sgeo> Is it... surjective or non-surjective?
06:34:51 * Sgeo wikis surjective
06:35:00 * Sgeo can never keep the jectives straight
06:35:49 <Sgeo> I want unknown surjectivity
06:36:27 <elliott> i was just calling it cool
06:38:07 * Sgeo throws his initial idea for making doing computations in a language require reversing a hash out the window
06:38:31 <elliott> what was wrong with my idea
06:38:40 <Sgeo> elliott, what?
06:38:45 <monqy> goodbye sgeo's initial idea for making doing computations in a language require reversing a hash
06:38:45 <Sgeo> I wasn't talking about your idea
06:41:07 <Sgeo> Maybe I should throw it out here to be fixed up: Just stuff separated by ! that when hashed, must result in BF code.
06:41:32 <ais523> hmm, I'm reading TV Tropes again
06:41:35 <ais523> because I enjoy it and have time
06:41:39 <Sgeo> But then it's too easy to just do a bunch of brute-forcing to get each of the BF commands, then just use that forever
06:41:46 <Sgeo> Since no-ops are pretty easy
06:41:48 <ais523> unfortunately, Firefox 3 opens tabs in IE order rather than Firefox 1 order
06:42:01 <ais523> this does actually make a huge difference when visiting TV Tropes
06:42:11 <ais523> probably IE order, everything uses it nowadays
06:42:26 <ais523> opening a tab next to the page that contained the link you clicked on
06:42:37 <elliott> ais523: Chrome opens tabs to the right of the last middle-click-opened tab; if you've switched tabs since you last did some middle-clicking, I'm not entirely sure how it decides
06:42:37 <ais523> (Firefox 1 opened it at the end, leading to you reading in a queue rather than a stack_)
06:42:53 <elliott> it either goes to the right of the current tab or to the right of the tab bar, it seems
06:42:58 <elliott> ais523: what, apparent nondeterminism?
06:43:08 <ais523> I never did figure out exactly what caused which of those to happen
06:43:12 <elliott> I honestly don't know how it's deciding where to put the first, but I'll just assume it's doing something Terribly Clever
06:44:48 <Sgeo> Attention Sgeo: Sleep is not optional.
06:46:36 <ais523> wow, I was reading TV Tropes and came across a reference to me
06:46:49 <ais523> although inevitable in retrospect
06:47:17 <elliott> ais523: in the nethack article?
06:47:30 <ais523> you might even be able to figure out what for
06:47:43 <ais523> if you haven't seen it, http://www.youtube.com/watch?v=D9oMSPzChgk
06:47:52 <elliott> (he says without clicking)
06:47:58 <ais523> speedrun isn't finished
06:48:03 <ais523> it was originally an April Fool's joke
06:48:18 <ais523> blame the encoder, not me
06:48:30 <elliott> is there a slower version.............
06:48:31 <ais523> or whoever wrote the bootup sequence of DOS
06:48:42 <ais523> you wouldn't see much more, I gave a transcript in the comments
06:49:06 <elliott> ais523: RNG cheat, wish for an item, touch it in a way that makes you die?
06:49:10 <elliott> @kinkkku I quote the submission text: «A female Tourist comes into the dungeon, finds a shiny artifact silver saber (Grayswandir) on the stairs she entered by [...], picks it up (the default options pick up all items you come across), takes damage from touching the artifact (a 1 in 4 chance for an unintelligent crossaligned artifact like the lawful Grayswandir for a neutral Tourist; [...]), and dies from the damage (around a 52% chance for a
06:49:19 <ais523> elliott: that would involve getting control of the character
06:49:28 <ais523> it took me around 2 and a half million tries
06:49:40 <elliott> <ais523> elliott: that would involve getting control of the character
06:49:44 <ais523> but eventually, I stumbled across a game where I died before gaining control of the characer
06:49:47 <ais523> it's theoretically possible
06:49:55 <elliott> touching a cockatrice corpse
06:50:00 <ais523> and I knew it was, so just left my computer running for a week playing games until it happened
06:50:05 <ais523> you don't spawn blind, but you have the right idea
06:50:13 <elliott> "Grayswandir was generated on the upstairs, he picked it up due to autopickup, and it blasted him."
06:50:20 <ais523> here you go: http://tasvideos.org/forum/viewtopic.php?p=267682#267682
06:50:26 <elliott> ais523: I thought it meant fastest in realtime
06:50:45 <ais523> elliott: I finish input before the game loads, is that fast enough?
06:50:45 <elliott> ais523: also, is that post just what i quoted but with really long aistext in the [...]s?
06:51:07 <ais523> it's a transcript of all the text the game would output if I hadn't skipped it
06:51:25 <ais523> I suspect it is fastest in realtime, anyway
06:51:30 <ais523> anything slower in gametime means actually inputting commands
06:51:37 <elliott> argh, Patashu, get out of that thread
06:51:38 <ais523> and that's bound to be slower than ending input before the game loads
06:51:42 <elliott> I am seriously worried about how tiny the internet is
06:52:03 <elliott> I literally can't go anywhere without running into someone I've seen before somewhere completely unrelated
06:52:30 <elliott> ais523: why would input take any sort of time?
06:52:43 <ais523> elliott: because you overflow the BIOS keyboard buffer eventually
06:52:53 <elliott> ais523: ugh; write a PureDOS
06:52:55 <ais523> also, if you type too early, the keys are interpreted as interrupting the boot process
06:53:09 <elliott> on top of some specification of the xeightsix's semantics
06:53:20 <elliott> and then normalise its results to some cycles/sec count
06:53:24 <ais523> nah, the whole point is to emulate the real hardware as accurately as you can
06:53:35 <elliott> NetHack doesn't _have_ hardware!
06:53:35 <ais523> I actually had to submit a patch to the emulator so that it would run NetHack
06:53:52 <Sgeo> Why wouldn't it run NetHack?
06:53:56 <ais523> but that was a case of improving its handling of a particular edge case that was nonetheless exploited a lot by DJGPP
06:54:14 <ais523> Sgeo: basicaly, DJGPP does __int86 by using self-modifying code to overwrite the argument of an int instruction
06:54:23 <ais523> and JPC-RR's pipeline was longer than NetHack expected
06:54:33 <elliott> i kind of hate pipelining because of that
06:54:38 <elliott> self-modifying code is so nice
06:54:45 <ais523> so I added code to do a simulated pipeline stall if the code tried to self-modify
06:54:55 <ais523> it stalls the pipeline a bit faster than real hardware does, but NetHack doesn't notice
06:55:09 <ais523> and neither would anything else unless it were specifically trying to detect an emulator
06:55:20 <ais523> (apparently some games have done that as an anti-cheating measure)
06:55:49 <ais523> also, naughty TV Tropes, assuming I'm male without asking
06:56:00 <ais523> although I suppose someone who already knew I was might have added that
06:56:20 * elliott tries to track down a citation for ais523 being male with Google
06:56:34 <ais523> my guess is that it exists but will be nontrivial to find
06:56:55 <Sgeo> Wouldn't #esoteric logs work?
06:56:56 <elliott> http://www.wolframalpha.com/input/?i=User%3Aais523 is the second result for "ais523 male"...
06:57:09 <elliott> Sgeo: not if google doesn't find them
06:57:30 <elliott> There are not too many male admins wearing rouge, because I like men in makeup .... We still have one: {{subst:User:Ais523/User wikipedia/RC patrol (NCR)}}. ...
06:57:36 <elliott> from Wikipedia talk:No climbing the Reichstag dressed as Spider-Man ...
06:57:40 <elliott> there, ais523 is a male admin wearing rouge
06:57:51 <ais523> elliott: err, that's not a reference to me
06:57:58 <ais523> I might have userfied the userbox in question
06:58:04 <ais523> but that doesn't imply anything about my gender
06:58:11 <ais523> (in fact, IIRC I /created/ it)
06:58:27 <elliott> that quote doesn't even appear on that page, seemingly
06:58:48 <elliott> I am allergic to cologne, and therefore will need to scale in protest.[citation needed] There are not too many male admins wearing rouge, because I like men in makeup.[citation needed] - Kathryn NicDhàna ♫♦♫ 01:02, 15 March 2007 (UTC)
06:59:04 <ais523> hey, that ... is cheating
06:59:08 <elliott> ais523: it seems it just picked your signature up because i mentioned it
06:59:10 <ais523> it's even in an unrelated comment!
06:59:18 <ais523> and that's not a sig, it's a userbox
06:59:27 <ais523> my sig has a link to my user, user talk, contribs pages
06:59:40 <elliott> www.macchinaveloce.com/.../wikipedia-book-pdf_lamborghini-miura_...File Format: PDF/Adobe Acrobat - Quick View
06:59:40 <elliott> 30 Jan 2011 – The three men worked on the car's design at night, hoping to sway ..... Aetherfukz, After Midnight, Ais523, Alanraywiki, Alansohn, Alhutch, ...
07:00:14 <ais523> some spambots were using usernames taken from Wikipedia a while back to confuse spam filters
07:00:32 * elliott concludes that he/she has no real reason to believe that ais523 is male
07:00:50 <elliott> jokes only ais will get . com
07:01:54 <ais523> what sort of question is that?
07:02:02 <elliott> ais523: a question that Google will index the answer to :-D
07:04:41 <elliott> www.qdb.us/queue/best/5 - Cached<teapot> and i have a fantasy about having 2 men at once: one for .... <ais523> meh, I've been so busy in RL recently I've hardly been sleeping at all ...
07:04:49 <elliott> like bash famous but slightly less popular
07:04:55 <elliott> ok i give up, i'm going to refer to ais523 with spivak from now on
07:05:11 <ais523> I refer to /myself/ with singular they in /me, because it seems weird otherwise
07:05:22 <ais523> I can't use gendered pronouns without hesitating nowadays
07:05:56 <ais523> and it's simpler than worrying whether I'm making assumptions about my own gender
07:06:43 <monqy> I should return to myself as "it". that'd be cool. too bad I don't use /me at all ever
07:07:01 <elliott> "it" is a cool pronoun i approve of it
07:07:05 <elliott> you're hardly the first to though monqy
07:07:42 <monqy> does anyone consider it offensive to be referred to as "it"
07:08:17 <elliott> probably most people for whom it isn't their preferred pronoun
07:08:19 <elliott> I don't mind, for the record
07:08:26 <elliott> although it might confuse me the first few times
07:09:11 <monqy> if only grammatical gender wasn't a thing. then I would be less unhappy.
07:09:32 <elliott> grammatical gender must be such a fucking pain
07:09:37 <Sgeo> elliott, I don't see ais523 on there
07:09:51 <ais523> Sgeo: it's clearly a cached version
07:10:01 <elliott> monqy: can i call you it, that would be cool. or wait how about punctuation
07:10:30 <olsner> -- is the new personal pronoun?
07:10:41 <monqy> I'm cool with it so long as I know what it means
07:10:44 * Sgeo submitted himself to bash once. Everyone hated it.
07:10:51 * elliott thinks that -- is going to use "--" forever
07:11:00 <elliott> only a mod will have seen it
07:11:02 <Sgeo> Note: Not literally everyone
07:12:08 <Sgeo> elliott, by bash I may have meant qdb
07:12:27 <Sgeo> And ther are votes on it
07:12:37 <Sgeo> 19 votes, although it no longer shows up as approved
07:13:20 <elliott> http://qdb.us/search?q=%23esoteric&order=real_score&sort=desc&limit=25&approved=-1
07:13:24 <monqy> good quote very funny
07:14:28 <elliott> it just seems to be an excerpt of random channel banter :D
07:14:46 <olsner> Sgeo: maybe if you didn't submit it yourself in a fit of "omg I'm so funny" but rather waited until you said something that someone else found worth quoting, your first quote would be better
07:15:01 <elliott> OMG ITS ALMOST HALF RATED GOOD
07:15:05 <elliott> OMG OMG OMG OMG IM SO FANOUS
07:15:08 <fizzie> zzoquote's rating is appropriately "?".
07:15:51 <elliott> is it ok to vote myself up DONT CARE SUCKAS DOING IT ANYWAY
07:15:53 <olsner> (that's the reasoning I use to prevent myself from quoting all my super awesome puns just because no-one else did)
07:16:11 <elliott> coppro: http://qdb.us/303709
07:16:22 <elliott> coppro: plz explain your proximity to an imitator of I
07:17:44 <fizzie> I have a single well-voted bash.org-quote -- http://bash.org/?39012 -- and I can't quite recall if it was from #esoteric or not. Based on the content it might well be, though the other speaker's nick doesn't sound that familiar.
07:19:05 <olsner> elliott: you have all the logs memorized or something?
07:19:06 <fizzie> Not in my logs either, and I suppose I was on-channel at the time.
07:19:46 <olsner> oh, that's a much more realistic explanation
07:19:51 <Sgeo> I should wget them or something at some point
07:19:58 <Sgeo> Or sync with Gregor's project
07:20:03 <Sgeo> I feel willing to use cygwin
07:20:15 <elliott> you just need rsync for windows.
07:20:18 <elliott> http://qdb.us/302321 <-- wat
07:21:19 * Sgeo is now very curious as to what network that was
07:21:52 <elliott> zamabe [~zamabe@i.saw.this.giant.bird.and.his.name.was.linux] has quit [G-Lined: Spam sucks.]
07:22:16 <Sgeo> Christ is clearly Gamzee
07:22:40 <elliott> <fizzie> like there was this one day I took three grams of sugar and few litres of coke and some assorted lego mindstorm bits and made sense out of them
07:22:43 <elliott> fizzie: what does it MEAN?????
07:23:22 <Sgeo> http://honk-honk.org/ well, that's pathetically boring
07:24:38 <fizzie> elliott: More context would maybe make SENSE out of it, but I can't find any of this stuff from my logs. They must be in the -- dramatic pause -- OLD LOGS. Annoying that bash.org doesn't show a submission timestamp. (But the numbers are pretty low, they're around 900k now.)
07:25:02 <elliott> fizzie: This is why you should never snort Lego Mindstorm bits.
07:25:15 <fizzie> Is bash.org even older than 2002/2003?
07:25:53 <monqy> © QDB 1999-2011, All Rights Reserved. if that means anything
07:25:53 <olsner> old enough that it has always existed
07:25:55 <elliott> ais523: plz tell wikipedia they need an article on bash.org. thx
07:26:12 -!- Sgeo_ has joined.
07:26:16 <ais523> elliott: [[Wikipedia:Requested articles]]?
07:26:22 <Sgeo_> Going to throw this router in the trash
07:26:24 <elliott> ais523: it's probably existed a thousand times :P
07:26:43 <ais523> and nobody ever reads requested articles anyway
07:26:56 <elliott> "here's a lot of _actually difficult_ non-gnome work to do"
07:27:48 -!- Sgeo has quit (Ping timeout: 255 seconds).
07:29:02 <elliott> ais523: Do you know of any tolerable non-Java JVM languages?
07:29:08 <elliott> Clojure sucks, Scala sucks, Python sucks, Ruby sucks, ... :(
07:29:10 <Sgeo_> Ok, this xkcd is more of a ... pitch for some sci-fi show, than an actual comic
07:29:21 <ais523> elliott: why did you add "non-Java" to "tolerable"?
07:29:31 <fizzie> elliott: The Mindstorm one seems to come from Mar 29, 2002, and here's the context that will make it all sensible: http://p.zem.fi/37do
07:29:34 <elliott> ais523: Well, Java is... tolerable, it just shortens your lifetime.
07:29:39 <ais523> I wouldn't have expected you to think of Java as tolerable, even though you'd been writing in it
07:29:51 <elliott> fizzie: Suddenly it makes SENSE. Also you had no tab-complete.
07:29:59 <elliott> ais523: It's not good or acceptable, it's just... tolerable.
07:30:04 <elliott> I'm not, for instance, yet dead.
07:30:09 <elliott> Compare if I'd been using PHP.
07:30:25 <elliott> <elliott> I'm not, for instance, yet dead.
07:30:28 <elliott> has an insanely weird rhythm
07:30:42 <ais523> I was reading proggit discussing PHP deprecating the mysql library (in favour of mysqli)
07:30:45 <fizzie> elliott: I do like how mooz's "standard" way of decoding ROT13 is to run it through a Befunge program. That's dedication.
07:30:59 <ais523> they're deprecating it in one of the worst ways possible (in particular, generating no deprecation warnings)
07:31:04 <elliott> fizzie: that mooz guy sounds totally cool, he should drop his life and come have fun with us :(
07:31:18 <ais523> I use a firefox extension to derot13 stuff
07:31:19 <elliott> ais523: this is PHP, if they do anything like that they'll get murdered by the users
07:31:35 <elliott> ais523: I'm sure register_globals' deprecation was met with insane fury and footstomping
07:31:43 <ais523> but the thing doesn't even support parametrized queries!
07:31:49 <elliott> can you BELIEVE magic quotes??
07:31:50 <ais523> wait, what did magic quotes do?
07:31:59 <ais523> I know what register_globals did, and why it's an insanely bad idea
07:32:00 <elliott> ais523: automatically escaped every quote/backslash in query/form parameters
07:32:03 <elliott> so that you would avoid SQL injections
07:32:16 <Sgeo_> That's... not the right way to avoid SQL injections
07:32:20 <ais523> the worst thing is, in some cases that might actually work
07:32:21 <elliott> ais523: so you had to strip the slashes to output them
07:32:22 <ais523> which just makes it worse
07:32:43 <Sgeo_> How does anyone not know the right way to avoid SQL injections?
07:32:53 <ais523> it's like undefined behaviour, defined as "does more or less what you want except when you demonstrate it to a customer"
07:32:55 <Sgeo_> If they've HEARD of it, I mean, how do they not know
07:33:11 <elliott> Sgeo_: well, we are talking 1997/1998
07:33:24 <elliott> they probably didn't hear of it, someone probably just complained that their site got hacked
07:33:31 <elliott> and they looked at the ogs
07:33:34 <elliott> "aha, we need to escape this"
07:33:41 <elliott> "it would be convenient if you didn't have to"
07:33:45 <elliott> "so that you couldn't make mistakes like this"
07:34:07 <elliott> Sgeo_: when magic quotes was introduced,
07:34:20 <elliott> PHP still did loops by fseek()ing back to the start of the loop upon reaching its end
07:34:21 <ais523> elliott: I have a better idea for something that has PHP levels of awful and yet is not as bad as magic quotes
07:34:23 <elliott> and continuing execution from there
07:34:38 <Sgeo_> Are the mailing lists archived somewhere?
07:34:46 <Sgeo_> To actually see the thought processes
07:34:47 <ais523> you change the string concatenate operator to escape things it concatenates other than string literals
07:34:49 <Sgeo_> Instead of speculating
07:34:59 <ais523> elliott: and wow, that is a pretty ridiculous way to do loops
07:35:21 <elliott> ais523: If you have a SQL query tree, then it makes sense for a string node to be escaped in conversion to raw textual SQL
07:35:29 <elliott> That doesn't involve a concatenation operator, though
07:35:30 <monqy> elliott: why would anyone ever do loops like that
07:35:34 <Sgeo_> fseek()? That sounds like opening the file and I guess, in this context, executing part of it?
07:35:34 <elliott> But if you used string interpolation, it'd look about the same
07:35:44 <elliott> monqy: Never reading the dragon book?
07:35:47 <monqy> it amazes me how php manages to exist
07:35:58 <fizzie> Oh ghod, magic quotes. There were even separate settings for magic_quotes_gpc (for GET/POST/COOKIE fields) and magic_cookies_runtime (for database/fread/most-but-not-all-external-sources data), and you could never know which values will and will not have magically escaped quotes.
07:36:01 <elliott> ais523: actually, concatenation is really weird if you're thinking of an ast
07:36:13 <Sgeo_> fseek() + an eval, I guess?
07:36:17 <elliott> ais523: (select foo from) has to be a "partial query"... basically, wherever the parser ends up, you ... oh it's a zipper
07:36:22 <ais523> elliott: this is PHP, I'm just thinking of "whatever's hackiest to implement"
07:36:26 <Sgeo_> although wouldn't that hit stack overflow?
07:36:26 <elliott> you navigate down the parsetree with a zipper as you construct it
07:36:28 <fizzie> Current PHP docs: "There is no reason to use magic quotes because they are no longer a supported part of PHP. However, they did exist and did help a few beginners blissfully and unknowingly write better (more secure) code. But, when dealing with code that relies upon this behavior it's better to update the code instead of turning magic quotes on. So why did this feature exist? Simple, to help prevent SQL Injection. Today developers are better aware of security
07:36:28 <fizzie> and end up using database specific escaping mechanisms and/or prepared statements instead of relying upon features like magical quotes."
07:36:30 <elliott> and then when you reach the end )
07:36:37 <fizzie> See, "it made sense back then", they say.
07:36:45 <elliott> just replaces the hole in a
07:36:50 <ais523> elliott: reminds me a bit of the metasyntactic variable - in maths
07:36:59 <elliott> (if a is a holy-parse-tree)
07:37:12 <elliott> (select a from) + (foo.) + bar --> select a from foo.bar
07:37:20 <ais523> which is used to construct, basically, parse trees with holes in
07:37:32 <elliott> ais523: well, it's more like mixfix, but yes
07:37:45 <elliott> that is, it's more like defining arbitrary operators i.e. mixfix, than a parse tree
07:37:51 <elliott> because mathematics doesn't really /have/ parse trees
07:37:59 <elliott> well, not ones that even vaguely match up to the syntactic form
07:39:06 <elliott> ais523: oh man these holy parse trees are cool
07:39:22 <ais523> or is the typo deliberate?
07:39:40 <elliott> wonder what ((select a from) + (where b=9)) results in
07:39:52 <elliott> oh, clearly you just need a subtree-insert operation
07:39:56 <elliott> like inserting in a string
07:40:00 <Vorpal> <ais523> so you have to do silly things normally used only by Vorpal, and weird unusual libraries, or else confusing code that doesn't really mean what it looks like it means, to get your memory access patterns to what you want <--- XD
07:40:15 <Vorpal> "silly things normally"
07:40:27 <elliott> insert(1, sometable, (select a from) + (where b=9)) --> select a from sometable where b=9
07:40:35 <ais523> oh good, I don't actually have to implement posix_memadvise or whatever it's called
07:40:55 <Vorpal> ais523, posix_madvise iird
07:41:09 <ais523> elliott: err, secret project
07:41:22 <Vorpal> ais523, not very secret if you blab about it
07:41:24 <ais523> that explains anything I do that results in obscure questions about Linux internals
07:41:40 <elliott> ais523: STUPID PUBLIC LOGBOTS
07:41:43 <ais523> also, writing fakeinit
07:41:49 <Vorpal> ais523, when will it stop being secret
07:41:58 <ais523> Vorpal: when, if ever, it's finished
07:42:11 <elliott> ais523: good thing Feather wasn't under that, then
07:42:13 <elliott> or we'd never hear about it
07:42:20 <ais523> it's probably not that interesting to this community anyway, other than in being generally insane and programming-related
07:42:40 <elliott> ais523: so you mean, it is interesting to this community?
07:42:44 <Vorpal> ais523, why is it secret
07:43:01 <ais523> Vorpal: err, convoluted reasons
07:43:08 <elliott> ais523: s/convoluted/secret/
07:43:26 <ais523> that are really minor, in that the reasons don't really justify the effort I have to go to to stop anyone figuring out exactly what I'm doing
07:44:25 <ais523> I'd be a lot more cautious if it were an NDA
07:44:40 <ais523> what I care about is that people don't figure out exactly what I'm doing, or at least why
07:45:01 <ais523> figuring out approximately what is fine
07:45:05 <ais523> because it makes no sense out of context
07:45:12 <Vorpal> ais523, anyway the fact that you even consider "implementing" posix_madvise indicates it is a libc, OS or similar.
07:45:24 <elliott> ais523 is actually implementing Microcosm
07:45:37 <Vorpal> elliott, that could be it yes.
07:45:40 <elliott> ais523: wait, it's secret but not for official reasons?
07:45:48 <elliott> you don't love us :'''''''''''(
07:45:49 <ais523> I may ask someone to explain user-mode Linux to me at some point, but I don't think it does what I want
07:45:58 <ais523> elliott: it's secret for really inane and pointless reasons
07:46:04 <ais523> which makes me want to keep it secret all the more
07:46:17 <elliott> ais523: lamest???? signs point to YES
07:46:40 <ais523> it isn't an OS, at least
07:46:44 <ais523> it has some similarities
07:47:08 <fizzie> UML is very obvious from the name; it just runs an instance of the kernel as a user-mode task, without most of the drivers since they're not necessary, and some plumbing back to the host.
07:47:47 <ais523> hmm, I could even tell people its name and they wouldn't know what it did, but that's because it's not a very descriptive name
07:47:50 <fizzie> Sounds like some sort of A New Kind Of OS.
07:48:07 <ais523> but I'm not going to, because I suck at maintaining deceptions
07:48:14 <elliott> ais523: we will wear you down eventually
07:48:26 <ais523> bleh, why is everyone so excited?
07:48:27 <Vorpal> I'll leave that to elliott yes
07:48:39 <Vorpal> ais523, because it sounds interesting
07:49:06 <Vorpal> ais523, is this the always PID 2-project?
07:49:13 <elliott> which is apparently part of it
07:49:20 <elliott> ais523: oh come on, with your track record, we're interested in everything you do by definition
07:49:28 <ais523> it turns out that init doesn't actually do very much
07:49:53 <cheater_> hint: http://io.smashthestack.org:84/intro/
07:51:04 <elliott> nooooooooooooooooooooooooo
07:51:25 <cheater_> i really like the graphical demo
07:51:57 <cheater_> i wonder if they could use the existing partition table as a possible source of data for autogenerating more interesting graphical presentations
07:53:51 -!- monqy has quit (Quit: hello).
08:03:17 -!- elliott has quit (Read error: Connection reset by peer).
08:03:21 -!- elliott__ has joined.
08:04:07 <elliott__> ais523: what does it say about me that the first thing I thought in this recent patch of Java coding when I found that the Bukkit API forces you to use instanceof was "but that breaks parametricity!"?
08:04:34 <ais523> elliott__: that you're still thinking in terms of actual OO as compared to practical real world Java OO
08:04:43 <elliott__> ais523: umm, parametricity is a functional thing
08:04:58 <elliott__> in fact, it breaks down slightly with _|_, IIRC
08:05:01 <ais523> umm, there's an OO equivalent that's basically the same thing
08:05:06 <ais523> substitutability, or something
08:05:11 <ais523> just with different names
08:05:14 <ais523> instanceof is bad, anyway
08:05:30 <elliott__> that's not what parametricity is, really
08:05:35 <ais523> the only time I've used instanceof is to work around a really badly designed API
08:05:45 <elliott__> ais523: with Bukkit, it seems reasonable enough
08:06:01 <elliott__> ais523: e.g. in the body of a /command, you have a CommandSender
08:06:12 <elliott__> ais523: which could be the server console, a player, or <something else entirely that nobody's anticipated>
08:06:17 <elliott__> (you can execute commands in code)
08:06:23 <elliott__> ais523: so if you want to do something player-specific...
08:06:42 <ais523> those should be subclasses of CommandSender, surely?
08:06:47 <elliott__> probably there could be a nicer way of doing it, but I can't think of a similarly extensible one off the top of my head
08:06:51 <ais523> CommandSentByPlayer, etc
08:06:58 <elliott__> ais523: um, there is no such Command object
08:07:00 <ais523> although Java's lack of multiple inheritance stops that working properly
08:07:07 <ais523> well, what represents the /command itself?
08:07:18 <ais523> well, have different listeners, then
08:07:32 <elliott__> http://jd.bukkit.org/apidocs/org/bukkit/command/Command.html
08:07:36 <elliott__> http://jd.bukkit.org/apidocs/org/bukkit/command/CommandSender.html
08:09:29 <elliott__> "DefaultCommands is the only plugin you need for your server! It has everything!"
08:12:40 <elliott__> has anyone implemented nullity for a popular programming language?
08:15:36 <elliott__> http://www.bookofparagon.com/Mathematics/PerspexMachineIX.pdf good paper
08:16:34 <elliott__> "Imagine you're landing on an aeroplane and the automatic pilot's working," he suggests. "If it divides by zero and the computer stops working - you're in big trouble. If your heart pacemaker divides by zero, you're dead."
08:16:51 <Sgeo_> According to wiki, whether it equals itself is the only significant difference
08:18:00 <elliott__> stop abbreviating wikipedia as wiki
08:18:29 <Sgeo_> Am I allowed to abbreviate c2 wiki as wiki
08:19:02 -!- Taneb has joined.
08:20:29 <Taneb> Right, I'm on Windows 7 now, I may be able to get Haskell working
08:20:55 <Taneb> Downloading the platform installer...
08:22:39 <fizzie> Maybe you should provide us a progress bar too.
08:22:49 <ais523> hmm, TV Tropes queue emptied
08:23:00 <ais523> that was surprising, to say the least, I expected it to last longer
08:23:16 <Taneb> I'm getting good at escaping TVTropes
08:23:17 <olsner> wat, you ran out of tv tropes?
08:23:25 <elliott__> fizzie: tell ais523 about your system
08:23:28 <ais523> olsner: well, i don't follow every link
08:23:35 <elliott__> ais523: I managed to escape TV Tropes perfectly
08:23:43 <Taneb> I also need to remember to use full stops.
08:23:44 <ais523> in fact, I tend to follow less than 1 link on average from each page
08:23:50 <ais523> elliott__: don't tell me you memorized the whole thing?
08:24:06 <Taneb> They're like the semicolons of written language
08:24:27 <elliott__> ais523: nope, i started finding people casually dropping trope terminology as a substitute for actually knowing anything about fiction sufficiently annoying that every time I read a page it's insanely obnoxious
08:24:34 <elliott__> I've developed a natural resistance
08:25:30 <fizzie> My system consists of a .txt file of tvtropes URLs; there's about 60 or so in there. I pick from there at random, and then add any interesting-sounding non-duplicate links at the end of the file.
08:25:54 <elliott__> fizzie: make it an sql database; then you don't have to worry about duplicates
08:25:56 <ais523> fizzie: that's not too dissimilar from mine, except that I do more than one at a time
08:26:03 <ais523> and queue rather than picking at random
08:26:13 <Taneb> My escape system is, think of something else, close the browser in one go, realise I'm not in TVTropes anymore, celebrate.
08:27:00 <elliott__> ais523: here's an idea: a script that detects if you ever click a link you've clicked before this session; if you do, it closes the tab you clicked it on
08:27:17 <elliott__> eventually, you'll get sufficiently paranoid of clicking links that you'll give up
08:27:18 <ais523> elliott__: why would that help?
08:27:25 <elliott__> or, I suppose, run out of links that don't self-destruct
08:27:33 <ais523> I click duplicates sometimes, but they don't take much effort to close
08:27:43 <elliott__> ais523: well, it's just a "this has gone on way too long" signal :D
08:27:56 <elliott__> and since it closes duplicates, there's no way to get back a page it takes away from you
08:27:58 <Taneb> I always seem to end up at the page for Futurama
08:28:31 <ais523> well, it happened to me recently, which makes sense as I stay within related groups of pages
08:28:50 <ais523> do people normally browse it aimlessly?
08:28:56 <ais523> normally I go there to look up something in particular
08:29:13 <elliott__> ais523: people end up on it and then can't get out because every link looks interesting
08:29:48 <ais523> well, the links that look interesting to me tend to form a finite subset, and be only a couple on each page
08:30:04 <ais523> and eventually they end up forming a walled garden, when I disregard links I don't care about
08:30:11 <ais523> it also helps that I have some of the more common targets memorized
08:30:21 <ais523> in fact, it's reaching the point that I can often guess what's behind a piped link too
08:33:14 <elliott__> hmm, is wtf-is-latin's-code:generis etymologically related to en:generic at all?
08:34:20 <Taneb> Hang on, I can find out
08:34:50 <fizzie> generic: "Etymology: Either < post-classical Latin genericus (a1315; also 1644 in Descartes), or directly < classical Latin gener-, genus kind (see genus n.) + -ic suffix."
08:37:36 <Taneb> Variables in Haskell do not vary?
08:37:47 <Taneb> Then why the hell are they called variables?
08:38:15 <elliott__> Taneb: But really, they vary as much as variables do in mathematics
08:38:34 <elliott__> I wouldn't actually call f a variable...
08:38:41 <elliott__> But it is one, technically, I'd say
08:39:03 <Taneb> No, just Wikibooks
08:39:17 <elliott__> It's not a very good tutorial at all IMO
08:39:40 <elliott__> http://learnyouahaskell.com/ is the best tutorial but if you really can't stand cartoon animals then I guess Real World Haskell might suffice
08:41:03 <elliott__> Taneb: Or, well, read what you want but if you suffer eternally then I warned you :-P
08:42:05 <Taneb> Thanks for the pointers
08:44:22 <elliott__> Taneb: Real World Haskell is also good to read after LYAH; it's good on the overall "how to structure and write a Haskell program" which isn't easy to see coming from imperative languages, but less so on the details of the actual language which LYAH covers bettwe
09:06:38 -!- Taneb_ has joined.
09:08:19 -!- Taneb has quit (Ping timeout: 252 seconds).
09:11:35 -!- Taneb_ has changed nick to Taneb.
09:15:57 -!- ais523 has quit (Remote host closed the connection).
09:20:30 <Taneb> Haskell's pretty neat
09:22:17 <Taneb> The elegance of that is outstanding
09:28:56 <fizzie> 2 4 8 16 32 64 128 256 512
09:29:29 <elliott__> fizzie: How does MATLAB print arrays longer than the screen?
09:29:48 <fizzie> It continues on the second line with "Column 10".
09:29:51 <fizzie> Didn't bother pasting.
09:30:13 <fizzie> The output formatting is not very pretty in general, though.
09:31:20 <fizzie> (There's a spreadsheet-like matrix viewer in the GUI side.)
09:39:05 -!- Phantom_Hoover has joined.
09:41:36 <elliott__> hmm, is it usual to nest packages in Java to provide a hierarchy?
09:41:41 <elliott__> rather than prefixing a bunch of class names
09:41:51 <elliott__> I guess not, since you can't import them qualified like that
09:44:03 <fizzie> The larger collections in the standard runtime do have some hierarchical packagemancy going on. E.g. java.awt has java.awt.font, java.awt.color, java.awt.image and so on for not-used-all-the-time specializations.
09:45:45 <elliott__> It's net.[secret].[secret].MiscellaneousCommands vs. net.[secret].[secret].commands.Miscellaneous.
09:56:00 -!- Taneb has quit (Quit: Page closed).
10:19:35 -!- FireFly has joined.
10:19:39 -!- FireFly has quit (Changing host).
10:19:40 -!- FireFly has joined.
10:23:22 -!- oklofok has quit (Read error: Connection reset by peer).
10:23:31 -!- oklopol has joined.
10:36:56 <Lymee> >> take 5 $ fix (+1) 0
10:37:02 <Lymee> > take 5 $ fix (+1) 0
10:37:03 <lambdabot> arising from a use of `e_1510' at <int...
10:37:23 <Lymee> Fix is for infinite loops, right?
10:38:45 <elliott__> that doesn't imply infinite loops by any stretch
10:39:22 <elliott__> > let fact me 0 = 1; fact me n = n * me (n-1) in fix fact 9
10:39:25 <elliott__> Lymee: note how fact doesn't refer to itself
10:40:32 <elliott__> in fact that's the implementation, almost
10:40:40 <elliott__> (it's actually "fix f = let x = f x in x" for sharing)
10:41:10 <lambdabot> Overlapping instances for GHC.Show.Show (a -> b)
10:41:36 * Lymee is quite sure she has at least one type wrong.
10:41:48 <elliott__> Lymee: are you trying to get just _|_>
10:41:56 <Lymee> elliott__, I'm being silly.
10:42:08 <elliott__> Lymee: i was asking how exactly you're trying to be silly
10:42:19 <Lymee> Create ways to crash things.
10:43:29 <Lymee> > error "Not even this way?"
10:43:43 <Lymee> (heh obviously not)
10:43:46 <Lymee> (that would be horrible otherwise)
12:00:19 -!- Taneb has joined.
12:14:05 -!- boily has joined.
12:25:13 <Gregor> My advisor was in Paris on Thursday, Indiana this weekend, and is now in Seattle.
12:25:20 <Gregor> To quote: "My body clock is ... missing"
12:27:54 -!- asiekierka has joined.
12:28:11 <lambdabot> Phantom_Hoover: You have 5 new messages. '/msg lambdabot @messages' to read them.
12:28:36 <elliott__> Do you want me to leave a message when I leave messages?
12:28:51 <elliott__> I don't remember leaving any, those must be from at least yesterday.
12:29:51 <Taneb> Just pretend you're in California
12:43:07 <elliott__> Taneb: I was about to say "oh, what a coincidence; it's raining here too" but then I... yeah.
12:43:47 <Taneb> I'm still outstanded by that coincidence
12:43:55 <Taneb> Whereabouts in Hexham do you live?
12:44:25 <Taneb> Give me an East or a West
12:45:56 <HackEgo> 498) <fizzie> elliott: You have become the very thing you fought for!
12:48:51 -!- asiekierka has quit (Quit: Page closed).
12:58:26 <elliott__> Phantom_Hoover: Does it have to be a modem too?
12:58:41 <elliott__> Phantom_Hoover: So you have a separate ADSL modem?
12:58:59 <elliott__> Phantom_Hoover: http://www.linksysbycisco.com/UK/en/products/WAP54G
12:59:05 <elliott__> For extra niceness run OpenWrt on it.
12:59:25 <elliott__> (I technically haven't used that Linksys router, but I own one and let's face it, I've never heard a single person do anything but recommend it.)
12:59:47 <elliott__> PC with 300MHz or Faster Processor
12:59:47 <elliott__> Internet Explorer 5.0 or Netscape Navigator 6 or higher for Web-based Coniguration
12:59:47 <elliott__> Windows 2000 or XP (to use the Setup Wizard)
13:00:30 <fizzie> Only if you want to "conigure" it.
13:01:16 <fizzie> The WAP (at least some hardware revisions of it) has significantly less flash than the WRT, so running OpenWRT on it (at least some models) is a bit painful.
13:01:17 <elliott__> Phantom_Hoover: why'd you want to know a good router anyway.
13:01:34 <elliott__> fizzie: Oh well, nothing really wrong with the Linksys firmware is there?
13:01:45 <elliott__> I mean, unless you REALLY want to run a web server off your router.
13:01:50 <fizzie> Not really, unless you want to do Fancy Tricks.
13:02:06 <elliott__> Is there a better wireless router by Linksys?
13:02:08 <Phantom_Hoover> elliott__, because the current one sucks to the extent that I have been using the neighbours' network exclusively for a month.
13:02:14 <elliott__> Oh, http://www.linksysbycisco.com/UK/en/products/WAP54G
13:02:35 <elliott__> fizzie: Does the WAP even have Ethernet ports?
13:02:57 <fizzie> That's pretty much the main difference between the WRT and the WAP.
13:03:01 <elliott__> Phantom_Hoover: Yeah OK get the WRT54GL or WAP54G if you can't.
13:03:10 <elliott__> fizzie: Their site is badly organised :-P
13:03:16 <elliott__> The routers section looked wired-only to me
13:03:35 <elliott__> Phantom_Hoover: It's... what does that even mean?
13:03:41 <fizzie> I haven't been following Linksys hardware in the recent years, so I don't know what are their current models.
13:03:47 <elliott__> fizzie: they're all black and shiny and round.
13:04:01 <Phantom_Hoover> elliott__, well, I'm on the opposite side of the house to where the modem is.
13:04:01 <elliott__> Phantom_Hoover: I mean it has DUAL ANTENNAE.
13:04:26 <elliott__> Phantom_Hoover: I doubt you'll find anything with an especially better signal strength without, I dunno, buying some kind of super-expensive corporate Cisco router.
13:04:29 <fizzie> You might need a newer thing if you want 802.11n, though. Unless they have modernized versions of the 54G series.
13:04:32 <elliott__> fizzie can tell me I'm full of shit if he wants.
13:04:42 <elliott__> fizzie: We don't have fast enough internet connections in the UK for n to matter :)
13:05:08 <fizzie> Well, you might want to hang some sort of NAS into a Ethernet port or something, I'unno.
13:05:20 <Phantom_Hoover> elliott__, hey, I theoretically have fibre optic broadband!
13:05:22 <elliott__> Seems there's a bunch of tangly spinoffs and the like.
13:05:32 <fizzie> The network projected by my WAP54G certainly has worked just fine through two non-load-bearing walls.
13:05:32 <elliott__> Phantom_Hoover: What speed do you get when plugged in via Ethernet?
13:05:59 <elliott__> Phantom_Hoover: That was a sincere question.
13:06:19 <elliott__> It could just be really bad WiFi that's making it slow.
13:09:24 <fizzie> WRT160NL seems to be the modernized version of WRT54G for OpenWRT purposes; at least it's on the list of supported hardware. In other ways it seems to have the standard-ish hardware configuration; one ethernet port for a modem/cable/whatever, a four-port ethernet switch for wiring things directly, and then the wireless.
13:09:53 <elliott__> Also it's like ten quid more expensive.
13:09:54 <fizzie> I don't have any personal knowledge of post-{WAP,WRT}54G* models.
13:10:04 <fizzie> It does look more evil, that's for sure.
13:10:15 <Phantom_Hoover> <elliott__> Phantom_Hoover: What speed do you get when plugged in via Ethernet?
13:10:39 <Phantom_Hoover> I cannot just plug the computer into the modem and get a connection, but I suspect this is my fault.
13:10:57 <elliott__> Does your router not have ethernet ports?
13:11:26 <Phantom_Hoover> But if I plug the ethernet cable from the modem into my computer, nothing happens.
13:11:33 -!- CakeProphet has joined.
13:11:34 -!- CakeProphet has quit (Changing host).
13:11:34 -!- CakeProphet has joined.
13:11:39 <elliott__> Stop confusing "router" and "modem", Phantom_Hoover.
13:12:11 <elliott__> Does your router not have ethernet ports?
13:12:35 <fizzie> "Router? We hardly knew her!"
13:12:46 <elliott__> Phantom_Hoover: then why are you plugging the ethernet into the modem.
13:13:06 <Phantom_Hoover> I think it was because the router wasn't there or something.
13:13:53 <fizzie> Gregor: The WRT160NL has 40 units more of... stuff. Plus an L.
13:14:10 <elliott__> `addquote <Gregor> I have a WRT120N <fizzie> Gregor: The WRT160NL has 40 units more of... stuff. Plus an L.
13:14:11 <HackEgo> 513) <Gregor> I have a WRT120N <fizzie> Gregor: The WRT160NL has 40 units more of... stuff. Plus an L.
13:14:17 <elliott__> Phantom_Hoover: It's black and shiny.
13:14:24 <elliott__> Phantom_Hoover: Pls to be trusting my superior judg-
13:14:25 <Gregor> Phantom_Hoover: 'snot bad.
13:14:33 <Gregor> The 'L' means it supports custom firmwares by the way.
13:14:40 <Gregor> Supports as in actively supports.
13:14:43 <elliott__> Phantom_Hoover: http://www.ebuyer.com/product/191548?utm_source=google&utm_medium=products
13:14:46 <Gregor> (Not hacktively supports)
13:15:05 <elliott__> fizzie: It also has over twenty more pounds :-P
13:15:26 <Gregor> Mind you, the 120N can't run OpenWRT.
13:16:27 <elliott__> Phantom_Hoover: ONLY TWENTY-THREE QUID THAT'S A BLOODY BARGAIN
13:16:39 <Gregor> The native firmware is not bad at all, actually.
13:16:53 <elliott__> Phantom_Hoover: WITH CHEAPEST POSTAGE IT'S £27.16
13:16:54 <Gregor> I remember using a ... WRT-wtf-some-old-shit and thinking "this firmware SUCKS I need DD-WRT"
13:16:59 <Gregor> But the modern firmware is much better.
13:17:12 <elliott__> Gregor: Any Linksys firmware would be godly coming from the ISP-supplied crap I'm using.
13:17:30 <elliott__> dd-wrt always sets off my... marketing alarms.
13:17:44 <elliott__> Who are these people and why are they spending more time making a sleek website than coding.
13:17:54 <elliott__> Phantom_Hoover: EXCUSE ME I JUST ADDED IT AND WORKED OUT THE CHEAPEST POSTAGE
13:18:12 <Gregor> Y'know, there are these things called "stores"
13:18:16 <Gregor> You can go to them to buy things.
13:18:22 <Gregor> And then you have them immediately, no waiting for post.
13:18:37 <elliott__> Gregor: Considering how much more expensive most of the sellers of those routers are...
13:18:51 <elliott__> Gregor: I'm gonna say that buying it from the cheap, reputable online store is a better idea.
13:19:01 <elliott__> Phantom_Hoover: I DON'T BUT THE POSTAGE DIDN'T ASK FOR AN ADDRESS
13:19:06 <CakeProphet> > makeHash alphabet = fromList . zip $ (`replicateM` alphabet) =<< [0..] $ [0..]
13:19:07 <lambdabot> <no location info>: parse error on input `='
13:19:13 <CakeProphet> > makeHash alphabet = fromList . zip $ (`replicateM` alphabet) =<< [0..] $ [0..] in makeHash "abc"
13:19:14 <lambdabot> <no location info>: parse error on input `='
13:19:21 <CakeProphet> > let makeHash alphabet = fromList . zip $ (`replicateM` alphabet) =<< [0..] $ [0..] in makeHash "abc"
13:19:22 <lambdabot> Couldn't match expected type `[(a, GHC.Real.Rational)]'
13:19:42 <Gregor> I bought my WRT120N for $40 last week. That's about 25
13:19:55 <elliott__> Gregor: Congratulations, you're in America where electronics are generally cheaper.
13:20:02 <elliott__> Next on a series of really obvious things...
13:20:29 <Gregor> Looks like you fail at being AMERICAN
13:20:34 <Gregor> lul look at their accent
13:20:43 <Gregor> THEY DON'T PRONOUNCE THEIR 'R'S
13:21:17 <Taneb> Actually, that Brits don't pronounce our "R"'s is slightly unaccurate
13:21:26 <Taneb> We pronounce them when they begin a syllable
13:21:38 <CakeProphet> > let makeHash alphabet = M.fromList . zip $ (`replicateM` alphabet) =<< [0..] $ [0..] in makeHash "abc"
13:21:39 <lambdabot> Couldn't match expected type `[(k, a)]'
13:21:49 <fizzie> I like how the local retailer sells this "cheap networking products" brand called "Netwjork". It sounds so incredibly reliable.
13:21:52 <Gregor> Taneb: Also there are more accents in the British isles than in North America :P
13:21:55 <lambdabot> forall a b. [a] -> [b] -> [(a, b)]
13:22:08 <Phantom_Hoover> Most English accents drop rs after vowels to a greater or lesser extent, yes.
13:22:44 <fizzie> The Netwjork WLAN router is 19.90 eur, so £17/$28.
13:22:44 <Phantom_Hoover> Scottish and Irish ones don't, with a very few exceptions.
13:23:06 <tswett> How about Viking accents?
13:23:09 * CakeProphet actually doesn't have much of an accent. He masks it pretty well usually.
13:23:23 <Gregor> Dood. General American accent can kick all your butts.
13:23:32 <CakeProphet> it's covert enough that other southern people do not hear my accent, but people from other regions will still notice it a little bit.
13:23:35 <Gregor> I can make people's ears bleed by talking to them.
13:24:06 <tswett> The General Americam accent is stupid. Now, a Midwest accent: that's a good accent.
13:24:08 <CakeProphet> also why the fuck is this code not working.
13:24:26 <Gregor> tswett: The Midwest accent is the prototype of the GA accent :P
13:24:39 <elliott__> Phantom_Hoover: ARE YOU GOING TO BUY IT
13:24:41 <Gregor> Unfortunately, my western US accent is shifting into a midwest accent :(
13:24:41 <tswett> Gregor: does GA have Canadian raising?
13:24:52 <Gregor> tswett: No. Neither does the vast majority of the midwest.
13:24:57 <elliott__> Phantom_Hoover: I agree tswett's native country's accent is sweet.
13:25:20 <tswett> Okay, a Hancock accent. :P
13:25:29 <CakeProphet> > let makeHash alphabet = M.fromList . zip ((`replicateM` alphabet) =<< [0..]) $ [0..] in makeHash "abc"
13:25:49 <CakeProphet> my incredibly efficient hash function does not construct very quickly or something.
13:27:47 <Phantom_Hoover> elliott__, also cheapest shipping on that router is useless.
13:27:54 <lambdabot> forall a b. (Eq a) => a -> [(a, b)] -> Maybe b
13:27:58 <elliott__> Phantom_Hoover: You're gone for a week anyway.
13:28:01 <tswett> Hancock is the United States' Finnish outpost. It has a teleporter that takes you to Porvoo, Finland.
13:28:12 <Phantom_Hoover> elliott__, yes, so I don't exactly want it arriving to an empty house.
13:28:23 <CakeProphet> elliott__: not quite as efficient as the non-existence infinite Map.
13:28:26 <elliott__> Phantom_Hoover: Yes they will abandon it at the door so that ten people can steal it.
13:28:29 <CakeProphet> you know, the one that has to rebalance itself all of the time.
13:28:56 <elliott__> CakeProphet: would be kinda cool if it like constructed the tree on lookup, then like
13:29:02 <tswett> (Obviously, Porvoo has a teleporter that takes you back to Hancock.)
13:29:36 <elliott__> CakeProphet: it makes no sense, so no.
13:29:56 <CakeProphet> it sounded pretty strange, but I wasn't sure...
13:30:35 <CakeProphet> this coming from someone who is trying to implement a hash function as a Map.
13:31:05 <fizzie> Why Porvoo in particular?
13:32:00 <CakeProphet> really I'm just trying to find as many uses as possible for the set-of-all-strings-in-an-alphabet thing.
13:32:08 <Zwaarddijk> because the bishop of the porvoo diocese is pretty important in this conspiracy
13:32:14 <CakeProphet> hash function is probably not one of them, I guess.
13:33:25 <tswett> fizzie: I don't know; it wasn't my decision.
13:39:52 <tswett> But I can assure you the teleporter definitely takes you to Porvoo.
13:53:42 <CakeProphet> if we had a concrete metric for expressiveness
13:56:59 <CakeProphet> but I guess expressiveness has a lot to do with your available library.
13:57:57 <CakeProphet> its generality or the conrete problems it solves.
13:59:31 <CakeProphet> I can generate a powerset in Haskell as well as list all finite strings in an alphabet with two functions.
14:10:44 -!- derrik has joined.
14:12:57 -!- BeholdMyGlory has joined.
14:18:56 -!- derrik has left.
14:21:57 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
14:47:50 -!- copumpkin has joined.
14:47:51 -!- copumpkin has quit (Changing host).
14:47:51 -!- copumpkin has joined.
15:03:10 -!- augur has quit (Remote host closed the connection).
15:12:13 -!- asiekierka has joined.
15:23:17 -!- Sgeo_ has quit (Read error: Connection reset by peer).
15:23:50 -!- Sgeo_ has joined.
15:31:33 -!- augur has joined.
15:39:30 -!- monqy has joined.
16:08:59 -!- MigoMipo has joined.
16:11:33 -!- copumpkin has quit (Ping timeout: 264 seconds).
16:11:58 -!- copumpkin has joined.
16:11:59 -!- copumpkin has quit (Changing host).
16:11:59 -!- copumpkin has joined.
16:17:41 -!- Taneb has quit (Ping timeout: 252 seconds).
16:27:26 -!- Taneb has joined.
16:52:31 -!- Taneb has quit (Ping timeout: 252 seconds).
17:03:54 -!- augur has quit.
17:04:32 -!- augur has joined.
17:04:44 -!- copumpkin has changed nick to anafunctor.
17:10:56 -!- zzo38 has joined.
17:11:02 -!- augur has quit (Remote host closed the connection).
17:11:30 -!- anafunctor has changed nick to copumpkin.
17:24:07 -!- Taneb has joined.
17:26:19 -!- pikhq has quit (Ping timeout: 246 seconds).
17:32:15 -!- azaq23 has joined.
17:44:00 -!- Taneb has quit (Quit: Page closed).
17:49:45 -!- asiekierka has quit (Quit: Page closed).
17:51:49 -!- augur has joined.
18:03:27 <zzo38> Do they exist Knuth-style literate Haskell?
18:10:02 <lifthrasiir> Automatically guessed a kind "spoon" for the extension ".sp".
18:10:03 <lifthrasiir> Found a path with 4 processors (weight=25): stream --(10)--> spoon --(5)--> brainfuck --(9)--> interp-textio --(1)--> interp
18:10:32 <lifthrasiir> now i have to determine whether .bf belongs to Brainfuck or to Befunge...
18:11:49 <zzo38> You can use .b for Brainfuck so that .bf can be used for Befunge, it is what sometimes is used convention.
18:11:53 -!- Taneb has joined.
18:12:17 <lifthrasiir> i've seen .bf for brainfuck in the wild, so i wasn't quite sure about it.
18:13:01 <zzo38> Yes it is sometimes used. Although I believe the recommended convention is .b for brainfuck (which is also commonly used).
18:15:10 <Taneb> Here's an idea for an esolang name: lingua abstrusa
18:16:35 <lifthrasiir> and due to the obvious reason its preferred file extension would be a period followed by Unicode code point U+3164.
18:16:52 <Taneb> It would be declarative, if I understand declerative right.
18:16:53 <quintopia> language names aren't as interesting as language ideas
18:17:38 <Taneb> Claudius patros Augusti est is equivalent to Augustus cliens Claudii est
18:18:14 <Taneb> People (the only data type) can have many clients but only one patron
18:19:32 <Taneb> Each person has an occupation, e.g. agricola
18:19:53 <Taneb> Occupation is defined such as Claudius aricola est
18:20:05 <Taneb> People are second declension
18:20:10 <Taneb> Occupations are first
18:20:20 <Taneb> Operations are based on occupation
18:22:05 <Taneb> Occupations can also be third declension
18:25:00 <Taneb> agricolae res mercatori dare potest
18:25:29 <Taneb> mercatori res omnes dare potest
18:27:06 <Taneb> agricolae cibum facit
18:28:15 <Taneb> artifices artes facit
18:29:23 <Taneb> saceradotes I/O sunt
18:29:34 <Taneb> How does this look so far?
18:37:42 <Taneb> It needs more syntax
18:38:50 <Taneb> Making a page on the wiki for it under my username
18:51:39 <Phantom_Hoover> Also consider that esolangs built around syntax tend to suck.
18:58:44 <Taneb> Going to watch University Challenge now, bye
18:58:47 <quintopia> if the point is to have unusual syntax...
18:59:41 <fizzie> Sometimes .bef is used for Befunge, since it's more unambiguous.
18:59:49 <fizzie> And of course .b93/.b98.
19:01:04 * Gregor invents a trivial alteration of Brainfuck called BeFuck. The only differences between BF and BeF are 1) that < and > are swapped for { and }, and 2) the file extension is .bef
19:01:31 -!- pikhq has joined.
19:03:07 <Gregor> With a name like BeFuck, the only difference SHOULD be a terrible C++ API and fanatic devoted followers.
19:06:52 -!- hiato has joined.
19:06:53 -!- hiato has quit (Client Quit).
19:30:33 <Taneb> Clare college Cambridge won
19:30:50 <Taneb> Beat Winchester college Oxford 190-180
19:32:45 <pikhq> *Ugh*. So, I found out that my drive needs 4k alignment, but doesn't report that.
19:33:05 <pikhq> And it's a *royal* pain to change the start of an LVM PV.
19:33:20 -!- oerjan has joined.
19:33:35 <pikhq> Like, "I'm probably going to have to start shuffling shit."
19:33:57 <oerjan> shuffling shit is not very fun, i think
19:34:24 <Taneb> That was one of the Twelve Tasks of Herakles
19:34:42 <pikhq> oerjan: Shuffling my partitions so that I can have them start on 4k boundaries.
19:34:42 <oerjan> hm indeed. so the moral is, use lots of water.
19:35:13 <pikhq> Which, for drives with 4k physical blocks, can double or triple IO performance.
19:35:49 <pikhq> And for utterly *retarded* reasons, most drives report that they have 512 byte blocks.
19:36:05 <pikhq> (yes, there is a scheme for reporting the drive's physical layout, but drives lie.)
19:36:31 <olsner> of course they lie, if they told the truth the operating systems would just be so terribly confused by all the information
19:36:40 <pikhq> *And* sometimes the layout is offset. There is also a means of reporting *this*, but the drives lie about it too.
19:37:53 * oerjan skips most of the logs today.
19:38:35 <oerjan> <zzo38> Do they exist Knuth-style literate Haskell?
19:38:59 <oerjan> what do you mean by knuth-style? \begin{code}...\end{code} is one of the supported styles, anyhow
19:39:08 <pikhq> ... I think my drive is 512 *bytes* off, too. :/
19:39:21 -!- ais523 has joined.
19:39:25 <oerjan> (the other being "> " bird marks)
19:40:01 <olsner> pikhq: so the first block is just 1/8th block? and then the rest of the disk is filled with n+7/8 blocks?
19:40:16 <zzo38> By "Knuth-style" I mean things such as: Table of contents, index, named chunks (which can be included in others), pretty printing, print out (rather than HTML), etc. Partially also the input format, but mostly I refer to the output presentation and how they work in general.
19:40:38 <pikhq> olsner: It's a workaround so that a partition spanning the entire disk will pretty much work.
19:40:57 <pikhq> Guess what isn't the norm in Linux-land?
19:41:09 <olsner> so the 512 bytes is for an MBR, basically?
19:41:12 <oerjan> zzo38: oh. i don't know. maybe some of that if you also use haddock. istr it does not support reordering things though (and haskell doesn't really need that)
19:41:12 <zzo38> (Also, I happen to prefer Plain TeX + DVI rather than using LaTeX + PDF, although this is mostly a matter of preference)
19:41:28 <pikhq> Also, the traditional layout required 512 byte alignment.
19:41:33 <oerjan> (since most haskell declarations can appear in arbitrary order)
19:42:22 <zzo38> oerjan: However, note cross-references. Also named chunks might be useful in case of very complicated expressions or something like that maybe.....
19:42:26 <pikhq> So, if I could easily move my LVM partition 512 *bytes* towards the start, I'd be set up right.
19:42:41 <pikhq> Unfortunately, that is nontrivial.
19:43:00 <olsner> dd can probably do that :>
19:43:13 <oerjan> zzo38: the haddock-generated html on hackage does have many interior cross-links
19:43:49 <Gregor> Fish generate all my HTML.
19:43:53 <zzo38> Well, but that is HTML. Not printout format.
19:45:09 <oerjan> ah yes also haddock isn't tex/latex based
19:45:22 <zzo38> And then Knuth-style does prettyprinting.
19:46:03 -!- zzo38 has quit (Quit: zzo38).
19:48:08 <pikhq> I seem to get 58 MiB/s writing to my filesystem.
19:48:27 <pikhq> The *raw* performance of my drive being ~114 MiB/s.
19:57:36 * oerjan stares at Taneb. like a cow.
19:58:06 <Taneb> That's based on real events
19:58:42 <Taneb> I walked through a field with cows in it, and the cows stared at me
19:59:04 <oerjan> and then you suddenly woke up with a lot of dead cows around, i assume.
19:59:33 <Taneb> Yes. That is exactly what happened.
20:00:05 <Taneb> I'm not sure if this esolang I'm making will ever be turing-complete
20:00:34 <Taneb> Right now, it's more of a farming sim
20:01:16 <Taneb> http://esoteric.voxelperfect.net/wiki/User:Taneb/lingua_abstrusa
20:01:35 <ais523> Taneb: have you seen Lingua::Romana::Perligata?
20:01:49 <ais523> it's probably a bit different from what you're doing, but it's awesome
20:02:33 <Taneb> That's just a Perl dialect
20:02:53 <Taneb> I say just, but a lot of work probably went into it
20:04:41 * oerjan clings to the illusion that "soli" may be a legitimate variation there
20:05:35 <Taneb> Ave Damian Conway, facentes te salutant
20:05:51 <Taneb> *lingas abstrusas facentes
20:06:23 <Taneb> From facio, facere
20:06:59 <oerjan> ok even i should have known that
20:07:18 <Taneb> lingua abstrusa is as close to esoteric language as I could be bothered to work out
20:23:29 -!- pikhq has quit (Quit: Bleh).
20:24:38 <Phantom_Hoover> Taneb, you know that 'esoterica' is a Latin word, right?
20:24:50 <Taneb> I thought it was Greek
20:25:57 * oerjan madly corrects Taneb's grammar
20:26:09 -!- pikhq has joined.
20:26:24 <cheater_> why are you people talking about polish constitution
20:27:26 <oerjan> Taneb: feel free to undo if you thought that was too mad
20:27:45 <cheater_> http://en.wikipedia.org/wiki/Nihil_novi
20:28:19 <oerjan> or if, heaven forbid, i actually got something wrong
20:29:14 <cheater_> oerjan, clickady-clickadilidoo
20:30:32 <oerjan> cheater_: shut up, you mere peasant
20:31:21 <cheater_> oerjan, i come from a royal family
20:31:53 <Taneb> ...I may be part Sri Lankan
20:31:59 <oerjan> oh so you're a _royal_ pain in the ass?
20:32:16 <Taneb> I'm definitely English and Dutch decent
20:32:49 * oerjan recalls his mother's family had some dutch nobility way back
20:33:10 <Taneb> But I'm peasantry as far as tracable
20:34:09 <Taneb> I've got a friend who's grandfather was a peer
20:34:26 <Taneb> Of the house of Lords
20:34:43 <Taneb> That offers me some social standing, feudal system wise
20:34:48 <oerjan> alas, norway abolished its aristocracy in 1814
20:36:03 <cheater_> my family is older than any country i have lived in
20:36:25 <oerjan> if you say so, Mr. Noah
20:37:16 -!- tswett has quit (Changing host).
20:37:17 -!- tswett has joined.
20:37:26 <Phantom_Hoover> My family is Irish peasants as far as the eye can see.
20:38:04 <Taneb> My family has bee traced back to the 26th of December 1613
20:38:04 <oerjan> well my family is pretty much mostly norwegian fishermen afaik
20:38:39 <Phantom_Hoover> Taneb, ISTR that my family has been traced back to Rathlin, before which they were in Scotland which makes tracing it very hard.
20:40:56 <oerjan> your great great great great great great great great great great great great great great great great great great great great great grandmother was nessie
20:41:42 <Taneb> Nessie was in Loch Ness. Phantom_Hoover's family comes from the Hebrides
20:41:57 <Taneb> Or as I like to call them, the Grooms
20:42:30 <oerjan> well obviously the people from the hebrides are hybrids, duh
20:42:46 <Taneb> Island group off the West Coast of Scotland
20:43:17 <Taneb> I made it up for the sake of a joke
20:44:17 <Taneb> Disprooving the nessie claim in a kinda stupid way
20:44:25 <Taneb> When there are more sensible ways to do it
20:44:46 <Taneb> And then I pointed out the spelling of the island group looks like he-brides
20:45:38 <Taneb> Islam, like Christianity, was created by a bunch of people doing what a Jew told them to do
20:46:00 <Taneb> Somewhere in the Middle East
20:46:21 <oerjan> Taneb: i'm not sure that is much more accurate than what Phantom_Hoover quoted
20:46:42 <Taneb> Jesus and Mohammed were both Jews
20:46:47 <Taneb> In the Middle East
20:47:01 <oerjan> i cannot recall ever hearing that mohammed was a jew
20:48:54 <oerjan> iirc muhammed was from a pagan tribe
20:49:06 <Taneb> Okay, prove me wrong
20:49:30 <Taneb> Anyway, they both have Judaism as a major influence
20:52:48 <Taneb> Okay, my ancestry has been traced back to the probably 16th century
20:52:57 <oerjan> "Muhammad’s denunciation of the Meccan traditional religion was especially offensive to his own tribe, the Quraysh, as they were the guardians of the Ka'aba."
20:53:16 <Taneb> The parents of someone who got married in 1611
20:54:31 <oerjan> "About five generations before Muhammad the situation was changed by Qusai ibn Kilab. By war and diplomacy he assembled an alliance that delivered to him the keys of the Kaaba, an important pagan shrine which brought revenues to Mecca because of the multitude of pilgrims that it attracted."
20:55:15 <Taneb> Fine, fine, I'm wrong
20:56:40 * oerjan does a small victory dance
21:02:42 -!- boily has quit (Ping timeout: 260 seconds).
21:12:25 -!- Taneb has quit (Read error: Connection reset by peer).
21:39:40 -!- MigoMipo has quit (Read error: Connection reset by peer).
22:18:38 -!- myndzi has joined.
22:20:28 -!- myndzi\ has quit (Ping timeout: 276 seconds).
22:34:07 -!- augur has quit (Ping timeout: 255 seconds).
22:35:26 -!- NihilistDandy has quit (Quit: Cookin').
22:36:34 -!- Sgeo has joined.
22:37:16 <pikhq> Consider it fucked.
22:37:40 -!- Sgeo_ has quit (Ping timeout: 250 seconds).
22:53:32 -!- Vorpal has quit (Ping timeout: 260 seconds).
22:55:15 -!- augur has joined.
22:57:40 -!- Vorpal has joined.
23:15:13 -!- Phantom_Hoover has quit (Quit: Leaving).
23:29:04 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
23:37:43 -!- elliott__ has quit (*.net *.split).
23:37:43 -!- lifthrasiir has quit (*.net *.split).
23:37:43 -!- lambdabot has quit (*.net *.split).
23:43:04 -!- lifthrasiir has joined.
23:43:04 -!- lambdabot has joined.
23:43:18 -!- comex has quit (Excess Flood).
23:43:25 -!- oerjan has quit (Quit: Lost terminal).
23:43:34 -!- comex has joined.
23:44:30 -!- elliott__ has joined.
23:44:47 -!- augur has quit (Remote host closed the connection).
23:46:15 -!- oerjan has joined.
23:47:03 -!- FireFly has quit (Quit: swatted to death).
23:58:21 -!- NihilistDandy has joined.
23:59:20 -!- NihilistDandy has quit (Client Quit).
23:59:43 -!- NihilistDandy has joined.