00:04:00 <zzo38> Is coppro even on yet? It seem, that coppro is the only one who even understands what things I am trying to have help with, this programming stuff, etc
00:05:14 <oerjan> coppro is secretly a brain in a jar. actually _two_ brains in a jar, alternating on sleeping.
00:05:21 <zzo38> OK. I was wondering about stuff such as timezone and so on
00:05:32 <zzo38> But now I checked so that is OK.
00:05:35 <oerjan> or possibly just one dolphin brain
00:06:51 <zzo38> coppro: It is this: https://devlabs.linuxassist.net/projects/texnicard/wiki/Dangelo_Programming_Language I have fixed some things and added more examples, in case that will help you to understand better what kind of things I mean. If you want more, ask more. Because, now is not too late in my timezone, last time it was late and I would sleep
00:07:49 -!- azaq231 has joined.
00:08:33 -!- azaq23 has quit (Ping timeout: 240 seconds).
00:10:00 <elliott> oerjan: why do we need to sleep why cant we just have two brains
00:11:31 <oerjan> because we are stupid apes and not supreme dolphins
00:11:44 <oerjan> but we can kill the dolphins if you think that helps.
00:12:28 <zzo38> I doubt that would help.
00:12:33 <oerjan> also, sleep is how we get our orders from outside the matrix
00:12:51 <zzo38> I also doubt *that* would help.
00:14:22 <zzo38> coppro: Do you understand anything more about this now? Also tell me if someone else knows better
00:14:37 <coppro> zzo38: I apologize, I am busy writing a scholarship application
00:14:42 <coppro> zzo38: I will try to read at some point though
00:15:12 <zzo38> coppro: OK. Sorry, I didn't know that, but now I know. Thank you for telling me.
00:16:14 <zzo38> How long will scholarship application take?
00:22:36 <elliott> oerjan: help which spam language name do i need to do first
00:24:01 <elliott> oerjan: help no it has to be one i said i would help
00:26:05 <oerjan> i don't recall which ones you said
00:26:56 <monqy> somehow hormel++ reminded me of http://alefpp.sourceforge.net/
00:27:16 <oerjan> looking at the deletion log, there's one pointing itself out: http://esolangs.org/w/index.php?title=Incredibly_fascinating_evaluation_of_shopping_cart_software_package_prepared_by_well-known_soccer_professional_or_a_person_known_as_exact_same_as_that_soccer_player
00:27:39 <elliott> im not sure what that one will be though
00:27:46 <monqy> which was it that elliott moved into userspace
00:28:13 <monqy> then it was brutally delted
00:28:35 <elliott> http://esolangs.org/w/index.php?title=Special%3ALog&type=delete&user=&page=
00:29:19 <ais523> elliott: you took a local copy of it
00:29:22 <ais523> or at least, I told you to
00:29:23 <monqy> User:Ehird/1st year sobriety and no dating
00:29:38 <ais523> sober and no dating is what happened to me in my first year
00:29:47 <ais523> as I was too preoccupied with other things to get drunk or go dating
00:29:59 <elliott> too occupied with sobrietary
00:30:01 <monqy> (Move log); 16:53 . . Ehird (Talk | contribs) (1st year sobriety and no dating moved to User:Ehird/1st year sobriety and no dating: for my study)
00:30:08 <ais523> (besides, I dislike the taste of alcohol, which means I rarely have much incentive to drink it)
00:30:24 <monqy> http://esolangs.org/wiki/Talk:1st_year_sobriety_and_no_dating what study hlep
00:30:35 <elliott> i sohuld make that language that was like dobela but what it wa in my mind
00:30:37 <elliott> because i never learned dobela
00:31:11 <elliott> asiekierka made it but thend
00:31:18 <monqy> DOt-Based Esoteric LAnguage
00:31:30 <elliott> GROSSE GROSSE dobela has hiden state im fix that
00:31:56 -!- itidus20 has quit (Ping timeout: 255 seconds).
00:32:10 <elliott> I wonder if I could do non-determinism if I had wires like and maybe..........
00:33:41 <elliott> monqy: do i want wires or no wires
00:33:51 <elliott> i think wires are more ... interesting?? because that is less like befunge i guess
00:34:27 <elliott> ais523: if i accidentally reinvent hardware, sorry
00:36:03 <elliott> this is interesting enough to get a real name
00:36:07 <elliott> all my names are spam names now
00:36:07 <oerjan> thsih epl was the third emperor of the wey shlow empire of heinan
00:36:28 <elliott> ais523: are there any repeat vandalism pages lately
00:36:32 <elliott> pages you might be wanting to
00:36:40 <oerjan> he was a very heinous emperor
00:37:14 <monqy> last repeat spam I can recall is the List of ideas/Archive
00:37:24 <ais523> elliott: I had to protect List of ideas/Archive from even registered users
00:37:27 <elliott> i cant name al naugaee that
00:38:06 <oerjan> yusuf al naugaee, famous kuwaiti general
00:39:15 <elliott> ais523: can you nremae list of ideas archive so i can name my language that
00:39:37 <oerjan> his name was because he invented armor made of naugahyde
00:39:45 <ais523> just call it "Incredibly_fascinating_evaluation_of_shopping_cart_software_package_prepared_by_well-known_soccer_professional_or_a_person_known_as_exact_same_as_that_soccer_player"
00:39:52 <ais523> I can't rename it because then it would start being scammed again
00:41:42 <elliott> ais523: anyway that doensnt even abbreviate well.........
00:41:48 <oerjan> sadly naugas went extinct when saddam destroyed the euphrates/tigris delta to punish rebels there
00:42:13 <oerjan> but there's an american company making a synthetic replacement
00:42:29 <elliott> that was an evaluation trace :(
00:43:38 <oerjan> make it a language with syntax based on myndzi's figures
00:44:50 <elliott> oerjan: did you nderstadnd... the above...
00:46:06 <elliott> sort of like wireworld maybe?? i don't know wireworld
00:46:19 <lambdabot> Not in scope: `moves'Not in scope: `wire'
00:46:22 <elliott> when > hits into @, it turns into o
00:46:30 <elliott> (same for all other directions)
00:46:37 <elliott> when > hits o it becomes . in the same manner
00:46:43 <Lymee> The most esoteric programming language is Conway's Game of Life
00:46:43 <elliott> when > hits into . they swap places
00:46:48 <elliott> when . isn't hit for a cycle it becomes o
00:46:49 <Lymee> Let's add IO to that
00:46:52 <elliott> when o isn't hit for a cycle it becomes @
00:47:06 <elliott> oerjan: so it is... a delay...
00:47:20 <elliott> but one that takes time to reset....
00:53:30 <oerjan> just spruce it up a bit
00:57:11 <elliott> ais523: whath appens when two little signals bump into each other, with electronics,
00:57:29 <ais523> what do you mean by "little signal"? and "bump into each other"?
00:57:34 <ais523> electronics signals don't work like that
00:58:59 <ais523> elliott: well, my answer is that I can't tell you because the question is insignificantly meaningful
00:59:04 <ais523> "they merge" is about the best answer I can give
00:59:08 <ais523> *insufficiently meaningful
01:00:13 <elliott> heh, one model I was thinking of offers faster-than-light travel, oops
01:04:16 -!- evincar has joined.
01:05:18 -!- elliott has quit (Ping timeout: 252 seconds).
01:09:52 -!- cheater__ has joined.
01:13:11 -!- cheater_ has quit (Ping timeout: 250 seconds).
01:44:20 <ais523> it was noisier earlier
01:45:35 <zzo38> Dilbert's boss once said something like, it has come to my attention that 40% of sick days are taken on Monday and Friday, this is unacceptable, and so on. Someone else said that is a joke, because 40% is exactly normal. However, I don't think so. I think less than 40% of work days are on Monday and Friday (and I do see why it seems 40% is normal).
01:47:29 <pikhq> *With holidays*, somewhat less than 40%.
01:47:34 <pikhq> But not significantly so.
01:48:23 <zzo38> I have not actually calculated how much less. But it probably depends on where you live. At least in Canada it is less than 40% I think. I don't know what it is in their office.
01:57:17 -!- itidus20 has joined.
01:57:25 -!- elliott has joined.
01:57:49 <elliott> <elliott> heh, one model I was thinking of offers faster-than-light travel, oops
02:01:53 <elliott> (Deletion log); 20:47 . . Ais523 (Talk | contribs) (deleted "My name is Johny, what the F**K?????": offtopic, probable spam)
02:01:58 <elliott> ais523: thanks, this is definitely the name of my next esolang
02:02:13 <ais523> that's actually a good esolang name
02:02:46 <elliott> I like how it comes pre-censored
02:04:10 <ais523> and how it misspells Johnny
02:04:13 <ais523> which i only just noticed
02:05:42 <elliott> http://en.wikipedia.org/wiki/Johny
02:06:27 <monqy> parents bad at speling
02:07:23 <MDude> An online translator told me the other page is Spanish for "the people are crazy".
02:07:36 <MDude> I thought it was someone's reaction to reading the wiki.
02:10:55 <ais523> elliott: please make a really good esolang at that name, it deserves one
02:11:20 <elliott> ais523: I think my wire esolang will be cool??? if it is not accidentally derivative
02:11:31 <elliott> It probably won't be HUGELY AMAZING but it'll be fun
02:11:32 <ais523> is it any better than WireWorld?
02:11:42 <elliott> I don't know, I never learned wireworld
02:11:58 <elliott> Mine will probably be a lot less like real-world circuits
02:12:09 <ais523> it's sub-TC unless you have an infinite program
02:12:10 <elliott> and a lot more like ... noit o' mnain worb?
02:12:21 <elliott> i like how i can remember that name perfectly
02:12:25 <ais523> no, wireworld's something where it makes sense to say "what happens when signals collide?"
02:12:38 <elliott> But, I mean, it's sort of like circuits
02:12:44 <ais523> you're doing a NOMW-alike?
02:12:51 <elliott> I'm not sure, I don't really know nomw either :(
02:12:55 <elliott> it should be obviously TC though
02:12:57 <elliott> so I guess not too similar
02:12:57 <oerjan> <elliott> I like how it comes pre-censored <-- would be nice to discuss it together with brainfuck, just to confuse people
02:13:08 <MDude> Is circuits a new wire idea, or something that's been incomplete for a while?
02:14:08 <MDude> I was jsut wondering since I didn't feel like scrolling up.
02:14:37 <itidus20> "Velocitator" Mr. Burns's archaic name for a car's accelerator pedal. Burns attempts to drive a car for the first time while proclaiming he is sure the owners manual will instruct him as to which lever is the velocitator and which one is the deceleratrix.
02:15:05 <MDude> Also, there are a few other languages that look like wires.
02:20:35 <zzo38> Make up a text adventure game called "My name is Johny, what the F**K?????" as well. Or, a card game, or newspaper, or restaurant, or whatever
02:22:41 <oerjan> the My name is Johny, what the F**K????? franchise
02:22:47 -!- jcp|other has joined.
02:23:34 <elliott> ais523: hmm, I think the main thing that will control how my language turns out is whether I have blips or signals
02:23:40 <elliott> blips along a wire go like
02:23:55 <elliott> i.e. blips move, signals spread
02:23:57 <ais523> WireWorld is based on blips
02:24:38 -!- jcp|1 has quit (Ping timeout: 276 seconds).
02:24:50 -!- jcp has quit (Ping timeout: 276 seconds).
02:25:35 <ais523> it's a cellular automaton
02:26:27 <oerjan> make it a pneumatic automaton, based on blimps.
02:26:40 <monqy> I learned wireworld a few years ago and only remember how the blippy things work. nothing about how to do logic or anything. never made anything interesting with it. :'(.
02:27:20 <MDude> http://esolangs.org/wiki/Circute [I'm pretty sure this is WireWorld exactly, but with a different name for some reason and also rendered in ASCII.]
02:28:23 <MDude> WireWorld is pretty nice, but there's an odd bug in it where if a "Diode" gets a signal form both directions at the right moment, it goes crazy and starts spewing noise forever.
02:28:36 <elliott> ais523: umm, it can be a CA without that
02:28:49 <elliott> both examples I showed were discrete
02:30:09 <monqy> iirc the way wireworld did it was spark heads spread to adjacent wire cells and turn into spark tails, and spark tails turn into wires, or something like that
02:31:13 -!- jcp has joined.
02:31:15 <MDude> Huh, I guess it would be pretty easy to make a CA in a 2D string rewriting system.
02:31:40 <evincar> A CA is essentially a 2D rewriting system. :P
02:31:40 <MDude> That's pretty handy.
02:32:14 <itidus20> I wanna go on record as saying 2d rewriting system
02:32:16 <MDude> Well yeah, but I've been having trouble trying to define my own CA using other methods.
02:32:30 <ais523> whew, just finished my first AceHack ascension
02:32:33 <ais523> and now I want to tell everyone
02:32:43 <Vorpal> firefox: "you are about to close 221 tabs"
02:32:54 <Vorpal> and it isn't sluggish at all
02:32:59 -!- Nisstyre has quit (Ping timeout: 255 seconds).
02:33:20 <MDude> Is AceHack a game about being fighter pilot?
02:33:38 <monqy> who to believe?????
02:33:42 <ais523> MDude: it's a NetHack variant I develop
02:33:42 <elliott> ais523: NetHack UI nitpick: The plot isn't about being a fighter pilot.
02:33:45 <Vorpal> MDude, ace pilot stuck in a dungeon of course
02:33:47 <elliott> Eagerly awaiting fix in AceHack.
02:33:59 <itidus20> Ace Rimmer lost in nethack land?
02:33:59 <ais523> elliott: that's a bit of a stretch
02:34:08 <elliott> ais523: Just add "Also you're a fighter pilot." to the end of the game-opening message
02:34:24 <ais523> elliott: you can do that yourself, that message is trivially easy to patch
02:34:40 <elliott> ais523: I thought the point of AceHack was to have all the patches so that I didn't have to
02:34:52 <Vorpal> elliott, better mod the classes, So you are a "fighter pilot and knight"
02:35:16 <ais523> elliott: no, it only has the /good/ classes
02:35:16 <monqy> fighter pilot and caveman
02:35:28 <itidus20> you are the egotistical persona of an hologrammatical astronaut
02:35:30 <elliott> <ais523> elliott: no, it only has the /good/ classes
02:35:30 <elliott> <monqy> fighter pilot and caveman
02:35:40 <Vorpal> ais523, what about adding pliot as a cast?
02:35:49 <Vorpal> ais523, could make an interesting quest
02:36:28 <elliott> Omg you have to go around that plane that's just air and shit IN A PLANE
02:37:14 <Vorpal> elliott, hm quest artefact? A famous plane? flight googles?
02:37:47 <itidus20> i dont actually follow red dwarf but i've seen the odd ep
02:37:50 <Vorpal> elliott, idea, just add planes as a special cased pet XD
02:38:15 <elliott> i would play nethack as a pilot every time
02:38:16 <Vorpal> since you can ride horses and so on
02:38:32 <ais523> you can ride dragons, they fly
02:38:42 <ais523> and ki-rins, which are like flying horses
02:39:05 <Vorpal> so the difference would be that a plane remains tame all the time, also doesn't pick up things in shops for you
02:39:07 <itidus20> nethack has rideable dragons? thats amazng it is
02:39:26 <Vorpal> itidus20, I only ever managed that in wiz mode
02:39:28 <elliott> ais523: hmm, can you use those on that one (astral) plane?
02:39:37 <elliott> Vorpal: also, I like the idea of planes becoming un-tame
02:39:41 <ais523> elliott: yes, you can ride on Astral, but it's a pain keeping your steed alive
02:39:45 <elliott> you have to feed it to tame it
02:39:51 <Vorpal> elliott, uh... I guess they wouldn't move on their own
02:39:57 <elliott> ais523: grr, I mean that one plane
02:39:59 <elliott> the one that's just clouds
02:40:43 <Vorpal> elliott, ais523: go implement this now!
02:41:13 <Vorpal> ais523, why not, doesn't it sound awesome!?
02:41:38 <Vorpal> ais523, why not. There is tourist. How are the tourists supposed to travel if not by plane!
02:41:50 <elliott> he makes a good point (a terrible point but a good one)
02:42:06 <Vorpal> (yes I do see the flaws in that logic)
02:42:12 <MDude> Would it be easier to jsut add a card game at the end?
02:42:20 <Vorpal> MDude, of nethack? why
02:43:06 <Vorpal> ais523, btw I think you should be able to run around floating eyes to kill them. (Note: only makes sense if you played Mario64 I think)
02:48:15 <evincar> Crap, now I have to play that again.
02:48:32 <evincar> I wonder how quickly I can beat it...
02:50:41 -!- invariable has changed nick to variable.
02:50:55 <ais523> Vorpal: I have played Mario 64 (well, the DS port)
02:50:57 <ais523> so I know what you mean
02:51:30 <Vorpal> ais523, as far as I remember they added quite a lot of stuff to the DS port
02:51:34 <Vorpal> compared to the original
02:51:40 <Vorpal> like not playing mario all the time
02:51:49 <Vorpal> never played the DS port
02:51:55 <ais523> I know the basic differences from the DS version and the original
02:53:57 <itidus20> I had an N64 twice. The first one my brother gave it away to impress a girl. The second one I traded it in towards an xbox360. The second one had mario64 and zelda:oot.
02:54:22 <itidus20> I later traded the xbox360 back in out of fear of RROD and various reasons.
02:58:46 <elliott> I think I like blips more than signals
02:58:48 -!- CakeProphet has joined.
02:58:48 -!- CakeProphet has quit (Changing host).
02:58:48 -!- CakeProphet has joined.
02:58:55 <elliott> because you need a way to turn signals off
02:59:03 <elliott> which means having some sort of signal-eater block that eats up a signal as it goes along a wire
02:59:17 <elliott> with blips you have the possibility of fun things like duplicators and the like
02:59:24 <elliott> and it's sort of more like an IP
02:59:30 -!- mickayz has joined.
02:59:57 -!- mickayz has left.
02:59:58 <evincar> Agreed, blips are cleaner.
03:01:05 <elliott> ais523: I think the other major choice is whether to have nondeterminism
03:02:42 <elliott> hmm, which I guess is more a question of are blips directional
03:04:13 <elliott> ASCII really needs corners
03:04:34 <evincar> If they are, it offers the possibility of sending information bidirectionally along wires.
03:04:52 <elliott> evincar: oh, hmm, I don't think blips can be non-directional while avoiding hidden state
03:05:00 <evincar> So portions of the program can be implemented in terms of the reverse of other portions.
03:05:33 <evincar> Right, reversability is good evidence for purity. :P
03:05:51 -!- BeholdMyGlory has quit (Remote host closed the connection).
03:07:56 <elliott> ugh, that's annoying though, because directional blips don't really let me justify this cool nondeterminism feature
03:08:45 <itidus20> what is a nondeterministic language good for?
03:09:14 <evincar> itidus20: http://en.wikipedia.org/wiki/Nondeterministic_finite_state_machine
03:09:17 <itidus20> surely it is more wide in scope than simply rand() :D
03:09:29 -!- azaq231 has quit (Ping timeout: 276 seconds).
03:09:55 <evincar> Long story short, NFAs are typically more concise and intuitive than DFAs.
03:10:41 <elliott> evincar: um that is obviously not the kind of nondeterminism i mean
03:11:19 <elliott> I basically just mean something similar to Befunge's ?
03:11:31 <itidus20> (reading over that page) regarding philosophical determinism debates i have argued before that a non-determinist could emulate a determinist
03:11:39 <evincar> elliott: I wasn't claiming anything about yours. I was just offering an example of what nondeterminism is good for.
03:12:19 <elliott> evincar: well, that's not the same kind of nondeterminism
03:13:22 <itidus20> i think that the determinists can be shown to be possibly non-determinists wearing masks, and non-determinists might possibly be determinists wearing masks but i forget how i arrived at the latter conclusion
03:14:05 <evincar> elliott: Naturally. This is, after all, #esoteric.
03:14:24 -!- lament has joined.
03:15:04 <itidus20> didn't fourier's fast transform not find any good uses until after his death?
03:16:00 <itidus20> ah ---- i should not make such claims without backup
03:17:03 <itidus20> elliott: I think we assume that we want determinism most of the time... but take it away and we might come to not depend on it
03:17:18 -!- copumpkin has quit (Ping timeout: 252 seconds).
03:17:43 -!- copumpkin has joined.
03:19:19 <Sgeo> Gregor, elliott http://www.mspaintadventures.com/?s=ryanquest
03:19:37 <elliott> Sgeo: Why are you pinging me about this?
03:19:46 <CakeProphet> itidus20: it wasn't Fourier's fast transform
03:19:50 <elliott> I'd ask why you're pinging Gregor too but he probably will himself
03:20:04 <pikhq> In other news, cure for cancer.
03:20:15 <Sgeo> I pinged Gregor because I'm under the vague impression that he's interested in Dinosaur Comics
03:21:08 <Sgeo> My brain just broke trying to avoid breaking what I'm assuming is a joke
03:21:31 <CakeProphet> Sgeo: have you considered become a rapper?
03:22:08 -!- azaq23 has joined.
03:22:28 <Sgeo> <pikhq> In other news, cure for cancer.
03:22:35 <Sgeo> Unless pikhq's being serious
03:22:56 <elliott> Sgeo is answering questions non-linearly, and pikhq would believe a pop science magazine.
03:23:16 <CakeProphet> chances are millions of people would already know about it and be talking about.
03:23:22 <coppro> pikhq: this is unusually stupid for you
03:23:39 <elliott> CakeProphet: You realise that reddit, etc. claim there are cures for cancer like every other week?
03:24:03 <elliott> Then the top comment is someone thoroughly refuting it as an actual method for curing cancer because reddit's scoring makes no fucking sense.
03:24:33 <Sgeo> Cure for _a_ cancer I would believe
03:24:54 * elliott sits here and waits for pikhq to respond.
03:25:05 <pikhq> Genetic modification of T-cells taken from 3 patients were targetted to antigens unique to the cancer cells, and reinjected into the patient. All cancer cells were killed by the T-cells.
03:25:05 <CakeProphet> I would believe a cure for cancer... if it were actually a cure for cancer.
03:25:18 <pikhq> The scheme is believed to be repeatable on other forms of cancer, but was only tested on leukemia.
03:25:24 <pikhq> Further trials pending.
03:25:33 <coppro> In fact, I'd believe cure for a specific cancer much less than I'd believe of a cure for all cancer
03:25:37 <Sgeo> pikhq, believed to be repeatable on _all_ other forms of cancer, or many other forms?
03:25:39 <coppro> pikhq: that is pretty fucking awesome
03:25:46 <evincar> So: promising research in the topic of cancer.
03:25:55 <coppro> Sgeo: X cancer is just cancer that happens to be in X
03:26:04 <coppro> Sgeo: Fundamentally they are all the same disease
03:26:10 <evincar> coppro: Not strictly true, I thought.
03:26:13 <pikhq> evincar: So I exaggerate slightly.
03:26:15 <elliott> pikhq: OK, now I'll wait for this to get on reddit and for someone to reply "I'm an expert and this is promising but doens't actually mean anything/isn't new because [..............]".
03:26:17 <CakeProphet> evincar: but then what will pop science news sources use for a headline?
03:26:19 <Vorpal> pikhq, interesting, but 3 patients? Need larger scale tests. And tests on different cancers.
03:26:30 <pikhq> Vorpal: Hence why trials are pending.
03:26:43 <pikhq> s/trials/further trials/
03:26:49 <coppro> pikhq: we also have a theoretical cure for retroviruses from 10 years ago that no one ever got to work at a medical scale
03:27:06 <Vorpal> coppro, what cure is that?
03:27:23 <coppro> Vorpal: cellular injection of single-stranded RNA that matches the virus' DNA
03:27:26 <pikhq> coppro: This one has at least worked on human patients.
03:27:26 <evincar> So, is it just me, or is "pharmaceutical company" an oxymoron?
03:27:52 <coppro> Vorpal: The cellrejects the double-stranded retrovirus RNA because of the presence of the single-stranded version
03:27:55 <Vorpal> coppro, yeah I can see getting that to work for anything but single cells might be a bit of an issue
03:27:58 <evincar> Aren't business concerns and research costs at odds with, y'know, providing people with abundant, cheap medication?
03:28:10 <Vorpal> coppro, can't think of how to inject it into cells
03:28:13 <evincar> Socialised medicine seems to make the most sense.
03:28:16 <coppro> Vorpal: a different virus
03:28:23 <coppro> retroviral therapy can be done
03:28:25 <elliott> evincar: do you know what an oxymoron is
03:28:40 <coppro> evincar: not for something of this scope
03:28:42 <Vorpal> coppro, what is the catch then
03:28:45 <evincar> elliott: A contradiction in terms.
03:28:58 <elliott> evincar: the words "pharmaceutical" and "company" do not contradict
03:29:13 <elliott> I think what you're trying to say is "pharmaceutical companies are bad"
03:29:14 -!- invariable has joined.
03:29:19 <evincar> elliott: But the notions of providing pharmaceuticals and being a company do. :P
03:29:20 <coppro> evincar: if there was actual significant likelihood that this procedure would be a high-success cure for cancer, governments can and will just legislate their way past th eproblem
03:29:25 <evincar> It's a meta-oxymoron, then.
03:29:35 <elliott> I believe plenty of companies provide pharmaceuticals?
03:30:07 <Vorpal> coppro, what is the catch then with the retrovirus thingy
03:30:29 <elliott> Vorpal: you have to do it before you find out (that's the retro part)
03:31:08 <Vorpal> elliott, leave the puns to oerjan next time
03:31:10 <coppro> Vorpal: a) retroviral therapy is very difficult to pull off in a safe manner; the need to get single-stranded RNA involved would make it much more complex since the virus would basically need to be custom-made and we lack that technology
03:31:32 <coppro> Vorpal: b) it is a defense easily mutated against
03:31:48 <coppro> the recent development of blocking /all/ dsRNA is very interesting though
03:32:04 <Vorpal> coppro, doesn't the body use that?
03:32:16 <coppro> Vorpal: dsRNA gets copied into the DNA
03:32:20 <pikhq> Vorpal: No. Double-stranded RNA is only used by virus reproduction.
03:32:27 <Vorpal> coppro, will be mutated against in the future probably
03:32:31 <coppro> all RNA in the body naturally is single-stranded
03:32:36 -!- variable has quit (Quit: I found 1 in /dev/zero).
03:32:43 <coppro> Vorpal: No; double-strandedness is fundamental to the mechanics of retroviruses
03:33:37 <coppro> apparently I am confusing my viruses here
03:33:56 <coppro> retroviruses use single-stranded RNA apparently and supply enzymes to do the copying with; dsRNA is a different class of virus
03:34:39 <coppro> still, dsRNA is not naturally occurring in the body
03:34:42 <Vorpal> coppro, so won't kill off HIV and so on then
03:34:57 <coppro> Vorpal: yeah. Still would hit a vast swath of viruses
03:36:47 <coppro> btw ribosomes are probably the most ridiculous human structure
03:36:55 <coppro> (or any other cell really)
03:37:46 <elliott> It is now possible to give classes equality superclasses, i.e. you can write something like class (F a ~ b) => C a b where { ... }. See Section 7.7.2.3, “Equality constraints” for more details.
03:37:47 -!- invariable has changed nick to variable.
03:38:54 <coppro> actually just RNA in general is fucking amazing
03:39:17 <elliott> http://www.haskell.org/ghc/docs/7.2.1/html/users_guide/release-7-2-1.html
03:39:23 <coppro> you don't need DNA or proteins if you have RNA
03:39:26 <elliott> The new DefaultSignatures extension allows you to define a default implementation for a class method that isn't as general as the method's type. For example,
03:39:31 <coppro> DNA and proteins are just more durable
03:40:28 -!- evincar has changed nick to evincar-in-the-s.
03:40:42 -!- evincar-in-the-s has changed nick to evincar-away.
03:40:57 <elliott> The "evil mangler" has been removed, and registerised compilation via C is no longer supported. This means that the -fvia-c, -fvia-C, -keep-raw-s-file, -keep-raw-s-files, -pgmm, -optm, -monly-2-regs, -monly-3-regs and -monly-4-regs flags are now deprecated, and have no effect. The -fasm-mangling and -fno-asm-mangling flags have been removed.
03:41:17 <Vorpal> <coppro> Vorpal: yeah. Still would hit a vast swath of viruses <-- indeed, meaning the other viruses would take over.
03:41:35 <Vorpal> <coppro> btw ribosomes are probably the most ridiculous human structure <-- yep
03:41:36 <elliott> http://en.wikipedia.org/wiki/Wake_(ceremony)....
03:42:13 <pikhq> Oh, there's *plenty* of utterly ridiculous human structures.
03:42:37 <elliott> ok wake for evil mangler and rest of -fvia-C
03:42:39 <pikhq> Especially if we look at vestigial structures.
03:42:59 <Vorpal> pikhq, name one more ridiculous than ribosomes
03:43:15 <coppro> I mean ridiculous as in crazy
03:43:19 <coppro> not ridiculous as in useless
03:44:31 * elliott reads about the new generics stuff
03:44:49 <pikhq> Recurrent laryngeal nerve. Especially ridiculous in giraffes.
03:45:19 <pikhq> It's a nerve that goes all the way down from the neck, down around the aorta, and back *up* to the larynx.
03:45:47 <coppro> pikhq: that is ridiculous; not the same kind of ridiculous though
03:46:18 <coppro> ribosomes are assembled from proteins and RNA; the assembly is the coordinated effort of hundreds of proteins to assemble components made in three different parts of the cell
03:46:22 <pikhq> It does so in all the quadrapeds. Well, technically all vertabrates, but that's actually the shortest path in fish.
03:48:01 <coppro> the genome also has more than 200 redundant copies of the sequences for ribosomes
03:48:27 <pikhq> Well, why not? It has redundant copies of so many things.
03:49:02 <coppro> half a million ribosomal proteins are transported into the nucleus each minute
03:54:45 <coppro> oh also self-splicing introns are ridiculous
03:55:10 <coppro> they're sequences of DNA that take up the middle of genes for who knows why and just remove themselves when the DNA goes up for transcription
03:55:33 <coppro> they actually cut themselves out of the mRNA
03:56:19 <pikhq> But remember, we're intelligently designed.
03:57:00 <coppro> one possibility is that they're actually a very low form of self-reproducing structure; they serve no purpose but manage to get reproduced and inject themselves into other parts of the genome nonetheless
04:03:48 -!- evincar-away has quit (Ping timeout: 258 seconds).
04:05:30 -!- evincar-away has joined.
04:05:35 -!- evincar-away has changed nick to evincar.
04:19:25 <elliott> i don't think the generic stuff in ghc does what i want :(
04:23:57 -!- sebbu has quit (Ping timeout: 264 seconds).
04:34:24 <zzo38> How much of the code from Windows version 1 is still used in the newest version?
04:34:57 <ais523> zzo38: it's probably impossible to know
04:34:58 <pikhq> I'd be inclined to say "not much".
04:35:04 <ais523> I'd be surprised if even Microsoft know by now
04:35:14 <ais523> and they don't have public repos, so you can't tell
04:35:37 <evincar> Wasn't NT basically a complete rewrite?
04:35:42 <pikhq> Especially what with Win32 having essentially a rewrite of Win16, and NT being a rewrite *really from scratch*.
04:36:00 <zzo38> Maybe even Microsoft doesn't know?
04:36:15 <pikhq> NT has more relation with VMS than Windows 1.0.
04:36:55 <elliott> i really want the windows source code
04:37:04 <elliott> i should get that partial leak sometime
04:37:17 <elliott> maybe i should get a job at ms and spend my days reading the windows code
04:37:19 <pikhq> I'd be willing to bet that there's tons of comments saying // Work around moronic program X
04:37:33 <elliott> (I read the highlights-of-the-leak posts)
04:38:09 <evincar> Or // We can't remove this internal API because so many stupid applications rely on it.
04:39:27 <elliott> i think the windows team and the office team would literally go to war if they had the resources
04:39:43 <elliott> ais523: as our Windows Correspondent, how do you feel about this
04:39:47 <pikhq> Don't even need source to see that.
04:39:55 <elliott> ok now i can't stop imagining the war of the microsoft teams and it is hilarious
04:40:07 <elliott> "this is for using private APIs!!!!!"
04:40:16 <pikhq> The Office team seems to *love* reimplementing things.
04:40:21 <evincar> Swinging USB modems by their cables and hurling them over the cube walls toward unsuspecting victims.
04:40:23 <elliott> "oh yeah??? well this is for breaking word 98's menu code!!!!!"
04:40:28 <pikhq> When was the last time Office used native widgets?
04:40:37 <ais523> it did in 3.1, I think
04:40:48 <evincar> Shit, the Model M, best fucking keyboard.
04:40:54 <ais523> that would be, umm Office 4?
04:40:57 <elliott> the model m is not that good
04:41:08 <evincar> If you don't like it, I will hit you with it.
04:41:19 <elliott> there are more durable keyboards :)
04:41:20 <evincar> And then I will rearrange the keycaps to Dvorak and back.
04:41:25 <ais523> I just want my keyboards to not have stupid extra buttons, and to be sensibly shaped
04:41:29 <elliott> the terminal boards are amazing
04:41:38 <zzo38> I think the Model M is not bad. We had it at Free Geek Vancouver for a few weeks and I liked this keyboard
04:41:46 <elliott> ais523: I was about to go "wtf, we agree" but then I realised my definition of "stupid extra buttons" probably includes more than yours
04:41:55 <elliott> and doesn't include useful things like volume control
04:42:15 <ais523> elliott: I'm actually fine with volume control buttons
04:42:22 <ais523> I use fn-3, fn-4 quite a lot on this keyboard
04:42:31 <ais523> although I'll just map them to super-something if they aren't there
04:42:40 <elliott> ah; most people are complaining about media keys when they complain about stupid extra buttons
04:42:41 <evincar> A super key would be nice for Windows, but I do fine without it on Linux.
04:42:43 <ais523> (I have some super-mappings for play/pause, skip forwards, skip back)
04:42:49 <ais523> no, I'm fine with media keys
04:42:53 <elliott> I'm not sure what they do when they want to change the volume, but it's probably slow
04:42:59 <ais523> I'm complaining about large separate buttons with random things on them like "home" or "calculator"
04:43:07 <ais523> oh wow do I hate F lock
04:43:12 <elliott> although a home key could be useful if it did the right thing and was in a non-terrible place
04:43:16 <evincar> And fuck keyboard designers who mess with my editing block.
04:43:18 <pikhq> Media keys are just fine. Most of the other vender addons are terrible.
04:43:19 <elliott> i'm not sure what the right thing is
04:43:28 <pikhq> And fuck the numpad.
04:43:31 <ais523> so we all agree with each other? how often does that happen?
04:43:39 <elliott> well I don't agree that the editing block is sacred >:)
04:43:52 <ais523> although I bet Vorpal will say that he needs his numpad for playing NetHack
04:43:57 <elliott> I'm actually slightly annoyed that I have more than one non-shift modifier key
04:44:01 <elliott> ais523: DON'T PING HIM YOU'LL RUIN EVERYTHING
04:44:03 <ais523> having a numpad doesn't disturb me, but I don't need one
04:44:03 <evincar> I just like having insert in a sane location. Delete does not need to be a double-high key.
04:44:06 <ais523> evincar: he's probably asleep
04:44:08 <evincar> Delete does need to be there.
04:44:22 <elliott> ais523: I'm sure his IRC client is set to wake him up
04:44:29 <elliott> evincar: the editing block is stupid because you have to move your hands to use it
04:44:47 <pikhq> elliott: I use them for browsing read-only things.
04:44:49 <evincar> elliott: Well, that's why I use emacs.
04:44:55 <ais523> not on this laptop, the editing block's squidged in with the other keys
04:45:01 <ais523> although I do C-a C-e quite a lot
04:45:03 <elliott> hmm, "laptops have nice keyboard layouts" -- this surely can't be a very popular opinion I'm holding
04:45:13 <evincar> My netbook has a surprisingly nice layout...
04:45:21 <evincar> ...not nice in the absolute, but tolerable.
04:45:25 <ais523> this one had to compromise a bit, but it's still pretty tolerable
04:45:25 <pikhq> The keyboard layouts on laptops need to be roomier.
04:45:26 <evincar> Especially for a 90%-size keyboard.
04:45:28 <elliott> I kind of want to make @ treat ctrl and alt as identical
04:45:29 <zzo38> I dislike all the extra vendor keys they put on many (not all) keyboards
04:45:34 <ais523> (in particular, ` and \ are near the spacebar)
04:45:54 <ais523> my fingers have memorised this keyboard, though, and they're fine with it
04:45:56 <elliott> and, umm, treat left windows key as a "bring up prompt" button (doubles as an application launcher)
04:45:56 <pikhq> The editing block could easily go, though. Numpad's wasted space.
04:45:59 <elliott> and the right windows key to be compose???
04:46:03 <evincar> Then again, mine's a Lenovo.
04:46:07 <elliott> I don't like ctrl and alt both existing though
04:46:09 <evincar> They care about keyboards.
04:46:11 <elliott> it doesn't make much sense
04:46:20 <elliott> at least with "standard" style shortcuts
04:46:23 <evincar> elliott: Ctrl is for controlling things. Alt is for alternate things.
04:46:24 <zzo38> elliott: Maybe you should just have one key in the system such as CTRL and then have a keyboard mapping program, so that it can map ALT to be another CTRL key if the @ system does not use ALT?
04:46:27 <ais523> treating super and alt as identical would make more sense
04:46:38 <elliott> ais523: well, I could also just make it ignore Ctrl
04:46:43 <elliott> ais523: since it's in the less ergonomic position
04:46:44 <evincar> Yeah, try designing a sane interface standards around those vague definitions, right?
04:46:47 <ais523> because it's much easier to miss one and hit the other, than it is to hit super when you mean ctrl
04:46:53 <elliott> ais523: (fun fact: Alt and Ctrl were swapped originally)
04:47:01 <elliott> I don't know who made the more common key, Ctrl, move to the more awkward position
04:47:02 <ais523> elliott: heh, that would make more sense
04:47:22 <evincar> Ctrl often used to be where Capslock is, next to A.
04:47:24 <elliott> OS X has the command key in the place where Ctrl used to be, which is nice
04:47:31 <elliott> evincar: well, that's more a Sun thing
04:47:34 <ais523> well, what's alt mainly used for? menu and dialog navigation, right?
04:47:35 <elliott> I don't think IBM did that
04:47:47 <ais523> whereas ctrl is used for controlling tty programs, as well as miscellaneous stuff like copy/paste in GUI programs
04:47:55 <pikhq> evincar: That's only traditional on UNIX systems.
04:47:59 <elliott> (umm, you are joking, right?)
04:48:13 <ais523> elliott: who are you laughing at?
04:48:27 <elliott> ais523: <ais523> whereas ctrl is used for controlling tty programs, as well as miscellaneous stuff like copy/paste in GUI programs
04:48:39 <ais523> elliott: GUI users typically don't use ctrl for much
04:48:57 <ais523> most people I've seen click on save rather than using control-S
04:49:08 <elliott> OK, but it's ridiculous to say that using Ctrl to control tty programs is more common than using it for GUI actions
04:49:11 <pikhq> What, do they also not use Alt-Tab?
04:49:21 <evincar> Ugh. It bothers me to no end when I see CS or SE students at my college using the mouse to operate menus for editing commands, *whilst programming*.
04:49:22 <elliott> well, you implied it with the ordering and "miscellaneous stuff"
04:49:22 <ais523> pikhq: they panic if they have more than one program open at once
04:49:26 <ais523> and ask me how to get rid of them
04:49:43 <zzo38> I happen to like the very old clunky IBM PC keyboard. It was very well designed.
04:49:55 <elliott> evincar: meh, don't hate the player, hate the game; in this appropriative analogy, the player is the student and the game is WIMP GUIs
04:50:20 <zzo38> But everyone else complains that it is too loud and all that stupid stuff too, and want all these extra keys and mouse and various things
04:50:22 <pikhq> WIMP GUIs do suck, but it's amazing that they apparently suck *more* for the average user.
04:50:34 <ais523> zzo38: now you've got me imagining a Model M with a touchpad
04:50:36 -!- jcp|1 has joined.
04:50:41 <ais523> what does "WIMP GUI" mean in this context?
04:50:49 <elliott> ais523: window, icon, menu, pointer
04:51:00 -!- jcp has quit (Ping timeout: 246 seconds).
04:51:04 <ais523> I'd seen the abbreviation before but didn't know what it stood for
04:51:08 <elliott> I really don't know who thinks WIMP UIs are intuitive or easy to learn or anything
04:51:14 <elliott> probably power users and people who work at Microsoft
04:51:25 <evincar> But then again, not really.
04:51:26 <ais523> they can be pretty effective once you get to know them
04:51:36 <ais523> heh, I used to use control-shift-B to bold things in Word, for consistency
04:51:36 <elliott> power users because they're used to them, people who work at Microsoft because kool-aid
04:51:43 <ais523> because basically all the formatting commands are on control-shift
04:51:47 <ais523> I was a Windows power user, once
04:52:00 <ais523> not any more, though, I don't properly understand anything later than about 98
04:52:23 -!- jcp|other has quit (Ping timeout: 276 seconds).
04:52:24 <evincar> ais523: Thought it was just Ctrl? Also, word processors make me cry.
04:52:32 <evincar> No sense of typography or layout.
04:52:37 <elliott> I try to avoid Windows power users, they upset me :(
04:52:41 <evincar> You can't control anything.
04:52:49 <ais523> evincar: both control-B and control-shift-B work
04:52:57 <zzo38> evincar: It is why I use TeX now
04:53:00 <elliott> Word's typography is pretty good nowadays, I think
04:53:01 <ais523> control-shift- is more consistent with the other commands
04:53:03 <elliott> since two thousand and seven or so
04:53:17 <zzo38> Using TeX you can control most things if you know how.
04:53:20 <pikhq> evincar: Friggin' HTML's better than WYSIWYG word processors for some things...
04:53:21 <ais523> elliott: the way Word does styles is stupid, I much prefer the OpenOffice.org/LibreOffice approach
04:53:30 <elliott> ais523: possibly, I'm just talking purely in terms of typography
04:53:35 <ais523> most people don't use styles at all
04:53:43 <ais523> I've even seen people indenting with spaces (in a /word processor/)
04:53:44 <elliott> and anyone who thinks you "can't control anything" with Word hasn't used it
04:53:52 <elliott> it has about ten billion formatting options
04:53:55 <evincar> I still tend to write things in HTML at least, TeX if it needs to be fancy. InDesign isn't bad if you have access to it.
04:54:08 <evincar> But that's got a slew of other features/problems.
04:54:10 <zzo38> WYSIWYG is stupid in general I think. TeX works much better I think. I prefer TeX rather than HTML.
04:54:23 <pikhq> elliott: Arguably, the problem is that Word has too many formatting options.
04:54:33 <pikhq> Making it incredibly non-obvious how to make it act reasonably.
04:54:36 <evincar> zzo38: Interactive previews are intuitive. It's making the underlying model clean that's problematic.
04:54:50 <elliott> but lack of control is not its major flaw :)
04:55:07 <pikhq> evincar: Interactive previews are somewhat different from WYSIWYG.
04:55:44 <pikhq> There's no reason your preview has to literally *be* the output.
04:56:06 <elliott> I should really rebind my capslock to something useful
04:56:10 <elliott> umm, /me verifies that he can
04:56:10 <evincar> pikhq: No, I'm talking about actually interacting with the preview, not displaying a preview "interactively" while you work on some other representation.
04:56:13 <elliott> oh good, it's done in software
04:56:19 <ais523> elliott: Ubuntu actually has a menu for caps lock rebinding
04:56:24 <ais523> in the advanced keyboard preferences
04:56:29 <elliott> (the next line explains what I meant if you're psychic)
04:56:34 <ais523> oh, what did you mean?
04:56:39 <pikhq> evincar: Yes, but the WYSIWYG model is based on that not being a preview.
04:56:42 <zzo38> I sometimes want to set up things with macros and that stuff, and other things, and don't want it to change everything as I am typing, or make a macro and then have to manually enter things even though it is a macro if I have changed the macro. Using TeX, editing the macro will change everything that uses that macro. In Word, editing a macro will not change the things that have already been entered.
04:56:59 <evincar> pikhq: No, the WYSIWYG model is based on interacting *solely* with a preview. :P
04:56:59 <elliott> ais523: for a while now, Macs have required caps lock to be pressed for a certain amount of time before it activates; a really, really short amount of time; it's basically meant to avoid accidental presses
04:57:06 <pikhq> evincar: Then it's not a preview!
04:57:11 <elliott> ais523: I was checking it was done in OS X software, rather than at the keyboard controller level
04:57:17 <ais523> and you were worried that rebinding capslock would make that happen to whatever it was rebound to
04:57:23 <elliott> which would impede me rebinding caps lock usefully; probably not much, but it would be enough to stop me mothering
04:57:28 <evincar> pikhq: Of course it is. It's a preview of what you're going to print. Or what you're going to whatever.
04:57:33 <zzo38> I read somewhere, instead of WYSIWYG another way is YAFIYGI (you asked for it, you got it).
04:57:36 <evincar> The topic is word processors, after all.
04:57:59 <elliott> word processors are way too print-focused; after all, paper is obsolete
04:58:01 <evincar> elliott: Stop your mothering.
04:58:22 <zzo38> If I want to preview the file before printing it, I can use xdvi (on Linux) or Yap (on Windows), etc.
04:58:27 <pikhq> elliott: And, more importantly, bad at being print-focused.
04:58:39 <elliott> guys I wanted you to argue with me....
04:59:06 <ais523> elliott: but Word can corrupt a document because it's opened on a computer with a different model of printer
04:59:09 <pikhq> It'd be one thing if it were *merely* pretending everything's paper, but it's pretending everything's paper and then doing ugly shit with it.
04:59:10 <ais523> that's way to printer-focused
04:59:14 <zzo38> Both xdvi and Yap allow zooming in to see the individual dots using the printer's resolution.
04:59:16 <ais523> Word's line-wrapping algo depends on the printer!
04:59:24 <elliott> is that corruption thing true?
04:59:28 <MDude> http://esolangs.org/wiki/Tree [Using L-Systems to make growing tree programs might be nice.]
04:59:32 <zzo38> ais523: And that is dumb!
04:59:38 <evincar> elliott: I love paper books, but they may or may not be more stable than electronic storage.
04:59:50 <evincar> At least they have more graceful degradation when it comes to zombie apocalypses.
04:59:51 <elliott> paper books are dumb and stupid and using them is unpleasant
04:59:58 <ais523> elliott: well, I'm not sure if my sources for it are reliable, but I didn't make it up myself
05:00:14 -!- jcp has joined.
05:00:15 <ais523> and I have first-hand experience of it happening with MS Publisher (which is not Word)
05:00:25 <evincar> elliott: And when there is no more power due to the apocalypse, I will be reading my books by candlelight and you will be trying to beat zombies away with your dead Kindle.
05:00:28 <elliott> does it happen even before you try to print it?
05:00:32 <MDude> I haven't tried eink, mostly because all the devices I know of that have it are all too controlled for my liking.
05:00:36 <elliott> evincar: you make your technological decisions based on the apocalypse?
05:00:41 <elliott> evincar: I have a lot of guns to sell you
05:00:43 <ais523> I don't know about Word
05:01:00 <ais523> evincar: how does reading books by candlelight help you defeat zombies?
05:01:02 <evincar> elliott: Yes. I have faith that the longer we go without killing ourselves, the more likely we are to do so.
05:01:05 <pikhq> elliott: I don't like my books printed in vanishing ink.
05:01:17 <evincar> ais523: Maybe I'm reading the Zombie Survival Guide.
05:01:23 <ais523> I think the action you attributed to elliott (hitting them with a Kindle) is more plausible as a method of beating zombies
05:01:23 <zzo38> It is still dumb to have line wrapping and stuff like that depending on the printer, usually.
05:01:24 <elliott> evincar: and you choose to read fiction on certain media because of this ok
05:01:27 <ais523> at least in the short term
05:01:44 <pikhq> zzo38: Try "moronic".
05:01:45 <MDude> Batteries aren'tt hat hard to make, you just need to be able to refine two different metals with different properties.
05:01:59 <elliott> a zombie apocalypse would be a fun virtual-reality game
05:02:00 <pikhq> zzo38: They can't even use the One True Line-Breaking Algorithm.
05:02:03 <elliott> as long as it cuts out before your limbs get torn off
05:02:03 <zzo38> Maybe it makes sense if you are sending a plain text file directly to the printer, but it makes no sense to change lines and stuff depending on the printer if you are formatting the page layout by computer!
05:02:12 <evincar> elliott: Actually, no. I just like how paper feels, and how ink looks on paper. I like calligraphy and printing.
05:02:18 <elliott> lots of games would be more fun in a virtual reality format, actually
05:02:20 <evincar> But it's fun to shout about zombies.
05:02:26 <elliott> evincar: the whole point of e-ink is that it looks the same as ink on paper, you know
05:02:43 <elliott> i mean... it's electronic paper.
05:03:07 <elliott> the rest of the point that isn't being a dynamic screen is that
05:03:11 <zzo38> pikhq: I have never heard of any "One True Line-Breaking Algorithm". I only know some things about TeX's algorithm and about a simple way where you just put whatever fits on one line
05:03:17 <evincar> That's part of it, sure, but it's also low-power, non-backlit, solid-state...
05:03:42 <pikhq> zzo38: That'd be TeX's.
05:03:44 <elliott> ok, but the point is, "it looks like ink on paper" is not a good argument for books against e-reader type things, because they have that property too :P
05:04:07 <evincar> They're a cheap (actually, expensive) approximation.
05:04:34 <evincar> Much lower resolution, and they don't have nearly the same optical qualities.
05:04:47 <evincar> Good ink on good paper has scattering and texture.
05:04:58 <zzo38> pikhq: I don't completely understand TeX's algorithm (I have read it a few times) but I know what it is trying to do, what the "badness" of a line is, what penalties, what demerits and everythinng else that goes into the calculation.
05:05:06 <evincar> There are subtle irregularities where the ink bled into the fiber.
05:05:11 <zzo38> In general, it works very well.
05:05:21 <elliott> http://upload.wikimedia.org/wikipedia/commons/5/54/Kindle_3_texture_%28crop%29.jpg are these subtle irregularities good enough for you
05:05:38 <elliott> (not that the kindle is necessarily ~the best electronic paper~)
05:06:01 <ais523> I dislike the Kindle for the sort of reasons that are guessable (I don't really like devices as locked down as that)
05:06:19 <pikhq> ais523: Hence my "vanishing ink" quip.
05:06:24 <evincar> That's another good point.
05:06:36 <evincar> Paper is freely accessible.
05:06:40 <elliott> ais523: I never said I liked the Kindle
05:06:42 <ais523> e-ink screens don't look massively similar to paper, but I'm fine with them
05:06:49 <ais523> I never said you liked it either
05:07:01 <pikhq> Pretty common fault in ereaders, though.
05:07:01 <elliott> the pixel qi displays seem promising
05:07:14 <ais523> it's just that this conversation has been "state your opinion on things vaguely related to e-readers", so I did
05:07:19 <elliott> e-readers are stupid, as a separate device to computers
05:07:19 <evincar> And I can wheatpaste paper to the sides of buildings when the revolution starts. :P
05:07:22 <Sgeo> Wasn't some... thing based on pixel qi a bit of a flop?
05:07:29 <zzo38> And paper can be reused, recycle, and so on, too. And if I print out something, and don't need it, I can still use it as spare paper to write on the back, too.
05:07:34 <elliott> OH NO SOMEONE MADE A PRODUCT USING ANOTHER PRODUCT AND IT WAS A FLOP
05:07:39 <elliott> abandoning company forever
05:07:49 <evincar> Abandoning all related products forever.
05:07:57 <ais523> you know what I'm upset at? the demise of dotmatrix printers
05:08:03 <pikhq> elliott: Seems unlikely that eink displays will be common soon.
05:08:09 <elliott> dot matrix is stupid and dumb and loud but the output looks cool
05:08:15 <pikhq> elliott: Though if they do become common, I will be very happy.
05:08:18 <elliott> also they can be used as musical instruments
05:08:21 <ais523> they printed easily well enough to be readable, and apart from print quality are better than inkjet in pretty much every way
05:08:25 <evincar> ais523: Printing things in bold actually just printed them twice so the dots were darker.
05:08:31 <elliott> ais523: that's more inkjet's fault
05:08:34 <ais523> evincar: yep, well not exactly
05:08:37 <elliott> ais523: black and white laser printers should be about fifty times as popular as they are
05:08:52 <evincar> No, not exactly. If it were exact, it wouldn't be any darker. ;)
05:08:55 <ais523> the main reason that I can tell that laser printers are unpopular for home use is physical size
05:08:56 <zzo38> In fact I often use the back of printed pages as spare paper.
05:09:11 <elliott> ais523: umm, they're not all big
05:09:17 <pikhq> elliott: But inkjets are cheap, and consumers don't consider the cost of ink.
05:09:39 <ais523> pikhq: I'm worried, because inkjet marketing people have come across a consistent failing of the majority of humans
05:09:44 <evincar> Proprietary cartridges and all that.
05:09:52 <pikhq> And crack's cheaper than ink.
05:09:54 <ais523> and I don't like seeing evidence that humans are generally easily fooled, even though I know it's true
05:09:58 <elliott> ais523: I can't find the few models I've seen generally recommended, but basically there are consumer b/w laser printers the same size as inkjets
05:10:07 <ais523> elliott: what about weight?
05:10:09 <zzo38> Black and white laser printer is good quality. METAFONT can use high resolutions too, if needed.
05:10:10 <elliott> one of them was a Samsung, IIRC
05:10:13 <ais523> the thing is, they aren't typically sold in places like PC World
05:10:18 <zzo38> Make crack ink printer.
05:10:33 <elliott> ais523: umm, let me try and find one
05:10:46 <elliott> grr, it should be illegal to not list RRPs next to product listings on company sites
05:10:56 <ais523> it used to be that it was cheaper to buy ink if you bought a printer along with it
05:11:00 <elliott> (note: I don't necessarily think this)
05:11:05 <zzo38> What does RRPs means?
05:11:05 <ais523> but they fixed that by making the printers come with only tiny amounts of ink
05:11:11 <ais523> recommended retail price
05:11:20 <ais523> the price at which the manufacturer suggests that retailers sell it for
05:11:27 <ais523> it's typically a bit higher than the price at which they sell it to the retailer
05:11:45 <zzo38> Yes, if the manufacturer suggests prices then they should in fact put it there for public
05:11:46 <pikhq> And doesn't necessarily have anything to do with actual retail price.
05:11:59 * ais523 vaguely remembers trying to work out the tax situation on a chicken and spinach wrap in Canada
05:12:01 <pikhq> (usually does, though)
05:12:13 <ais523> in the UK, advertised prices typically include all relevant taxes
05:12:20 <elliott> ais523: well, this is the cheapest Brother monochrome laser printer, which I've seen recommended a lot; http://www.brother.co.uk/g3.cfm/s_page/215760/s_level/36180/s_product/HL2132U1 -- I'm trying to find the weight now
05:12:34 <ais523> and if you want a tax breakdown, you ask for a separate receipt with it on
05:12:39 <elliott> it's also Compact, and it looks pretty small
05:12:53 <ais523> 6.7kg is pretty heavy compared to small inkjets
05:12:54 <pikhq> ais523: In the US, the relevant taxes can vary, heavily.
05:12:55 <elliott> 368 x 360 x 183 mm, apparently
05:12:59 -!- MDude has changed nick to MSleep.
05:13:06 <elliott> ais523: well, OK; is the weight of a printer its main selling point?
05:13:14 <zzo38> Does anyone still make the old clunky IBM PC keyboard?
05:13:21 <ais523> among people I've observed buying printers, apparently
05:13:24 <ais523> although less important than size
05:13:34 <elliott> zzo38: no, but there's enough of them to be sold for about a million years
05:13:38 <elliott> (not ltierally a million years)
05:13:43 <ais523> elliott: that looks about twice the size of the inkjet we have at home
05:13:49 -!- MSleep has changed nick to MDude.
05:14:00 <zzo38> But I know the protocol is different than modern computers
05:14:01 <ais523> although it's hard to tell from an image
05:14:02 <pikhq> Uh, Unicomp still manufactures the model M.
05:14:04 <elliott> ais523: the one we have here is a combined printer/scanner/"photocopier" (just combination of previous two), so it's huge, and terrible at both
05:14:11 <ais523> pictures may be worth a thousand words, but they're typically the wrong thousand words
05:14:11 -!- MDude has changed nick to MSleep.
05:14:17 <elliott> pikhq: they manufacture a similar keyboard
05:14:25 <zzo38> I don't mean the Model M, though. I mean the much older keyboard.
05:14:28 <elliott> it's not the same as the Model M, in non-pedantic ways
05:14:54 <elliott> zzo38: this is one of the biggest still-manufactured keyboards you'll find: http://pckeyboards.stores.yahoo.net/122keyterkey.html
05:14:59 <zzo38> I mean the one with the function keys at the left.
05:15:19 <elliott> pikhq: well it's not scientific, but sufficiently obsessed people who have tried both definitely say that the customizer is less clacky; I think the springs are different, or maybe their oiling
05:15:31 <pikhq> zzo38: Ah, the XT keyboards.
05:15:31 <elliott> zzo38: yep, the one I linked has that
05:15:36 <elliott> or, hmm, it might be a different kind on the side
05:15:58 <elliott> ugh, stop it, guys, you'll make me into a keyboard nerd again, which I somehow managed to do and get over without having bought a single keyboard
05:16:21 <ais523> is that like the way I know far too much about computer games I've never played?
05:16:41 <elliott> possibly; the trick with me was to be sufficiently obsessed about it that I had to be absolutely sure whatever I bought would be the right choice
05:16:53 <elliott> amplified by the fact that good keyboards are pretty expensive
05:17:03 <elliott> then just sit there marred by indecision for a few weeks until you get bored and do something else
05:17:25 <ais523> that's a bit like me deciding that any girlfriend I would be willing to accept at a girlfriend, compared to not having one, would have to be so unreasonably perfect that there's no point in looking for one in the first place
05:17:30 <zzo38> elliott: No, the one you linked is a terminal emulation keyboard.
05:17:42 <elliott> lament: you could try stopping
05:17:45 <elliott> ais523: see, it works in all areas of life
05:17:53 <lament> ais523: isn't that true
05:18:01 <oerjan> lament: i never hear you say anything except that things suck nowadays
05:18:03 <ais523> lament: well, my standards are pretty high
05:18:18 <lament> i never had a girlfriend because i was waiting for the perfect woman
05:18:26 <lament> turns out, she's waiting for the perfect man :(
05:18:52 <ais523> there's also the problem that the very small number of people who might potentially qualify, probably do so for other people too
05:19:10 <ais523> however, I think there's more than a 50% chance you just made that up to sound poetic
05:19:25 <lament> you're overestimating me, it's a quote
05:20:26 <evincar> Every relationship I've been in has been fundamentally flawed in some way or another.
05:20:45 <evincar> Only difference being that I got out of the most recent one quickly.
05:20:56 <evincar> The important thing is to find someone who's compatibly flawed.
05:20:59 <evincar> Which I have, and I'm happy.
05:23:56 <ais523> hmm, did I just unintentionally compare girlfriends to keyboards?
05:24:54 <lament> both are dirty and unhygienic yet you touch them all the time
05:24:58 <evincar> Only some keyboards have clits.
05:26:21 -!- oerjan has quit (Quit: Good night).
05:27:28 <evincar> Also, no keyboard I've ever owned has made me feel as shitty as any of my ex-(girl|boy)friends have.
05:28:15 <evincar> Nor as excellent? Well, there is programming...
05:28:19 <elliott> hmm, this is definitely going to be a horrible hack, maybe I'll do that esolang instead
05:28:25 <elliott> ais523: how soon do I need to fill that name
05:29:00 <ais523> well, about 99% of a while, by now
05:29:07 <ais523> you've used some of it discussing keyboards
05:29:21 <ais523> I'm not sure, I was approximating
05:29:30 <ais523> it's quite long as whiles go, though
05:30:54 <elliott> I guess blips have to be directional to preserve nice things like symmetry
05:31:02 <elliott> still, it does make the nondeterminism mechanism a bit weird
05:31:59 <zzo38> I also have a new system, unlike @ it uses both CTRL and ALT, but ALT does not have the meaning like on most computers, instead ALT is like another SHIFT like the TOP and GREEK keys on a Space Cadet keyboard.
05:33:56 <elliott> ais523: monqy: http://sprunge.us/iRVi is this nice... is this worth having directionless blips for and thus losing symmetry
05:34:07 <elliott> it still works with directional blips, it's just weird for blips to suddenly change direction for no reason??
05:34:36 <monqy> directionless blips? as in wireworld or something else?
05:34:39 <ais523> it /needs/ directional blips, or there's no way to prevent it from having a chance of going back the way it cam
05:34:46 <elliott> just as in blips travel either vertically or horizontally
05:34:49 <elliott> depending on which way the wire is
05:34:52 <elliott> but it's always right or upwards
05:35:03 <elliott> ais523: no, just one direction is chosen arbitrarily
05:35:13 <elliott> it's hideous but it makes the nondeterminism i showed there ... nicer? kind of.........
05:35:23 <ais523> I mean, how does it know not to go left?
05:35:24 <zzo38> What if you have a tail? The tail can be in space, but I suppose you could also use a time tail instead
05:35:31 <elliott> ais523: because that's the rules
05:35:52 <ais523> oh, up and right only?
05:35:56 <ais523> how do you do a loop, then?
05:36:14 <elliott> you don't, or there might be another type of wire, BUT LOOK OK IGNORE ALL THE PROBLEMS
05:36:25 <elliott> it's sad that i can't have directionless blimps..
05:36:31 <elliott> because it makes the splits nicer :(
05:36:41 <monqy> would wireworld-style blips work
05:37:32 <elliott> they're kind of ugly?? i think, maybe, i don't know
05:38:11 <ais523> elliott: they're head+tail
05:38:27 <ais523> tails are just locations where there was a head the turn before, and they block blips
05:38:32 <ais523> so blips are forced to keep moving the same way
05:39:11 <monqy> I think wireworld blips would work in your example thing I think??? oh wait no. I forgot you wanted 1/2 probablity thing.
05:39:19 <monqy> well they might work but
05:39:23 <elliott> monqy: well it is kind of a cool way to do randomness....
05:39:34 <monqy> i was thinking of them going both ways
05:39:45 <monqy> it would be uglier to make it do random
05:40:15 <elliott> I was going to have an explicit thing to clone blips
05:40:26 <elliott> it would be a different kind of join to +....
05:40:40 <evincar> Totally off-topic: does anyone have any suggestions for out-of-copyright (e.g., Project Gutenberg) texts I should use for voice acting samples?
05:41:07 <monqy> I was thinking |+- were all the same oops
05:41:25 <monqy> like just sugar for each other
05:41:52 <monqy> im too used to wireworld style :'(
05:42:12 <elliott> i want to do something.... different....
05:42:23 <ais523> elliott: make it different from Wireworld, or I'll be annoyed at you
05:42:33 <ais523> interestingly different, that is
05:42:47 <ais523> you should probably allow unboundedly many blips on a square, and make it TC that way
05:42:48 <monqy> brainfuck on wires
05:42:50 <ais523> elliott: no, it's good
05:42:55 <ais523> but it's sub-TC without an infinite program
05:43:15 <ais523> well, it's a cellular automaton, what did you expect?
05:43:37 <elliott> GoL is TC with a finite program, right?
05:44:14 <zzo38> Can you make a time tail to tell which direction to don't go?
05:44:16 <ais523> it's TC with a bounded-nonwhite program
05:44:32 <ais523> as in, the playfield has to be infinite, but only a finite portion needs initialising to nonblank
05:44:40 <elliott> but not the same for wireworld?
05:45:02 <Sgeo> Well, that makes sense, although what if you allow for infinite wire too?
05:45:03 <elliott> I kind of want to make my language not a CA somehow, like maybe a bully automaton???
05:45:06 <ais523> you need a repeating pattern for wireworld
05:45:17 <monqy> what if blips carried code would that be interesting help
05:45:30 <ais523> is the "help" meme a specific elliott/monqy thing?
05:45:39 <elliott> i don't know who started it
05:45:39 <monqy> there was some way to get them to represent code
05:45:50 <zzo38> Try to see if you can make them carried code
05:45:51 <elliott> but it seems to apply to a wide range of situations in my life
05:45:58 <ais523> but it's mostly you two who use it
05:46:07 <ais523> nearly always pinging each other
05:46:09 <elliott> well that's his fault, if it wasn't him, I would be the person who used it
05:46:54 <monqy> elliott: is the state necessarily hidden or otherwise inelegant I cannot tell
05:47:02 <elliott> monqy: well do you want it to like
05:47:09 <elliott> because that would take up a lot of space
05:48:27 <evincar> Crap, as if the Funciton didn't already make me want to make a 2D language, all this talk of cellular automata and Wireworld and whatnot have really sent me over the threshold.
05:48:28 <monqy> I was just thinking maybe making it self-extending/modifying would be interesting but maybe it wouldn't maybe it would ruin it help
05:49:31 <monqy> I may have missed the design goals statement was there ever one
05:57:40 <zzo38> Why do you type "help" after some sentences is the question mark broken on your computer?
05:59:25 -!- lament has quit (Read error: Connection reset by peer).
05:59:55 <zzo38> O, I didn't know that.
06:01:22 <elliott> hmm, "bully automaton" doesn't even seem well-defined
06:02:28 <elliott> what about RUBE makes it not a CA?
06:02:34 <elliott> I realise it's about pushing things around
06:02:42 <elliott> but I'm not sure how that implies non-adjacent changes
06:04:39 -!- elliott has quit (Quit: Leaving).
06:05:17 -!- elliott has joined.
06:06:12 <elliott> I wonder if I should just use one character for wire rather than two (- and |)
06:06:22 <elliott> Can't think of a decent character for it, though; maybe =?
06:06:26 <ais523> elliott: consider dozer crate crate crate crate crate...
06:06:32 <ais523> the dozer moves the rightmost crate as well as all the others
06:06:45 <ais523> CAs don't have that sort of action at a distance
06:07:10 <ais523> (bully automata don't have a "speed of light" in the sense that CAs do, for that reason)
06:07:24 <elliott> CLEARLY THIS ALLOWS US TO SUBVERT THE IRL SPEED OF LIGHT
06:08:07 <ais523> elliott: in real life, it doesn't work because you can't exceed the speed of sound that way
06:08:20 <ais523> (it can be quite high in a sufficiently stiff object, but it's always lower than the speed of light)
06:08:22 <elliott> ais523: you can if you have a fast enough bulldozer
06:08:31 <ais523> no, as in, the speed of sound in crate
06:08:36 <ais523> that's how the speed of sound is defined
06:08:39 <elliott> you just need a fast enough crate
06:08:42 <ais523> if you push one end, the soonest the other end reacts
06:08:51 <ais523> also, I like the phrase "speed of sound in crate"
06:09:01 <elliott> I like "fast enough crate"
06:10:36 <ais523> you probably mean stiff, not fast
06:11:53 <evincar> I'll give you a sufficiently stiff object.
06:12:08 <evincar> To chime in with extremely poor comedic timing.
06:12:35 -!- Sgeo has quit (Ping timeout: 255 seconds).
06:16:53 <elliott> 16:47:13: <itidus20> Well, first of all.. why is there a 1 to 1 association between programming and language
06:16:53 <elliott> 16:47:29: <CakeProphet> itidus20: you'd make a great liberal arts major.
06:17:25 <monqy> 1 to 1 association between programming and language what does this even mean
06:17:53 <elliott> 17:11:09: <itidus20> we speak of turing complete a lot.. but what about CPU-complete? :D
06:18:08 <elliott> 17:12:40: <itidus20> I never shut up.. I am the bane of those who would read the logs
06:18:09 <elliott> 17:13:38: <Phantom_Hoover> itidus20, no, that's elliott.
06:18:09 <elliott> 17:13:54: <Phantom_Hoover> He takes great pride in the fact that he talks twice as much as his nearest contender.
06:18:13 <elliott> it might be more by now, Vorpal doesn't talk any more
06:19:42 <evincar> I should talk more to compete with you.
06:19:46 <elliott> 17:29:57: <itidus20> Taneb: So going back to my point about PC/human. I think what has happened is that everyone in programming has been channeled into a very standard mindset of programming with many unnecessary bonds to mathematics.
06:19:46 <elliott> said like someone who wants to program but isn't any good at mathematics
06:19:51 <fizzie> ais523: What about those "rigid bodies" every physics book has? (Along with the massless ideal springs and other such devices.)
06:20:04 <elliott> fizzie: those sound useful can i have one
06:20:10 <elliott> also can you make that talking over time graph thing again
06:20:13 <elliott> i need to see my dominance............
06:20:24 <fizzie> elliott: I think the physicists keep them locked up somewhere.
06:20:47 <elliott> help, tell the physicists to unleash their irc graphs
06:21:20 <elliott> 17:44:10: <itidus20> so be afraid if they inject you with intelligence medicine, be afraid if they implant a chip in you, be afraid if they hook an EEG machine up to your cubicle
06:21:50 <fizzie> You want a talking-over-time-of-day graph or talking-over-just-plain-old-regular-time-as-in-for-the-last-year-or-so-whatever graph?
06:22:06 <elliott> fizzie: It... was the one that had a lot of misshapen colours piling on top of each other.
06:22:13 <elliott> I think one pixel per hour?
06:22:24 <fizzie> Yes, that's the time-of-day one, I suppose.
06:22:37 <fizzie> The other one had one pixel per 15 days or so in some settings.
06:22:44 <fizzie> I'll see if I can figure out how to use the script.
06:22:46 <elliott> Same thing if you zoom out.
06:22:57 <elliott> I mean you could use the other one if Vorpal looks worse on it.
06:23:17 -!- azaq23 has quit (Quit: Leaving.).
06:23:32 <fizzie> The time-of-day graph takes time modulo a day, the other one doesn't. Anyway, let's see.
06:23:43 <fizzie> die "usage: perldoc $0" unless $network and $chan and $outfile; # ain't that fancy?
06:24:04 <elliott> that's a stupid help message :D
06:24:09 <elliott> omg arcane sentiment is updating reulglarly again
06:24:15 <fizzie> Yes, and the perldoc's out of date too.
06:25:40 <evincar> Obviously, die `perldoc $0` would be better.
06:27:44 <fizzie> "DBD::Pg::st execute failed: ERROR: operator does not exist: logs.etype = integer"
06:27:52 <fizzie> My poor script seems to have bitrotteded. :( :( :(
06:28:08 <evincar> Sigh. Is it so much to ask to have Linux + bidirectional pipes + extra default file descriptors for non-textual console I/O?
06:28:19 <elliott> linux has bidirectional pipes
06:28:20 <fizzie> Maybe this one is an old one.
06:28:33 <elliott> if your shell doesn't provide convenient ways to construct them, that's its problem
06:28:41 <evincar> Most of the time, but with the other thing.
06:28:50 <monqy> what's a good shell
06:29:10 <monqy> are they all bad :(
06:29:23 <elliott> i use bash because i'm lazy, but when i wasn't feeling lazy I used zsh??
06:29:32 <elliott> it is very big and bloated but it felt comfortable.......
06:30:11 <elliott> 19:00:51: <itidus20> basically it seems highly likely in this world of no free lunches that something dear would have to be sacrificed to eliminate software patents
06:30:33 <elliott> itidus20: so if someone introduced mandatory laws for senseless kitten-killing, because "there are no free lunches" it would necessarily cost something important to eliminate it?
06:31:31 <elliott> 19:18:21: <Phantom_Hoover> OK there is a guy in #jesus who is a Wolfram employee and thinks Wolfram is a genius.
06:32:01 -!- Taneb has joined.
06:32:16 <elliott> 20:05:34: <oerjan> <evincar> Why not Xesus? Because Xs are cool (see the 90s).
06:32:17 <elliott> 20:05:51: <oerjan> in that case i think Xristos would be more traditional
06:34:42 <Taneb> Technically it's not an X in Xristos. It's a chi.
06:36:41 <elliott> 21:06:15: <oerjan> <lament> hoogle is even worse than haskell
06:36:41 <elliott> 21:06:30: <oerjan> are we _sure_ someone hasn't hacked lament's account?
06:36:48 <elliott> wait how is that out of character at all
06:36:56 <elliott> oh i'm done with the looges
06:37:00 <evincar> You used Xi instead of Chi.
06:37:11 <Taneb> I was demistrating what it would be if it was an x
06:38:10 <Taneb> Greeks didn't have a v?
06:38:23 <evincar> Inorite is the substance of agreement. Amirite is the substance of desperation.
06:38:42 <elliott> oh, elliottcraft needs inorite
06:38:50 <elliott> ais523: how's elliottcraft(ais) doing
06:38:58 <fizzie> elliott: Okay uh this is based on data from 2008-01-01 until now: http://zem.fi/~fis/foo1.png (and the times are probably EET/EEST).
06:39:01 <evincar> Taneb: Beta used to be [b], but now it's [v].
06:39:08 <ais523> evincar: haven't worked on it for a while
06:39:21 <evincar> ais523: Quit doing that. :P
06:39:23 <ais523> I have the mechanics worked out, I think
06:39:26 <ais523> just don't want to code it
06:39:26 <elliott> fizzie: Um surely not, Vorpal hasn't talked much in ages.
06:39:30 <ais523> evincar: stop talking right after elliott does
06:39:33 <elliott> And... what's with that massive slump?
06:39:43 <ais523> elliott: see, this is the problem with most-recently-spoken tabcomplete
06:39:55 <elliott> ais523: I don't have to tab-complete elliott, so I have no problems
06:40:05 <monqy> I typically type the first two letters manually, then tab
06:40:18 <Taneb> I generally type the whole thing
06:40:22 <pikhq> I like how our sleep schedules appear to be unified.
06:40:24 <ais523> but elliott is typically just e<tab>
06:40:39 <Taneb> I find tabs awkward
06:41:20 <coppro> one thing I dislike about irssi is not having readline-like tabcomplete
06:41:35 <coppro> where it stopes at the first ambiguity, and a second \t lists the options
06:41:41 <Taneb> Because I rotate my hand to get to the tab which puts my thumb above the alt key
06:41:58 <pikhq> You have a freak hand.
06:41:59 <Taneb> Which is fine, but it hurts my wrist a little
06:42:18 <evincar> coppro: I dislike that irssi doesn't have readline-like lots of things.
06:42:33 <evincar> But I gladly use it anyway, because I'm a hipster or something.
06:42:36 <monqy> I use my whatever it's called finget to tab
06:43:14 <fizzie> Even if Vorpal hadn't talked much this year at all, 2008-now still means 2008-2010 accounts for well over three fourths. But here's 2011-only for you if you like to see yourself talk a lot, http://zem.fi/~fis/foo2.png
06:43:36 <evincar> Index finger, fool's finger, leech- or physic-finger, and ear-finger.
06:43:45 <monqy> ear-finger. good name.
06:43:50 <elliott> fizzie: DEFINITELY THINKING THAT THE PER-HOUR THING WILL BE MOST FAVOURABLE
06:44:04 <elliott> Also how does ais523 talk more than PH.
06:44:26 <pikhq> ... elliott is *always* the most talkative person here?
06:44:34 -!- GreaseMonkey has joined.
06:44:34 -!- GreaseMonkey has quit (Changing host).
06:44:34 -!- GreaseMonkey has joined.
06:44:44 <monqy> elliott is very talkative.
06:44:47 <elliott> pikhq: That's a per-day thing though.
06:44:58 <elliott> If fizzie produces a per-hour graph there SHOULD be some shallow spots on it.
06:44:59 <monqy> whoa I just realized elliott is just e<tab> for me that's bizarre
06:45:01 <pikhq> Well, yes, but still.
06:45:24 <pikhq> elliott: http://zem.fi/~fis/foo2.png Uh?
06:45:27 <elliott> pikhq: I think the last time I was not the most active was for the two weeks or so of unit crap
06:45:31 <fizzie> http://zem.fi/~fis/foo2r.png is the relative-talkiness version, basically just scales the total to 1 for each per-minute bin.
06:45:46 <elliott> Managed to still talk the most having only like two to three hours each day on an iPhone keyboard
06:45:56 <elliott> pikhq: That's not a per-hour graph.
06:46:11 <elliott> I was thinking it was chronological.
06:46:40 <elliott> fizzie: Which one's the really wide one? That's non-normalised per-hour, right?
06:47:04 <pikhq> evincar: I'm just slightly surprised I'm not.
06:47:14 <Taneb> I am simultaneously proud, dissapointed, and something else which I can't think of the name to about being in the others
06:47:15 <monqy> I guess I don't talk a lot, or there's some bias, or something.
06:47:16 <pikhq> I didn't think I was *that* talkative.
06:47:20 <monqy> also I do that broken thing too
06:47:24 <monqy> but not as much right now???
06:47:32 <monqy> maybe actually a lot right now
06:47:34 <fizzie> That's the one that's modulo-a-day, yes. I don't think "the wide graph"'s per-hour, that'd be really wide for any appreciable length of time. I'll try to produce one for 2011 or something.
06:47:36 <pikhq> Though, elliott probably makes my point of reference screwy.
06:47:59 <evincar> fizzie: Make one where adjacent statements by the same user are merged.
06:48:07 <elliott> evincar: NOOOOOOOOOOOOOooooooooooOOOOOOOOOOooOOOOOOOooOOOOOOOooooooooooooOOOOOOOOOOOOOOoooooo
06:48:07 <evincar> It'll cut down on the noise.
06:48:13 <evincar> Better yet, go by character count.
06:48:21 <evincar> elliott will still be ranked highly no doubt.
06:48:27 <fizzie> evincar: I think it does go by character count, but I'm not entirely sure.
06:48:31 <pikhq> Anyways, I really like how we seem to have an average sleep period in spite of spanning so many time zones.
06:48:44 <monqy> maybe if the graphy thing started after (person) joined for the first time
06:49:09 <pikhq> I'm UTC-7 (00:50).
06:49:10 <evincar> So it's not terribly late yet.
06:49:15 <pikhq> elliott: Well, yes, you'd think that. :)
06:49:16 <elliott> You must sacrifice your schedule for the sake of the channel.
06:49:34 <monqy> i accidentally let myself age
06:50:11 <pikhq> Your sleep appears to be extraordinarily... Diverse.
06:50:54 <evincar> Not connoiseur. That'd be too classy.
06:51:26 <monqy> sleep (derogatory term for connoiseur)
06:51:32 <evincar> I *always* read "im" as [Im], not [aIm].
06:51:49 <fizzie> Oh no, the other graph has managed to lose all X-axis labels. But http://zem.fi/~fis/foo3.png represents stuff from start of 2011; one pixel equals 4 hours, values taken as averages over 3-day Hamming-weighted windows to smooth the daily /\/\ variation out a bit. There's at least one no-elliott gap there.
06:52:06 <monqy> whenever I say "im", I read it like [Im]. it is a thing I do.
06:52:06 <fizzie> Whoops, that one doesn't merge elliott and elliott_.
06:52:34 <evincar> I am still not on there and this is unacceptable. :(
06:52:43 <evincar> I should come on here at all hours and yammer.
06:52:43 <elliott> How am I active simultaneously with my non-_-self
06:52:46 <monqy> when did you first join does that a difference make
06:52:50 <evincar> Use the logs to take notes for posterity.
06:53:12 <elliott> monqy: I first joined in two thousand and six, first started saying things the second time I came here in the next year
06:53:23 <elliott> Have been annoying everyone since
06:53:26 <evincar> So I had this absurd dream last night.
06:53:27 <elliott> <evincar> Use the logs to take notes for posterity.
06:53:30 <monqy> I meant evincar but okay
06:53:33 <evincar> Which I am now going to talk about.
06:53:42 <elliott> that your dream sounds....
06:53:51 <elliott> I can type a lot faster than you
06:53:51 <monqy> I first joined in 2011 and talked on was it the third day of being here and only after prompted
06:53:56 <evincar> I wasn't aware that I was dreaming
06:54:10 <fizzie> http://zem.fi/~fis/foo3b.png merged the '_' and ''.
06:54:11 <elliott> ok go on but this sounds shit
06:54:18 <Taneb> I came here in 2011 and had fun
06:54:23 <evincar> There was this friend of mine, and this girl, and we were all about eight years older.
06:54:28 <elliott> fizzie: what's with that gap
06:54:32 <elliott> evincar: tell me more please thanks ok
06:54:40 <evincar> And someone suggested a threesome, and we all agreed, but then no one could agree on the mechanics, so we gave up.
06:54:53 <elliott> are all your dreams about threesomes
06:55:02 <evincar> Then she went in another room and when I followed her later I found she'd been eaten from the mid-thigh up by hell-hounds that lived in the closets.
06:55:10 <evincar> And I had to give them a stern talking-to.
06:55:29 <monqy> I think two dreams of mine (and I think the only two I talked about in here) made it into the quote database thing
06:55:50 <monqy> where by quote database thing I mean someone did `addquote on them
06:56:05 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.25498
06:56:21 <elliott> 362) <monqy> I've only watched bad movies about video game. I enjoyed every second of it.
06:57:01 <elliott> oh it was day of the zeptobot
06:57:10 <elliott> 04:32:52: <monqy> I've never seen a bot forget where it put its PRIVMSG before
06:57:30 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.32593
06:58:06 <zzo38> What would it make if you replaced the rule of induction in Typographical Number Theory with the negation? Is it possible to define TNT in Haskell using only the type system? Can you represent even how the variable bindings in TNT works representable in Haskell type system only?
06:58:12 <elliott> 404) <monqy> my most fresh dream is one where I'm at a soup contest and a chicken really wants to participate but he's disqualified so he becomes the judge. when all the soups are done and he's ready to taste them he just stares at the soup and then I become the chicken and I really want to make soup
06:59:26 <monqy> I have not had a nifty memorable dream in too long (i.e. weeks???) :(
06:59:33 <fizzie> elliott: The gap was from March 15th to 25th or so -- http://p.zem.fi/acrb has your per-day lines -- I think it was that [(anti)^n]optbot... thing.
06:59:56 <elliott> That wasn't really about the 'bots, but yes probably.
07:00:04 <elliott> monqy: but will you always remember malaria....
07:00:18 <fizzie> Well, okay; I can't say I was following too closely.
07:00:22 <zzo38> This week I had a dream about pokemon but other than that I did not remember. (But maybe, that is all there is! Is it?)
07:00:37 <monqy> elliott: it's probably not as memorable as a dream i affectionatley refer to as "afro jesus" for reasons apparent to those who know what the dream is (it was a good dream)
07:00:40 <evincar> It occurs to me that "Christ" means "anointed one", as a literal translation of "Messiah".
07:01:09 <monqy> elliott: oh right I remember one time saying in here that in my best dream I died at the beginning. that was that dream. it was a good dream.
07:01:10 <Taneb> I have three more quotes than monqy! Ha!
07:01:29 <monqy> it is complicated and I sort of probably forgot a lot of it :(
07:01:31 <elliott> `delqutoe everything with taneb
07:01:33 <zzo38> evincar: So now you can do that if you make any art of Jesus Christ
07:02:10 <Taneb> Okay, two of the quotes were kinda cheating
07:02:35 <monqy> at least two of mine are cheaty too
07:03:05 <monqy> unless you didn't count those
07:04:40 <fizzie> (Just for completeness' sake, http://zem.fi/~fis/foo3r.png has the relativized version.)
07:05:38 <monqy> anyway the dream I refer to as "afro jesus" started by me being in a car with my family but then bad things happened and it started to bounce and then it fell in water (and I think I died but it is kind of ambiguous)
07:05:45 <zzo38> fizzie: What is that a graph of?
07:06:18 <fizzie> zzo38: It's a graph of how much different people have been talking on this channel during this year.
07:06:27 <monqy> I wake up in a beige shower chamber thing naked so I find clothes and put them on then walk down this corridor and find this group of people walking into this meeting room thing
07:07:53 <elliott> fizzie: I like how I'm fairly competitive with EVERYONE ELSE ON THE CHANNEL COMBINED.
07:08:22 <zzo38> elliott: Well, sort of.
07:08:25 <monqy> I forget what happened in there but then we walked down into this garden/auditorium thing to which a bunch of other people were walking and after a little while this white man in purple robes and with a huge afro walked onto the stage and called himself jesus and said some stuff I forget
07:09:20 <monqy> then he led us into a bathroom and there were paintings on the wall of this guy in dark magenta cloak thing with a bird beak mask and jesus called him death and taught us martial arts so we could fight death and warned us never to be alone or death will find us
07:09:38 <monqy> anyway I forget the rest except the end in which somehow I managed to be alone and then I was death the end
07:10:35 <monqy> I also have other dreams and I even remember some of some of them too.
07:11:23 <elliott> definitlrey hte best dream.
07:11:28 <zzo38> I have also had dreams whatever I remember I recorded and I also recorded other people dreams they told me about
07:11:52 <monqy> like one time I was walking around the world (which was incidentally concave) a bunch of times and then I ended up on a beach and it was getting stormy and there was this tall blue building so I went into it and then got into the elevator and there was a phone on the elevator and my parents called me and tried to convince me I was on drugs
07:12:02 <fizzie> elliott: It looks slightly worse for you if we count characters instead of lines -- http://zem.fi/~fis/foo3rc.png (though I'm not entirely certain the character-count went right)
07:12:34 <elliott> fizzie: I'm still king, yo.
07:12:52 <monqy> elliott: I don't know
07:13:01 <zzo38> monqy: Yes I have recorded that one you wrote on here before
07:13:21 <monqy> I don't record my dreams. maybe I should. :(
07:13:39 <zzo38> OK. I do record both my own and others. That is, if I can.
07:14:17 <zzo38> I also had a dream that there was a new game, it was a maze with signs that said "Retro" and if you hit one of the signs you lost the game. Someone was trying to do something bad with that game, so I tried to break what they were trying to do with a laser, but they immediately fixed it, so I used an ancient Greek gun, which would have permanently stopped them had I aimed properly.
07:14:55 <monqy> in the malaria dream I actually only told a very small part of it, such as to make a good punchline, but the whole of the part I remember of the dream is much better
07:15:28 <zzo38> Some of my dreams partially involve indescribable things, so I do not describe those parts.
07:15:34 <monqy> I'm going to school but the car breaks down so I walk and there's this big glass museum so I figure I should go inside to see what time it is to make sure I'm not late
07:16:07 <monqy> I look around, and all the digital clocks all spell "malaria", and the analogue clocks all point to "malaria", and then there's this dancing skeleton who look's like he's bad cgi
07:16:39 <monqy> his eyes were all glowy red and stuff
07:16:51 <evincar> I'm off to bed to dream crazy things because of this.
07:17:05 <elliott> i have never had a dream this good
07:17:12 -!- evincar has quit (Quit: I hope you're happy.).
07:17:38 <monqy> everyone thinks he's evil so they run outside and I do too, but then I start dancing along and then his eyes turn cyan and he started playing using a ghost jumprope and he gave me half of a really big ghost jumprope but I am awful at jumprope so I just slammed it against the ground a lot and danced with him
07:17:51 <monqy> then someone taunted him or something and he turned red and did his evil dance again
07:18:19 <monqy> I think he was just misunderstood
07:18:23 <monqy> and wanted people to love him
07:18:30 <monqy> but they didn't because they misunderstood him
07:19:02 <Taneb> CGI skeletons are your friend
07:19:09 <Taneb> Just like Jason and the Argonauts
07:19:53 <zzo38> There is some story someone once made up. A clock maker once entered his store to find all the clocks showing a different time. The television signal was too fuzzy to see the time. So he called his wife. His wife looked at the clock and it just said "OK OK OK OK OK" (both the digital and analog clocks did that). So he called the police. The police first said why do you bother me just to ask me the time? That is stupid, so he looked and saw that
07:20:06 <elliott> monqy: tell more dream story......
07:20:21 <monqy> elliott: i was writing one but i am pausing to read this dream
07:20:23 <zzo38> He called the prime minister. The prime minister's clock had the same problem. He called everyone. Everyone's clock had the same problem.
07:20:34 <Taneb> I had a dream where I was in this mediaeval country and I married the king's daughter
07:20:43 <elliott> zzo38: cut off at " do you bother me just to ask me the time? That is stupid, so he looked and saw tha"
07:20:52 <Taneb> The king got pissed off at my and forced me to marry his other daughter too
07:20:55 <zzo38> t his clock also just says OK OK OK OK OK OK OK
07:21:03 <Taneb> Then disowned both of them and forced me into exile
07:21:14 <monqy> ok so I'm in this treehouse and see these policemen talking to children and filling out red papers and then one of them looks at me at eye level (maybe he grew big legs???) and reminds me it's native american appreciation day (continued on next line)
07:21:20 <Taneb> So I lived with two wives in a pretty awesome treehouse that had a jacuzzi
07:21:37 <zzo38> It was sunny nowhere except for the North Pole, so nobody could make a sundial to figure out the time.
07:21:53 <monqy> so he starts quizzing me on stuff but he's near incomprehensible and pronouncing everything wrong and when I tell him I don't understand he gets all mad and yells at me about how I should appreciate native americans more
07:21:54 <elliott> oh my god its like amazing dream christmas for me
07:22:08 <elliott> monqy learns about his internalised racism
07:22:28 <monqy> and I sneak a glance at the red paper and there's this disability grid pyramid thing and I am classified as having hearing problems and not appreciating native americans
07:23:37 <Taneb> My friend's uncle or somebody (some relative) calls tomatoes redskins
07:23:45 <Taneb> Or called. He may have died
07:23:47 <monqy> trying to remember more good dreams
07:24:40 <monqy> I almost remember one but nope :(
07:24:44 <zzo38> I had one dream: I was going to play Dungeons and Dragons, and they had a lot of radio machines and stuff for Dungeons and Dragons that we didn't have the equipment for.
07:25:10 <zzo38> There was different sections in different chapters, a compartment to put audio tapes in, a radio transmitter, a few rooms for puzzlement and some boxes on the bottom to keep creature types in. I was unable to figure out why it didn't work. And then I realized that it needed electricity to keep the creature types in the boxes, so I put batteries in and then the machine(s) worked.
07:25:29 <zzo38> It also had to be connected to a VCR, but the only reason for the VCR was to indicate the amplitudes. The VCR was connected to a TV. The TV had no use, neither did the audio tape compartments. Suddenly I arrived at my grandparents house and the machines were interfering with the TV so I turned it off.
07:26:08 <monqy> ooh I remembered one but it's kind of not very happy
07:26:22 <zzo38> Does my things ever make any sense to you?
07:26:27 <elliott> monqy: that is ok, zzo38 yes
07:26:42 <monqy> so I was at the library with my parents and we were leaving but my mother just ran out to the car and drove off without us and my father just disappeared
07:27:16 <monqy> I guess I knew my grandmother was at a nearby beach with my sisters so I walked over there to find her
07:28:13 <monqy> she was sitting at the top of this inflatable slide thing and when I climbed up I found she was wailing about wanting to die and stuff and when I tried to convince her that that was a bad idea and she should take me home instead she stepped and fumbled on the bouncy and laned on a baby and killed it
07:28:23 <monqy> both her and the baby
07:29:03 <elliott> monqy has some internalised issues
07:30:05 <elliott> pikhq: what if i wrote a haskell binding to fltk....none exist....
07:30:39 <monqy> another dream: I was with a friend who isn't really a friend but my parents force me to pretend he is and we were at one of my one of my sisters' school and it was night and my parents were doing some unpacking or packing or something
07:30:47 <elliott> i haven't even really used fltk but it might be nice I guess????
07:31:21 <monqy> he opens this bag of doritos or something and I forget what happens next but then my dad sneaks up and gets all mad about us doing drugs and yells at me and chases me but eventually we go home
07:31:37 <elliott> monqy: can i be you.... and have dreams.... that you have...
07:31:58 <monqy> next day, at grandparents house, he tells me we should talk, so i follow him; one of my sisters starts following, but he doesn't want her to follow, so he splashes water in her face and she stops
07:32:32 <monqy> while going down the hallway he grabs me and takes me into the bathroom then locks the door and strangles me while yelling about what a disappointment I am
07:33:01 <elliott> so last time i said it i was joking about the internalised issues thing
07:33:59 <zzo38> Someone told me they once had one dream where it ended in credits.
07:34:16 <monqy> another dream all I remember about it is my dad chased me around the house and shot at me with a rifle
07:34:24 <monqy> ooh I just remembered another dream
07:34:35 <elliott> monqy: is your dad nice........
07:34:42 <elliott> also does this next dream involve your dad trying to kill you again
07:34:44 <monqy> he maybe kind of scares me
07:35:27 <zzo38> This is someone else's dream, someone I know personally, and who told me: The doctor asked me if I had been to the moon. I said no. The doctor asked me to prove it. He said he could not help me if I could not prove that I had never been to the moon.
07:35:51 <monqy> ok so I'm at a theatre and I leave and then this guy in black with a limo tells me my whole family died and i have to come with him so i did and he takes me to foster care where this foster fother will foster father me and also this girl
07:36:09 <zzo38> How do you prove that you had never been to the moon? What is the best way to do so, if at all?
07:36:56 <monqy> anyway day ends, I wake up in a bed with him and the girl and it's inferred that he raped us both and I start freaking out a lot and I think "maybe this is a dream" but then I realize it's not a dream because it is too realistic and freak out even more
07:37:08 <monqy> I run to a phone and try calling for help but the phone is really irc and then i realize it is a dream
07:37:15 <elliott> i like how your dreams are getting progressively more disturbing.
07:37:40 <elliott> do you need a therapist i have the phone book open
07:38:29 <elliott> i wish i had cool dreams :(
07:39:44 <zzo38> I realize if a dream is a dream about half the time. Sometimes even when things are illogical, and I do not realized it is illogical and stuff while I am sleeping, I only realized when I woke up. Sometimes I have dream inside of another dream in another dream in another dream. I think once I had a dream where it changed every time I blink.
07:40:16 <monqy> I've had a few dreams within dreams but I think I forgot them all
07:40:40 <zzo38> I also forgot the specifics in those cases (if there are specifics, that is)
07:42:13 <monqy> I think in at least two dreams I've been in a hotel made of glass
07:42:38 <monqy> one of them was in a disconnected nearly-forgotten part the malaria dream
07:42:58 <elliott> i really really want internet-networked dreams
07:43:08 <elliott> like you just connect with a program
07:43:13 <elliott> put on some sort of head thing
07:43:16 <zzo38> Another dream of someone I know personally and who told me: The microwave timer was close to zero and was counting down normally, there was only a few seconds left, yet it never reached zero even in a few minutes. So, I tried to push stop, but it still continued. So, I unplugged it, which also didn't help. So I opened it and then got microwaved and died
07:43:26 <elliott> and all your brains make up a multiplayer dream together
07:43:32 <monqy> that would be amazing
07:43:35 <elliott> and it records it somehow for you???
07:43:47 <elliott> so that when it mixes all your dreams together
07:43:51 <elliott> it also adds a computer with irc access??
07:43:58 <elliott> so you can be even more incoherent than usual
07:44:00 <olsner> I think I saw a movie about that
07:44:13 <zzo38> I doubt that is possible but you can think about it if you want to.
07:44:31 <monqy> I remember there were also two other disconnected parts of the chicken/soup dream but i can't remember anything about them other than their existance
07:44:49 <elliott> but yeah multiplayer lucid dreams = literally the best?
07:44:54 <monqy> I think one of them invovled a hotel shop, and the other a theatre
07:45:01 <coppro> think of the sex you could have
07:45:21 <monqy> oh I remember another dream now
07:45:25 <elliott> if i ever become a genius neuroscientist-programmer
07:45:39 <zzo38> elliott: If you do, then you can try to make something like that if you want to.
07:45:39 <elliott> i'm going to make it cut the dream off whenever anyone starts to have sex just to ruin it for about 90 percent of the population
07:45:45 <elliott> HA HA HA I CONTROL YOU ALL
07:46:01 <elliott> ONLY CONNOISSEURS CAN EXPERIENCE THE MULTIPLAYER DREAMS
07:46:22 <zzo38> But don't force everyone to use everything if you don't want to do so, and also don't force yourself to control it if it is someone else's copy of the program/equipment
07:46:26 <monqy> I was back in elementary school but I knew I had already left there or something so maybe there was time travel involved and I was going in the haunted house but then I tripped and these girls jumped out and raped me oops
07:46:38 <monqy> (these were girls i knew from elementary school oops)
07:46:40 <elliott> recurring themes in monqy's dreams:
07:46:50 <monqy> i maybe have problems????
07:47:02 <monqy> I think I remembered another dream but then immediately forgot it
07:47:38 <coppro> zzo38: I am availablee now, although it is late.
07:47:39 -!- sebbu has joined.
07:47:39 -!- sebbu has quit (Changing host).
07:47:39 -!- sebbu has joined.
07:47:44 <monqy> it was part of a really big dream that I like entirely forgot
07:48:08 <coppro> I will be up for a while still in order to pull a move in BlogNomic
07:48:22 <zzo38> coppro: Yes I know it is late. But still, have you read it? I even added some stuff since earlier today
07:48:37 <monqy> anyway I was in these underground passageways thing and then this ke$ha impostor appears and tries to seduce me but I run away and then her body turns into a spider and she climbs on the walls and chases me and then I run home and tell my irc friends about it (that was part of the dream)
07:49:07 <elliott> <elliott> recurring themes in monqy's dreams:
07:49:22 <coppro> zzo38: can you please link again?
07:49:46 <zzo38> coppro: OK. https://devlabs.linuxassist.net/projects/texnicard/wiki/Dangelo_Programming_Language Same URL as before, but some additional contents.
07:49:47 <elliott> monqy: i'm curious did you just realise you have problems now in the course of telling these dreams
07:49:52 <elliott> it's a lot funnier if the answer is yes so can it be yes
07:50:19 <monqy> i don't really think i have problems but maybe i do
07:50:22 <monqy> does that make it funnier
07:51:02 <monqy> oh right and a lot of my dreams involve roadtrips but I think I've forgotten most of those
07:51:17 <elliott> how many road trips have you been on
07:51:26 <monqy> like maybe 2 but they were both awful
07:52:02 <monqy> but the big 2 are the probably the reasons i have the dreams
07:52:02 <elliott> do monkeys usually go on road trips
07:52:27 <zzo38> When reviewing, I realized I had a few dreams involving pokemon in some different ways, at different times.
07:52:29 <monqy> last summer and the summer before my family dragged me to ohio in a car road trip to be with relatives etc
07:52:35 <monqy> and I guess I have nightmares about this now
07:52:52 <monqy> ohio the usa state
07:53:09 <monqy> for roadtrip length, imagine me starting in california, because that's where i live.
07:53:54 <elliott> oh you are from califroania THIS XPEXPLAINS EVERYTHING.........
07:54:00 <monqy> what does it explain help
07:54:15 <elliott> i don't know aren't people from california meant to be weird isnt that like the tsrereoroeoteotoertoeotosertotsoertype
07:54:32 <monqy> everyone I know is pretty boring
07:54:36 <monqy> then again I don't know people
07:54:40 <zzo38> I had one dream where the driver of a subway train drove backwards because she is a druid.
07:55:27 <zzo38> ... (You drive backwards because you are a druid?) ??
07:57:06 <monqy> I'm afraid I'm all out of dreams I remember :(
07:57:14 <monqy> remember sufficiently to be interesting
07:57:21 <monqy> or that aren't horrible embarrassing
07:57:39 <monqy> actually I guess maybe they aren't
07:57:45 <monqy> but whatever I don't like them
07:58:26 <monqy> oh I just remembered a really early dream I had
07:58:30 <monqy> my first nightmare, I think
07:58:35 <monqy> from when I was a very little kid
07:58:45 <elliott> im not sogood memroisrsoies,
07:58:45 <zzo38> I had other dreams although some of them are indescribable or have other reasons to don't say, including requiring extremely long description or being too mad to you or something else I don't know
07:59:37 <zzo38> But if you want to, you can review everything I have recorded: http://zzo38computer.cjb.net/misc/weird_dream/dream.txt
07:59:46 <monqy> ok so I was visiting my nextdoor neighbors house which was like a mansion in this dream and everything turned black and their dozens of cats turned into alligators/crocodiles/idontrmemenber/help and were in dishwashers and chased me in the dishwashers
08:00:19 <monqy> a very profound dream
08:01:25 <zzo38> Do you sometimes use the word "help" as if it were a question mark? (I don't know for sure)
08:02:07 <monqy> were it a question mark I think it would be incorrect in most cases
08:02:16 <monqy> incorrect if you're not me???? HELP????
08:02:36 <monqy> I just remembered another dumb small dream I had
08:02:44 <zzo38> Maybe in most cases, but maybe not in all cases.
08:02:56 <monqy> I was in rainbow land and there was this pool of rainbow goo and I touched the rainbow goo and then I melted into rainbow goo
08:03:29 <elliott> (im trying to write a pogrom)
08:03:32 <monqy> sometimes I die in dreams and it always feels the same. it actually kind of feels good. melting into the rainbow goo felt like death, if i recall correctly.
08:04:04 <monqy> it's been a while since I died in a dream though so I forget exactly how it feels
08:05:09 <elliott> is this how your religious beliefs work
08:05:21 <monqy> i dont think i have religious belifes
08:05:37 <monqy> it is just how diyeng feels like in dreams for me??
08:06:04 <monqy> sometimes my dreams have afterlives and other weird stuff too
08:09:44 <monqy> apparently I've also told you guys about the bootleg garfield dream, which i happened to forget until now
08:10:02 <monqy> dream.txt is very educational
08:10:51 <monqy> well either that or someone else had the same dream which is real spooky
08:12:49 <olsner> probably pretty common to have the same dream as someone else at some time
08:15:44 <monqy> apparently I've also previously described the walking around the world and blue building on a beach one. I found this out by grepping for garfield in the logs, though.
08:16:02 <elliott> ?pl \x -> signalDisconnect <$> liftIO (widget `on` event $ x)
08:16:03 <lambdabot> (signalDisconnect <$>) . liftIO . (widget `on` event)
08:16:40 <elliott> ?pl \widget event -> fromAddHandler $ fmap signalDisconnect . liftIO . on widget event
08:16:40 <lambdabot> ((fromAddHandler . ((fmap signalDisconnect . liftIO) .)) .) . on
08:16:45 <elliott> ?pl \event -> fromAddHandler $ fmap signalDisconnect . liftIO . on widget event
08:16:46 <lambdabot> fromAddHandler . ((fmap signalDisconnect . liftIO) .) . on widget
08:18:51 -!- Taneb has quit (Ping timeout: 260 seconds).
08:22:07 <zzo38> monqy: Most likely, I have recorded it when you have typed it somewhere that I have read it. Although it is also possible someone else has the same dream.
08:22:24 <zzo38> But it would seem unlikely that to be the case.
08:22:25 <monqy> zzo38: i found it in the logs. i must have just forgotten describing it
08:23:10 <monqy> the thing about using a phone and the phone being irc was also me, apparently. I was describing just the ending of the dream in which my family died and then I got raped
08:24:23 <zzo38> The file does have stuff that isn't yours, though. So you can read that other kind of stuff too!
08:24:46 <monqy> it's great i bookmarked it
08:24:47 <zzo38> Some of it are attempts to describe my own dream.
08:29:41 -!- Taneb has joined.
08:30:12 <monqy> I remember in at least one of my dreams I figured out it was a dream and tried convincing everyone else in the dream that it was a dream but they didn't listen, which frustrated me.
08:32:11 <elliott> pikhq: that FLTK idea sounds good :-P
08:32:23 <elliott> gtk is doing bad things :(
08:34:32 <ais523> elliott: what was that esolang you're designing called? it's scrolled past the end of my scrollback, which is pretty long
08:34:52 <elliott> ais523: jonny something f asterisk asterisk k
08:35:17 <monqy> My name is Johny, what the F**K?????
08:37:05 <zzo38> monqy: That happened to me too once where I figured out it is a dream and the other people did not believe me
08:38:26 <zzo38> Do you know how to encode Fermat's Last Theorem into Typographical Number Theory?
08:44:00 <elliott> ugh, this is supremely ugly
08:44:59 <zzo38> Did you know your messages can even be received in the middle of a WHOIS response?
08:47:13 -!- zzo38 has quit (Quit: I think I will rest now. I have to rest too.).
09:02:01 <lambdabot> forall a b (f :: * -> *). (Functor f) => b -> f a -> f b
09:02:05 <lambdabot> forall a (f :: * -> *) b. (Functor f) => a -> f b -> f a
09:03:27 <monqy> (how did i remember that i've never even used the function)
09:09:15 <elliott> wow there is something fucked about this
09:14:03 <Taneb> He is being accosted by ninjae
09:15:58 <monqy> i do not know how to help so i need help helping help
09:20:10 <elliott> ?undo \m ps -> do x <- m; set ps x; return x
09:20:10 <lambdabot> \ m ps -> m >>= \ x -> set ps x >> return x
09:20:13 <elliott> ?. pl undo \m ps -> do x <- m; set ps x; return x
09:20:14 <lambdabot> (. flip (ap . ((>>) .) . set) return) . (>>=)
09:20:25 <elliott> ?. pl undo \m ps -> do x <- m; set x ps; return x
09:20:26 <lambdabot> (. flip (ap . ((>>) .) . flip set) return) . (>>=)
09:35:44 -!- itidus21 has joined.
09:35:54 <elliott> eek, now there's two of 'im
09:36:23 -!- itidus20 has quit (Ping timeout: 240 seconds).
09:36:56 <elliott> Could not find module `Data.Map':
09:36:56 <elliott> It is a member of the hidden package `containers-0.4.0.0'.
09:36:56 <elliott> Perhaps you need to add `containers' to the build-depends in your .cabal file.
09:36:56 <elliott> Use -v to see a list of the files searched for.
09:47:44 -!- yorick has quit (Ping timeout: 240 seconds).
09:48:05 -!- yorick has joined.
09:50:08 <Taneb> Well, my MIBBLII programming is getting better
09:50:28 -!- ais523 has quit (Remote host closed the connection).
09:51:17 <Taneb> I now end up with λnfx.f(nx) when I try to do a successor function rather than λnfx.f x (f (f x))
09:55:39 <elliott> Deewiant: It's not really containers' fault
09:55:44 <elliott> Deewiant: It's the cabal file being wrong
09:56:00 <elliott> I mean, I get that they're example programs and not part of the library, but if they build automatically they should have their dependencies in roder
09:56:52 <elliott> It's missing some other files too
09:59:19 -!- monqy has quit (Quit: hello).
10:01:15 -!- FireyFly has joined.
10:04:22 <Taneb> +,[[++-]+] is the church-numeral succ function in MIBBLLII!
10:07:58 -!- PatashuWarg has joined.
10:18:00 -!- FireyFly has changed nick to FireFly.
10:22:11 <lambdabot> forall a (f :: * -> *) (f1 :: * -> *). (Applicative f, Functor f1) => f1 a -> f1 (f a)
10:22:24 <elliott> lambdabot: you should really omit the kind signatures, they're noisy
10:24:03 <elliott> > fmap pure [0,9,0] :: [Maybe Int]
10:24:08 <elliott> coppro: I generalised that for you.
10:24:29 <elliott> coppro: Disclaimer: Generalisation may not necessarily be a good idea. :p
10:24:45 <Taneb> I am somehow now regretting uninstalling Internet Explorere
10:25:36 <elliott> Taneb: I doubt you actually uninstalled it
10:25:42 <elliott> You might have removed a shortcut or two :P
10:25:48 <elliott> (Uninstalling IE is somewhat painful)
10:25:56 <coppro> how goes our freenode GRF
10:26:03 <elliott> The new system isn't up yet, is it?
10:26:16 <coppro> why would I bother caring about that?
10:26:25 <elliott> Because you're asking questions about it?
10:26:32 <Taneb> No, I uninstalled it
10:26:47 <elliott> Taneb: You really didn't, unless your Windows Explorer also doesn't work.
10:27:05 <elliott> Fully uninstalling IE involves ripping about five DLLs out of the Windows folder at the very least
10:27:23 <elliott> The "uninstallation" mechanism provided by the add/remove OS features dialogue just removes the shortcuts
10:27:28 <cheater__> > let r = "re" ++ r in "Internet Explo" ++ r
10:27:30 <lambdabot> "Internet Explorererererererererererererererererererererererererererererere...
10:27:36 <elliott> And maybe iexplore.exe, but that's just a thin shell around the DLL.
10:28:04 -!- BeholdMyGlory has joined.
10:28:31 <cheater__> i think www.ubuntu.com has an internet explorer deinstaller
10:29:28 -!- Taneb has quit (Remote host closed the connection).
10:35:31 -!- Taneb has joined.
10:35:51 <Taneb> Opera installer: only needs Opera closed, takes seconds.
10:36:16 <Taneb> IE installer: needs a whole bunch of things close, makes IRC crash, takes ages, and needs me to restart
10:36:46 <Taneb> *shrug* I use Chrome.
10:36:52 <Taneb> I just like to keep my options open
10:37:55 <PatashuWarg> > let a = "a" ++ a in "here comes another chinese earthquake " ++ a
10:37:57 <lambdabot> "here comes another chinese earthquake aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...
10:38:11 <PatashuWarg> > let br = "br" ++ br in "here comes another chinese earthquake " ++ br
10:38:13 <lambdabot> "here comes another chinese earthquake brbrbrbrbrbrbrbrbrbrbrbrbrbrbrbrbrbr...
10:40:25 <Taneb> Firefox installer: really good
10:40:39 <Taneb> Also, firefox.org is spam
10:41:24 <elliott> I forget which one Quadrescence has his little band of idiots in
10:41:39 <NihilistDandy> elliott: Sort of, yes. And Quadrescence doesn't seem to talk much
10:42:27 <coppro> k ima win blognomic this week
10:42:36 <elliott> Yeah, Libster is the guy who trolled weakly here for about three days and then got banned after he decided to spam.
10:43:01 <elliott> dixon was banned for clogging up the channel with bullshit and harrassment with Quadrescence for an entire day... and CESSMASTER's been here, but I don't think for very long or anything.
10:43:41 <elliott> Don't know that name. But I think I'll avoid the place. :p
10:43:45 <NihilistDandy> Or rather, he claims to find me insufferable, so that's my natural reaction
10:44:33 <elliott> Is #math terrible because it lacks TRWBW or good because it lacks TRWBW, I know absolutely nothing about them other than that they're controversial
10:44:40 <elliott> oklopol likes him, I seem to recall coppro having an opinion on him
10:45:29 <cheater__> #math is terrible for having had TRWBW at all
10:45:44 <elliott> cheater__: So he's as unto an immaculate god, then.
10:46:33 <cheater__> elliott: i think #python aspies::TRWBW == golden paint :: mother lode
10:46:41 -!- GreaseMonkey has quit (Quit: The Other Game).
10:47:36 <elliott> It is quite remarkable how far along the path to decency a person could get just by taking the opposite of whatever you say. I guess it has to be restricted to the few coherent statements, or that's not really well-defined.
10:48:37 <cheater__> but is it then provably closed under multiplication?
10:49:15 <NihilistDandy> Depends how multiplication's defined in the group, I suppose.
10:49:49 <cheater__> it's pretty much x (DACHGESCHOSS) y
10:50:20 <NihilistDandy> Then yes, I think the proof is obvious, and I leave it as an exercise for the reader.
11:33:00 -!- boily has joined.
11:38:36 <Taneb> I HAVE A WORKING MIBBLLII CAT PROGRAM!
11:41:50 * elliott briefly considers tempting copumpkin into optimising something to unsafeCoerce; decides to not Summon the Beast.
11:42:14 <Taneb> IT'S SO SIMPLE AND ELEGANT
11:50:27 <Taneb> Arrgh, stupid Python data hiding
11:50:53 <Taneb> It's doing exactly what I don't want it to
11:53:17 <cheater__> well then it just sounds like it's doing exactly the right thing, modulo being exactly wrong
11:54:39 <Taneb> The bad thing is, what it's doing is exactly right
11:54:58 <Taneb> I want to access a global variable from the middle of a function
11:56:17 <elliott> put that at the top of the function
11:56:29 <elliott> python makes no distinction between variable declaration and variable assignment because van rossum is a moron
11:57:03 <CakeProphet> variable declaration in Python? no such thing.
11:57:16 <elliott> CakeProphet: yes there is, otherwise no variables would exist.
11:57:25 <elliott> they are simply declared automatically if you try to assign to a variable that does not exist.
11:57:50 <elliott> (where "exist" means "exist in this scope")
11:57:58 <elliott> (whereas reading a variable automatically ascends scopes because lol python)
11:58:03 <CakeProphet> I don't really see how that is a meaningful declaration, but okay, that's fine.
11:58:44 <CakeProphet> so I can "declare" variables at runtime in Python, I guess?
11:59:05 <elliott> CakeProphet: more or less everything in Python happens at runtim
11:59:28 <CakeProphet> ..yes... I know how that works. I am just fuzzy on what it means to declare a variable then.
11:59:34 <CakeProphet> if it apparently means nothing in the case of Python.
11:59:38 <elliott> s/declare/create/, if it makes you happier
11:59:51 <elliott> "inserting into a hash table", if you want to think about things from an implementation point of view
11:59:54 <CakeProphet> I think of a declaration as a static thing.
12:00:37 <CakeProphet> to catch typos and related errors statically instead of at runtime.
12:00:45 -!- itidus21 has changed nick to itidus20.
12:00:51 <CakeProphet> type errors as well, in the case of static typed languages.
12:01:49 <elliott> that's a very dynamic-language pov.
12:02:04 <CakeProphet> elliott: actually I think local variables are stored in an array and the compilation stage transforms local variables into indexes?
12:02:08 <elliott> admittedly, so is the idea of declaring at runtime, but I was simply analogising there because Python is a clusterfuck
12:02:35 <elliott> CakeProphet: indeed, the "implementation point of view" (i.e. don't tell me what it does, just tell me how it does it) is rarely how things actually happen.
12:02:57 <elliott> see also: C is a bad fit for current CPUs
12:03:00 <CakeProphet> that sounds counterintuitive to me, but okay.
12:03:12 <elliott> well, it is; it's a bad way to view things
12:03:18 <CakeProphet> since it's the... implemtnation point of view. I would expect it to reflect the, uh, implementation.
12:03:46 <CakeProphet> maybe there's the "right implementation point of view, and the wrong ones. :P
12:04:13 <elliott> Well, if you really want to know How It Works, you need to start studying microcode.
12:04:16 -!- Phantom_Hoover has joined.
12:04:44 <CakeProphet> it's a good idea to know what's going on a layer below though, whatever that means.
12:04:45 <elliott> Then accept the hashtable explanation as an abstraction. :p
12:07:16 <CakeProphet> I wonder what would happen if Java added a dynamic keyword
12:08:35 <fizzie> You just need to say "dictionary" instead of "hashtable" and then it immediately sounds more abstract.
12:08:36 <CakeProphet> it will statically error if you try to access a method that is not declared as part of Object, I believe?
12:08:56 <CakeProphet> er is method dispatch a runtime error in Java? Can't recall.
12:09:09 <elliott> CakeProphet: ((Foo)obj).x()
12:09:21 <elliott> If you want duck typing then you need reflection, I think.
12:09:30 <elliott> Why you'd want such a thing I can't fathom.
12:09:38 <Taneb> I've had a thought
12:09:41 <CakeProphet> you just need laxer compile time errors for duck typing.
12:09:54 <elliott> Another "dynamic" view of the world.
12:10:07 <CakeProphet> if we are talking about dynamic language constructs
12:10:08 <elliott> Type errors and the like aren't additional checks that you can just remove and have everything work out. :p
12:10:16 <Taneb> Combinaroty logic is like a program followed by input, which returns another program and input, which is then executed
12:10:17 <elliott> (Otherwise you couldn't do any sort of optimisation based on static guarantees.)
12:10:21 <elliott> And Java is a static language, so.
12:10:37 <CakeProphet> yeah I wasn't saying it was practical from an implemtnation point of view.
12:11:50 <CakeProphet> Haskell allows Dynamic by actually making it statically typed, so that it can still optimize, though not as much?
12:12:22 <elliott> Dynamic is basically (void *) bundled with run-time type information.
12:12:41 <elliott> | typeOf def == t = unsafeCoerce v
12:12:49 <elliott> CakeProphet: No. data Dynamic = Dynamic TypeRep Obj
12:13:50 <elliott> which is just a type that can hold any algebraic data-type value.
12:13:55 <elliott> (Or can it hold non-ADT things too? Maybe? I forget.)
12:14:09 <CakeProphet> wouldn't it need to be part of Typeable or something?
12:14:18 <elliott> CakeProphet: What would need to be part of Typeable?
12:14:46 <elliott> Any is just an opaque value.
12:14:54 <elliott> You can only get things in and out with unsafeCoerce.
12:14:56 <lambdabot> Not in scope: data constructor `Dynamic'
12:15:03 <elliott> Dynamic is not a constructor.
12:15:14 <lambdabot> forall a. (Typeable a) => a -> Dynamic
12:15:41 <elliott> The Typeable constraint is because of the requirement for a TypeRep, of course.
12:15:48 <elliott> Without which Dynamic would not be able to do the checks that make it safe.
12:15:59 <elliott> CakeProphet: What do you mean?
12:15:59 <CakeProphet> how did you get this constructor that doesn't exist.
12:16:10 <elliott> Well, it's not an /exposed/ constructor.
12:16:19 <elliott> I was providing the implementation details you were interested in.
12:16:28 <CakeProphet> ah okay, thus why you can't give Any an actual type. got it.
12:17:02 <lambdabot> Not in scope: type constructor or class `GHC.Prim.Any'
12:17:10 <elliott> lambdabot does not let you access such modules.
12:17:18 <elliott> Anyway, there is no instance for Num Any.
12:18:19 <CakeProphet> are you sure you're not making stuff up? :P
12:18:46 <elliott> http://www.haskell.org/ghc/docs/7.0.3/html/libraries/ghc-prim-0.2.0.0/GHC-Prim.html#t:Any
12:18:59 <elliott> If lambdabot let you access GHC.Prim, then you could do all sorts of bad things.
12:19:08 <elliott> Well, maybe not without MagicHash.
12:20:06 <elliott> (Oh, and Any does not actually have one type argument as given there; nor is it a data-type. That's a limitation of the tool used to generate the fake Haddock source file.)
12:21:32 <elliott> There's a reason the module is called GHC.Prim.
12:23:10 <elliott> It is also not a type synonym; it is just a type.
12:23:26 <elliott> The only way to get an Any value is with an unsafe coercion.
12:24:04 <elliott> It is, of course, totally safe.
12:24:31 <elliott> data Dynamic = Dynamic TypeRep Obj
12:24:31 <elliott> What would Dynamic look like without Obj?
12:24:38 <elliott> CakeProphet: There is no a argument.
12:24:40 <elliott> <elliott> (Oh, and Any does not actually have one type argument as given there; nor is it a data-type. That's a limitation of the tool used to generate the fake Haddock source file.)
12:25:33 <CakeProphet> or however forall works in a constructor declaration...
12:25:45 <CakeProphet> forall a. Dynamic TypeRep a looks nicer to me
12:27:04 <elliott> See the guarantees at http://www.haskell.org/ghc/docs/7.0.3/html/libraries/ghc-prim-0.2.0.0/GHC-Prim.html#v:unsafeCoerce-35-; also this comment in Data.Dynamic's source:
12:27:09 <elliott> -- Use GHC's primitive 'Any' type to hold the dynamically typed value.
12:27:09 <elliott> -- In GHC's new eval/apply execution model this type must not look
12:27:09 <elliott> -- like a data type. If it did, GHC would use the constructor convention
12:27:09 <elliott> -- when evaluating it, and this will go wrong if the object is really a
12:27:11 <elliott> -- function. Using Any forces GHC to use
12:27:13 <elliott> -- a fallback convention for evaluating it that works for all types.
12:28:11 <elliott> (I'm not sure that definition will break in practice, but it's certainly not guaranteed to work by unsafeCoerce's stringent list of safe uses, and I would expect the runtime representation to be less necessarily predictable in the long-term than with Any.)
12:32:14 <elliott> Deewiant: "Other uses of unsafeCoerce# are undefined. In particular, you should not use unsafeCoerce# to cast a T to an algebraic data type D, unless T is also an algebraic data type. For example, do not cast Int->Int to Bool, even if you later cast that Bool back to Int->Int before applying it. The reasons have to do with GHC's internal representation details (for the congnoscenti, data values can be
12:32:15 <elliott> entered but function closures cannot). If you want a safe type to cast things to, use Any, which is not an algebraic data type."
12:32:22 <elliott> Deewiant: Beyond that, beats me; I'm no expert on GHC's evaluation model.
12:33:14 <Deewiant> Right, that just pretty much restates the same thing.
12:33:31 <elliott> Deewiant: Well, you now know it involves entering.
12:33:50 <Deewiant> Yes, I suppose that's quite an improvement.
12:35:07 <fizzie> Breaking and entering.
12:36:25 <CakeProphet> more like an entering and breaking I would say.
12:37:34 <CakeProphet> is this safe: unsafeCoerce (typeRef, x) :: Dynamic
12:37:50 <Vorpal> <fizzie> Even if Vorpal hadn't talked much this year at all, 2008-now still means 2008-2010 accounts for well over three fourths. But here's 2011-only for you if you like to see yourself talk a lot, http://zem.fi/~fis/foo2.png <-- err, looks like I'm number 2 in that graph? Yet you said I hadn't talked much?
12:38:23 <elliott> Vorpal: Later graphs diminished that a lot more recently.
12:38:40 <elliott> I was the one saying you haven't been talking, though.
12:39:31 <fizzie> Right; I just assumed so for the sake of the argument; thus, "if you hadn't talked".
12:40:27 <fizzie> It only lists top 8, due to not actually having any more specified colors.
12:40:57 <Vorpal> guess I will have to be more active to not drop off the chart
12:43:01 <elliott> (f :- fs) <*> (x :- xs) = f x :- (vecSizeIsNat xs $ vecSizeIsNat fs $ fs <*> xs)
12:43:11 * CakeProphet sulks over fizzie not allowing him to have arbitrary metric by which to compare himself to other people and promptly creates a Wikipedia account.
12:43:26 <fizzie> Vorpal: When counting the number of characters (as opposed of lines) in http://zem.fi/~fis/foo3rc.png you are no longer #2; ais523 and oerjan pass you. Still, #4 is perfectly respectable too. (That one's for 2011 too.)
12:44:20 <fizzie> I have one script that just exports the activity data into a .json file; was going to protovis out something more customizable, but haven't had the time.
12:44:53 <CakeProphet> because it, uh, makes more sense to do that!
12:45:46 <fizzie> When using a JavaScript-based visualization tool? Uh, sure.
12:45:52 <elliott> I think fizzie is having a breakdown.
12:46:56 <CakeProphet> YAML is better if you intend the files to be human-edited, I guess. JSON is probably a better choice otherwise.
12:48:21 <CakeProphet> but we all know that Python's pickle format is the best data serialization format of all and should be used in all situations regardless of application, environment, or language.
12:50:57 <fizzie> That's a tough pickle.
12:51:38 <CakeProphet> OH HO HO HO HO. I must put on my monocle for this.
12:51:55 <fizzie> "1562 J. Heywood Dialogue Prouerbes Eng. Tounge (new ed.) in Wks. sig. Uiii, Man is brickell. Freilties pickell. Poudreth mickell, Seasonyng lickell. [The exact sense in quot. 1562 is unclear.]" Well, you don't say.
12:52:32 <CakeProphet> the inline-style of YAML is the same syntax as JSON, but if you have newlines and intents in a JSON file it would probably parse incorrectly in YAML.
12:53:09 <elliott> So by subset you mean not a subset.
12:53:31 <elliott> JSON syntax is a subset of YAML version 1.2, which was promulgated with the express purpose of bringing YAML "into compliance with JSON as an official subset."[7] Though prior versions of YAML were not strictly compatible,[8] the discrepancies were rarely noticeable and most JSON documents can be parsed by YAML parsers.
12:53:38 <elliott> Sounds to me like it should be a proper subset, including with whitespace and the like.
12:55:55 <CakeProphet> I don't really see how that works but okay.
12:58:33 <CakeProphet> well if the JSON document contained newlines and indentations wouldn't the YAML parser interpret those as hierarchial structures?
12:58:47 <lambdabot> Phantom_Hoover: You have 6 new messages. '/msg lambdabot @messages' to read them.
12:58:48 <elliott> Not inside of {}s or []s, one presumes
12:59:54 <CakeProphet> fizzie: so you are in fact using YAML. WHERE IS YOUR GOD NOW?
13:02:44 <fizzie> I think I'll put in some mappings with non-unique keys just to make sure it's definitely not valid YAML. ("JSON's RFC4627 requires that mappings keys merely “SHOULD” be unique, while YAML insists they “MUST” be.")
13:03:43 <fizzie> Their reading is that "Technically, YAML therefore complies with the JSON spec, choosing to treat duplicates as an error. In practice, since JSON is silent on the semantics of such duplicates, the only portable JSON files are those with unique keys, which are therefore valid YAML files."
13:03:47 <fizzie> I'm not sure it makes much sense.
13:04:44 <elliott> So you can reject things violating SHOULDs now?
13:05:02 <fizzie> "SHOULD: This word -- mean that there may exist valid reasons in particular circumstances to ignore a particular item, but the full implications must be understood and carefully weighed before choosing a different course." Well, I've carefully weighed the full implications of accidentally using YAML, and decided that I must ignore the item, since I see no other way to make the JSON non-YAML.
13:05:02 <elliott> Sweet, mcmap becomes invalid every time I forget to fix a stupid fucking warning.
13:05:46 <elliott> I should finish that anonymous entity tracking, six days late.
13:06:03 <fizzie> Oh, it had a deadline?
13:07:34 <fizzie> IEEE Spectrum: "Photon Recycling Boosts Solar Cell Efficiency" -- remember to recycle all the photons you use at home.
13:08:25 <fizzie> I'm sure you should get at least five or so uses out of a good-quality photon.
13:08:44 <CakeProphet> though to be proper you would want to remove those duplicate keys.
13:11:11 <elliott> <fizzie> Oh, it had a deadline?
13:11:17 <elliott> Well, I started work on it with the intention of finishing it at the same time.
13:15:06 <Vorpal> fizzie, photon recycling?
13:15:13 <Vorpal> what on earth is it really
13:16:29 <Vorpal> fizzie, was it you who said braid had no replay value btw?
13:16:45 <fizzie> Vorpal: I didn't look at the details, but they seem to bounce some photons around for a second round or something as intuitive.
13:16:52 <Vorpal> not strictly true, turns out there are two different endings. One is insanely hard to get though.
13:17:36 <fizzie> Vorpal: And yes, I've done both, although admittedly I had to look at some guide-dang-its for the other one.
13:18:08 <fizzie> Vorpal: Incidentally, obligatory Assembly 2011 main-hall panorama, http://users.ics.tkk.fi/htkallas/20110805_001-007.jpg
13:18:15 <Vorpal> fizzie, yeah I found one star on my own, then went like "wtf". I would never have spotted the one that involved waiting for that slow cloud...
13:18:57 <fizzie> The one that's done by manipulating the puzzle pieces was a bit annoying, I had already locked those things during the first play-through.
13:18:58 <elliott> So is Braid's supposed nuclear bomb metaphor thing heavy-handed because I might just skip it if it is.
13:19:01 <Vorpal> fizzie, nice. Reminds I have photos for a pano on my camera that I need to transfer to my computer...
13:19:16 <fizzie> "A California start-up's photovoltaic device generates every bit of energy it can from the sun's rays, by sending light particles that reform from electron-hole pairs for a second pass. The photon-recycling maneuver has yielded a solar cell array that is 28.2 percent efficient--the best solar-to-electrical-energy conversion rate ever produced."
13:19:24 <Vorpal> note: that pano was hand held. In rain.
13:19:27 <elliott> fizzie: Is that lighting arrangement healthy. :p
13:19:28 <Vorpal> no way to tell if it will work out
13:19:38 <Phantom_Hoover> <elliott> So is Braid's supposed nuclear bomb metaphor thing heavy-handed because I might just skip it if it is.
13:19:43 <Vorpal> <elliott> So is Braid's supposed nuclear bomb metaphor thing heavy-handed because I might just skip it if it is. <-- is that official?
13:19:55 <Phantom_Hoover> It's a really, really, reeeeaaaalllly hard-to-find easter egg and a quote at the end.
13:20:22 <Vorpal> well doing pano stitching will pass the time when I wait for that guide-dangit cloud
13:20:55 <fizzie> I think on my first attempt I managed to miss the cloud. (Wasn't actively using the computer.)
13:21:28 <Phantom_Hoover> Really hard-to-find as in to get it you need to find 3 completely unmarked and unadvertised stars, one of which requires you to wait for about an hour for no reason in a particular spot, then on the final level there's a more-or-less explicit acknowledgement of the metaphor.
13:21:30 <Vorpal> fizzie, you could reverse time at 8x
13:21:35 <Vorpal> fizzie, so not a major issue
13:21:36 <elliott> fizzie: OK DON'T ANSWER ME FINE
13:22:13 <elliott> "Blow designed the game as a personal critique of contemporary trends in game development."
13:22:19 <elliott> This guy is the funniest asshole.
13:22:29 <Vorpal> I really should try to figure out how to get auto mounting usb devices to work when not using a graphical login manager... I guess it is some consolekit crap or such
13:22:41 <Phantom_Hoover> How can I criticise things.... I know, I'll make a game you can go back in time in!
13:23:12 <elliott> The final world is labeled simply as "1." In this world, time flows in reverse. Rewinding time returns the flow of time to its normal state.[17]
13:23:15 <elliott> Phantom_Hoover: OK how does that actually work.
13:23:18 <elliott> Do things just walk backwards.
13:23:56 <Vorpal> elliott, even if the developer is an asshole (I haven't checked out what he said) the game is quite fun to play IMO.
13:24:49 <Vorpal> also, very little "redo the entire level when failing" since you can just press shift to go back in time a few seconds and try again. (Except in a few places)
13:25:12 <elliott> Phantom_Hoover: I thought you'd beaten it.
13:25:34 <Phantom_Hoover> Vorpal, erm, most of the later levels have time shenanigans in them.
13:25:37 <elliott> "The final level, in which everything but Tim moves in reverse, depicts the princess escaping from a knight, and working together with Tim to surpass obstacles and meet at her home. Tim is suddenly locked out of the house, and, as time progresses forward, reversing Tim's actions, the events show the princess running from Tim, setting traps that he is able to evade, until she is rescued by the knight. T
13:25:37 <elliott> im is revealed to be the "monster" the princess is running from."
13:26:18 <Vorpal> <Phantom_Hoover> Vorpal, erm, most of the later levels have time shenanigans in them. <-- you mean the green glow?
13:27:13 <Vorpal> Phantom_Hoover, the purple glow don't usually require restarting the entire level, just some double-shifting
13:27:22 <elliott> Phantom_Hoover: It's... spoilers for a deliberate non-plot.
13:27:52 <elliott> It's an art game; any discussion of it counts as a spoiler.
13:28:04 <Vorpal> elliott, it is spoiler for a puzzle
13:28:25 <elliott> Not... really? It doesn't tell you what to do.
13:31:01 <elliott> Repeated note to self: Seriously, don't become a "game dev".
13:31:08 <Vorpal> you know how google sometimes put a list of topics on a site below a search result? Tends to be about 4-6 usually... This one had 12. Never seen as many
13:31:37 <elliott> Additional note to self: Seriously.
13:31:53 <Vorpal> blergh the manual on the website is outdated...
13:32:02 <elliott> HAVE I SAID SERIOUSLY ENOUGH TIMES
13:32:10 <elliott> Also fizzie do they actually have lights in that Assembly room.
13:32:35 <fizzie> Sowwy, I was busy unsuccessfully trying to web-purchase a thing.
13:32:45 <fizzie> Yes, they have lights; the lights are on when the "loading doors" are open.
13:32:58 <fizzie> Makes it easier to set up things without a flashlight.
13:34:03 -!- Taneb has quit (Read error: Connection reset by peer).
13:35:17 -!- MSleep has changed nick to MDude.
13:47:19 -!- Taneb has joined.
13:55:17 <Deewiant> elliott: Hey, tup person: is there a simple "delete all generated files" kind of thing?
13:55:32 <Taneb> Is my assumption that a combinatory logic program is like a short program followed by a series of input, which returns a program and input, which is then executed?
13:57:13 <CakeProphet> but then again I don't formally know what combinatory logic is. I've only been introduced to it through Haskell.
14:00:14 <elliott> Deewiant: You're not meant to do that :-)
14:00:45 <elliott> Deewiant: Such a thing would be easy to add unless I'm missing something, it just hasn't been done
14:00:50 <elliott> But you're not meant to do that anyway :-P
14:01:15 <elliott> (Cluttering directories is of course a pain, but that's why the variant things are coming so it can be isolated to a build/ directory or similar.)
14:01:30 <elliott> Deewiant: Because it's unnecessary
14:01:50 <elliott> "make clean" is often required because not every dependency is tracked, e.g. configuration dependencies or the like.
14:01:59 <elliott> Obviously that doesn't apply here
14:02:09 -!- sebbu has quit (Read error: Connection reset by peer).
14:02:13 <elliott> But yeah, my use of tup for Real Stuff is currently blocked on variants coming
14:02:21 <elliott> Apparently it's the next major feature coming, so I'm just being patient
14:02:27 <Deewiant> Yes, I was hoping for an intermediate measure while build directories aren't feasible
14:02:46 -!- sebbu has joined.
14:02:47 -!- sebbu has quit (Changing host).
14:02:47 -!- sebbu has joined.
14:02:55 <elliott> Deewiant: What are you using/thinking about using/using as a test-case to prove that tup sucks it for?
14:03:01 <elliott> Wow that sentence is a bad parser.
14:05:23 <Taneb> Phantom Hoover: possibly
14:08:04 <itidus20> according to the esolang wiki page
14:08:21 <Taneb> This client is awful
14:08:26 <lambdabot> foldl f z (x:xs) = foldl f (f z x) xs
14:08:49 <lambdabot> foldl' f a (x:xs) = let a' = f a x in a' `seq` foldl' f a' xs
14:09:00 <Taneb> Because I'm about to change client
14:09:36 <itidus20> I x = K x y = x; S x y z = x z(y z); the only confusing part here is what x z(y z) can equate to
14:10:01 <Phantom_Hoover> Taneb readies himself for the incredible journey that is changing clients.
14:10:46 <itidus20> heh.. you're asking that question to the wrong person.
14:11:05 <itidus20> first of all it appears that I wants one operand, K wants 2 operands, S wants 3 operands
14:11:19 <elliott> Sxyz is sugar for ((Sx)y)z.
14:11:43 <elliott> It is just tree rewriting; (SK)I reduces to (SK)I because it does not fit the form Ix, (Kx)y or ((Sx)y)z for any x, y, or z.
14:12:01 <elliott> Anything that doesn't fit one of those three patterns is simply left unreduce.
14:12:20 <itidus20> nevermind.. i am nowhere near understanding it :D
14:13:40 <itidus20> well... i will figure it out in my own time
14:14:44 -!- Taneb_ has joined.
14:14:59 <Taneb_> Phantom_Hoover, this client appears decent
14:15:06 -!- Taneb has quit (Quit: using sirc version 2.211+ssfe).
14:15:13 -!- Taneb_ has changed nick to Taneb.
14:15:38 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
14:18:49 <CakeProphet> itidus20: you can think of it as string rewriting.
14:19:40 <itidus20> Identity "test" = "test"; Konstant "test" "two" = "test" :D
14:20:04 <elliott> What are you doing this is immoral.
14:20:21 <itidus20> Application "test" "two" "three" = "test" "two" ("test" "three")
14:21:08 <CakeProphet> I read all of the Homestucks. All of them.
14:21:21 <Taneb> I also read all the Problem Sleuths
14:21:52 <CakeProphet> you can't really appreciate Problem Sleuth unless you read it in a very hard-boiled manner.
14:22:18 <Taneb> I read Problem Sleuth in the most hard-boiled manner of all.
14:22:29 <Taneb> I read it in an egy thign [sic]
14:24:03 <elliott> I remember that too IN FACT I REMEMBER GETTING PHANTOM_HOOVER TO READ HOMESTUCK
14:24:10 <Vorpal> fizzie, Know any non-tiff format that can handle 16 bits per channel and might be viewable in a browser.
14:24:24 <CakeProphet> I remember conceiving elliott with his mom.
14:24:24 <Taneb> I got both of them via TVTropes.
14:24:36 <elliott> TGA files commonly have the extension ".tga" on PC DOS/Windows systems and Mac OS X (older Macintosh systems use the "TPIC" type code). The format can store image data with 8, 16, 24, or 32 bits of precision per pixel[1] – the maximum 24 bits of RGB and an extra 8-bit alpha channel
14:24:40 <Phantom_Hoover> elliott, actually, I was bored and I said "hey, I might as well read Homestuck" and then you decided to hijack my attempt because you gave up the last time you tried.
14:24:50 <Vorpal> <elliott> targa <-- hm
14:24:54 <Vorpal> elliott, would firefox display that?
14:24:55 <elliott> Phantom_Hoover: No no because you actually asked me whether it was worthwhile.
14:25:00 <Vorpal> also what would the file size be
14:25:05 <Taneb> Did anyone watch Krd Mndoon and the Flaming Sword of Fire?
14:25:06 <elliott> Vorpal: Find out yourself; and RLE big.
14:25:13 <elliott> Phantom_Hoover: It is close enough ok shut up die.
14:25:16 <Vorpal> elliott, the 8 bit jpeg at 90% quality is 8.5 MB... so
14:26:00 <Vorpal> elliott, well, krita doesn't handle it as far as I can tell. And gimp doesn't do 16 bits per channel. Oh well.
14:26:13 <itidus20> so you can have S S S S K K K K I I I I
14:26:24 <Vorpal> elliott, and the deflate compressed tiff is 107 MB
14:26:30 <Vorpal> a bit too large to upload
14:26:32 <elliott> Vorpal: just use graphicsmagick or w/e to convert it
14:26:37 <CakeProphet> single pitch, single volume square waves. mmmmm
14:26:44 <elliott> Vorpal: RLE will probalby... not be better than deflate though
14:27:15 <Vorpal> elliott, so I guess I'm stuck at uploading a 8-bit tiff
14:27:23 <Taneb> itidus20: that's equivalent to I
14:28:31 <itidus20> don't be fooled into thinking i understand yet
14:28:35 <CakeProphet> itidus20: use lambdabot and type ap for S, const for K, and id for I.
14:28:44 <Taneb> I don't actually understand
14:28:50 <Taneb> I'm just good at pretending
14:29:08 <itidus20> but any sequence of S or K or I forms a valid combinatory logic
14:29:09 <elliott> Haskell can't type all valid SKI terms
14:29:37 <elliott> itidus20: If by combinatory logic you mean combinatory logic expression, yes.
14:29:41 <Taneb> itidus20: But some infinitely loop
14:29:44 <elliott> itidus20: You forgot parentheses too.
14:29:52 <elliott> They have to be balanced of course, and contain something. :p
14:29:58 <Vorpal> fizzie, uploading a new pano
14:30:02 <elliott> CakeProphet: Proof: LC → SKI, LC can't be.
14:30:07 <elliott> Proof of that: Try typing the Y combinator.
14:30:22 <elliott> Obviously a newtype wrapper "solves" the issue but your translation won't do that.
14:30:25 <elliott> Phantom_Hoover: FRIENDS BECOME FRIENDS
14:30:42 <Taneb> Still the same mouse?
14:31:20 <itidus20> Phantom_Hoover: it "was" under the sofa
14:31:51 <elliott> it would be sad if it died
14:32:03 <Vorpal> fizzie, http://whotookspaz.org/~anmaster/images/2011/2011-08-11_kinapark.jpg
14:32:11 <Taneb> Cornflakes are better
14:32:13 <itidus20> ----------(mouse)t[n]----------------------------------------------------------------------------------------------->(mouse)t[n+1]
14:32:30 <elliott> Taneb: oh my;y god mouse eating a cofrnflkaejkljdgflkgfghjkhlfdkjgdfgdflkg
14:32:42 <elliott> Phantom_Hoover: ///////////////
14:33:15 <itidus20> Phantom_Hoover: mice like chocolate
14:33:19 <CakeProphet> elliott: that Perl code evaluates to undef I believe.
14:35:30 <itidus20> toasters tend to get hot every time they're used
14:36:24 <elliott> `addquote <itidus20> toasters tend to get hot every time they're used
14:36:25 <HackEgo> 581) <itidus20> toasters tend to get hot every time they're used
14:36:34 <elliott> Phantom_Hoover: OK but are you feeding it, and is the thing you are feeding it a cornflake.
14:37:41 <itidus20> with the nett effect that it's flesh might have been stripped from it's very bones
14:38:05 <elliott> Phantom_Hoover: How do you manage to not have cornflakes is it a personal failing.
14:38:09 <itidus20> but that would seem to be asking a bit much from the modest toaster
14:38:12 <Taneb> Phantom_Hoover: and we must breakfast?
14:38:15 <elliott> Have you given it cheese I need to rate the friendship possibility.
14:39:02 <elliott> It's a mouse, Phantom_Hoover
14:39:22 <CakeProphet> :t ap (const (ap id id)) (ap (ap (const ap) const) (const (ap id id)))
14:39:23 <lambdabot> Occurs check: cannot construct the infinite type: a = a -> b
14:39:24 <lambdabot> Probable cause: `id' is applied to too few arguments
14:39:24 <lambdabot> In the second argument of `ap', namely `id'
14:40:00 <lambdabot> forall (m :: * -> *) a b. (Monad m) => m (a -> b) -> m a -> m b
14:40:36 <Vorpal> Phantom_Hoover, your toaster must be a large model to be able to fit a mouse
14:40:46 <Vorpal> or the mouse must have been unusually small
14:40:47 <elliott> Have you ever seen a mouse.
14:40:54 -!- copumpkin has joined.
14:41:11 <Vorpal> Phantom_Hoover, yeah mutant ones!
14:41:11 <elliott> Oh wait, Vorpal thinks he's funny by assuming everything is computers.
14:41:22 <elliott> Either that or they just have really small toasters in Sweden.
14:41:35 <elliott> Vorpal: But how do you toast your mice when you want toasted mice.
14:41:58 <itidus20> The mouse presumably dived in the top and twisted and contorted it's body until it was in the side sections of the toaster
14:42:01 <CakeProphet> I've seen some mice here that would not fit in a toaster.
14:42:11 <itidus20> and there it sat eating crumbs
14:42:20 <itidus20> until someone came along and cooked some toast
14:43:02 <itidus20> perhaps it couldn't escape it's prison.. perhaps it just got trapped at the "wrong time"
14:43:05 <Vorpal> itidus20, hm, wouldn't be able to happen in the toaster I have. The holes are small enough that it is hard to even get breadcrumbs to fall out if they get in there...
14:44:06 <CakeProphet> my toaster doesn't have very good lambdas.
14:44:09 <elliott> had a long and happy toaster life
14:44:22 <elliott> it was in a bit where it was shielded from the heat. this is true.
14:45:00 <lambdabot> <no location info>: parse error on input `='
14:45:32 <itidus20> elliott: this is the price of opaque toaster encapsulation
14:46:06 -!- Sgeo has joined.
14:47:50 <CakeProphet> > let t = const; f = const id; or = t; and = f; not = f t in t or f f or f and
14:47:51 <lambdabot> Overlapping instances for GHC.Show.Show (b -> a -> a)
14:47:58 <CakeProphet> :t let t = const; f = const id; or = t; and = f; not = f t in t or f f or f and
14:49:25 <elliott> > const (const (const (const)))))
14:49:27 <lambdabot> <no location info>: parse error on input `)'
14:49:33 <elliott> > const (const (const const)))
14:49:35 <lambdabot> <no location info>: parse error on input `)'
14:49:37 <elliott> > const (const (const const))
14:49:38 <lambdabot> Overlapping instances for GHC.Show.Show
14:54:11 <CakeProphet> man talking about this with English is confusing.
14:56:25 <itidus20> should I feel bad for not understanding combinatory logic? it just seems that when it's entire system can be formally expressed in a few lines then something is askew
14:56:51 -!- Taneb has quit (Ping timeout: 255 seconds).
14:57:06 <elliott> It's not really a system of logic, it's just a simple programming language
14:57:16 <elliott> (With no input or output, admittedly)
14:57:46 <elliott> You may find its presentation in terms of actual drawings of trees and their reductions simpler; that shows the structure and prevents confusion because of parentheses etc., but I don't have a link.
15:01:21 -!- CakeProphet has quit (Ping timeout: 255 seconds).
15:03:01 -!- CakeProphet has joined.
15:03:01 -!- CakeProphet has quit (Changing host).
15:03:01 -!- CakeProphet has joined.
15:03:10 <fizzie> Vorpal: Nice-looking place; but where is it?
15:03:40 <Vorpal> fizzie, a Chinese garden near here.
15:03:46 <Vorpal> well, a few hours drive
15:03:53 <Vorpal> fizzie, it is in an old marble quarry
15:04:00 <Vorpal> let me find it on google maps or something
15:04:20 <cheater__> S (S (S (K S) (S (K K) I)) (K (S I I))) (S (S (K S) (S (K K) I)) (K (S I I))).
15:04:21 <itidus20> elliott: i think the use of syntactic sugar is sufficent to hide what is actually going on..
15:05:19 <itidus20> for example... we are shown: (S x y z) = (x z (y z))
15:05:45 <itidus20> however we are not shown: (((S x) y) z) = (S x y z) = (x z (y z))
15:06:12 <itidus20> (((S x) y) z) = ((S x y) z) = (S x y z) = (x z (y z))
15:06:35 <itidus20> (((S x) y) z) = ((S x y) z) = (S x y z) = (x z (y z)) = ((x z)(y z))
15:07:02 <itidus20> now while i might not understand that..
15:07:12 <itidus20> at least i know i don't understand it
15:07:49 <itidus20> whereas with: (S x y z) = (x z (y z)) i am left to wonder why i don't see anything
15:08:32 <Vorpal> fizzie, having trouble finding the exact spot
15:09:35 <itidus20> is (((w x) y) z) = (((S x) y) z) ?
15:09:37 <Vorpal> fizzie, somewhere around here: http://maps.google.se/maps?q=Kinaparken&hl=en&ll=58.778078,14.958401&spn=0.047338,0.210285&oe=utf-8&client=firefox-a&t=h&z=13
15:10:01 <Vorpal> fizzie, (the search was useless)
15:10:07 -!- Taneb has joined.
15:11:02 <itidus20> perhaps i didnt word that right
15:11:03 <fizzie> "Did you mean: Kronoparken, Karlstad".
15:11:10 <Vorpal> fizzie, yeah useless :P
15:11:22 <Vorpal> fizzie, maybe see: http://www.bastedalenherrgard.se/?nr=10
15:11:35 <Vorpal> fizzie, the garden is just next to that place
15:11:37 <itidus20> I should say... can (((w x) y) z) be rewritten as (((S x) y) z) and (((K x) y) z) and (((I x) y) z) ?
15:12:35 <elliott> itidus20: you can't use any variable names in your program
15:12:40 <elliott> it must just be S, K, I and parentheses
15:12:49 <elliott> the lowercase letters are just there to show how the S, K and I are rewritten
15:13:27 <elliott> (((Sx)y)z) → ((xz)(yz)) simply means that for every expression x, y, and z, (((Sx)y)z) gets rewritten to ((xz)(yz))
15:13:46 <elliott> Phantom_Hoover: NO STOP MURDER,
15:13:54 <Vorpal> fizzie, We were kind of lucky with the weather... When it is sunny, the place tends to be filled with tourists
15:14:45 <elliott> Phantom_Hoover: NO THAT SOUNDS BAD,
15:14:46 <Taneb> I've just had a thought.
15:14:55 <elliott> Taneb: NO MAKE PHANTNOM ANIMAL CRUELTY NO
15:15:07 <fizzie> Vorpal: It looks a bit like one Chinese-style garden at Madeira. (How surprising.)
15:15:12 <itidus20> do (((Kx)y)z) and (((Ix)y)z) both get rewritten as (x) ?
15:15:41 <itidus20> perhaps not though.. perhaps that is uh dependant on what z is
15:15:47 <Taneb> Is it possible to make an SKI combinator both a) halt and b) not take any more operators
15:15:48 <elliott> itidus20: (((Kx)y)z) -- we know that ((Kx)y) is the same as x
15:15:57 <elliott> itidus20: so it becomes ((x)(z))
15:16:06 <elliott> itidus20: but like I said: that isn't a valid expression
15:16:11 <elliott> because x, y and z aren't combinators
15:16:19 <elliott> but yes, for every x, y, and z, that reduction that I showed there holds.
15:16:41 <elliott> (((Ix)y)z) -- we know that ((I)(x)) = x, so it becomes (((x)(y))z)
15:18:01 <itidus20> so in the absence of parenthesis abcdefg becomes ((((((ab)c)d)e)f)g) ?
15:18:17 <elliott> the left side always gets the parentheses
15:19:03 <itidus20> ok not always 2. i just wanted to say starwars
15:19:24 <itidus20> so is ((x)(y)) the same as (xy) ?
15:19:31 <Deewiant> elliott: CCBI's Funge-Space in C
15:19:47 <elliott> Deewiant: Do I smell ... giving up?
15:20:10 <elliott> Deewiant: Don't let the cfungists win; fight back under the constraints of PURE TERRIBLE D
15:20:21 <elliott> So what fancy space is it this time :-P
15:20:30 <Deewiant> Nah, it's just useful for anything that messes with Funge
15:21:26 <elliott> Deewiant: I could be persuaded to work on Shiro :-P
15:21:55 <Deewiant> And would you create a pure Haskell Funge-Space at least as good as CCBI's
15:22:10 <elliott> Deewiant: That was the idea when I was working on Shiro, yes
15:22:39 <Deewiant> And would it work for {Un,B,Tr}efunge-9[83]
15:23:22 <elliott> Deewiant: Well, I don't care about ninetythree really, but it's just like one extra function missing the special-casing of space??
15:23:32 <elliott> Deewiant: But yes, N-dimensionality was the idea.
15:24:08 <elliott> Deewiant: It'll probably just be befunge-98 until the point at which you bug me about it :P
15:24:20 <Deewiant> As-is I think this is cool/useful enough that I might as well make it usable for others
15:24:33 <CakeProphet> elliott: do you want me to like.. start a donation fund for a new keyboard for you?
15:24:44 <Deewiant> I might even do a proper writeup about how it works at some point
15:24:47 <elliott> Deewiant: When's it gonna be part of CCBI, and how fast will it make it
15:24:51 <elliott> CakeProphet: Sending the laptop in in a week or so
15:24:58 <elliott> Deewiant: And what data structure does it use :-P
15:25:21 <Deewiant> elliott: It's the same one as CCBI uses now
15:25:32 <Deewiant> Apart from micro-level stuff I run into
15:26:06 <elliott> Deewiant: WELL I CAN OUTDO THAT
15:26:11 <itidus20> so SI does nothing... SII does nothing... SIIK becomes IKIK ... IKIK becomes KIK which becomes I.. which parts went wrong here?
15:26:21 * elliott cracks knuckles, goes and walks off and does something else insetad.
15:26:33 <lambdabot> forall a b. ((a -> b) -> a) -> (a -> b) -> b
15:26:39 <Taneb> SI doesn't strictly do nothing.
15:26:53 <elliott> itidus20: IKIK = (IK)IK = KIK = I
15:27:02 <elliott> It's just "has no further reductions"
15:27:26 <elliott> itidus20: Congratulations, you now understand a language that can compute anything a computer with infinite memory can :-P
15:27:43 <elliott> Well, given infinite memory to store the expanding SKI string, of course
15:27:50 <itidus20> i wouldn't say i understand it.. but you said it which is close enough
15:28:06 <CakeProphet> yes, just let elliott understand it for you.
15:28:22 <itidus20> so does it always start from the left?
15:28:40 <CakeProphet> not it sometimes starts on the right depending on what mood it's in.
15:29:04 <itidus20> at some point the parenthesis becomes signifigant though eh
15:29:13 <elliott> Deewiant: My main Shiro holdup is having to implement the fingerprints for slowdown, FWIW
15:29:25 <elliott> Deewiant: And undoing the massive performance decrease I got by refactoring to use MaybeT
15:29:40 <Taneb> When it reaches a bracket, that bracket and its partner are removed ish
15:29:51 <elliott> itidus20: Just think of it as a tree: Application (i.e. xy) is
15:30:04 <elliott> itidus20: And the leaves at the bottom of the tree are S, K or I
15:30:14 <Deewiant> elliott: Yeah this "massive performance decrease" business is why it's in C ;-)
15:30:35 <elliott> itidus20: Putting two expressions side-by-side and grouping with parentheses is just notation for describing these trees in one dimension
15:30:51 <elliott> Deewiant: It's not like my runtime was very high before or afte
15:30:55 <elliott> I'm just going by Mycology
15:31:11 <elliott> Deewiant: But anyway, it's not really Haskell to blame here, more the library, I don't even think MaybeT is strict
15:31:30 <CakeProphet> yeah Haskell isn't to blame it's just a language.
15:31:30 <elliott> I'm confident I can achieve a well-performing fungespace
15:31:47 <elliott> CakeProphet: It's not that easy :)
15:31:54 <itidus20> ok thanks. ill let it go there
15:32:27 <CakeProphet> well a 2-d zipper itself isn't completely straightforward.
15:33:18 -!- PatashuWarg has quit (Quit: MSN: Patashu@hotmail.com , Gmail: Patashu0@gmail.com , AIM: Patashu0 , YIM: patashu2 .).
15:33:42 <Deewiant> elliott: I know, I was just being snarky :-P C is for interoperability reasons anyway, depending on language runtimes kinda sucks
15:34:05 <CakeProphet> I can only think of two ways to do it really. One is a zipper of zippers where you have to map the shift operations on every subzipper
15:35:15 <CakeProphet> the other is single zipper but with more directions. up, down, left, right, and the intermediate directions. Actually I don't think that one would work at all.
15:38:41 <itidus20> so on returning from the toilet my mind shifts to a one dimensional trinary cellular automata
15:38:58 <itidus20> and this CA... each cell would be either I or K or S
15:40:23 <itidus20> the problem i suppose would be that it would be a celluar automata with the ability to delete cells from the tape
15:41:23 <itidus20> so.. a CA with insertion and deletion
15:43:31 <Taneb> ...Closer to an L-System
15:44:34 <itidus20> it would be like you could just fold that section of tape into a higher dimension.. but technically.. the CA is an array.. and it could be a linked list
15:45:07 <itidus20> then again I don't see tat idea working very well
15:45:15 <itidus20> but in 1 dimension.... it wouldn't be so bad
15:45:24 <itidus20> in 2 dimensions it would be a royal nightmar
15:45:35 <cheater__> itidus20, interesting, if you rearrange "toilet" you get..
15:45:54 <cheater__> actually if you rearrange "toillet"
15:46:26 <Gregor> Very little good can come from rearranging toilet.
15:46:46 <itidus20> i dont want to take sides though
15:46:55 <cheater__> itidus20, interesting, ternary cellular automata
15:47:23 <cheater__> in fact, i never understood - what's the "difference" between GOL and cellular automata? GOL is just a subset of that, right?
15:47:48 <Taneb> GOL? What's a GOL?
15:48:08 <cheater__> it's what you get when you rearrange "LOG"
15:48:25 <cheater__> (those toilet jokes never end do they)
15:48:35 <Taneb> Game of Life is an example of a CA
15:48:50 <cheater__> what are the rules that specialize a CA specifically into the GOL?
15:49:21 <Taneb> Consider a cell in a Moore Neighbourhood
15:49:30 <Taneb> Each cell has eight cells around it.
15:50:26 <Taneb> If a cell is 1 and has less than 2 1s around it, it becomes 0 next generation
15:51:04 <Taneb> If a cell is 1 and has more than 3 1s around it, it becomes 0 next generation
15:51:07 <itidus20> well suppose you had: -[S]-[K]-[K]-[I]- .. then it would become -[K]-[I]-[K]-[I]- which would become -[I]-[I]- which would become -[I]- .. so this would suggest multiple phases per generation.
15:51:31 <Taneb> If a cell is 0, and has 3 1s around it, it becomes 1
15:51:34 <itidus20> one phase to calculate the [S], one phase to calculate the [K], one phase to calculate the [I]
15:51:36 <Taneb> Otherwise, it stas the same
15:52:24 <Taneb> cheater__: understand?
15:52:28 <itidus20> maybe phases isn't the best way to do it though
15:54:37 <Taneb> itidus20: I have no idea how you can make an SKI CA
15:55:09 <Taneb> Phantom_Hoover: ,[<>][,[<>]]
15:56:57 <CakeProphet> but there would be a lot of ambiguous cases to cover.
15:57:35 <itidus20> so my breakthrough (in my own little world that is) is that a 1 dimensional CA would work well in a linked list implementation and with lots of states rather than just 0 and 1
15:57:47 <itidus20> I suppose it could be done with just 0 and 1 of course
15:57:57 <itidus20> and you would want rules which extended beyond direct neighbors
15:58:21 <cheater__> can't an n-ary 1d CA unwrap to a binary 2d CA?
15:59:02 <itidus20> the aryness isn't really the signifigant thing.. i put too much emphasis there
15:59:17 <CakeProphet> itidus20: a 1-d CA would better be represented by a zipper, which is two linked lists and "center" value.
15:59:26 <CakeProphet> because a linked list only goes in one "direction"
15:59:29 <cheater__> in fact, can't an n-ary k-D CA unwrap to a binary k+1-D binary CA?
16:00:38 <CakeProphet> you have one linked list that goes left and one that goes right.
16:00:50 <itidus20> the idea of inserting and deleting cells is quite signifigant
16:01:01 -!- derrik has joined.
16:02:24 <itidus20> you could have a rule that when it finds [1][1][1][1] it inserts a [0] in the middle thus creating [1][1][0][1][1]
16:02:51 <itidus20> hehe.. and you could have a rule that when it finds [1][1][0][1][1] it could rewrite it as [1][1][1][1]
16:02:57 <CakeProphet> okay so what happens when you have [1,1,1,1,1]
16:03:08 <CakeProphet> itidus20: cool so it just oscilates back and forth
16:04:15 <itidus20> [1,1,1,1,1] would seem to become [1,1,0,1,0,1,1]
16:05:06 -!- derrik has quit (Client Quit).
16:05:30 <CakeProphet> itidus20: wasn't obvious to me. Maybe you need to expand on your rule.
16:05:50 -!- copumpkin has quit (Ping timeout: 252 seconds).
16:06:08 <itidus20> instead of cells... it seems to work at the link level
16:06:54 <itidus20> so [1][1][1][1] means [1][1] on the left side of a link and [1][1] on the right side
16:07:06 <itidus20> so would be actually [1][1]-[1][1]
16:07:52 <itidus20> which means [1][1][1][1] is an ambiguous term for -[1][1][1][1] or [1]-[1][1][1] or [1][1]-[1][1] or [1][1][1]-[1] or [1][1][1][1]-
16:08:45 <itidus20> and in the case of [1][1]-[1][1] it would check the left and right side of a link for 2 [1]'s.. and set a pending insertion of a [0]
16:09:40 <itidus20> so the rules would exist on 2 levels.. link-oriented rules, and cell-oriented rules
16:09:46 <CakeProphet> the linked list itself is not ambiguous it's just (1,(1,(1,(1,()))))
16:10:03 <itidus20> my notation was ambiguous, thats all
16:15:30 <itidus20> so with what i have envisioned.. you could say have [0][0][0][0][0][1][0][0][0][0][0][0][0] and have a rewriting rule [1]- = [1]-[1] which would insert a [1] at the right side of every [1] for the next generation
16:15:54 -!- derrik has joined.
16:17:16 <itidus20> i don't know any real notations.. that is part of the trouble
16:17:51 <MDude> You just lack a proper appreciation for squares.
16:18:09 <CakeProphet> 1:2:3:4:[] is the desugared version that Haskell uses, where : is cons and [] is the empty list
16:18:52 <CakeProphet> though I guess [] is still a special constructor, but not sugar.
16:19:03 <itidus20> then, by [1]- = [1]-[1] i mean [1,*] = [1,1]
16:19:33 -!- copumpkin has joined.
16:20:15 <itidus20> [1,1,*,1,1] = [1,1,0,1,1] and [1,1,0,1,1] = [1,1,1,1]
16:21:45 -!- derrik has quit (Quit: battery!!).
16:24:30 <CakeProphet> itidus20: you don't need to explicitly specify links because there's an implicit link between each element
16:24:57 <CakeProphet> [1][1]-[1][1] is the exact same thing as [1][1][1][1] for a linked list.
16:26:23 <CakeProphet> so your rewrite rules are still ambiguous unless you specify in what order it occurs.
16:26:52 <itidus20> there is probably no practical advantage to inserts and deletions
16:33:47 <itidus20> you should try chocolate as bait
16:37:27 -!- Taneb has quit (Ping timeout: 276 seconds).
16:43:16 -!- Taneb has joined.
16:58:45 <elliott> Deewiant: No thanks for making me look at the Shiro code, it is a bit of a mess
17:08:04 <elliott> copumpkin: How come I'm getting so many mtl/monads-tf conflicts lately, I blame you?
17:08:22 <elliott> copumpkin: That doesn't stop me blaming you
17:08:44 <elliott> I wonder if my instinctual specification of mtl is the Wrong Choice, if monads-tf is so popular now :P
17:13:32 -!- elliott has left ("Leaving").
17:13:38 -!- elliott has joined.
17:14:38 <Phantom_Hoover> I had to get the cat into containment so the mouse would have time to flee.
17:16:16 -!- MSleep has joined.
17:17:16 -!- Taneb has quit (Ping timeout: 260 seconds).
17:20:33 -!- augur_ has joined.
17:21:56 -!- ttm_ has quit (Ping timeout: 260 seconds).
17:22:42 -!- cheater_ has joined.
17:24:06 -!- ttm_ has joined.
17:25:48 -!- Phantom__Hoover has joined.
17:26:05 -!- cheater__ has quit (Ping timeout: 255 seconds).
17:26:05 -!- MDude has quit (Ping timeout: 255 seconds).
17:26:05 -!- augur has quit (Ping timeout: 255 seconds).
17:26:05 -!- Phantom_Hoover has quit (Ping timeout: 255 seconds).
17:26:27 <olsner> so, this #jesus you've all been talking about, will I have fun if I join?
17:28:19 -!- Taneb has joined.
17:31:10 <elliott> #esoteric-jesus is the recommended side dish.
17:31:52 <olsner> hehe, is that about esoteric christianity, or just another #esoteric offshoot? :)
17:31:52 <elliott> Deewiant: Well, Shiro currently runs, slowly, and then dies when testing FIXP
17:32:10 <elliott> Deewiant: I do seem to recall this thing being fast and correct before I started optimising ;-)
17:32:20 <elliott> olsner: latter, ais was getting annoyed :D
17:33:52 <olsner> I wonder if I could set up an IRC client so that it displays #esoteric-jesus and #jesus in the same channel while sending everything I write only to #esoteric-jesus
17:33:53 <fizzie> Soon there will be an #esoteric-x \forall #x \in freenode, it seems.
17:34:02 <olsner> kind of like a spectator mode
17:34:26 <elliott> Deewiant: So, um, does Mycology actually try a negative exponent with R?
17:35:12 -!- sebbu2 has joined.
17:35:12 -!- sebbu2 has quit (Changing host).
17:35:12 -!- sebbu2 has joined.
17:36:27 -!- sebbu has quit (Ping timeout: 246 seconds).
17:37:01 -!- rodgort has quit (*.net *.split).
17:40:03 <Deewiant> elliott: Beats me, run ccbi mycology.b98 to find out
17:40:34 <elliott> Or at least, if it only does so because of a bug in Shiro, then it still gets to the end if I add a check
17:43:24 -!- olsner has quit (Quit: Leaving).
17:43:47 -!- olsner has joined.
17:44:13 <elliott> I wonder if there's a way to get dired to hide "crap" files altogether like .o
17:44:21 <elliott> Rather than just dimming them
17:47:02 -!- rodgort has joined.
17:56:14 -!- MSleep has changed nick to MDude.
18:05:44 -!- Vorpal_ has joined.
18:05:47 -!- Vorpal has quit (Disconnected by services).
18:09:48 <elliott> one point seven seconds to point nine nine seconds
18:09:57 <elliott> just by eliminating typeclass bullshit
18:10:03 <elliott> Vorpal_: hi im work on shiro again
18:10:26 -!- Vorpal_ has changed nick to Vorpal.
18:11:02 <elliott> Vorpal: (to beat deewiant)
18:11:14 <elliott> maybe i'll even put it in a VCS :OOOOOOOOOOOOOOOO
18:12:28 <elliott> not pictured: Vorpals's shock
18:13:27 <Vorpal> elliott, I don't really care *shrug*
18:14:00 <elliott> Vorpal: you say that now.... but when shiro beats cfunge on mycology...
18:15:41 <elliott> funge interpreter in haskell
18:15:55 <Taneb> Funge as in befunge?
18:16:06 <elliott> yes. ninety-eight, though, not the (far simpler) ninety-three standard.
18:19:52 -!- pikhq_ has joined.
18:20:03 <Taneb> Especially p and g
18:21:19 -!- pikhq has quit (Read error: Operation timed out).
18:21:47 <elliott> Taneb: It would be about ten times less tricky than it is without a bunch of edge-cases
18:22:05 <elliott> It took me about four days of constant coding to get it to pass Deewiant's Mycology test suite
18:22:09 <elliott> And that's before any fingerprints
18:23:02 <elliott> http://iki.fi/matti.niemenmaa/befunge/mycology.html
18:23:11 <elliott> or, pretty colours: http://iki.fi/matti.niemenmaa/befunge/mycology-comparison.html
18:23:33 <elliott> also the analogous benchmark suite http://iki.fi/matti.niemenmaa/befunge/fungicide.html (pretty graphs: http://iki.fi/matti.niemenmaa/befunge/fungicide-rankings/index.html)
18:23:43 <olsner> a whole four days? so that's how bad a coder you are then :P
18:24:33 <elliott> olsner: hey, four days isn't bad for about five hundred lines of code written according to a very vague and self-contradictory spec that pass an extremely rigorous test suite
18:24:53 <elliott> well, the lines are plural I guess
18:25:01 <CakeProphet> five hundred lines of Haskell is actually probably more code than in most languages.
18:25:29 <elliott> CakeProphet: that's why I s///'d it :P
18:25:33 <elliott> gotta get credit for my achievement
18:27:20 <CakeProphet> I've got a bid for a project that has about 10k lines of C#
18:27:43 <olsner> hmm, if the language takes so little code, why does the spec have to be so vague and self-contradictory
18:28:33 <elliott> olsner: five hundred lines of Haskell doesn't count as "little code" to me
18:28:34 <Vorpal> <CakeProphet> five hundred lines of Haskell is actually probably more code than in most languages. <-- indeed
18:28:49 <Vorpal> cfunge is something like 10000 lines, that includes fingerprints too though
18:28:51 <elliott> olsner: anyway, because cpressey
18:29:17 <elliott> Vorpal: shiro is about one thousand three hundred lines right now. fewer fingerprints, of course, but I'm working on that.
18:29:19 <Vorpal> and things you get for free in haskell, since C has a poor standard library
18:29:31 <olsner> sounds like I should write myself a funge some day, to see what it's all about
18:29:39 <elliott> Vorpal: You complain about your standard library???
18:29:39 <elliott> -- no portable environment variable module
18:29:48 <elliott> LOOK AT THE HORROR I HAVE TO SUFFER THROUGH
18:29:55 <Vorpal> elliott, lack of Data.whatever
18:30:13 <CakeProphet> let's say I want to write a GUI in Haskell. What are my options? (I believe I've asked this question before...)
18:30:15 <Vorpal> elliott, I mean you can just pull out a b-tree or hash table from some module
18:30:26 <Vorpal> not like C has those in the standard library
18:30:31 <elliott> CakeProphet: gtk, wxwidgets, these are the main ones????
18:30:46 <elliott> the wx binding has a much nicer API, but wxWidgets applications tend to be uglier
18:30:48 <Vorpal> elliott, what about Tk bindings?
18:30:59 <Vorpal> elliott, wxwidgets look better under OS X iirc
18:31:02 <elliott> Vorpal: i don't know of any
18:31:12 -!- zzo38 has joined.
18:31:14 <elliott> just forget about looking nice on os x
18:31:17 <elliott> there's one way to do it: cocoa
18:31:24 <Vorpal> bbiab, going to play adanaxis (fun game)
18:31:34 <CakeProphet> elliott: I want pretty UIs. Also it needs to run off of a flash drive...
18:31:47 <elliott> CakeProphet: well, plenty of prominent programs use wxWidgets
18:32:03 <elliott> it looks basically like Gtk, if you're not discerning; it uses native platform widgets except when it doesn't
18:32:07 <elliott> Code::Blocks is wxWidgets, if you've used it
18:32:21 <elliott> oh, uTorrent too apparently?
18:32:28 <CakeProphet> I'm just wondering if I could package everything as a standalone application that can run via flash drive on Windows.
18:32:43 <CakeProphet> not too familiar with distributing my code...
18:32:51 <elliott> "this MUST be in C:\Windows!!!"
18:33:08 <CakeProphet> I guess it would be fine. I'd need to include the dependencies right?
18:33:24 <elliott> the C library dependencies, yes.
18:33:30 <elliott> GHC statically links Haskell libraries by default.
18:33:35 <CakeProphet> I just don't really know how to structure everything.
18:33:36 <elliott> so basically you'll need the wxWidgets dlls.
18:34:23 <CakeProphet> okay I'll just figure it out when I get to that point.
18:34:36 <zzo38> I just use command-line program in C, and it works OK. It should work in any computer.
18:34:50 <zzo38> If graphical stuff and that kind of things are needed, I can use SDL.
18:35:20 <CakeProphet> I was just wondering where I should put the dependencies and how Haskell knows where they are, etc.
18:35:39 <zzo38> But with Haskell, I don't know very well about it.
18:35:43 <CakeProphet> where the dlls should be on the flash drive.
18:36:01 <elliott> CakeProphet: "Haskell" doesn't know anything. GHC produces standard dynamically-linked executables.
18:36:10 <zzo38> If the program is specifically for Windows you should just use native widgets.
18:36:12 <elliott> On Windows, putting DLLs in the same directory as the .exe file should work.
18:36:26 <elliott> zzo38: the Windows API is quite horrible to use, and I don't know of any Haskell bindings for it
18:36:27 <CakeProphet> okay, but I need the DLL right? GHC needs to know where that is, yes?
18:36:33 <elliott> wxWidgets uses them, though, so it just acts as a layer of abstraction
18:36:38 <elliott> CakeProphet: GHC doesn't. Your operating system does.
18:37:08 <CakeProphet> I apologize for my inexperience with this sort of thing.
18:37:28 <CakeProphet> I mean, when I go to compile my program where should the DLLs be.
18:37:48 <zzo38> Once I used the Windows APIs to create a UserControl in Visual Basic, though. Because, the standard text box does not have Unicode, so I made up a user control that calls the unicode API
18:38:09 <elliott> CakeProphet: you need to install the wx package from Hackage. its build process will involve linking with the wxWidgets DLLs
18:38:12 <zzo38> CakeProphet: I would expect it to work if the DLL files are in the same directory as the main program.
18:38:22 <elliott> you might find http://www.haskell.org/haskellwiki/WxHaskell/Windows helpful
18:39:39 <zzo38> It is true that the Windows API is not that good, but if the program is designed specifically for Windows you can use it.
18:40:07 <CakeProphet> elliott: hmmm, I could also do this is linux right? but still cross-compiling for a Windows system.
18:40:14 <zzo38> (Or if it is designed for not only Windows but also ReactOS, it would also do)
18:40:31 <elliott> CakeProphet: well, probably. you might find building the Haskell wx library painful.
18:40:37 <elliott> CakeProphet: more importantly, you'll need a GHC cross-compiler
18:40:42 <elliott> which might be painful in itself
18:42:05 <elliott> that might be even more painful :-)
18:42:08 <fizzie> Be careful, or you'll accidentally your Windows partition.
18:42:16 <elliott> CakeProphet: you might want to -- brace yourself here, what I am about to say may shock you --
18:42:23 <elliott> CakeProphet: consider using a different language for this
18:43:31 <elliott> CakeProphet: With Python, you could just use Portable Python or any other "USB stick" version, and it comes with Tkinter, which looks... semi-native on Windows (IDLE is Tkinter). that saves you DLL issues and the like, and there's that py[two]exe converter that might simplify it further. of course python is terrible
18:43:59 <elliott> i would poke around tkinter's preference dialogues to make sure you consider tk pretty enough on windows first
18:44:05 <CakeProphet> also, I'm pretty familiar with Python, so that's a plus.
18:44:39 <NihilistDandy> elliott, How did you end up with a keyboard without number keys?
18:44:50 <elliott> NihilistDandy: I wish I knew
18:45:01 <CakeProphet> hmmm, but does a .exe contain hardware specific machine code? How do they run portably on any Windows machine?
18:45:24 <elliott> You realise that all the Windows applications available on the 'net are in .exe form, right?
18:45:39 <elliott> I mean, programming ignorance, sure, but it sounds like you've never used Windows before.
18:45:46 <elliott> CakeProphet: Guess what, Windows only runs on two architecture.
18:45:53 <elliott> One of those architectures is backwards-compatible with the other.
18:46:12 <elliott> Supported platformsARM, IA-32, x86-64 and Itanium
18:46:16 <elliott> Got an Itanium machine sitting around?
18:46:56 <fizzie> NT 3.1 or so ran on Alpha and MIPS too.
18:47:22 <elliott> fizzie: Yes, I know; I've ran an emulated NT four in qemu's MIPS emulato.
18:47:37 <CakeProphet> so really the vast majority of home computers are using the same few architectures.
18:47:39 <fizzie> I recall that project, yes.
18:47:41 -!- Taneb has quit (Ping timeout: 260 seconds).
18:48:05 <fizzie> Yes, everything's a VAX nowadays.
18:48:30 <elliott> Vast majority -- every home computer is an x86 or an x86-64.
18:48:38 <CakeProphet> >_> am I the only one who doesn't know everything about everything related to computing?
18:48:40 <elliott> The error is on the scale of floating-point inaccuracies.
18:48:52 <CakeProphet> you know, out of the non-new, regular people.
18:48:53 <fizzie> elliott: My laptop's a PPC iBook, so shush.
18:49:01 <elliott> Yes. We've been hiding the facts from you.
18:49:25 <elliott> fizzie: So what's Apple's percentage of the market these days? Percentage of that market that's still on PPC? :p
18:49:33 <elliott> fizzie: And it doesn't count as a home computer if you can take it out of your home.
18:49:44 <elliott> Everything under a certain weight is not a home computer because I said so.
18:49:55 <pikhq_> ARM's quite relevant, though.
18:50:02 <zzo38> You can write the programs that does not use floating-point, and then don't have floating-point inaccuracies.
18:50:25 <CakeProphet> really I've never taken the time to learn about old instruction sets, specific points of language specs, compiler internals, and so on.
18:50:26 <elliott> pikhq_: Not as far as home computers are concerned
18:50:28 <fizzie> ARM is not relevant in elliott's weight class. :p
18:50:39 <elliott> fizzie: I'm deeply personally offended by this personal remark
18:50:44 <pikhq_> elliott: Only relevant for smaller devices.
18:51:13 <elliott> What does "life" actually mean, anyway; it seems to mean "this thing that's infinitely greater than all my actual hobbies that I do all the time because I rule"
18:51:27 -!- derrik has joined.
18:51:32 <elliott> Like, I get the intended snarkiness, but it's such a ridiculously self-defeating concept
18:51:39 <CakeProphet> elliott: nah, more like obligations that are time-consuming.
18:51:56 <elliott> I just meant the general snarkiness of "I don't X, I have a life". :p
18:52:06 <elliott> Anyway obligations are for oblongs.
18:52:20 -!- nooga has joined.
18:52:23 <CakeProphet> oh, yeah, that's different from what I was saying. Life is something that needs doing, not something that I have that others do not.
18:52:39 <elliott> you should make sure all your obligations involve old instruction sets
18:52:41 <NihilistDandy> `addquote <elliott> What does "life" actually mean, anyway; it seems to mean "this thing that's infinitely greater than all my actual hobbies that I do all the time because I rule"
18:52:42 <HackEgo> 582) <elliott> What does "life" actually mean, anyway; it seems to mean "this thing that's infinitely greater than all my actual hobbies that I do all the time because I rule"
18:52:43 <CakeProphet> having "a life" is basically referring to a social life. You know, being cool and interesting to other people and stuff.
18:52:55 <elliott> Unnecessary, I HAVE OLD INSTRUCTION SETS AND LANGUAGE SPECS
18:53:11 -!- Taneb has joined.
18:53:21 <elliott> CakeProphet: I'll let you in on a secret: 90 percent of everyone's knowledge is stored on a medium-efficiency but extremely high-capacity storage layer called "Google"
18:53:33 <elliott> Helpfully, it is accessible in almost all situations were IRC is
18:53:42 <elliott> Quick, ask me about goats.
18:54:14 <CakeProphet> Right, but I'm just wondering about the general process of accumulating all of this knowledge. Essentially, in what order do you google things.
18:55:20 <elliott> CakeProphet: "Hey in Haskell what GUI libraries are good" oh well, I know of gtk and wx, maybe there's a qt binding? google "hackage packages" -> http://hackage.haskell.org/packages/archive/pkg-list.html -> Ctrl+F qt -> ok nothing im so right and awesome always haha look at my wisdom
18:55:59 -!- azaq23 has joined.
18:56:01 <CakeProphet> like, I know a lot of things are googled during conversation, but there's a lot of information that's just already known... and I wonder why. Are you reading about a language spec or old instruction set right now, elliott?
18:56:16 <elliott> I _am_ an old instruction set.
18:56:30 <elliott> But, umm, I know a lot about the languages I use a lot :P
18:57:07 <CakeProphet> elliott is a mystical figure of ancient Egyptian computational wisdom cleverly disguised as a young lad.
18:58:31 <CakeProphet> so for the next few days I'm going to be cramming every bit of knowledge off of the internet I can.
18:58:57 <CakeProphet> so that I can impress this potential hirer and maybe start making some money.
18:59:42 <CakeProphet> and then I TOO WILL KNOW EVERYTHING ABOUT COMPUTERS. Or at least all of the boring useful stuff.
19:00:13 <elliott> Meh, don't try and learn anything at all, and then prove you have an actually useful skill (ability to find answers to questions with Google), demonstrate repeatedly for every question given
19:00:20 <fizzie> Start from tvtropes or uncyclopedia or 4chan or some-such, that's where all the useful bits are.
19:00:20 <elliott> (Approach a good one but not necessarily a successful one)
19:01:34 <CakeProphet> elliott: but I won't have time to google everything. That's what work experience does, cuts down on your googling time.
19:01:54 <elliott> Googling takes a noticeable amount of time for you?
19:02:42 <cheater_> > let g = (\(x:y:z) -> [y] ++ z ++ [x]) in reverse $ g $ g $ g $ (\x -> head x : head x : tail x) $ g $ g $ g "toilet"
19:03:13 <elliott> On topics that aren't cheater_'s obsessive fascination with both toilets and me, CakeProphet: have you seen the wonder that is mergeByteString.
19:03:55 <CakeProphet> elliott: but yeah not the actual googling but the total time it takes to read and understand everything for a large project, becomes pretty large. especially when you only have a few days to complete it.
19:04:53 <elliott> CakeProphet: SHIELD YOUR EYES AND GAZE UNTO YOUR /MSG
19:07:49 <nooga> XB IOOOQAEP IOOIQOAI
19:08:04 <elliott> Right now it's just a basic Map, but with row and column population tracking
19:08:26 <elliott> It's going to become a lot more complicated soon
19:08:37 <elliott> Although hopefully that function will be
19:09:11 <CakeProphet> I am still on the first line that isn't the type...
19:09:23 <CakeProphet> but my vision is bad and I really need to stop procrastinating that eye exam.
19:09:23 <elliott> CakeProphet: Basically it started off fairly passable, but then everything was _so_ _slow_, so I just said fuck it and went for efficiency first.
19:10:15 <CakeProphet> are you, folding a tuple? oh, no that's the initial value.
19:10:40 <CakeProphet> I use foldl1 a lot so I forget about the initial value.
19:10:42 <nooga> http://analysis.no.net/
19:10:50 <elliott> foldl1 is bad you shouldn't use foldl1
19:11:18 <elliott> it's only fine to use if your list never ever ever ever has no elements
19:11:23 <elliott> it only supports folding functions of type (a -> a -> a)
19:11:26 <CakeProphet> also IF HASKELL LISTS HAD EMPTY/NON-EMPTY TYPING THEN THIS WOULDN'T BE A PROBLEM IT WOULD JUST CATCH ON COMPILE.
19:11:28 <elliott> which many folds don't meet
19:11:31 <elliott> for instance the one there
19:11:47 <elliott> CakeProphet: they... don't need that, there /is/ a nonempty list type in common use
19:12:01 <elliott> http://hackage.haskell.org/package/NonEmpty hmm or was it under another name, this one looks unupdated
19:12:06 <elliott> whichever one kmett uses :P
19:12:28 <CakeProphet> no I mean have something like List NonEmpty a for the : constructor and List Empty a for the [] constructor.
19:12:53 <elliott> well, that's pointless. why not just have [a] and NonEmpty a?
19:13:03 <elliott> the two types aren't really related, so bundling them together into "List" seems silly.
19:13:14 <zzo38> I think I managed to program the Propositional Calculus into Haskell's type system, although Typographical Number Theory would be more difficult since the way of variable bindings in TNT. But maybe there is a way, but I don't know much about Haskell so I don't know.
19:13:15 <elliott> especially since it makes using lists that you don't care whether they're empty or not really awkward
19:13:56 <zzo38> Is this correct? http://sprunge.us/ZQYd
19:14:08 * itidus20 ponders a remapping of ascii code whereby: 0='0', 1='1', 9='9', 10='A', 15='F', 16= 'G', 35='Z', 64='a', 89='z'
19:14:30 <zzo38> Now it seems to work if typing :t Or (Not$ And (Atom$ P) (Not$ Atom$ Prime$ Q)) (Imply (Not$ Not$ Atom$ P) (Atom$ Prime$ Q))
19:14:54 <elliott> zzo38: that's not haskell's type system
19:14:59 <elliott> that's just embedding it into haskell
19:14:59 <zzo38> itidus20: I also made a new code, where it also had the property that 'A' comes directly after '9'. But not where 'a' comes directly after 'Z'
19:15:33 <itidus20> 'a' doesn't come directly after 'Z' in my code either :D
19:15:35 <zzo38> elliott: OK, so how would you embed Typographical Number Theory into Haskell by using the type system?
19:15:37 <Vorpal> <nooga> http://analysis.no.net/ <-- hm.
19:15:50 <elliott> Vorpal: oh, thanks; I was wondering where that tab came from
19:16:02 <elliott> zzo38: well, basically, every constructor would become a type, with no constructors
19:16:05 <zzo38> itidus20: OK. I had that 'a' results from 'A' just by setting a bit
19:16:09 <itidus20> if you look carefully, 'a' waits until 64.. which is binary 100000
19:16:12 <elliott> I don't know why you'd wnat to, though
19:16:23 <zzo38> So, still different to your system
19:16:24 <itidus20> but .. i didnt have it as a bit setting
19:17:02 <zzo38> You have 10 (0x0A) for 'A' and 64 (0x40) for 'a' so it doesn't go
19:17:44 <itidus20> zzo38: if only i had shifted my 'a' up by about 10 it would have been the same
19:17:44 <zzo38> But my system does share the property with yours (and also with ASCII) that (('0'&0xF)==0)
19:18:13 <elliott> `addquote <itidus20> well, you have bested me <zzo38> itidus20: Yes.
19:18:14 <HackEgo> 583) <itidus20> well, you have bested me <zzo38> itidus20: Yes.
19:18:49 <zzo38> elliott: That is backwards from how it appears on my screen.
19:19:32 <zzo38> Here is my design: http://sprunge.us/KTBE
19:19:41 <CakeProphet> do you realize that you are using a 6-tuple?
19:21:44 <CakeProphet> elliott: actually I guess a 6-tuple is fine. It's not any cleaner looking than an ADT and you probably can't reduce it in any way.
19:21:46 <zzo38> itidus20: Now, you can see how I designed a different character coding and what your opinion of it is
19:22:24 <itidus20> well i was chasing the luxurious property that ascii hex = binary hex :D
19:23:25 <zzo38> itidus20: I understand. However once doing so, you lose the feature of C where a string terminator can be code zero
19:24:06 <Vorpal> string terminators are ugly
19:24:16 <Vorpal> nooga, storing (size,data) is far better
19:24:20 <zzo38> So I did somethihng else where it is if you just set one bit (x|0x40) to make it into the character correspond to hex code
19:24:28 <elliott> does anyone know how to get Linux /usr/bin/time to output with three decimal places?
19:24:29 <Vorpal> nooga, less security risks too
19:24:32 <CakeProphet> Vorpal: but that's like a whole extra WORD of memory.
19:24:38 <itidus20> CakeProphet: 'A' = 65 .. 0xA = 10
19:24:42 <Vorpal> CakeProphet, oh, embedded?
19:25:13 <Vorpal> elliott, as far as I can tell it does already
19:25:16 <elliott> Vorpal: /usr/bin/time in particular.
19:25:27 <Vorpal> elliott, bash: /usr/bin/time: No such file or directory
19:25:47 <itidus20> zzo38: ah cool.. so you used bitflags extensively
19:25:55 <Vorpal> elliott, yeah seems so.
19:25:58 <pikhq_> Enlightenment... Is going to release.
19:26:03 <zzo38> itidus20: Yes. I did.
19:26:14 <Vorpal> $ pkgfile -s /usr/bin/time
19:26:30 <Vorpal> elliott, what is wrong with the built in time?
19:26:47 <zzo38> Although I did use other features too, such as the ordering of < = > sequentially in that order, the same as in ASCII.
19:26:53 <elliott> Vorpal: can't get it to output nicely
19:27:03 <zzo38> But for {} () [] brackets, to find the delimiters it is just one bit
19:27:07 <Vorpal> elliott, it goes to stderr
19:27:10 <lambdabot> forall a (m :: * -> *) b. (Monad m) => (a -> m b) -> [a] -> m [b]
19:27:29 <elliott> $ TIMEFORMAT=%3R; for i in `seq 9`; do time ../../shiro mycology.b98 >/dev/null; done
19:27:54 <lambdabot> [[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,1],[0,0,0,0,0,0,1,0],[0,0,0,0,0,0,1,1],[0...
19:28:09 -!- oerjan has joined.
19:28:34 <lambdabot> ["00000000","00000001","00000010","00000011","00000100","00000101","0000011...
19:28:51 <itidus20> zzo38: I do believe that distractions are healthy, and hence this topic, however, I find it very difficult of late to concentrate on anything for a meaningful length of time. So my distractions are the fruits of lazy.
19:29:15 <lambdabot> forall (m :: * -> *) a. (Monad m) => Int -> m a -> m [a]
19:29:25 <itidus20> And what I mean is I think your other topic is more important than some alternative character set I imagined at a whim.
19:29:33 <lambdabot> ["00000000","00000001","00000010","00000011","00000100","00000101","0000011...
19:30:24 <CakeProphet> I was looking for a different way than using good old replicateM
19:30:33 <oerjan> i assume both of them end up applying sequence to the same list
19:30:34 <itidus20> I am like one of those people who never stops talking ever.
19:31:04 <lambdabot> replicateM n x = sequence (replicate n x)
19:31:22 <CakeProphet> since I'm using const all that's importance is the length of the input list in mapM
19:31:42 <itidus20> zzo38: having said that, how do these things work in practice? is it like a filter which translates a character stream?
19:32:03 <oerjan> > sequence $ "________" >> ["01"]
19:32:04 <lambdabot> ["00000000","00000001","00000010","00000011","00000100","00000101","0000011...
19:32:12 <CakeProphet> map (const x) ls == replicate (length ls) x
19:32:51 <CakeProphet> itidus20: a mapping function would be one way to do it, yes.
19:32:57 -!- NihilistDandy has quit (Ping timeout: 276 seconds).
19:33:06 <lambdabot> forall a (f :: * -> *) b. (Functor f) => a -> f b -> f a
19:33:27 <oerjan> > sequence $ "01" <$ "________"
19:33:27 <CakeProphet> aha, that's the function I was looking for, once.
19:33:28 <lambdabot> ["00000000","00000001","00000010","00000011","00000100","00000101","0000011...
19:33:37 <itidus20> or can the video card be hacked to display text how you want it? :D
19:34:12 <elliott> itidus20: if you use video mode, like every graphical OS, then you control charsets
19:34:19 <elliott> you just draw text as you see fit.
19:34:38 <itidus20> because text mode is very rare nowadays i suppose
19:34:46 <elliott> text mode uses whatever font is currently loaded, by default what people consider the "DOS font", I'm sure there's a "portable" way to load a new one, since Linux does it
19:34:49 <elliott> so you could handle that, too
19:34:57 <fizzie> If you use an EGA/VGA compatible text mode, those have editable fonts too, yes.
19:35:02 <elliott> and keyboards send in scancodes, not ASCII, anyway, so you need a translation, but not one from ASCII
19:35:17 <elliott> so yes, you could use zzo38's character set all the way right up until the point where you need to talk to anyone else in the universe :P
19:35:25 <itidus20> so zzo38 could make an OS with his own charset and such
19:35:44 <pikhq_> Yes, but we would still be speaking UTF-8.
19:35:54 <cheater_> itidus20, most modern personal computers can change to text mode with a single keyboard combination
19:35:54 -!- monqy has joined.
19:36:13 <elliott> I do not believe Windows has any such functionality.
19:36:24 <cheater_> i do not believe i left out "modern"
19:36:26 <itidus20> implication: windows is not modern :D
19:36:32 <fizzie> I believe most consoles tend to be framebuffers nowadays too.
19:37:03 * pikhq_ actually doesn't have a framebuffer set up.
19:37:09 <Vorpal> they are usually framebuffers on linux
19:37:19 <Vorpal> I mean it tends to be that by default these days
19:37:38 <pikhq_> vesafb sucks, and the Radeon KMS thing would be great except that the Radeon X driver is unstable.
19:37:40 <cheater_> i don't think the ttys are framebuffers
19:37:41 <itidus20> i have derailed things with my topic
19:37:46 <fizzie> I think the Ubuntu default is to use a framebuffer console, and that's quite a market share right there.
19:37:57 <CakeProphet> haha, yeah Windows is totally not modern and stuff.
19:37:59 <cheater_> framebuffer consoles are discernible by a certain amount of lag on display
19:38:01 <Vorpal> pikhq_, atm I think I use vesafb + catalyst or some crazy combo
19:38:17 <pikhq_> cheater_: That's just vesafb.
19:38:19 <elliott> fizzie: see dictionary entry w → wasting your time, n.
19:38:28 <elliott> hmm is "wasting your time" a noun WILL THE WORLD EVER KNOW...
19:38:43 <pikhq_> cheater_: Nothing inherent, the vesafb driver is just naive.
19:38:48 <Vorpal> pikhq_, what fb do you use when you use intel graphics hm
19:38:55 <pikhq_> Vorpal: I don't have Intel graphics.
19:39:25 <CakeProphet> elliott: it's a gerund phrase or part of the sentence's predicate.
19:40:51 <nooga> i'm learning ellian script
19:41:20 <CakeProphet> is that like, spelling out numbers and symbol characters and stuff?
19:41:33 <nooga> http://www.ccelian.com/concepca.html
19:41:58 -!- pumpkin has joined.
19:42:05 <nooga> looks nice but it's not very handy for handwriting
19:44:00 -!- copumpkin has quit (Ping timeout: 252 seconds).
19:44:29 <CakeProphet> I remember for my Java class we had paper tests.
19:45:03 <oerjan> class MyClass extending PaperTests
19:45:13 <nooga> i wrote C and C++ by hand
19:45:38 <monqy> I've only had to write pseudocode by hand so far
19:45:38 <fizzie> Vorpal: My work-workstation has some Intel graphics in it, and /sys/class/graphics/fb0/name says "inteldrmfb".
19:45:46 <cheater_> nooga, what architecture did you write it for
19:46:27 <nooga> every single one that's supported by the compiler that teacher had to test answers lol
19:47:42 <CakeProphet> elliott: does Haskell have something equivalent to #if?
19:48:59 <elliott> CakeProphet: you can choose to have cpp run over your code, but don't.
19:49:12 <monqy> why do you want #if
19:49:19 <monqy> there's probably a better way
19:49:55 <elliott> help dilemmas are hard monqy
19:50:24 <elliott> fclabels or data-lens for shiro........
19:50:36 <oerjan> sometimes there's a portable solution which isn't quite efficient. hm you could probably use rules for that...
19:50:36 <elliott> i cannot deciduous trees....
19:51:39 <monqy> I've only glanced at data-lens but I remember preferring fclabels. my glance may not have gotten the big appeal of data-lens though
19:52:28 <monqy> data-lens is the lenses package right
19:52:28 <elliott> monqy: well in theory data-lens has more efficient updates, because it's (a -> (b, b -> a)) rather than (a -> b, a -> b -> a)
19:52:33 <elliott> http://hackage.haskell.org/package/data-lens
19:52:34 <oerjan> elliott: you can probably use template haskell as well, can't you?
19:52:47 <oerjan> for conditional compilation
19:52:49 <CakeProphet> elliott: just wondering how platform-specific stuff is handled. I have no use for it.
19:54:04 <elliott> monqy: but yes it is like... data-lens has a better type and has a totally better author??? but its TH stuff uses a _ suffix rather than a _ prefix which I like slightly less? except that's not fair since you can provide another prefix but that involves writing your own thing and feels weird to me because peer pressure..........
19:54:22 <elliott> and fclabels is I think more popular?? but
19:54:34 <elliott> so............yeah.............
19:54:51 <CakeProphet> fclabels is nice. I've never heard of data-lens
19:55:13 <elliott> monqy: the ansewr to http://stackoverflow.com/questions/5767129/lenses-fclabels-data-accessor-which-library-for-structure-access-and-mutation goes in depth a bit, totally biased since it's written by kmett :)
19:55:14 <monqy> im still glancing at data-lens
19:55:21 <elliott> but it's pretty explanatroy.............
19:55:35 <fizzie> Wow, that was really annoying, but here's a sysfs-oneliner to get the currently active virtual console driver type:
19:55:37 <fizzie> fis@eris:~$ for c in /sys/devices/virtual/vtconsole/vtcon*; do read b < $c/bind; if [ $b == 1 ]; then cat $c/name; fi; done
19:55:41 <fizzie> [htkallas@pc112 ~]$ for c in /sys/devices/virtual/vtconsole/vtcon*; do read b < $c/bind; if [ $b == 1 ]; then cat $c/name; fi; done
19:55:41 <fizzie> (M) frame buffer device
19:55:44 <elliott> also I think he's done a bunch of ~benchmarking~ of them?? and his type isf astest
19:55:49 <CakeProphet> basically there's a point where a project becomes large enough to warrant fclabels.
19:56:01 <fizzie> (Leftovers from the "you can distinguish a framebuffer console by X" thing.)
19:56:03 <elliott> monqy: note that some of data-lens is in http://hackage.haskell.org/package/data-lens-fd and http://hackage.haskell.org/package/data-lens-template because of portability
19:56:08 <CakeProphet> it just becomes more obvious that Haskell's record syntax is shitty.
19:56:17 <elliott> CakeProphet: a lens package is essential for every project, I am just choosing which
19:56:44 <elliott> uhh... read the answer to http://stackoverflow.com/questions/5767129/lenses-fclabels-data-accessor-which-library-for-structure-access-and-mutation
19:57:14 <oerjan> CakeProphet: sheesh there is plenty of #if in haskell library code, see e.g. http://www.haskell.org/ghc/docs/latest/html/libraries/directory-1.1.0.1/src/System-Directory.html
19:58:29 <elliott> CakeProphet: it's fairly evocative, short, unused, and pretty
19:58:48 <fizzie> elliott: Also it gets FLARES.
19:59:53 <cheater_> CakeProphet, because it "concentrates" on a part of the information, but the other bits are still there
20:00:19 <cheater_> like when you're looking at something through a lens, you see what it's pointing at in large, but the other stuff is still squished around the corner
20:00:35 <cheater_> and you can still sort of get them back.
20:00:38 <elliott> no. there is no sense in which the other bits are "still there".
20:00:49 <elliott> Lens (a -> b) (a -> b -> a)
20:00:56 <elliott> the first function discards the other bits.
20:01:03 <elliott> the second function isn't concentrating at all.
20:01:19 <elliott> there is that residue isomorphism representation, but it is new, apparently inefficient, and i know of only one person who uses it
20:01:28 <elliott> and it is certainly not the standard, and originated years after they were called lenses.
20:02:38 <oerjan> i recall some humorous comment not long ago from someone who finally caved in and started calling them lenses
20:02:43 <elliott> it's not "new to me", the talk/blog post introducing it freely admits they came up with it ercently.
20:02:52 <elliott> oerjan: yes, same person who invented the residue representation
20:03:13 <elliott> http://twanvl.nl/blog/haskell/isomorphism-lenses
20:03:33 <cheater_> i know more than one person who uses this
20:03:39 <cheater_> so it's not like they're unused
20:04:13 <elliott> I don't know why they would, since they're hard to use and inefficient.
20:04:34 <CakeProphet> Oh no! I was the original author of data-accessor, and then I passed it over to Henning and stopped paying attention. The a -> r -> (a,r) representation also makes me uncomfortable, and my original implementation was just like your Lens type. Heeennnninngg!!
20:04:44 <elliott> "Heeennnninngg!!" is my catchphrase
20:04:54 -!- pikhq_ has quit (Ping timeout: 252 seconds).
20:05:39 -!- pumpkin has changed nick to copumpkin.
20:07:16 -!- pikhq has joined.
20:07:47 <CakeProphet> apparently my email address was accessed in Egypt 19 hours ago.
20:08:42 <elliott> monqy: i know the things making me waver at all are basically
20:08:50 <elliott> - oh no more people use fclabels (peer pressure)
20:09:06 <elliott> - oh no the default suffix is slightly less nice? (even though i can fix that it would be going against the grain even though it's just one function call (peer pressure))
20:09:37 <oerjan> CakeProphet: probably someone in mubarak's family trying to use it to contact a person who can help them get their money out of the country
20:10:52 <monqy> one thing i think i like more about fclabels it is easier to learn getL setL modifyL and friends than all of these crazy infix operators
20:11:02 <oerjan> elliott: there's plenty of precedent for this method. see your old mail folder.
20:11:08 <elliott> monqy: you're not meant to use the ones in Data.Lens.Common
20:11:30 <elliott> monqy: see http://hackage.haskell.org/packages/archive/data-lens/2.0.0/doc/html/Data-Lens-Strict.html for the operators you're Meant To Use
20:11:34 <elliott> or http://hackage.haskell.org/packages/archive/data-lens/2.0.0/doc/html/Data-Lens-Lazy.html
20:11:38 <elliott> or http://hackage.haskell.org/packages/archive/data-lens-fd/2.0/doc/html/Data-Lens.html
20:11:40 <elliott> they're all the same, API-wise
20:11:50 <elliott> except the -fd one has strict versions with the exclamation marks
20:11:58 <monqy> it still looks like crazy infix operators
20:12:17 -!- pikhq has quit (Ping timeout: 240 seconds).
20:12:18 -!- pikhq_ has joined.
20:12:51 <elliott> %= seems reasonable to me??? as a modify operator
20:13:03 <elliott> ok != is a _bit_ confusing for assignment :D
20:13:21 <oerjan> > let (>:-/) a = concat . replicate a in 10 >:-/ "HA"
20:13:23 <monqy> it will take me a little while to learn them
20:13:34 <elliott> monqy: but, stop, you peer pressured me into fclabels already, :(
20:15:43 <CakeProphet> ~= applies a regex to a string in reverse right?
20:16:29 <CakeProphet> elliott: I think the infix operator look nice, and you get the benefits of MonadState
20:16:54 <elliott> CakeProphet: well, fclabels has monadstate stuff too :P
20:16:55 <monqy> the infix operators in common aren't in monadstate
20:17:38 <monqy> yes there is a category instance
20:17:42 <elliott> that's a feature of every single lens package :P
20:17:45 <elliott> that's like half the point of lenses
20:18:04 <monqy> every single lens package excpet lenses???? or do they have it too
20:20:12 <CakeProphet> elliott: also, how's anarchy working out for you?
20:20:28 <elliott> <CakeProphet> not according to that kmett dude.
20:20:37 <elliott> well that package is just bad
20:22:08 -!- elliott has quit (Remote host closed the connection).
20:22:23 -!- elliott has joined.
20:22:41 -!- KingOfKarlsruhe has joined.
20:24:49 <monqy> so data-lens looks good and i like it???
20:25:34 <monqy> I may convert a few things i wrote with fclabels to get used to it
20:26:29 <elliott> he says, as elliott is minutes into fclabelling
20:26:35 <elliott> you are probably right i am peer pressuring myself too muches...
20:26:42 <elliott> im kind of iffy on the assignment operator though
20:26:55 <elliott> i guess you are meant to use the strict version when possible
20:26:59 <elliott> but != feels even less right
20:27:42 <monqy> peer pressure is a bad thing
20:28:23 <monqy> another thing i like about data-lens but i do not know if it is right to like is it comes with a bunch of convenience things that I ended up writing myself a bunch all the time when using fclabels
20:28:44 <monqy> fstLens, sndLens, (^%%=)
20:28:54 <monqy> most notably (^%%=)
20:29:40 <elliott> the confused but happy clown operator
20:31:07 -!- GreaseMonkey has joined.
20:31:07 -!- GreaseMonkey has quit (Changing host).
20:31:07 -!- GreaseMonkey has joined.
20:33:44 <elliott> monqy: im just worried that maybe shiro will get slower with lenses :(
20:33:51 <elliott> using tehs trict modifiers might even speed it up
20:34:44 <monqy> i usually prefer nice pretty beautiful over speed because i am bad at coping
20:36:18 <elliott> with shiro i have to prove that haskell and BRAINS is faster than C with inline assembly and posix_fadvise
20:36:41 <elliott> currently it takes about one second on mycology which is almost precisely one second slower than cfunge and ccbi :(
20:36:41 <monqy> what is shiro i forget or never knew
20:36:49 <elliott> my funge interpreter in haskell
20:37:25 <monqy> i do not like this proof it is like asking for pain :(
20:38:44 <elliott> monqy: but i will maintain
20:43:01 <elliott> goto = (rayPosition . ipRay . currentIP !=)
20:43:09 <elliott> monqy: help its confusing, i think, keeping, its /= :(
20:45:09 <elliott> monqy: i kind of want something that's data-lens except the operators have different names and _ is prefix not postfix for th......
20:45:22 -!- Phantom__Hoover has quit (Quit: Leaving).
20:45:46 -!- Phantom__Hoover has joined.
20:51:57 <monqy> elliott: it would be easy emough to make a moduley thing to hide all the bad data-lens stuff and export new names and a _ prefix instead of postfix right
20:52:05 <elliott> monqy: yes but... that feels wrong....
20:52:09 <monqy> elliott: of course that would also be a wrong yes
20:52:11 <elliott> it is like... taking work but insulting....
20:52:19 -!- boily has quit (Ping timeout: 240 seconds).
20:52:44 <elliott> maybe I will just poke edwardk every other day until he makes it nicer like that,
20:55:16 <elliott> it is his name.......................
20:56:00 <cheater_> https://addons.mozilla.org/en-US/firefox/addon/binnen-i-be-gone/
20:56:10 <zzo38> I suppose Haskell can be very fast if you use a CPU which is designed to speed up the LLVM operations that Haskell uses a lot, and to save memory by some of that kind of stuff too
20:57:14 <cheater_> https://addons.mozilla.org/en-US/firefox/addon/remove-kampyle/
20:57:26 <cheater_> i've always wanted to be able to get rid of kamyple.
20:59:26 <pikhq_> zzo38: Haskell's already pretty dang fast.
21:00:28 <Taneb> Is it? I've nevemmm mmmpph
21:00:54 <elliott> Phantom__Hoover is full of lies and dead
21:04:02 <zzo38> There is just, how can you make rulebooks with Haskell stuff? And the other stuff I meantioned on that wiki page?
21:04:39 <zzo38> Other unrelated thing: How can the rules of Propositional Calculus be defined using the Haskell type system?
21:04:59 -!- BeholdMyGlory has quit (Remote host closed the connection).
21:04:59 <oerjan> hm wait is kmett and edwardk different people?
21:05:09 <Phantom__Hoover> zzo38, also Haskell's typesystem maps to an inconsistent logic.
21:05:13 <zzo38> Phantom__Hoover: I know. It is why I try to invent something new. That can do rulebooks and some other features for a specific purpose
21:05:15 <oerjan> whew, i thought i was confused there
21:05:44 <zzo38> Phantom_Hoover: But, can you do it by not using the inconsistent commands?
21:06:24 <elliott> see "void" package, Edward A. Kmett
21:06:33 <elliott> fully standard haskell ninety-eight
21:07:11 <elliott> this type is uninhabited apart from _|_
21:07:22 <elliott> it's not an empty data type
21:07:25 <elliott> it's just an uninhabited one
21:07:32 <elliott> it does not support empty data DECLARATIONS
21:07:42 <elliott> which in fact I think is standard since haskell twothousandandten but that's not the point
21:10:07 <zzo38> Yes, Haskell does accept newtype Void = Void Void
21:10:31 <oerjan> elliott: hm there's one problem with that newtype, i don't think you can use it to prove Void -> a (which is an axiom) without doing further recursion?
21:10:44 <elliott> oerjan: absurd :: Void -> a
21:10:44 <elliott> absurd (Void a) = absurd a
21:10:48 <elliott> oerjan: but note that it never actually recurses
21:10:55 <elliott> because absurd never gets past pattern-matching
21:10:59 <elliott> because newtypes are strict, etc.
21:11:09 <elliott> it never even gets to pattern-matching
21:11:12 <elliott> absurd's body is irrelevant
21:11:18 <elliott> because (Void x) will never halt
21:11:36 <oerjan> yes but it's still unsatisfactory
21:12:24 <oerjan> i suppose you could think of it as structural recursion, so it's allowed anyhow
21:12:34 <elliott> it's exactly structural recursion :P
21:12:54 * elliott wonders what the induction/recursion principle is for Void
21:13:00 <elliott> haha, I think it might be (a -> a) -> a
21:13:10 <zzo38> OK, now, how do you define a function that can use this "Void" type?
21:13:18 <elliott> ind f (Void a) = f (ind f a)
21:15:51 -!- KingOfKarlsruhe has quit (Quit: ChatZilla 0.9.87 [Firefox 5.0/20110615151330]).
21:16:41 <zzo38> O, the type is always "Void -> Void" if you type "Void".
21:17:36 <HackEgo> 293) <elliott> Deewiant: ha, you were wrong, I have stacks, fungespace and MULTIPLE functions! <elliott> and a monad! <elliott> nothing can stop me now! \ 479) <Phantom_Hoover> oerjan, little do you realise that everything you say and do is part of that great monad tutorial we call life.
21:18:07 <elliott> I like how the first is accidentally topical.
21:18:37 <zzo38> So it is possible to define types that have no use, I guess.
21:19:36 <zzo38> I guess this "Void" type is a type that has no use, isn't it?
21:20:32 <zzo38> With that "ind" function it reports its type as: ind :: (t -> t) -> Void -> t
21:20:47 -!- derrik has quit (Quit: take carezzz).
21:21:48 <elliott> zzo38: well, the use is that you can model not-p as (p -> Void)
21:22:19 <oerjan> i've been thinking that most of those "no real result" monadic actions like putStr should really have been -> IO Void
21:23:11 <zzo38> OK, but if it still has to return you can use () which is a valid value even though it can store nothing
21:23:26 <zzo38> Which is probably why it is not IO Void
21:23:49 <oerjan> but haskell is lazy, so you don't _need_ to return a non-bottom value
21:24:00 <elliott> <oerjan> i've been thinking that most of those "no real result" monadic actions like putStr should really have been -> IO Void
21:24:10 <elliott> that "IO is not a monad" post by roconnor got someone saying this, iirc
21:24:27 <elliott> oerjan: I think we should generally try and pretend that _|_ doesn't exist though :)
21:25:21 <oerjan> not just IO, you could have put :: MonadState s m -> s -> m Void as well
21:25:29 <lambdabot> forall s (m :: * -> *). (MonadState s m) => s -> m ()
21:29:07 <oerjan> asiekierka, now embarassing himself on the IWC forum http://i.imgur.com/wy9Bo.png
21:30:57 <oerjan> oh and there was a link to the actual skin in the forum message
21:31:16 <oerjan> http://www.irregularwebcomic.net/draakslair/viewtopic.php?t=6048
21:31:42 <zzo38> Now I can see how the "Void" type is the correct type for use in this "ind" function, even though it has no use.
21:35:09 <zzo38> It also accepts: x = Void x
21:36:33 <elliott> zzo38: yes, but evaluating x diverges
21:36:41 <elliott> because Just is not strict
21:37:17 <Taneb> A Just ruler is not a Strict ruler
21:42:15 <elliott> "Thus to pad out 7 bytes of space would require 7 nop instructions to be issued, which is a significantly slower way of doing nothing!"
21:49:06 -!- Taneb has quit (Ping timeout: 260 seconds).
21:51:45 -!- nooga has quit (Ping timeout: 250 seconds).
21:56:27 -!- Nisstyre has joined.
22:08:17 -!- GreaseMonkey has quit (Quit: The Other Game).
22:16:58 -!- elliott has quit (Ping timeout: 258 seconds).
22:36:03 <zzo38> Will any Haskell add a ENCODING pragma to indicate what character encoding should be used in the runtime such as ASCII or Unicode?
22:37:55 -!- augur_ has changed nick to augur.
22:45:35 <oerjan> zzo38: in recent ghc, you set runtime encoding with operations on file handles
22:45:59 <lambdabot> Network.CGI newtype ContentEncoding
22:46:00 <lambdabot> Network.CGI ContentEncoding :: String -> ContentEncoding
22:46:00 <lambdabot> Network.HTTP.Headers HdrAcceptEncoding :: HeaderName
22:46:18 <oerjan> @hoogle -base encoding
22:46:18 <lambdabot> Network.CGI newtype ContentEncoding
22:46:19 <lambdabot> Network.CGI ContentEncoding :: String -> ContentEncoding
22:46:19 <lambdabot> Network.HTTP.Headers HdrAcceptEncoding :: HeaderName
22:48:09 <oerjan> @hoogle encoding :: Handle -> IO ()
22:49:02 <oerjan> http://www.haskell.org/ghc/docs/latest/html/libraries/base-4.4.0.0/System-IO.html#g:23
23:08:04 -!- CakeProphet has quit (Ping timeout: 258 seconds).
23:09:25 <oerjan> i assume this is dwarf fortress..
23:09:35 -!- CakeProphet has joined.
23:09:35 -!- CakeProphet has quit (Changing host).
23:09:35 -!- CakeProphet has joined.
23:14:25 -!- pikhq has joined.
23:17:12 -!- pikhq_ has quit (Ping timeout: 260 seconds).
23:25:03 -!- copumpkin has quit (Ping timeout: 240 seconds).
23:50:25 -!- Phantom__Hoover has quit (Ping timeout: 250 seconds).
23:57:48 -!- copumpkin has joined.