←2011-07-11 2011-07-12 2011-07-13→ ↑2011 ↑all
00:10:30 <oklofok> wait what
00:10:32 <quintopia> elliott: you may be right. i genuinely wanted to learn, but i apologize if that was insensitive, etc.
00:10:37 <oklofok> i said o? :D
00:10:47 <oerjan> yes you did
00:10:47 <oklofok> i have no idea when i did that
00:11:13 <elliott> hey oklofok
00:11:16 <elliott> quintopia: yeah, ok
00:11:26 <elliott> oklofok: do you want to server
00:12:05 <oklofok> oerjan: did you hear the great news, i'm not almost sure that my characterization works
00:12:20 <oklofok> elliott: i have to watch a few more eps and get to work but sure
00:12:32 <Phantom_Hoover> Eps of what?
00:12:34 -!- pikhq_ has quit (Ping timeout: 252 seconds).
00:12:35 -!- pikhq has joined.
00:12:43 <oklofok> erm or no i don't want to server, i thought you said do i want the server
00:12:52 <oklofok> Phantom_Hoover: rewatching hustle
00:13:07 <Phantom_Hoover> The British show about conmen?
00:13:08 <elliott> oklofok: but we need TESTERS.
00:13:11 <oklofok> yes
00:13:26 <oklofok> surprisingly enough, i think it's great
00:13:34 <oklofok> like every other show i've watched
00:13:47 <Phantom_Hoover> oklofok, you should totally join the official #esoteric Homestuck club.
00:14:18 <oklofok> i still don't really know what homestuck is
00:14:22 <oklofok> perhaps i never will
00:14:41 <Phantom_Hoover> You would have to consult arcane texts on the matter.
00:14:42 <elliott> it's a virus.
00:14:47 <Phantom_Hoover> Such as Homestuck.
00:14:48 <elliott> but with points
00:14:50 <elliott> its kind of like an rpg
00:14:56 <elliott> you have to spread it to as many computers as you can.
00:15:02 <elliott> it was made by a sick, demented man known only as Satan.
00:16:08 <oerjan> <oklofok> oerjan: did you hear the great news, i'm not almost sure that my characterization works <-- freudian slip?
00:16:22 <oklofok> xD
00:16:44 <oklofok> wow.
00:16:46 <oklofok> *now
00:16:46 <oerjan> YOU SUBCONSCIOUS MAY DISAGREE
00:16:56 <oklofok> well i convinced one guy already
00:17:05 <oerjan> poor deluded fool
00:17:09 <oklofok> but no one at the uni so will have to wait for a while
00:17:25 <oklofok> only me and people holding summer internships
00:18:04 <elliott> was the guy a hobo
00:18:11 <oklofok> he was mister x
00:21:03 -!- oklopol has joined.
00:21:50 <oklopol> *i* am the office hobo
00:22:42 -!- oklofok has quit (Ping timeout: 252 seconds).
00:23:10 <oklopol> in my dream, i was finland
00:23:41 <oklopol> and america was trying to sleep with norway but she did not want to convert to euro, so she refused.
00:24:09 <oklopol> also norway was my cousin and america was a character from hustle
00:24:28 <oerjan> oklopol: http://satwcomic.com/ , hth
00:24:31 <oklopol> oh and i was trying to find gold at the beach inside the palace of my friend who lived in rome
00:25:05 <oklopol> seen that
00:25:11 <oklopol> summa that at least
00:26:56 * oerjan considers archive binging it
00:30:13 -!- pikhq has quit (Remote host closed the connection).
00:30:54 <oklopol> ?
00:31:03 <oklopol> oh
00:31:15 <oklopol> missed the word archive
00:31:42 <Gregor> Yup, definitely bricked my router.
00:31:44 <Gregor> Great.
00:32:20 <oklopol> do you mean you took it in the ass from a truck driver
00:32:50 <oklopol> or was it a euphemism?
00:34:20 <Gregor> Sounds about right.
00:34:22 <elliott> Gregor: How
00:34:47 <Gregor> elliott: Trying to upgrade my (custom) firmware. Downloaded the WRT54G firmware instead of the WRT54G2 firmware.
00:35:25 <oerjan> a great day for masonry
00:36:47 <elliott> Gregor: Noice :P
00:38:38 * Phantom_Hoover → sleep
00:38:40 -!- Phantom_Hoover has quit (Quit: Leaving).
00:39:01 -!- pikhq has joined.
00:40:53 <elliott> Gregor: I doubt "bricked" is accurate :P
00:41:50 <monqy> nope its a brick
00:42:46 -!- Maharba has joined.
00:43:46 <elliott> hi Maharba
00:43:59 -!- Maharba has left.
00:44:04 <monqy> bye maharba
00:44:09 <elliott> bye maharba
00:44:16 -!- elliott has set topic: Esoteric programming languages | Logs: http://codu.org/logs/_esoteric/ and http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
00:44:22 <elliott> monqy: quick bring them back
00:44:32 <monqy> its too late
00:44:35 <monqy> their gone
00:44:36 <elliott> they parted, not /quit :P
00:44:47 <monqy> whois says otherwise
00:44:53 <elliott> darn
00:45:27 * oerjan checks what the previous topic was
00:45:43 <oerjan> jesus has coeliac disease?
00:46:45 <elliott> long story :D
00:50:42 <oerjan> ic
01:08:00 <Gregor> elliott: Special JTAG cable + soldering required to unbrick.
01:08:09 <Gregor> elliott: Cost of equipment to fix router is greater than cost of a new router :P
01:08:45 <CakeProphet> elliott: not necessarily. Wouldn't Signal a t allow either discrete or continuous? Basically I write functions that except both or only one kind of signal, without having to use a typeclass to convert everything to discrete.
01:09:09 <CakeProphet> and without having to use Either.
01:10:22 <oerjan> ^ul ((phantom types )S:^):^
01:10:23 <fungot> phantom types phantom types phantom types phantom types phantom types phantom types phantom types phantom types phantom types phantom types phantom types phantom types phantom types phantom types phantom types phantom types phantom types phantom types phantom types phantom types phantom types phantom types phantom types ph ...too much output!
01:13:42 <elliott> CakeProphet: So you've achieved... the same as a typeclass.
01:13:50 <elliott> Except it requires a language extension and doesn't let anyone add new types of signal
01:19:14 -!- Lymia has joined.
01:20:45 -!- oerjan has quit (Quit: phantom types, i said!).
01:21:05 -!- Lymee has quit (Ping timeout: 240 seconds).
01:22:49 <oklopol> so often i have this dream that i have to hit someone but my punches move reeeeeally slowly
01:22:59 <oklopol> maybe i should become a boxer, i have way too much brain for my needs
01:33:49 <CakeProphet> elliott: the idea was to have a typeclass as well. But it would only have one function instead of two..
01:37:28 <CakeProphet> using only typeclasses enforced some kind of conversion in order to operate on the signal, with a single GADT I can use both kinds of signal in one function, while also having it typecheck in the case that the wrong kind of signal is used.
01:39:19 <CakeProphet> also, I think being afraid of language extensions is silly. GHC is the de facto Haskell compiler more or less.
01:39:21 <elliott> It doesn't force conversion
01:39:25 <elliott> It just forces using via an interface
01:39:35 <elliott> And language extensions are silly when there's literally no gain
01:40:05 <CakeProphet> better typechecking?
01:40:52 <CakeProphet> toDiscrete :: Signal t a -> Signal Discrete a
01:41:24 <elliott> For a start, that type is way insufficient
01:41:27 <elliott> You need to give a sampling rate
01:41:32 <elliott> For a second, ????
01:41:45 <CakeProphet> the sampling rate isn't part of the type it's a constructor argument
01:41:46 <elliott> sample :: SampleRate -> CSignal a -> DSignal a
01:41:49 <CakeProphet> it is pretty much always an Integral...
01:41:56 <elliott> CakeProphet: That's still not enough for toDiscrete
01:42:01 <elliott> You cannot just convert a continuous signal to a discrete one
01:42:03 <CakeProphet> ah wait, yeah nevermind. :P
01:42:04 <elliott> You must use a certain sampling rate.
01:42:13 <elliott> Anyway, [(Time,a)] is a much better model for a discrete signal.
01:42:17 <elliott> That doesn't force a constant sampling rate.
01:42:58 <CakeProphet> mmk.
01:43:05 <elliott> cd ..
01:43:09 <elliott> But like I said,
01:43:10 <elliott> <elliott> sample :: SampleRate -> CSignal a -> DSignal a
01:43:12 <elliott> How is that not typechecked?
01:43:21 <elliott> newtype CSignal a = CSignal (Time -> a)
01:43:26 <elliott> newtype DSignal a = DSignal [(Time,a)]
01:43:32 <elliott> instance Signal CSignal where ...
01:43:34 <CakeProphet> it requires that the argument be continuous.
01:43:35 <elliott> instance Signal DSignal where ...
01:43:51 <elliott> CakeProphet: Well, yeah, why would you want to sample a DSignal?
01:44:01 <elliott> Just treating it like a continuous signal would be a rather poor sample rate converter
01:44:18 <elliott> _Mine_ is better typechecked, because it stops you sampling non-continuous singals :)
01:44:27 <CakeProphet> I don't need to treat it like a continuous signal, I can treat it like a discrete signal and convert the sample rate.
01:44:43 <elliott> Eh?
01:44:45 <CakeProphet> via pattern matching
01:44:59 <elliott> OK, so you actually have two functions.
01:45:12 <CakeProphet> when needed, yes.
01:45:12 <elliott> sample and convertSampleRate.
01:45:21 <elliott> convertSampleRate :: (Signal t) => SampleRate -> t -> DSignal a
01:45:23 <elliott> Tada
01:45:30 <elliott> erm
01:45:32 <elliott> convertSampleRate :: (Signal t) => SampleRate -> t a -> DSignal a
01:46:03 <elliott> CakeProphet: But really, you should have
01:46:11 <elliott> sample :: SampleRate -> CSignal a -> DSignal a
01:46:18 <elliott> convertSampleRate :: SampleRate -> DSignal a -> DSignal a
01:46:40 <CakeProphet> okay fine I'll just have a multitude of functions and typeclasses when I could merge it into one type transparently.
01:46:41 <elliott> That avoids conflating the two separate functions.
01:46:53 <elliott> CakeProphet: You would have exactly one typeclass, Signal.
01:47:02 <elliott> And having a multitude of functions is a good thing, it's called a rich set of operations
01:47:12 <elliott> Sampling a continuous signal and converting the sample rate of a discrete signal are not the same thing
01:47:18 <elliott> Conflating them is a bug
01:51:38 -!- oklofok has joined.
01:51:57 -!- CakeProphet has quit (Ping timeout: 276 seconds).
01:54:12 -!- oklopol has quit (Ping timeout: 264 seconds).
02:27:00 -!- augur has quit (Ping timeout: 252 seconds).
02:30:08 -!- Behold has quit (Remote host closed the connection).
02:54:38 -!- jcp has quit (Ping timeout: 250 seconds).
02:54:58 -!- jcp has joined.
02:57:15 -!- jcp|1 has quit (Ping timeout: 260 seconds).
02:59:43 -!- myndzi\ has joined.
03:01:58 -!- javawizard has joined.
03:02:48 -!- myndzi has quit (Ping timeout: 276 seconds).
03:20:08 -!- FireFly has quit (Quit: swatted to death).
03:25:31 -!- derrik has joined.
03:30:50 -!- azaq23 has joined.
03:41:32 -!- zzo38 has joined.
04:08:58 <zzo38> Finally I got DVI output to printer working correctly, using a program called "dviout".
04:10:44 <zzo38> It requires no PostScript, no raw printer codes, no PDF, no TrueType, no of that other stuff (although it does support all of these features).
04:11:38 <zzo38> How can you have a beautiful ending without making beautiful mistakes?
04:11:46 <zzo38> If at first you do succeed...try something harder.
04:36:57 <elliott> Lymia: Are you responsible for the /snow command.
04:47:05 <zzo38> What is a /snow command?
04:50:36 <elliott> WorldEdit, in Minecraft.
04:53:08 -!- cheater_ has joined.
04:57:53 <Sgeo_> elliott is capable of making infinity be less than 15*4
04:59:01 <elliott> Sgeo_: You have dirt now.
04:59:08 <elliott> Infinite dirt.
04:59:12 <Sgeo_> I need to not drown right now
04:59:20 <elliott> You are above water?
04:59:32 <Sgeo_> I am? I can't tell, I'm lagging that badly
04:59:37 <elliott> Reconnect
04:59:38 <elliott> The lag is gone now
05:00:48 <elliott> Sgeo_: No luck?
05:01:12 <Sgeo_> Sorry, was afk
05:10:39 <pikhq> Man. I never really thought about that... Having "In God We Trust" on the US nickle in particular is quite a dick move.
05:10:53 <pikhq> (for non-Americans: Thomas Jefferson appears on the US nickle)
05:11:11 <pikhq> It's the very antithesis of the man.
05:24:08 -!- elliott has changed nick to yay.
05:24:12 -!- yay has changed nick to elliott.
05:24:41 -!- pikhq_ has joined.
05:27:25 -!- pikhq has quit (Ping timeout: 252 seconds).
05:28:40 -!- elliott has changed nick to sldjkf.
05:28:57 -!- sldjkf has changed nick to elliott.
05:31:31 -!- zzo38 has quit (Remote host closed the connection).
05:37:32 -!- elliott has changed nick to pyralspite.
05:39:17 -!- pyralspite has changed nick to elliott.
05:51:31 <cheater_> pikhq_, are you assuming brazilians know what's on the us nickle?
05:52:25 -!- fungot has quit (Ping timeout: 260 seconds).
05:53:35 -!- fizzie has quit (Ping timeout: 260 seconds).
06:03:04 <pikhq_> cheater_: No, but (unfortunately) "American" is the demonym for citizens of the USA.
06:05:12 <cheater_> i just say usarian
06:05:38 <pikhq_> It works a bit better in Esperanto. "Usonanto", IIRC.
06:06:07 -!- copumpkin has joined.
06:06:08 -!- copumpkin has quit (Changing host).
06:06:08 -!- copumpkin has joined.
06:11:12 <coppro> "uss-asian"
06:11:18 <coppro> "usasian"
06:11:56 -!- foocraft has joined.
06:20:26 -!- derrik has quit (Quit: over and out).
06:30:45 -!- CakeProphet has joined.
06:38:07 -!- monqy has quit (Quit: hello).
06:47:23 -!- Lymia has changed nick to Lymee.
06:50:54 -!- fizzie has joined.
07:00:51 -!- CakeProphet has quit (Ping timeout: 240 seconds).
07:35:24 -!- elliott has changed nick to pyralspite.
07:35:39 -!- pyralspite has changed nick to elliott.
07:55:49 -!- foocraft_ has joined.
08:01:42 -!- BeholdMyGlory has joined.
08:03:04 -!- Phantom_Hoover has joined.
08:10:22 <Deewiant> http://www.vimprobable.org/ This guy really doesn't like Google.
08:15:18 <elliott> People actually use Scroogle?
08:21:34 -!- Lymee has quit (Ping timeout: 252 seconds).
08:21:59 <Phantom_Hoover> Paranoid people, yes.
08:21:59 <lambdabot> Phantom_Hoover: You have 2 new messages. '/msg lambdabot @messages' to read them.
08:23:15 <elliott> The paranoia isn't the thing, it's the Brandt.
08:24:02 <Phantom_Hoover> The paranoia presumably overcomes the aversion to him.
08:24:18 <elliott> More likely they've no aversion.
08:25:22 <Phantom_Hoover> I'm surprised the page didn't insult me when it looked at my user agent.
08:25:33 -!- tswett_ has joined.
08:26:26 -!- oklopol has joined.
08:30:14 -!- azaq23 has quit (*.net *.split).
08:30:14 -!- oklofok has quit (*.net *.split).
08:30:15 -!- tswett has quit (*.net *.split).
08:33:40 <Vorpal> <Deewiant> http://www.vimprobable.org/ This guy really doesn't like Google. <-- heh
08:35:55 -!- Lymee has joined.
08:35:55 -!- Lymee has quit (Changing host).
08:35:55 -!- Lymee has joined.
08:45:21 -!- azaq23 has joined.
08:45:21 -!- azaq23 has quit (Changing host).
08:45:21 -!- azaq23 has joined.
09:15:22 -!- shachaf has quit (Read error: Operation timed out).
09:23:14 -!- asiekierka has joined.
09:23:19 <asiekierka> hi can you hear me
09:24:00 -!- asiekierka has quit (Client Quit).
09:24:56 -!- augur has joined.
09:30:53 <elliott> no
10:02:08 -!- elliott has quit (Remote host closed the connection).
10:02:09 -!- elliott_ has joined.
10:15:23 <elliott_> http://downforeveryoneorjustme.org/
10:15:24 <elliott_> pro coding
10:15:38 <lifthrasiir> oh well.
10:16:54 <elliott_> is downforeveryoneorjustme.org down for everyone or just me :D
10:17:11 <fizzie> It's just you, do-man.
10:17:18 <Deewiant> The PHP is down, the HTML isn't
10:17:19 <fizzie> It's like He-Man.
10:17:26 <lifthrasiir> That depends on the universe you are observing.
10:18:20 <fizzie> Deewiant: Pure guess: some update or another has turned the short-open-tags feature off.
10:18:37 <Deewiant> heh
10:18:41 <elliott_> (That's just a ripoff of the actual site, btw)
10:18:47 <elliott_> (Which is a .com)
10:23:39 <fizzie> The real site seems to be implemamented with the Google App Eggnog. (User-agent: "AppEngine-Google; (+http://code.google.com/appengine; appid: downforeveryoneorjustme)")
10:24:21 <elliott_> It's open-source, IIRC
10:41:00 -!- BeholdMyGlory has quit (Remote host closed the connection).
10:59:58 -!- cheater_ has quit (Ping timeout: 255 seconds).
11:00:39 -!- cheater_ has joined.
11:18:08 -!- elliott has joined.
11:18:08 -!- elliott_ has quit (Read error: Connection reset by peer).
11:18:20 <elliott> Lymee: I think I should just have HashMap<World,HashSet<ChunkCoords>>
11:19:11 <elliott> Lymee: And if a world isn't in the map, we just assume every chunk is hostile.
11:19:15 <elliott> Ugly? Yes.
11:19:18 <elliott> Useful? Yes.
11:21:34 -!- oerjan has joined.
11:23:47 -!- augur has quit (Read error: Connection reset by peer).
11:24:04 -!- augur has joined.
11:28:19 -!- Phantom_Hoover has quit (Ping timeout: 255 seconds).
11:33:02 -!- FireFly has joined.
11:43:14 -!- ais523 has joined.
11:51:24 -!- _foocraft has joined.
11:51:46 -!- foocraft has quit (Ping timeout: 246 seconds).
11:52:37 -!- foocraft_ has quit (Quit: if you're going....to san. fran. cisco!!!).
11:55:42 -!- Phantom_Hoover has joined.
12:06:03 -!- boily has joined.
12:09:15 <ais523> elliott: <Linux coding standards> Tabs are 8 characters, and thus indentations are also 8 characters. There are heretic movements that try to make indentations 4 (or even 2!) characters deep, and that is akin to trying to define the value of PI to be 3.
12:09:25 <ais523> I'm amused that they disagree with me on style, but agree on the immutability of tab sizes
12:09:52 <elliott> ais523: Yes, obviously I have never read the Linux coding standards before
12:09:52 <Deewiant> Clearly they implicitly accept my indentation level of 3
12:11:14 <ais523> I love the way they wrote PI in uppercase
12:11:16 <ais523> because it's a constant
12:14:42 <fizzie> Deewiant: Sure, because that's PI spaces.
12:15:31 <elliott> fizzie: Deewiant: ais523: Anyone: Are there restrictions on what you can remove from collections you're iterating over in Java?
12:15:45 <ais523> elliott: IIRC yes, let me look it up
12:15:46 <elliott> I have "for (T x : hashSet) { ... }", and I want to remove x from the hashSet depending on certain conditions.
12:15:46 <Deewiant> You need to use the iterator to remove
12:15:54 <fizzie> Yes.
12:15:54 <elliott> Deewiant: So no nice for syntax?
12:15:56 <Deewiant> elliott: Use an Iterator, it has a remove method
12:16:01 <elliott> SIGH FINE >:(
12:16:02 <Deewiant> elliott: Not that I know of at least
12:16:32 <elliott> if (!worldState.hostileChunks.contains(ChunkCoords.fromLocation(monster.getLocation()))) {
12:16:33 <elliott> if (!worldState.hostileChunks.contains(ChunkCoords.fromLocation(event.getLocation()))) {
12:16:39 <elliott> wow, those are actually the exact same line
12:16:45 <Deewiant> No they're not
12:16:51 <elliott> Err, well
12:16:56 <elliott> Modulo alpha renaming
12:16:59 <elliott> I was pasting them as two different insanely long ifs :-)
12:17:09 <elliott> Maybe I should define worldState.isInHostileChunk().
12:17:38 <ais523> elliott: yep, just checked, the rule is that you can only remove the element that you're currently on during the iteration, and can only do so via calling the remove method on the iterator
12:17:39 <oerjan> the world is in a hostile, chunky state
12:17:55 <ais523> also, you can't remove the current element more than once without going onto the next element, obviously
12:18:19 <fizzie> Most of the iterators are "fail-fast", in that they (try to) start throwing ConcurrentModificationExceptions if you mangle the collection you're iterating over by any other means than the iterator.
12:19:01 <ais523> fizzie: that's not guaranteed
12:19:07 <fizzie> Hence "try to".
12:19:10 <ais523> yep
12:19:16 <ais523> I just thought that the warning would be useful
12:19:31 * elliott is slightly worried that ais523's first reaction was "Why on earth is elliott coding Java???"
12:19:36 <elliott> or maybe it was, just internally only
12:20:08 <ais523> elliott: I saw your code paste before I saw the first statement that implied Java
12:20:08 <ais523> because it took me several seconds to switch to the IRC window
12:20:18 <ais523> and the code paste suggested an obvious context (something Minecraft-related)
12:20:29 <elliott> <elliott> fizzie: Deewiant: ais523: Anyone: Are there restrictions on what you can remove from collections you're iterating over in Java?
12:20:29 <elliott> <ais523> elliott: IIRC yes, let me look it up
12:20:32 <elliott> No, you knew it was Java :-P
12:20:36 <elliott> That was before any pastes
12:20:46 <ais523> elliott: aha, that must be the zzo38 reaction
12:20:51 <elliott> heh
12:20:51 <ais523> in that I didn't look for a context until it became necessary
12:21:10 <ais523> in this channel, my mind didn't make the connection between "asking questions about Java" and "writing Java"
12:21:14 <ais523> not immediately, at least
12:21:24 <elliott> I'm even using Eclipse :-|
12:21:41 <ais523> in fact, it would be quite plausible that you were writing a different language with iterable collections, and wanted to know what Java did so you could do something different
12:21:50 * elliott decides to stare at Eclipse for a few hours until it tells him how many lines of Java he's written today. (This is how you solve problems with Eclipse.)
12:21:56 <elliott> (This is what I have learned.
12:21:56 <elliott> )
12:22:14 <elliott> oh, wait, I have wc
12:22:17 <elliott> also, sloccount
12:22:27 <Deewiant> ohcount
12:22:35 <ais523> also, Java badly needs a Java-specific IDE, it's too library-dense to easily use otherwise
12:22:35 <ais523> although I generally use NetBeans (because it's what's taught here, and I need to use the technology I'm meant to teach)
12:22:56 <elliott> Deewiant: Didn't have a convenient website last I looked
12:22:59 <elliott> ais523: wow, only 228 lines
12:23:01 <elliott> it feels like more
12:23:08 <elliott> probably because I had to go through an IDE form just to create a lambda
12:23:25 <ais523> you didn't, you could (and probably should) have used a nested class
12:23:38 <ais523> or does that need a form in Eclipse?
12:23:47 <elliott> I think it can have one, if you want
12:23:51 <elliott> ais523: they're rather long lambdas, anyway
12:23:52 <fizzie> You can just type in code, though.
12:24:02 <elliott> and Java files seem to be divided into two types:
12:24:07 <elliott> - hundreds of lines long, everything in one class
12:24:13 <elliott> - thirty lines long, about five hundred classes
12:24:15 <fizzie> It does have "make a new (inner or not) class" forms though.
12:24:17 <ais523> in NetBeans, you can highlight a statement and then click on the left margin, and choose the option to enclose it in a Runnable
12:24:46 <elliott> hmm, oh dear...
12:24:47 <ais523> elliott: you typically only use one class per file, not counting inner classes
12:24:57 <ais523> some are much longer than others
12:25:20 <elliott> I'm writing "practical", impure, not-very-theoretically-soundly-organised code, in Java, in an object-oriented style (sort of), for a buggy game
12:25:30 <elliott> I think, by my own account, my soul should have vanished in a few hours
12:25:48 <fizzie> elliott: You have become the very thing you fought for! Abyss, gazing back, and so on!
12:25:48 <ais523> e.g. the longest class in Jettyplay is 2122 lines long, many of which are autogenerated
12:25:53 <fizzie> s/for/against/
12:26:06 <ais523> fizzie: the first version was funnier
12:26:08 <ais523> in fact,
12:26:09 <elliott> Eclipse is actually quite nice, to be honest
12:26:15 <ais523> `addquote <fizzie> elliott: You have become the very thing you fought for!
12:26:16 <elliott> I mean, as nice as a Java IDE can be
12:26:18 <HackEgo> 498) <fizzie> elliott: You have become the very thing you fought for!
12:26:56 <elliott> I do like how builds happen completely automatically, at least
12:26:57 <ais523> the second longest is 2076 lines long, after I deleted half of it (it originally came from someone else's program), but it's mostly a state machine and that's to be expected of state machines
12:27:04 <elliott> and all the errors appear without asking
12:27:11 <ais523> elliott: NetBeans does that too, I imagine all Java IDEs do
12:27:15 <elliott> ais523: Indeed
12:27:16 <ais523> even Emacs does that
12:27:22 <ais523> if set up correctly
12:27:23 <elliott> well, it's always a pain with Emacs
12:27:25 <elliott> IME
12:27:32 <elliott> flymake tends to be flaky
12:27:36 <ais523> not IME, but it depends on what language you're using
12:27:42 <ais523> flymake is incredibly flaky with C, but works very well with Perl
12:29:10 <ais523> probably because C is a language not very conducive to that sort of thing (C++ is even worse)
12:29:53 <elliott> oh, I forgot the last element of the soullessness trifec...n-fecta
12:30:03 <elliott> it's using an "enterprisey" framework :(
12:30:52 * elliott weeps
12:32:17 <ais523> and Jettyplay isn't, ironically enough given the name
12:32:23 <ais523> (the "e" stands for Enterprisey)
12:32:40 <elliott> at least the enterprisey framework is called "bukkit"
12:32:42 <ais523> I suppose it isn't all that enterprisey really, just overengineered
12:32:46 <elliott> there is some drop of humour left in my new terrible world : (
12:33:02 <Phantom_Hoover> Bababadalgharaghtakamminarronnkonnbronntonnerronntuonnthunntrovarrhounawnskawntoohoohoordenenthurnuk
12:33:18 <elliott> dammit, these pigs know they're going to evaporate if they walk too far
12:33:37 <elliott> ah, a perfect kill.
12:35:18 <elliott> "Tired of monsters spawning on one or more of your worlds? Don't like the health regeneration that comes with spawn-monsters=false? With NoRegen, you can enjoy monster-free world(s), and still be without the boring health regeneration!"
12:35:20 <elliott> NO THIS IS THE OPPOSITE OF WHAT I WANT
12:35:41 <elliott> oops wrong channel
12:38:41 <oerjan> Phantom_Hoover: gesundheit
12:38:56 <Phantom_Hoover> oerjan, it was LITERARY
12:39:12 <oerjan> i know, i googled
12:39:26 <Phantom_Hoover> I don't think anyone has ever actually read Finnegan's Wake.
12:39:48 <Phantom_Hoover> The actual book is probably completely different to every synopsis on the internet.
12:39:58 <oerjan> Phantom_Hoover: someone, somewhere, somewhat like zzo probably has.
12:40:01 <ais523> I didn't think you could make a synopsys of it
12:40:24 <Phantom_Hoover> What everyone *thinks* it contains is just an aggregate of summaries which has evolved into a completely different story.
12:42:19 <ais523> meanwhile, I saw a story recently about people benchmarking Firefox 8
12:42:30 <ais523> what is up with those version numbers? they're releasing major versions faster than they used to release minor versions
12:42:44 <ais523> so it isn't even a simple minor->major shift
12:42:56 <Deewiant> They changed their release schedule
12:42:56 <Phantom_Hoover> I remember back when Firefox 3 was A Big New Thing.
12:43:02 <Deewiant> One major version every 3 months, IIRC
12:43:03 <Phantom_Hoover> You know, two years ago.
12:44:13 <ais523> I'm still on the 3 series (with Ubuntu doing security patches)
12:44:14 <fizzie> I think "8" was what they're calling the "unstable", or wasn't it so?
12:44:18 <ais523> yep
12:44:18 <Deewiant> I remember back when Phoenix 0.1 was A Big New Thing. You know, eight years ago.
12:44:32 <elliott> <Phantom_Hoover> I don't think anyone has ever actually read Finnegan's Wake.
12:44:33 <elliott> Finnegans
12:44:44 <fizzie> I remember when I got Netscape, and it was a lot fancier than Mosaic.
12:45:02 <fizzie> They're at 5 now and have 6 and 7 on the roadmap, IIRC.
12:48:29 <oerjan> so will they be starting with Firefox 3000 or something equally silly within five years?
12:50:09 <oerjan> "Ok we just made Firefox Busy Beaver. wtf are we going to call the next version?"
12:50:55 <lifthrasiir> after Firefox 5, they will use the Fibonacci numbers so that the version number growth is exponential
12:51:13 <fizzie> 6 comes out in August when 7 moves from AURORA to BETA, and 8 moves from NIGHTLY to AURORA.
12:51:16 <oerjan> "and why are we being overrun by ubuntu lawyers?"
12:51:41 <fizzie> 5 came out in June.
12:52:02 <lifthrasiir> within years we will be able to safely use a floor of a logarithm of the version to identify the version
12:52:03 <fizzie> I think it's supposed to be something like 2-3 months per major version number, so 4-6 major versions per year.
12:52:32 <oerjan> ok scratch that. they make Firefox Graham's Number, and want to do Busy Beaver next but _then_ are overrun by ubuntu lawyers.
12:53:13 <lifthrasiir> oerjan, to be exact, Firefox three arrow three arrow sixty-four point blabla arrow two.
12:53:28 <oerjan> O KAY
12:53:36 <ais523> I don't get why they'd be overrun by Ubuntu lawyers, is it a pun I'm missing?
12:53:41 <elliott> Ubuntu Busy Beaver
12:53:46 <ais523> ah, aha
12:53:47 <elliott> Ubuntu MM.NN Busy Beaver
12:57:15 <oerjan> oh, they can pass on to transfinite ordinals then
12:57:49 -!- wth has joined.
12:58:15 -!- wth has changed nick to Guest87246.
12:59:28 -!- Guest87246 has left.
13:00:08 <oerjan> i'm really not convinced wth is the best nick, _even_ if it's probably an acronym of eir real name
13:04:27 <fizzie> Oh, it's 6 weeks per major version: https://wiki.mozilla.org/RapidRelease/Calendar
13:05:07 <elliott> six weeks? X-D
13:05:14 <elliott> sturmeh:
13:05:15 <elliott> cool: false
13:05:15 <elliott> eats:
13:05:15 <elliott> babies: true
13:05:15 <elliott> good yaml example
13:06:32 <fizzie> So Firefox 9 released this year, and Firefox 12 in the nightly branch; and by the end of 2012 they'll release Firefox 17, and have Firefox 20 in development in the nightly branch.
13:07:40 <ais523> what versions will the other major browsers be on by then? in particular, is Firefox's schedule outversioning Chrome?
13:08:06 <elliott> I wonder if Chrome thirteen is out yet
13:08:13 <elliott> I'm on twelve, but I haven't updated in... a few days :-P
13:08:32 <elliott> fizzie: how long until they reach three digits?
13:09:32 <fizzie> A bit less than 11 years.
13:09:50 <elliott> great
13:10:14 <oerjan> by october 2012 they will have hit three digits. during the first two weeks of december it will grow to thousands of digits. what happens after that is unpredictable.
13:10:37 <fizzie> I guess it depends which sort of curve you fit in.
13:10:45 <elliott> oerjan: :D
13:11:20 <fizzie> Eyeballing the Chrome release history in Wikipedia, it would seem to be about the same speed.
13:11:33 <ais523> hmm, I wonder if version numbering will hit singularity some time
13:11:34 <fizzie> The Firefox Singularity?
13:11:39 <elliott> thats the joke dot jpg
13:11:41 <elliott> <oerjan> by october 2012 they will have hit three digits. during the first two weeks of december it will grow to thousands of digits. what happens after that is unpredictable.
13:12:38 <ais523> that doesn't imply singularity
13:12:44 <ais523> it might just be going up at Ackermann speed or whatever
13:12:56 <elliott> ais523: you get the refernce, suerly
13:13:01 <elliott> december 2012?
13:13:16 <ais523> meh, that's a sufficiently busted reference that I tend to ignore it
13:13:29 <Vorpal> elliott, Maya?
13:13:39 <elliott> ais523: it's called a _joke_
13:13:42 <elliott> you may have heard of it.
13:13:58 <ais523> but it isn't particularly funny
13:14:08 <elliott> oerjan: outrageous
13:14:23 <oerjan> elliott: i'll just have to take the audience i get
13:15:41 -!- asiekierka has joined.
13:15:52 <asiekierka> is anyone here?
13:15:56 <oerjan> nope
13:15:59 <oerjan> oh darn
13:16:07 <asiekierka> i'm forced to type from netcat so i was seriousthere
13:16:27 <oerjan> fancy
13:16:45 * ais523 sends a ctcp version and waits a minute or so for asiekierka to type the reply
13:16:46 <oerjan> also some dedication
13:16:54 <oerjan> ais523: :D
13:17:09 <asiekierka> i don't know how to reply to VERSIONs yet
13:17:11 <ais523> oerjan: I do reply to CTCP VERSIONs when IRCing via netcat
13:17:22 <oerjan> O_o
13:17:23 <ais523> asiekierka: NOTICE ais523 :^AVERSION netcat^A
13:17:28 <ais523> where ^A is a literal control-A
13:17:28 <asiekierka> i'm using musl libc, irssi doesn't compile for it, neither does ircii
13:17:37 <asiekierka> no binaries for other IRC clients
13:17:47 <asiekierka> i'd be happy to move to anything better than netcat
13:18:00 <asiekierka> i could just get dropbear and SSH into another computer but THAT'S CHEATING
13:18:15 <ais523> why /is/ that SSH impl called dropbear?
13:18:20 <ais523> the name always confused me
13:18:22 <oerjan> asiekierka: you could use zzo38's client >:)
13:18:26 <asiekierka> it drops bears
13:18:31 <asiekierka> oerjan link
13:18:40 <oerjan> asiekierka: *WHOOSH*
13:18:58 <oerjan> (admittedly it is probably better than netcat)
13:19:01 <asiekierka> not a link to the past, just an http link
13:19:09 <ais523> oerjan: it does the PONGs
13:19:14 <ais523> automatically
13:19:20 <asiekierka> didn't
13:19:24 <ais523> other than that, it's pretty similar to nc
13:19:28 <oerjan> ais523: i think it also has some completion
13:19:34 <asiekierka> i used bootstrap-linux by pikhq to get into where i'm now
13:19:49 <asiekierka> anything is better than netcat for IRCing
13:19:52 <ais523> a nice thing about Freenode is that you can type anything at all in response to a PING, even a privmsg or whatever, and it accepts it
13:20:04 <ais523> so you don't need to bother about writing perfect PONGs
13:20:07 <asiekierka> :D
13:20:10 <ais523> most servers aren't so forgiving
13:20:15 <elliott> oh, asie.
13:20:17 <elliott> is back again
13:20:19 <fizzie> The perfect PONG. Long thought to be just a myth.
13:20:23 <asiekierka> yes
13:20:26 <ais523> and it won't even bother to ping you if you're sending a lot
13:20:33 <elliott> <ais523> why /is/ that SSH impl called dropbear?
13:20:34 <elliott> why not?
13:20:44 <elliott> also, what did you do, pikhq_ :(
13:21:02 <asiekierka> pikhq did awesome
13:21:06 <asiekierka> why?
13:21:09 <ais523> because programs ideally should either a) have names that are descriptive of what they do so you don't have to look them up, or b) have names that are unique enough to search on
13:21:14 <ais523> and "dropbear" doesn't fulfil either requirement
13:21:31 <ais523> (fulfilling both would be ideal, but is typically very difficult)
13:21:40 <asiekierka> derp
13:22:04 <elliott> ais523: Find me another piece of software called Dropbear
13:22:14 <oerjan> asiekierka: hm i went to http://zzo38computer.cjb.net/index.php/ but i cannot find a link to his client. anyway, it was more of a joke.
13:22:31 <asiekierka> i am serious D:<
13:22:34 <ais523> elliott: why software? the word comes up in other contexts
13:22:41 -!- FireFly has quit (Quit: swatted to death).
13:22:41 <elliott> asiekierka: do you even have php intsalled
13:23:05 <asiekierka> no, not yet
13:23:14 <elliott> zzo's is in php
13:23:17 <elliott> ais523: Windows: bad software name; Macintosh: bad software name; Gnome: bad software name
13:23:26 <elliott> ais523: Eclipse: bad software name
13:23:33 <elliott> <any software name ever>: bad software name
13:23:49 <ais523> elliott: Windows is at least vaguely descriptive
13:23:51 <asiekierka> i'll try fixing ircii
13:23:52 <ais523> the others aren't ideal
13:24:08 <ais523> in fact, "Microsoft Windows" is a pretty good name for what it does
13:24:11 <asiekierka> openssl?
13:24:11 <ais523> under a)
13:24:16 <ais523> asiekierka: that's a good name too
13:26:49 <fizzie> I've always just guessed the name is intended to evoke adjectives such as "lean", "fast", "vicious". Haven't seen it documented anywhere.
13:26:57 <fizzie> They do have a mailing list if you want to know.
13:35:04 -!- asiekierka has quit (Ping timeout: 252 seconds).
13:35:19 <oerjan> SOMEONE FORGOT TO PONG
13:35:38 <elliott> ais523: oh, I've been doing a bad Java thing in my bad Java :<
13:35:55 <elliott> I've been using HashSet as a type on the LHS, just because that's my implementation
13:35:57 <elliott> and in classes
13:36:34 * elliott feels bad ::::: ((((
13:36:45 -!- asiekierka has joined.
13:36:45 <ais523> "type on the LHS"?
13:36:47 <asiekierka> yes!
13:36:52 <asiekierka> yes
13:36:58 <asiekierka> i finally compiled a sane IRC client
13:36:58 <oerjan> maybe!
13:37:09 <fizzie> No!
13:37:12 <asiekierka> i had to mod it a bit, though - minor defs.h change + adding u_xxxx
13:37:13 <ais523> ":propelling chess in the 21st century and beyond!"
13:37:17 <ais523> I think it's the colon that amuses me the most about that
13:37:33 <ais523> as if ircII was meant to have its version number automatically parsed by something that used IRC syntax
13:37:36 <elliott> ais523: i.e.
13:37:40 <elliott> HashSet<T> x = ...
13:37:41 <elliott> rather than
13:37:44 <elliott> Set<T> x = ...
13:38:06 <ais523> elliott: aha
13:38:06 <ais523> well, it depends on if you're doing anything with it that would require a HashSet in particular
13:40:31 <elliott> nope
13:40:35 -!- asiekierka has left.
13:40:50 <fizzie> HashSet<T> doesn't really have any methods that are not specified by Set<E>. Well, except clone().
13:41:12 <fizzie> (But that's from Object.)
13:41:28 <elliott> public void load()
13:41:31 <elliott> Loads the configuration file. All errors are thrown away.
13:41:31 <elliott> save
13:41:31 <elliott> public boolean save()
13:41:31 <elliott> Saves the configuration to disk. All errors are clobbered.
13:41:31 <elliott> sounds safe
13:41:53 <fizzie> What does save() return?
13:42:27 <ais523> a boolean
13:42:36 <fizzie> I was debating whether to clarify that.
13:42:48 -!- asiekierka has joined.
13:42:48 <fizzie> What does the boolean signify?
13:43:14 <asiekierka> hep
13:43:19 <asiekierka> whoops, testing out ircii
13:43:19 <Deewiant> Presumably success
13:43:25 <asiekierka> it's hrrible but not as bad as netcat
13:43:31 <fizzie> Deewiant: But it "clobbers" all the errors.
13:43:53 <elliott> fizzie: Who knows?
13:44:06 <elliott> That's the Bukkit YAML configuration processor
13:44:17 <elliott> I can't help shake the feeling that it's not what everybody uses
13:44:18 <Deewiant> That doesn't mean that it won't tell you whether there were any
13:44:56 <fizzie> Deewiant: Well, I guess you could argue so. But to me a it's not a real clobbering if you can still tell there was something that got clobbered.
13:45:45 <fizzie> Deewiant: You are, however, correct. "Returns: true if it was successful"
13:46:09 <fizzie> I guess that's the difference between "throwing away" and "clobbering" the errors.
13:46:36 <Deewiant> I don't know, it can be good to leave some kind of evidence of one's clobbering skills
13:46:44 <fizzie> Yes; a bloody mess.
13:46:55 <elliott> `addquote <fizzie> Deewiant: Well, I guess you could argue so. But to me a it's not a real clobbering if you can still tell there was something that got clobbered.
13:46:56 <HackEgo> 499) <fizzie> Deewiant: Well, I guess you could argue so. But to me a it's not a real clobbering if you can still tell there was something that got clobbered.
13:48:53 -!- augur has changed nick to augurAFK.
13:52:28 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
13:54:41 -!- Lymee has quit (Ping timeout: 260 seconds).
14:04:27 -!- nooga has joined.
14:04:41 -!- asiekierka has left.
14:07:34 -!- Lymee has joined.
14:32:56 -!- derrik has joined.
14:33:14 -!- copumpkin has joined.
14:42:43 -!- augurAFK has changed nick to augur.
14:47:47 -!- derrik has left.
14:52:22 -!- oerjan has quit (Quit: Later).
14:55:40 <ais523> hmm, does anyone here know where the documentation for the x86 Linux ABI (that is, the userspace to kernel ABI, not the unstable in-kernel one) is in the kernel source tree?
14:55:58 <ais523> the main documentation section just says that it's arch-specific, and I can't find it in the arch documentation sections
14:59:21 <Vorpal> ais523, there is the header with syscall numbers I guess
14:59:29 <ais523> Vorpal: there is, and I'm aware of it
14:59:35 <Vorpal> ais523, not sure where they document which registers to prod and so on
14:59:40 <ais523> but syscall numbers doesn't give things like number/type/order of parameters, or even which registers they're passed in
14:59:49 <Vorpal> exactly what I just said yeah
14:59:51 <ais523> and it's hard enough working out the difference between ax and orig_ax
15:00:03 <Deewiant> The calling convention is standard C
15:00:15 <ais523> (the header in question documents it as "this information is only provided for gdb", which isn't massively useful)
15:00:35 <Vorpal> Deewiant, uh. Not exactly? It use pushing various registers then doing a SYSCALL iirc
15:01:02 <Deewiant> I have the x86-64 register convention here if you care
15:01:11 <ais523> I care more about x32
15:01:20 <ais523> even though I'm on a 64-bit system myself
15:01:26 <Vorpal> I have x86-64 ABI docs too here.
15:01:37 <ais523> commercial precompiled Linux binaries tend to be 32-bit, right?
15:01:50 <Vorpal> ais523, depends. I seen both.
15:01:57 <elliott> ais523: yes
15:02:22 <ais523> (this is for the same program that errors out if a process it creates doesn't have PID 2, btw)
15:02:33 <elliott> ais523: what are you trying to do? :-P
15:02:44 <ais523> err, hmm, I was hoping you wouldn't ask that
15:02:57 <ais523> basically, it's a similar idea to the one behind cryopid (which incidentally doesn't work)
15:02:58 <Vorpal> ais523, I think generally you call a function in that high-mapped vdso, which then does syscall, sysenter or interrupt depending on what the processor supports
15:03:03 <elliott> Distribute a commercial precompiled Linux binary that errors out if a process it creates doesn't have PID 2?????
15:03:06 <elliott> HOLE IN ONE
15:03:27 -!- CakeProphet has joined.
15:03:28 -!- CakeProphet has quit (Changing host).
15:03:28 -!- CakeProphet has joined.
15:03:31 <ais523> elliott: nah, the idea is that you operate on an existing binary, and try to run it in a completely reproducible fashion, no matter what else is going on in the system
15:03:35 <Vorpal> elliott, good one, pid 2 is always some kernel internal thingy :P
15:03:37 <ais523> so you can rewind it and start again
15:03:44 <ais523> Vorpal: not in my case
15:03:49 <Vorpal> root 2 0.0 0.0 0 0 ? S Jul07 0:00 [kthreadd]
15:03:51 <elliott> Vorpal: <ais523> (this is for the same program that errors out if a process it creates doesn't have PID 2, btw)
15:03:56 <Vorpal> it is that on all the computers I checked
15:03:59 <ais523> when I tested the code, the process always did have PID 2
15:04:04 <Vorpal> huh
15:04:06 <ais523> or think it did, at least
15:04:15 <ais523> the trick is, that nowadays, Linux PIDs have namespaces
15:04:21 <ais523> so you just run it in a different namespace to everything else
15:04:22 <Vorpal> aaaah
15:04:24 <ais523> (PID 1 is fakeinit)
15:04:25 <Vorpal> ais523, why would it error out if you don't get PID2
15:04:27 <Vorpal> I mean...
15:04:29 <Vorpal> why
15:04:34 <ais523> because it means something's gone wrong with the reproducibility
15:04:35 <Vorpal> PID 2*
15:04:42 <ais523> a lot of programs will notice if you randomly change their PID under them
15:04:55 <ais523> cryopid gets around the problem by, umm, opening /dev/kmem and setting the PID inside the kernel by hand
15:05:02 <Vorpal> ais523, wait a second, each time a program starts it get a different PID usually
15:05:06 <ais523> which is a bad idea for all sorts of reasons, not least that it doesn't check that the PID is already in use
15:05:17 <elliott> <ais523> cryopid gets around the problem by, umm, opening /dev/kmem and setting the PID inside the kernel by hand
15:05:18 <Vorpal> wtf is cryopid?
15:05:20 <elliott> amazing
15:05:28 <Vorpal> anyway I don't even HAVE a /dev/kmem
15:05:33 <elliott> Vorpal: jfgi
15:05:34 <ais523> elliott: I /hope/ it isn't using that code any more, because /dev/kmem no longer exists
15:05:38 <ais523> just /dev/kcore, which is readonly
15:05:47 <Vorpal> ah
15:06:03 <ais523> it looks like they were working on a workaround, which intercepts syscalls to getpid and ioctl and changes the PID returned
15:06:17 <ais523> but that seems only really partial, in that a huge number of other things know about PIDs (fcntl, for instance)
15:06:29 <ais523> (not to mention kill)
15:07:49 <Vorpal> ais523, wait, is cryopid a way to freeze a process? Hm
15:08:00 <ais523> Vorpal: yes, and restart it later
15:08:09 <Vorpal> I think such functionality is built in in the linux kernel nowdays
15:08:20 <Vorpal> used for stuff like suspend/resume, and many other things
15:08:30 <ais523> although when I tried to compile it, it didn't compile, when I fixed the compilation (changing the header files included and the names of registers), it spouted errors, and the resulting program segfaulted
15:08:41 <Vorpal> ais523, but what would it do if the PID in question is already in use?
15:08:46 <ais523> and that doesn't let you freeze a process and then restart it on another machine
15:08:55 <ais523> Vorpal: it'd give it the same PID as the process already in use
15:09:01 <ais523> as far as I can tell, this is not a good idea
15:09:02 <Vorpal> ais523, that sounds dangerous
15:09:17 <ais523> and the syscall to create processes with duplicate PIDs was removed a while ago (and restricted to process 0 before that, and restricted to root before that)
15:10:01 <Vorpal> ais523, there is no PID 0 as far as I can tell?
15:10:10 <ais523> If CLONE_PID is set, the child process is created with the same process ID as the calling process. This is good for hacking the system, but otherwise of not much use. Since 2.3.21 this flag can be specified only by the system boot process (PID 0). It disappeared in Linux 2.5.16.
15:10:15 <ais523> I don't think PID 0 appears in /proc
15:10:25 <Vorpal> ais523, what is PID 0 supposed to be? Kernel itself?
15:10:26 <ais523> nor do I think that signalling it would do anything particularly sane
15:10:38 <Vorpal> hm
15:10:45 <ais523> oh, right, you can't signal it
15:10:51 <Lymee> PID 0 is init, isn't it?
15:10:55 <ais523> if you give an argument of 0 to kill, you kill yourself
15:10:56 <ais523> and PID 1 is init
15:10:58 <Vorpal> Lymee, no that is PID 1
15:11:01 <ais523> or fakeinit, in my case
15:11:01 <Lymee> Ah.
15:11:11 <Lymee> Wait, then what's 0?
15:11:17 <ais523> (as far as I can tell, all init actually has to do is spawn a process, then call wait in a loop)
15:11:21 <Lymee> System boot process?
15:11:26 <Vorpal> yes, whatever that is
15:11:28 <ais523> according to that man page, yes
15:11:36 <Lymee> WTF is that?
15:11:42 <Lymee> Something pre-init?
15:11:54 <Phantom_Hoover> Yes.
15:12:15 <Vorpal> from what I remember the system executes /sbin/init (or if an initramfs some other file) which at the end execs the real /sbin/init
15:12:25 <Vorpal> so I have no idea what pid 0 could be yeah
15:13:09 <ais523> hmm, I tried a search engine, it didn't seem to know
15:13:16 <ais523> I suppose it might be possible to ask in #linux or wherever
15:13:29 <Vorpal> ais523, ##linux is largely useless...
15:13:37 <Vorpal> I can say that from my own experience
15:13:41 <ais523> Vorpal: what's it about?
15:13:45 <ais523> as in, actual topic, not notional topic
15:13:52 <Vorpal> ais523, newbies asking simple questions mostly
15:14:01 <Vorpal> not at all kernel related
15:14:04 <oklopol> who's a linux?
15:14:15 <ais523> hmm, is there a channel for the kernel in particular?
15:14:23 <Vorpal> ais523, I don't know of one, no
15:14:26 <ais523> I suppose there's kernelnewbies, which isn't on Freenode
15:14:39 <ais523> and I've forgotten which server it is on
15:14:40 <Vorpal> ais523, hm they have an irc channel? Good website though.
15:14:50 <elliott> ais523: Observation: Java is a language designed so that the majority of your variables have the exact same name as their type (or some trivial translation, e.g. List<T> -> Ts)
15:14:51 <ais523> yep, apparently so
15:15:12 <elliott> ais523: Observation II: If you removed the names from Java and just used the types, that would be one really weird language
15:15:13 <Vorpal> elliott, hehe.
15:15:19 <ais523> elliott: nah, I often use types more than once
15:15:31 <elliott> ais523: I didn't say it was universal :P
15:15:34 <oklopol> well that's what natural language does all the time
15:15:42 <elliott> I'm just saying that it's surprisingly ubiquitous in Java.
15:15:45 <elliott> oklopol: right
15:15:59 <ais523> T t = getT();
15:16:00 <oklopol> which is why i've been thinking about having that in a lang
15:16:04 <oklopol> for longs of times
15:16:07 <elliott> it would be fun if you couldn't have (A,A) because you'd have no way to distinguish the two As
15:16:12 <Vorpal> elliott, maybe because java has 1) classes 2) lots of container types?
15:16:13 <elliott> so you'd have to find another way to construct A
15:16:20 <ais523> elliott: I think I feel an esolang coming on
15:16:28 <elliott> like, if you wanted a pair of two integers
15:16:34 <elliott> you'd have to come up with two underlying representations
15:16:36 <elliott> so that they have different types
15:16:41 <elliott> so that you could distinguish them
15:16:45 <Phantom_Hoover> Or alternately abuse scoping rules.
15:17:00 <elliott> Phantom_Hoover: nah, what kind of esolang would it be if it was that easy to circumvent?
15:17:01 -!- Taneb has joined.
15:17:05 <Taneb> Hello!
15:17:15 <Phantom_Hoover> Hello.
15:17:16 <oklopol> haha if you had two types that have essentially the same structure, the compiler would complain that you have two identical types
15:17:16 <elliott> hi
15:17:25 <elliott> oklopol: :D
15:17:43 <elliott> oklopol: "this is bits, and also this is bits, and also everything is bits. try replacing your program with just one bit."
15:17:49 <oklopol> ^
15:18:05 <Taneb> Countdown has the letters for Linux
15:18:14 <Vorpal> elliott, hrrm... for signed integers I can only think of three representations... sign-magnitude, one-complement, two-complement
15:18:24 <Vorpal> so you can have at most three signed integers in your program?
15:18:31 <elliott> <vorpal> whats an (N,N)
15:18:38 <ais523> Vorpal: one-hot!
15:18:45 <Vorpal> ais523, oh true.
15:18:50 <ais523> although that's a unary variant
15:18:52 <Vorpal> yeah
15:18:53 <Vorpal> hm
15:18:57 <elliott> <elliott> <vorpal> whats an (N,N)
15:19:01 <Vorpal> ais523, gray-code for signed? My brain hurts
15:19:13 <ais523> Vorpal: it wraps round just like 2's-complement does
15:19:20 <Vorpal> elliott, I know what a pair is.
15:19:27 <Vorpal> ais523, ah
15:19:27 <Taneb> Signed integers can also have Base -2 inegers
15:19:31 <Taneb> *integers
15:19:38 <Vorpal> hm does "three-complement" even make sense?
15:19:38 <ais523> Taneb: good point, that's a reasonable representation
15:19:43 <ais523> Vorpal: only in base 3
15:19:47 <Vorpal> oh right
15:20:03 <ais523> the terms are generally base-complement and base-minus-one-complement
15:20:10 <ais523> which are silly names really, they should be more consistent
15:20:15 <ais523> hmm, I suppose that means it makes sense in base 4 too
15:20:25 <Vorpal> ais523, what about one-complement in base 3?
15:21:23 <Gregor> http://xkcd.com/923/ <-- OK, I have to admit, this XKCD is legit funny :P
15:21:38 <oklopol> i think that's the worst one ever
15:22:07 <ais523> Gregor: I liked it too
15:22:09 <elliott> <Vorpal> elliott, I know what a pair is.
15:22:12 <elliott> lol
15:22:15 <Taneb> I don't get that XKCD
15:22:24 <Taneb> Strunk and White?
15:22:29 <elliott> Taneb: o_O
15:22:37 <elliott> http://en.wikipedia.org/wiki/The_Elements_of_Style
15:22:48 <ais523> you don't need to know who they are to get the joke, though
15:22:55 <elliott> ais523: you do
15:22:59 <Taneb> I'm British
15:23:02 <elliott> ais523: in that, the joke is based around the stickler-ness
15:23:02 <ais523> I didn't, and I got it
15:23:05 <elliott> Taneb: so am I
15:23:10 <ais523> it's because the comic itself makes them out to be sticklers
15:23:17 <elliott> hmm, true
15:23:19 <ais523> I thought they were fictional sticklers from it, and it still works
15:23:21 <elliott> it's still basically reference humour though
15:23:33 <elliott> ais523: you can't seriously have expected an xkcd without a reference
15:23:44 <ais523> elliott: xkcd is full of references?
15:23:54 * elliott boggles mildly at ais523.
15:23:58 <Taneb> I still have no idea who Ron Paul
15:23:59 <Gregor> You don't need to know who they are to get the joke ...
15:24:02 <Taneb> is
15:24:24 <Gregor> I mean, you need to understand that it's a prescriptivist English style manual, but everything else you can get from there.
15:24:26 <elliott> Taneb: he's the president of australia
15:24:29 <ais523> Taneb: American politician, tends to be the third most popular (and thus way behind the Democratic and Republican candidates for President)
15:24:32 <elliott> hope this helps
15:24:39 <elliott> ais523: third most popular???
15:24:47 <ais523> elliott: out of the people running, I mean
15:24:50 <elliott> (and you realise Ron Paul is Republican?)
15:24:54 <ais523> yep
15:25:10 <ais523> most people don't bother to run against their own party when they lose the primary
15:25:25 <elliott> I'm incredibly sceptical of any statistics saying that Ron Paul is the third-most popular candidate
15:25:43 <Gregor> Ron Paul is on the republican /ticket/, he's a libertarian.
15:25:45 <elliott> Unless the sample is "reddit just before Obama looked like he was going to win".
15:25:50 <ais523> well, third = statistical fluctuation in the US
15:26:12 <ais523> I didn't actually know what his policies were, because his fans never seem to say
15:26:47 <ais523> actually, that's true of all sides in American politics, I think
15:26:53 <ais523> both the really big ones and the really little ones
15:27:00 <ais523> their favourite politicians are right, regardless of what they believe
15:27:16 <oklopol> i liked http://xkcd.com/920/ way more than that penis joke
15:27:35 <elliott> Java really needs shorthand for "if (x instanceof T) { T y = (T) x; ... } else { ... }"
15:27:36 <Taneb> There's a penis joke in that?
15:27:39 <oklopol> don't recall seeing anyone make that point
15:27:43 <oklopol> in a comic
15:27:46 <oklopol> therefore it is funny
15:27:51 <elliott> "cast (x as T y) { ... } else { ... }", say
15:28:03 <oklopol> Taneb: well penis enough.
15:28:18 <elliott> Taneb: as you can see, we are always on-topic.
15:28:21 <ais523> hmm, 920 is an interesting observation that isn't particularly funny, just like most of XKCD
15:28:22 <Gregor> oklopol: But is anything ever really penis enough?
15:28:29 <Vorpal> elliott, is java statically or dynamically typed? Or some mix?
15:28:36 <Gregor> ais523: It isn't particularly interesting either.
15:28:37 <ais523> reading XKCD for the observations can be interesting, if not funny
15:28:40 <oklopol> ais523: interesting observation = definition of funny
15:28:48 <Lymee> Vorpal, statically.
15:28:54 <Gregor> Vorpal: ... static. Having casts does not make you dynamically typed :P
15:28:55 <elliott> I wonder if I could get Eclipse to automatically add imports when there's only one option... rather than making me tell it to
15:29:04 <Vorpal> Gregor, true.
15:29:07 <elliott> Man, why am I even coding Java.
15:29:09 <elliott> Vorpal: Statically.
15:29:11 <fizzie> elliott: "try { T y = (T) x; ...; } catch (ClassCastException) { ... }" :p
15:29:16 <elliott> fizzie: Yeeeeeeeeeeees.
15:29:24 <elliott> fizzie: That doesn't handle NullPointerExceptions :)
15:29:24 <ais523> oklopol: did you know that children of fighter pilots of a particular nationality (was it Danish?) are 80% girls?
15:29:34 <elliott> fizzie: And also, catches ClassCastExceptions in the "...".
15:29:36 * ais523 waits for hilarious laughter
15:29:37 <fizzie> elliott: catch (Throwable) { ... }
15:29:43 <elliott> ais523: LMAO
15:29:48 <elliott> fizzie: Perfect.
15:29:58 -!- cheater_ has quit (Ping timeout: 255 seconds).
15:30:11 <fizzie> elliott: ON ERROR RESUME NEXT
15:30:13 <ais523> I, umm, invoke Sturgeon's Law
15:30:24 -!- cheater_ has joined.
15:31:59 <Taneb> I invoke Godwin's
15:32:01 <elliott> How is this still less than three hundred lines :-/
15:32:04 <Taneb> And Poe's
15:32:07 <oklopol> ais523: okay interesting observation + puzzle
15:32:24 <ais523> which one was Poe's again?
15:32:26 <oklopol> i suppose xkcd usually lacks the latter, just like your joke.
15:33:01 <ais523> wait, that's the one I thought was Sturgeon's Law
15:33:05 <Taneb> Poe's was about parodies
15:33:12 * ais523 looks up sturgeon's law
15:33:16 <ais523> ah, aha
15:33:19 <ais523> wow, that was relevant by mistake
15:34:08 <oklopol> so here's the joke version: "if i had to fuck a random person in the ass i'd make sure the probability measure is heavy on children of danish fighter pilots!"
15:34:59 <ais523> that is still not funny
15:35:05 <ais523> except in banal bizarreness
15:35:07 <oklopol> erm
15:35:16 <oklopol> actually it's very funny, although not because i made it a puzzle
15:35:37 <oklopol> but because of the "accidental" pedophilia
15:35:41 <ais523> I am laughing in real life right now, but not because what you said was actually funny
15:35:49 <ais523> more at the conversation in general
15:35:59 <Taneb> Because a ninja is tickling you?
15:36:08 <ais523> I don't think so
15:36:18 <ais523> although if a ninja were involved, I'm not convinced I'd be able to tell
15:36:43 -!- cheater_ has quit (Ping timeout: 255 seconds).
15:36:54 <elliott> <oklopol> so here's the joke version: "if i had to fuck a random person in the ass i'd make sure the probability measure is heavy on children of danish fighter pilots!"
15:36:54 <elliott> <ais523> that is still not funny
15:36:56 <elliott> i dunno, I'm laughing
15:36:59 <elliott> although i'm not sure why...
15:37:02 <ais523> elliott: ditto
15:37:10 <oklopol> i thought it was some of my best work this week
15:37:15 <ais523> I don't think it's because of the "joke", which isn't funny, but because of the conversation as a whole, which is
15:37:19 <oklopol> perhaps even better than my smileys yesterday
15:37:26 <elliott> oklopol: you should do a standup show, thanks
15:37:36 <Taneb> Explaining recursion is tricky...
15:37:44 <elliott> Taneb: try explaining recursion
15:37:58 <oklopol> hey! i thought really hard about algorithmically jokifying that and still adding a double entendre
15:38:04 <oklopol> i mean worked
15:38:12 <oklopol> argh
15:38:19 <oklopol> i failed at sentence.
15:38:21 <Taneb> Huh
15:38:22 <oklopol> let me retry
15:38:38 <oklopol> hey! i had to think really hard with my brain to manage to algorithmically jokify that and still adding a double entendre
15:38:39 <oklopol> *add
15:38:46 <Taneb> Turned out he got recursion, he just didn't get the return statement
15:39:19 <oklopol> wanna see me recurse?
15:39:21 <oklopol> fuck
15:39:21 <oklopol> fuck
15:39:26 <ais523> Taneb: wait, do you teach programming too?
15:39:31 <ais523> oklopol: stop masturbating
15:39:39 <oklopol> elliott: my standup comedy show is here
15:39:41 <Taneb> Not professionaly
15:39:44 <oklopol> that was my first joke
15:40:01 <Taneb> If I was professional, I wouldn't be on IRC at the same time
15:40:07 <ais523> and the second was, umm, you realising that the first was self-embarassing?
15:40:07 <elliott> this is too ridiculous
15:40:17 <ais523> second line, that is, not second joke
15:40:34 <oklopol> ais523: ?
15:40:36 <elliott> `addquote <Taneb> Turned out he got recursion, he just didn't get the return statement
15:40:37 <HackEgo> 500) <Taneb> Turned out he got recursion, he just didn't get the return statement
15:40:38 <oklopol> you did get my fuck joke right
15:40:38 <ais523> elliott: it's an improvement over /parting to protect me from a lethal facepalm
15:41:00 <ais523> which I did recently (it involved the usual suspect)
15:41:01 <elliott> ais523: I HAVE ABSOLUTELY NO IDEA ABOUT WHICH EVENT YOU COULD POSSIBLY BE REFERRING TO.
15:41:11 <ais523> elliott: good, don't read recent logs, I doubt you'll survive
15:41:17 <oklopol> SEE I CURSED BY SAYING FUCK AND THEN I SAID FUCK AGAIN SO I *RE*CURSED
15:41:18 <elliott> ais523: I DEFINITELY DIDN'T
15:41:19 <elliott> is this channel usually so confusing btw, or am i just tired
15:41:31 <ais523> oklopol: oh, I was thinking of an entirely different joke
15:41:32 * oklopol explains just in case
15:41:43 <ais523> elliott: it isn't, it's more confusing than usual today
15:41:49 <oklopol> ais523: well i'm sure mine was better
15:41:58 <elliott> 15:45:05: <SgeoN1> No nasty sounds for a while now. Going to turn off and on and see if the numbers get worse.
15:41:59 <elliott> wow, i actually missed this line
15:42:03 <elliott> `addquote <SgeoN1> No nasty sounds for a while now. Going to turn off and on and see if the numbers get worse.
15:42:04 <HackEgo> 501) <SgeoN1> No nasty sounds for a while now. Going to turn off and on and see if the numbers get worse.
15:42:04 <oklopol> elliott: do like me and just read your own lines?
15:42:06 <elliott> gotta curate
15:42:16 <elliott> oklopol: i dunno what you said but it was probably stupid
15:43:07 <oklopol> what did the child of a danish pilot say to his dad?
15:43:14 <oklopol> he said why do i have so many sisters?
15:43:28 <oklopol> i'm on fire :O
15:43:35 <ais523> gah, if I've started a meme and got the wrong country, I'll be annoyed
15:43:50 <oklopol> ^ he also said that because his dad was not a very good pilot
15:43:51 <Taneb> "Kan jeg have en pony?"
15:43:53 <ais523> also, I notice you implicitly assumed the fighter pilot was male
15:44:15 <oklopol> ais523: i did?
15:44:27 <ais523> err, no you didn't
15:44:33 <oklopol> i just assumed that's something you ask your own gender parent
15:44:51 <ais523> I failed to parse the sentence as it was bizarre enough as it is
15:45:23 <oklopol> well not everyone can be a child of a danish pilot in linguistics.
15:46:03 <Taneb> Right, I've succeeded in explaining the return function
15:46:17 <ais523> return isn't a function
15:46:21 -!- nooga has quit (Ping timeout: 252 seconds).
15:46:23 <Taneb> Statement, then
15:46:24 <ais523> nor can it be meaningfully written as one, except in INTERCAL
15:46:31 <ais523> (which allows you to return from functions you aren't in)
15:46:40 <ais523> or asm, I suppose
15:46:44 <ais523> or it's probably possible in Perl too
15:47:16 <ais523> because all sorts of absurd things are possible in Perl
15:47:29 <fizzie> GCC __builtin_return() is technically called a "function".
15:47:44 <oklopol> BUT IS IT A MATHEMATICAL FUNCTION?!?!?!?!?!?
15:47:59 <ais523> wait, there's a __builtin_return()?
15:48:05 <ais523> that doesn't seem to fit the scheme of the other builtins
15:48:13 <fizzie> Yes. It returns a __builtin_apply-constructed value from the containing function.
15:48:21 <fizzie> See the "constructing calls" section of the manual.
15:49:05 <fizzie> "Using the built-in functions described below, you can record the arguments a function received, and call another function with the same arguments, without knowing the number or types of the arguments."
15:49:13 -!- cheater_ has joined.
15:49:29 <fizzie> ... "However, these built-in functions may interact badly with some sophisticated features or other extensions of the language. It is, therefore, not recommended to use them outside very simple functions acting as mere forwarders for their arguments."
15:49:47 <ais523> I can't think of an application offhand
15:50:22 <fizzie> Given a generic function pointer, it may be possible to construct another function that, say, logs something to a log and then "forwards" the call.
15:50:32 <fizzie> Without knowing the type of the function.
15:50:33 <ais523> hmm, that was an unintentional pun
15:51:18 <oklopol> you mean your application thingie
15:51:43 <fizzie> You could also use __builtin_return_address(1) to get the address to where your latest caller should return, but there's no portable way of actually doing a multi-level return there.
15:52:34 <ais523> oklopol: thanks for the correction
15:52:59 <oklopol> hey i have a good one: why were the child of a pilot and the danish child both women?
15:53:06 <ais523> fizzie: can't you get your own return address, then overwrite it?
15:53:36 <fizzie> ais523: Not portably, I don't think; and in any case that'd probably leave the stack somewhat messed up, depending on the calling convention of course.
15:53:39 <oklopol> because they were the same child :D
15:54:01 <ais523> fizzie: good point
15:54:10 <ais523> it'd return correctly, but not set up the stack for the next return
15:54:27 <oklopol> ais523: i think you have discovered the funniest fact in the world
15:55:24 <fizzie> There's another built-in to get frame pointers, and if you know the calling convention it might be possible to do some sort of manual stack unwinding. Though it's not really "C" at that point any more.
15:55:57 <ais523> oh, I remember why I know those builtins
15:56:02 <ais523> it's because of gcc-bf, I had to actually implement them
15:56:25 <ais523> I was looking into a BF backend for llvm, but it makes all sorts of frustrating assumptions
15:56:51 <ais523> like all its primitive operations either existing on the system it targets, or being implemented in terms of other llvm primitives that do exist
15:57:36 <elliott> how unfair
15:58:44 <ais523> gcc is better, in that it doesn't deliberately make any assumptions that contradict the way that BF does
15:58:54 <ais523> although it effectively does as the codepaths for, say, 8-bit moves not existing don't work properly
16:00:27 <elliott> :D
16:03:09 <fizzie> ais523: Manipulating the return stack could let you define a RETURN "function" (well, word), but again not portably (you're not supposed to touch return stack values you didn't put there) and it wouldn't work properly when called from inside another control-flow construct that used the return stack.
16:03:24 <fizzie> Er, I forgot to mention "in FORTH" in there anywhere.
16:03:42 <ais523> you do functions by hand in FORTH, don't you?
16:03:49 <ais523> hmm, I suppose that would let you have two independent call stacks
16:04:00 <ais523> and that might even be useful, perhaps? I'm not sure
16:05:31 <fizzie> Many cooperative-multitasking systems in FORTHs are based on having multiple sets of control-flow/data stacks (for each stack).
16:05:38 -!- foocraft has joined.
16:06:24 <fizzie> Most of the control-flow stack manipulations are not portable in the ANS Forth sense.
16:06:37 <fizzie> "The control-flow stack may, but need not, physically exist in an implementation. If it does exist, it may be, but need not be, implemented using the data stack. The format of the control-flow stack is implementation defined."
16:07:23 <fizzie> Portably you can mostly just use it for storing temporary data values when not crossing control-flow-structure nesting depth.
16:17:21 <Taneb> Here's an on-topic idea: Queue data structure with fast track passes
16:18:41 <oklopol> ben ate taneb
16:18:52 <Taneb> He did?
16:19:22 <oklopol> i saw: boob was i :(
16:23:29 <oklopol> EU? EU queue!
16:24:03 <oklopol> i apologize the cheating but that was just too good to pass
16:24:06 <oklopol> *for
16:24:07 <ais523> oklopol: that last one is execllent
16:24:12 <ais523> *excellent
16:24:22 <oklopol> yeah
16:24:44 <oklopol> although as a general rule i don't use proper names or acronyms because it makes palindroming kind of trivial
16:25:13 <oklopol> at least in finnish, i haven't done much in english since it seems pointless in languages where reversed text isn't pronounced reversed
16:26:27 -!- elliott has quit (Remote host closed the connection).
16:26:40 <oklopol> yay!
16:26:52 -!- elliott has joined.
16:27:11 <ais523> [17:25] <-- elliott has left this server (Remote host closed the connection). [17:26] <oklopol> yay! [17:26] --> elliott has joined this channel (~elliott@unaffiliated/elliott).
16:27:15 <elliott> :(
16:28:41 <oklopol> so, ol' git felt a rat left igloos
16:28:45 <Taneb> Lion oil!
16:29:11 <oklopol> also english has way too much of that gh and sh stuff
16:29:19 <Phantom_Hoover> Taneb, the oil of champions!
16:29:31 <oklopol> i mean "the" is probably just there to annoy palindromists
16:29:54 <oklopol> oops, i eh: "the" is poo.
16:30:08 <oklopol> luckily everything is a verb in english
16:30:26 <Phantom_Hoover> Everything everythings in English.
16:32:04 <oklopol> see palindrome 'n' an emo r'd nil apees.
16:32:11 <oklopol> (an apee is someone being aped)
16:32:17 <oklopol> argh
16:32:23 <oklopol> see: palindrome 'n' an emo r'd nil apees.
16:32:36 <oklopol> r'ing is when you... well whatever
16:32:41 <Taneb> Bye
16:32:44 <oklopol> this language is too hard
16:34:43 <oklopol> seven a mom. o? hey bye homo man! eves :)
16:35:14 <oklopol> i have no idea what "seven a mom" was meant to imply
16:35:31 <oklopol> but the rest is okay i suppose
16:35:36 <oklopol> why won't anyone play with me :(
16:35:58 <oklopol> maybe we could do math instead?
16:36:27 -!- Taneb has quit (Quit: Taneb).
16:36:30 <oklopol> i generalized my characterization as follows: actually essentially the same thing characterizes all products of CA such that G^n = G for some n!=1
16:36:39 <oklopol> and on arbitrary sofic shifts if i'm not mistaken
16:36:40 -!- Taneb has joined.
16:36:46 <Taneb> Hello
16:37:11 <oklopol> sofic shifts of course being the CA images of SFT's which are subshifts obtained by using a finite set of forbidden blocks
16:37:33 <oklopol> hi Taneb, do you wanna do palindromes or math?
16:37:47 <Taneb> I'm going to do math.
16:37:50 <oklopol> !
16:37:57 <Taneb> I'm no good at palindromes
16:38:09 <oklopol> me neither, as recently proven
16:38:15 <Taneb> Better than me
16:38:32 <oklopol> eh, "seven a mom"
16:38:38 <oklopol> you would never say "seven a mom"
16:38:56 <Taneb> Not personally.
16:39:04 <oklopol> well there you go
16:39:05 <Taneb> I would say "seven a mum"
16:39:08 <Taneb> British
16:39:24 <Taneb> Heck, I may even say "seven a mam" 'cos I'm Northern
16:39:42 <oklopol> well yeah but you are not a homu man, you are a homo man
16:40:01 <oklopol> so seven a mum would make no sense
16:40:21 <oklopol> but maybe i could "home u man"! do you ever say "muem"?
16:40:34 <Taneb> No?
16:40:43 <oklopol> ok nm then
16:40:54 <Taneb> "mu, emphasis"?
16:41:39 <fizzie> oklopol: Eat, emit! Ho, bomb-mob. Oh, time tea?
16:42:03 <oklopol> Taneb: thank you, now i just need to fix the small hpm problem
16:42:13 <oklopol> fizzie: nice, can you also make a palindrome?
16:42:16 -!- Slereah_ has quit (Ping timeout: 246 seconds).
16:42:50 <Taneb> Oh dear; read ho!
16:42:57 <oklopol> also i'm not really following the story :D
16:43:05 <oklopol> Taneb: you are a natural
16:43:27 <oklopol> "lion oil" was just awesome
16:44:07 <Taneb> E, esoteric, ire to see.
16:44:19 <oklopol> :D
16:44:33 <Taneb> So, is there an annoying esoteric programming language called "E"?
16:44:35 <oklopol> ^ also a palindrome
16:44:45 <oklopol> Taneb: there certainly is a language called that
16:45:37 <Taneb> But it's conventionaaaaal!
16:47:24 <fizzie> Do now that it... naw, it! I want it! Ah, two nod.
16:47:50 <oklopol> yay
16:47:51 <elliott> wouter has an e i think
16:48:00 <elliott> the capability-based E is hardly conventional, though
16:48:08 <oklopol> fizzie: and no grammatical errors either!
16:48:13 <elliott> http://strlen.com/amiga-e ;; Wouter's is rather more conventional :D
16:49:06 <oklopol> dim u, he be humid!
16:50:08 <oklopol> traditional? a no-IT iDart!
16:50:34 <oklopol> sry couldn't make conventional work
16:51:09 <Taneb> Flow ebb Malbolge, eg., lob lamb be wolf
16:51:39 <oklopol> :D
16:52:13 <oklopol> what's eg tho
16:52:25 <Taneb> eg. means for example
16:53:15 <oklopol> right
16:53:18 <fizzie> Isn't that "e.g." CONVENTIONALLY?
16:53:21 <oklopol> yeah
16:53:28 <Taneb> Probably
16:53:49 <oklopol> i thought you spelled it wrong so i checked it, and the dictionary disagreed with your spelling so i decided eg actually did not mean for example
16:54:29 <oklopol> so like
16:55:32 <oklopol> i suppose "flow ebb" is like you telling malbolge to be easier to write?
16:55:47 <Taneb> Yep.
16:55:55 <Taneb> Or to understand, like the tides
16:55:56 <oklopol> but then you say "stop being a lamb, be a wolf instead", are sheep hard to write?
16:56:27 <Taneb> Lamb has a silent lette
16:56:30 <Taneb> r
16:56:34 <oklopol> :D
16:56:39 <oklopol> okay
16:56:40 <Taneb> Sheep is the same in the plural
16:56:42 <oklopol> you are a fucking genius
16:57:00 <Taneb> So I'm told
16:57:01 <oklopol> i don't think i'm ever making another palindrome
16:58:02 <Taneb> SS eh? Come on, no emo chess.
16:58:26 <oklopol> okay i'm not telling you what my characterization is
16:58:27 <Taneb> SS eh being my lack of understanding is like a ship.
16:58:30 <oklopol> you'd just go like lolol triv
16:58:54 <Taneb> I have no idea what's going on
16:58:59 <Taneb> I'm just writing palindromes
16:59:46 <oklopol> i thought you meant "oh you're a member of the SS" and then compared killing jews to emo chess
17:00:06 <oklopol> they have many similarities
17:00:14 <Taneb> That works too
17:00:33 <Taneb> I just want to say that the Nazis killed more people than Jews
17:01:28 <Taneb> Just everyone only remembers the jews
17:01:37 <Taneb> Yeah, it was mainly Jews.
17:01:46 <Phantom_Hoover> And 1 clown.
17:02:10 <Zwaarddijk> poor clown
17:02:13 -!- cheater_ has quit (Ping timeout: 255 seconds).
17:02:17 <oklopol> Phantom_Hoover: nothing wrong with a bit of emo chess humor, elliott does it all the time as well.
17:02:17 <Taneb> That was the communists
17:02:27 <Taneb> Who killed that clowwn
17:03:34 <Taneb> Bye
17:03:52 <oklopol> i'm not giving you another one
17:04:28 <Gregor> Phantom_Hoover: The clown was gay.
17:04:47 <Phantom_Hoover> Gregor, also a gypsy Jehova's witness?
17:05:03 <Gregor> That must have been one complicated badge they made him wear ...
17:08:28 -!- Taneb has quit (Ping timeout: 276 seconds).
17:08:51 <oklopol> so this was fun
17:08:53 <oklopol> what's next?
17:09:41 <Gregor> Blackjack and hookers.
17:09:49 <Phantom_Hoover> Gregor, WP says they just stuck all the badges one below the other.
17:10:05 <Gregor> Phantom_Hoover: Oh, I thought there were cases where they layered :(
17:10:39 <Phantom_Hoover> Gregor, yeah, Jews had the coloured inverted triangle over a yellow one.
17:10:48 <Gregor> Ahh
17:11:30 <Phantom_Hoover> So I guess it'd be a purple triangle above a pink triangle above a brown triangle.
17:12:30 <oklopol> i suppose someone with that many triangles stacked on top of each other is certainly a "-gon"er
17:12:55 <olsner> was that a pun?
17:13:29 <oklopol> yes
17:13:35 <oklopol> a horrible horrible pun
17:13:36 <olsner> ok
17:13:45 <oklopol> it's the theme of the day
17:13:53 <oklopol> how unusual
17:14:49 -!- cheater_ has joined.
17:20:34 -!- cheater__ has joined.
17:21:53 <oklopol> wow i really need to sleep
17:21:54 <oklopol> ->
17:23:03 -!- cheater_ has quit (Ping timeout: 250 seconds).
17:23:28 -!- foocraft has quit (Quit: if you're going....to san. fran. cisco!!!).
17:34:44 -!- Nisstyre has quit (Remote host closed the connection).
17:37:35 -!- zzo38 has joined.
17:39:43 -!- Nisstyre has joined.
17:40:20 -!- Taneb has joined.
17:40:35 <Taneb> Hello!
18:00:16 -!- Phantom_Hoover has quit (Ping timeout: 255 seconds).
18:00:51 <Taneb> Hello?
18:02:06 <elliott> hello
18:07:19 -!- monqy has joined.
18:13:42 -!- nooga has joined.
18:29:47 -!- Taneb has left.
18:30:52 -!- cheater__ has quit (Ping timeout: 255 seconds).
18:35:33 -!- ais523 has quit (Remote host closed the connection).
18:41:55 -!- monqy_ has joined.
18:42:42 -!- monqy has quit (Disconnected by services).
18:42:45 -!- monqy_ has changed nick to monqy.
18:44:00 -!- cheater__ has joined.
18:47:56 -!- _foocraft has quit (Quit: So long, and thanks for all the fish!).
18:48:23 <boily> hello.
18:48:30 <elliott> hello
18:50:40 -!- nooga has quit (Ping timeout: 255 seconds).
19:11:42 <Gregor> lulululul Star Trek: TAS is so cartoonish X-D
19:12:27 <olsner> it is, after all, the animated series
19:13:18 <Gregor> That doesn't mean it has to be cartoonish per se :P
19:15:04 -!- Phantom_Hoover has joined.
19:17:24 <olsner> it doesn't? is cartoon a specific category of animation?
19:17:49 <elliott> cartoonISH
19:18:07 <olsner> elliott: well, if it is a cartoon, of course it's cartoonish
19:18:24 <elliott> `addquote * Sgeo is risking massive forest fires <Sgeo> The bacon is worth it
19:18:25 <HackEgo> 502) * Sgeo is risking massive forest fires <Sgeo> The bacon is worth it
19:18:45 <monqy> `quote 501
19:18:46 <HackEgo> 501) <SgeoN1> No nasty sounds for a while now. Going to turn off and on and see if the numbers get worse.
19:19:13 <monqy> sgeo confuses me
19:19:31 <olsner> `quote 500
19:19:33 <HackEgo> 500) <Taneb> Turned out he got recursion, he just didn't get the return statement
19:19:37 <olsner> `quote 499
19:19:39 <HackEgo> 499) <fizzie> Deewiant: Well, I guess you could argue so. But to me a it's not a real clobbering if you can still tell there was something that got clobbered.
19:19:47 <olsner> `quote 498
19:19:49 <HackEgo> 498) <fizzie> elliott: You have become the very thing you fought for!
19:19:54 <olsner> `quote 497
19:19:56 <HackEgo> 497) <fungot> elliott: i have yet to demonstrate that the sml community has less productive power than the real chunk of meat.
19:20:30 <olsner> ok, caught up with the added quotes now, carry on
19:20:52 <elliott> :D
19:23:46 -!- pikhq has joined.
19:24:26 -!- pikhq_ has quit (Ping timeout: 260 seconds).
19:29:49 -!- oerjan has joined.
19:34:34 -!- shachaf has joined.
19:39:16 -!- cheater__ has quit (Ping timeout: 255 seconds).
19:39:59 <oerjan> <Taneb> I invoke Godwin's
19:40:08 <oerjan> i say someone fit in here rather quickly
19:41:35 <olsner> Godwin's what? His theremin playing cat?
19:42:22 <oerjan> law.
19:42:43 <olsner> oh, that
19:43:11 <oerjan> i take it you did nazi it coming.
19:44:23 <oerjan> <elliott> ais523: I HAVE ABSOLUTELY NO IDEA ABOUT WHICH EVENT YOU COULD POSSIBLY BE REFERRING TO.
19:44:40 <oerjan> which is presumably why you absolutely didn't lampshade it in privmsg
19:45:30 <elliott> Eh?
19:45:38 <elliott> Oh :P
19:45:54 <elliott> How do you state an actual negative with these towers
19:45:54 <oerjan> NOTHING, ABSOLUTELY NOTHING
19:46:01 <oerjan> towers?
19:51:37 -!- cheater__ has joined.
19:52:58 <oerjan> <Taneb> Heck, I may even say "seven a mam" 'cos I'm Northern
19:53:16 <oerjan> by some freak coincidence taneb is elliott's next door neighbor
19:58:51 <olsner> hehe, read "freak accident" there ... something like a teleporter malfunction that moved his entire home and made him elliott's neighbor
19:59:16 <oerjan> well i didn't specify _how_ freaky
20:00:42 <olsner> well, *coincidence* would be "... it just so happens that taneb's selected target coordinates made him elliott's neighbor"
20:01:07 -!- kwertii has joined.
20:01:10 <olsner> I think freak accidents are generally more freaky than freak coincidences
20:09:34 -!- calamari has joined.
20:31:46 -!- asiekierkaDS has joined.
20:31:51 <asiekierkaDS> hi
20:33:05 <olsner> Hi! Welcome!
20:33:20 <oerjan> Auf Wiedersehen! Goodbye!
20:33:27 <asiekierkaDS> D:
20:33:42 <olsner> bye bye, oerjan!
20:33:44 <oerjan> wait you mean we are _not_ doing sound of music?
20:34:20 <olsner> well, I think we got the lyrics wrong, also I don't know the lyrics
21:03:31 -!- Taneb has joined.
21:03:41 <Taneb> Hello!
21:04:13 <oerjan> that's what they all say
21:05:44 <olsner> oerjan: no, the last one just said hi
21:08:03 <oerjan> that's just the polish version duh
21:08:28 <olsner> no, the polish version is an indecipherable sequence of consonants
21:09:23 -!- boily has quit (Ping timeout: 252 seconds).
21:09:39 <olsner> some combination of sz, cz, rz, s, c, ś, ź and/or ć, iirc
21:10:12 <oerjan> hm...
21:10:29 <oerjan> `translatefromto en pl Hi
21:10:31 <HackEgo> No output.
21:10:34 <oerjan> `translatefromto en pl Hello
21:10:36 <HackEgo> No output.
21:10:48 <oerjan> `translatefromto en no Does this work at all any more?
21:10:50 <HackEgo> No output.
21:10:57 <oerjan> apparently not.
21:12:24 <oerjan> `translate Fru Ibsens ripsbusker og andre buskvekster
21:12:26 <HackEgo> No output.
21:13:30 -!- azaq23 has quit (Quit: Leaving.).
21:14:30 <olsner> oerjan: why the sudden interest in mrs ibsen's bush?
21:16:47 <oerjan> i am merely investigating regarding the possibility of translating norwegian tongue-twisters
21:17:33 <olsner> can't hold a candle to sex laxar i en laxask
21:17:49 -!- asiekierkaDS has quit (Ping timeout: 255 seconds).
21:18:15 <oerjan> nobody asked for lax sex
21:19:24 <olsner> google translate renders that as "six salmon in a laxask"
21:19:51 <olsner> btw, I love how "wrong" is pronounced "fail" in norwegian
21:21:48 <zzo38> What is a laxask?
21:21:56 -!- MigoMipo has joined.
21:22:01 -!- MigoMipo has quit (Read error: Connection reset by peer).
21:22:14 <Gregor> To power cycle your modem:
21:22:14 <Gregor> 1. Shut down your computer
21:22:14 <Gregor> Comcast: So much fail :P
21:22:25 <oerjan> apparently, a box for keeping salmon in
21:22:30 -!- MigoMipo has joined.
21:22:55 <oerjan> seks laks i en lakseske
21:23:04 <zzo38> Someone showed me some article including mathematics and a code for recognizing shapes by converting the outline to a graph that stays the same regardless of orientation or scale.
21:23:12 <olsner> (no I don't know if anyone in sweden actually has boxes like that)
21:24:04 -!- MigoMipo has quit (Read error: Connection reset by peer).
21:24:41 -!- MigoMipo has joined.
21:25:02 <oerjan> olsner: it's probably popular among seasick sailors and their nurses
21:25:07 <zzo38> My brother's character is doppelganger but have not decided the class
21:25:34 <Phantom_Hoover> <zzo38> Someone showed me some article including mathematics and a code for recognizing shapes by converting the outline to a graph that stays the same regardless of orientation or scale.
21:25:54 <Phantom_Hoover> This is presumably the layman's definition of graph, not an actual graph graph.
21:25:59 <olsner> oerjan: probably... I don't know any nurses or sailors though
21:26:41 <zzo38> Phantom_Hoover: Yes.
21:26:48 -!- elliott has quit (Read error: Connection reset by peer).
21:26:56 <zzo38> That is correct.
21:26:59 -!- elliott has joined.
21:28:25 <olsner> so, "converting the outline into a pretty picture" is what it means?
21:29:17 <elliott> <Phantom_Hoover> This is presumably the layman's definition of graph, not an actual graph graph.
21:29:19 <elliott> whats the laymans
21:29:20 <Phantom_Hoover> And then moving it about a b— wait, you can't have a graph that's the same regardless of orientation or scale.
21:29:31 <Phantom_Hoover> elliott, a drawing of y=f(x).
21:29:59 <elliott> oh
21:30:08 <elliott> i would presume it means a graph graph
21:30:23 <Phantom_Hoover> Graphs look the same regardless of orientation and scale by definition.
21:30:39 <Phantom_Hoover> Orientation and scale don't even make sense with regards to them.
21:44:20 <elliott> BILLING SUMMARY
21:44:20 <elliott> ---------------
21:44:20 <elliott> PRIOR BALANCE: $0.00
21:44:20 <elliott> [2011-06-25] $-10.67 = Prorated refund for rutian - 256 slice
21:44:20 <elliott> ---------------
21:44:21 <elliott> NEW BALANCE: $-10.67
21:44:27 <elliott> rip
21:45:44 -!- MigoMipo has quit (Read error: Connection reset by peer).
21:49:36 <zzo38> If self-modifying code is allowed, you can possibly store some variables in the place of the immediate (or indirect, for pointer variables) operand to instructions, or boolean variables changing between JMP JZ JNZ if it is a condition with multiple parts. Can any platform-independent compiler do this?
21:53:38 -!- calamari has quit (Quit: Leaving).
22:06:09 <Phantom_Hoover> http://www.maa.org/devlin/devlin_06_04.html
22:06:18 <Phantom_Hoover> "For other examples of the appearance of the Golden Ratio in Nature, the growth of the Nautilus shell is governed by the Golden Ratio,"
22:06:30 <Phantom_Hoover> A piece on abuse of the golden ratio abuses the golden ratio.
22:06:40 <Phantom_Hoover> (Nautilus shells are logarithmic, but not golden.)
22:07:35 <oerjan> a missed golden opportunity
22:08:28 <Taneb> Hello
22:08:54 <Phantom_Hoover> Hello.
22:12:47 <Taneb> I've just had an awful idea for an esoteric programming language
22:13:01 <elliott> not uncommon
22:13:37 <zzo38> Taneb: What idea?
22:14:14 <Taneb> The program is a lambda calculus thing
22:14:20 <Taneb> Just one.
22:14:31 <Taneb> It is then run as a church numeral
22:14:53 <Taneb> And the result is taken as a base 256 number and converted into ASCII and outputted
22:15:04 <Taneb> If any of that makes sense
22:15:27 <oerjan> well since that's how a part of lazy-k already works iirc...
22:15:27 <elliott> Taneb: see lazy k
22:16:34 <Taneb> Not quite what I was going for
22:16:53 <elliott> well, lazy k + abstraction eliminator :P
22:17:01 <elliott> to go from lambda-calculus → SKI
22:17:12 <Taneb> I have no idea what SKI is about
22:18:03 <oerjan> O_O
22:18:07 <oerjan> shocking!
22:18:14 <monqy> im shocked
22:19:49 <elliott> Taneb: just predefined combinators:
22:19:57 <elliott> S = \x.\y.\z.(xz)(yz)
22:19:59 <elliott> K = \x.\y.x
22:20:02 <elliott> I = \x.x
22:20:04 <elliott> where \ is lambda
22:20:09 <elliott> and you just compose your programs out of those + application
22:20:13 <elliott> no lambda abstractions
22:20:40 <elliott> (I is equivalent to SKK and SKS, and so is technically superfluous) (note: application is left associative, i.e. SKK = (SK)K)
22:23:05 <Taneb> So, it's equivalent to Lambda Calculus?
22:23:44 <elliott> yes, but then so are brainfuck, and underload :)
22:23:51 <Gregor> <lifechamp> how do i create a var params for function f (params) { g1(key); g2(params[key]) } // Dear #esotericers, I challenge you to figure out wtf this means.
22:23:56 <elliott> there's a simpler way to specify reduction of SKI terms, but that's the definition in terms of the lambda calculus
22:24:13 <monqy> javascript?
22:24:18 <elliott> Gregor: They want variadic keyword arguments.
22:24:27 <elliott> Gregor: i.e. they want to be able to call f(a:b, c:d)
22:24:30 <elliott> and iterate through params
22:24:32 <elliott> as {a:b,c:d}
22:24:35 <elliott> I _think_.
22:24:53 <elliott> Gregor: a la python's TWO ASTERISKS kwargs
22:24:59 <monqy> **
22:25:10 <elliott> tasterisks
22:25:12 <elliott> disasterisks
22:25:17 <elliott> oh, there's my new band name
22:25:32 <oerjan> !unlambda ` ```sii ```sii ``s``s`ks``s`kkii .* i
22:25:43 <oerjan> eek
22:26:05 <Gregor> elliott: TIME TO FIND OUT
22:26:16 <Gregor> <Gregor> lifechamp: On behalf of the rest of ##javascript , may I say "Whaaaaaaaaaaaaaaa?"
22:26:43 <monqy> a good answer
22:26:45 <oerjan> oh hm
22:26:50 <oerjan> !unlambda `` ```sii ```sii ``s``s`ks``s`kkii .* i
22:26:51 <EgoBot> ​****************************************************************************************************************************************************************************************************************************************************************
22:27:27 -!- GuestIceKovu has joined.
22:27:41 <monqy> hi guesticekovu
22:29:17 <oerjan> Taneb: unlambda is the first and most famous SKI esolang
22:29:52 <Taneb> Okay
22:29:59 <elliott> but the worst :(
22:30:06 <oerjan> it's not lazy though. in fact it has continuations and callcc
22:30:09 <elliott> it's ok i forgive madore
22:32:08 <oerjan> it was probably also the first _functional_ esolang.
22:34:33 <Phantom_Hoover> elliott, why, is his erotic elf fanfiction just too good to hate him?
22:34:43 <elliott> wat
22:34:55 <Phantom_Hoover> *erotic gay elf fanfiction
22:35:00 <Phantom_Hoover> Erm, you were the one who found it.
22:35:14 <elliott> no i wasn't?
22:35:22 <oerjan> XD
22:35:33 <Phantom_Hoover> DON'T DENY IT
22:35:33 <elliott> i forget who mentioned it but you can hardly "find" something linked directly on someone's webpage :P
22:35:39 <elliott> anyway this is inane you're frightening the guests.
22:35:44 <Phantom_Hoover> It is actually the reason you got into esolangs.
22:35:52 <elliott> Yes totally.
22:35:59 <elliott> PH has everything figured out.
22:36:05 <oerjan> elliott: um sure you can, when it's something other than you were looking for...
22:36:12 <Phantom_Hoover> You were looking for gay erotic elf fanfiction and you found out that this guy Madore also had this esolang thing.
22:36:16 <Phantom_Hoover> MYSTERY SOLVED
22:36:23 <elliott> `quote gay vampire
22:36:24 <HackEgo> 401) [on Sgeo's karaoke] <Phantom_Hoover> That is the thing that made me into a gay vampire.
22:36:26 <elliott> I rest my case.
22:38:01 <oerjan> well madore is a creep anyway, never answered any of my emails.
22:39:00 <elliott> :D
22:42:42 <oklopol> morning
22:44:33 <Taneb> Good evening, my further East than me addresser
22:56:36 -!- elliott has quit (Ping timeout: 260 seconds).
23:02:21 -!- Taneb has quit (Remote host closed the connection).
23:11:30 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
23:23:58 -!- GuestIceKovu has changed nick to Slereah.
23:24:18 <oerjan> O_o
23:32:25 <Phantom_Hoover> I'm just imagining this nondescript guy in the corner of a bar suddenly throwing off his cloak and exclaiming "it is I, Slereah!"
23:36:22 -!- copumpkin has joined.
23:40:19 * oerjan is now reminded of 'allo 'allo
23:40:52 <oerjan> except leclerc never managed to look nondescript
23:54:55 -!- kwertii has quit (Quit: bye).
23:55:19 * Phantom_Hoover → sleep
23:55:20 -!- Phantom_Hoover has quit (Quit: Leaving).
23:57:17 <oklopol> "<oerjan> by some freak coincidence taneb is elliott's next door neighbor" <<< a neighbor of mine was on #proglangdesign some years ago, a channel of about 6 people at that time
23:57:39 <oklopol> not next door neighbor but less than 100m
23:59:05 <oklopol> "<oerjan> wait you mean we are _not_ doing sound of music?" <<< one more family guy joke is ruined for me by changing it from randomness to reference :(
←2011-07-11 2011-07-12 2011-07-13→ ↑2011 ↑all