00:00:04 -!- Patashu has joined.
00:08:57 -!- augur has quit (Ping timeout: 240 seconds).
00:10:40 <Sgeo> elliott, kallisti Phantom_Hoover update no Ngevd because he's not here
00:12:12 -!- augur has joined.
00:19:54 -!- quintopia has quit (Ping timeout: 260 seconds).
00:20:43 -!- quintopia has joined.
00:23:40 -!- pikhq_ has joined.
00:24:15 -!- pikhq has quit (Ping timeout: 276 seconds).
00:28:01 <HackEgo> coppro prefers his nickname, Pooppy.
00:28:20 <HackEgo> =pzҶ*Gm...Zo'.LƖ2..`W0O.G?H.7x=9h..> #I.nb.s#mN~s>.2. ?.p?..b6$p9.wVgD.\...jMN*uaD.(..j+vߨnQ \ ^&4,.>&G*R}N!!1.|p'A(;iEﺾ.}.kAiyWb%cM.JE4XMQ_.2.W5^^..9..\,[!DP[Djx^.:Nߩsf..g벍?.?̥"tq.Ƚ2....v0.<θ¹y=I^^.9{r:c;'{нi@FU/Jv...a.-v
00:42:01 <HackEgo> coppro prefers his nickname, Pooppy.
00:42:15 * Sgeo assumes that Gregor set that
00:42:23 <coppro> Sgeo: you assume correctly
00:43:08 <HackEgo> 2012-01-02.txt:00:42:40: <Phantom_Hoover> `log `learn coppro
00:46:32 <lambdabot> Data.IORef atomicModifyIORef :: IORef a -> (a -> (a, b)) -> IO b
00:55:48 <elliott> Sgeo: 16:08:22 <Sgeo> Is hSetBuffering stdin NoBuffering >> hSetBuffering stdout NoBuffering supposed to work on Windows?
00:56:00 <elliott> http://hackage.haskell.org/trac/ghc/ticket/2189
00:58:00 <shachaf> elliott: Are you reading #haskell logs?
00:58:08 <shachaf> Instead of just joining the channel?
00:58:16 <shachaf> Well, I suppose you're there now.
00:58:26 <shachaf> If only there was a mechanism for posting directly into the logs.
00:59:00 <elliott> shachaf: I read logs to figure out why it was so silent.
00:59:44 <shachaf> elliott: Curses, you've figured out our "silence as soon as elliott joins the channel" plan.
01:03:07 <coppro> it would be terrible if someone invented a mechanism to post directly into the logs
01:03:11 <coppro> such as by saying things in the channel
01:05:21 <elliott> coppro: http://www.youtube.com/watch?v=xECUrlnXCqk
01:09:15 <Sgeo> elliott, :( at bug lasting for so long
01:11:03 <elliott> Sgeo: It's the touch of Deewiant.
01:11:11 <elliott> Every compiler bug he touches never gets fixed, ever.
01:18:06 <shachaf> The way too fix "writeFile complains about too-many-open-files" is obviously to convert Char to Word8.
01:19:05 <elliott> shachaf: His message implies to me that he hadn't actually written it yet.
01:19:14 <elliott> <mmos1127_> I'm a bit unclear, but tell you what I've write it using String and System.IO.writeFile and if it crashes becasue too many files are open, then I'll know I need to change something.
01:19:19 <elliott> I think "I've" should be "I'll".
01:30:17 <Phantom_Hoover> WTF, Cracked only started in its current form in 2007?
01:30:32 -!- Darth_Cliche has joined.
01:31:02 <Phantom_Hoover> It's gone from 'crappy ripoff of Mad' to 'crappy ripoff of Maxim' to 'respected(ish), well-known website' very quickly.
01:32:28 <Phantom_Hoover> Well, as in the name is well-known and there isn't any great demerit associated with it.
01:33:54 -!- DCliche has quit (Ping timeout: 240 seconds).
01:42:01 -!- sebbu2 has changed nick to sebbu.
01:42:10 -!- Phantom_Hoover has quit (Quit: Leaving).
01:42:31 <shachaf> New rule: Balance ":-(" and ":-)" smileys.
01:44:10 * elliott enjoys watching Sgeo detail all the ways in which Active Worlds' API is the most broken piece of shit ever without actually being able to bring himself to say "it's a terrible library for a terrible game".
01:44:20 <elliott> Sgeo: Also seriously why don't you just implement the network protocol.
01:44:35 <Sgeo> It's a terrible library for a good game.
01:44:44 <Sgeo> elliott, against the TOS I think.
01:44:51 <Sgeo> Also, I don't know it
01:45:04 <elliott> Sgeo: Against the TOS in a completely indistinguishable way.
01:45:09 <elliott> Also, no, it's a terrible library for a terrible game.
01:45:32 <Sgeo> elliott, there are things you cannot do with the SDK that you can do with the network protocol..
01:49:00 -!- zzo38 has joined.
01:51:11 -!- zzo38 has set topic: This cannel Copywrong 0 YOLD Rogger Sarcridh - All lights reversed (Except for things copyrighted by Gregor Richards) | http://codu.org/logs/_esoteric/.
01:53:42 -!- zzo38 has set topic: This channel Copywrong 0 YOLD Rogger Sarcridh - All lights reversed (Except for things copyrighted by Gregor Richards) | http://codu.org/logs/_esoteric/.
01:57:46 <zzo38> TeX can make file with binary specials although DVItype will show a message about non-ASCII specisl if you do that.
01:58:57 <elliott> shachaf can't make file with binary specials.
02:00:21 <shachaf> Binary specials! Eight bits for the price of seven.
02:01:06 <zzo38> I did it because of the printer drivers for the new computer I will make, are all DVI-based, so it uses what are called "Black Associates specials" which are binary data in DVI specials (although a DVI file with no specials will still print perfectly OK). Such as, colors (CMYK + grayscale value + pure black/white only value)
02:02:08 <zzo38> However, TeX has no command built-in for converting numbers to binary data to specials, so I wrote macros to do that (TeX is very powerful and can do these kind of things!).
02:02:48 <zzo38> So, I can put 1-byte numbers, 2-byte numbers, and 4-byte numbers. All are big-endian to be consistent with the format of other numbers in DVI file.
02:06:45 <elliott> Well, #haskell is still bad.
02:09:51 <shachaf> elliott: Maybe it's because zzo38 is no longer in there.
02:12:14 <Sgeo> elliott, am I helping or hurting?
02:12:25 <elliott> Why do people ask questions like that?
02:13:11 <elliott> The most likely answers range from lukewarm to negative.
02:16:09 -!- DCliche has joined.
02:19:16 -!- Darth_Cliche has quit (Ping timeout: 252 seconds).
02:35:39 <zzo38> I think #haskell is bad too they don't like to answer my questions, sometimes other thing they didn't answer either
02:36:44 <elliott> shachaf: We have consensus.
02:44:25 <shachaf> elliott: Questions like what?
02:45:39 -!- oklopol has joined.
02:45:42 <oklopol> oasijfoiasjdfoaijwrglkjwelgkjweaklgja
02:45:47 <oklopol> okokokokokokokokokokokokoko
02:50:08 <elliott> shachaf: Like <Sgeo> elliott, am I helping or hurting?.
02:50:19 <elliott> oklopol: how many phds do you have now
02:50:24 <oklopol> hi elliott, are you the same elliott i talked to last time i was here?
02:51:00 <oklopol> you really look like him though
02:51:32 <oklopol> are you in a university yet?
02:52:00 <elliott> well no, i'm skipping the university thing and just getting the phd.
02:52:07 <elliott> because i'm efficient, unlike you
02:52:50 <shachaf> elliott: Don't PhDs typically involve universities too?
02:53:18 <elliott> shachaf: That's what they tell everyone to keep out the riff-raff, but if you're actually any good you just get the Ph.D. direct.
02:53:23 <oklopol> i have made peace with failing at life.
02:53:26 <elliott> Of course people like oklopol never find out the real truth.
02:53:38 <elliott> They must resign themselves to the fake truth.
02:53:55 <oklopol> yes, i just do what people tell me to and try to make the best of it.
02:54:26 <shachaf> elliott: Direct from The Elliott PhD Authority?
02:56:36 <coppro> shachaf: University of Phoenix, obv
03:00:20 <elliott> shachaf: I fixed a silent type error in some unsafeCoerce-using code today.
03:01:44 -!- Klisz has joined.
03:04:29 -!- DCliche has quit (Ping timeout: 252 seconds).
03:07:41 <shachaf> elliott: Was it *your* unsafeCoerce-using code?
03:08:07 <shachaf> If so, I have no sympathy for you.
03:08:19 <oklopol> i have enough sympathy for everyone
03:08:52 <shachaf> Take oklopol's sympathy, then.
03:08:56 <elliott> I wrote about a third of it.
03:08:56 -!- NihilistDandy has joined.
03:09:07 <shachaf> Did you introduce unsafeCoerce to it?
03:09:20 <elliott> No. But I did suggest doing so.
03:09:25 <elliott> Although so did other people at the time too.
03:09:37 <elliott> (It previously abused an IORef and unsafePerformIO for the purpose.)
03:09:45 <elliott> (Not the polymorphic wossname trick, though.)
03:09:57 <Sgeo> It should be possible to implement ST with just unsafeCoerce and Any, right?
03:10:09 <elliott> And no other functions or types? No.
03:10:17 <elliott> You'd need (->) at the very least.
03:10:33 <Sgeo> I meant, as the only unsafe features.
03:10:41 <Sgeo> All the safe ones allowed too
03:11:23 <elliott> You can implement ST with just unsafePerformIO, too.
03:11:33 <elliott> But yes, you can construct STMap with unsafeCoerce and Any.
03:11:43 <elliott> shachaf: Did you hear reactive-banana is getting dynamic event switching???
03:16:07 -!- DCliche has joined.
03:17:14 <oklopol> maybe the logo of reactive-banana should be an actual radioactive banana. it'd of course look like a normal banana but it would actually be delivered to you by mail when you go to the website with some glue so you can stick it on your monitor and your death would be the difference between radioactive and not.
03:19:21 -!- Vorpal has joined.
03:19:22 <elliott> I could forward that suggestion onto the developer if you'd like.
03:20:25 -!- Klisz has quit (Ping timeout: 276 seconds).
03:20:38 <oklopol> well, perhaps you can't make it a surjection since i don't think great ideas are extensions of humans.
03:22:05 <oklopol> maybe i should've said epimorphism since the term extension is only used for morphisms of dynamical systems afaik.
03:22:15 <oklopol> (epimorphism instead of surjectiom)
03:22:28 <oklopol> speaking of math, i watched an episode of numb3rs today
03:23:20 <oklopol> the first episode was more like 57471571c5
03:23:35 <oklopol> the irc boats aren't in the first ep
03:24:22 <elliott> `addquote <oklopol> speaking of math, i watched an episode of numb3rs today <oklopol> the first episode was more like 57471571c5
03:24:25 <HackEgo> 791) <oklopol> speaking of math, i watched an episode of numb3rs today <oklopol> the first episode was more like 57471571c5
03:25:41 -!- cswords has joined.
03:25:52 -!- cswords has quit (Read error: Connection reset by peer).
03:25:56 <oklopol> the idea in the episode was that there had been 13 rapes plus some murder on the side and the cop's brother is a "world-class mathematician" and he made a formula that told them where the rapist probably lived. he lived there.
03:26:43 <elliott> congratulations, you have now seen every episode of numb3rs
03:26:53 <oklopol> well actually he didn't and then their dad told them herp derp maybe he occasionally rapes ppl near work to save the rape commute.
03:27:22 <oklopol> so he was like omgomgomg so simple and predicted *two* zones
03:27:43 <oklopol> and one was where he lived and one was where he went to work
03:28:42 <oklopol> also the first cluster was where he used to live. so 13 points were enough to pinpoint three locations around which the guy had occasionally done some raping.
03:29:46 <oklopol> probably i'd be so hooked after a few episodes, but i'm not sure i want to be associated with this devil porn.
03:34:05 <oklopol> what i want is a show where in the pilot they try to prove that a space is compact. their only clue is that it is sequentially compact, but the space is clearly not metric. naturally they must consult The Oracle.
03:42:01 <zzo38> Will this do as a syntax for a MML compiler? data Token = Number Int | Name String | Block [Token] | Note Note | Text String | Bar deriving (Eq, Show); data Note = Note { noteLetter :: Char, noteOct :: Int, noteAcc :: Int, noteLength :: Maybe Int, noteVol :: Maybe Int } deriving (Eq, Show);
03:42:43 -!- NihilistDandy has quit (Quit: Linkinus - http://linkinus.com).
03:43:15 -!- NihilistDandy has joined.
03:51:14 <Sgeo> kallisti, elliott update. elliott, kallisti update.
04:11:21 -!- azaq23 has joined.
04:11:38 -!- azaq23 has quit (Max SendQ exceeded).
04:12:03 -!- azaq23 has joined.
04:12:08 -!- azaq23 has quit (Changing host).
04:12:08 -!- azaq23 has joined.
04:42:26 -!- Darth_Cliche has joined.
04:43:01 <zzo38> Have you ever play single player Scrabble?
04:45:21 -!- itidus21 has joined.
04:46:05 -!- DCliche has quit (Ping timeout: 249 seconds).
04:53:08 <zzo38> The rules are the same as two players, except that passing is not allowed.
04:56:43 <elliott> passing should be allowed imho
04:57:48 <zzo38> Sometimes passing is allowed, but if you do, the game immediately ends and you lose points according to your letters in your hand (after replacements are drawn).
04:58:21 <zzo38> Another rule sometimes used is that there is a time limit for the entire game, and the game also ends if time runs out.
05:00:26 <Vorpal> zzo38, you could also limit the number of times you can pass?
05:01:18 <zzo38> Vorpal: Yes, I suppose that is another possible idea you could use. (Although if there is a time limit, generally you are still not allowed to pass; you could make a pass limit with or without a time limit)
05:19:42 <zzo38> Once I read somewhere describing type systems of programming languages like Haskell and so on as "Presbyterian" and "Catholic", on some article describing "Roman containers" although I did not understand all of the notation used
05:34:07 <zzo38> I think Parsec's "choice" function should really belong to Control.Applicative instead.
05:34:39 <zzo38> It is a fold with <|>
05:39:21 <lambdabot> Control.Applicative (<|>) :: Alternative f => f a -> f a -> f a
05:39:22 <lambdabot> Text.Parsec.Prim (<|>) :: (ParsecT s u m a) -> (ParsecT s u m a) -> (ParsecT s u m a)
05:39:22 <lambdabot> Text.ParserCombinators.Parsec.Prim (<|>) :: (ParsecT s u m a) -> (ParsecT s u m a) -> (ParsecT s u m a)
05:40:06 <zzo38> Sgeo: They are all the same, Parsec's one is just for Parsec only
05:40:29 <Sgeo> zzo38, I just wasn't certain that <|> was in Control.Applicative
05:55:13 <zzo38> I do like Parsec very much. Even though they did define the Applicative and Alternative instance for Parsec, the designers of that system seem to not use them, from what I can see.
05:56:35 <zzo38> And why did they define their own operators with the same names and functions as the Control.Applicative ones anyways?
06:05:36 <lambdabot> Data.Foldable asum :: (Foldable t, Alternative f) => t (f a) -> f a
06:05:49 <elliott> zzo38: and because Parsec is actually the source of the Alternative operators
06:06:13 <zzo38> O, that is why. Shouldn't they fix it by now, though?
06:06:37 <elliott> they should probably re-export the polymorphic versions
06:06:50 <zzo38> elliott: Yes, that is probably what they should do.
06:07:54 <elliott> submit a patch, it'd be like a five-line change :)
06:10:25 <ais523> the thing that annoys me about the "you can install gentoo with three commands" quote is that it doesn't list the other two
06:24:45 <kallisti> infinity is not a stream because that question is meaningless.
06:25:08 <elliott> Note to self: Suggest strict state monad to apfelmus.
06:25:24 <elliott> ais523: jokes are not known for their factual accuracy
06:25:48 <ais523> elliott: but it could be both a joke /and/ factually accurate with just two more lines
06:25:54 <ais523> then it'd be both amusing /and/ useful
06:26:14 <kallisti> elliott: stand up comedians tend to employ this kind of humor, in fact.
06:26:27 <kallisti> "the truth is funny" is kind of stuff.
06:26:35 <ais523> or to put it another way, the joke's funnier if it's based on actual facts
06:27:44 <kallisti> but, then again, most of it is just incorrect sexist/racist bullshit so...
06:27:49 <kallisti> maybe the truth isn't very funny.
06:28:23 <elliott> ais523: it would then be a /bad/ joke
06:28:27 <elliott> because the timing would be completely ruined
06:28:58 <ais523> elliott: OTOH, I think the joke's much funnier if there are three commands, and that's the first
06:29:06 <ais523> it's only funny if it's true
06:29:30 <elliott> kallisti: How to be a shitty standup comedian in 3 easy steps: 1. Say stereotypical bullshit 2. I'm just saying what everyone is thinking! 3. Why are you annoyed, it was a JOKE.
06:30:04 <elliott> ais523: the command would give you a gentoo installation assuming there are no stupid mistakes in it
06:30:07 <monqy> there are two other commands, but they just aren't provided
06:30:17 <monqy> providing the other two would ruin the timing i agree
06:30:28 <elliott> the other two commands are presumably system configuration, since that one already installs openoffice :)
06:30:38 <ais523> you'd give them later on in the same quote
06:30:41 <ais523> after the comedic timing
06:30:44 <elliott> ais523: yes, which would ruin the joke
06:30:53 <ais523> perhaps even double-linebreak and give a "for the interested reader" PS thing
06:31:00 <elliott> you don't tell a joke and then say "wait I'm not done yet" and spend three minutes giving a pedantic discussion of the relevant facts
06:31:08 <elliott> because to people who aren't ais523, that's really, really boring
06:31:15 <monqy> then the joke is how bad the original joke is ruined
06:31:16 <elliott> and will ruin the previous enjoyment of the joke
06:31:18 <elliott> this is not really complicated
06:31:22 <ais523> elliott: even a link would be enough
06:31:29 <monqy> * to ruin the joke
06:31:34 <elliott> hey, look at me jumping out of this ridiculous conversation ->
06:31:53 <monqy> don't leave me allone / im fallow suit
06:32:03 <elliott> Fallow Suit, famous comedian
06:36:00 -!- Darth_Cliche has quit (Quit: SLEEP, GLORIOUS SLEEP).
06:39:21 <elliott> ~/src/reactive-banana/reactive-banana/src/Reactive/Banana
06:47:43 <ais523> it'd be bizarre even without the repetition
06:47:53 <ais523> I take it the ~ there means home dir, not an actual directory called ~?
06:48:03 <ais523> alt-f2 on this computer interprets it as the latter, which is annoying
06:48:39 <elliott> what's bizarre apart from the repetition
06:57:35 <zzo38> This is another use of <*> operator: parseInt = option id (negate <$ char '-') <*> (read <$> some digit);
06:58:08 <ais523> elliott: if I alt-f2 and then use a ~ in either the command to run or an argument to it
06:58:11 <ais523> it's interpreted as a literal ~
06:58:17 <ais523> not expanded to /home/ais523
06:59:42 <elliott> ais523: <ais523> it'd be bizarre even without the repetition <elliott> what's bizarre apart from the repetition
06:59:56 <ais523> elliott: oh, the name "reactive banana"
07:00:27 <elliott> well, "reactive" is taken :)
07:03:39 <kallisti> oh hmmm I need to start thinking about taxes.
07:06:37 <zzo38> OK I made a parser of a MML variant. After a note you can have # or + for sharp, - or b for flat, x for double sharp, and you can have more than one of any of them. You can also have a optional length after a note, an octave shift ' for up and , for down, and a volume in parentheses. Persistent octave shifts are < for down and > for up
07:07:34 <zzo38> This is already more than most other MML that I know of.
07:09:33 <zzo38> Maybe another thing I should have is multiple notes in parentheses for making chords
07:09:58 <zzo38> Does this look like good so far?
07:10:59 <kallisti> yes, assuming you can double shift octaves and such
07:11:17 <kallisti> also an absolute octave notation would be good. A4
07:11:24 <zzo38> Yes, you can include multiple ' or , to multiple shift octaves, or you can use persistent octave shifts such as < and >
07:11:35 <kallisti> unless you plan to reserve that notation for things like chords.
07:12:07 <zzo38> But I do not intend absolute octave notation because you can use the notation like A4 to indicate a quarter note A instead. And you can have L and a number for persistent length setting. These are standard features of MML.
07:13:00 <zzo38> And use O and a number to persistent select an octave.
07:14:21 <zzo38> What I mean, you can still use ## for double sharp instead, but x is a more common way of indicating double sharp in music notation.
07:14:41 <kallisti> zzo38: you'd also want a way to select time signature so that A4 has meaning
07:14:52 <kallisti> A4. could specify a dotted quarter note.
07:15:58 <zzo38> And, yes, that is good too; use . to specify dotted lengths. And the way to set time signature. How I have it, any words must be in lowercase because uppercase are used for notes and other single-letter commands.
07:16:21 <kallisti> zzo38: also you could write a parser that converts your notation into Haskore data structures and then you could take advantage of all of those libraries.
07:16:51 <zzo38> kallisti: Yes I can add such feature; currently I am planning to use .S3M as output format but I can add more.
07:17:19 <kallisti> zzo38: well Haskore wouldn't be used as an output format in this case, just as a means to save time by using existing code.
07:17:34 <kallisti> I'm sure Haskore can output to a number of different formats
07:18:06 <kallisti> oh dude there's a csound backend for HasSound
07:18:26 <zzo38> The lowercase words commands probably I can make most of them in Italian since music notations commonly uses Italian.
07:20:04 <zzo38> What formats does Haskore have? Anyways, I intend other things too, not only writing the music; such as, comments, instrument definition (by file or by mathematical formulas), and later on, non-12-TET.
07:21:02 <zzo38> You can use ; for comments in file which are ignored, but another kind of comments that are copied into the sample names in the .S3M output file so that a .S3M player program can display them.
07:56:39 <zzo38> I include features which the most sophisticated .S3M tracker programs lack (in S3M output anyways; and, at least, which the free ones lack). But still use completely standard output format, which can be loaded in tracker programs. (I did already start writing this program and I know how to continue too)
08:02:26 -!- pikhq_ has quit (Ping timeout: 244 seconds).
08:02:27 -!- pikhq has joined.
08:02:35 <zzo38> If you have used TeX, what in your opinion, are what makes TeX an excellent typesetting program?
08:03:33 <zzo38> (Or bad, if that is what it is to you)
08:03:45 <elliott> it's bad because hitler uses it
08:04:56 <zzo38> That isn't a good reason anyways
08:06:26 <zzo38> It still isn't a good reason
08:08:32 <zzo38> Have you used TeX at all, anyways?
08:14:40 <zzo38> Is it good for you?
08:15:45 <zzo38> How many kind of its features have you used and what other things have you done with it?
08:16:11 <fizzie> elliott: Bet you didn't expect the TeX inquisition.
08:20:40 <Sgeo> elliott, kallisti update
08:32:29 <zzo38> If making a Haskell package (one which is compiled into an executable; not a library) licensed under GNU GPL, is it OK to change the LICENSE filename to COPYING if the .cabal file is also changed accordingly?
08:33:16 <zzo38> Libraries I make in Haskell are public domain but for executables I will usually want GPL
08:34:30 <zzo38> (Although Haskell Swiss Ephemeris library is GPL because Swiss Ephemeris itself is GPL)
08:37:57 <zzo38> In addition, why does it try to copy the LICENSE file anyways (and result in error message) if public domain is selected? They should either add such a file (probably containing a public domain dedication and the message to use it for any purpose, even if your jurisdiction has no public domain), or make it not copy the file
08:38:56 <zzo38> Another thing I notice, is the copyright notice is not automatically generated if GPL is selected; it is still commented out and you have to put it in by yourself.
08:41:00 <Vorpal> which jurisdictions have public domain and which ones don't?
08:41:21 <Vorpal> I know US has it, but that is all I know
08:42:01 <zzo38> What I know is some people have said that some jurisdictions do not have it. It is why the WTFPL is made up
08:42:26 <Vorpal> I guess it would be prudent to find out if Sweden has it for me.
08:43:26 <zzo38> I think they should fix the cabal simply for that reason, which is that some jurisdictions do not have public domain, so that the message to do anything with it can still be provided anyways
08:44:08 <Vorpal> elliott, so you got a message?
08:44:09 -!- elliott has changed nick to colloinkgravisom.
08:44:11 <Vorpal> or is the message typoed?
08:44:38 <Vorpal> since it didn't record it
08:44:45 <Vorpal> of course you could using other channels
08:44:57 <Vorpal> so I guess it is kind of ambiguous if it is typoed or not
08:45:00 <olsner> the point is that I can tell myself without using lambdabot
08:45:26 <Vorpal> fuck me. I been on windows for a few days and I reboot to linux and have over 1 GB of updates to download...
08:45:32 <zzo38> You can also ask someone else to do it for you, if necessary
08:45:58 <Vorpal> olsner, I guess so yeah
08:46:13 <Vorpal> @tell lambdabot does this work?
08:46:41 <Vorpal> arguably that should go to whoever runs the bot
08:46:48 <lambdabot> colloinkgravisom: You have 1 new message. '/msg lambdabot @messages' to read it.
08:46:53 <Vorpal> colloinkgravisom, right
08:47:10 <zzo38> Does it have anything like the ADMIN command of IRC? IRC has ADMIN command tell you the information
08:47:28 <Vorpal> does that actually work I wonder
08:48:10 <lambdabot> kallisti said 5d 2h 36m 2s ago: Hey, so I don't think [a] = Maybe (a, [a]) because there's no equivalent to (Just _|_) or (a, Just _|_) or ..
08:49:47 <zzo38> I can see it doesn't work due to undefined but ignoring undefined value, it will be mathematically the same thing, so it is just as good for computing derivatives and isomorphisms and so on
08:50:00 <olsner> ah, kallisti counting bottoms, #haskell's favorite pastime that
08:50:45 <olsner> maybe not *the* favorite, but it's high up on the list anyway
08:52:20 <zzo38> Once I calculated the derivative of list type, someone said it is the correct derivative but doesn't seem a correct zipper.
08:53:29 <zzo38> Yes, I think it was oerjan
08:54:10 <zzo38> Do you think it is a correct zipper? Or is it a correct derivative but not a correct zipper?
08:58:35 <Vorpal> (I'm using synergy and if fucked up my input focus somehow)
09:09:16 <Deewiant> w00t, LTL types FRP. This is kind of cool.
09:12:37 -!- colloinkgravisom has quit (Ping timeout: 268 seconds).
09:17:13 -!- zzo38 has quit (Remote host closed the connection).
09:23:52 <Vorpal> Deewiant, what is FRP and LTL in this context?
09:24:27 <monqy> functional reactive programming / linear temporal logic
09:24:32 <Deewiant> Functional reactive programming and linear temporal logic respectivelyi.
09:25:31 -!- Ngevd has joined.
09:32:45 -!- nooga has joined.
09:38:47 -!- Ngevd has quit (Ping timeout: 240 seconds).
09:46:58 -!- Ngevd has joined.
09:48:34 <Ngevd> Today's xkcd is alright, except for the punchline
09:49:29 -!- FireFly has quit (Ping timeout: 240 seconds).
09:50:06 <kallisti> http://xkcd.com/997/ I like this one
09:50:46 <Vorpal> Ngevd, in the one kallisti linked? Same
09:50:55 <Vorpal> I guess it is some US politics joke or something?
09:51:43 <Ngevd> I thought it was a quiz show?
09:51:59 <kallisti> yes it's an incredibly lame joke about a radio quiz show in the US.
09:52:05 <kallisti> that only old people and nerds listen to.
09:53:17 <kallisti> it's funny though because any newsworthy events involving Peter Sagal would basically have to have a headline following that format.
09:54:57 <kallisti> there's basically nothing political about NPR, except recently Republican media seems to think NPR is liberal.
09:55:05 <kallisti> when it's just like... not stupid.
09:55:11 <kallisti> not stupid = liberal, I guess.
10:00:06 <kallisti> actually NPR has been known to fire people for displaying a political bias in their personal life.
10:00:38 <Vorpal> I don't see the issue as long as it doesn't affect them in their profession
10:01:05 <kallisti> there's not one. I think NPR is just really strict about it for public relations.
10:02:25 <kallisti> yes firing people for publically displaying opinions probably isn't good press.
10:03:12 <kallisti> grantedm a lot of the firings over Occupy Wall Street were freelance radio reporters and not actual NPR staff, for what it's worth.
10:05:33 <kallisti> but freelancers is probably like... the majority of NPR's employees.
10:05:41 <kallisti> because that includes a lot of people that work for NPR stations.
10:07:15 <fizzie> Occupy #esoteric. (And do what, exactly?)
10:07:52 <Vorpal> fizzie, talking about esolangs all the time?
10:08:54 <fizzie> I guess as a protest of all the non-topicalness that goes on here it could work.
10:09:39 <kallisti> !perl $_ = "test"; s/(.)./@/; print $1
10:10:03 * kallisti has never accessed a capture group from a substitute, actually.
10:10:08 <kallisti> so I wasn't sure if it actually did that.
10:10:42 <fizzie> Do you mean to say you have never used a $n in the replacement part of a s///?
10:16:18 -!- Ngevd has quit (Read error: Connection reset by peer).
10:24:45 -!- nooga has quit (Ping timeout: 240 seconds).
10:26:27 <kallisti> hmmm what is a reference in numeric context I wonder
10:27:53 <kallisti> so perl doesn't attempt to read hex literals when converting a string to a number.
10:28:49 <Vorpal> kallisti, that looks like a reasonable address for the stack to me
10:29:15 <Vorpal> <EgoBot> ARRAY(0x7ff735781d48)
10:29:33 <kallisti> how does that look like the address to a stack? it looks like an arbitrary location in memory to me.
10:29:33 <Vorpal> looks like about the usual location of the stack on Linux (x86-64)
10:30:25 <Vorpal> kallisti, run cat /proc/self/maps a few time on a 64-bit machine
10:30:32 <kallisti> "ah yes good ol' 7ff735781d48" -- Vorpal
10:30:38 <Vorpal> kallisti, look at [stack] and [heap]
10:30:46 <Vorpal> kallisti, stack is usually 7ff*
10:31:08 <Vorpal> kallisti, heap tends to start with many zeros
10:31:48 <Vorpal> kallisti, libraries tend to be mapped around 7f0*-7fe*
10:32:02 <Vorpal> kallisti, not so hard after all
10:32:13 <kallisti> `run cat /proc/self/maps | egrep '[stack]'
10:32:24 <HackEgo> 00400000-0040c000 r-xp 00000000 00:09 842385 /bin/cat \ 0060c000-0060d000 rw-p 0000c000 00:09 842385 /bin/cat \ 0060d000-0062e000 rwxp 00000000 00:00 0 [heap] \ 40000000-4001e000 r-xp 00000000 00:0f 835040 /lib64/ld-2.11.2.so \ 4021d000-4021e000 r--p 0001d000 00:0f 835040 /lib64/ld-2.11.2.so
10:32:27 <kallisti> `run cat /proc/self/maps | egrep '\[stack\]'
10:32:31 <HackEgo> 7fbff23000-7fbff44000 rw-p 00000000 00:00 0 [stack]
10:32:58 <kallisti> it is 7ff* on my computer though
10:33:03 <Vorpal> on my system the stack is consistently 7fff* for cat even
10:33:16 <fizzie> Yes, "7ff" is quite stacky indeed.
10:33:46 <kallisti> uh, but 7ff* is a huge range of addresses....
10:33:59 <Vorpal> stack or vdso, and you usually don't have addresses into the vdso
10:34:27 <Vorpal> kallisti, there is nothing much else up there
10:35:19 <Vorpal> kallisti, your point was?
10:36:00 <fizzie> It's quite close to the top of the bottom half of the canonical-form 48-bit addresses.
10:36:18 <kallisti> that... this notion of stackiness is purely arbitrary because you just see 7ff a lot. Seeing another address with 7ff* does not tell you that it's "stacky"
10:36:22 <Vorpal> kallisti, you tend to pick up this sort of vague feeling for what an address is when debugging C code. Like "hm, that address it crashed from accessing, looks like it is related to something on the stack"
10:36:43 <EgoBot> ARRAY(0x7fc52154fd48)ARRAY(0x7fc52156da90)ARRAY(0x7fc52156dac0)ARRAY(0x7fc52156daf0)ARRAY(0x7fc52156db20)ARRAY(0x7fc52156db50)ARRAY(0x7fc52154fb98)ARRAY(0x7fc52156da00)ARRAY(0x7fc52156dc88)ARRAY(0x7fc52156dcb8)
10:36:52 <Vorpal> they are mostly allocated on the stack I suspect
10:37:18 <Vorpal> kallisti, or in a mmaped area up high
10:37:26 <Vorpal> definitely not on the heap though
10:38:14 -!- oerjan has joined.
10:38:40 <Vorpal> looking at perl here indicates it does mmap some anon mappings
10:38:51 <Vorpal> 7f07f9850000-7f07f9851000 rw-p 00000000 00:00 0
10:38:51 <Vorpal> 7fffc0302000-7fffc0323000 rw-p 00000000 00:00 0 [stack]
10:39:09 <Vorpal> hm actually that one is there with cat too
10:39:13 <Vorpal> so probably not that one
10:39:19 <Vorpal> (I guess that is libc related)
10:39:34 <Vorpal> (but then iirc glibc allocs huge chunks from mmap)
10:39:43 <kallisti> !perl $_ = []; s/ARRAY\((.*)\)/$1/; print eval;
10:40:07 <fizzie> Actually when I do that locally, the []s seem quite heap-allocated.
10:40:10 <Vorpal> (doesn't explain why perl would allocate from the same mmaped page as something that is there in cat)
10:40:13 <fizzie> $ perl -e 'print map {[]} 1..10; print "\n";'
10:40:13 <fizzie> ARRAY(0x1492d48)ARRAY(0x14b0480)ARRAY(0x14b04b0)ARRAY(0x14b04e0)ARRAY(0x14b0510)ARRAY(0x14b9b88)ARRAY(0x1492b98)ARRAY(0x14b03d8)ARRAY(0x14b0408)ARRAY(0x14b9cd8)
10:40:22 <Vorpal> fizzie, strange results with !perl then
10:40:32 <Vorpal> but yeah those look heapish
10:41:06 <Vorpal> look heapish for me too
10:41:16 <Vorpal> fizzie, I guess it is possible plash does something weird?
10:41:26 <Vorpal> not sure why it would create a different heap though
10:41:50 <Vorpal> `run fgrep '[heap]' /proc/self/maps
10:41:53 <HackEgo> 00613000-00634000 rwxp 00000000 00:00 0 [heap]
10:42:25 <kallisti> !perl @x = ([],[]); @x = map {s/ARRAY\((.*)\)/$1/; eval}; print abs($x[0] - $x[1]);
10:42:25 <EgoBot> syntax error at /tmp/input.2124 line 1, near "};" \ Execution of /tmp/input.2124 aborted due to compilation errors.
10:42:37 <kallisti> !perl @x = ([],[]); @x = map {s/ARRAY\((.*)\)/$1/; eval} @x; print abs($x[0] - $x[1]);
10:42:40 <kallisti> !perl @x = ([],[]); @x = map {s/ARRAY\((.*)\)/$1/; eval} @x; print abs($x[0] - $x[1]);
10:42:42 <fizzie> !perl system("cat /proc/$$/maps | grep heap");
10:42:42 <EgoBot> 7f7526a10000-7f7526a50000 rw-p 00000000 00:00 0 [heap]
10:42:43 <kallisti> !perl @x = ([],[]); @x = map {s/ARRAY\((.*)\)/$1/; eval} @x; print abs($x[0] - $x[1]);
10:42:56 <fizzie> "!perl" is EgoBot, though.
10:43:05 <fizzie> And that's quite a high heap.
10:43:33 <kallisti> NOT SO "STACKY" NOW EH? ASSHOLES.
10:43:37 <Vorpal> `run perl & fgrep '[heap]' /proc/$!/maps
10:43:41 <HackEgo> 006e2000-006f5000 rwxp 00000000 00:00 0 [heap]
10:43:53 <fizzie> I haven't really been following the sandboxings; at least HackEgo runs on that umlbox thing nowadays, not plash.
10:43:53 <Vorpal> I thought egobot and hackego had very similar setups?
10:44:03 <Vorpal> well that could change things
10:44:26 <Vorpal> and if that is user mode linux then I guess that changes stuff a lot
10:44:32 <kallisti> `run perl <<< '@x = ([],[]); @x = map {s/ARRAY\((.*)\)/$1/; eval} @x; print abs($x[0] - $x[1]);'
10:44:43 <Vorpal> fizzie, as for why not: why would you want to fix something that wasn't broken?
10:44:52 <Vorpal> or was it broken in some way to use plash?
10:45:02 <fizzie> "Plash relies on a glibc patch, and is, as such, difficult to maintain and out of date. UMLBox relies only on UML (Usermode Linux), a component of the Linux kernel, and requires no patches to UML. Furthermore, UMLBox requires no special privileges to install or use."
10:45:08 <fizzie> (From the umlbox page.)
10:45:10 <kallisti> the address difference is much higher on hackego
10:46:32 <Vorpal> fizzie, looks like gregor made umlbox? https://bitbucket.org/GregorR/umlbox/wiki/Home is the first hit for me
10:47:05 <EgoBot> \ This is perl, v5.10.1 (*) built for x86_64-linux-gnu-thread-multi \ \ Copyright 1987-2009, Larry Wall \ \ Perl may be copied only under the terms of either the Artistic License or the \ GNU General Public License, which may be found in the Perl 5 source kit. \ \ Complete documentation for Perl, including FAQ lists, should be found on \ this system using "man perl" or "perldoc perl". If you have access to the
10:47:23 <HackEgo> \ This is perl, v5.10.1 (*) built for x86_64-linux-gnu-thread-multi \ (with 53 registered patches, see perl -V for more detail) \ \ Copyright 1987-2009, Larry Wall \ \ Perl may be copied only under the terms of either the Artistic License or the \ GNU General Public License, which may be found in the Perl 5 source kit. \ \ Complete documentation for Perl, including FAQ lists, should be found on \ this system using
10:47:27 <fizzie> Vorpal: Yes, that's why I speculated "NIH syndrome".
10:48:18 <Vorpal> # Plash supports X11 programs. UMLBox does not, as sockets do not translate host-to-guest with UML. <-- so there is no networking at all? Because X11 works fine over tcp
10:48:40 <Vorpal> I thought uml had support for networking in general, so it should be possible to set up
10:48:53 <fizzie> I suppose that just means "transparently supports".
10:49:47 <kallisti> I feel like say would improve perl's golf scores, except that it currently requires a use v5.10 line.
10:49:51 <Vorpal> actually it looks like umlbox has no network
10:50:04 <kallisti> !perl use v5.10; say "Hello, World!"
10:50:47 <Vorpal> why is it any better than the traditional print?
10:51:10 <kallisti> it's better for golfing, except for the above mentioned problem.
10:51:29 <fizzie> Vorpal: umlbox certainly can do networking.
10:51:34 <kallisti> really I don't know why it needs use v5.10. is it really going to break anything if you simply include it?
10:51:41 <fizzie> Vorpal: Er, sorry, I mean, UML can.
10:51:46 <fizzie> Vorpal: umlbox probably doesn't.
10:52:01 <fizzie> Or maybe it does? There's that "fetch" thing.
10:52:07 <fizzie> I haven't looked at the implementation, really.
10:52:14 <Vorpal> also: "-X is very limited as yet. It can only forward DISPLAY=:0.0, it forwards it to DISPLAY=127.0.0.1:0.0, and it doesn't set any of the required environment variables (of which at least DISPLAY and XAUTHORITY are necessities). It will be fixed in time :)"
10:52:20 <Vorpal> so uh, it does kind of support x11?
10:52:25 <Vorpal> yet it says further down it doesn't
10:52:29 <fizzie> Well, you know how it is with documentation.
10:53:17 <Vorpal> anyway don't you need to enable UML in the kernel config for umlbox to work?
10:53:32 <Vorpal> because if it isn't then it probably does require root to install
10:54:29 <fizzie> It's "U" as in user-mode.
10:54:42 <fizzie> The host kernel runs it just like it would any random process.
10:55:00 <Vorpal> fizzie, doesn't it need a bit of kernel support to do memory protection between processes?
10:55:15 <Vorpal> I mean, processes in the same UML instance
10:55:49 <fizzie> Possibly there was some bit that you could do optionally.
10:56:08 <Vorpal> fizzie, otherwise it wouldn't be secure, you could just write into the UML code itself
10:56:54 <Vorpal> I assume it uses ptrace to catch system calls. Since anything else can easily be beaten
10:57:58 <Vorpal> or I guess it could dynamically recompile code
10:58:42 <oerjan> ...or what you're saying means there is a way to hack it.
10:59:01 <fizzie> I think the internals have changed a couple of times; back when I used it, it certainly didn't use ptrace at least straightforwardly, since the whole UML kernel and everything running in it appeared as a single process in the host.
10:59:13 <fizzie> (And you can't trace yourself.)
10:59:36 <Vorpal> oerjan, I mean that unless it gets some special support from the kernel or does full emulation like a more general vm (qemu, virtualbox and so on) there are going to be ways to hack it
11:00:02 <oerjan> yes, that's what i thought you meant.
11:00:24 <Vorpal> (of course virtualbox and qemu generally gets kernel support, qemu doesn't actually need it though, but it runs much slower without)
11:00:43 <fizzie> Right; there was a "skas" patch for the host kernel.
11:00:52 <fizzie> I don't know if it got included in the mainline kernel tree or not.
11:01:02 <fizzie> From what I recall, it was reasonably non-intrusive.
11:01:16 <Vorpal> seems it is integrated according to wikipedia
11:01:52 <Vorpal> I wonder what system calls are exposed to do this
11:02:01 <fizzie> The "old mode" used the "each UML process is a host process, ptraced by the manager for syscalls" approach.
11:02:06 <Vorpal> I would like to take a look at the interface and see if it can be used in some interesting way
11:02:37 <Vorpal> fizzie, there is still the need to catch system calls also
11:03:14 <fizzie> I'd check the UML wiki but it's being unresponsive. :/
11:04:57 <Vorpal> I can't even find that wiki
11:05:20 <fizzie> http://user-mode-linux.sourceforge.net/ -> The UML Wiki.
11:05:32 <Vorpal> hm indeed not responding
11:05:53 <fizzie> It will eventually give a 502 Proxy Error from uml.jfdi.org.
11:07:54 <Vorpal> fizzie, the old skas stuff seemed to use /proc/mm but that definitely doesn't exist these days
11:08:56 <fizzie> Most UML-related things seem quite obsoleted these days.
11:09:29 <HackEgo> ls: cannot access /proc/mm: No such file or directory
11:09:42 <fizzie> It's all qemu-kvm or Xen or then the "containers"-style OpenVZ/vserver stuff now.
11:10:57 <fizzie> I wonder if anyone's using 'lguest' for some real-world thing, though.
11:12:00 <fizzie> It does that hypervisor/paravirtualization thing. It's very very very minimal; but it was included in the mainline kernel quite early, as far as these things go.
11:12:32 <fizzie> The only lguest-related tool I've seen is the Documentation/virtual/lguest/lguest.c example code.
11:13:08 <fizzie> "2.6.23-git13 and above", apparently.
11:13:33 <fizzie> Apparently it might be a bit 32-bit-only.
11:14:33 <fizzie> It runs copies of the "host" kernel as guests, if I recall correctly.
11:18:47 -!- azaq23 has quit (Quit: Leaving.).
11:19:49 -!- azaq23 has joined.
11:20:20 <Vorpal> wtf, steam got stuck in a loop of "loading game" dialogue popping up and closing
11:20:24 <Vorpal> had to kill the process
11:21:07 <fizzie> I wonder what the "library" screen of Steam will look like if you win the "all the games" award.
11:21:09 -!- Effilry has joined.
11:21:38 <Vorpal> fizzie, anyway I wonder what the chances are
11:22:32 <fizzie> An empty search in the store returns 4178 matches.
11:22:42 <Vorpal> fizzie, btw I recently (yesterday) played portal 2. It was far better than the first one. I actually didn't give up halfway out of boredom this time.
11:23:00 <fizzie> Well, the single-player side, anyway.
11:23:01 <oerjan> THERE IS NO USE TRYING TO HIDE
11:23:02 <Vorpal> fizzie, I think the boss fight was terrible though
11:23:24 <fizzie> Also Cave Johnson is one crazy man.
11:23:31 -!- Effilry has changed nick to FireFly.
11:23:37 -!- FireFly has quit (Changing host).
11:23:38 -!- FireFly has joined.
11:24:22 <Vorpal> fizzie, anyway I found myself thinking "Trine 2 is a way better puzzle game" several times.
11:24:47 <Vorpal> not when it comes to the story, trine 2 has a rather weak story, but the gameplay is way better in trine and trine 2
11:26:07 <fizzie> For some reason I couldn't quite get myself interested about the first Trine.
11:26:10 <fizzie> "All right, I've been thinking. When life gives you lemons, don't make lemonade. Make life take the lemons back! Get mad! I don't want your damn lemons! What am I supposed to do with these?! Demand to see life's manager! Make life rue the day it thought it could give Cave Johnson lemons! Do you know who I am? I'm the man who's gonna burn your house down! With the lemons! I'm gonna get my engineers to invent a combustible lemon that burns your house down
11:27:03 <Vorpal> fizzie, also I don't really like the difficulty in portal 2, I mean it is difficult for the wrong reasons. Usually it is hard because there is some white wall up high near the badly lit ceiling that I didn't spot that I had to check a walkthrough
11:27:12 <Vorpal> the actual puzzles once you locate all the components are not hard
11:27:59 <fizzie> I don't recall very much of that, though I might just have forgotten. Hard it's not, that much is true.
11:28:02 <Vorpal> there was just one puzzle in trine 2 where I had that issue. The other I had to think about were just mechanically challenging
11:28:56 <Vorpal> usually platforming issues as well
11:30:35 <Vorpal> there is an ice slope that you need to get up in a late trine 2 level, it wasn't hard to figure out how: attach a grappable (sp?) object to spiky swinging ball overhead then grapple it as the thief and wait for max swing both of the spiky ball and yourself before you release
11:30:43 <Vorpal> executing it was kind of hard though
11:31:04 <Vorpal> fizzie, not sure if you noticed that in trine 2 (if you played it?)
11:31:47 <ais523> meh, just handcuff it to a vending machine
11:32:03 <ais523> Vorpal: infamous bug in Scribblenauts
11:32:11 <ais523> pretty much all the action levels can be bypassed by doing that
11:32:13 <Vorpal> what happened when you did that
11:32:20 <ais523> the item ends up inside the vending machine
11:32:24 <ais523> then you can just vend it out
11:32:33 <ais523> and skip whatever puzzle you'd normally need to do to get the item
11:33:03 <Vorpal> why would handcuffing an item do that
11:33:04 <fizzie> Oh for... because of a missing "Unknown Plugin (text/html)" this Java "personnel records" mess-plication apparently can't run.
11:33:14 -!- Frooxius has joined.
11:33:39 <HackEgo> Frooxius: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page
11:33:51 <ais523> I'm guessing because I can never remember who's been here before and who hasn't
11:33:59 <ais523> I think Vorpal's been here a while
11:34:18 <Vorpal> ais523, and that guy "elliott" he isn't new either, right? ;P
11:34:34 <ais523> you know, it'd be massively out of character here for me to not do `? welcome even though you've already been welcomed, and with a more modern syntax at that
11:34:41 <HackEgo> Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page
11:34:51 <Vorpal> ais523, modern syntax?
11:34:59 <ais523> the `? syntax came first
11:35:08 <Vorpal> so a less modern one then?
11:35:15 <HackEgo> /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: type: not found
11:35:21 <HackEgo> welcome is /hackenv/bin/welcome
11:35:26 <oerjan> now how _vorpal_ remembers who is new when he cannot notice anything else, i don't know.
11:35:33 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/bin/welcome
11:35:42 <ais523> Vorpal: DOS "type" = UNIX "cat"
11:35:50 <Vorpal> ais523, I was looking for bash type
11:36:07 <Vorpal> also that is a terribly complicated piece of code
11:36:13 <Vorpal> if (defined($_=shift)) { s/ +/ @ /g; exec "bin/@", $_ . " ? welcome"; } else { exec "bin/?", "welcome"; }
11:36:35 <oerjan> Vorpal: so it can take any number of nicks, including none
11:36:57 <Vorpal> oerjan, right. I don't really know perl
11:37:31 <oerjan> of course some of the complication is because it uses @ and ? as subprocesses
11:37:34 -!- nooga has joined.
11:38:05 <ais523> now I'm trying to work out if @{" "} can be written as @ (that is, @ then space)
11:38:11 <Vorpal> ais523, I don't really use DOS commands, nor have I really ever used them more than a handful of times, so chances are I didn't type a DOS command by mistake
11:39:26 <ais523> well, Windows commands are based on them
11:39:27 <Vorpal> ais523, btw did you ever consider making wol use UML?
11:39:35 <Vorpal> it might end up less insane
11:39:57 <ais523> I choose to misinterpret that as Unified Modelling Language
11:39:57 <Vorpal> it seems EgoBot (but not hackego) switched to some home made umlbox that Gregor wrote
11:40:03 <Vorpal> ais523, user mode linux :P
11:40:04 <ais523> just because that makes absolutely anything more insane
11:40:05 <Frooxius> oh cool, it's pretty active here. I was looking for some places about esoteric languages and the others I found so far seemed quite dead
11:40:10 <ais523> and ISTR there's some reason user mode language wouldn't work
11:40:17 <ais523> Frooxius: the wiki is alive, but mostly with spambots
11:40:23 <ais523> it's probably the only other active esolang place, though
11:40:35 <fizzie> Unified Modelling Linux.
11:40:39 <Vorpal> Frooxius, only problem is that many of us tend to easily go off on unrelated tangents :P
11:40:48 <Vorpal> (a lot of off topic stuff in other words)
11:40:56 <Vorpal> (usually interesting though)
11:41:03 <Frooxius> Yeah, that seems to happen everywhere :D
11:41:10 <Vorpal> <ais523> and ISTR there's some reason user mode language wouldn't work <-- user mode language?
11:41:20 <Frooxius> spambots? Are they creating bogus pages or what?
11:41:22 <ais523> Vorpal: meh, just assume I'm drunk
11:41:26 <ais523> Frooxius: they're spamming
11:41:29 <kallisti> it's not very surprising that people don't solely about a very narrow topic all the time
11:41:32 <ais523> it's what spambots typically do
11:41:33 <Vorpal> ais523, I just can't imagine you /ever/ being drunk
11:41:38 <Vorpal> ais523, it just doesn't fit into my head
11:41:52 <Vorpal> ais523, have you ever been drunk?
11:41:52 <ais523> but assuming it tends to simplify things, it's easier than trying to explain
11:42:05 <Frooxius> yeah, I meant more in what specific form the spamming takes, like if it's in the discussions or making wiki pages
11:42:09 <ais523> I used to drink alcohol slightly, but realised I didn't like it
11:42:12 <ais523> Frooxius: mostly page creation
11:42:16 <ais523> occasionally page replacement
11:43:58 <Frooxius> I was looking for a place where I can show my language, though I made more, but they share one common idea, though they're a bit different. Can I make multiple pages for each or merge them into one big page?
11:44:31 -!- copumpkin has quit (Ping timeout: 248 seconds).
11:44:33 <ais523> multiple pages is probably simplest
11:44:34 <Vorpal> ais523, btw which java IDE would you recommend? I'm probably not going to use it more than a few times. Just need something
11:44:40 -!- copumpkin has joined.
11:44:54 <ais523> Vorpal: I've only seen NetBeans and Eclipse; NetBeans is better, although I strongly recommend you get someone else to package it
11:45:14 <oerjan> ^ul ((spam )(SPAM ))(~:^Sa~^*a*~:^):^
11:45:14 <fungot> SPAM spam SPAM spam spam SPAM spam spam spam SPAM spam spam spam spam SPAM spam spam spam spam spam SPAM spam spam spam spam spam spam SPAM spam spam spam spam spam spam spam SPAM spam spam spam spam spam spam spam spam SPAM spam spam spam spam spam spam spam spam spam SPAM spam spam spam spam spam spam spam spam spam spam ...too much output!
11:45:14 <Vorpal> ais523, like using my distro to install it?
11:45:22 <ais523> Vorpal: yes, like that
11:45:31 <Vorpal> ais523, what if I need it on windows?
11:45:40 <Vorpal> I might actually need it on windows
11:45:48 <Vorpal> so it isn't just a theoretical question
11:45:54 <ais523> I haven't tried it on Windows myself, but I've heard that the installer is slightly insane
11:46:34 <Vorpal> ais523, as long as it doesn't use ant to build I'm happy.
11:47:08 <ais523> I'm not actually sure what it uses to build, it abstracts that away from the user
11:47:23 <fizzie> fungot: It's all right to say "too much spam!" in cases like the above.
11:47:24 <fungot> fizzie: ouluthy atoll. on/ whole, as far as it went,/ sterility occurs in various degrees; in both, are much convoluted; but this is an important element in/ sterility :) many foreign plants; thus,/ flat or ventral surface faces/ axis or stem; but/ footstalks must have some natural origin. a wild scheme.
11:47:25 <Vorpal> also it is sponsored by oracle it seems. Hrrm.
11:47:34 <fungot> Available: agora alice c64 ct darwin* discworld europarl ff7 fisher fungot homestuck ic irc iwcs jargon lovecraft nethack pa qwantz sms speeches ss wp youtube
11:47:57 <Vorpal> fizzie, what was the story behind the smilies now again?
11:48:13 <Vorpal> Frooxius, btw that irc bot is written in befunge-98 (an esolang)
11:48:53 <fungot> Selected style: iwcs (Irregular Webcomic scripts)
11:48:54 <Frooxius> Oh cool :D That's ultimate esoterism! x3
11:48:58 <fungot> http://git.zem.fi/fungot/blob/HEAD:/fungot.b98
11:49:02 <fungot> Vorpal: no, the boy, do i? are you sure the technology!
11:49:10 <Vorpal> fungot, doesn't sound like iwc to me yet
11:49:10 <fungot> Vorpal: the new king, you are dedicating yourself, does the allosaurus have a policy on death? i can just walk through the door to the secret dwarven passage, all the classics. dickens, austen, melville, wilde, hemingway. and of course jonson had never happened, quite frankly, from the sound of a hundred. in aramaic
11:49:38 <Vorpal> fizzie, does that model include the annotations?
11:49:54 <Frooxius> Befunge is 2D language right? One that I'm working on is 2D as well, though works somewhat differently
11:50:07 <Vorpal> Frooxius, that is befunge-98, not befunge-93
11:50:22 <Frooxius> hmm, sorry, I don't really know much about specific versions
11:50:30 <Vorpal> befunge-98 is much extended compared to the 93 version
11:50:38 <fizzie> What, again? Okay, fungot's token-to-text code has a hardcoded list of punctuation for the first N (12 or so) tokens, same as the Perl script for training the models; unfortunately, the "remove tokens used less than K times" pruning phrase applied to those too, removing the smileys which Darwin did not use, causing the two most common non-punctuation tokens ("the", "of") get the integer indices of the two last punctuation tokens (":)", "/").
11:50:38 <fungot> fizzie: what, the ability to be captured a spanish galleon! arrr!! the frame is engulfed the galactic cup! they've all been targeted!
11:50:52 <ais523> Frooxius: -98 and -93 are reasonably radically different
11:50:55 <fizzie> Also there's some other punctuation mismatch going on, but that happens more rarely.
11:51:16 <fizzie> And no, it's just scripts; that's why it says "scripts" in the name.
11:51:37 <fizzie> There was an "iwca" set too, but it didn't work quite as well.
11:51:47 <Frooxius> hmm, does the Befunge 98 have its own page on the wiki though?
11:52:11 <ais523> it's probably sorted under funge-98
11:52:16 <ais523> but it's a catseye language
11:52:27 <ais523> and we tend to just link to catseye for those, rather than try to repeat the whole thing ourselves
11:52:51 <ais523> cpressey writes pretty good descriptions, and unlike most people, puts them on his own website rather than the wiki
11:53:01 <Vorpal> Frooxius, if you plan to try to implement it speak with us first. The spec is terribly unclear and the behaviour of t is broken. So what people do is use Deewiant's test suite as a reference.
11:53:43 <Frooxius> No I mean, I'm implementing my own language
11:53:53 <Vorpal> well sure, but just as a warning :P
11:54:08 <Vorpal> Frooxius, funge-98 actually comes in 1D, 2D and 3D variants
11:54:33 <Frooxius> yeah, I'm reading its page now, it said something about generalization
11:54:37 <Vorpal> just the spec contradict itself once, is broken in another place and is terribly unclear in several places.
11:55:07 <Vorpal> Frooxius, I believe fungot here runs on my befunge-98 implementation unless fizzie switched over
11:55:07 <fungot> Vorpal: sorry, i don't know what they're up!
11:55:44 <fizzie> Though probably quite an old version.
11:55:46 <Vorpal> fizzie, I guess you wouldn't actually gain that much from using ccbi2.
11:56:20 <Vorpal> fizzie, I recommend people to compile it with clang these days. There are some unresolved issues with gcc >4.5 and -O3
11:56:30 <fizzie> It's not exactly computationally intensive, discounting people's ^bf/^ul stuff.
11:56:33 * kallisti should write an implementation for an esolang.
11:56:42 <Vorpal> from what I can tell it miscompiles, but picking out the relevant functions compiles it correctly
11:56:53 <fizzie> ^bf +[]! I like to loop it, loop it.
11:56:56 <Vorpal> kallisti, and I should write an esolang. I only ever implemented them
11:57:09 <fizzie> That's 100k cycles, IIRC.
11:57:25 <kallisti> Vorpal: it could be worse. You could only design incredibly shitty esolangs. like me. :P
11:57:33 <kallisti> all of my good ideas never finish.
11:58:03 * kallisti is not a very disciplined individual.
11:58:11 <Vorpal> fizzie, anyway once tup gets support for variants I'm going to ditch cmake and go for autoconf + tup
11:58:17 <kallisti> so just getting myself to finish all of the important things is difficult enough. :P
11:58:54 <Vorpal> fizzie, which should provide some benefits, such as less broken handling of non-C files.
11:59:13 <Vorpal> I mean, that is one thing cmakes does get right: dependencies for C-files.
12:00:10 <kallisti> my two language ideas involve an improvement to standard regex to make it turing complete (I wouldn't call it too esoteric as it's pretty normal)
12:00:25 <Vorpal> kallisti, you know PCRE is turing complete for example?
12:00:54 <kallisti> the second idea is a sort of mix between graph rewriting and constraint/logic programming, with reversible semantics (basically it never deletes anything (unless I can come up with a sensible garbage collector but I doubt it))
12:01:07 <kallisti> I mean to make it more general purpose, rather.
12:01:42 <Deewiant> Vorpal: tup still doesn't have variants? Dang.
12:01:43 <Vorpal> kallisti, perl's regex are very general purpose, they permit embedding perl code to be executed at various points during the matching
12:01:59 <Vorpal> Deewiant, well, I last checked like right before xmas. It /might/ have it now
12:02:06 <oerjan> kallisti: it reminds me of one reversible computing architecture i read about; it came with an actual physical bit bucket for when you really wanted to delete something :)
12:02:43 <Vorpal> Deewiant, but yeah what with all the build variants of cfunge that is what is holding me back from using it
12:02:54 <Deewiant> Vorpal: I last checked a couple of months ago and thought it was on the top of the todo list :-P
12:03:18 <Vorpal> I thought it was a bit down on the list
12:03:19 <oerjan> since theoretically irreversibility is equivalent to heat production (landauer's principle) you'd want that to be physically expelled, i think
12:03:20 <kallisti> Vorpal: I am aware of all the different kinds of regex and what they can do.
12:03:29 <Vorpal> kallisti, /all/ of them? ;P
12:03:38 <fizzie> He knows all the regex. All of them.
12:03:39 <kallisti> well... I'm a little poorly versed in POSIX regex
12:03:47 <Vorpal> kallisti, what about .NET regex?
12:04:05 <kallisti> I've used it? does that count?
12:04:14 <Vorpal> kallisti, the java ones?
12:04:20 <fizzie> POSIX regex come in BREs and EREs, is what you need to know.
12:04:32 <Vorpal> because BRE are annoying
12:04:48 <Vorpal> fizzie, doesn't plain grep use BRE iirc?
12:04:50 <kallisti> is BRE where you backslash everything?
12:05:03 <Vorpal> kallisti, egrep is ERE
12:05:12 <Vorpal> and I think emacs might use something else
12:05:30 <kallisti> emacs basically reverses the semantics of backslashes.
12:05:37 <fizzie> Emacs is not strictly POSIX, IIRC. But it does involve a lot of backslashing.
12:06:03 <Vorpal> fizzie, also sed uses BRE right?
12:06:18 <oerjan> ^bf >,[.>,]<[[<]>[.>]<]!I like to loop it, loop it.
12:06:18 <fungot> I like to loop it, loop it. I like to loop it, loop it. I like to loop it, loop it. I like to loop it, loop it. I like to loop it, loop it. I like to loop it, loop it. I like to loop it, loop it. I like to l ...
12:06:21 <Vorpal> which is why you do like s/aa*/... rather than s/a+/...
12:06:33 <Deewiant> vim has four forms: 'nomagic', 'magic', 'very magic', and 'very nomagic'.
12:06:43 <Vorpal> Deewiant, what do they mean?
12:07:02 <Frooxius> Hmm... I'm a bit confused about the page creation though. My languages are designed for their own, also somewhat esoteric processing units (there's an emulator - virtual machine and also FPGA soft-core implementation, though not published yet, but it will be later). Should I make a page named after the processing unit or the language? Or maybe both, like "Unit - Language"?
12:07:13 <kallisti> oerjan: yes I was considering having a way to basically delete nodes so that you can manage memory.
12:07:18 <Deewiant> 'magic' is the default and is quite similar to BRE, I think.
12:07:22 <Vorpal> Frooxius, verilog or vhdl?
12:07:35 <Vorpal> I might be able to read it then
12:07:44 <Vorpal> (that you implemented that)
12:08:04 <Deewiant> 'nomagic' seems to change only . and *, so that they need to be escaped if you want their special behaviour.
12:08:09 <Vorpal> also that question is best to ask ais523
12:08:39 <Vorpal> Deewiant, heh, and the very variants?
12:08:45 <ais523> Frooxius: page should be named after the language
12:08:59 <kallisti> I'm not sure to what extent it's going to be full graph rewriting. i.e. I don't want rewriting large subgraphs to be the main means of computation since that's really inefficient.
12:09:02 <ais523> if the language has only one specific purpose, explain what it is on the page
12:09:12 <Deewiant> 'very magic' is like ERE, I guess: every character with a special behaviour uses it by default, and you need to escape it to match the literal character.
12:09:15 -!- Phantom_Hoover has joined.
12:09:28 <Vorpal> Deewiant, and very nomagic?
12:09:35 <Deewiant> And 'very nomagic' is the converse: only backslash has a special behaviour.
12:09:36 <Frooxius> The language is tied a lot though to the processing unit architecture
12:09:56 <kallisti> but I can't really see this language being efficient at all, considering how it works.
12:09:59 <Frooxius> Yeah, I want it to run in hardware. Yesterday, I was simulating 128 cores on my laptop. It ran 30 kHz (simulated) x3
12:10:04 <Vorpal> Frooxius, are there several languages for the same processing unit?
12:10:36 <Vorpal> also 128 cores, is it some sort of massively parallel esolang?
12:10:41 <Vorpal> I can't remember seeing any of those before
12:10:46 <kallisti> essentially it works something like this: constraint | pattern -> rewrite
12:10:54 <Vorpal> or wait, wasn't there one that ais523 claimed would be good on GPUs?
12:11:27 <Frooxius> Yeah, it can automatically distributes the work on several cores, though it depends on the algorithm and how many cores are available
12:11:29 <ais523> Checkout's basically eso by virtue of being too low-level
12:11:29 <kallisti> each computation step produces a copied state of the graph, which each new node pointing to its predecessor(s) via a "past edge", which makes it possible to revert past edges.
12:11:41 <ais523> it's not really an esolang designed for GPUs, more a description of how GPUs worked converted to esolang form
12:11:58 <Vorpal> ais523, do they still work that way?
12:12:12 <ais523> unless it's changed in the last year
12:12:20 <ais523> which is possible, I guess, but seems moderately unlikely
12:12:30 <Frooxius> I made huge block of instructions and then ran simulation just for fun on 128 cores |3
12:12:48 * kallisti thinks he's probably going to implement the graph lang in Haskell because why not.
12:13:22 <Vorpal> ais523, hm I'm missing an FMA instruction. I think most GPUs have them
12:13:43 <Frooxius> But I made some tests and if I make a simple algorithm, that's about 20 instructions and run it with one core, it takes 40 cycles to complete with one core and only 12 cycles with four cores.
12:13:50 <Frooxius> Of course, while producing same result
12:13:54 <Vorpal> ais523, but yes, it matches what I know about GPUs pretty much
12:14:03 <Vorpal> though I'm not sure about the selection of instructions
12:14:12 <ais523> selection of instructions was mostly a guess
12:14:54 <Vorpal> ais523, and you don't seem to represent there being some hard coded functionality still left. Like dedicated linear interpolation circuitry or texture lookup units
12:15:10 <Frooxius> It supports parallelism, but it's not so massive parallel like GPUs are
12:15:24 <ais523> Vorpal: yes, it doesn't allow for hardcoded highlevel stuff
12:15:32 <ais523> it /does/ allow for texture lookup; that's what rocopy is for
12:15:34 * kallisti is also going to BREAK THE MINDS OF ALL PROGRAMMERS EVER by making & and | the boolean logical operators because this makes way more sense than && and ||
12:15:35 <Vorpal> Frooxius, I look forward to seeing this language
12:15:59 <Vorpal> ais523, with texture interpolation?
12:16:11 <Vorpal> hm that is like the key feature of textures to me
12:16:19 -!- oerjan has quit (Quit: leaving).
12:16:37 <Vorpal> ais523, I haven't used OpenCL so for all I know it might match that
12:19:18 -!- monqy has quit (Quit: hello).
12:19:46 <Vorpal> ais523, is abstain/1 like in intercal?
12:21:21 <ais523> it's more like computed abstain forced at 1, then regular abstain
12:21:24 <ais523> and still more like an if statement
12:21:32 <ais523> it's basically the same as an if except for timing
12:22:23 <Vorpal> ais523, iirc real GPUs tend to execute the same code on all processing elements in a given core, just throw away any results that wasn't actually taken by the given processing eleme nt
12:22:51 <ais523> that's what I'm getting at with abstain
12:23:02 <ais523> the code has to be executed, it's just that it can ignore what it does
12:23:44 <Vorpal> ais523, where do you handle that for loops? I do believe GLSL allows different loops to take a different number of iterations
12:24:05 -!- Frooxius has quit (Ping timeout: 240 seconds).
12:24:05 <Vorpal> the same loop on different processing elements
12:24:14 <Vorpal> I guess you just abstain the last few times
12:24:18 <ais523> Vorpal: it'd have to cap it to the maximum number of iterations
12:24:39 <ais523> however, all sane GPU programming would make a loop have the same number of iterations for the entire weave
12:24:57 <Vorpal> ais523, not sure what you mean by weave here
12:25:12 <ais523> Vorpal: it's a technical GPU term
12:25:21 <Vorpal> what does it mean though?
12:25:27 <ais523> basically, a half-weave is the number of actual commands that run simultaneously on one processing element
12:25:37 <ais523> and a weave is the number of commands that /effectively/ run simultaneously
12:25:44 <ais523> because there's a 1-cycle pipelining delay
12:26:21 <kallisti> actually I could do something TOTALLY CRAZY
12:26:33 <ais523> so the rule is that weaves give you perfect simultaneity, and that you need to synchronize things like memory accesses within a half-weave to get the best results
12:26:39 <kallisti> and make v and ^ for logical conjunction/disjunction
12:26:55 <Vorpal> ais523, but these details seems to be hidden from you when you are writing GLSL?
12:26:55 <ais523> kallisti: nah, use Unicode
12:27:04 <ais523> GLSL is rather higher level than OpenCL
12:27:06 <kallisti> but I can't type Unicode quickly. :P
12:27:18 <Vorpal> I guess I want to avoid opencl then?
12:27:28 <Vorpal> because that stuff sounds annoying
12:27:55 <Vorpal> ais523, I just noticed "avoid if when at all possible" seemed to work pretty well for glsl
12:28:13 <ais523> Vorpal: well, it depends on what you're writing the code /for/
12:28:22 <ais523> if you want to write vertex and fragment shaders, glsl is a pretty good choice
12:28:29 <Vorpal> ais523, also does anyone actually use the geometry shader?
12:28:35 <Vorpal> it doesn't seem to perform well at all
12:28:42 <kallisti> I think using Haskell's list monad will make the logic programming stuff much easier.
12:28:52 <ais523> if you want to write bitcoin mining code, you're probably better off with opencl
12:28:58 <ais523> Vorpal: I'm not sure; they're a comparatively new thing
12:29:08 <ais523> and I'm not entirely up-to-date on what they actually do
12:29:37 <Vorpal> ais523, and if you want to use the GPU to accelerate image manipulation? I know hugin uses GLSL for it, but is it actually the best choice?
12:30:03 <Vorpal> <kallisti> but I can't type Unicode quickly. :P <-- I can. Try M-x set-input-method RET TeX RET
12:30:29 <kallisti> what if I don't know TeX though? :P
12:30:29 <ais523> Vorpal: hmm, I'm not sure
12:30:35 <ais523> possibly depends on what manipulation you're doing
12:30:36 <Vorpal> kallisti, you need to learn it
12:30:53 <ais523> main advantage of something like opencl is that you could make sure that memory was being loaded in an optimal way
12:30:54 <Vorpal> ais523, well in the case of hugin, mapping flat images into whatever shape it needs to be for merging in a panorama
12:30:59 <Vorpal> it doesn't use it for the actual merging
12:31:05 <Vorpal> just the bending of the input images
12:31:22 <Vorpal> I guess you might want to use the texture units there
12:31:36 <Vorpal> to get interpolation when there wasn't a 1:1 map for the pixels (the usual case)
12:31:50 <Vorpal> can you access the texture units from opencl?
12:33:56 <ais523> sure, it's called "constant memory"
12:34:12 <Vorpal> ais523, but can you get the interpolation then?
12:34:34 <ais523> not sure; my guess is it'd involve a nonstandard but nonetheless common extension
12:37:51 <kallisti> ah okay, now I see why they say Haskell's type system is like a mini-Prolog.
12:39:31 -!- derdon has joined.
12:40:05 -!- sebbu2 has joined.
12:40:05 -!- sebbu2 has quit (Changing host).
12:40:05 -!- sebbu2 has joined.
12:41:14 -!- sebbu has quit (Ping timeout: 240 seconds).
12:41:49 -!- sebbu2 has changed nick to sebbu.
12:45:39 <Vorpal> ais523, btw does opencl have built in noise functions?
12:45:52 <Vorpal> ais523, glsl does but most GPUs just return 0 on them
12:45:57 <ais523> it doesn't have too much built in stuff
12:45:58 <Vorpal> which makes them effectively useless
12:46:13 <ais523> it's one of those languages which is bare-bones and expects people to write libraries for it
12:46:39 <Vorpal> and with most I mean all but one card series which I believe is nowdays discontinued
12:46:51 <Vorpal> (some 3dfx thingy iirc)
12:48:29 <kallisti> http://en.wikipedia.org/wiki/Logical_consequence
12:48:48 <kallisti> what makes this different from implication over the conjunction of every element in the set...
12:49:38 <Vorpal> ais523, GLSL kind of reminds me of NQC. NQC is a C-like language for the Lego Mindstorms standard firmware. It had lots of useful domain-specific functions and not much else.
12:49:41 <kallisti> like why does it get its own name, basically.
12:54:03 <kallisti> > let entails :: [Bool] -> Bool -> Bool; entails ss s = not (and ss && not s) in entails [2 < 4, 2 > 0] (2 == 3)
12:56:13 <kallisti> > let entails :: [Bool] -> Bool -> Bool; entails ss s = not (and ss) || s in entails [2 < 4, 2 > 0] (2 == 2)
12:57:45 <kallisti> De Morgan's laws to the rescue.
12:58:15 <Vorpal> wow what a strange texture format: floating point, 9 bits of precision, shared exponent. GL_RGB9_E5
12:58:27 <Vorpal> so 5 bits of exponent I think?
12:58:45 <ais523> three 9s are 27, plus 5 is 32
12:58:54 <Vorpal> ais523, still it is a pretty strange format
12:59:43 <Vorpal> there is also GL_R11F_G11F_B10F
12:59:48 <Vorpal> those floats lack sign bits
12:59:56 <Vorpal> and the blue one has less precision
13:00:14 <fizzie> So that it'd sum up to 32.
13:00:28 <fizzie> And why would you need negative numbers in a texture?
13:00:55 <Vorpal> fizzie, still it is a strange format with less precision in blue
13:01:08 <ais523> Vorpal: there are a bunch of asymmetrical pixel formats like that
13:01:14 <ais523> there's quite a common 556 one, for instance
13:01:21 <ais523> I think it's based on what the eyes are best at distinguishing
13:01:28 <fizzie> I thought that was 5-6-5 with 6 on green, most commonly.
13:01:41 <Vorpal> not in opengl as far as I can find
13:01:52 <ais523> fizzie: I'm not sure what order it's in, but 6 on green is entirely believable
13:01:58 <Vorpal> there is 3-3-2 (integer) for example
13:02:14 <Vorpal> normalized integer even
13:02:16 <ais523> what on earth would a 2-bit float be like anyway?
13:02:39 <ais523> or even sillier, a 1-bit float
13:04:44 <fizzie> The old OpenGL glTexImage2D man page I have here lists GL_UNSIGNED_SHORT_5_6_5 for the external format.
13:05:13 -!- Frooxius has joined.
13:05:36 <fizzie> Also the 4_4_4_4 all-four-bit RGBA, and the 5551 "I guess we can spare a single bit for an alpha channel" formats.
13:06:09 <Vorpal> I was mostly looking at floating point formats
13:06:29 <Vorpal> but sure I can find all of those apart from 565
13:06:57 <ais523> fizzie: does 5551 have 128 shades of colour, and 128 shades of transparent?
13:07:01 <ais523> that seems a little weird
13:07:27 <ais523> or, hmm, you could define transparent white as actual transparent
13:07:27 <Frooxius> just two shades of transparent?
13:07:38 <ais523> and have a fixed arbitrary value for the alpha as the other value
13:07:51 <fizzie> ais523: 128? 5+5+5 is 15 bits.
13:07:54 <ais523> Frooxius: it's not Either Transparent (Word5,Word5,Word5)
13:08:01 <ais523> it's (Word5,Word5,Word5,Boolean)
13:08:58 <fizzie> Vorpal: Your list is probably for the internal color formats, which might not have a 565 one.
13:09:27 <Vorpal> fizzie, it probably is, I'm looking on the opengl wiki
13:09:53 <kallisti> hm why does Prolog only allow horn clauses..
13:10:01 <Frooxius> ais523: what? I know three word5 and a boolean but what does the boolean mean? You use the first three to store the color and boolean to determine two levels of transparency?
13:10:19 <ais523> it's 5 + 5 + 5 + 1, right?
13:10:35 <ais523> my point is that once you've set the alpha channel to transparent, you still have 15 bits of color
13:10:43 <Vorpal> kallisti, iirc they are easy to compute?
13:10:53 <ais523> that you're just wasting, because different shades of totally transparent are visually indistinguishable
13:10:56 <Frooxius> Yeah, but why have 15 bits of color?
13:11:06 <Vorpal> kallisti, like always possible to find an answer to
13:11:07 <ais523> Frooxius: so if it's not transparent, then you can have colors
13:11:15 <Vorpal> kallisti, unlike some other forms
13:11:15 <Frooxius> Yeah, that's what's bothering me as well
13:11:18 <ais523> we have 32769 useful possibilities out of 65536 here
13:11:22 <fizzie> ais523: Retaining color values even in fully transparent regions might still make sense; it's not like it's rendered as-is always.
13:11:27 <ais523> I was suggesting that perhaps the format should do something with the other 32767
13:11:32 <Frooxius> If the bit means that it's completely transparent then the color doesn't matter that much
13:11:40 <ais523> fizzie: oh, indeed, and many graphics packages have an option to do just that
13:12:11 <Vorpal> ais523, well you might want to use it for something else. It is not like the pipeline is fixed
13:12:38 <Frooxius> What about to store first some bitmap (literally map of booleans) that determine transparency and then store ONLY visible pixels, that is ,the transparent ones will be skipped. If you want to save space
13:12:39 <ais523> well, if you're using it for something else, why are you putting an RGBA meaning on it anyway?
13:12:49 <ais523> Frooxius: that'd be hell on a GPU's memory model
13:12:55 <ais523> that's a compression format, not an in-memory graphics format
13:13:09 <Frooxius> Oh, sorry, I didn't know you were talking about in-memory
13:13:25 <Frooxius> I kind of popped in the middle of discussion x3
13:13:40 <fizzie> They have those weirdo in-memory compressed texture formats too.
13:14:35 <Frooxius> Yeah, though the one I mentioned can't be easily accessed, in order to find a pixel by its x and y position, you would have to scan the bit-alpha map first
13:14:36 <Vorpal> <ais523> well, if you're using it for something else, why are you putting an RGBA meaning on it anyway? <-- because that isn't what you do, those are just names assigned to the specific channels
13:14:47 <Vorpal> ais523, you could just call them xyzw or 0123
13:15:59 <Vorpal> ais523, I used textures for other stuff than images. Like a height map that I then used in the geometry shader.
13:16:13 <ais523> Vorpal: well, indeed, that's the point
13:16:26 <ais523> I'm just not convinced that splitting into 5+5+5+1 format is useful for nonimages
13:16:27 <Frooxius> Hmm... though I understand the feeling. I was designing an opcode and I needed to encode 5 directions, but I had to use 3 bits for that and I still have 3 variations undefined... and it keeps bothering me and I keep thinking of how can I use them |3
13:16:27 <Vorpal> ais523, it ended up in the red channel
13:17:15 <Vorpal> Frooxius, just draw a whatever-those-diagrams were called.
13:17:23 <Vorpal> when you calculate the gates by hand
13:17:39 <kallisti> I think my esolang will work with any kind of boolean statement since there's no logical implication involved (i.e. nothing like Prolog's :- )
13:17:40 <Frooxius> But that's something different.
13:17:44 <fizzie> ais523: Well, you *do* get a RGB555 image plus a mask bitmap in the same "thing". You could use it for the "can fly through" mask for a cave-flying game.
13:17:58 <Vorpal> Frooxius, well you could work out what sort of opcode encoding would give you the least number of gates :D
13:18:00 <ais523> red/green/blue/collidable? I suppose that makes sense
13:18:08 <Frooxius> I'm talking about assigning the bits meanings
13:18:12 <ais523> I was thinking about that myself, and decided that collidable often needs more than one bit
13:18:26 <kallisti> the implications are state transitions, rather than logical statements.
13:18:52 <Frooxius> well the variations, if I have 3 bits, to store 5 states and other 3 are undefined
13:18:56 <Vorpal> Frooxius, indeed, but I mean you should check which assignment of the bits give the simplest logic
13:19:17 <ais523> Vorpal: to determine what happens on collision
13:19:19 <fizzie> I think at least one cave-flyer had a strictly black-and-white mask bitmap, albeit stored in a separate file. (Though some I recall having more complicated formats, for things that can explode/be set on fire/whatever.)
13:19:26 <Frooxius> the logic is simple, I mean, decoding it
13:19:52 <Frooxius> There's a simple straightforward way
13:19:54 <ais523> Vorpal: well, I'm used to games with collisions having multiple sorts of collisions
13:19:58 <Vorpal> Frooxius, come on, if you ever want to implement it in TTL logic and wire wrapping you could save yourself a lot of work by making the logic required simple :P
13:20:04 -!- mr_schlauch has quit (Ping timeout: 252 seconds).
13:20:07 <ais523> e.g. in platformers, often you take damage hitting enemies from the sides, but not from above
13:20:33 <Vorpal> ais523, not sure you would store that in the image format anyway
13:20:44 <Vorpal> Frooxius, well sure, but what if you want to do it old school in the future?
13:20:52 <fizzie> ais523: The RGB10_A2 format gives you four types.
13:21:07 <Frooxius> Well I already saved myself a lot of work
13:21:30 <Frooxius> because the way it's designed, I can use exactly same decoding on these 5 states as with another form of encoding, which uses 30 variations
13:21:43 <ais523> Vorpal: also, you just use two layers of n-input NANDs
13:21:48 <Frooxius> and I can use same logic to decode both.
13:21:58 <ais523> to efficiently implement any truth table with TTL logic and wire-wrapping
13:22:07 <ais523> efficiently in terms of time
13:22:20 <ais523> can be inefficient in terms of logic size in some cases
13:22:36 <Frooxius> There's not much of a truth table, it basically corresponds to numeric base 5
13:22:50 <Vorpal> ais523, if you have like 4 in-signals and you can arrange the values so that they are groupable in a kaurnaugh diagram you save yourself some wires
13:23:13 <ais523> if the problem's small enough to K-map it
13:23:21 <ais523> then you're probably not going to run out of gates anyway
13:23:36 <Frooxius> I dunno if I would do it old school way though. It would be too large anyway
13:23:41 <fizzie> Heh, that S3TC/DXT1 format is the fanciest. Each 4x4 pixel block is stored as two RGB565 (there's the 565 again...) color values, color0 and color1, followed by a 32-bit integer holding two bits per pixel in the block; each pixel is either color0 (bits 00), color1 (bits 01), (2*color0+color1)/3 (bits 10, color0 > color1), (color0+color1)/2 (bits 10, color0 <= color1), (color0 + 2*color1)/3 (bits 11, color0 > color1) or black (bits 11, color0 <= color1).
13:23:54 <Vorpal> ais523, but even for larger problems you could still save some gates.
13:24:03 <Vorpal> even though it might be more work figuring out how
13:24:31 <fizzie> Also it's Karnaugh, not "Karnagaugh" or "kaurnaugh".
13:25:02 <Frooxius> Yeah, I don't remember how to spell it in English
13:25:29 <fizzie> It's the guy's name, you don't spell it any differently in any other language.
13:26:05 <Frooxius> We spell some names a bit differently in our language
13:26:24 <fizzie> It's like everyone has to call SOMs "Kohonen maps" no matter how stupid they think it sounds.
13:26:46 <Frooxius> It's not THAT different, I don't really remember how to spell his name
13:27:07 <Frooxius> I don't remember all the names
13:27:11 <Vorpal> fizzie, the names of the ancient greeks tend to be spelled differently in different languages though
13:27:33 <fizzie> Vorpal: I guess there's some variation allowed when the alphabet differs.
13:28:11 <Frooxius> Plus our language has modifiers. If I were to spell your name in some conjunction in my language, it would be "fizziovy mapy"
13:28:33 <Frooxius> Most nouns are modified and have many variants
13:28:43 <Frooxius> Otherwise it would sound... REALLY weird
13:29:04 <Frooxius> usually only the ending portion of the name is modified though
13:29:35 <Vorpal> which language is that?
13:29:38 <fizzie> Finnish is a very inflectional language too, and admittedly we add a suffix to Karnaugh; it's just that generally I think everyone's name should be spelled the way they want it.
13:30:21 <fizzie> Sadly the name isn't Finnish-enough looking, so we have to call it "Karnaugh'n kartta" with an apostrophe.
13:30:41 <Vorpal> in Swedish we don't generally modify names beyond the "belongs to"-suffix. Because plural and definite form suffixes doesn't make sense on names
13:30:48 <Vorpal> well I guess plural might
13:30:51 <Frooxius> I think that Karnaugh has only suffix, but sometimes last one or two letters are modified as well
13:31:27 <fizzie> We've got 15 noun cases, and many of them make sense for names.
13:31:33 <Frooxius> I mean... I just don't remember how exactly to spell his name, that's why I added "or something like that"
13:31:33 <Vorpal> fizzie, strangely enough it is called Karnaughdiagram in Swedish, not Karnaughkarta
13:31:55 <fizzie> Well, it's not a "map"-map all geography-like.
13:32:09 <Frooxius> it's called map in my language
13:32:30 <fizzie> It's called map in Finnish too, but "diagram" makes equally much, if not more, sense.
13:32:33 <fizzie> Whoops, it's bank-time. ->
13:32:33 <Frooxius> But that one doesnt mean just geography map
13:34:36 -!- Frooxius has quit (Read error: Connection reset by peer).
13:36:03 -!- Frooxius has joined.
13:36:17 <Frooxius> oops, sorry, broadband connection (EDGE) x3
13:36:51 -!- Frooxius has quit (Read error: Connection reset by peer).
13:36:51 <itidus21> http://en.wikipedia.org/wiki/A_Book_from_the_Sky
13:37:08 -!- Frooxius has joined.
13:37:31 <Frooxius> regarding the 5551 though... what if the last bit activates some transparency mode, where the first 15 bits get reallocated like 4443 - RGBA, that is 4 bits for every color channel (so the color resolution lowers a bit) and 8 levels of transparency
13:39:00 <itidus21> forget my link.. awesome topic.. i need to scroll up on this one i think
13:39:37 <fizzie> Sounds slightly complicated, though certainly possible. Also, 9 levels when you count the non-transparent case.
13:39:40 <kallisti> http://fc05.deviantart.net/fs71/i/2011/104/0/8/nyan_cat_timelapse_by_kingaby-d3dygfa.jpg
13:39:49 <itidus21> i guess they could do some huffman encoding of images kind of
13:40:10 <itidus21> like.. determining the probability rates of color neighbourhoods
13:40:10 <kallisti> jpeg uses these fancy things called wavelets.
13:40:16 <Frooxius> yaaay DA, did you make that kallisti?
13:40:50 <fizzie> If you want to call DCT a wavelet transformation...
13:41:43 <fizzie> I was under the impression that the JPEG2000 nobody uses does actual wavelets, though.
13:41:44 <itidus21> like .,.. if middle pixel is FF0000, then topleft pixel is a% likely to be 000000, b% likely to be 000001, c% likely to be 000002... hsahss% likely to be FFFFFF
13:42:03 <Frooxius> Anyway, that reminds me of this joke I made http://fc00.deviantart.net/fs71/f/2011/338/5/f/eight_gigabytes_of_ram_by_frooxius-d4i5698.png :3
13:42:23 <kallisti> fizzie: oh yes that's the one I was thinking of.
13:42:24 -!- Frooxius has quit (Read error: Connection reset by peer).
13:42:40 -!- Frooxius has joined.
13:42:51 <Frooxius> Anyway, that reminds me of this joke I made http://fc00.deviantart.net/fs71/f/2011/338/5/f/eight_gigabytes_of_ram_by_frooxius-d4i5698.png :3
13:43:11 <Vorpal> that got through the first time
13:43:28 <fizzie> Offhand I wouldn't be surprised if you could mathematically speaking describe DCT as a wavelet transformation with the right sort of really boring basis functions.
13:43:31 <Frooxius> oh cool, sorry, I lost connection immediately after sending that, so I wasn't sure
13:43:34 <itidus21> and on the basis of these %'s, you could map the bits of the neighbouring pixels somehow
13:44:10 <itidus21> <-- sort of dumb, sort of smart, both at same time
13:44:18 <fizzie> OpenGL doesn't do Amiga's HAM formats. :/
13:44:37 <fizzie> Okay, back out to the snow. ->
13:44:38 <Vorpal> fizzie, what were those?
13:44:57 <fizzie> Hold And Modify, the pixels depend on neighbors.
13:45:16 <fizzie> You get more colors but it's difficult to do sharp edges.
13:45:41 <itidus21> fizzie: ahh.. so i had a nice idea but its done long ago eh?
13:45:47 <Frooxius> actually here's link to the DA page, not direct to image http://frooxius.deviantart.com/art/Eight-Gigabytes-Of-RAM-272339180 Dunno why I linked that
13:46:15 <itidus21> everything has already been done :P
13:46:21 <itidus21> criuudhwudihewuidhwe uidhweuidh ewuidhewuihduiew dhwuih diuhw diuhw iudh iuwehdiuhweiudhweuihdiuwhduiwdwe
13:47:14 <HackEgo> 2007-02-11.txt:01:49:58: <SimonRC> fuck fuck fuck fuck fuck
13:47:48 <kallisti> it's okay I accidentally invented FRP.
13:48:20 <HackEgo> 2009-11-19.txt:04:38:00: <Darth_Cliche> WTF!
13:48:38 <HackEgo> 2007-05-01.txt:00:19:54: <SimonRC> but WTF does the group have that effect on me?
13:48:53 <itidus21> wow.. simonrc is popular in these logs
13:49:38 <ais523> well, obviously if you search for swearwords you're going to get people who swear more
13:49:57 * ais523 wonders about the chance of no results
13:49:59 <HackEgo> 2011-01-18.txt:20:41:14: <elliott> Jeb did it, motherfucker.
13:50:08 <ais523> ah, no, there was at least one
13:50:40 <HackEgo> 2011-03-22.txt:23:54:58: <Gregor> http://programming-motherfucker.com/
13:51:20 <HackEgo> 2008-08-23.txt:17:41:11: <AnMaster> ais523, feather?
13:52:02 <itidus21> fizzie: well.. yes i feel proud that i just described HAM (in my poorly worded kind of way).. it is a testament to my comprehension of pixels
13:52:28 <ais523> OK, esoteric idea: image format that's neither raster nor vector
13:52:40 <ais523> hmm, what other possibilities are there?
13:52:42 -!- nooga has quit (Ping timeout: 252 seconds).
13:53:10 <Frooxius> Some language to describe the image algorithmically?
13:53:25 <ais523> Frooxius: hmm, I was wondering along those lines too
13:53:40 -!- azaq231 has joined.
13:53:49 -!- Frooxius has quit (Read error: Connection reset by peer).
13:53:53 <itidus21> but, just because someone had to
13:53:58 -!- azaq23 has quit (Ping timeout: 240 seconds).
13:54:35 <itidus21> ais523: my way of approaching this kind of problem would be to look for the generalization
13:54:45 <itidus21> and make another child from it
13:54:59 -!- Frooxius has joined.
13:55:05 <Frooxius> Some language to describe the image algorithmically?
13:55:08 <Frooxius> I think they actually used something like that for one (or possibly more) game that they squeezed to 100 kB or so. They actually stored all textures and such algorithmically
13:55:21 <itidus21> so, vector and raster would be, children of some parent
13:56:09 <Frooxius> So the game took like... ages to load, because it needed to render all the stuff |3
13:56:13 <itidus21> ais523: ok ok.. heres one idea i had once
13:56:40 <ais523> let's see… raster images are a bit like an imperative description of what to draw to the screen
13:56:41 <itidus21> the video memory consists of a single 32 bit integer
13:56:42 <ais523> as is, say, RLE images
13:56:58 <ais523> more complicated compression schemes are more like an OO description
13:57:18 <ais523> and vector images are a bit like a declarative description, if you consider "what to draw to the screen" to be a rasterisation
13:57:29 <ais523> so, hmm, what else is left?
13:57:49 <itidus21> hmm.. its too hot and im too hungry for this lovely topic wuaahhh
13:58:15 <ais523> clearly, we need constraint-based images
13:58:48 <itidus21> ais523: i am primarily interested in graphics
13:58:54 <itidus21> i have tried to figure some stuff out before
13:59:34 <itidus21> an image which has only 1 colour, can be stretched and shrunken without affecting it at all
14:00:43 <ais523> hmm, not true for raster images, surely?
14:00:54 <ais523> if it's 100x100, and you stretch it to 150x150
14:00:58 <ais523> then you can't roundtrip it back to100x100
14:01:06 <ais523> oh, you mean solid color, I see
14:02:17 <itidus21> i applied myself to thinking about graphics in the past but never really got far
14:02:25 <itidus21> but that was one idea i realized
14:03:22 <ais523> <kerio> it's still not an excuse for a modern os to ship without a ssh client or with a telnet client
14:03:33 <ais523> ^ for all the people who just wouldn't believe me when I told them I knew an ssh fanboy
14:03:49 <Frooxius> yeah, but 1 solid color is not much of an image
14:04:04 -!- Frooxius has quit (Read error: Connection reset by peer).
14:04:23 <itidus21> and on the spur of the moment i just descrbed a way that a set of images can be optimized for hold and modify without having heard of hold and modify before.. so i feel pretty accomplished from that
14:04:58 <itidus21> actually i think i have heard of it..
14:05:06 <itidus21> in an old edition of computer and video games
14:05:17 <itidus21> but i think the article just said the prorgammers used some clever tricks
14:08:03 -!- Frooxius has joined.
14:11:44 <itidus21> i... i saved a document by accident.. and lost all the images inside it
14:14:05 <myndzi> http://en.wikipedia.org/wiki/Kkrieger <- game you're thinking of (probably)
14:14:56 <itidus21> beats myself around the head with imaginary baseball bat
14:16:42 <myndzi> "Textures are stored via their creation history instead of a per-pixel basis" .. interesting
14:17:01 <itidus21> myndzi: maybe i was not actually thinking of ham at all
14:17:04 <myndzi> well, an interesting optimization task anyway
14:17:16 <itidus21> it was some scifi game in an old magazine
14:17:16 <myndzi> i want a ham sandwich!
14:17:30 <itidus21> it said that the programmers used some tricks to get more colours
14:17:55 <myndzi> ah no, i was referring to frooxius's comment
14:18:01 <myndzi> kkreiger is probably the game he was talking about
14:18:19 <myndzi> Frooxius> I think they actually used something like that for one (or possibly more) game that they squeezed to 100 kB or so. They actually stored all textures and such algorithmically
14:18:32 <myndzi> demoscene dudes are pretty cool :)
14:18:58 <itidus21> a file went bad in open office
14:19:01 <ais523> I read recently that there were some people developing an esolang-like language for golfing demos
14:19:06 <itidus21> i did repair but repair didnt go well
14:19:29 <itidus21> when i tried to save it.. i did so without thinking and overwrote it
14:19:49 <itidus21> it doesn't really matter.. i retained all the text, but i had some silly images
14:19:58 <itidus21> and the images gave this file character
14:20:11 <Frooxius> The connection... O.e I got no messages for a few minutes and then BAM! a few dozen messages at once x3
14:20:45 <itidus21> i put a lot of work into my little documents.. i need to be more careful
14:21:00 <Frooxius> I don't recall name of that 100 kB game, though I can look it up
14:21:17 -!- Ngevd has joined.
14:21:38 <myndzi> though it was an entry in a demo party
14:21:47 <myndzi> it's just the most notable one people seem to have heard of :)
14:22:10 <Ngevd> myndzi, you're the one with a cyborg account, right?
14:22:21 <fungot> \o| |o| |o/ \m/ \m/ |o/ \o/ \o| \m/ \m/ \o| |o| |o/
14:22:22 <myndzi> | | | `\o/´ | | | `\o/´ | | |
14:22:22 <myndzi> /´\ >\ /| | /´\ /| |\ | /< >\ |\
14:22:36 <Frooxius> I like artistic games a lot though. I try to make my own games as an art form
14:23:10 <itidus21> the game i am thinking of turns out to be Universe on Amiga
14:23:24 <itidus21> i once read they used some kind of tricks to get more colours
14:24:27 <itidus21> "Universe was based on a modified version of Enchantia's game engine (the most notable addition was the in-game text and dialogue system and the increase in the Amiga color palette)"
14:24:35 <myndzi> probably not, i'm not sure what you're talking about :)
14:24:50 <myndzi> "account" doesn't really apply on irc
14:24:55 <myndzi> but nah, i just idle a bunch :)
14:25:09 <Ngevd> And you do the celebrate thing
14:25:26 <myndzi> well it appears that somebody stored a convenience macro \o/
14:25:33 <myndzi> it draws legs on anything though
14:26:09 <ais523> what's with the leading 9s?
14:26:50 <myndzi> your irc client is rendering color codes weirdly
14:27:21 <Deewiant> I see no nines nor any colours
14:27:31 <myndzi> which is how it should be ;)
14:27:50 <myndzi> there's a reset directly after them
14:28:00 <myndzi> it's just hidden tags so i don't interpret lines multiple times or when pasted etc.
14:28:14 <myndzi> long as it was copied in color anyway
14:28:23 <myndzi> kind of bot-loop protection
14:28:43 <ais523> one of the possible smilies starts with `
14:28:59 <ais523> so if not for that leading screwup, you could get a loop with hackego
14:29:10 -!- sebbu2 has joined.
14:29:10 -!- sebbu2 has quit (Changing host).
14:29:11 -!- sebbu2 has joined.
14:29:26 <myndzi> well, i wrote this script some time before i ever came here, but you have the idea ;)
14:29:37 <myndzi> it was a problem so i fixed it, i don't even remember what the problem was now
14:29:45 <myndzi> it might have only applied to me!
14:30:02 <myndzi> since i do some funky things with my own client
14:30:22 <myndzi> <- :myndzi!myndzi@c-67-168-184-168.hsd1.wa.comcast.net PRIVMSG #esoteric :for example...
14:32:59 -!- sebbu has quit (Ping timeout: 252 seconds).
14:32:59 -!- cheater has quit (Ping timeout: 252 seconds).
14:33:00 -!- Frooxius has quit (Read error: Connection reset by peer).
14:33:03 -!- sebbu2 has changed nick to sebbu.
14:38:08 <itidus21> one thing i have pondered about graphics is that things like graphics plots never resemble anything
14:39:07 <itidus21> like, it is not common for a formula to represent a bitmap
14:40:00 <myndzi> well, bitmaps don't frequently come in the form of elegant mathematical expressions ;)
14:40:05 <myndzi> have you read about fractal compression?
14:40:20 <itidus21> like most lineart is discontinuous
14:41:28 <itidus21> and then the idea comes as, just use the brute force of the computer which is available :P
14:41:34 <Vorpal> myndzi, I seem to remember there is a way to represent any 1-bit bitmap as an equation.
14:42:04 <Vorpal> ah yes https://en.wikipedia.org/wiki/Tupper%27s_self-referential_formula
14:42:17 <Vorpal> myndzi, no I mean as in each pixel is either black or white
14:42:18 <myndzi> but you mean 1 as in the bit depth i'm sure
14:42:35 <myndzi> i'd believe it, but is that representation significantly shorter or simpler?
14:42:47 <Vorpal> myndzi, see the link and decide for yourself
14:43:03 <Vorpal> I would call it clunky however
14:43:22 <Vorpal> myndzi, thing is, you can select some numbers in there to draw any image
14:43:33 <ais523> it's cheating, it's taking an encoding of itself as input
14:45:00 <myndzi> it doesn't look to be very efficient as far as compression goes
14:45:22 <Vorpal> myndzi, I was simply replying to "<myndzi> well, bitmaps don't frequently come in the form of elegant mathematical expressions ;)"
14:45:35 <Vorpal> I think the idea is pretty elegant :P
14:45:50 -!- cheater has joined.
14:45:50 <myndzi> except the fact that it requires a multiple-line constant :P
14:45:52 <Vorpal> myndzi, anyway: procedural textures
14:46:44 <Vorpal> myndzi, procedural textures tend to be more or less simple mathematical formulas
14:47:08 <Vorpal> quite often there is some perlin noise in there though, which might not be so simple
14:47:29 <myndzi> well, yeah, but itidus was commenting on prevalence
14:47:39 <myndzi> such techniques might be prevalent in the demoscene but not really outside of it
14:48:05 <Vorpal> myndzi, eh, I used procedural textures quite a bit. Minecraft water is by default a procedural texture afaik
14:48:34 <Vorpal> I'm not sure how common it is in other contexts
15:01:46 -!- nooga has joined.
15:02:32 -!- Frooxius has joined.
15:06:21 -!- qfr has joined.
15:06:38 <fizzie> The .kkrieger-making tool, .werkkzeug, has this artist-friendly(ish) GUI for playing around with expressions and parameters.
15:06:57 -!- MSleep has changed nick to MDude.
15:07:22 <Ngevd> For some bizarre reason, I keep thinking that "Euler" begins with J
15:07:24 -!- MDude has quit (Read error: Connection reset by peer).
15:07:54 <fizzie> And POV-Ray "frontends" (and Blender, and probably other modelers) tend to include procedural-texture-generation UIs where you can spwengle with layers.
15:08:02 <qfr> Because you grossly mispronounce it, Ngevd? :|
15:08:17 <Ngevd> qfr, not so it sounds like it begins with a J
15:08:26 <fizzie> Jeuler, the jocular Euler.
15:08:47 <Ngevd> It's only when I think "what's the initials of Project Euler" do I make this error
15:08:48 <qfr> A rough English approximation of how it's pronounced is "oilah"
15:09:08 -!- MDud has joined.
15:09:08 <fizzie> You grossly mispronounce it with a silent J, perhaps.
15:09:08 <qfr> In modern standard German that is
15:09:12 -!- MDud has changed nick to MDude.
15:09:21 <qfr> Different in Swiss German
15:10:08 -!- Frooxius_ has joined.
15:10:31 -!- MDude has changed nick to MDud.
15:10:35 -!- MDud has changed nick to MDude.
15:10:56 -!- MDude has changed nick to MDuck.
15:11:00 -!- MDuck has changed nick to MDude.
15:11:05 -!- Frooxius has quit (Ping timeout: 240 seconds).
15:11:18 -!- Frooxius_ has changed nick to Frooxius.
15:11:25 <fizzie> A dud duck. Is that like a duck which doesn't quack?
15:12:01 <MDude> mIRC keeps switching nick/alternate nick and then keeping it the wrong way around.
15:12:31 <qfr> mIRC? On MY freenode?
15:12:55 <myndzi> if you are USING your alt nick
15:13:02 <myndzi> and you change to a nick that's not your main nick
15:13:07 <myndzi> it modifies the setting
15:13:13 <myndzi> you can use /tnick to avoid this
15:13:26 <myndzi> it becomes a problem when you get guested or something
15:13:30 <myndzi> mirc changes your main nick to Guest
15:13:44 <myndzi> so when you go to change to your main nick, you instead change the wrong one
15:13:50 <myndzi> or s omething like that anyway. you should get the picture :)
15:14:06 <myndzi> you can alias tnick and maybe reset nick and anick when you get disconnected
15:18:15 <Frooxius> 8-bit metal! >:3 http://freemusicarchive.org/music/Heosphoros/Embered_Recollections/Eleven_Acausal_Fire
15:18:34 <myndzi> i found something awesome yesterday
15:20:32 <myndzi> vocals are a little .. well, not bluegrass but it doesn't really matter
15:20:59 <myndzi> because of them i also found iron horse, and they seem to have a bunch of cover albums of bands like metallica or black sabbath etc.
15:21:15 <Frooxius> Does anyone listen to Machinae Supremacy?
15:21:57 <myndzi> think i've heard of them, but i can't place it
15:23:09 <myndzi> i found the bluegrass band 'cause i was looking for piano covers
15:23:14 <itidus21> i downloaded a bunch of dragonball z game music recently
15:23:15 <myndzi> there are some good piano renditions of various songs on youtube
15:24:03 <Frooxius> I actually used their music in a short film I did, named "School as a computer game" :3 http://www.youtube.com/watch?v=hAAIPezSwVg
15:24:25 <myndzi> ha, this is an interesting combination
15:25:00 -!- Patashu has quit (Quit: MSN: Patashu@hotmail.com , Gmail: Patashu0@gmail.com , AIM: Patashu0 , YIM: patashu2 , Skype: patashu0 .).
15:27:10 <Frooxius> yeah they're great! :3 They're even fine with me using their music in that video (they're actually even glad for fan works x3 )
15:27:54 <myndzi> http://www.youtube.com/watch?v=iKQ048-O4vs#t=1m2s <- i want to find a whole album with songs like the intro riff here
15:29:04 -!- nooga has quit (Ping timeout: 276 seconds).
15:29:07 <myndzi> http://www.youtube.com/watch?v=p8cLJcm_RoU
15:29:10 <myndzi> totally didn't know that
15:31:32 <fizzie> Machinae Supremacy has played once or twice (or thrice; can't quite remember) at Assembly.
15:32:05 <Frooxius> Though recently, they seem to get more metal-like and less chiptune-y :-(
15:32:29 <fizzie> And Press Play On Tape did it last year; they're also quite 8-bitty, though not at all metal.
15:32:46 <fizzie> Or I guess officially they spell it PRESS PLAY ON TAPE.
15:33:16 <Frooxius> The songs I used in the short film are actually the ones that are available for free on their website
15:36:52 <fizzie> Oh, I see they've released (via Pirate Bay, no less) their Assembly 2011 concert video.
15:39:47 <itidus21> Frooxius: that is really a very cool video
16:10:45 <itidus21> its kind of funny, that, your understanding of 8bit must be so mysterious
16:11:04 <Frooxius> What do you mean by mysterious? Oo
16:11:40 <itidus21> well i was born in 82, and my first computer was a NES.. im not sure which year that was exactly
16:12:38 <Frooxius> What? Are you asking if I'm 89?
16:12:42 <itidus21> i guess you're not all that young
16:13:23 <itidus21> im not sure how i figured that out actually
16:13:45 <Frooxius> I still don't know what you mean by the mysterious though
16:14:16 <Ngevd> You're younger than you look
16:14:26 <Frooxius> I remember that we had Sega Master System when I was 3 or 4 and later Sega Genesis
16:14:40 <Ngevd> My first console was a Playstation 2...
16:14:48 <Frooxius> no computer though really as in, PC and such
16:15:05 <itidus21> ahh maybe ngevd feels the mystery about 8bit then
16:15:22 <fizzie> We never had consoles, I just rented a Genesis (well, Mega Drive hereabouts) from the video store every now and then. :/
16:15:41 <Frooxius> Hmm, I think it was named Mega Drive here as well
16:15:59 <itidus21> back then.. the option was.. 1) watch standard def tv 2) watch a vhs tape 3) play 8bit console
16:16:15 <itidus21> and if you were lucky you had some old computer
16:17:04 <itidus21> so slot cars and remote control cars were a lot more exciting back then
16:17:30 <Frooxius> Yeah. I know that even computer felt more exciting and mysterious for me when I was little.
16:17:36 <Frooxius> Maybe that's what you mean? The feeling of mystery?
16:17:54 <fizzie> There is no way to know what he means: that's the mystery.
16:17:54 <Ngevd> It's like how the Romans built the Pantheon
16:18:01 <itidus21> well.. for someone who wasnt raised on 8bit games then they have to wonder what exactly is it like to play 8 bit games
16:18:24 <Ngevd> Actually, I play Super Mario Bros on a NES emulator from time to time...
16:18:29 <itidus21> ---- in a time when they are being sold for a lot of money :P
16:18:35 <Frooxius> I play old games in emulators nowadays too :3
16:18:45 <Frooxius> Though dad has NES as well for a while
16:19:03 <Frooxius> But mostly it was Sega Master system. Which is 8 bit actually
16:19:12 <itidus21> i mean like... there was no 3d, there was no polygons, there was no street fighter
16:19:23 <Ngevd> I've got a friend who's got a Betamax player
16:19:34 <Frooxius> So I played some 8-bit games in my childhood, but not really that much, because later dad sold the console
16:20:29 <Frooxius> I remember... I couldn't even read much, so the help of M602 (something like Midnight Commander) that was on the computer seemed like a huge mysterious book that would take me ages to read |3 Now I can read it like in 5-10 minutes
16:21:12 <Frooxius> Though I didn't get computer until I was 12
16:21:42 <itidus21> Frooxius: anyway, your youtube is quite interesting... you're very creative
16:21:47 <Frooxius> Before then, we had nothing, because parents divorced
16:23:30 <fizzie> There was a Prolog system on our 286; now *that* was the weirdest. It even had some example programs that implemented an "ask about geography" thing.
16:23:33 <itidus21> in that housepets animation, did you work out the animation skeleton or was it done automatically?
16:23:56 <itidus21> the one where you move him around like a puppet
16:24:30 <Frooxius> Oh, no it was done manually, I positioned the parts with code
16:24:58 <Frooxius> It was just silly experiment, it's not even much good |3
16:25:03 <itidus21> hmm... did you make the whole system?
16:25:48 <Frooxius> Well I quickly scripted it, I basically wrote a code that positions the images on the screen based on input angles and X, Y positions and then created a simple keyframe system, that calculates the frames between two keyframes
16:26:07 <itidus21> i mean you didn't cheat with flash or anything right? :-D
16:26:23 <itidus21> so you did indeed do all the work
16:26:43 <Frooxius> Well it's very simple anyway, it's just an array of angles and positions and all it does it just pick one current one, find the next one and interpolate between them
16:27:08 -!- Vorpal has quit (Ping timeout: 260 seconds).
16:27:12 <itidus21> i was trying to work on a similar idea myself recently...
16:27:39 <itidus21> i sort of got an interpolated arm moving
16:27:41 <Frooxius> like if the keyframe[0] is for frame 0 and position 40 and keyframe[1] is for frame 2 and position 20, then it basically first calculates ratio of both
16:28:04 <itidus21> i think one limit i had was this arm thing i made could only bend at one joint
16:28:20 <Frooxius> (keyframe[n+1].frame-keyframe[n].frame)
16:28:50 <Frooxius> Like the span of frames and the ratio is calculated like
16:29:02 <itidus21> and it was about the time i gave up when i started to think about ways that it could work out the necessary joint bends to reach the target
16:29:27 <Frooxius> r = (current_frame-keyframe[n].frame) / (keyframe[n+1].frame-keyframe[n].frame)
16:29:34 <Frooxius> Then you can calculate the position as
16:30:06 <Frooxius> actual_x = (keyframe[n].x * (1.0-r) + keyframe[n].x * (r))
16:30:08 <itidus21> do you use the same system to animate tiggy?
16:30:49 <Frooxius> Plus you can first apply some function on the r
16:31:09 <itidus21> ah don't worry im not all that smart.. i won't remember any of this later
16:31:18 <Frooxius> like SinFunc(r), which outputs also 0.0 to 1.0, but assumes that input r is linear and output is sine
16:31:34 <Frooxius> So the animation is nice and smooth - has smooth start and smooth end
16:32:43 <Frooxius> SinFunc(r) can be defined like { return Sin(r*(pi/2)); }
16:32:49 -!- elliott has joined.
16:33:04 <fizzie> Or just "helliott" in short.
16:33:25 <lambdabot> elliott: You have 4 new messages. '/msg lambdabot @messages' to read them.
16:34:05 <elliott> three of those messages were me
16:34:08 <Frooxius> Tiggy has instead several animation states defined, like when he's walking, running, jumping and such. Each one of these has some input variables that are used to calculate the positions of the body parts - they are positioned by code as well
16:34:15 <fizzie> Well, self-popular, then.
16:34:46 <Frooxius> Usually it's walking speed and or surrounding's - distance to the floor or ceiling, or vertical speed and such.
16:35:15 <itidus21> Frooxius: i am sort of the dumb guy here.. i am clueless about esoteric programming..
16:35:24 <Ngevd> elliott, he's vaguely new
16:36:12 <Frooxius> However, it does smooth transitions between these animations, using a similar way as between two keyframes (calculate the ratio first and then do a sum of the first state *(1.0-r) and second state *r
16:36:27 <ais523> elliott: Frooxius is new, ontopic, and seems to understand what the channel's like
16:36:37 <ais523> you can look at the mess when we welcomed em
16:37:31 <fizzie> ais523: Sad, then, that the Elliott Experience(tm) will likely scar em for life.
16:37:48 <Frooxius> Plus smooth transitions can happen during various times. For example, when he's walking, then he's walking at specific speed and then there's a small range of the velocity, where the walking animation is transitioned to the running one, based on the speed actually (the speed in the small range is used as the ratio for the smooth transition)
16:38:17 <itidus21> and much better at it than i am
16:39:12 <pikhq> If only Homo sapiens were intelligently designed, then I could curse the designer of the sinus.
16:39:18 <Frooxius> For example, he walks at 10.0 speed and I can have code that calculates the ratio like r = limit( ( speed-10.0)/4.0, 0.0, 1.0)
16:39:31 <Frooxius> So the transition range is 10.0 to 14.0
16:39:44 <Frooxius> limit is limit(val, min, max) limits the value to certain range
16:40:46 <Frooxius> Though I have some weird ones in plans
16:40:52 <Phantom_Hoover> Pick a weird topology, apply to game space immediately.
16:41:05 <Frooxius> Well experimental games at least
16:41:18 <ais523> Phantom_Hoover: that's actually quite a good one for games, I think
16:42:10 <elliott> Here's the two-step plan to making an esoteric game: 1. Check if your game is one of my game plans. 2. If it's not, make it that and implement it. (You may need to learn a few languages.)
16:42:31 <Phantom_Hoover> Hahahaha, as if you'd ever use any language other than Haskell.
16:42:44 <elliott> Phantom_Hoover: That's at least one language!
16:42:50 <elliott> There's also the Cabal file...
16:42:51 <Phantom_Hoover> Or condone the use of anything that wasn't either Haskell or Haskell, but moreso.
16:42:59 <itidus21> he is the chosen one.. in 2012
16:43:01 <elliott> See, that's two languages.
16:43:22 <itidus21> a mysterious mix of intelligence and creativity
16:44:05 <elliott> Frooxius: Congratulations, you're The Prophet(tm).
16:44:08 <ais523> elliott: hey, implement elliottcraft (ais523 version) for me
16:44:09 <elliott> Tell us about how the world will end.
16:44:11 <ais523> I mean, i'ts named after you!
16:44:13 <itidus21> it is likely he will understand esolangs
16:46:40 <itidus21> the force is strong with him i tell you
16:46:51 <Frooxius> hmm... maybe it will end with Kernel Panic. Or a BSOD.
16:47:10 <Phantom_Hoover> <itidus21> a mysterious mix of intelligence and creativity
16:47:14 <Frooxius> Or whatever-Apple-Mac-OS-X-does-when-it-goes-bonkers
16:50:38 <Frooxius> That's totally Nitrloglibimostri*vilious
16:51:05 <Ngevd> Yay b*wdl*r*z*t**n
16:51:11 <elliott> Frooxius: OS X just kernel panics too.
16:52:18 <ais523> elliott: isn't an OS X kernel panic an image of a power button, plus instructions to reboot your computer in five different languages?
16:52:31 <ais523> if a Mac's going to screen-of-death, at least it's going to be a /stylish/ screen of death
16:52:44 <ais523> whereas Linux just locks up and flashes the num lock and caps lock keyboard LEDs
16:53:01 <ais523> (and I don't think I need to explain what Windows does, it's so well known)
16:53:56 <ais523> I would ask what DOS does on kernel panic
16:54:01 <ais523> but I'm not entirely convinced it even has a kernel
16:54:12 <Ngevd> <ais523> B****fuck <-- just realised the joke...
16:54:24 <ais523> Ngevd: it's an old joke
16:54:31 <ais523> but wow, that was almost as slow as Vorpal
16:54:40 <Frooxius> Yeah. Like display an advanced and detailed 3D realtime render of rotating apple with a little diamond worm with a speech bubble saying "According to 9 out of 10 fashion experts, it's very positive for your image if your OS crashes once in a while. Thus, with sole intentions of helping your image, we just crashed your OS. Your Apple"
16:55:04 <fizzie> ais523: The C64 ROM hasn't got a kernel, but it *has* got a KERNAL.
16:55:05 <ais523> incidentally, most OSes don't react sanely to a GPU crash
16:55:26 <ais523> fizzie: the BBC Micro just had a bunch of subroutines at the top of memory that did stuff like writing to the screen
16:55:36 <ais523> with standard names like oswrch
16:55:58 <ais523> (which made asm programs hard to read, as I mentally pronounced both words as "ostrich")
16:57:33 <kallisti> holy shit why is google's search bar under like 10 nested divs and tables.
16:58:18 <fizzie> ais523: That's not much more than what the KERNAL has, except I think it's got the standard IRQ, NMI and RESET handlers too.
16:58:35 -!- azaq231 has quit (Quit: Leaving.).
16:58:37 <fizzie> It's even also at the top of the memory.
16:59:15 <Ngevd> Well, my BytePusher version of Hunt the Wumpus is tricky...
17:06:20 <fizzie> ais523: Also FreeDOS has a component called KERNEL; it contains the KERNEL.SYS file which implements the DOS system calls. I suppose that corresponds to MSDOS.SYS, and possibly also IO.SYS, in MS-DOS.
17:06:37 <ais523> yep, seems about right
17:16:42 <fizzie> I think I got a "GURU MEDITATION" error out of some website the other day.
17:18:04 <qfr> My notebook came with a copy of FreeDOS
17:18:08 <qfr> I put it into the trash
17:18:56 <ais523> qfr: it's a legal requirement that Microsoft invented, that computers have to be sold with an OS
17:19:01 <ais523> (at least, they managed to force it through)
17:19:14 <ais523> FreeDOS is typically used as a very cheap method of complying with that requirement
17:19:21 <ais523> by computer companies who'd otherwise be selling bare boxes
17:19:46 <Ngevd> What's the easiest way to convert a 256x256 bitmap to a Bytepusher codepage?
17:19:51 <ais523> qfr: you did put the copy of FreeDOS in the trash, not the notebook, right?
17:19:51 <fizzie> xscreensaver's BSOD "hack" contains error messages from: Windows 3.1, Windows 95, Windows NT, MS-DOS, AmigaDOS 1.3, Linux, SCO UNIX, BSD UNIX, HPUX, Solaris, Tru64, VMS, HVX/GCOS6, IBM OS/390, OS/2, MacOS (MacsBug, Bomb, Sad Mac, and OSX), Atari ST, Apple ][+, and NCD X Terminals.
17:22:19 <fizzie> Ngevd: If you just need the bytes, and it's a one-off thing, Gimp has a "raw image data" file-writing mode which I guess should suffice.
17:24:34 <fizzie> Actually I'm not terribly sure if it includes the palette if you write an indexed-color image.
17:25:41 <fizzie> But at least a grayscale image is written as a sequence of bytes in the "obvious" manner.
17:27:01 <qfr> ais523: I decline to comment
17:27:21 <ais523> hey, you aren't elliott!
17:27:43 <ais523> oh right: Frooxius, you wouldn't happen to live in Hexham, would you?
17:28:19 <Ngevd> How about Finland?
17:28:42 <fizzie> That's a *very* good question.
17:28:48 <Deewiant> With a Czech hostname, both of those are rather unlikely.
17:29:23 <Ngevd> There's two people in this channel in Hexham and god knows how many in Finland
17:29:33 <ais523> Ngevd: but does anyone else know how many?
17:29:43 <fizzie> Deewiant: I'm sure a place as cosmopolitan as Hexham has a fairly-sized "Czechtown".
17:29:46 <Ngevd> ais523, good question
17:30:53 <elliott> ais523: It's at least five by my last count.
17:31:04 -!- Klisz has joined.
17:31:16 <ais523> am I the only esolanger in Birmingham?
17:31:28 <elliott> Let's see... a tehwa, D eewiant, f izzie, i neiros, m tve, and Z warddijk at the very least.
17:31:37 <elliott> So at least six. And that's before we get to the bots.
17:31:44 <elliott> (Okay, there's only one Finnish bot.)
17:31:51 <elliott> Oh, and that's just people here now, so it's at least seven.
17:32:00 <fizzie> elliott: I don't think "m tve" did? But you didn't count "o klopol".
17:32:40 <Ngevd> Birmingham, second largest city in the UK, has one esolanger, Hexham, a town with about 1% the population, has two
17:33:53 <elliott> fizzie: Did what? I assumed he's a Finn because you know him. :p
17:33:56 <fizzie> Deewiant: Aren't all of "V orpal", "o lsner" and "F ireFly" from Sweden? Though I might misremember.
17:34:14 <Ngevd> Are there any Canadian esolangers?
17:34:23 <fizzie> elliott: I don't think I know em, and I had a vague feeling e was from Germany. But I'm certainly not certain.
17:34:27 <elliott> Is Zwaarddijk a Swedish-speaking Finn or vice versa?
17:34:28 <Deewiant> elliott: a loril seems to be in Finland
17:34:34 <elliott> Pretty sure it's the first one.
17:34:38 <elliott> Unless you meant some other.
17:34:41 <elliott> Oh, wait, you were just counting separately.
17:34:51 <elliott> fizzie: Okay, fair enough. Maybe I'm thinking of some other Finn you know. :p
17:35:07 <elliott> Deewiant: I conclude my official tally with the result: "Too many".
17:35:09 <kallisti> lol I like cpressy wrote a script in Perl that literally generates line noise.
17:36:27 <ais523> kallisti: don't you mean random values?
17:36:34 <elliott> Also, cpressey used to live in Canadia.
17:36:39 <ais523> for it to be /literal/ line noise it'd need to be trying to get data from a noisy connection
17:36:54 <ais523> and reading noise instead
17:37:05 <ais523> I have seen genuine line noise before now
17:37:06 <kallisti> ais523: http://catseye.tc/projects/noise/script/noise randomly generated in a certain way, yes.
17:37:23 <ais523> when we linked up a couple of serial ports by physically sticking copper wires into the relevant sockets
17:37:40 <kallisti> noise is a tiny utility whose purpose is to simulate line noise — those random bursts of static that occur when communicating with a non-error-correcting modem over an unreliable phone line. Start it up in the background and keep working at your shell prompt — or, keep trying to!
17:37:53 <Ngevd> I've got to get some of my friends into esoteric programming
17:38:03 <kallisti> Ngevd: do you have friends that program?
17:38:03 <fizzie> ais523: It could be a physical-simulation sort of line noise. They simulate acoustic instruments and so on, why not line noise.
17:38:33 <ais523> fizzie: I actually wrote one of those, come to think of it
17:38:35 <Ngevd> kallisti, two, one's more of an acquaitance, due to him being a bit of a dick, and the other doesn't live in Hexham
17:38:50 <ais523> I was testing a Morse code decoder I'd written that was designed to work on noisy input
17:38:58 <kallisti> hmmm, that's about as many people I know as well. I guess a few more if you count people I've met.
17:39:27 <kallisti> ais523: noise cancellation is fun.
17:39:29 <Ngevd> I am going to leave for a while
17:39:32 -!- Ngevd has quit (Quit: Goodbye).
17:54:22 * kallisti finds himself using Facebook less and less.
17:58:05 <kallisti> I probably will once the new terrible profile change takes place.
17:58:19 <kallisti> like, I was fine with every other change
17:58:30 <ais523> kallisti: you have reason to think one's coming other than the fact that they happen often?
17:59:22 <ais523> elliott: do you seriously have to ask whether any given person is zzo or not?
17:59:45 <ais523> if I were, do you think I'd admit it?
18:01:31 <kallisti> elliott: how was your weak squishy human sleep?
18:01:40 <kallisti> I have been awake since last we spakened
18:02:29 <kallisti> selenium.common.exceptions.StaleElementReferenceException: Message: u'Element not found in the cache'
18:16:47 <elliott> "Using chr, ord, and -32 is not the right way of doing this. Use toUpper." "@augustss: It's good enough for ASCII."
18:16:55 <elliott> NO FUCK YOU NOTHING IS "GOOD ENOUGH FOR ASCII" JESUS CHRIST
18:18:06 <ais523> elliott: even toUpper isn't correct without some knowledge of the language
18:18:29 <kallisti> elliott: is someone trying to find excuses /not/ to use toUpper?
18:18:59 <kallisti> that's going to basically fuck up anything that wasn't lowercase.
18:19:00 <ais523> is the input known to be made out of lowercase letters?
18:19:16 <kallisti> presumably, based on function names.
18:19:50 <ais523> chr and ord are commonly used function names for those operations
18:19:50 * elliott decides to just link rather than tediously explaining everything: http://stackoverflow.com/questions/8700564/haskell-converting-small-chars-to-capital
18:19:55 -!- augur has quit (Remote host closed the connection).
18:20:00 <elliott> guy keeps opening trivial homework questions without even trying
18:20:12 <elliott> people keep answering them by giving a complete solution >_<
18:20:25 <kallisti> chr . subtract 32 . ord is not only incorrect but requires more effort than toUpper.
18:20:54 <kallisti> elliott: well, are there any rules against answer homework questions?
18:20:59 <elliott> yeah but he hadn't imported Data.Char so he was getting "not in scope"
18:21:03 <elliott> so much easier to use a broken solution
18:21:15 <elliott> kallisti: you are meant to try and give help for homework questions, not the solution outright
18:21:24 <elliott> (they are tagged "homework", so there is no excuse)
18:22:43 -!- nooga has joined.
18:23:18 <kallisti> hmmmm how /does/ toUpper work with Unicode characters.
18:23:45 <ais523> it /should/ be locale-dependent
18:23:55 <elliott> ais523: for what definition of should
18:24:03 <elliott> i do not believe the unicode standard talks about locales
18:24:57 <ais523> elliott: well, it depends on the language
18:25:01 <ais523> Turkish is the normal example
18:25:13 <ais523> and I think it more likely talks about locales than languages
18:26:21 <elliott> ais523: I am dead sure that (a) the Unicode standard defines various case transformations and (b) they do not depend on any sort of external state.
18:26:51 <ais523> elliott: the external state would be used to determine which transformation was used, then, presumably
18:27:42 <elliott> ais523: how do I say "you're wrong" in a way that doesn't make your response "<what I just said>"
18:28:09 <ais523> elliott: a link would be helpful
18:28:29 <ais523> it is impossible to correctly determine what the capital version of "i" is without knowing the language, anyway, is the point
18:28:41 <elliott> http://www.unicode.org/versions/Unicode6.0.0/
18:28:55 -!- nooga has quit (Ping timeout: 240 seconds).
18:29:10 <elliott> specifically, http://www.unicode.org/versions/Unicode6.0.0/ch04.pdf
18:29:14 <kallisti> hmmm if that's the case then toUpper is not referentially transparent.
18:29:39 -!- kmc has joined.
18:30:18 <Phantom_Hoover> I think I've just stopped paying attention to YouTube's featured videos altogether, even if they're relevant.
18:31:06 -!- augur has joined.
18:37:02 <elliott> “If you are a programmer working in 2006 and you don’t know the basics of characters, character sets, encodings, and Unicode, and I catch you, I’m going to punish you by making you peel onions for six months in a submarine.”
18:37:17 <elliott> http://www.unicode.org/announcements/quotations.html#spolsky
18:38:49 <ais523> elliott: page 7: " Also contains context-dependent mappings, with flags to distin- guish them from the normal mappings, as well as some locale-dependent mappings."
18:38:56 <ais523> I knew it'd be there if I looked hard enough
18:39:26 <ais523> (and I'm not taking it out of context either, although feel free to check yourself)
18:39:56 <elliott> ais523: <kallisti> hmmmm how /does/ toUpper work with Unicode characters. <ais523> it /should/ be locale-dependent
18:39:59 <elliott> it isn't, your quote is irrelevant to that
18:40:29 <ais523> elliott: my quote is from the database that contains the default uppercasing algorithms for unicode
18:41:03 <ais523> it also says that there's a legacy best mappings database that isn't locale-dependent
18:41:16 <ais523> that should only be used by legacy implementations
18:41:37 <ais523> although that's at least partly to do with mapping one lowercase character to multiple uppercase characters
18:41:42 <elliott> blah, i cba to actually read the spec, but i'm still going to maintain my belief that i'm pretty sure you're wrong :)
18:42:10 <kallisti> wow properties sure are bad in Python.
18:43:34 <kallisti> oh hmmm no it's a little bit better than it used to be.
18:45:03 <ais523> elliott: in the actual case of lowercase i, http://www.unicode.org/charts/PDF/U0000.pdf says "Turkish and Azerbaijani use 0130 İ for uppercase"
18:45:51 <elliott> ais523: that sounds like just a comment, not a definition
18:46:05 <ais523> I'm trying to find the case mapping charts at the moment
18:48:21 <ais523> elliott: anyway, I think it's possible that we're both right
18:48:33 <ais523> it seems that there are pure legacy versions that map characters to characters
18:48:42 <ais523> and more contexty versions that map strings to strings, and require locale info
18:48:50 <ais523> the only case mapping charts I could find were for the legacy version
18:49:29 <elliott> @unmtl WriterT (ContT r (StateT s (ErrorT e IO))) a
18:49:29 <lambdabot> Plugin `unmtl' failed with: `WriterT (ContT r (StateT s (ErrorT e IO))) a' is not applied to enough arguments, giving `/\A. a (A, ContT r (StateT s (ErrorT e IO)))'
18:49:37 <elliott> @unmtl WriterT (ContT r (StateT s (ErrorT e IO))) [Int] a
18:49:37 <lambdabot> [Int] (a, ContT r (StateT s (ErrorT e IO)))
18:49:46 <elliott> @unmtl WriterT [Int] (ContT r (StateT s (ErrorT e IO))) a
18:49:46 <lambdabot> (a -> [Int] -> s -> IO (Either e (r, s))) -> s -> IO (Either e (r, s))
18:49:56 <elliott> @mtl (a -> [Int] -> s -> IO (Either e (r, s))) -> s -> IO (Either e (r, s))
18:49:56 <lambdabot> Maybe you meant: ft map msg pl unmtl url
18:50:01 <elliott> that doesn't exist though :P
18:50:30 <ais523> elliott: so it's working out the type that actually represents the type of a monad action obtained by stringing together a bunch of monad transformers
18:50:47 <elliott> it's just expanding the definitions recursively
18:51:06 <elliott> except they're actually data types, not type synonyms, so the two types are not actually equivalent :) but it's what they /mean/
18:51:51 <kallisti> they're isomorphic if you ignore the fact that a data declaration adds an extra bottom. :>
18:52:00 <kallisti> but many of those are newtypes, right?
18:52:01 <elliott> kallisti: they're newtypes.
18:53:23 <fizzie> ais523: http://www.unicode.org/Public/UNIDATA/SpecialCasing.txt "-- contains additional information about the casing of Unicode characters. (For compatibility, the UnicodeData.txt file only contains case mappings for
18:53:37 <fizzie> characters where they are 1-1, and independent of context and language."
18:53:47 <ais523> 0130; 0069 0307; 0130; 0130; # LATIN CAPITAL LETTER I WITH DOT ABOVE
18:53:56 <ais523> fizzie: thanks for finding it for me
18:55:02 <kallisti> elliott: I'm tempted to make semicolons an infix operator for statement blocks...
18:55:26 <elliott> kallisti: don't work for spammers
18:55:29 <elliott> oh, talk you out of /that/
18:56:06 <fizzie> There's the language-specific (and context-specific; sometimes the mapping depends on surrounding characters, like for sigma and... I guess that's about it) ones.
18:56:14 <elliott> oh no, I think I ruined my Monoid instance
18:56:24 <elliott> hmm it might not be a problem though
18:56:36 <ais523> kallisti: ICA uses infix semicolon as sequencing, it works fine
18:56:56 <ais523> the main problem is precedence
18:57:06 <ais523> there's no precedence that doesn't look weird in some combination or other
18:57:06 <kallisti> the precedence is low. problem solved.
18:57:08 -!- iconmaster[1] has joined.
18:57:15 <ais523> kallisti: lower than if? while? lambda?
18:57:38 <kallisti> those are functions with () notation
18:57:59 <ais523> a,b;c,d is a bit of a weird case
18:58:08 <ais523> because clearly a,(b;c),d is the only way it'd type
18:58:42 <kallisti> I don't have to worry about that because I don't treat , as an operator.
18:59:01 <kallisti> so technically if , is an infix operator it's lower precedence than any operator.
18:59:16 <kallisti> as it's defined as part of the function syntax.
19:00:07 <kallisti> hmmm yes I like that. I'll do that.
19:01:48 <kallisti> actually top-level statements require no line terminator, but I suspect if I don't add one it will make the errors look like crap.
19:05:47 -!- oerjan has joined.
19:09:54 <oerjan> <kallisti> I think using Haskell's list monad will make the logic programming stuff much easier. <-- note that iirc there exists a monad-logic package which is more flexible than lists
19:09:55 <elliott> hello oerjan welcome to ~AMERICA~
19:10:11 * oerjan looks suspiciously at elliott
19:11:46 -!- elliott has quit (Read error: Operation timed out).
19:13:01 <kallisti> oerjan: I assume it also handles non-determinism?
19:13:23 <oerjan> well what i recall is it has this function:
19:13:23 -!- elliott has joined.
19:13:29 <lambdabot> forall (m :: * -> *) a b. (MonadLogic m) => m a -> (a -> m b) -> m b
19:14:08 <oerjan> which is like >>- except reorders things to ensure all combinations are tried
19:14:42 <elliott> 19:13:01: <kallisti> oerjan: I assume it also handles non-determinism?
19:14:47 <elliott> no it's a logic monad without nondeterminsm
19:14:51 <oerjan> > [1..] >>- \x -> (,) x <$> [1..]
19:14:52 <lambdabot> [(1,1),(2,1),(1,2),(3,1),(1,3),(2,2),(1,4),(4,1),(1,5),(2,3),(1,6),(3,2),(1...
19:15:49 <oerjan> and also i think there are more efficient instances than []
19:16:55 <oerjan> i think there's a LogicT monad transformer
19:17:04 <elliott> oerjan: hmm, are monad instances uniquely determined? i suspect not, but can't think of a counterexample :)
19:17:05 <lambdabot> forall a (m :: * -> *). (forall r. (a -> m r -> m r) -> m r -> m r) -> LogicT m a
19:17:36 <oerjan> elliott: heh i wondered about that too, whether an Applicative can extend to two different Monads
19:18:18 <elliott> oerjan: it would be weird to have Functor and Monad uniquely determined but not Applicative
19:18:20 <oerjan> Applicative obviously isn't
19:18:31 <elliott> if ZipList is a monad they aren't
19:18:40 <elliott> but if ZipList isn't a monad, there might well be only one Monad for a given Appliactive
19:18:54 <oerjan> ZipList is a Monad ignoring bottom >:)
19:18:58 <elliott> that's a different question :P
19:19:03 <elliott> ok what i was originally asking was
19:19:08 <elliott> are monad instances uniquely determined for a data type
19:19:09 <oerjan> i'm not _entirely_ sure what it is with bottom
19:19:11 <elliott> are monad instances uniquely determined for an applicative instanc
19:19:18 <elliott> some data types have multiple Applicatives so they're not equivalent
19:19:25 <elliott> oerjan: i do not believe you have proved that
19:19:30 <oerjan> ok so a simpler question
19:19:41 <oerjan> is there a type which has two Monad instances.
19:19:56 <oerjan> in fact there is an obvious one
19:20:08 <oerjan> State can be reconsidered as Reader + Writer
19:20:17 -!- copumpkin has changed nick to HURR_DURR.
19:20:19 <elliott> that has a Monoid constraint though
19:20:25 <elliott> you could make the StateList monad, though
19:20:31 <elliott> and have it be Reader + Writer as well as State
19:20:39 <oerjan> sure but that's a constraint on the parameter, not the monadic value
19:20:45 <kallisti> data T a = List [a] | Maybe (Maybe a) -- Nobel prize plz
19:20:49 <elliott> are the applicatives the same?
19:21:19 <kallisti> well I guess that's not two different instances
19:21:55 <oerjan> elliott: no they're not the same, the applicative of State still threads the state
19:22:41 <oerjan> liftA3 (,,) get (modify (+1)) get
19:24:04 <kallisti> well you could always do something stupid like...
19:24:25 <kallisti> make >>= only apply the function to the first list element if there is one.
19:24:26 <oerjan> oh and of course backwards state monad has the same underlying type as the forward one, and the reversed applicative i think
19:24:33 <kallisti> basically a Maybe monad instance for [a]
19:25:16 -!- quintopia has quit (Ping timeout: 252 seconds).
19:26:14 <oerjan> elliott: Functor is special i think, because it's so weaved into parametricity; the free theorem for g :: Functor f => a -> f a is g . k = fmap k . g
19:29:38 <oerjan> <kallisti> data T a = List [a] | Maybe (Maybe a) -- Nobel prize plz <-- i'm not convinced that's either an Applicative or a Monad
19:30:15 <oerjan> there _are_ laws to fulfil, after all.
19:31:10 <oerjan> elliott: and that's basically what i was trying to get at with your CoContra stuff from yesterday - i expect something similar applies
19:35:11 <oerjan> `log zjoin.*scanl1.*diag
19:35:18 <kallisti> emacs has taken a liking to randomly freezing on saves for some reason.
19:35:22 -!- quintopia has joined.
19:35:35 <HackEgo> 2011-12-17.txt:05:00:42: <copumpkin> @let zjoin = ZipList . diag . scanl1 (zipWith (flip const)) . map (getZipList) . getZipList where diag = concat . takeWhile (not . null) . map (take 1) . foldr (\x xs -> x:map (drop 1) xs) []
19:40:02 <oerjan> <kallisti> ah okay, now I see why they say Haskell's type system is like a mini-Prolog. <-- without backtracking though, afaik
19:40:14 <elliott> and no proper constraint solving
19:43:57 <oerjan> i suppose it does at least allow reordering constraints by taking the once it can solve immediately first
19:46:23 <elliott> oerjan: ban Gregor, he's obstructing my construction of ch2
19:46:32 <elliott> obstructing my construction so induction has no suction
19:52:00 <elliott> oerjan: btw i think the word you're looking for is "woven" :P
19:55:39 <oerjan> despite your request, it's quite for the best, not to be too sure it should be the cure to ban the man
19:57:11 <elliott> ur the one who complaininged abotu the log formats
19:58:48 <oerjan> oh i see, this obligates me to institute a cruel and unusual regime
19:59:01 -!- Ngevd has joined.
19:59:08 <elliott> no, you've already done that part
20:02:31 <Frooxius> "Syntax error: Unknown instruction" Yeah, but WHICH ONE?! Who implemented this? Oh wait, I did |3 I seriously annoy myself sometimes *giggles in a somewhat silly way*
20:04:13 <Ngevd> I keep forgetting Ron Paul is a serious politician
20:04:14 * Phantom_Hoover is terrified of what he may find out, but asks out of curiosity.
20:04:29 <elliott> Ngevd: Don't worry, he isn't.
20:05:03 <Frooxius> |3 is an emoticon, like a >.< face or -_- but with cat-face
20:05:06 -!- augur has quit (Remote host closed the connection).
20:05:25 <kallisti> Frooxius: I don't believe you.
20:05:37 <kallisti> it's clearly like a pipe on the 3rd file descriptor or something.
20:05:49 <Frooxius> Well it can have multiple meanings
20:06:23 <Phantom_Hoover> because that is the only way that could conceivably look like a cat
20:07:35 <Ngevd> It's like that guy in Star Trek TNG, with the weird sunglassesd
20:08:32 <Ngevd> I don't really watch Star Trek enough to have ever seen a full episode
20:25:30 <oerjan> <Vorpal> ah yes https://en.wikipedia.org/wiki/Tupper%27s_self-referential_formula <-- that's not actually a quine, since the actual bitmap is given in k to be supplied separately
20:26:29 <oerjan> i recall someone made a better one somewhere that was more like an actual quine
20:26:52 * oerjan swats Vorpal in absentia for being absent -----###
20:26:59 <elliott> swat Gregor for being absent pls
20:27:07 <elliott> but yeah that thing is STUPID
20:27:19 * oerjan swats Gregor for being absent -----###
20:29:30 <oerjan> <Ngevd> For some bizarre reason, I keep thinking that "Euler" begins with J <-- presumably then you are pronouncing it with an english eu, not a german one
20:29:41 <oerjan> a german one sounds more like oi in oil
20:29:52 <elliott> i know its oiler but ewler sounds so much better
20:30:16 <Ngevd> oerjan, I don't make this mistake with, e.g., euthanasia
20:34:59 <oerjan> ais523: you missed a couple spams
20:35:32 -!- sebbu2 has joined.
20:35:33 -!- sebbu2 has quit (Changing host).
20:35:33 -!- sebbu2 has joined.
20:36:38 -!- sebbu has quit (Ping timeout: 240 seconds).
20:36:46 <ais523> oerjan: seems Keymaker got them
20:37:22 <Phantom_Hoover> <elliott> i know its oiler but ewler sounds so much better
20:37:43 <Phantom_Hoover> Although it's not as bad as people who pronounce Gauss as 'goss'.
20:40:02 <kallisti> http://upload.wikimedia.org/wikipedia/commons/a/a1/De-carlfriedrichgauss.ogg
20:40:07 <kallisti> you should say his full name like this always
20:40:28 -!- nooga has joined.
20:41:27 <oerjan> there's a gauss in the house
20:41:33 <elliott> Phantom_Hoover: i don't actually say ewler
20:41:58 <kallisti> I bet you say saw with an r don't you.
20:42:29 <kallisti> how can you rationalize that to make any sense at all?
20:42:41 <kallisti> like... what is the thought process behind adding random r's to words that don't have r's
20:42:44 * elliott just records him saying these things instead of trying to explain them
20:42:54 <elliott> http://en.wikipedia.org/wiki/Rhotic_and_non-rhotic_accents
20:44:54 <kallisti> but that doesn't really explain why
20:45:12 <olsner> kallisti: I think that's the intrusive r
20:45:37 <Ngevd> It doesn't have an r in it. People with a non-rhotic accent just think it sounds the same as its nearest equivalent with an r
20:47:07 -!- sebbu2 has quit (Read error: Connection reset by peer).
20:47:13 <elliott> Sigh, microphone on this doesn't work.
20:47:41 -!- sebbu2 has joined.
20:47:42 -!- sebbu2 has quit (Changing host).
20:47:42 -!- sebbu2 has joined.
20:48:11 <kallisti> Ngevd: what is its nearest equivalent?
20:48:42 <Phantom_Hoover> Saw and sore sound the same; so, amusingly, do pawn and porn.
20:48:58 <kallisti> wouldn't a non-rhotic accent pronounce that as... saw without an r? I don't think I understand why a non-rhotic accent would add an r there.
20:49:31 <elliott> Phantom_Hoover: People saying "pawn shop" will never not make me think "HOW DOES DECENT SOCIETY ALLOW OUR ACCENTS TO DO THIS TO US".
20:49:50 <elliott> kallisti: Protip: Thinking of it as "adding an r" in places won't help
20:49:53 * kallisti didn't know that pawn and porn sounded the same.
20:50:08 <kallisti> elliott: but... that's what is happening.
20:50:17 <kallisti> you want me to unthink what is happening?
20:50:33 <kallisti> sheesh, just talk like Americans: problem solved.
20:50:45 <Ngevd> Merry, Mary, Marry
20:50:50 <olsner> just switch accents depending on which of porn or pawn you're saying
20:51:48 <kallisti> elliott: so basically "non-rhotic" means "add r's to things." non-intuitively. got it.
20:52:01 <elliott> http://en.wikipedia.org/wiki/Rhotic_and_non-rhotic_accents
20:52:31 <Phantom_Hoover> It means that rs before consonants aren't pronounced, and instead apply the aforementioned transform to the preceding vowel.
20:53:44 <kallisti> that doesn't really explain anything though. so "aw" becomes "awr"?
20:53:46 <oerjan> http://en.wikipedia.org/wiki/Linking_and_intrusive_R
20:55:14 <Phantom_Hoover> Because 'or' now sounds like 'aw', 'or' and 'aw' sound the same.
20:55:42 <Ngevd> The whole point of non-rhotic is that there's no r's
20:55:49 <Ngevd> rho is Greek for "r"
20:56:34 <kallisti> repeating what non-rhotic means is not going to help explain anything.
20:57:19 <Phantom_Hoover> Yes, but I have explained precisely what the deal is with 'sore' and 'saw', and you have apparently not listened to a word I said.
20:57:28 <Phantom_Hoover> oerjan, do you see the problem with explaining things to kallisti?
20:58:11 <kallisti> http://en.wikipedia.org/wiki/Linking_and_intrusive_R explains it perfectly
20:58:27 <oerjan> Phantom_Hoover: *MWAHAHAHA*
20:59:05 -!- HURR_DURR has changed nick to copumpkin.
20:59:54 <kallisti> basically in some non-rhotic accents an /r/ is added between two consecutive vowel sounds and other weird places.
21:00:15 <kallisti> and that's just... how it works. it can not be explained by the removal of /r/ sounds because that makes /no fucking sense/
21:00:41 <elliott> That's right! kallisti has figured it out!
21:01:02 <elliott> I'm calling up Jimbo Wales and telling him his Wikipedia is wrong; some guy on the internet knows it makes no fucking sense.
21:01:16 <oerjan> it can be explained by the removal of /r/ sounds in some positions, followed by analogous insertion of r in the opposite positions
21:01:19 <kallisti> elliott: Wikipedia doesn't disagree with what I just said?
21:01:48 <Phantom_Hoover> kallisti, you know, what makes you an idiot isn't any particular stupidity; it's your complete inability to admit that you may not understand something.
21:01:56 <olsner> I think I know less about rhotic accents now than I have ever known before
21:02:16 <Phantom_Hoover> Whenever you don't quite see how something fits together, you decide it's probably wrong, and then make it a point of pride to prove this.
21:02:20 <elliott> `addquote <olsner> I think I know less about rhotic accents now than I have ever known before
21:02:25 <HackEgo> 792) <olsner> I think I know less about rhotic accents now than I have ever known before
21:02:48 <fizzie> I never knew anything about rhotic accents, and now I still know nothing about them. *happy*
21:03:14 <oerjan> olsner: think of it as /r/ gradually changing from a phoneme into a non-phonemic way of separating adjacent vowels
21:03:56 <oerjan> with the change being/stopping at different stages in different dialects.
21:04:04 <Phantom_Hoover> If you'd just have a little humility from time to time and accept that you don't know everything, you might actually know a lot more than you do.
21:04:21 <kallisti> Phantom_Hoover: I don't know everything, obviously.
21:04:52 <Phantom_Hoover> But instead you pretend that you do, or that you understand things just as well as the person explaining it, and they get frustrated and you get steadily more annoying as time moves on.
21:06:05 <kallisti> Phantom_Hoover: depends on the subject. for example, I'm fully aware of what a rhotic consonant is, and when it's being placed in weirds it normally doesn't go in.
21:06:39 <Phantom_Hoover> kallisti, oh? Then why did you need to read that WP article?
21:07:09 <oerjan> Phantom_Hoover: hey stop leaping to conclusions about other people's behavior! oh wait...
21:07:28 <kallisti> not everything no. I clicked it to learn more details. But I had a general idea of what a non-rhotic accent was beforehand, but was still confused by the sudden insertion of rhotic consonants.
21:08:10 * elliott notes that "<kallisti> I bet you say saw with an r don't you. <kallisti> asshole <kallisti> how can you rationalize that to make any sense at all? <kallisti> like... what is the thought process behind adding random r's to words that don't have r's" does not really sound like someone with an understanding of rhoticity, without actually getting involved in this trainwreck through cunning use of /me.
21:09:36 <olsner> co-cromulent should be a word
21:09:48 <Phantom_Hoover> kallisti, and yet you approached it with an air of smug pedantry, not confusion.
21:09:51 <olsner> not quite sure what it means though
21:10:09 -!- iconmaster[1] has quit (Quit: Ayup, this is a quit message.).
21:10:30 -!- oerjan has set topic: Welcome to the world championship in conclusion leaping | This channel Copywrong 0 YOLD Rogger Sarcridh - All lights reversed (Except for things copyrighted by Gregor Richards) | http://codu.org/logs/_esoteric/.
21:10:33 <kallisti> Phantom_Hoover: I'm generally not confused when I don't know everything. ???
21:10:43 <kallisti> this is the normal state of affairs.
21:10:56 * oerjan has this feeling that was a bad idea
21:10:58 <Phantom_Hoover> <kallisti> not everything no. I clicked it to learn more details. But I had a general idea of what a non-rhotic accent was beforehand, but was still confused by the sudden insertion of rhotic consonants.
21:11:14 <Phantom_Hoover> Can you please, *please* try to check what you say for consistency?
21:11:57 -!- elliott has set topic: Welcome to the world championship in oerjan being as passive-aggressively judgemental as he possibly can | http://codu.org/logs/_esoteric/.
21:12:00 <kallisti> Phantom_Hoover: can't be arsed.
21:12:31 <olsner> good world championship for oerjan, as he is (by definition?) the only contestant
21:13:26 <elliott> imagine if there weren't jokes to deflect criticism with
21:13:33 <elliott> the human race would be so fucked
21:13:34 <olsner> Welcome to the world championship in passive-aggressively communicating only through /topic
21:13:51 <kallisti> Phantom_Hoover: I see what you're saying though. It makes sense. I can often be smug. Is that what I'm supposed to concede? then yes.
21:14:00 -!- oerjan has set topic: Welcome to the world championship in recursive passive aggression | http://codu.org/logs/_esoteric/.
21:14:20 <olsner> I think I was expecting a different concession
21:14:27 <Phantom_Hoover> kallisti, OK, I'm sorry; I forgot that your brain is context-free.
21:14:40 <kallisti> Phantom_Hoover: depends on how much sleep I've had. :P
21:14:47 <Phantom_Hoover> It's not fair to argue with someone with such a condition when I have a fully-functioning long-term memory.
21:15:43 -!- pikhq has quit (Ping timeout: 248 seconds).
21:16:02 -!- zzo38 has joined.
21:16:09 <kallisti> Phantom_Hoover: I think perhaps I don't take a moment to consider that I don't have all the information before forming conclusions. Is this what you mean?
21:17:37 <Phantom_Hoover> That is a suitably flattering way of putting "I am so arrogant that I assume that things are stupid even when people who know much more about them than me tell me otherwise".
21:18:00 -!- oerjan has set topic: Welcome to the world championship in recursive world championships | http://codu.org/logs/_esoteric/.
21:18:19 <olsner> not passive-aggressive world championships?
21:18:19 -!- Phantom_Hoover has set topic: Welcome to the world champion | http://codu.org/logs/_esoteric/.
21:18:32 <olsner> I mean, when did anything turn recursive anyway?
21:18:39 <oerjan> olsner: we had to expand due to great demand
21:19:35 <Phantom_Hoover> olsner, when we remembered that we're a programming channel, so recursion jokes are required.
21:19:53 <kallisti> Phantom_Hoover: I... still think it's stupid. But at least understand how it happens.
21:19:55 <Ngevd> When I saw xkcd 132 for the first time, the only guitar hero I had played was 3, which has a metallica song
21:20:11 <oerjan> olsner: when elliott berated me for berating Phantom_Hoover for berating kallisti
21:20:28 <kallisti> oerjan is my knight in shining armor.
21:20:31 <elliott> i wasn't being passive-aggressive though, i mentioned you directly by name
21:20:44 <olsner> Phantom_Hoover: but... adding the word recursion doesn't necessarily make it a recursion joke
21:20:46 <oerjan> elliott: ah. sorry about that.
21:21:08 <oerjan> elliott: i may not be entirely sure about the term
21:21:12 <Phantom_Hoover> You seem to be under the impression that they're meant to be funny, or even make sense.
21:21:52 <olsner> yes, I expect such things of jokes
21:22:04 <olsner> not making sense, but being funny, I expect of them
21:22:43 <kallisti> Phantom_Hoover: It makes sense, since you ignore the letter r and /r/ just becomes this thing you put between consecutive vowels. But still "non-rhotic" is a poor name for such a thing because it /adds/ rhotic consonants. The name is inherently contradictory and that's why I thought it was stupid.
21:22:43 <elliott> Phantom_Hoover: We should do induction jokes instead?
21:22:55 <oerjan> actually already my first topic change was recursive, as i certainly included myself in the reference
21:22:57 <elliott> When you type "induction" into Google it should say "did you mean: inductio".
21:23:07 <elliott> Until it ends up at "did you mean: base case".
21:23:24 <elliott> Phantom_Hoover: Sounds like a Harry Potter spell.
21:23:51 <elliott> If you can do a spell to one person, and you can do a spell to someone next to them if you've already done it to them, then you can use inductio to do it to the whole world simultaneously.
21:24:13 <elliott> Phantom_Hoover: Is that an Inception joke (you will die if it is).
21:24:32 <kallisti> no I think it's a linked list joke.
21:24:38 <oerjan> Recursion jokes are meant to be recursion jokes.
21:24:47 <zzo38> Do you think a color specification for printing file, should be: CMYK + a value to use on grayscale-only printers + either black/white/normal to select what happens on pure black/white printer
21:25:09 <ais523> if this recursion joke were funny, it would be a recursion joke, but as it isn't it's just a joke
21:25:13 <Phantom_Hoover> Yo dawg I heard you like induction so we put an i in your nduction so you can pattern match while you recurse.
21:25:15 <ais523> see, people, you need base cases!
21:25:32 <elliott> you all know what you have done
21:25:33 <ais523> elliott: who are you planning to kick/ban?
21:25:34 <Phantom_Hoover> ais523, no, as it isn't it's just a recursion reference.
21:25:40 <kallisti> zzo38: why would you not just calculate the brightness of the RGB value for a grayscale printer? Hmm, I guess that doesn't always turn out perfectly.
21:25:49 <elliott> ais523: you, oerjan and Phantom_Hoover, but I might let you back in after a few minutes
21:26:02 * elliott wonders what answer to that question would actually get him opped.
21:26:10 <kallisti> zzo38: but it sounds as though you have basically two distinct images in one file. How would you deal with such a file in an image editor, for example?
21:26:11 <ais523> zzo38: what about a CGYRMBK printer?
21:26:24 <zzo38> ais523: What is a CGYRMBK printer?
21:26:26 <ais523> elliott: I'm not sure there is one, but it at least makes me curious
21:26:38 <ais523> zzo38: a printer that uses six colors of ink, plus black as an optimisation
21:26:45 <ais523> most people see, say, a cyan+yellow mix as green
21:26:53 <ais523> but the exact mix is slightly different for different people's eyes
21:27:02 <ais523> and for a tetrachromat, you might not be able to do it at all
21:27:13 <ais523> so using six channels rather than three makes sure you can control the color a lot more carefully
21:27:28 <ais523> although I guess it's only used in really high-end printing
21:27:29 <elliott> they should just use one channel for every possible wavelength
21:27:40 <ais523> elliott: the problem is finding one /ink/ for every possible wavelength
21:28:01 <kallisti> elliott: the best answer is probably not to mention anyone by name..
21:28:02 <olsner> black ink mixed with a chemical that induces color blindness
21:28:03 <zzo38> Yes; printer techonology not work well if even intended for tetrachomat and so on; but computer display might be able to make one working for many wavelengths providing very high quality display of light
21:28:39 <elliott> kallisti: well i left you off the list just in case
21:29:24 <zzo38> I suppose CGYRMBK would still be only high end printing though. I am not sure what happen if you want to print such a document on such a printer. Possibly you would just make up a new special command for this kind of printers
21:29:42 * kallisti would probably not ban very many people, but would have banned lament (or whoever he was) when he was literally just spamming a single number for pages.
21:29:53 <zzo38> Since the DVI format allows you to use whatever new kind of special commands you want to make up
21:29:56 <ais523> anyway, if we're using one channel for each possible wavelength
21:30:02 <ais523> what wavelength do we use for #esoteric?
21:30:04 <elliott> also i assume ais523 knew i meant a one-time oppage
21:30:12 <ais523> yes, fair enough assumption
21:30:17 <ais523> elliott: what's that in nanometres?
21:31:18 <ais523> elliott: I figured it eventually, although it took a few tries
21:31:55 -!- mr_schlauch has joined.
21:32:05 <HackEgo> mr_schlauch: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page
21:32:33 <ais523> gah, I can't read the wololo in the hostname as anything but an Age of Empires reference
21:32:59 <elliott> freebnc.net? that sounds secur
21:33:14 <ais523> what would the b stand for there?
21:33:38 <kallisti> Phantom_Hoover: I see you've tactfully disappeared from this thread of discussion. :P
21:33:50 <ais523> elliott: I know what a VNC is, but not a BNC
21:33:57 <ais523> kallisti: but so has mr_schlauch
21:34:22 <elliott> free bouncer -> give your irc password to random people with no reason to be nice to you :)
21:34:28 <Phantom_Hoover> kallisti, yes, for much the same reasons as my tactful disappearance from conversations with brick walls.
21:34:36 <ais523> elliott: not identified
21:34:38 <ais523> so no password being given
21:34:46 <elliott> ais523: that doesn't make the idea of a free bnc any more secure
21:35:02 <ais523> Phantom_Hoover: but you'll leave the walls offended!
21:36:57 <kallisti> Phantom_Hoover: I was under the impression I had conceded somewhat. and the topic interests me because I do take a conscious effort to learn and grow as a person. I agree that I can be stubborn but I believe there's a bit of an attribution bias going on.
21:37:15 <elliott> breaking news Phantom_Hoover admits to wanting to lean on kallisti
21:37:19 <elliott> my ship....... has sailed....................
21:37:40 <Phantom_Hoover> kallisti makes conscious effort to lean and grow as a person
21:38:51 <kallisti> Phantom_Hoover: hmm, or maybe not attribution bias, but a lack of self-awareness in how I present myself.
21:39:31 <oerjan> `addquote <ais523> oh right: Frooxius, you wouldn't happen to live in Hexham, would you? <Frooxius> No, sorry. <ais523> phew <Ngevd> How about Finland? <Frooxius> Why would I live there? <fizzie> That's a *very* good question. <fizzie> Why would anyone?
21:39:33 <HackEgo> 793) <ais523> oh right: Frooxius, you wouldn't happen to live in Hexham, would you? <Frooxius> No, sorry. <ais523> phew <Ngevd> How about Finland? <Frooxius> Why would I live there? <fizzie> That's a *very* good question. <fizzie> Why would anyone?
21:39:50 <elliott> i was gonna addquote that at the time
21:40:09 * Frooxius flails and runs in funny shapes
21:40:17 <Phantom_Hoover> The fact that you seem to define "a conscious effort to learn and grow as a person" as "stubbornly refusing to let go of any misunderstanding when people try to explain things to me" says it all, really.
21:41:30 <ais523> dual of a pentagonal antiprism
21:41:46 <kallisti> Phantom_Hoover: not really, no.
21:42:03 <elliott> <Phantom_Hoover> alexander horned potatogons
21:42:09 <elliott> Phantom_Hoover: thanks, i know what to name my child now
21:43:09 <Phantom_Hoover> Alexia is a female name, and a neurological condition.
21:43:29 <Phantom_Hoover> In fact, if I ever have a daughter I will name her that and then snigger whenever I hear her name.
21:43:42 <elliott> File under "why Phantom_Hoover must never reproduce".
21:43:46 <kallisti> I thought it was Alexandra? I guess Alexis could be a name too.
21:44:08 <elliott> Phantom_Hoover: If they're a girl I'll just swap it around: Potatogon Horned Alexander Hird.
21:44:13 <elliott> SHUT UP AZIMUTH IS A COOL NAME
21:44:50 <kallisti> Phantom_Hoover: rest assured I know Alexandria is a city because it exists in the United States as well.
21:44:54 <kallisti> otherwise I would be oblivious.
21:44:56 <elliott> Phantom_Hoover: im naming my kid Orly
21:45:19 <elliott> iw ant my child to grow up with a healthy sense of self-loathing
21:45:36 <Phantom_Hoover> Wouldn't Alexander Horned Potatogon have the same effect?
21:45:58 * kallisti doesn't have to worry about naming his children because he plans to not have any ever.
21:46:01 <elliott> yes, this is for my second kid
21:46:13 <elliott> kallisti: so controversial
21:46:14 <kallisti> (insert obvious jokes, ha ha ha )
21:46:25 <elliott> Phantom_Hoover: alexander horned potatogon orly nowai hird
21:46:34 <elliott> fuck it crossed the line of terrible back into awesome
21:46:40 <elliott> they can just sign things as -AHPON
21:46:46 -!- elliott has changed nick to ahpon.
21:47:02 <kallisti> ahpon could easily be their pseudonym as an electronic or hip hop artist.
21:47:09 <ahpon> Phantom_Hoover: alexander horned potatogon orly nowai
21:47:18 <oerjan> <Frooxius> WHATDIDIDO? Oo <-- you got innocently involved in a driveby quoting accident
21:47:34 <Phantom_Hoover> "Bahahahaha nobody will guess who I am if I refer to myself by my initials!"
21:47:44 <ahpon> Phantom_Hoover: but
21:48:01 <olsner> ahpon: you look stupider with that name
21:48:16 <ahpon> Frooxius: packed too many words into one and lost your nose
21:48:18 -!- ahpon has changed nick to elliott.
21:48:18 <HackEgo> engree meter noncarbering obia conocon nitin aftwott diblasmil stalatickli declack chic sweel exill tadtitin gasta psychon unproposte baffice scoholistico hetteraph archille dussarct wipentit weitmen treu
21:48:26 -!- elliott has changed nick to engree.
21:48:50 <Phantom_Hoover> What about Stramillicon Tibia Rapunda Alexander Horned Potatogon Orly Nowai?
21:48:52 <kallisti> psychon is my new internet handle
21:49:20 <kallisti> Phantom_Hoover: that's so unproposte
21:49:32 <oerjan> <kallisti> I thought it was Alexandra? I guess Alexis could be a name too. <-- i believe in ancient times, alexis was a male name.
21:49:32 <engree> Phantom_Hoover: tibia is the best part of that
21:49:37 -!- itidus20 has joined.
21:49:39 <engree> because people will ask me like
21:49:41 <engree> why did you name your kid that
21:49:48 <engree> well tibia is my favourite body part after alll hah aha
21:49:55 <engree> Phantom_Hoover: tibia is a real thing dude........
21:50:45 <kallisti> engree: it would be more reasonable to assume an American doesn't know what a tibia is.
21:51:08 <Phantom_Hoover> Well yes, we do all kick each other in the shins so much that the tibia has been bred out over time.
21:51:35 <kallisti> Phantom_Hoover: are you unable to twist your leg joints?
21:51:54 -!- itidus21 has quit (Ping timeout: 252 seconds).
21:52:16 <kallisti> to do traditional folk dance of course.
21:52:33 <olsner> rhotic or non-rhotic folk dance?
21:52:47 <kallisti> the one where you add a bunch of r's, probably non-rhotic.
21:53:42 <engree> -- kallisti "gosh i'm really only smug about these things by accident" kallisti
21:54:12 <oerjan> the rhotic or non-rhotic unladen swallow dance
21:54:42 <olsner> Nitin Aftwott could be a name
21:55:23 <oerjan> stalatickly: prone to giggle uncontrollably when touching things in caves
21:55:31 <kallisti> engree: also that wasn't really smugness.
21:55:42 <olsner> or when touched by caves?
21:55:47 -!- pikhq has joined.
21:55:51 <olsner> caves usually don't poke at people though
21:56:15 <oerjan> whatever you do, don't cross the weitmen
21:56:22 <engree> kallisti: jokes can be smug
21:56:23 <olsner> I imagine this could be Nitin Aftwott's area of expertise
21:56:32 <engree> especially when they're indistinguishable from smartassery
21:56:42 <engree> and may make people more likely to see smug intent where there is none in the future!
21:56:46 <Ngevd> Ngevds can be sleepy
21:56:51 -!- Ngevd has quit (Quit: Goodbye).
21:56:53 <oerjan> nitin aftwott, spelunker
21:57:14 <kallisti> engree: hey at least I was being accurate!
21:57:29 <kallisti> it probably would be the non-rhotic one. if non-rhotic dances were a thing.
21:57:40 <olsner> or is ngevd from hexham?
21:58:26 <oerjan> olsner: i think you just outdid Vorpal
21:58:39 <olsner> kallisti: regardless of style, you dance like an unproposte baffice
21:59:14 <engree> olsner: yes, ngevd is from hexham.
21:59:22 <engree> that's sort of what started the whole hexham thing.
21:59:34 <kallisti> oerjan: obliviousness to what?
21:59:44 <fungot> ha. ha. ha ha. ha ha ha. ha ha ha ha ha. ha ha ha ha ha ha ha ha. ha ha ha ha ha ha ha ha ha ha ha ha ha. ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha. ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha. ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ...too much output!
22:00:10 <qfr> What is that, a laughing Fibonacci?
22:00:19 <kallisti> whenever someone says facepalm I think of like a really cool kung fu move.
22:00:26 <kallisti> where you wack someone in the nose with your palm.
22:00:51 <olsner> hmm, I don't think I ever saw the start of the hexham thing, it was already going when I first saw it
22:01:58 <oerjan> the hexham-helsinki-hell axis
22:02:29 <kallisti> engree: I guess it's wrong to be smug. unless you actually are superior because you know more!
22:02:43 <kallisti> engree: this is the lesson I have learned from #esoteric
22:02:56 <engree> kallisti: well, between someone who's smug and wrong and someone who's smug and right...
22:03:08 <engree> alternatively: two wrongs, etc.
22:03:39 * oerjan passive-aggressively twiddles his thumbs
22:04:18 <kallisti> engree: I think I was half-right in that non-rhotic is a bit of a misnomer. But it's also not! it's craaaazy.
22:04:24 <engree> oerjan: do you really think just fidgeting and complaining whenever anything like this comes up actually accomplishes anything
22:04:48 <engree> WE WOULD ALL JUST GET ALONG IF WE NEVER EVER EXAMINED PEOPLE AND BEHAVIOURS
22:05:17 * kallisti feels that he is not not getting along with anyone right now.
22:05:17 <olsner> maybe we could make the channel so you never see what anyone else writes
22:05:24 <olsner> should prove conflict free
22:06:06 <engree> kallisti: I'm not not-getting-along-with-you, I'm just trying to explain why your behaviour is perceived as smug rather than eager to learn
22:06:39 <kallisti> engree: and now I understand. so cool.
22:07:07 <engree> ...which is why complaining that these things are ~drama~ is way more disruptive than talking about these things.
22:09:02 <kallisti> also oerjan's not really disruptive. I like that he defends me (not necessarily what I'm actually saying). :D
22:09:10 <kallisti> therefore he is not disruptive
22:09:20 <engree> there is none. and don't take it too personally, he acts this way whenever anybody disagrees with the conduct of another, ever
22:10:35 <kallisti> Zetro: oh and fuck you for being so quiet
22:10:52 * kallisti hates everyone. rageignores everyone.
22:10:52 <Phantom_Hoover> <olsner> hmm, I don't think I ever saw the start of the hexham thing, it was already going when I first saw it
22:11:41 <Phantom_Hoover> It was basically "Taneb shows up, mentions he's from Northumberland, I take a shot in the dark and ask him if he's from Hexham, both he and elliott have heart attacks."
22:12:06 <engree> Maybe when I sleep I become Taneb, go back in time, and act out the day as him.
22:12:23 <zzo38> Calculation of Chinese New Year: http://zzo38computer.cjb.net/img_14/chinese-new-year.png
22:12:29 <kallisti> also you have memory loss of what you did as elliott
22:12:37 <kallisti> which makes it way more convincing.
22:12:46 <olsner> Phantom_Hoover: why did they have heart attacks?
22:13:28 <engree> olsner: What's a really small, boring town in Sweden?
22:13:33 <engree> Well, not really small.
22:13:47 <engree> Kinda ruraly, countrysidey-located.
22:13:49 <olsner> aha, trick question: all of them!
22:14:00 <engree> No but seriously what's the equivalent of that, just name one.
22:14:19 <engree> Someplace people in the area will know about but people on the other side of the country might not.
22:14:24 <kallisti> anyway I will be making a conscious effort to not presume that I'm correct about disagreements when I don't fully understand the topic. (Note this is different from not acting smug as I don't think I can do that :P )
22:14:28 <olsner> http://en.wikipedia.org/wiki/Fagersta perhaps
22:14:43 <engree> olsner: OK, so imagine there's a guy on IRC in a small, tight-knight community who's from Fagersta.
22:15:02 <Phantom_Hoover> <olsner> maybe we could make the channel so you never see what anyone else writes
22:15:07 <engree> olsner: A few years later, someone else comes in, and everything is normal until they mention they live in Västmanland county.
22:15:19 <engree> olsner: Someone says "Please tell me you're not from Fagersta", and they go "How did you know???".
22:15:41 <olsner> actually, it's probably not that good, because people I know from fagersta allegedly run into other people from fagersta all the time
22:16:17 <engree> olsner: OK, let's put it this way: Hexham is known for having a big ol' church and a market.
22:16:19 <kallisti> 3-order Fibonacci laugh has been permitted.
22:16:25 <engree> olsner: It's mostly houses.
22:16:55 <kallisti> where I live is mostly Anytown, USA
22:16:57 <engree> olsner: And there are inexplicably two people who (a) like esolangs, (b) read Homestuck and (c) are in the same IRC channel, without (d) having ever consciously met or communicated before, ever.
22:17:03 <Phantom_Hoover> If someone from Nowhere, Ireland turns up I will have to leave and never come back.
22:17:18 <engree> Phantom_Hoover: Oh my god, you have to ask everyone you meet whether they read Homestuck next time you end up there.
22:17:27 <engree> And carry a gun so you can shoot them.
22:17:58 -!- ais523 has quit (Ping timeout: 240 seconds).
22:18:00 <kallisti> "unitary authority" is that kind of like a county?
22:18:22 <kallisti> oh no that's "ceremonial county" I guess one is a political entity and the other is formal/historic?
22:18:55 <oerjan> <engree> there is none. and don't take it too personally, he acts this way whenever anybody disagrees with the conduct of another, ever <-- i'm not really against pointing things out in a polite way, i just cannot keep from rolling my eyes at what feels like recursion of self-obliviousness. including my own.
22:19:19 <kallisti> oh no unitary authority is more like a state district, kind of.
22:20:10 <engree> oerjan: well, there's a difference between rolling your eyes and implying everyone else is wasting their time... if there's a recurring problem that comes up in-channel, then bringing it up is more likely to solve it than pretending it doesn't happen :P
22:20:50 * engree tends to find that the main problem with metadiscussion is that there's always somebody really loud who wants to pop all the layers away... I suspect this problem occurs in programming too :P
22:21:21 <kallisti> fuck this discussion. too meta.
22:21:28 <kallisti> this is like metametametadiscussion now.
22:21:37 <Phantom_Hoover> This discussion is a RationalWiki trigger, can it stop?
22:21:52 <kallisti> discussion about the discussion about the metadiscussions
22:22:14 <engree> kallisti: My favourite thing about Stack Overflow is that they have a separate site running the same software exclusively for metadiscussion, with its /own reputation system/.
22:22:22 <engree> There are people with more meta rep than main-site rep.
22:22:33 <Phantom_Hoover> (Nowhere, Ireland is named after a pile of stones. Seriously.)
22:22:34 <engree> You can set /meta reputation bounties/ on questions there.
22:22:35 <kallisti> let's go back to the main discussion, where we're just assholes to one another.
22:23:42 <engree> oerjan taking me seriously in 3, 2, 1...
22:24:14 <kallisti> engree: is there a word for when you cause something not to happen by predicting that it will happen?
22:24:33 -!- pikhq has quit (*.net *.split).
22:24:33 -!- lifthrasiir has quit (*.net *.split).
22:24:33 -!- yiyus has quit (*.net *.split).
22:24:33 -!- SimonRC_ has quit (*.net *.split).
22:24:49 -!- lifthrasiir has joined.
22:25:05 <engree> kallisti: self-defeating prophecy
22:25:26 -!- pikhq has joined.
22:25:26 -!- yiyus has joined.
22:25:26 -!- SimonRC_ has joined.
22:25:41 <kallisti> I imagine a netsplit as like a huge storm seperated a bunch of ships..
22:26:11 <oerjan> <engree> oerjan taking me seriously in 3, 2, 1... <-- please be more polite than that. you are getting close to my limit there.
22:26:19 -!- Zuu has joined.
22:26:33 <Phantom_Hoover> You'd've thought spamming the channel to the condemnation of all would cross it.
22:26:45 <oerjan> Phantom_Hoover: hey i _did_ ban fax.
22:27:16 <engree> oerjan: That was a joke based on your repeated tendency to miss such in-context ironies.
22:27:35 <engree> oerjan: But yes, your limit is defined per person, and is approximately ten thousand ceilings lower for me than for most other people.
22:28:06 <engree> If you're not going to step up to the responsibility of banning e.g. blatant spammers, you really shouldn't threaten people with your op powers.
22:29:54 <oerjan> engree: you realize i was joking in my ^^ message?
22:31:07 <engree> oerjan: Fair enough, but the reason I missed it is that it's sufficiently similar to things you've said in the past.
22:31:10 <engree> I take my comments back.
22:31:38 <oerjan> hey if it needed to be said...
22:32:04 <engree> I put them back on the table!
22:32:15 <engree> SOMEONE PLEASE TAKE THESE COMMENTS I DON'T KNOW WHAT TO DO WITH THEM
22:32:31 * oerjan nails one of them up on the eastern wall
22:33:28 <kallisti> engree: take yer comments and shove 'em up yer ass!
22:34:04 * engree sets mode +b *!*@* #esoteric-meta
22:34:27 <oerjan> also that MathNerd314 event was because the whole thing started so ridiculously i couldn't take it seriously.
22:34:42 -!- copumpkin has quit (Remote host closed the connection).
22:35:53 -!- DCliche has joined.
22:36:22 <engree> it was quite an experience i must admit
22:36:42 <engree> i lost it at "i am the singularity"
22:38:15 <HackEgo> sitalk mecut ted folson leiset rehen pantauth uuiorma cyclam han
22:38:33 <oerjan> did freenode reset the dates on all the ban lists again
22:39:05 -!- Klisz has quit (Ping timeout: 240 seconds).
22:39:09 <oerjan> it's irritating when you cannot distinguish old bans from new ones
22:39:37 <olsner> what was the mathnerd event?
22:39:59 -!- FireFly has quit (Ping timeout: 248 seconds).
22:40:08 <oerjan> `log mathnerd.*> [0-9]*$
22:40:14 <olsner> Uuiorma Rehen is probably a finnish name
22:40:52 <olsner> hmm, case sensitive? lack of quoting for the space?
22:41:00 <olsner> `log mathnerd.*>.[0-9]*$
22:41:07 <HackEgo> 2011-02-18.txt:22:52:01: <Mathnerd314> Hask = (->)
22:41:39 <olsner> `log mathnerd...>.[0-9]*$
22:41:54 <oerjan> `log mathnerd.*>.*[0-9]$
22:42:01 <HackEgo> 2010-04-25.txt:21:12:09: <Mathnerd314> http://www.wolframalpha.com/input/?i=%28t_1+%2B+w*t_2+%2B+w^2*t_3%29^3+%2B+%28t_1+%2B+w^2*t_2+%2B+w*t_3%29^3+with+w+%3D+e^%282+i+pi+%2F+3%29
22:42:03 <olsner> `log mathnerd.*>.[0-9]+$
22:43:05 <HackEgo> 2010-10-30.txt:21:58:41: <Mathnerd314> that has to change... I want computer typography!
22:43:31 <oerjan> nah obviously it never really happened.
22:44:03 <oerjan> `log mathnerd.*i am the singularity
22:44:09 <HackEgo> 2012-01-02.txt:22:44:03: <oerjan> `log mathnerd.*i am the singularity
22:44:19 <kallisti> I mean, I get what he's trying to say, but saying that Hask is literally equal to (->) is kind of silly.`log mathnerd.*>.*\d
22:44:30 <oerjan> `log mathnerd[3].*i am the singularity
22:45:05 <HackEgo> 2010-05-04.txt:01:54:25: <Mathnerd314> !haskell flip (-) 1 2
22:45:58 -!- FireFly has joined.
22:46:19 <kallisti> actually was that when glogbot was down?
22:47:59 -!- Jafet has joined.
22:48:40 * Sgeo is sad. AW servers are so crappy, a friend's trying to get a list of all property keeps crashing a world.
22:55:49 -!- Zuu_ has joined.
22:56:33 -!- Zuu has quit (Read error: Connection reset by peer).
22:57:22 <Phantom_Hoover> Sgeo, I would yell at you for bringing up AW, but it's pathologically fascinating.
23:01:00 <engree> <kallisti> <Mathnerd314> Hask = (->)
23:01:04 <oerjan> pathological and fascinating
23:01:50 <kallisti> engree: the Hask category is literally equivalent to the function type?
23:02:19 <engree> kallisti: if you look at category-extras you will see the line
23:02:20 <zzo38> kallisti: The morphisms is, I think
23:02:31 <kallisti> yes the morphism is the function type
23:03:14 <oerjan> a morphism is _a_ function
23:03:41 <kallisti> the question I ask is: are categories their morphisms?
23:03:59 <engree> kallisti: it's surely irrlevant, as mathnerd was almost certainly explaining some signature or declaration in category-extras
23:04:20 <kallisti> engree: ah okay. I suppose that's the flaw of taking logs out of context.
23:04:22 <oerjan> kallisti: it's one possible axiomatization of categories to only consider the morphisms
23:04:57 <kallisti> oerjan: hmmm, I suppose the set of all morphisms does contain all of the relevant information...
23:05:29 <oerjan> you can identify the objects with the identity morphisms
23:05:50 <oerjan> Phantom_Hoover: it doesn't...
23:05:52 <Phantom_Hoover> (Are functions-as-morphisms and functions-as-types separated?)
23:06:08 <oerjan> Phantom_Hoover: a function is not a type
23:06:18 <oerjan> the morphisms are function _values_
23:06:54 <engree> those category theorists should really have consulted with programmers before deciding on their terminology
23:07:35 <Phantom_Hoover> Those programmers should really have consulted with me before trying category theory wait i am become kallisti
23:08:18 <zzo38> It is Cartesian closed category, it has something to do with that things
23:08:24 <kallisti> Phantom_Hoover: what's funny is that I never actually say things like that.
23:08:33 <kallisti> and if I do I'm probably joking.
23:08:40 <oerjan> Phantom_Hoover: as for making the set of morphisms between two objects into an object in itself, categories where you can do that nicely are called "cartesian closed categories". i'm not quite sure if Hask is one precisely or just approximately
23:08:44 <engree> hey oerjan should I read Mac Lane
23:08:48 <kallisti> in a self-deprecating manner, in fact.
23:09:15 <engree> Phantom_Hoover: Shut up all the cool kids refer to the book like that.
23:09:27 <Phantom_Hoover> kallisti, self-deprecation doesn't make being stupid cool.
23:09:42 <oerjan> i think the absence of genuine categorical products might mess it up slightly
23:09:50 <kallisti> Phantom_Hoover: that's an interesting and irrelevant point.
23:10:49 <engree> kallisti: What Phantom_Hoover is trying to say is that you can't say things with impunity to mockery by declaring them jokes. (You're welcome, this would have taken 5 hours to communicate.)
23:11:30 <kallisti> engree: since when do I even say "oh I am an expert on this matter this random person should have consulted me" without it being obviously in the context of some kind of humor?
23:12:40 <oerjan> <engree> hey oerjan should I read Mac Lane <-- well although it's a standard recommendation, i haven't done so myself, so...
23:12:43 <engree> kallisti: That question should be directed at Phantom_Hoover, I just wanted to skip 5 hours of tedium.
23:13:07 <oerjan> Phantom_Hoover: yeah iirc
23:13:12 <engree> oerjan: I was hoping you'd read it so you could give me an authoritative warning it'd go way over my head :)
23:13:20 <Phantom_Hoover> Won't Mac Lane be approaching it from a topological angle?
23:13:24 <Sgeo> o.O BitBucket has an option to do git
23:13:43 <Sgeo> The reason I'm using BitBucket is because Gregor has me thinking that it may be easier
23:13:51 <Sgeo> Erm, that hg may be easier
23:14:02 <oerjan> engree: hm it probably has a lot of advanced examples, at least
23:14:22 <engree> oerjan: well the first i heard about mac lane was people saying it was just too much for them :P
23:14:36 <oerjan> but then, it's likely most mathematicians don't know all of them either :P
23:14:36 <engree> people who _actually know mathematics_!!
23:14:44 <engree> Chapter VI. Monads and Algebras.
23:15:06 <engree> Chapter VII: Monoids. A monoid is just a monad not necessarily in the category of endofunctors, what's the problem?
23:15:46 <zzo38> Endomorphisms of a category make a monoid too
23:18:07 -!- Patashu has joined.
23:18:17 <engree> Phantom_Hoover: One day I will know more category theory than you and THEN the tables will be TURNED.
23:18:21 <oerjan> engree: i guess this may be one book where you're not expect to get all the way through :P
23:18:47 <engree> Phantom_Hoover: THAT IS WHY IT WILL BE EXCEEDINGLY EASY
23:19:16 * engree would prefer Categories for the Working Magician.
23:19:50 <engree> hmm, page 1 doesn't look so bad
23:19:57 * engree is checking the amazon preview :P
23:20:58 <engree> "whenever possible we write f x and not f(x), omitting unnecessary parentheses."
23:21:07 <engree> oerjan: category theory was evidently doomed to end up in haskell from the start
23:22:00 <engree> huh this is simpler than i expected
23:22:02 <Phantom_Hoover> I'm fairly sure the topology book with the surprise category theory was a graduate texts in mathematics book too.
23:22:29 <engree> i really don't like these diagrams though :'(
23:22:38 <engree> they should make linear notation for them :P
23:22:52 <oerjan> engree: what, the diagrams are like half the point
23:23:12 <Phantom_Hoover> The whole point of the diagrams is that it gets rid of inelegant linear notation and lets you go from page to brain a lot faster.
23:24:20 <oerjan> trying to grasp the snake lemma without diagrams - not pretty.
23:25:18 <oerjan> not that i remember what the snake lemma actually said.
23:25:26 <engree> oerjan: Phantom_Hoover: yeah but they're ugly :P
23:25:48 <engree> oerjan: so what did you read to learn cat theory (as i will henceforth call it, forever)
23:27:00 <oerjan> engree: i think it was partly osmosis. also homological algebra and algebraic topology books
23:27:26 * kallisti learned programming by osmosis.
23:27:29 <zzo38> I learn by Wikipedia and by Haskell and by ask people question in this channel
23:28:06 <engree> oerjan: what is category theory
23:28:07 <oerjan> and of course the K-theory used in my PhD
23:28:09 <kallisti> in fact I probably spent about 6 months slowly reading things about Perl before I ever actually wrote a real program.
23:28:40 <engree> http://en.wikipedia.org/wiki/It%27s_My_Turn_(film)#Accurate_Math_on_Film I'll watch this and learn the snake lemma
23:29:08 <engree> Patashu: ask people question in this channel
23:29:42 <kallisti> engree: ask me all of your category theory questions. I am the expert.
23:29:52 <engree> wait, grothendieck literally lives in the mountains in the middle of nowhere?
23:30:35 <engree> NationalityNone (Stateless)
23:30:36 <engree> wait, how did he manage that one
23:31:45 <Phantom_Hoover> "In January 2010, Grothendieck wrote a letter to Luc Illusie. In this "Déclaration d'intention de non-publication", he states that essentially all materials that have been published in his absence have been done without his permission. He asks that none of his work should be reproduced in whole or in part, and even further that libraries containing such copies of his work remove them."
23:32:17 <pikhq> engree: Some countries actually state that you have the right to become stateless.
23:32:26 <kallisti> engree: for example: did you know that a category is a set of objects, a set of morphisms from one source object to another target object, and an associative composition operator with an identity element on those morphisms?
23:32:27 <engree> Phantom_Hoover: You didn't hear about that?
23:32:36 <kallisti> engree: yes you can learn these things and more by asking me questions.
23:32:50 <engree> Phantom_Hoover: Well, it came up in here. :p
23:32:59 <engree> grr, the article doesn't explain how he became stateles
23:33:08 * engree considers citation needing it
23:33:23 <engree> http://en.wikipedia.org/wiki/Talk:Alexander_Grothendieck#Statelessness heh
23:34:01 <engree> You just CAN'T do cohomology of groups just after explaining Snake Lemma :D
23:34:02 <engree> killingbuddha1 2 weeks ago
23:34:07 <engree> Phantom_Hoover: help, I wandered into some bizarro youtube
23:34:16 <engree> everyone has a phd in mathematics
23:34:29 <pikhq> It's also quite possible, given his age, that his citizenship is from a non-existant country.
23:34:32 <engree> @belyi3 Valid point: how do these things come about? The answer is: from algebraic topology. Starting with Euler characteristic and Betti numbers of surfaces, one generalises to homology and cohomology groups. Then some very smart people realised that the underlying operations in homological & cohomological computations can be abstractised so that only the algebraic remnants remain. So this is what you get.
23:34:32 <engree> Like you, I'd love to see a more historically motivated account of cohomology.
23:34:39 <engree> Phantom_Hoover: HELP...
23:35:00 <engree> pikhq: born in germany, lives in france? doubt it
23:35:01 -!- monqy has joined.
23:35:13 <Phantom_Hoover> That was the context in which the surprise cat theory came.
23:35:53 <Phantom_Hoover> Or something; I was kind of sleepy by that point and I had an interview the next day.
23:36:02 <kallisti> engree: maybe it has something to do with East/West Germany?
23:36:05 <pikhq> engree: Germany runs under jus sanguinis, and didn't grant citizenship to people who would otherwise be born stateless until more recently than that.
23:36:14 <engree> wtf, http://www.grothendieckcircle.org/ actually removed links to his papers
23:36:29 <Phantom_Hoover> (I should go on long trips with only textbooks to entertain me more; I learnt a lot on that trip.)
23:37:33 -!- Zuu_ has quit (Ping timeout: 252 seconds).
23:37:45 -!- Zuu has joined.
23:38:46 <pikhq> Oh, his mother was German.
23:39:57 <pikhq> There's no way that he was *born* stateless, and his original citizenship would not have ceased to be in effect...
23:41:10 <kallisti> "In 1939 Grothendieck came to France and lived in various camps for displaced persons with his mother, first at the Camp de Rieucros, and subsequently lived for the remainder of the war in the village of Le Chambon-sur-Lignon, where he was sheltered and hidden in local boarding-houses or pensions." -- maybe this?
23:41:57 <qfr> Grothendieck is hilarious
23:42:31 <pikhq> Hmm, wait. The Nazis denaturalised people.
23:43:06 <pikhq> And the law reinstating the citizenships only reinstates citizenship on people who take residence in Germany after 1945.
23:43:35 <pikhq> So, he could actually have become stateless because of the Nazis, and continue to be stateless by merit of never having gone back to Germany.
23:43:47 <oerjan> <engree> You just CAN'T do cohomology of groups just after explaining Snake Lemma :D <-- iirc that is correct, since the snake lemma is a building block several steps before defining (co)homology
23:44:11 <pikhq> So, yes, it is perfectly feasible for him to be stateless.
23:44:22 <pikhq> And be able to gain a citizenship trivially.
23:44:50 <kallisti> does stateless even have a practical impact on one's life?
23:45:24 <pikhq> kallisti: You need to do some really annoying paperwork to do a few things.
23:45:31 <pikhq> e.g. get a passport.
23:45:41 <kallisti> you're still subject to all the laws in the area you reside in.
23:45:50 <kallisti> so it basically just makes life more inconvenient.
23:45:57 <zzo38> Someone made a list of the most difficult and complicated kind of mathematics, and "motivic cohomology" was at the top.
23:46:45 <engree> pikhq: I doubt you could get a job while stateless?
23:46:49 <pikhq> This status is largely because of post-WWII international law which requires nations to treat stateless people that happen to be in there country as, essentially, legal immigrants.
23:48:07 <engree> so what did the nazis actually do
23:48:17 <engree> strip german citizenship of people they didn't like?
23:48:44 <pikhq> oerjan: "Anyone they like" is by far the more accurate classification.
23:48:58 <pikhq> Jews were merely a significant proportion of that set.
23:49:22 <engree> "fuck this country im out" --hilter
23:49:26 <pikhq> "WE HAVE REVOKED THE CITIZENSHIP OF HITLER" :P
23:49:36 <engree> It would provide a really convenient country for them to bomb, mind you.
23:49:57 <kallisti> "anyone they like" can mean that they chose whomever they wanted to be denaturalized.
23:50:48 <kallisti> anyoned they liked to denaturalize. :P
23:54:16 <kallisti> oerjan: there's nothing about the set of morphisms of a category that requires it to form a bijective mapping right?
23:56:40 <oerjan> a bijective mapping to what
23:57:08 <oerjan> also, it's not required to be a set, it can be a proper class
23:57:26 <kallisti> a bijective mapping from the object set to the object set.
23:57:51 <oerjan> no. for one thing, the objects are not required to be conceptual sets.
23:58:20 <kallisti> the morphisms aren't acting on sets of objects themselves.
23:58:53 <oerjan> indeed not. such a category is called "concrete".
23:59:19 <oerjan> there is otherwise no requirement that morphisms be _functions_
23:59:37 <kallisti> okay here's a better question: a single morphism can act on multiple objects in the category, yes or no?
23:59:55 <oerjan> no. a single morphism always has exactly one.