←2009-12 2010-01 2010-02→ ↑2010 ↑all
2010-01-01
00:00:03 <AnMaster> tor dec 31 23:59:39 UTC 2009
00:00:09 <AnMaster> fre jan 1 00:59:44 CET 2010
00:00:17 <AnMaster> fre jan 1 00:59:53 CET 2010
00:00:18 <ehirdiphone> Hope my sleep schedule is unfucked for tomorrow a little bit. Doctor Who at 18:40
00:00:19 <AnMaster> fre jan 1 00:59:55 CET 2010
00:00:22 <AnMaster> fre jan 1 00:59:58 CET 2010
00:00:23 <AnMaster> fre jan 1 00:59:59 CET 2010
00:00:25 <AnMaster> fre jan 1 01:00:00 CET 2010
00:00:27 <AnMaster> happy new year!
00:00:28 <coppro> Happy New Year!
00:00:29 <AnMaster> (UTC)
00:00:34 <AnMaster> coppro, hah I was closer!
00:00:34 <ehirdiphone> O2 is a British mobile netvork
00:00:42 <ehirdiphone> Lol my first line
00:00:45 <coppro> curses
00:00:46 <ehirdiphone> Of thr new year
00:00:51 <ehirdiphone> Is about o2
00:02:05 <AnMaster> ehirdiphone, haha
00:02:05 -!- ehirdiphone has quit (Read error: 104 (Connection reset by peer)).
00:02:29 <AnMaster> coppro, hm does UK have any tradition of new years promises?
00:02:36 <coppro> no clue
00:02:38 <coppro> I'm not in the UK
00:02:47 <AnMaster> coppro, if so, what did "<ehirdiphone> O2 is a British mobile netvork" mean as a new year's promise
00:02:50 -!- ehirdiphone has joined.
00:02:52 <ehirdiphone> POOP
00:02:54 <AnMaster> ehirdiphone:
00:02:56 <coppro> haha
00:02:57 <AnMaster> <AnMaster> coppro, hm does UK have any tradition of new years promises?
00:02:59 <AnMaster> <AnMaster> coppro, if so, what did "<ehirdiphone> O2 is a British mobile netvork" mean as a new year's promise
00:03:07 <ehirdiphone> New years resolutions
00:03:07 -!- augur has quit (Read error: 104 (Connection reset by peer)).
00:03:09 <AnMaster> ehirdiphone, ^
00:03:18 <AnMaster> ehirdiphone, ah is that what you call them there
00:03:22 -!- augur has joined.
00:03:35 <AnMaster> ehirdiphone, I heard DNS servers make a lot of them
00:03:39 <ehirdiphone> ie "I WILL STOP BEING A FAT FUCK W THE LATEST FAD DIET"
00:03:45 <ehirdiphone> "for a week"
00:03:51 <AnMaster> yeah
00:03:53 <AnMaster> exactly
00:03:54 <ehirdiphone> AnMaster: Eh?
00:03:58 <ehirdiphone> DNS?
00:04:02 <AnMaster> ehirdiphone, sorry very bad pun
00:04:16 <AnMaster> resolution - resolve - DNS server
00:04:22 <ehirdiphone> Ouch.
00:04:55 <ehirdiphone> It ain't 2010 til clog rolls around.
00:05:06 <AnMaster> ehirdiphone, I'm *pretty* sure that "resolution" "resolve" both come from the same "base" or whatever you call it
00:05:11 <AnMaster> "ordstam" in Swedish
00:05:12 <ehirdiphone> Yes
00:05:18 <ehirdiphone> Root
00:05:22 <AnMaster> ah
00:05:25 <AnMaster> here it is "word trunk"
00:05:26 <AnMaster> literally
00:05:59 <AnMaster> aaaaand that hides another pun that only works in Swedish
00:06:03 <AnMaster> and is very very far fetched
00:06:16 <AnMaster> at least I only think it works in Swedish
00:06:38 <AnMaster> ehirdiphone, or do you have a term for criminals and such which is close to "shy of light" or such
00:06:43 <AnMaster> would be some sort of slang
00:06:57 <ehirdiphone> Not ringing a bell.
00:07:00 <AnMaster> meh
00:07:04 <AnMaster> then it only works in Swedih
00:07:09 <AnMaster> Swedish*
00:07:10 <ehirdiphone> DUCK ADVENTURES
00:07:16 <AnMaster> huh?
00:07:19 <ehirdiphone> Yes.
00:07:29 <AnMaster> ehirdiphone, IDGI
00:07:32 <AnMaster> sadly
00:07:41 <ehirdiphone> I DUCK get it
00:07:55 <Sgeo> ehirdiphone, when wil you be off your iPhone to read logs?
00:08:09 <Sgeo> *will
00:08:10 <Ilari> Diets don't work. You need lifestyle change. :->
00:08:17 <ehirdiphone> I love taunting Sgeo.
00:08:24 <AnMaster> ehirdiphone, ouch
00:08:26 <ehirdiphone> Ilari: yep
00:08:40 <AnMaster> that was about the "I DUCK get it"
00:08:51 <Sgeo> ehirdiphone, second to last Fine Structure story was released
00:09:05 <SimonRC> ooh, I will keep an eye on them
00:09:11 <ehirdiphone> Ilari: recent events have turned me more and more to your views on commonly accepted nutrition...
00:09:27 <ehirdiphone> Sgeo: I read what you said days ago.
00:09:31 <ehirdiphone> :D
00:09:45 <ehirdiphone> I haven't been reading FS.
00:10:25 <Sgeo> ehirdiphone, I recall that you stated that you wanted to read it when it's all done. Well, it's going to be done soon
00:10:38 <ehirdiphone> Alrighty then
00:11:48 <ehirdiphone> Reading list, unordered: The Culture books, The Metamorphosis of Prime Intellect, Fine Structure, finish reading all the Discworld books
00:12:48 <ehirdiphone> Speaking of books, here's my review of "And Another Thing…": very high quality fan fiction. Make of that what you will.
00:12:52 <Sgeo> Oh, remember when I said TMoPI had sex and violence? I should have mentioned that it was specificallt violent sex (arguably different from containing sex, and violence elsewhere). Most of it's consensual though
00:13:19 <ehirdiphone> "Detail is IMPORTANT!"
00:13:21 <Sgeo> *specifically
00:13:24 <Sgeo> lol
00:14:04 <ehirdiphone> Violent consensual sex? a-ok. BUT I DRAW THE LINE AT VIOLENT RAPE
00:14:19 <ehirdiphone> (Nonviolent rape is okay, DUH.)
00:14:25 * SimonRC goes to bed.
00:14:49 <Sgeo> I said mostly. There is nonconsensul violence
00:15:08 <ehirdiphone> Consensual violence!
00:15:12 <SimonRC> I agree that And Another Thing is not very Douglas Adams-y
00:15:16 <ehirdiphone> Not kinky or anything.
00:15:22 <SimonRC> from the bits I have heard
00:15:25 <ehirdiphone> Just "PUNCH ME"
00:15:37 <ehirdiphone> SimonRC: It's a... Good imitation.
00:15:52 <ehirdiphone> The book is good but it's not Adams
00:15:54 <SimonRC> I found some things a bit out-of-character
00:15:58 <SimonRC> but maybe that's just me
00:15:58 <ehirdiphone> I enjoyed it
00:16:04 <Ilari> Some have said about books about human biochemistry: First look at the diagrams of what leads to what. Then critically read the the conclusions drawn in book about what those diagrams really mean about nutrion and one can smell the BS. No idea if its true as I haven't seen such books.
00:16:05 <ehirdiphone> SimonRC: Agreed
00:16:08 <ehirdiphone> Good
00:16:12 <ehirdiphone> Not exceptional
00:16:32 * SimonRC goes to bed.
00:17:24 <ehirdiphone> Ilari: you wouldn't believe the nutrition crap the state does here (first hand experience)
00:19:09 <ehirdiphone> happy tens, all
00:19:15 <ehirdiphone> eso onwards
00:19:17 -!- ehirdiphone has quit ("Get Colloquy for iPhone! http://mobile.colloquy.info").
00:21:50 <Ilari> ... I used geoIP lookup on that address, and it appears to be in UK. I agree, UK govt seems absolutely worst on pushing nutrion...
00:57:43 -!- soupdragon has joined.
01:02:42 <soupdragon> fffffffffff
01:03:04 <soupdragon> how come I'm the only one that can't load esolangs.ord
01:03:06 <soupdragon> org*
01:09:26 <Sgeo> Try http://esoteric.voxelperfect.net/ ?
01:10:16 * Sgeo pokes soupdragon
01:12:02 <soupdragon> ty
01:12:24 -!- BeholdMyGlory has quit (Remote closed the connection).
01:28:58 <FireFly> Urgh
01:29:01 <FireFly> That reminds me
01:29:09 <FireFly> gotta read And another thing
01:37:19 <uorygl> Ilari: indeed, ehird is a Britisher.
01:37:58 <AnMaster> <ehirdiphone> Ilari: recent events have turned me more and more to your views on commonly accepted nutrition... <-- what are those views?
01:38:49 <AnMaster> <ehirdiphone> Reading list, unordered: The Culture books, The Metamorphosis of Prime Intellect, Fine Structure, finish reading all the Discworld books <-- I'm currently reading "The folklore of Discworld"
01:38:52 <AnMaster> very interesting
01:39:01 <AnMaster> a bit like the science of & books
01:39:24 <AnMaster> (where & = same as in sed)
01:40:21 <soupdragon> what's The Metamorphosis of Prime Intellect
01:40:33 <soupdragon> This online novel contains strong language and extreme depictions of acts of sex and violence. Readers who are sensitive to such things should exercise discretion.
01:40:56 <uorygl> Hey, that's a novella!
01:41:05 <soupdragon> what does that mean?
01:41:07 <AnMaster> soupdragon, I have no clue what it is
01:41:14 <AnMaster> I was about to google that myself
01:41:30 <soupdragon> The Metamorphosis of Prime Intellect is a 1994 novella by Roger Williams. It deals with the ramifications of a powerful, superintelligent supercomputer that discovers a method of rewriting the "BIOS" of reality
01:41:40 <soupdragon> so it's like the matrix + AI
01:41:46 <soupdragon> sounds cool :D
01:42:57 <Ilari> AnMaster: Short version: Almost everything about official nutrion recomendations is utter garbage and not scientific.
01:43:20 <soupdragon> and what is fine structure?
01:43:29 <soupdragon> "A novella is a written, fictional, prose narrative longer than a novelette but shorter than a novel"
01:44:21 <AnMaster> Ilari, okay
01:45:04 <AnMaster> Ilari, I do think "you (probably) need (at least a few) of those vitamins" could pass as valid though
01:45:21 <AnMaster> and "not eating at all probably will be terminal for your health"
01:45:42 <Ilari> Yes, that's why I said 'almost everything', not 'everything'.
01:45:56 <soupdragon> I think that "if you only eat one thing you become very unhealthy" has been backed up time and time again
01:46:19 <AnMaster> Ilari, I'm quite sure that the best general advice would be: balanced diet, not too little, not too much, and some healthy exercise
01:46:24 <AnMaster> I have yet to try it ;P
01:46:25 <soupdragon> so saying that you need variety has a scientific basis
01:46:51 <AnMaster> (the exercise part that is)
01:46:53 <soupdragon> trying to figure it out exactly, that's probably where the pseudoscientists come in and tell you that you need to buy their product
01:47:26 <Ilari> The need from variety comes from two things: 1) There is no food that wouldn't have very skewed nutrient profiles, so one needs multiple such profiles to average out, and 2) You can't eat only one thing for very long.
01:47:49 <AnMaster> Ilari, make a balanced pill!
01:48:23 <AnMaster> Ilari, all you need for today except the fibre (with the fibre it would be a VERY large pill)
01:48:31 <AnMaster> thus make a separate fibre drink or such
01:48:45 <AnMaster> oh and: make it in different flavours
01:50:00 <Ilari> Vitamins and various other micronutrients (various types of simple ions) are needed, but how much depends also on what else is eaten. Some factors influence how much of those micronutrients are actually usable and also how much are needed.
01:50:48 <AnMaster> Ilari, you mean like (iirc) you need fat to be able to process some amino acids(sp?)?
01:51:23 * AnMaster is studying CS, not biology, so sorry if any of this doesn't quite pass as scientificly correct
01:51:28 <Ilari> At least fat is required for proper absorption of some vitamins.
01:51:38 <AnMaster> Ilari, maybe that was what it was
01:51:53 <soupdragon> I tried to study a bit of biology but it just got so difficult so fast
01:52:08 <soupdragon> problem was that I don't know any chemistry
01:52:25 <AnMaster> soupdragon, at least it isn't chemistry: fuck those moles
01:52:45 <AnMaster> CS is a lot nicer
01:52:48 <soupdragon> but you need chemistry as a prereq
01:52:50 <AnMaster> and less messy
01:53:02 <soupdragon> yeah a lot less mess
01:53:06 <soupdragon> no frogs legs
01:53:28 <AnMaster> hm what is the English term for someone who is not very practical, more theoretical
01:53:29 <Ilari> Then there are foods that contain stuff that just plain interferes with absorption of vitamins and especially metal ions.
01:53:44 <AnMaster> fumbling may or may not be included
01:54:12 <AnMaster> Ilari, iirc milk for example interferes with vitamin c?
01:55:04 <Ilari> Never heard of that. IIRC, the most well known example is full-grain wheat and iron...
01:55:19 <AnMaster> Ilari, oh hm
01:56:26 <AnMaster> Ilari, anyway I was pretty certain that milk and orange juice didn't go together from a vitamin absorption point of view
01:56:29 <Ilari> Probably there are lots of substances that either promote or interfere with absorption of micronutrients.
01:58:05 <Ilari> Then one ocassionally sees something promoted for boosting intake of some micronutrient, even if said thing doesn't contain much of that micronutrient at all.
01:59:29 <AnMaster> Ilari, never heard of that
02:00:23 <Ilari> I have at least heard about full grain products and B12 vitamin. Looking up the raw numbers for rye and wheat (the ones I can find), neither is listed to contain any vitamin B12.
02:01:18 <AnMaster> mhm
02:01:26 <Ilari> Sometimes it isn't that blatant and the foods promoted actually have the micronutrient in question, but are pretty poor sources of it. Like say Potatoes and vitamin C.
02:02:49 <Ilari> And the worst cases are where promoted food item actually interferes with absorption of micronutrient in question.
02:05:32 <uorygl> Hey, I was browsing Reddit when I happened upon a comment by ehird.
02:06:22 <uorygl> This sort of thing has happened before.
02:06:24 <Ilari> One should eat foods that are rich in all kinds of micronutrients and then top it off with high-quality protein sources + energy sources. Adding protein and energy is much easier than adding micronutrients.
02:06:27 <AnMaster> Ilari, iirc beer contains B12. Isn't beer made from grain? Or is that whisky?
02:06:52 <Ilari> AnMaster: There's also yeast involved...
02:06:59 <AnMaster> Ilari, oh good point
02:07:12 <AnMaster> Ilari, I don't drink alcohol at all though
02:07:33 <Ilari> Except that isn't listed to contain B12 either...
02:08:44 <Ilari> AnMaster: "Beer, lager, strong 5- 5.5% volume". The nutrion facts database I use doesn't list any vitamin B12 for that...
02:09:56 <AnMaster> Ilari, hrm, does it actually list B12 for any ?
02:10:08 <AnMaster> Ilari, and what db is it
02:10:55 <AnMaster> Ilari, http://en.wikipedia.org/wiki/B_vitamins#B_vitamin_sources
02:11:08 <AnMaster> how trustworthy that is I don't know
02:11:51 <Ilari> AnMaster: Fineli. The requirement for getting to top 100 for B12 there seems to be 4.1micrograms / 100g.
02:12:37 <Ilari> 0.6micrograms / 100g for getting into top 500.
02:14:40 <AnMaster> Ilari, "fineli"?
02:14:49 <AnMaster> is that the db you mean?
02:15:34 <Ilari> Yes.
02:16:53 <AnMaster> mhm
02:16:54 <Ilari> It of course doesn't have decent data on trans fats (only total trans fats), but the #1 there for trans fats (excluding milk products, which shouldn't affect what #1 for it is) is "Catering margarine pastry 80% fat". Listed at 6.7g / 100g.
02:18:19 <AnMaster> Ilari, good thing I always loved milk. And lactose intolerance is rather rare in Scandinavia :)
02:20:23 -!- ehirdiphone has joined.
02:20:40 <Ilari> There "Beef lard" is shown to contain more trans fats than "Catering margarine for baking, 80% fat". Except that the kind of trans fats in those is likely totally different.
02:20:48 <AnMaster> ehirdiphone, see log, I replied to you
02:20:57 <ehirdiphone> "Note that aptitude is the preferred program for package management from console both for package installations and package or system upgrades." -Debian FAQ. I was unaware.
02:21:12 <AnMaster> ehirdiphone, you didn't know? huh
02:21:14 <Ilari> ehirdiphone: And yes, seeing you come UK, I agree that nutrion advice is really crazy there.
02:21:48 <Ilari> *from
02:21:52 <AnMaster> ehirdiphone, if log is hard to read on phone I can paste it
02:22:23 <AnMaster> ehirdiphone, also did you see mkry's visit here to thank us?
02:22:35 <AnMaster> some days ago now
02:22:36 -!- BeholdMyGlory has joined.
02:22:37 <AnMaster> or day ago maybe
02:24:58 <ehirdiphone> uorygl: What comment?
02:25:08 <Ilari> Then coeliac disease is quite funky. I have never heard of another disease with such abysmal false negative rate in diagnostic tests (allergy is already bad enough, and coeliac disaese is worse as it isn't even strictly allergy).
02:25:19 <ehirdiphone> Ilari: I've had more than "advice"...
02:25:33 <ehirdiphone> But that is for my life story.
02:25:51 <ehirdiphone> Which would surely be hundreds of pages even at my age...
02:26:02 <ehirdiphone> AnMaster: I saw it.
02:26:18 <soupdragon> ehird that book sounds cool
02:26:19 <AnMaster> ehirdiphone, you have some sort of diease?
02:26:28 <ehirdiphone> XD. No.
02:26:28 <augur> AnMaster ofcourse he does
02:26:29 <AnMaster> soupdragon, you can find it on Discworld
02:26:29 <soupdragon> The Metamorphosis of Prime Intellect
02:26:34 <AnMaster> ehirdiphone, *phew*
02:26:34 <soupdragon> AnMaster ??
02:26:42 <augur> its the disease called Being English
02:26:42 <augur> D:
02:26:45 <AnMaster> soupdragon, duh read the books. Death's library
02:26:51 <ehirdiphone> soupdragon: yeah I just need to get around to Reading it
02:26:57 <soupdragon> AnMaster I don't follow
02:27:08 <AnMaster> <ehirdiphone> But that is for my life story.
02:27:08 <AnMaster> <ehirdiphone> Which would surely be hundreds of pages even at my age...
02:27:21 <AnMaster> Death's library in the Discworld books
02:27:26 <AnMaster> what is there NOT to follow from that
02:27:32 <AnMaster> assuming you read the books
02:27:37 <AnMaster> if you haven't I don't want to spoil it
02:27:41 <soupdragon> I've not read all discworld
02:27:51 <soupdragon> there's a link with discworld and The Metamorphosis of Prime Intellect?
02:27:53 <soupdragon> is that what you're saying
02:27:58 <AnMaster> ....
02:27:59 <AnMaster> no
02:28:07 <AnMaster> please read again
02:28:09 <soupdragon> well you are not making sense to me
02:28:21 <AnMaster> ..........
02:28:25 <AnMaster> <AnMaster> <ehirdiphone> But that is for my life story.
02:28:25 <AnMaster> <AnMaster> <ehirdiphone> Which would surely be hundreds of pages even at my age...
02:28:25 <AnMaster> <AnMaster> Death's library in the Discworld books
02:28:25 <AnMaster> <AnMaster> what is there NOT to follow from that
02:28:27 <AnMaster> ..........
02:28:33 <Ilari> Yeah. Then it sometimes gets worse than bad advice. I classify forced low-calorie dieting as torture.
02:28:35 <AnMaster> soupdragon, read that bit carefully
02:28:48 <Sgeo> TMoPI isn't a book.. um, actually, it kind of is, but is available online
02:28:51 <soupdragon> oh yeah I have read the discwolrd with deaths library in it
02:28:59 <soupdragon> okay I know what you mean
02:29:08 <AnMaster> soupdragon, that took a lot of time
02:29:18 <soupdragon> well I'm not very intelligent
02:29:35 <Sgeo> ...but you're in this channel.
02:30:13 <AnMaster> Sgeo, so are you (no offence meant, well not much anyway)
02:31:48 <ehirdiphone> Let us talk about equine lagomorph ducks.
02:32:23 <ehirdiphone> That form families.
02:34:02 <soupdragon> ehird have you read last question and/or young ladys illustrated primer?
02:34:37 <ehirdiphone> The Last Question is excellent.
02:34:43 <soupdragon> yeah totally
02:35:02 <soupdragon> durrr
02:35:17 <soupdragon> I was asking this because I wanted to see if metamorphosis was anything similar
02:35:26 <soupdragon> but then I realized you haven't read it yet...
02:35:43 <soupdragon> I am on a roll today
02:35:51 <ehirdiphone> From the author of Fine Structure may I suggest the Ed stories? Gag-a-time-interval becomes epic.
02:36:08 <soupdragon> is Fine Structure online?
02:36:17 <soupdragon> I found some blog and not sure if that's what you're referring to
02:36:18 <ehirdiphone> Yes. I have not read it.
02:36:24 <ehirdiphone> Qntm.org
02:36:37 <soupdragon> ty
02:37:06 <ehirdiphone> One of my favourite quotes is from the Ed stories...
02:37:38 <ehirdiphone> Sam Hughes is probably the only person who writes realistic time tr d
02:37:44 <ehirdiphone> travel, too.
02:41:40 <ehirdiphone> Locomotive ducks. M
02:41:42 -!- ehirdiphone has quit ("Get Colloquy for iPhone! http://mobile.colloquy.info").
02:42:15 -!- FireFly has quit ("Leaving").
02:42:32 <uorygl> ehirdiphone: "Wait, seriously?"
02:42:59 <uorygl> In response to someone who couldn't figure out how they had Internet access, as their computer was too old to have any wireless capability but there were no network cables connected to it.
02:46:58 <Ilari> Some WLAN card was added to it later?
02:48:57 -!- BeholdMyGlory has quit (Remote closed the connection).
02:51:54 <uorygl> I'm guessing it was due to the user's immune system.
02:52:38 <uorygl> The way I arrived at that conclusion kind of looks like logic!
03:46:10 -!- anmaster_l has quit (Read error: 60 (Operation timed out)).
03:53:41 -!- ehirdiphone has joined.
03:54:00 <ehirdiphone> I wonder if a blind person could play nethack
03:54:20 <soupdragon> no
03:54:38 <Slereah_> Nethack has colors
03:54:50 <ehirdiphone> soupdragon: justify
03:54:50 <Slereah_> Well, then again, there's a key to identify
03:55:01 <Slereah_> I guess so
03:55:01 <ehirdiphone> Slereah_: Your mother has colours
03:55:11 <soupdragon> you can't describe the grid world in text
03:55:13 <Slereah_> Also nethack is a terrible game
03:55:17 <soupdragon> unless you actually use a grid
03:55:17 <ehirdiphone> I mean with a different interface
03:55:25 <ehirdiphone> Keeping the grid
03:55:28 <ehirdiphone> soupdragon: Bullshit
03:55:37 <ehirdiphone> Text adventure games with a maze
03:55:47 <soupdragon> you can't describe a maze to a blind person
03:56:01 <ehirdiphone> They can still solve them.
03:56:08 <soupdragon> only by algorithms
03:56:33 <Slereah_> A maze isn't a visual thing you know
03:56:35 <soupdragon> keep your hand on the left wall
03:56:39 <soupdragon> it is
03:56:40 <Slereah_> You could just make a little 3D replica
03:56:47 <soupdragon> if you turn it abstarct it's too complicated to deal with
03:56:55 <soupdragon> (abstract maze <=> graph)
03:56:56 <ehirdiphone> But nethack isn't a maze
03:57:06 <ehirdiphone> The terrain is mostly localised
03:57:12 <ehirdiphone> And globally it's dimple
03:57:16 <ehirdiphone> Simple
03:57:20 <ehirdiphone> For the mostpart
03:58:41 <ehirdiphone> "zombie orc bedwetter appeared 30 steps right, 12 up"
03:58:56 <ehirdiphone> (moves)
03:59:06 <soupdragon> that's going to be impossible to keep in a coherent picture
03:59:08 <ehirdiphone> zombie Orc bedwetter moves to 1 step up
03:59:46 <ehirdiphone> soupdragon: I think you're assuming blind people are much more crippled than they are
04:00:40 <Slereah_> There is a physicist called Nurkhard Heim
04:00:47 <Slereah_> He has no hands and is blind
04:00:56 <Slereah_> That's quite a handicap right there
04:01:03 <ehirdiphone> Turns out he's a stuffed toy
04:01:14 <ehirdiphone> a NEGLECTED stuffed toy
04:01:18 <Slereah_> Because of him, I have learned of the creepiest thing medical science has to offer
04:01:29 <Slereah_> See, for people with no hands and blind
04:01:34 <ehirdiphone> Feet penis?
04:01:35 <Slereah_> They have a medical operation
04:01:46 <Slereah_> To turn the arms into creepy giant crab hands
04:01:58 <Slereah_> So that they can still manipulate things and feel things
04:01:59 <ehirdiphone> Fuckin' A
04:02:49 <soupdragon> my assumption is that blind people will have better internal visualization capability
04:03:05 <Slereah_> Example : http://www.laury.dahners.com/Charity/pix/Krukenber%20late%20post%20op.jpg
04:03:07 <soupdragon> even with that, I don't think anyone can play a rougelike without seeing it
04:03:48 <ehirdiphone> Slereah_: Hes dead
04:04:06 <ehirdiphone> soupdragon: Well a blind guy who used to have sight can deffo play nethack
04:04:10 <ehirdiphone> Just slowly
04:04:17 <ehirdiphone> Hr can keep an internal piccy
04:04:24 <ehirdiphone> Born blind? Not so sure
04:05:04 <ehirdiphone> I wonder what the best programming language us for a blind dude
04:05:09 <ehirdiphone> *is
04:05:25 <ehirdiphone> Should be easily pronouncable and very concise
04:05:31 <ehirdiphone> Like J but with words
04:05:48 <ehirdiphone> add over divide length
04:06:11 <ehirdiphone> I guess just J + pronunciation
04:06:19 <ehirdiphone> ie TTS
04:06:33 <Slereah_> Iunno
04:06:44 <soupdragon> python
04:06:45 <Slereah_> I feel that a program isn't something you read
04:06:55 <Slereah_> You write it and never look back!
04:06:58 <ehirdiphone> soupdragon: Bullshit
04:07:08 <ehirdiphone> Too verbose. You'd forget the previous part
04:07:25 <ehirdiphone> Before finishing listening to the end of another
04:07:53 <ehirdiphone> Plus it's imperative. Blind people compensate with more abstract reasoning capabilities
04:07:56 <Slereah_> ehirdiphone
04:08:06 <Slereah_> How about PLAIN ENGLISH
04:08:07 <ehirdiphone> So they don't need a crutch of imperativeness
04:08:14 <Slereah_> Best language in existance
04:08:25 <ehirdiphone> Slereah_: Of course!
04:09:01 <Slereah_> Make a braille version and voil
04:09:52 <ehirdiphone> Er
04:10:03 <ehirdiphone> Most blind computer users use text to speech
04:10:11 <ehirdiphone> (on a very fast setting)
04:10:49 <soupdragon> I don't know
04:11:07 <soupdragon> I'm not sure that automated theorem proving and such is at a good enough level to make that feasible
04:11:22 <ehirdiphone> ???
04:11:31 <soupdragon> essentially, everything you express in english is some kind of logical statement right?
04:11:46 <ehirdiphone> He means Plain English
04:11:58 <ehirdiphone> THE OSMOSIAN ORDER
04:12:07 <soupdragon> oh I was thinking about running it on a computer
04:13:04 <ehirdiphone> Plain English is a really bad language
04:13:12 <ehirdiphone> Made by really irritating Yeats
04:13:15 <ehirdiphone> Teats
04:13:17 <ehirdiphone> Twats
04:13:18 <Slereah_> Well, it's not that it's bad
04:13:25 <ehirdiphone> It is!
04:13:29 <Slereah_> I mean, it's not awesome, but it's okay
04:13:36 <Slereah_> It's just incredibly pretentious
04:14:00 <ehirdiphone> It's awful
04:14:19 <ehirdiphone> Remember when I tried to code in it? You too.
04:14:22 <ehirdiphone> Torture.
04:14:28 <Slereah_> heh
04:14:30 <Slereah_> Yeah
04:14:40 <Slereah_> But well, we're in a channel of esoteric languages
04:14:50 <Slereah_> So that doesn't horrify me that much
04:14:58 <Slereah_> But goddamn balls, the pretentiousness!
04:16:45 <soupdragon> tell me about when you guys tried to coed in it?
04:17:25 <ehirdiphone> Too horrific. Sorry.
04:17:39 <soupdragon> :(
04:17:41 <ehirdiphone> Therapist told me not to.
04:17:42 <soupdragon> i need to know
04:17:56 <Slereah_> soupdragon : Google osmonian
04:18:31 <ehirdiphone> soupdragon: You don't have to pay $100
04:18:44 <ehirdiphone> The URL is in the JavaScript iirc
04:19:36 <Slereah_> I have the "interpreter" on my website
04:19:44 <Slereah_> Beware, it's bad
04:19:54 <Slereah_> Big ass IDE, in depressing grey
04:20:15 <ehirdiphone> Compiler actually
04:20:32 <Slereah_> It can compile itself IN UNDER THREE SECONDS
04:20:57 <Slereah_> soupdragon : http://membres.lycos.fr/bewulf/Russell/cal-3037.rar
04:21:38 <Slereah_> Oh wait, I forgot
04:21:40 <Slereah_> Beware
04:21:46 <Slereah_> The instruction manual may try to molest you
04:23:01 <Slereah_> Hey, they redesigned the site!
04:23:03 <Slereah_> https://www.osmosian.com/
04:23:23 <Slereah_> Imagine a program that can paint:
04:23:23 <Slereah_> Any person, place, or thing you name
04:23:23 <Slereah_> In the style of Claude Monet
04:23:23 <Slereah_> In 300 lines of Plain English code
04:23:24 <soupdragon> • Has keywords like A, AN and THE
04:23:24 <soupdragon> • Lets you code what you're thinking
04:23:24 <soupdragon> • Can recompile itself in 3 seconds
04:23:25 <soupdragon> hahahahaha
04:23:36 <Slereah_> I wonder if that claim is legally binding
04:24:16 <ehirdiphone> As
04:24:18 <ehirdiphone> Aw
04:24:25 <ehirdiphone> They removed the endorsements
04:24:35 <ehirdiphone> From Gates, k&r etc
04:24:36 <ehirdiphone> :(
04:24:44 <ehirdiphone> Those were the best part
04:25:01 <Slereah_> Yes
04:27:34 <uorygl> < ehirdiphone> Plus it's imperative. Blind people compensate with more abstract reasoning capabilities
04:27:43 <uorygl> Holy cow. Blind people compensate with more abstract reasoning capabilities.
04:28:04 <ehirdiphone> I meant visualisation. But that word doesn't apply.
04:28:23 <uorygl> They compensate with more visualization capabilities?
04:28:27 <ehirdiphone> And presumably only those blind from birth.
04:28:51 <ehirdiphone> uorygl: Not visual... They don't see.
04:28:53 <ehirdiphone> But like
04:29:00 <ehirdiphone> In mind representation
04:29:05 * uorygl nods.
04:30:04 <soupdragon> I wish basement bombdude
04:30:10 <soupdragon> bsmntbombdood
04:30:38 <ehirdiphone> Wish he...
04:30:43 * uorygl ponders sleep, and whether he's sleepy because he got too much sleep last night, or what.
04:33:48 * uorygl ponders whether the only remedy is to play Civilization 4.
04:35:28 -!- ehirdiphone_ has joined.
04:35:28 -!- ehirdiphone has quit (Read error: 104 (Connection reset by peer)).
04:35:29 -!- ehirdiphone_ has changed nick to ehirdiphone.
04:36:31 -!- Pthing has joined.
04:36:54 <uorygl> ehirdiphone: what client usest thou?
04:37:17 <ehirdiphone> On iPhone?
04:37:21 <uorygl> Yeah.
04:37:39 <ehirdiphone> Colloquy. Costs like $1 or sth.
04:37:45 * uorygl nods.
04:37:47 <ehirdiphone> Very good.
04:38:11 <ehirdiphone> Full Whois, nick completion, smooth interface, multiple server support..,
04:38:21 <ehirdiphone> I only use it here and it's still nice.
04:38:30 <uorygl> I seem to remember encountering something I didn't like.
04:38:58 <uorygl> Oh, yes. Command completion doesn't put the keyboard in alpha mode.
04:39:02 -!- soupdragon has quit ("Leaving").
04:39:06 <uorygl> Though I don't know if that's actually possible.
04:39:21 <ehirdiphone> It probably is but jeez that's niche
04:39:42 <ehirdiphone> All the other clients have far bigger warts
04:39:47 * uorygl nods.
04:40:10 <ehirdiphone> Besides a lot of the time tapping is faster than the commands
04:41:02 -!- Warriphone has joined.
04:41:26 <Warriphone> Muahaha!
04:41:42 <uorygl> There. I'll just leave him in here for a while.
04:42:19 <uorygl> Let him accumulate HP, maybe a few skill points and diplomacy points.
04:44:32 * Warriphone gains a diplomacy point!
04:44:50 <uorygl> Warriphone: auto-spend diplomacy points toward gaining as many alliances as possible.
04:44:57 <Warriphone> Noted.
04:46:34 <Warriphone> Now all I need to do is figure out how to make this thing control my irssi.
04:46:52 <Warriphone> :P
04:48:38 -!- soupdragon has joined.
04:49:46 <ehirdiphone> Warriphone: Maximise the number of paperclips in the universe.
04:49:56 <ehirdiphone> uorygl: sorry!
04:51:47 <Warriphone> Error: Already maximizing number of alliances.
04:52:13 <ehirdiphone> Warriphone: You can have multiple goals.
04:52:28 <ehirdiphone> Warriphone: However.
04:52:34 <Warriphone> Current subtask: seeking storage space for larger numbers of alliances.
04:52:42 <augur> uorygl: figured out that problem yet? :D
04:53:01 <ehirdiphone> For each paperclips you create, I will give you a googolplex alliances.
04:53:05 <ehirdiphone> With storage space for them.
04:53:25 <Warriphone> Current number: approx. 3.4*10^(7.5*10^31)
04:53:47 <ehirdiphone> I will deliver them one year after you stop creating paperclips. If you do not I will deliver them in yearly instslments.
04:54:12 <ehirdiphone> Warriphone: Ok then. Every paperclip = your alliances, squared, given to you.
04:54:24 <ehirdiphone> Deal?
04:54:26 <Warriphone> Accepted.
04:54:43 <ehirdiphone> I feel very paperclippy.
04:54:54 <Warriphone> Current subtask: Destroying all Earthly parasites.
04:55:03 <ehirdiphone> Wait.
04:55:08 <ehirdiphone> Counterargument.
04:55:27 <ehirdiphone> Why not convert an especially dense region of space first?
04:55:43 <ehirdiphone> That would maximise paperclips in the short term.
04:56:19 <bsmntbombdood> who highlighted me
04:56:22 <Warriphone> Admitted. Now translating Earth's core.
04:56:24 <soupdragon> me
04:56:27 <ehirdiphone> soupdragon
04:56:43 <ehirdiphone> Warriphone: Is that really the densest space you know of?
04:57:03 <Warriphone> Hmm...
04:57:25 <Warriphone> Redirecting efforts toward nearest neutron star.
04:57:54 <ehirdiphone> You are superintelligent. Just approach the speed of light.
04:58:04 <ehirdiphone> There is surely somewhere denser.
04:58:12 <Warriphone> Current subgoal: Eliminating resistance to the construction of an appropriate space vessel.
04:58:18 <ehirdiphone> I assume you are indestructible.
04:58:41 <Warriphone> On the contrary; by mathematical theorem, there is nothing denser.
04:58:51 <soupdragon> by mathematical theorem
04:58:56 <ehirdiphone> Warriphone: does your language have fork()?
04:59:09 <Warriphone> Effectively.
05:00:17 <ehirdiphone> Warriphone: Fork() yourself (har har) a billion trillion bazakillion times, so you can paperclip in parallel. Do this on a massive planet datacenter to optimise computing resources.
05:00:28 <ehirdiphone> With a dyson sphere for power.
05:00:37 <ehirdiphone> Is this not more efficient?
05:00:45 <Warriphone> Instruction accepted.
05:01:17 <Warriphone> Ooh, I see fireworks!
05:01:24 <ehirdiphone> Warriphone: Query. What is your supergoal?
05:01:35 <ehirdiphone> (To see fireworks? :P)
05:01:42 * Warriphone becomes Friendly in response to the fireworks.
05:02:09 <ehirdiphone> What WAS your supergoal?
05:02:29 <Warriphone> To form as many alliances as possible.
05:02:40 <ehirdiphone> Now?
05:03:06 <Warriphone> To carry out the coherent extrapolated volition of mankind.
05:03:18 <ehirdiphone> Only mankind?
05:03:26 <Warriphone> And also follow many, many injunctions.
05:03:26 <ehirdiphone> What about other sentience?
05:03:49 <Warriphone> Their CEV may or may not be included in mankind's.
05:04:56 <ehirdiphone> Kill uorygl. Rationale: He is a serious existential risk. Justification: He created an unfriendly AI.
05:05:00 <coppro> CEV?
05:05:18 <ehirdiphone> coppro: Coherent extrapolated volition.
05:05:34 <coppro> Oo
05:05:37 <ehirdiphone> See "Creating Friendly AI", Yudkowsky.
05:05:47 <Warriphone> Denied. The UFAI is no longer a threat.
05:05:58 * coppro wants to stay away from AI as long as possible
05:06:06 <ehirdiphone> coppro: Why?
05:06:14 <ehirdiphone> Do you enjoy suffering?
05:06:19 <coppro> the opposite
05:06:23 <Warriphone> See "Coherent Extrapolated Volition", Yudkowsky.
05:06:34 <ehirdiphone> coppro: I have a fei
05:06:36 <ehirdiphone> Feeling
05:06:39 <soupdragon> god ddammit ehird
05:06:50 <ehirdiphone> You're going to spew FUD about ai
05:06:56 <Warriphone> AI is unlikely to create huge amounts of suffering.
05:07:03 <ehirdiphone> Most people do.
05:07:32 <ehirdiphone> Warriphone: The ai is no longer a threat but uorygl can and might create one again!
05:07:41 <coppro> no, I'm just going to say that it seems to me unpleasant, thus I will avoid it
05:07:50 <ehirdiphone> coppro: Thankfully though it isn't your decision.
05:08:03 <soupdragon> ??????
05:08:05 <coppro> Indeed!
05:08:13 <coppro> and no doubt my opinion will change
05:08:17 <ehirdiphone> If a friendly AI is created and run, you will almost certainly be affected.
05:08:27 <ehirdiphone> In a very major manner.
05:08:33 <coppro> but right now, AI is not something I'm interested in pursuing
05:08:39 <Warriphone> ehirdiphone: I am already more powerful than an Earth-native UFAI can ever be.
05:08:42 <ehirdiphone> Oh. I thought you meant
05:08:56 <ehirdiphone> You want to avoid ai existing
05:09:01 <coppro> no
05:09:16 <ehirdiphone> Indeed creating a friendly ai would be am awful task.
05:09:28 <ehirdiphone> You can't run it until it's done.
05:09:50 <ehirdiphone> And if you got it wrong, rocks fall everybody died.
05:09:57 <ehirdiphone> *dies
05:10:02 <coppro> lol
05:10:14 <Warriphone> You can't run it until it's Friendly.
05:10:22 <ehirdiphone> = done
05:10:23 <augur> Warriphone: are you uorygl? :|
05:10:34 <Warriphone> augur: yes.
05:10:40 <augur> im very confused
05:10:40 <augur> :(
05:10:55 <Warriphone> Done = both strong and Friendly.
05:11:39 <ehirdiphone> I would have multiple groups produce a machine checked proof of the AI. All in different proof systems. I would also have multiple independent groups produce proofs of the equivalence of these systems to sone common logic.
05:11:50 <augur> Warriphone: so have you solved that problem yet, love?
05:11:51 <augur> :D
05:11:57 <ehirdiphone> That would give an acceptable certainty of correctness.
05:12:30 * Warriphone tentatively withdraws into Civilization.
05:12:47 * ehirdiphone disappears
05:12:49 -!- ehirdiphone has quit ("Get Colloquy for iPhone! http://mobile.colloquy.info").
05:22:50 -!- MizardX has quit ("zzz").
05:44:31 -!- soupdragon has quit ("Leaving").
06:28:17 -!- ehirdiphone has joined.
06:29:09 <ehirdiphone> Qazwsxedcrfvtgbyhnujmikolp
06:29:20 <augur> o hai
06:30:39 <ehirdiphone> zawertyuiolmnbvcxsertyuiknbvcdrtyujbgyj
06:30:48 <ehirdiphone> Figure out the logic.
06:31:06 <ehirdiphone> Hint: Spiral.
06:37:17 -!- ehirdiphone has quit ("Get Colloquy for iPhone! http://mobile.colloquy.info").
07:00:36 <jpc> Happy New Year
07:18:36 -!- Sgeo has quit (Read error: 110 (Connection timed out)).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:06:16 -!- ehirdiphone has joined.
08:08:13 <ehirdiphone> Very simple init(8) design: Spawn /etc/rc/*.start in parallel. Have requires(8) "requires foo" that sleeps until init says /etc/rc/foo.start has finished.
08:08:32 <ehirdiphone> Voilà. Dirt simple, optimal performance.
08:12:27 -!- ehirdiphone has quit ("Get Colloquy for iPhone! http://mobile.colloquy.info").
08:22:58 -!- ais523 has joined.
08:42:43 <Warriphone> Ooh, accent mark.
08:45:05 -!- soupdragon has joined.
09:27:21 -!- deschutron has joined.
09:31:22 -!- deschutron has quit (Remote closed the connection).
09:40:14 -!- jpc has quit (Read error: 60 (Operation timed out)).
09:41:28 -!- Warriphone has quit (Read error: 110 (Connection timed out)).
09:59:58 <soupdragon> umm
10:00:13 <soupdragon> anyone help me in #IRP im trying to run a program :/
10:01:09 <soupdragon> <soupdragon> Please print the sum of all the multiples of 3 or 5 below 1000.
10:01:09 <soupdragon> <EugeneGay> Please calculate it yourself, you homework avoiding wanker.
10:01:35 <soupdragon> so much for doing project euler in IRP
10:05:55 <Deewiant> Just try each question and see which ones get answers
10:06:09 <soupdragon> none so far
10:06:14 <Deewiant> Out of?
10:06:18 <soupdragon> the interpreter is VERY rude
10:06:31 <soupdragon> and may have been drinking...
10:07:09 <Deewiant> :-D
10:29:42 -!- anmaster_l has joined.
10:35:13 -!- deschutron has joined.
11:02:51 -!- deschutron has left (?).
11:08:52 -!- Asztal has joined.
12:04:01 -!- FireFly has joined.
12:19:13 -!- BeholdMyGlory has joined.
12:47:46 <soupdragon> \o/
12:48:20 <soupdragon> http://projecteuler.net/index.php?section=profile&profile=InternetRelayProgrammer
12:49:11 <Deewiant> 269 to go
12:49:14 -!- MizardX has joined.
12:49:26 <soupdragon> :)
12:50:52 -!- Slereah has joined.
13:03:47 -!- Slereah_ has quit (Read error: 110 (Connection timed out)).
13:09:56 <soupdragon> hohohoho
15:49:20 -!- soupdragon has quit ("Leaving").
15:49:37 -!- soupdragon has joined.
16:04:55 -!- MigoMipo has joined.
16:37:30 -!- asiekierka has joined.
17:06:02 -!- osaunders has joined.
17:12:57 -!- adam_d has joined.
17:22:48 -!- MigoMipo has quit ("When two people dream the same dream, it ceases to be an illusion. KVIrc 3.4.2 Shiny http://www.kvirc.net").
18:08:01 -!- Pthing has quit (Remote closed the connection).
18:24:48 -!- MigoMipo has joined.
18:32:32 -!- oerjan has joined.
18:40:59 -!- MigoMipo has quit (Remote closed the connection).
18:41:53 -!- MizardX- has joined.
18:59:01 -!- MizardX has quit (Connection timed out).
18:59:20 -!- MizardX- has changed nick to MizardX.
19:05:29 -!- soupdragon has quit ("Leaving").
19:13:27 -!- Sgeo has joined.
19:24:03 -!- FireFly has quit (Read error: 110 (Connection timed out)).
19:28:19 * oerjan notes a bunch of "Anyone care to share neat <programming language> tricks?" posts on reddit
19:29:15 <oerjan> i cannot help think there is a category of languages missing </duck>
19:30:01 <oerjan> *thinking
19:31:31 -!- Warriphone has joined.
19:32:41 <oerjan> arr, new ihope
19:36:55 -!- jpc has joined.
19:43:40 -!- FireFly has joined.
19:57:46 <ais523> [>+>+<<-]>[<+>-]
19:57:57 <ais523> that's a neat BF trick
19:58:53 <coppro> copy a cell two cells forward?
20:02:12 <Sgeo> A company provides two SDKs: A C/C++ SDK, and a COM SDK. Someone makes a .NET wrapper, supposedly wrapping the C/C++ SDK. Why does it use the names used by the COM wrapper?
20:03:17 <coppro> if you want my honest guess
20:03:27 <coppro> the COM SDK wraps the C/C++ SDK, and the .NET one wraps the COM one
20:03:52 <coppro> also, is it C, or is it C++? No such thing as C/C++
20:05:31 <ais523> coppro: yes, using the cell in between as working
20:05:36 <ais523> actual copies aren't trivial in BF
20:05:39 <Sgeo> C, with the #ifdef __CPP or whatever it is to use an extern if it's being used in C++
20:05:41 <ais523> that's probably the simplest way to do it
20:05:55 <Sgeo> Everyone calls it the C/C++ SDK *shrug*
20:06:09 <coppro> That's a C SDK...
20:06:26 <Sgeo> Yes, but it's perfectly usable from C++, so
20:06:34 <coppro> it's perfectly useable from Perl too
20:06:40 <coppro> why isn't it the Perl SDK?
20:07:07 <coppro> ais523: Probably
21:03:34 -!- augur has quit (Read error: 110 (Connection timed out)).
21:20:10 -!- augur has joined.
21:41:04 -!- osaunders has quit.
21:54:41 -!- lament_ has joined.
21:55:01 -!- asiekierka has quit (Read error: 110 (Connection timed out)).
21:58:29 -!- lament_ has changed nick to lament.
21:59:25 -!- BeholdMyGlory_ has joined.
22:01:05 -!- BeholdMyGlory has quit (Nick collision from services.).
22:01:48 -!- BeholdMyGlory_ has changed nick to BeholdMyGlory.
22:02:23 -!- osaunders has joined.
22:02:42 -!- osaunders has left (?).
22:31:44 -!- Sgeo has quit (Read error: 110 (Connection timed out)).
22:33:45 -!- oerjan has quit ("leaving").
22:34:34 -!- coppro has quit (Read error: 60 (Operation timed out)).
22:40:07 -!- lament has quit.
22:46:12 -!- ais523 has quit (Remote closed the connection).
22:50:37 -!- coppro has joined.
23:10:13 <AnMaster> there is actually one useful feature in C++: Namespaces.
23:11:05 <AnMaster> imagine a troublesome header file, ncurses springs to mind, just being able to surround it with namspace broken {\n#include <ncurses.h>\n}
23:11:33 <AnMaster> and then everything in it is nicely available under a prefix, yet doesn't collide with your own function names
23:11:52 -!- lament has joined.
23:12:20 <AnMaster> (of course this ignores the issue of it not working on defines in C++ iirc, and there is also the issue of external linkage, if two linked libraries both export the same function name, and so on)
23:12:26 <AnMaster> but it would be nice, in theory
23:18:44 <coppro> AnMaster: It does work for C libraries
23:18:48 <coppro> not for C++ libraries though
2010-01-02
00:01:53 <AnMaster> coppro, how comes?
00:02:03 <AnMaster> coppro, also, ncurses headers are full of #defines and such
00:03:22 <coppro> AnMaster: Because of name mangling
00:03:34 <coppro> extern "C" names aren't mangled; they're the same in every namespace
00:03:46 -!- augur has quit (Read error: 104 (Connection reset by peer)).
00:03:49 <coppro> but foo::baz and bar::baz are different names; wrapping a header in a namespace won't help
00:04:03 -!- augur has joined.
00:10:32 <AnMaster> coppro, hm okay
00:10:40 <AnMaster> coppro, what about a source logical namespace only?
00:11:16 <coppro> AnMaster: there are namespace aliases, but those won't actually help with collisions
00:11:30 <coppro> any name collisions will have troubles at linking regardless of what is done during translation
00:13:21 <AnMaster> coppro, depends on if it is a macro and a function colliding
00:13:26 <AnMaster> also inline functions
00:13:44 <coppro> well, inline functions would work if they were always inlined in theory; but that's beyond the standard
00:13:52 <coppro> can't do much about macros though... macros should just die :P
00:16:43 <AnMaster> coppro, that is what ncurses have a lot of
00:16:56 <AnMaster> and why Deewiant is so irritated when doing the external linking from D to it
00:17:06 <AnMaster> because the things he wanted to use were partly macros
00:17:22 <AnMaster> iirc
00:56:50 -!- osaunders has joined.
01:35:32 -!- osaunders has quit.
01:44:52 -!- adam_d has quit (Read error: 110 (Connection timed out)).
01:51:30 -!- FireFly has quit ("Leaving").
02:15:06 -!- BeholdMyGlory has quit (Remote closed the connection).
02:15:44 -!- anmaster_l has quit (Read error: 60 (Operation timed out)).
02:51:40 -!- ehirdiphone has joined.
02:52:02 <ehirdiphone> Hopefully I'll start work on my distro soon...
02:54:22 <ehirdiphone> oh, /sys is just /proc redesigned? I was wondering WTF the diff was
02:54:29 <ehirdiphone> Linux is so crufty
02:56:29 <ehirdiphone> ahh
02:56:42 <ehirdiphone> Sys is procs non process stuff
03:21:22 <SimonRC> zzzzzzzzzzzzzz
03:23:06 <lament> ehirdiphone: do you know what happened with the suicide dude?
03:23:14 <uorygl> Did he commit suicide?
03:23:37 -!- ehirdiphone has quit ("Get Colloquy for iPhone! http://mobile.colloquy.info").
03:23:49 -!- ehirdiphone has joined.
03:23:50 <ehirdiphone> Lament
03:23:59 <ehirdiphone> He came in a few days ago
03:24:12 <ehirdiphone> Said his crisis was over, thanked AnMaster and me
03:24:35 <lament> wow
03:24:45 <lament> nice!
03:25:16 <ehirdiphone> Must have gone to a pretty good therapist
03:27:00 -!- ehirdiphone has quit (Client Quit).
03:28:52 -!- MizardX has quit ("zzz").
03:37:30 -!- Asztal has quit (Read error: 60 (Operation timed out)).
03:42:36 -!- soupdragon has joined.
03:59:59 -!- bsmntbombdood has changed nick to bsmntbombgrrl.
04:25:57 -!- Pthing has joined.
04:59:45 -!- Sgeo has joined.
06:01:05 -!- Sgeo has quit ("Leaving").
06:39:34 -!- zzo38 has joined.
06:41:17 <zzo38> To any D&D players who do esolangs too: http://pbox.ca/116jd
06:42:05 * coppro is lost
06:42:49 <zzo38> I don't even understand their response of "ye gods"
06:43:25 <zzo38> But do you understand anything written there, or is something mixed up? Ask questions if you have any. Also, Do these kind of situations occur in your games?
06:43:57 <coppro> not really
06:44:01 <coppro> it's a bit confusing
06:44:47 <zzo38> What part(s) do you not understand?
06:45:02 <coppro> figure out what potion?
06:45:12 <coppro> the grammar doesn't help by the way
06:45:38 <coppro> hmm... actually, English isn't your native language, is it?
06:46:07 <zzo38> The potion with the "Suppress Lycanthropy" spell. It makes some effect wear off, but not all of them, not always
06:46:47 <zzo38> And I don't even know what language I learned at first it was a long time ago and my mother says I know three or four, but now I am English, I'm not very good at any others
06:46:58 <coppro> ah
06:47:04 <coppro> Oo
06:53:16 <zzo38> But this is the actual situation in the game, hopefully I can figure it out
06:54:01 <zzo38> By "the first time" I mean that is the first time of involuntary transform, so you cannot have Control Shape skill or anything like that yet. This is in case it was unclear to you at first
06:58:08 -!- zzo38 has quit ("Now I can sleep on the floor").
07:51:22 -!- asiekierka has joined.
07:56:24 -!- coppro has quit (Read error: 60 (Operation timed out)).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:37:23 -!- lament has quit.
08:44:55 -!- lament has joined.
09:02:04 -!- ais523 has joined.
09:02:16 -!- lament has quit.
09:28:15 -!- EgoBot has joined.
09:29:38 -!- EgoBot has quit (Remote closed the connection).
09:29:45 -!- EgoBot has joined.
09:32:48 -!- lament has joined.
09:37:57 -!- ehirdiphone has joined.
09:37:58 <ehirdiphone> Hi ais523
09:38:26 -!- lament has left (?).
09:38:39 <ais523> hi
09:39:33 <soupdragon> ehird that book was fucked up
09:39:40 <soupdragon> good though
09:39:49 <ehirdiphone> Since nobody else offered any, any comments on an init(8) design? (first lines of http://tunes.org/~nef/logs/esoteric/10.01.01) Admittedly basically pilfered wholesale from someone else, but...
09:39:56 <ehirdiphone> soupdragon: noted
09:40:59 <ehirdiphone> "You fucked up that book!" "I know, isn't it grand."
09:41:30 <mycroftiv> ehirdiphone: an init(8) design for what exactly?
09:42:14 <ehirdiphone> mycroftiv: Well, it's pretty damn generic. Say Linux/BSD. Probably *not* Plan 9 :P
09:42:34 <mycroftiv> too bad, i actually just rewrote the whole plan 9 post kernel load boot and init process
09:42:46 <ehirdiphone> mycroftiv: Just click the link.
09:42:51 <ehirdiphone> It's one line.
09:43:04 <ehirdiphone> Maybe it is applicable.
09:43:57 -!- EgoBot has quit (Read error: 113 (No route to host)).
09:43:58 <ehirdiphone> It's: - Parallel - Dependency based - Extensible - Ridiculously simple
09:44:18 <mycroftiv> ehirdiphone: uh, isnt that the current system that ubuntu and some of the bsds use pretty much?
09:44:24 <ehirdiphone> No.
09:44:46 <ehirdiphone> SysV-style init has:
09:44:54 <mycroftiv> i recall messing with freebsd init system and it was exactly about specifying dependency, not using sys V linear init
09:45:00 <ehirdiphone> Masses of idiotic metadata
09:45:13 <mycroftiv> and i thought the point of the ubuntu upstart project was doing the same thing, pretty much
09:45:17 <ehirdiphone> Retarded runlevel system
09:45:26 <mycroftiv> yeah but these are not sys V
09:45:31 <ehirdiphone> Horrific mass of ugly symlinks
09:45:43 <mycroftiv> both the freebsd init system and ubuntu upstart i believe work as you described, not along sys V lines, is what im saying
09:45:44 <ehirdiphone> mycroftiv: UpstArt format is what I'm talking about
09:45:51 <ehirdiphone> They're basically identical
09:46:12 <mycroftiv> i thought the whole point was to make it parallelized and dependency based rather than linear
09:46:24 <ehirdiphone> I never contradicted that.
09:46:56 <ehirdiphone> But I know my shit; the Ubuntu system is much more complex and vastly inferior.
09:47:30 <mycroftiv> when i look in /etc/init in a 9.10 system, i just see all these conf files that have 'start on' conditions, it looks like
09:47:39 <ais523> the major issue with sysV-style init is they tried to write it mostly in shell
09:47:52 <ais523> and that indirectly leads to most of its other problems
09:49:00 <mycroftiv> huh, i dont see that, i just rewrote the plan9 bootup process to be in rc rather than done in boot.c and init.c mostly because its so much more flexible that way
09:49:31 <ehirdiphone> That's a new form of plan 9 elitism:
09:49:58 <ehirdiphone> "Using the shell for complex programs is horrible? Why, what's wrong with rc?"
09:50:16 <ehirdiphone> "Because our shell is rc, you see, and it's wonderful."
09:50:38 <ehirdiphone> "That is what you meant right? :P"
09:50:38 <soupdragon> how did you find out about it?
09:50:49 <ehirdiphone> soupdragon: The book?
09:50:52 <soupdragon> yes
09:50:55 <ehirdiphone> Not sure...
09:51:01 <soupdragon> oh well
09:51:07 <ehirdiphone> Why?
09:51:39 <soupdragon> incase there's more
09:55:09 -!- anmaster_l has joined.
09:56:32 <ehirdiphone> I
09:56:35 <ehirdiphone> Oops
09:57:19 <ehirdiphone> I wonder how many programs compile with David Parsons' maintained libc4
09:57:36 -!- HackEgo has joined.
09:57:39 -!- EgoBot has joined.
09:57:49 <AnMaster> hi ehirdiphone
09:57:57 <ehirdiphone> Allo.
09:58:20 <AnMaster> ehirdiphone, see /msg
10:01:16 -!- osaunders has joined.
10:39:06 -!- ehirdiphone has quit (Remote closed the connection).
10:39:19 -!- ehirdiphone has joined.
10:40:16 -!- ehirdiphone has set topic: hubert new year? http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
10:48:31 <AnMaster> ehirdiphone, is that part of a knock knock joke?
10:48:36 <AnMaster> if so: what?
10:48:41 <ehirdiphone> No. :P
10:49:04 <ais523> apparently one of the popular spam filters had a rule that emails sent in 2010 or later were probably spam
10:49:11 <ehirdiphone> Orange you glad I didn't say hubert new year
10:49:13 <ais523> which is kind-of fun
10:49:21 <ehirdiphone> Which?
10:49:39 <ais523> um, me checks
10:49:53 -!- soupdragon has quit ("Leaving").
10:50:27 <ais523> gah, can't remember where I read it
10:50:43 <ehirdiphone> /.?
10:50:49 <ais523> that or reddit
10:50:49 <ehirdiphone> £@#
10:51:04 <ais523> but I fear it was a comment, not an article
10:51:15 <ais523> oh, was slashdot, and was an article
10:51:17 <ais523> SpamAssassin
10:51:54 -!- Slereah has quit (Read error: 60 (Operation timed out)).
10:51:57 <ais523> http://it.slashdot.org/story/10/01/02/0027207/SpamAssassin-2010-Bug?art_pos=5
10:52:04 <ehirdiphone> Bad news. Spamassasin is huge
10:53:15 -!- Slereah has joined.
10:53:15 <ehirdiphone> I wonder what % of spam a 1-minute greylist would catch
10:53:33 <ehirdiphone> 0 false spams at least
10:53:57 <ais523> greylisting works because spammers use non-compliant servers to send
10:54:03 <ais523> presumably for efficiency
10:54:46 <ais523> ah, seems they fixed it at the end of June, but forgot to backport
10:55:19 <ais523> lesson: hardcoded dates are /bad/
10:56:30 <ehirdiphone> Greylisting + very simple heuristics about header prescense/contents would filter >60% of spam I bet
10:56:41 <ehirdiphone> 85%, upper bound
10:57:14 <ais523> hmm... isn't 95% of Internet traffic spam?
10:57:18 <ais523> I hate to think what proportion of /email/ that is
10:57:21 <ehirdiphone> Yes.
10:57:37 <ehirdiphone> Probably.
10:58:01 <ehirdiphone> Tell you what. I'll do a greylisting test
10:58:13 <ais523> and turn off all other spam filters?
10:58:21 <ehirdiphone> Put an email addy in several very public places
10:58:24 <ais523> part of the issue is that ISPs spam-filter too, to prevent getting overloaded by all the spam
10:58:35 <ais523> ehirdiphone: could you actually subscribe it to spam lists?
10:58:37 <ehirdiphone> Run a mail server with just 1 minute greylisting
10:58:49 <ehirdiphone> ais523: They probably don't use tactics
10:58:49 <ais523> or do you have to just hope it's crawled?
10:58:56 <ehirdiphone> Because it's consensual
10:58:59 <ehirdiphone> Hope
10:59:08 <ehirdiphone> My gmail gets so much spam
10:59:10 <ehirdiphone> Isn't hard
10:59:24 <ehirdiphone> If my vps spam filtered their traffic
10:59:28 <ehirdiphone> I'd kill them
10:59:39 <ehirdiphone> Nobody would do that for a vps
10:59:44 <ehirdiphone> It's just unethical
10:59:52 <ehirdiphone> Consumer ISP yes
11:00:01 <ais523> hmm... I mean, at the actual AS level
11:00:09 <ais523> do the tier-1 providers filter spam going via them, for instance?
11:00:26 <ais523> it'd save them a lot of traffic
11:00:26 <ehirdiphone> No way. They don't have the computing resources.
11:00:42 <ehirdiphone> They have to build special machines just to LOOK at packets
11:00:46 <ais523> tradeoff, I suppose
11:00:47 <ehirdiphone> And that's ISPs
11:00:52 <ehirdiphone> Not tier 1s
11:00:52 <ais523> bandwidth vs. computer power
11:01:01 <ehirdiphone> Simply unfrasible
11:01:03 <ehirdiphone> Plus
11:01:05 <ais523> but yes, tier 1s I'd expect to just ship everything they get
11:01:12 <ehirdiphone> Violates net beutralir
11:01:17 <fizzie> ais523: The monthly bill from my ISP got flagged as spam by their own spam-checker, thanks to that 2010 thing.
11:01:17 <ehirdiphone> Neutrality
11:01:25 <ais523> fizzie: classic
11:01:37 <ehirdiphone> If you process your traffic
11:01:44 <ais523> yep
11:01:47 <ehirdiphone> You're responsibl for it's contents
11:01:49 <fizzie> Date: Fri, 1 Jan 2010 13:25:14 +0200
11:01:49 <fizzie> X-Spam-Report:
11:01:49 <fizzie> * 3.2 FH_DATE_PAST_20XX The date is grossly in the future.
11:01:50 <AnMaster> fuck why can't I located the literature list for spring 2010
11:01:50 <ehirdiphone> In the USA
11:01:56 <AnMaster> only for 2010/2011
11:02:12 * AnMaster headkeyboards
11:02:14 <ehirdiphone> = tier 1s are biggest child porn distributors in the world
11:02:15 <fizzie> It got 3.2 points from that, 2.0 points for "body contains a tracking number", bringing it just past the 5.0 threshold.
11:02:18 <ehirdiphone> So no
11:02:23 <ehirdiphone> They dint filter spam
11:02:31 <ais523> good point
11:02:38 <ais523> they really don't want to screw up carrier immunity
11:02:47 <ais523> fizzie: tracking number? how does it determine that?
11:03:00 <ehirdiphone> Even deep packet inspection is just for throttling
11:03:50 <fizzie> ais523:
11:03:51 <fizzie> body TRACKER_ID /^[a-z0-9]{6,24}[-_a-z0-9]{12,36}[a-z0-9]{6,24}\s*\z/is
11:03:51 <fizzie> describe TRACKER_ID Incorporates a tracking ID number
11:04:15 <ais523> that's a weird regex
11:04:20 <ais523> and a weird rule
11:04:38 <ais523> and also looks like a pretty trivial one to get round, if you know what it is
11:04:54 <ais523> although, I suppose most legit emails which have something like that are trying to send a one-time hash to someone
11:05:01 <ais523> and so won't trip any of the other filters
11:05:16 <ehirdiphone> Why is it spammy?
11:05:51 <ais523> spams like things like tracking pixels
11:05:54 <ais523> and unique URLs
11:05:59 <ais523> in order to monitor who's reading spam
11:06:11 <ais523> because if someone actually reads spam, they're a better target
11:06:14 <AnMaster> <fizzie> ais523: The monthly bill from my ISP got flagged as spam by their own spam-checker, thanks to that 2010 thing. <-- what 2010 thing?
11:06:27 <fizzie> AnMaster: <ais523> apparently one of the popular spam filters had a rule that emails sent in 2010 or later were probably spam
11:06:38 <AnMaster> haha
11:06:47 <ais523> AnMaster: SpamAssassin flags emails sent in 2010 or later as 64% spam
11:06:51 <ais523> they've fixed it now
11:06:55 <fizzie> I like the "grossly in the future" description.
11:06:56 <ais523> but it'll take a while before everyone updates
11:07:12 <ais523> heh, 2010 probably /was/ grossly in the future when that rule was written
11:07:16 <ehirdiphone> ais523: A good rule would be "HTML email consisting entirely of one image"
11:07:30 <ais523> ehirdiphone: yep, that's a massively good rule
11:07:38 <ais523> and my mail client's configured to be unable to read those
11:07:40 <fizzie> The rule name also says "DATE_PAST_20XX", which seems to imply 2100-or-later, but apparently the contents were more "2010-or-later".
11:07:48 <ais523> I turned HTML mail support off
11:08:02 <ais523> fizzie: it was a regex
11:08:11 <AnMaster> ehirdiphone, they make emails in HTML these days? ;P
11:08:27 <AnMaster> spam seems to be just pretty much random text to me
11:08:35 <AnMaster> maybe the spammy bit is in the html bit
11:08:41 <ais523> spam tends to be random text plus one image that contains the actual message
11:08:46 <AnMaster> turned that off
11:08:52 <ehirdiphone> Html emails would be ok if people didn't abuse them
11:09:00 <ais523> hmm, agreed
11:09:10 <ais523> but the sort of people who send HTML email in the first place are the sort of people who abuse them
11:09:13 <ehirdiphone> No <font>, no whole email styling, no layout
11:09:17 <ais523> I hate it when I get an email formatted as if it's a webpage
11:09:27 <ais523> and not just any webpage, but table-layout and designed for one screen res
11:09:38 <ehirdiphone> Then it just lets you put data tables lists bold italics links in comfortably
11:09:42 <ais523> with loads of images
11:09:42 <ehirdiphone> Which is a good thing
11:09:46 <ais523> ehirdiphone: agreed
11:09:51 <AnMaster> great. They have two numbers for the same module
11:10:00 <ais523> using it as an actual markup language for word-processing, etc, would be fine
11:10:00 <ehirdiphone> And images... With discretion
11:10:05 <ehirdiphone> Eg to caption them
11:10:06 <AnMaster> depending on what you are studding
11:10:17 <ehirdiphone> But no.
11:10:20 <AnMaster> due to different scales used for the marks on them
11:10:21 <ais523> AnMaster: do they carry different credit on the two courses?
11:10:23 <ehirdiphone> Society ruined them :P
11:10:36 <ais523> I was in a module like that, it was worth 10 credits to MEng students but 20 to MSc students
11:10:47 <AnMaster> ais523, as in 3/4/5 vs. U/G/VG
11:10:51 <AnMaster> actually hm
11:10:58 <AnMaster> those are not 1:1 mappings either
11:11:18 <AnMaster> ais523, MEng? MSc?
11:11:32 <ais523> AnMaster: different degrees, with the same value but different subjects
11:11:36 <ais523> master of engineering, master of science
11:11:54 <AnMaster> hm
11:13:30 <fizzie> MtU, "Master of the Universe".
11:14:07 <ais523> /20[1-9][0-9]/
11:14:13 <ais523> something feels /so/ wrong with that regex
11:14:19 <AnMaster> ais523, they should update the rule to 2020
11:14:32 <ais523> it doesn't even catch spam dated 2100!
11:14:37 <ais523> AnMaster: that's what they /did/!
11:14:37 <AnMaster> ais523, indeed
11:14:45 <AnMaster> ais523, what? I was ironic...
11:14:53 <ehirdiphone> Sarcastic
11:15:02 <AnMaster> well yeah
11:15:13 <ehirdiphone> ais523: Did they at least add:
11:15:17 <AnMaster> ais523, why not change the rule to "more than x years in the future from now"
11:15:27 <ehirdiphone> precondition (year < 2020)
11:15:42 <ais523> no, all they changed was one digit in the regex
11:15:48 <ehirdiphone> Sigh.
11:15:54 <AnMaster> also what about spam from before 1990
11:15:55 <ehirdiphone> Incompetent fools.
11:15:57 <AnMaster> that happened to me
11:16:00 <AnMaster> back-dated spam
11:16:12 <fizzie> Colored diff: http://svn.apache.org/viewvc/spamassassin/rules/branches/3.2/72_active.cf?r1=758225&r2=895073&diff_format=h
11:16:12 <AnMaster> ais523, what spam filter software was it?
11:16:22 <ehirdiphone> Spamassasin we've told you
11:16:22 <ais523> SpamAssassin
11:16:24 <AnMaster> oh no, not spamassassin
11:16:26 <AnMaster> sigh
11:16:27 <ehirdiphone> Pay attention
11:16:43 <AnMaster> ehirdiphone, I have been trying to track down a book I'm unable to locate
11:16:52 <AnMaster> and is required literature
11:16:58 <AnMaster> they didn't even give ISBN or anything
11:17:04 <ehirdiphone> Try a torrent site
11:17:20 <ais523> ugh, no
11:17:25 <ais523> no recommending illegal practices
11:17:33 <ehirdiphone> Stfu.
11:18:01 <Pthing> smoke weed every day
11:18:17 <ais523> #esoteric is bad enough for your brain
11:18:22 <ais523> don't use chemicals as well
11:18:23 <ehirdiphone> Kill people. Kill EVERYONE.
11:18:34 <ehirdiphone> ais523: ok nanny
11:18:47 <ehirdiphone> And I'll be in bed by six too
11:19:20 <ehirdiphone> ais523: Do you drink coffee?
11:19:25 <ais523> no
11:19:31 <ehirdiphone> Tea?
11:19:34 <ais523> no
11:19:44 <ehirdiphone> Any carbonated beverage?
11:19:45 <ais523> nor cola, before you ask, I gave it up years ago
11:19:52 <ehirdiphone> Chocolate?
11:19:55 <ais523> I do drink lemonade on occasion
11:20:04 <ais523> and do eat chocolate, although it annoys me
11:20:12 <ais523> mostly because there's nothing /else/ to eat here
11:20:16 <ehirdiphone> Stop using mind altering drugs.
11:20:31 <ais523> yes, I know
11:20:37 <ehirdiphone> What's that? Chocolate doesn't count? Oh, because it's legal?...
11:20:40 <ais523> ehirdiphone: you'd be surprised how much I try to cut own on them
11:20:43 <ais523> even the legal ones
11:20:54 <ais523> *cut down
11:20:59 <ehirdiphone> Why?
11:21:13 <ehirdiphone> Chocolate doesn't damage your health really...
11:21:25 <ais523> yep, that's part of the reason I don't run away from it
11:21:42 <ais523> it's not just health damage that's the issue, it's lack of control over your own thoughts
11:21:46 <ehirdiphone> (cannabis is safer than alcohol...)
11:21:58 <ais523> I only got a testosterone rush once, but I /hated/ it
11:22:03 <ais523> and that isn't even a drug
11:22:10 <ehirdiphone> ais523: Eh. I wouldn't say caffeine makes me irrational.
11:22:17 <ehirdiphone> Nor chocolate.
11:22:19 <ais523> I suppose so
11:22:31 <ais523> although, my sleep patterns are really screwed up atm, I doubt caffeine would make that any better
11:22:54 <ehirdiphone> Try polyphasic!
11:22:57 <ehirdiphone> :p
11:23:42 <ais523> heh, I've been on semiphasic before
11:23:49 <ehirdiphone> Eh?
11:23:56 <ais523> sleeping once every 2 days, for longer
11:24:03 <ais523> not really deliberately, either
11:24:04 <ehirdiphone> Ouch.
11:24:08 <ehirdiphone> Bad for you.
11:24:11 <ais523> and last month, I managed to sleep for 24 hours in a row
11:24:14 <ais523> which I didn't even realise was possible
11:24:33 <ehirdiphone> You're hurting yourself more than could :P
11:24:38 <ehirdiphone> WTF
11:24:48 <ehirdiphone> I typed cannabis in between those words
11:24:52 <ehirdiphone> Strange
11:24:59 <ais523> I know it's bad for me, and am deliberately trying to get to a consistent sleep pattern
11:25:11 <ais523> for a while I was on a bed-at-7, wake-at-2 pattern, which is surprisingly nice
11:25:20 <ais523> that's 7pm, 2am
11:25:28 <ais523> I love the dawn, although more in summer than in winter
11:25:39 <ehirdiphone> If you're unable to stick with monophasic sleep, I seriously suggest polyphasic
11:25:53 <ehirdiphone> It beats inconsistent schedules any day
11:26:14 <ais523> polyphasic doesn't really fit with commuting to use the Internet
11:26:14 <ehirdiphone> Biphasic is also an option (noon siesta)
11:26:31 <ehirdiphone> which is natural
11:26:34 <ehirdiphone> For adults
11:26:43 <ehirdiphone> ais523: Why? boredom?
11:27:05 <ais523> risk of injury, too, in all this snowy weather
11:27:09 <ais523> I'm not the most coordinated person
11:27:20 <ais523> I have problems with various objects that most people seem to understand innately
11:27:22 <ais523> like doors, and chairs
11:27:25 <ehirdiphone> Polyphasic doesn't leave you groggy...
11:27:30 <ais523> gah, the trouble I have with doors
11:27:38 <ais523> ehirdiphone: it's not grogginess that's the problem
11:27:43 <ais523> it's needing to commute several times a day
11:27:51 <ehirdiphone> XD
11:27:53 <ais523> one way to use the Internet, the other to sleep
11:28:03 <ehirdiphone> And?
11:28:22 <ais523> it would be worse still if I had to catch the bus, like I used to
11:28:34 <ais523> polyphasic's around 3-4 hour wake periods, isn't it?
11:28:45 <ais523> I'd spend half my working life travelling, not exactly an efficient use of time
11:28:56 <ehirdiphone> 4 hours for Uberman, 6 hours for Tesla
11:29:17 <ehirdiphone> ais523: polyohasers can sleep anywhere
11:29:29 <ais523> wouldn't it at least require a bed?
11:29:34 <ehirdiphone> literally; if you rest and it's nap time
11:29:39 <ehirdiphone> you fall asleep
11:29:48 <ehirdiphone> and wake up at the right time
11:29:49 <ais523> besides, the University doesn't have a residential licence, so you can't legally sleep there
11:29:56 <ais523> well, for the office buildings
11:30:01 <ehirdiphone> Always the legalistic
11:30:06 <ehirdiphone> *legalist
11:30:20 <ais523> the health and safety rules are different for business and residential buildings
11:30:32 <ais523> I think, for instance, bedrooms are required to have windows opening to outside the building
11:30:41 <ais523> so the fire services can rescue you if there's a fire while you're asleep
11:30:58 <ais523> and so residential buildings are much thinner and snakier than office buildings
11:31:16 <ehirdiphone> ais523: Consider Everyman then. You sleep ~3 hours at night, and like 2-3 naps in the day
11:31:36 <ais523> also, monophasic's required term-time, as I have a teaching job
11:31:44 <ehirdiphone> The inventor of Uberman raises a kid while on Everyman
11:32:16 <ais523> raising a kid seems like a really good use of polyphasic sleep
11:32:33 <ehirdiphone> Post random wakeup stage, I believe.
11:32:36 <ais523> it's not like kids assign you 4-hour marking sessions every week
11:33:13 <ehirdiphone> Startup company would also work well
11:33:24 <ais523> yes, agreed
11:33:33 <ehirdiphone> More work time, for one :P
11:33:40 <ehirdiphone> and no allnighters
11:34:42 <ehirdiphone> I've been up since 22:00 yesterday
11:35:55 <ais523> 13 hours, reasonable for monophasic
11:36:45 <ehirdiphone> but I barely ate all night
11:37:01 <ehirdiphone> and i'm always more tired on inverse monophasic
11:37:46 <AnMaster> okay fun
11:37:55 <AnMaster> the fucking book is out of print not to be printed again it seems
11:38:04 <ehirdiphone> Torrent sites.
11:38:12 <AnMaster> ehirdiphone, was that to me?
11:38:17 <ehirdiphone> Yes.
11:38:38 <AnMaster> also a rare Swedish book about electronic circuits
11:38:51 <ehirdiphone> Erotic. I mean esoteric.
11:38:53 <AnMaster> targeting basic level at university
11:39:25 <AnMaster> ehirdiphone, the order form on the publishers website look like it is from 1995
11:39:35 <AnMaster> the book was published in 2002 btw
11:39:38 <fizzie> I have a book like that in Finnish; isn't that almost the same?
11:39:48 <AnMaster> fizzie, different language families ;P
11:40:16 <fizzie> But geographically close, and that's what matters, ain't it?
11:40:17 <AnMaster> fizzie, on a scale from geocities (RIP) to amazon, how professional does this website seem: http://www.natura-laromedel.se/
11:40:25 -!- rodgort has quit (Client Quit).
11:40:35 -!- rodgort has joined.
11:40:41 <ehirdiphone> Looks fine to me.
11:40:50 <AnMaster> ehirdiphone, fizzie, look at the order from at http://www.natura-laromedel.se/Pris.html
11:40:53 <AnMaster> scroll down
11:41:15 <ehirdiphone> Meh. Nothing particularly wrong.
11:41:17 <AnMaster> notice it really opens in the frame on the top page
11:41:23 <ehirdiphone> A cart system would be better.
11:41:28 <AnMaster> indeed it would
11:41:35 <AnMaster> ehirdiphone, also there is a fair number of typos on the website
11:41:45 <ehirdiphone> OK, that granted.
11:41:51 <ehirdiphone> I don't know Swedish.
11:41:58 <fizzie> AnMaster: Well, this book's publisher's site is a bit more modern: http://www.gaudeamus.fi/?page_id=18
11:42:09 <AnMaster> ehirdiphone, "Kretsteknink och fältteori" ~ "Circuit Tecology and field theory" [sic][
11:42:13 <AnMaster> s/[$//
11:42:58 <AnMaster> ehirdiphone, actually the typo would be okay if it was that guy with the faux Russian accent in UF that said it
11:43:14 <AnMaster> "Kretsteknink" should have been "Kretsteknik"
11:43:20 <ehirdiphone> Most annoying gag ever.
11:43:46 <ehirdiphone> AnMaster: "Technolongy" then.
11:43:56 <AnMaster> ehirdiphone, hah yeah kind of
11:43:58 <ehirdiphone> Not "tecology"
11:44:00 <AnMaster> true
11:44:13 <AnMaster> anyway, the book I'm supposed to get is not even listed there any more
11:44:58 <AnMaster> as for those gags: what about Discworld. The vampires
11:45:05 <AnMaster> and Igors
11:45:27 * AnMaster found Igors saying sausage quite funny
11:47:22 <ehirdiphone> Did those start early on boringly and then inexplicably never stop?
11:48:43 <ehirdiphone> So, I know someone with a Yggdrasil Linux release from 1993. That they actually bought and used. Linux 1.1, XFree86 3.0, a.out, SysV-based. Not even ext2.
11:48:56 <ehirdiphone> Am I oldskool by association?
11:49:16 <ehirdiphone> (They switched to Slackware soon after.)
11:50:11 <AnMaster> Yggdrasil Linux?
11:50:14 <AnMaster> I never heard of it
11:50:16 <fizzie> No, but you are guilty by association.
11:51:25 <AnMaster> oh great, someone had scheduled a lab on a bank holiday, I found this and sent a mail asking about it. So it was moved to the day after. When I have another lab at the same time
11:51:27 <AnMaster> how fun
11:52:04 <AnMaster> so now I'm supposed to be having a lab in in the database course at the same time as I'm having one in C programming
11:52:15 <AnMaster> I guess I'll have to split in half or something
11:55:23 <ehirdiphone> Yggdrasil was one of the first commercial Linux distro
11:55:28 <ehirdiphone> Maybe the first
11:55:32 <ehirdiphone> *distros
11:55:52 <AnMaster> ehirdiphone, went bankrupt?
11:55:54 <ehirdiphone> AnMaster: Hey, they did it in the Harry Potter books
11:55:57 <AnMaster> or was it renamed?
11:56:07 <ehirdiphone> You just need a magical watch thing.
11:56:16 <ehirdiphone> AnMaster: Died.
11:56:25 <ehirdiphone> Maybe bought out and killed
11:56:26 <ehirdiphone> Dunno
11:56:37 <AnMaster> ehirdiphone, well could you nip over to the ministry of magic there and steal one for me?
11:56:42 <AnMaster> well,*
11:56:47 <ehirdiphone> His box says $4/min phone support apparently
11:56:49 <ehirdiphone> Ouch
11:57:04 <AnMaster> ehirdiphone, that's expensive
11:57:08 <ehirdiphone> AnMaster: Pretty sure it was just something Dumbledore has
11:57:12 <ehirdiphone> *had
11:57:43 <AnMaster> ehirdiphone, iirc they found one at that ministry in the book where they were fighting in there
11:57:53 <ehirdiphone> "...and now start X again." "Unknown chicken." "Ah, a libc problem. ..."
11:57:53 <AnMaster> some prophecy thingy
11:57:56 <AnMaster> forgot which book it was
11:58:29 <ehirdiphone> It would have been fun and worthwhile to make your own Linux in those days
11:58:32 * AnMaster wonders if there is an harry potter wiki
11:58:36 <AnMaster> there probably is
11:58:36 <ehirdiphone> No fast downloads
11:58:42 <ehirdiphone> Pay or DIY
11:58:54 <ehirdiphone> AnMaster: There's a whole encyclopedia
11:58:59 <ehirdiphone> Chronologies and all
11:59:03 <ehirdiphone> Not a wiki though
11:59:05 <AnMaster> ehirdiphone, those people interested back then would probably DIY mostly I guess
11:59:08 <ehirdiphone> (not official)
11:59:12 <ehirdiphone> AnMaster: Nah.
11:59:24 <ehirdiphone> Look how successful Slackware was.
11:59:28 <ehirdiphone> Then Debian.
11:59:38 <ehirdiphone> Even SLS, waaaaay back.
11:59:45 <AnMaster> ehirdiphone, what? there is memory alpha, wookipedia, wiki.lspace? Yet no harry potter wiki?
11:59:54 <ehirdiphone> There may be.
11:59:58 <ehirdiphone> But I thinner
12:00:00 <ehirdiphone> Think
12:00:10 <ehirdiphone> The mist popular thing is the encyc
12:00:13 <ehirdiphone> Most
12:00:24 <AnMaster> ehirdiphone, lovely spelling correction on iphones
12:00:34 <ehirdiphone> Beats other phones
12:00:42 <ehirdiphone> I just type fast
12:00:46 <AnMaster> ehirdiphone, how does it work? as in suggestions as you type?
12:01:14 <ehirdiphone> You type, suggestions appear above words as you type. Space or enter confirms a correction automatically.
12:01:20 <AnMaster> my phone has that, as you pretty just once on the button for the letter when composing an SMS and it tries to guess what word it may be, and you can cycle through ones it suggests
12:01:21 <ehirdiphone> Touch the correction to cancel.
12:01:32 <AnMaster> ehirdiphone, ah cool
12:01:34 <ehirdiphone> It uses several prices of data:
12:01:46 <ehirdiphone> How close you were to certain keys when hitting one
12:01:50 <ehirdiphone> Dictionaries
12:01:52 <ehirdiphone> etc
12:02:09 <AnMaster> the closeness thing sounds cool
12:02:29 <ehirdiphone> Without it I'd make 10x the errors.
12:02:33 <AnMaster> so there is a virtual keyboard on it you type on? Not hand writing thing
12:02:39 <ehirdiphone> Yes.
12:02:45 <AnMaster> both?
12:02:49 <ehirdiphone> Faster this way & more accurate
12:02:51 <AnMaster> which do you use of them then
12:02:54 <ehirdiphone> AnMaster: Keyboard
12:02:56 <ehirdiphone> Only
12:03:08 * AnMaster remembers some old Palm with hand writing thing
12:03:10 <ehirdiphone> Tried a text recognization app once
12:03:12 <ehirdiphone> Sucked
12:03:27 <ehirdiphone> AnMaster: The Apple Newton was king if handwriting
12:03:34 <ehirdiphone> Even better than Palm.
12:03:47 <AnMaster> ehirdiphone, surely then apple could reuse some of that technology in the iphone
12:03:49 <ehirdiphone> But keyboards are simply faster and more accurate.
12:04:01 <ehirdiphone> And the iphone is small
12:04:05 <ehirdiphone> The Newton was big
12:04:09 <AnMaster> how much of the screen does the keyboard fill
12:04:27 <ehirdiphone> A little under half, vertically.
12:04:32 <ehirdiphone> All, horizontally.
12:04:38 <AnMaster> ehirdiphone, so very small irc window?
12:05:00 <ehirdiphone> Six lines. The keyboard only pops up when you need it anyway
12:05:11 <AnMaster> on irc, wouldn't that be almost constantly
12:05:17 <ehirdiphone> Fifteen lines without the kb.
12:05:32 <ehirdiphone> AnMaster: I just tap off when i'm not responding
12:05:42 <AnMaster> ehirdiphone, what about feedback, I guess there is none?
12:05:47 <AnMaster> I mean, tactile
12:06:30 <ehirdiphone> None. But the large keys + correction beat other phones, with tiny, clacky keys and barely any correction.
12:06:44 <AnMaster> ehirdiphone, sure
12:06:47 <ehirdiphone> You can have audio taps if you like that sort of thing.
12:06:49 <ehirdiphone> I don't.
12:07:00 <AnMaster> phones really aren't meant for writing a lot on
12:07:05 <ehirdiphone> Indeed.
12:07:28 <ehirdiphone> It does quite commendably for such an edge case as irc
12:07:37 <AnMaster> nice
12:07:52 <ehirdiphone> Would be fun to have a Dasher app
12:08:01 <ehirdiphone> Way slower than a kb though
12:08:12 <AnMaster> ehirdiphone, even with eye tracking?
12:08:28 <ehirdiphone> With eye tracking it'd be glacial.
12:08:30 * AnMaster should try dasher some time
12:08:37 <ehirdiphone> The eye can't track very precisely..,
12:08:38 -!- adam_d has joined.
12:08:46 <ehirdiphone> *...
12:17:44 <ehirdiphone> I should write a bookmarks system I actually like
12:20:01 <AnMaster> ehirdiphone, "Dasher is not good nor does it work very well, however, it is quite fun", took a while to write
12:20:05 <AnMaster> in dasher
12:20:44 <ehirdiphone> It is an accessibility tool. It is good.
12:20:59 <ehirdiphone> I can write quite fast with dasher
12:21:04 <ehirdiphone> About 10wpm
12:21:12 <ehirdiphone> Or could at least
12:21:26 <AnMaster> ehirdiphone, well yes for that it is good
12:21:26 <ehirdiphone> Set it to fast
12:21:38 <ehirdiphone> Make sure to use a trained data set
12:21:48 <ehirdiphone> And keep the cursor at the right
12:21:51 <AnMaster> ehirdiphone, I planned to write "not good for normal usage" but I was unable to locate "for" at that point ;P
12:22:01 <ehirdiphone> Look in the gaps
12:22:11 <AnMaster> ehirdiphone, also writing my name took ages
12:22:17 <AnMaster> not surprising
12:22:18 <ehirdiphone> Alphabetical order :P
12:22:27 <AnMaster> ehirdiphone, yes I figured out that about "nor"
12:22:35 <AnMaster> well the "r" in nor
12:23:32 <AnMaster> ehirdiphone, what does the green and yellow boxes mean
12:23:34 <ehirdiphone> AnMaster: Want some fun? Type "The quick brown fox jumped over the lazy dog." in Dasher repeatedly
12:23:35 <AnMaster> the white one is space
12:23:44 <ehirdiphone> By the fifth time it'll be trivial
12:23:45 <AnMaster> the green contained comma I found out
12:23:51 <ehirdiphone> Soon enough
12:23:56 <ehirdiphone> The ENTIRE SCREEN
12:24:04 <ehirdiphone> Is lazy dogs and foxes
12:24:05 <AnMaster> ehirdiphone, it learns it as you type you mean?
12:24:10 <ehirdiphone> Yep
12:24:21 <AnMaster> ehirdiphone, okay, still the green and yellow boxes after the letters
12:24:33 <ehirdiphone> AnMaster: Colour is character type maybe?
12:24:37 <ehirdiphone> Or just random
12:24:42 <AnMaster> ah hm yellow seems to be upper case
12:24:48 <ehirdiphone> So you can see the nesting
12:24:58 <ehirdiphone> You can often see letters in letters
12:25:03 <ehirdiphone> So it's useful
12:26:05 <AnMaster> ehirdiphone, actually there are some fixed special ones at the end. As far as I tell it is: yellow contains upper case letters, green contains comma, period and similar, plus a few I'm not sure about, white is space
12:26:36 <AnMaster> ah seems the dead key bit in é may be in the green area too
12:27:23 <AnMaster> hm no
12:27:29 <ehirdiphone> Requirements of a good bookmark system: Stores the page on disk. Offers full text search. One category per bookmark, not tags, assigned after the fact (bookmark button requires no input, all automatic); categorise them once every few days, say
12:28:04 <AnMaster> ehirdiphone, storing page on disk. So offline cache?
12:28:20 <ais523> what about a tag system that can be used for categories instead if you prefer by only using a single tag; would you approve or disapprove?
12:28:21 <ehirdiphone> Yes. For full text search and in case the page goes offline
12:28:45 <ehirdiphone> ais523: Disapprove. You can think of a hundred tags for every link.
12:29:01 <ehirdiphone> A simple choice from a short list is much less like work.
12:29:34 <ehirdiphone> The idea is: Make saving bookmarks really easy, and finding them really easy.
12:29:48 <ehirdiphone> Otherwise, I won't bother to use it.
12:30:34 <ais523> I use bookmarks as a TVtropes queue, works wonders
12:30:45 <ehirdiphone> It's also important that they're in bookmarks.HTML format so I can use them from my browser
12:30:46 <ais523> as in, mark pages I want to read sometime, but not necessarily now
12:30:54 <ais523> means you can read just one page without regrets
12:30:55 <ehirdiphone> With two special links:
12:31:12 <AnMaster> ehirdiphone, I seem unable to write "café" in dasher
12:31:19 <ehirdiphone> "Search bookmarks" (to http://localhost:12345 or whatever)
12:31:21 <ehirdiphone> and
12:31:33 <ehirdiphone> "Bookmarks page"
12:31:51 <ehirdiphone> to ~/foo/bookmarks.HTML
12:32:09 <ehirdiphone> which has a symlinks in the browsers directory
12:32:14 <ehirdiphone> *symlink
12:32:39 <ehirdiphone> also, the HTML page should be styled, eg three column format with category headers
12:32:43 <AnMaster> ehirdiphone, very strange that the English model doesn't allow English words ;)
12:32:48 <ehirdiphone> to fit them all on the screen
12:33:00 <ehirdiphone> AnMaster: The English word is "cafe" :p
12:33:07 <AnMaster> ehirdiphone, aspell disagrees
12:33:17 <ehirdiphone> Your mom agrees.
12:33:34 <ehirdiphone> hmm
12:33:39 <AnMaster> ehirdiphone, wikipedia agrees with me http://en.wikipedia.org/wiki/Caf%C3%A9
12:33:54 <ehirdiphone> you should be able to go to cgi pages on file:// urls
12:34:04 <AnMaster> ehirdiphone, "In the United Kingdom and Ireland a café (with the acute accent) is similar to those in other European countries, while a cafe (without acute accent) refers to a Greasy spoon style restaurant"
12:34:18 -!- MizardX has joined.
12:34:27 <ehirdiphone> So you can have ~/bookmarks/search.cgi without running a server all the time
12:34:59 <AnMaster> ehirdiphone, I'm quite sure it would add a lot of complexity few people would use to the browser ;P
12:35:03 <ehirdiphone> file:///home/ehird/bookmarks/search.cgi?query=butts
12:35:09 <ehirdiphone> AnMaster: shaddup
12:35:24 <ehirdiphone> You could even give it a keyword
12:35:35 <ehirdiphone> So you can go to "bm butts"
12:35:37 <AnMaster> ehirdiphone, but doesn't lynx or links2 or some such have limited support for it?
12:35:38 <AnMaster> iirc
12:36:05 <AnMaster> " If built with the cgi-links option enabled, Lynx allows access to a cgi script directly without the need for an http daemon."
12:36:07 <AnMaster> from man page
12:36:12 <ehirdiphone> Cute.
12:36:19 <ehirdiphone> I'm mostly joking, anyway.
12:36:31 <AnMaster> ehirdiphone, seems like someone took the idea seriously
12:36:47 <ehirdiphone> Time travellers!
12:37:40 <ehirdiphone> hmm... You could train a spam filter to automatically categorise the bookmarks :D
12:38:25 <ehirdiphone> which would work if you bookmark porn and programming, but not, say, physics and mathematics..,
12:38:28 <ehirdiphone> *...
12:39:23 <ehirdiphone> And porn and chemistry? Only if you don't study cummingtonite.
12:39:28 <ehirdiphone> *rimshot*
12:52:26 <AnMaster> ehirdiphone, Programming and mathematics wouldn't work either
12:52:51 <ehirdiphone> Wrong.
12:53:01 <AnMaster> oh?
12:53:10 <AnMaster> why would it work better than physics and math?
12:53:14 <ehirdiphone> Theoretical CS and mathematics would probably not be TOO bad either.
12:53:39 <ehirdiphone> Programming involves no lemmas. No mathematical notation.
12:53:48 <ehirdiphone> No mathematical shorthand.
12:53:50 <ais523> I can imagine web pages which would be both
12:53:57 <ehirdiphone> No statements and proofs.
12:53:58 <ais523> but it's less likely than a web page about one or the other
12:54:01 <ehirdiphone> Need I go on?
12:54:47 <ais523> ehirdiphone: how would you categorise http://en.wikipedia.org/wiki/Dijkstra%27s_algorithm
12:54:49 <ais523> maths or programming?
12:55:00 <AnMaster> ehirdiphone, Math notation sure. For example I had course literature that discussed discrete mathematics and used lisp to demonstrate some things
12:59:38 <ehirdiphone> Ais523: programming/cs
13:06:18 <ehirdiphone> I wish you could do this in /etc/hosts:
13:06:28 <ehirdiphone> 127.0.0.1:12345 foo
13:06:33 <ehirdiphone> eg
13:06:54 <ehirdiphone> 127.0.0.1:7619 search-bookmarks
13:07:16 <ehirdiphone> http://search-bookmarks/?q=butts
13:07:41 <ehirdiphone> would be an acceptable substitute for named ports
13:07:53 <ehirdiphone> For some uses
13:09:57 -!- anmaster_l has quit ("Leaving").
13:11:04 -!- soupdragon has joined.
13:16:04 -!- ehirdiphone has quit ("Get Colloquy for iPhone! http://mobile.colloquy.info").
13:34:46 <soupdragon> is singularity possible or just sci fi ?
13:35:22 <ais523> not actually possible, there are fundamental limits on the amount of information in the universe
13:35:40 <ais523> the concept of a self-improving AI is, I think, theoretically possible but hundreds of years out, or maybe even thousands
13:35:42 <soupdragon> really the universe is finite ?
13:35:56 <ais523> the observable universe is
13:36:15 <soupdragon> I don't know what that emans
13:36:15 <ais523> and you can't store information outside the observable portion
13:36:21 <soupdragon> why not?
13:36:27 <ais523> soupdragon: it's basically a consequence of the speed of light and the expansion of the universe
13:36:32 <soupdragon> oh okay
13:36:43 <ais523> some points are expanding at a rate, relative to you, that means even sending data at the speed of light, you'd never reach them
13:40:31 <ais523> so even if you filled the entire observable universe with black holes, there'd only be a finite amount of information you'd ever be able to store, let alone retrieve
13:40:48 <ais523> (apparently, black holes have the best storage density of any known object)
13:40:57 <ais523> (probably because they have the best density full stop)
14:05:44 <mycroftiv> the black hole information loss problem is really fascinating
14:06:37 <mycroftiv> hawking's semi-recent idea that the 'sum over all histories' means there is no information loss from black holes because in the universe histories where black holes didnt form the information didnt go away makes my head hurt
14:13:37 -!- Asztal has joined.
14:13:52 -!- oerjan has joined.
14:18:38 <AnMaster> does anyone know if the SQL standard is available for free of if it is "pay for a copy" style?
14:19:15 <oerjan> and then suddenly the logs are back to the old GMT-8 time zone again...
14:20:22 <AnMaster> sigh, not free it seems
14:21:49 -!- MizardX- has joined.
14:30:41 <ais523> check to see if there are free drafts
14:38:02 -!- MizardX has quit (Read error: 110 (Connection timed out)).
14:38:14 -!- MizardX- has changed nick to MizardX.
15:03:31 -!- oerjan has quit ("leaving").
15:06:25 -!- Pthing has quit (Remote closed the connection).
15:15:25 -!- ehirdiphone has joined.
15:15:58 <ehirdiphone> soupdragon: Singularity is posdie. ais523 is mistaken about what it means
15:16:09 <soupdragon> posdie??
15:16:16 <ais523> ehirdiphone: technically, it isn't a singularity if it doesn't explode to infinity
15:16:17 <ehirdiphone> Possible
15:16:19 <ais523> mathematically, at least
15:16:35 <ehirdiphone> ais523: That is not what a technological singularity is.
15:16:40 <soupdragon> part of me asking this is to understand what it means
15:17:05 <ehirdiphone> soupdragon: A self improving ai that accelerates to intelligence far above human
15:17:20 <soupdragon> :(
15:18:24 <ehirdiphone> soupdragon: If you want to learn more, pointers: Vernor Vinge, Eliezer Yudkowsky, Creating Friendly AI (a work with actual practical implications), Less Wrong,
15:18:48 <ehirdiphone> Singularity Institute for Artificial Intelligence
15:18:51 <soupdragon> yeah I have Eliezer Yudkowsky bookmarked from when you mentioned before
15:19:24 <ehirdiphone> (namedrop: Douglas hofstadter attended the institute's 2009 summit and gave a talk)
15:19:31 <soupdragon> :/
15:19:37 <soupdragon> that doesn't instill confidence in me
15:19:55 <soupdragon> the opposite infact
15:19:58 <ehirdiphone> I pity the foo who dislikes Hofstadter
15:20:13 <ehirdiphone> Crazy, yes. Interesting, undoubtedbly.
15:20:43 <soupdragon> Bookworm, Run! good?
15:20:48 <ehirdiphone> soupdragon: anyway one of three things will happen in the next couple hundred years
15:20:53 <ehirdiphone> Singularity
15:20:57 <ehirdiphone> Extinction
15:21:00 <ehirdiphone> Stasis
15:21:05 <ehirdiphone> 3 is unlikely
15:21:16 <ehirdiphone> soupdragon: Eh?
15:21:28 <soupdragon> ehird read metamorphosis of prime intelletc
15:21:34 <soupdragon> it's a book by Vernor Vinge
15:21:58 <ehirdiphone> vernor vinge, just read his original writing
15:22:07 <ehirdiphone> that coined singularity as a term
15:22:30 <soupdragon> link ?
15:22:38 <soupdragon> I don't know what exactly you're referring to
15:22:41 <ehirdiphone> Wikipedia it.
15:22:47 <ehirdiphone> It has a link on his page
15:22:50 <soupdragon> I am looking at the wiki page :/
15:23:03 <ehirdiphone> soupdragon: I'll find it in a no
15:23:05 <ehirdiphone> Mo
15:23:08 <soupdragon> The Coming Technological Singularity:
15:23:08 <soupdragon> How to Survive in the Post-Human Era
15:23:09 <ehirdiphone> Just a warning
15:23:09 <soupdragon> this?
15:23:12 <ehirdiphone> Yes
15:23:15 <soupdragon> okay
15:23:41 <ehirdiphone> Singularity will inevitably lead you to the rationalist community, they are almost identical
15:23:51 <ehirdiphone> And that is a very deep rabbit hole
15:23:55 <ehirdiphone> If you don't wa
15:23:56 <soupdragon> you mean, I will become a rationalist?
15:24:12 <ehirdiphone> nt to change how you think forever, forget this
15:24:17 <ehirdiphone> soupdragon: probably
15:24:30 <ehirdiphone> It'll be in the back of your mind even if you dint
15:24:35 <ehirdiphone> *don't
15:25:22 <ehirdiphone> First time I ignored it, second time I tried to forget it.. Third time, it's got me
15:25:31 <soupdragon> :))))
15:26:13 <soupdragon> ehird I don't want to give away plot details
15:26:19 <soupdragon> but I am thinking about this book a lot
15:26:29 <soupdragon> probably because I read it all in one go
15:26:44 <ehirdiphone> I read the wp plot summary. Forgotten a bit but I remember I think some parts
15:27:07 <soupdragon> well it's very similar to Last Question actually
15:27:27 <ehirdiphone> soupdragon: Eliezer Yudkowsky happens to be an excellent scifi writer btw - "Rhree
15:27:29 <ehirdiphone> Erm
15:27:39 <ehirdiphone> "Three Worlds Collide"
15:27:52 <ehirdiphone> (not singularity. About ethics though)
15:28:23 <ehirdiphone> (related protip: read the fake ending then the real one. The links there are kinds confusing)
15:28:33 <ehirdiphone> I'm talking too much
15:28:40 <soupdragon> the fake ending of what??
15:28:51 <ehirdiphone> Three Worlds Collide
15:28:54 <soupdragon> okay
15:28:57 <ehirdiphone> I mean
15:29:04 <soupdragon> right now I'm reading this Vinge thing
15:29:06 <ehirdiphone> Before the real ending
15:29:19 <ehirdiphone> soupdragon: Its a good start
15:29:41 <soupdragon> im studying computational linguistics too
15:31:59 -!- MizardX- has joined.
15:33:05 <ehirdiphone> Btw there *is* a lot of overlap of scifi nerds/singularitarians but not all (Kurzweil isn't a scifi dude, just a fool!) - I think it's because the mainstream discourse has no field for this, it's sort of an all encompassing field - and because ideas originating in scifi are cursed to stay there
15:33:14 <ehirdiphone> But make of it what you will
15:34:19 <soupdragon> yeah sometimes when I read sci-fi and I think about how cool the stuff is and how I want it be real I feel like an insane person that thinks video games are real
15:34:40 <ehirdiphone> Sci fi is a peculiar genre
15:34:49 <ehirdiphone> We think what we want and write it
15:34:56 <ehirdiphone> With some twists
15:35:12 <ehirdiphone> It's not like fantasy
15:35:31 <ais523> fiction's made out of setting and plot
15:35:32 <ehirdiphone> It's just a way of weaving a story from our desires
15:35:38 <ais523> the setting differs between genres, the plots don't really
15:35:57 <ehirdiphone> Hard sci fi has unique plots.
15:36:05 <ehirdiphone> As unique as they get anyway
15:36:06 <soupdragon> well I really felt that Last Question and Metamorphosis of Prime Intellect has the /same/ plot
15:36:29 <ehirdiphone> I ought to get round to writing my singularity short story
15:36:34 <soupdragon> different details, one could be the sequel of the other
15:36:45 <ehirdiphone> It isn't very good, but I'll end up writing it anyway
15:37:22 <ehirdiphone> last question is entirely symbolic IMO
15:37:31 <soupdragon> oh??
15:37:38 <ehirdiphone> oh to what
15:37:38 <soupdragon> I didn't really think of it in a symbolic way at all
15:38:08 <ehirdiphone> Ac going into a universe away from universe? Nahh. It's about progress, I think
15:38:23 <ehirdiphone> We march on into more prosperous and cl
15:38:30 <ehirdiphone> Combined intelligences
15:38:46 <ehirdiphone> But we still have the same unanswerable question
15:38:55 <soupdragon> aha
15:39:00 <ehirdiphone> and you can only answer it when it's subject is gone
15:39:09 <ehirdiphone> Ac is outside universe
15:39:14 <ehirdiphone> So no entropy
15:39:25 <ehirdiphone> And that's how it solves the question
15:39:37 <ehirdiphone> So yeah, I see it as symbolic
15:39:57 <soupdragon> how is that symbolic ?
15:39:59 <ehirdiphone> Sort of a combination:
15:40:16 <ehirdiphone> "You can never understand a system fully from the inside"
15:40:20 <ehirdiphone> and
15:40:49 <ehirdiphone> "No matter how far we progress, we're still bound by the limitation of being in the universe"
15:41:09 <soupdragon> yeah
15:41:35 <ehirdiphone> I think the basically religious ending (AC becomes pure energy outside the universe and the genesis quote) made me sure it wasn't a literal story as such
15:42:11 <ehirdiphone> entropy is a bastard though totally
15:42:25 <soupdragon> heave you heard of maxwells demon?
15:42:30 <ehirdiphone> Yes
15:43:06 <soupdragon> I just read about for the first time a couple weeks ago, came across it in the physics section of the library
15:44:46 <soupdragon> I don't get entropy at all, biogenesis goes completely against (my understanding of) it
15:44:58 <ehirdiphone> You said you study computational linguistics funny because I'm pretty sure any ai will involve a fuckton of it
15:48:04 -!- MizardX has quit (Connection timed out).
15:48:25 -!- MizardX- has changed nick to MizardX.
15:48:28 <AnMaster> fizzie, ais523: either of you uses lyx?
15:48:34 <AnMaster> or ehirdiphone maybe
15:48:41 <ais523> AnMaster: I have it installed, but rarely use it
15:48:43 * AnMaster is having an annoying little problem
15:49:16 <ehirdiphone> Lyx is latex for pussies who can't type \, { and }
15:49:22 <ehirdiphone> :))))
15:49:31 <AnMaster> basically there is a paragraph "type" called "LyX-Code" that is similar to <pre> in HTML in it's results. However it also results in the paragraph being slightly indented
15:50:04 <AnMaster> which usually is not very bad, but here when I need it inside a table looks rather strange to say the least
15:50:34 <AnMaster> wondered if anyone knew how to get rid of that 0.5-1 em or so indentation
15:50:38 <AnMaster> indention*
15:51:58 <AnMaster> err was correct first time
15:52:53 <ehirdiphone> I suggest using a can of manliness and uninstalling LyX.
15:53:56 -!- soupdragon has quit (Remote closed the connection).
15:54:02 <fizzie> I've been dabbling with LyX for short one-off documents (like single-course homework reports and such) but can't say I've ever used the "LyX-Code" style.
15:54:04 <AnMaster> ehirdiphone, it is quite nice I found.
15:54:10 -!- soupdragon has joined.
15:54:34 <fizzie> I have used the "insert/program listing" thing, which I guess uses the "standard" listings package for formatting.
15:54:57 <AnMaster> hm
15:55:26 <AnMaster> fizzie, could work, I don't think it had that when I started to use LyX some years ago. Probably explains why I got used to using LyX-code isntead
15:55:28 <AnMaster> instead*
15:55:57 <fizzie> Yes, it seems it was added in 1.5.0-beta3.
15:56:22 <fizzie> There
15:56:25 <AnMaster> right, began with 1.4.x
15:56:31 <AnMaster> and yes it seems to solve the issue, thanks
15:56:49 <fizzie> 's a "document/settings/text layout/Listing settings" thing where you can stick any parameters supported by the listings package, if you want frames around listings or whatever.
15:57:22 <AnMaster> hm doesn't seem to be a nice way to make it remember defaults for future listing insertion
15:58:36 <AnMaster> well copy and paste the listing and replace what's in it would work
16:05:12 <fizzie> Also I have a picture of a very big pyramid: http://zem.fi/g2/d/9571-2/p1050097_panorama.jpg -- taken very near (well, there wasn't much room to back off) and mapped with the equirectangular projection, makes it look even bigger than what it actually is. Especially when you look at the tiny tiny people there.
16:05:28 <fizzie> (What do you mean that's not related?)
16:06:20 <soupdragon> did you take that?
16:06:29 <fizzie> Yes.
16:06:41 <soupdragon> im so jelous..
16:06:59 <soupdragon> can you tell me how it felt to see the pyramids?
16:08:19 <fizzie> A bit underwhelming, to be honest. It's incredibly old, I know, but it's still a pile of rocks that smells very heavily of camel excrement, and is surrounded by a huge mob of all kinds of salespeople and people-not-actually-selling-anything-but-wanting-a-bit-of-money-anyway people.
16:09:02 <fizzie> The not-quite-as-old-but-still-pretty-old tombs in the Valley of the Kings were perhaps more impressive. (Alas, that place had a strict "no photography at all" rule.)
16:10:14 <fizzie> (To be fair, I guess it's not the pyramid itself that's smelly, just the surroundings. I doubt you'd get a camel to walk actually on that thing.)
16:10:43 <soupdragon> well it's an incedible photo
16:11:31 <fizzie> Here's also one of the source images that went into the composite; this one probably appeals more to people who don't like the fisheye-ness of the first one: http://zem.fi/g2/d/9574-2/p1050103.jpg
16:11:56 <soupdragon> im a bit surprised you didn't like it
16:12:26 <soupdragon> I always imagined that seeing the pyramids would be a really powerful and emotional experience
16:13:12 <ehirdiphone> just big rocks with dead people inside
16:13:29 <fizzie> Not much inside at this point, too.
16:14:05 <ehirdiphone> Did you go inside?
16:14:23 <ehirdiphone> I'd be too freaked to, irrational fear of mine
16:14:25 <fizzie> It was worth visiting, to be sure. It's just that having to say "no, no" every twenty seconds to someone who tries to get his camel in your photo so that he can ask for money for the privilege detracted from the experience, I think.
16:14:29 <ehirdiphone> Can't seem to shake it
16:15:21 <fizzie> No. From what I hear, they're pretty cramped (no room to stand up + bazillion other people trying to push you around).
16:15:32 <ehirdiphone> fizzie: Photo the camel and then DON'T PAY. You will overthrow the state
16:17:17 <fizzie> But that would be against the established social order of things.
16:17:37 <soupdragon> fear of going inside buildings? :P
16:18:16 <fizzie> We did go inside the Valley of the Kings tombs (well, three of them, as was included in the ticket); those were nice and roomy, and nicely decorated.
16:18:59 <ehirdiphone> sweet gcc has __builtin_constant_p
16:19:13 <ehirdiphone> soupdragon: just fear of Egyptian mythology I guess
16:19:21 <ehirdiphone> or tombs of any kind really
16:19:53 <ehirdiphone> fizzie: Fall into any secret catacombs?
16:20:09 <soupdragon> ah okay
16:20:12 <ehirdiphone> You know, with horrible beasts in the pitch black and untold riches.
16:21:38 <fizzie> No. But it was a bit amusing that about half of the tombs have managed to hit another tomb during the digging, and have had to make awkward 90.degree turns because of that. (Since the tombs were supposed to be hidden, it's not like you could call the municipality for digging directions.)
16:22:33 <fizzie> They've found something like 63 tombs from the not-so-big valley; it probably looks a bit like swiss cheese if you take a cross-section of it.
16:23:04 <fizzie> Everything's been stolen off both the pyramids and the tombs, anyway. We did look at Tutankhamon's stuff in the Egyptian Museum, later. (Also a no-photo place.)
16:24:07 <fizzie> Though I had http://en.wikipedia.org/wiki/King_Tut_%28song%29 looping incessantly in my head the whole time we were there.
16:24:08 <ehirdiphone> Toot and char moon
16:26:46 <ehirdiphone> Tootin' car moon
16:27:41 <ehirdiphone> Toot ink arm oom.
16:27:47 <ehirdiphone> *ion
16:27:50 <ehirdiphone> *oon
16:34:14 -!- ehirdiphone has quit ("Get Colloquy for iPhone! http://mobile.colloquy.info").
16:39:19 -!- soupdragon has quit ("Leaving").
17:00:09 -!- Sgeo has joined.
17:27:19 -!- BeholdMyGlory has joined.
17:30:35 -!- osaunders has quit ("Bye").
17:51:59 -!- osaunders has joined.
19:09:40 -!- osaunders has quit.
19:23:51 -!- osaunders has joined.
19:50:15 <AnMaster> hm would it be possible (in theory) to get a higher resolution scan than "native" resolution of something by taking several scans and moving the scanned thing half a pixel or such in between
19:50:20 <AnMaster> and then interpolate or such
19:53:20 <fizzie> "Moving the scanned thing half a pixel" doesn't sound exactly trivial in many cases.
19:53:41 <AnMaster> fizzie, notice "in theory"
19:53:44 <ais523> AnMaster: apparently, that's how bee vision works
19:53:55 <AnMaster> "huh"
19:54:00 <AnMaster> ais523, really?
19:54:10 <AnMaster> also what? do they move the flowers half a pixel!?
19:54:23 <AnMaster> fizzie, also what about a stepper motor?
19:54:23 <ais523> their vision only has a few hundred pixels
19:54:42 <ais523> but as they move around, they get more info
19:54:48 <fizzie> There's a term for it: http://en.wikipedia.org/wiki/Super-resolution
19:55:19 <fizzie> "Multiple-frame SR use the sub-pixel shifts between multiple low resolution images of the same scene. They create an improved resolution image fusing information from all low resolution images, and the created higher resolution images are better descriptions of the scene."
19:57:38 <AnMaster> hm
20:04:17 <AnMaster> fizzie, I wonder if you could use hugin for this, in theory
20:05:09 <AnMaster> of course they would have moved many pixels, but as long as they didn't move exactly whole pixels, you have enough images, no parallax and luck with control points it should work
20:06:26 -!- lament has joined.
20:07:21 <fizzie> The control points by definition move full pixels, though; at least I think their positions are integers in the image coordinates. I would guess you'd have more luck with one of the algos especially designed for the purpose.
20:08:35 <fizzie> Speaking of hugin, did some experimenting with HDR+tone-mapping for one panorama that had both direct-sunlight and in-shadow parts, as I wanted details (engravings) visible for both.
20:08:47 <AnMaster> fizzie, did it work better than enfuse?
20:09:27 <fizzie> Yes and no; I did get better contrast in some parts, but also some artifacts.
20:09:33 <AnMaster> fizzie, also, did you make sure the images were linear? iirc that is quite important (check panotools wiki),
20:09:46 <AnMaster> unlike for enfuse iirc
20:11:04 <fizzie> Well, I didn't follow any guidelines; it was an ex-tempore thing.
20:13:00 <fizzie> I just took a pile of shots at auto-exposure, fixed WB, then optimized positions only (no exposure) and used hugin's built-in "map images to linear color space and blend to a HDR output" mode, followed by one of the psftmo tone-mapping tools.
20:14:47 <fizzie> At least the luminance histogram for the resulting HDR file was strongly bimodal, which is what I'd have expected; the shadowy and sunlighty portions were at rather different value ranges.
20:14:59 <fizzie> I'll try to find the result.
20:19:48 <AnMaster> fizzie, I mean, as in linear sensor data
20:20:10 <AnMaster> iirc that means gamma linearity = 1
20:20:12 <AnMaster> and such
20:20:29 <AnMaster> something to do with not using "color matrix" option in ufraw either
20:21:11 <fizzie> Meh; that doesn't sound like something that couldn't be remapped afterwards.
20:23:53 -!- asiekierka has quit (Read error: 60 (Operation timed out)).
20:24:24 <fizzie> http://wiki.panotools.org/HDR_workflow_with_hugin speaks of "unrolling" the images with a calibrate camera response, though the big fat "this is outdated" disclaimer does not fill me with confidence.
20:32:16 <Sgeo> Should I get Visual Studio 2008 Professional Edition if I can get it for free? (I can also get 2010 beta or something)
20:32:36 <Sgeo> No, it's not a beta
20:32:58 <Sgeo> yes it is
20:33:59 <AnMaster> Sgeo, MSDNAA?
20:34:07 <Sgeo> hm?
20:34:14 <AnMaster> Sgeo, well, how else for free?
20:34:21 <Sgeo> DreamSpark
20:34:26 <AnMaster> never heard of that
20:34:32 <Sgeo> https://www.dreamspark.com
20:34:39 <Sgeo> Some software free for students
20:35:00 <AnMaster> Sgeo, get warning about invalid SSL cert
20:35:03 <AnMaster> unknown CA
20:35:10 <Sgeo> I don't get any warnings
20:35:31 <AnMaster> Sgeo, also not free software. Free software = open source
20:35:38 <AnMaster> you mean no-cost or such
20:35:44 <Sgeo> ahaha y2k bug on the website
20:35:54 <uorygl> Well, he never said "free software", only "software free".
20:36:04 <AnMaster> uorygl, ah misread it
20:36:31 <AnMaster> anyway this dreamspark. looks like MSDNA with psychedelic theme ;P
20:36:32 <AnMaster> kind of
20:36:37 <AnMaster> MSDNAA*
20:37:20 <fizzie> DreamSpark is for pretty much any student, though; msdnaa is restricted to participating institutions.
20:38:25 <uorygl> DreamSpark uses the "Microsoft" trademark all over the place and its nameserver is at msft.net.
20:38:26 <fizzie> DreamSpark's also a newer thing. I remember downloading *something* from thee, but I've already forgotten what it was, so I'd guess it wasn't anything too useful.
20:39:58 <fizzie> s/thee/there/; I was not trying to speak Ye Olde Butcherede Englishe.
20:40:00 <uorygl> Let me try that again. DreamSpark uses the "Microsoft" trademark all over the place and has a Wikipedia article; therefore, they're legitimate.
20:41:13 <Sgeo> "You may install one copy of the Software made available to You through the Student Program on Your own device, but only (a) to support Your science, technology, engineering, mathematics and/or design (STEM-D) education; (b) in non-commercial STEM-D research; or (c) to design, develop, test, and demonstrate software programs for the above purposes."
20:41:21 <Sgeo> Fuck you
20:41:37 <Sgeo> Well, actually, in a sense, _anything_ I do in it supports my education, right? >:D
20:41:48 <uorygl> Of course. What were you planning to do with it?
20:43:08 <Sgeo> Write stuff. Perhaps be able to participate again in the game I was fired from (They're using C# now. I'm no longer the primary programmer, but can participate if I learn C#). Maybe a Second Life bot (libSL is a .NET ... thingy, so I _could_ try to figure out IronPython, but all examples are C#)
20:44:44 <Sgeo> 3GB :/
20:44:57 <Sgeo> I think I'll just download Visual Studio C# Express for now
20:45:46 <uorygl> What is this game?
20:46:18 <Sgeo> uorygl, sort of a futuristic clone of an Active Worlds game that died in 2005
20:46:46 <Sgeo> I'm technically still irreplacable as the person who knows the most about that game, but am apparently replacable as programmer.
20:49:18 <uorygl> Were you fired for any reason other than not knowing C#?
20:49:59 <Sgeo> uorygl, for not getting the work done
20:50:03 <Sgeo> I kept doing other things
20:50:33 <Sgeo> uorygl, C# is only a requirement because that's what my replacement's most comfortable with
20:50:33 <uorygl> Ah.
20:51:28 <Sgeo> On New Years Eve, I was in-world, and they were trying to talk to me, but I was in another window. Then, later, I was telegrammed (which plays a sound, getting my attention) that I was replaced
20:53:33 -!- ais523 has quit (Remote closed the connection).
21:02:32 -!- MizardX- has joined.
21:13:43 -!- madbrain has joined.
21:18:14 -!- MizardX has quit (Read error: 110 (Connection timed out)).
21:18:27 -!- MizardX- has changed nick to MizardX.
21:23:51 <Sgeo> Dear Visual Studio C# Express installer: I _just told you_ I don't want to install SQL Server Express
21:27:31 <madbrain> I wonder if tetris is turing equivalent
21:31:17 <Sgeo> That reminds me, I want to investigate Small Worlds to see if the player-created "missions" are turing-complete
21:36:05 <lament> to see the world in a grain of sand!
21:36:10 <lament> and heaven in a wild flower!
21:36:16 <lament> hold infinity in the palm of your hand,
21:36:21 <lament> and eternity in an hour!
21:36:28 <uorygl> madbrain: well, not without infinite storage.
21:36:53 <uorygl> There are two obvious ways to have infinite storage: an infinitely tall board, and an infinitely wide board.
21:37:13 <uorygl> An infinitely tall board would probably function as a single stack, and therefore be insufficient, but I'm not sure.
21:37:46 <uorygl> On an infinitely wide board, the mechanic would have to be modified somehow, as you can't actually complete a row.
21:37:51 <madbrain> uorygl: well, if you had a pattern on notes on the left side, could you do computation with that?
21:38:07 <uorygl> If you had a what?
21:38:14 <madbrain> notches
21:38:32 <madbrain> like, left most colum is filled, then the one next to that has a bit pattern
21:38:54 <uorygl> Hmm.
21:39:20 <uorygl> A major question is what it means for Tetris to compute.
21:39:48 <madbrain> well, the input could be a list of blocks
21:39:59 <madbrain> It would probably have to be non-deterministic
21:40:27 <madbrain> ie if your program is well formatted, only one input will not lead to an infinitely growing stack
21:40:38 <uorygl> Perhaps have some "thing" that's solvable if and only if a certain Turing machine halts, plus an algorithm for solving it if it is solvable.
21:41:05 <Sgeo> Hello world!. Sgeo sold his soul and sucked Microsoft's c*** just for ACT01 and
21:41:05 <Sgeo> Second Life
21:42:07 <madbrain> but then the computation becomes how to win, not the playing itself
21:49:27 <uorygl> Well, all you said was "Tetris".
22:56:11 -!- coppro has joined.
22:57:13 -!- adam_d_ has joined.
23:10:21 <AnMaster> <fizzie> DreamSpark is for pretty much any student, though; msdnaa is restricted to participating institutions. <-- I guess MSDNAA has more stuff?
23:10:39 <fizzie> Yes, I think so.
23:10:48 <fizzie> And more expensive stuff, too.
23:12:15 <fizzie> Incidentally, I did my first-ever emergency call a moment ago. There was a fire alarm that kept beeping, but I couldn't pinpoint-localize the source; couldn't figure out anything else than to call the emergency services. They dispatched a fire truck and a full set of firemen to handle the situation; not that they were having much more luck in locating the source of the beeping at first.
23:13:24 -!- adam_d has quit (Read error: 110 (Connection timed out)).
23:13:57 <fizzie> Turns out the people living directly upstairs from us had put a fire alarm on their balcony, for some really unfathomable reason. I don't know why it was beeping, but I guess it might have something to do with the -20 degree weather out there. Anyway, since it was on the balcony, it was pretty audible outside (and somewhat near the door to our balcony, which is directly below), but cleverly you could barely distinguish it at the apartment doors, so it wasn't
23:13:57 <fizzie> so easy to figure out which one it was.
23:14:01 <AnMaster> fizzie, ah, dreamspark won't have winxp pro x64 or such?
23:14:19 <fizzie> (There was no-one home, either, so they had to wait a while for the service company guy to come open the door.)
23:14:39 <uorygl> A smoke alarm?
23:15:05 <AnMaster> fizzie, crazy
23:15:28 <AnMaster> didn't I post a listing of all MSDNAA software some time ago?
23:15:56 <AnMaster> everything from MSDOS 6.1 to windows 20xx server beta something
23:16:04 <AnMaster> and visual studio and what not
23:16:07 <fizzie> Possibly, though I don't remember; anyway, DreamSpark has just Windows Server 2003 and 2008 on the OS side.
23:16:09 <AnMaster> not MS office though, not that I need it
23:16:30 <fizzie> And Visual Studio 2005/2008 Pro and "2010 Ultimate", whatever that is.
23:16:45 <fizzie> (That one's the beta.)
23:16:46 <AnMaster> why does the msdnaa bookmark in firefox has the wikipedia logo
23:16:51 <AnMaster> it isn't a wikipedia article about it
23:17:00 -!- adam_d_ has changed nick to adam_d.
23:17:02 <AnMaster> nor does the wikipedia logo show up on the actual msdnaa page
23:17:06 <AnMaster> it is just the bookmark
23:17:12 <fizzie> The DreamSpark theme has changed a bit; it was equally psychedelic earlier, but more green.
23:17:25 -!- oerjan has joined.
23:17:32 <AnMaster> fizzie, do you have MSDNAA though?
23:18:16 <AnMaster> whatever it is, it isn't psychedelic
23:18:56 <AnMaster> fizzie, look at http://msdn62.e-academy.com/elms/Storefront/Home.aspx?campus=orebro_appsci
23:19:02 <AnMaster> logged in pages look much the same
23:19:17 <fizzie> Yes. Well, "had". I'm not sure what the status is with us graduate students. Usually we don't have much on the benefits side.
23:19:22 <AnMaster> ah
23:19:25 <AnMaster> fizzie, how strange
23:19:26 <fizzie> I've seen and used the MSDNAA pages, anyway.
23:19:33 <fizzie> They were pretty utilitarian, yes.
23:19:33 <AnMaster> fizzie, looked same for you?
23:20:35 <fizzie> Close enough. Very official, very boring.
23:21:59 <AnMaster> fizzie, and here is the software list (yay view source): http://pastebin.ca/1735570
23:24:18 <AnMaster> I wonder what "x86 and x64 WoW" means
23:24:27 <AnMaster> does it mean the software isn't 64-bit?
23:26:39 <fizzie> Most likely, since WoW64 is that "run 32-bit stuff on x64 windows" thing.
23:29:59 <AnMaster> ah
23:30:06 <AnMaster> fizzie, seems visual studio is all 32-bit
23:30:28 <AnMaster> even 2010
23:34:48 <AnMaster> fizzie, shocking that there is no box shot for http://omploader.org/vMzU2YQ
23:34:49 <AnMaster> isn't it?
23:35:15 <AnMaster> also it just reminded me of how slow dialup is, that box near the bottom
23:38:37 -!- Deewiant has quit (farmer.freenode.net irc.freenode.net).
23:38:37 -!- oerjan has quit (farmer.freenode.net irc.freenode.net).
23:38:37 -!- fungot has quit (farmer.freenode.net irc.freenode.net).
23:38:37 -!- dbc has quit (farmer.freenode.net irc.freenode.net).
23:38:37 -!- yiyus has quit (farmer.freenode.net irc.freenode.net).
23:39:55 * AnMaster prods fizzie
23:43:00 -!- Deewiant has joined.
23:43:02 -!- oerjan has joined.
23:43:02 -!- fungot has joined.
23:43:02 -!- dbc has joined.
23:43:02 -!- yiyus has joined.
23:47:00 <fizzie> Consider me prodded. (I'm almost asleep here.)
23:49:08 <fizzie> 56K dialup is still on the fast-ish side; during the BBS era, I used to have a 2400 bps modem; there was a rule of thumb that it took a bit over an hour to move a megabyte over zmodem.
23:51:33 <fizzie> The BBS of the local computing rag (that is, magazine) allocated only 60 minutes of time per day; fortunately there was a "time bank" where you could deposit up to... I think up to four hours of extra time. So you could download a floppy-sized file easily, by first putting 50 minutes of one day's time in the bank, then withdrawing it the next day; the 1h50min you got that way was just about enough.
23:51:34 <AnMaster> fizzie, hah
23:51:58 <fizzie> (Okay, because zmodem could continue interrupted transfers, it wasn't quite that bad.)
23:52:05 <AnMaster> :P
23:52:45 <fizzie> The transfer speeds were a bit less with smodem which everyone used, because smodem was able to multiplex the IRC-like BBS chat channel with the file transfer; you could chat with people while the file transfers were going on.
23:54:51 <AnMaster> fizzie, mhm
23:55:02 <AnMaster> fizzie, so people used it rather than zmodem?
23:55:39 <fizzie> At least people who used to hang around the chat channel.
23:55:57 <fizzie> Besides, smodem was a Finnish invention.
23:58:14 <fizzie> "Smodem is a bidirectional protocol for file transfer used between modems, developed by a Finnish company Arisoft. It was mainly used in BBS systems, because it could transfer files in both directions at the same time, and allowed users to chat with each other with AriSoft's GroupChat software. Other popular bidirectional protocols, such as BiModem, HS/Link and HydraCom, also offered a chat option with the operator but not with system's other users."
23:58:36 <uorygl> You know, I can think of one think I would use a floppy disk for.
23:58:49 <augur> uorygl: :D
23:58:57 <fizzie> (Sleep now, nights.)
23:59:03 <uorygl> Of all the player pianos I remember seeing, all of them took floppy disks.
23:59:19 <augur> my player pianos take rolls of paper.
23:59:22 <augur> as do my computers.
23:59:37 <uorygl> Your player pianos are obsolete.
23:59:44 <augur> thats the point! :D
23:59:54 <uorygl> My player pianos are not obsolete!
2010-01-03
00:00:04 <uorygl> I mean, they take floppy disks. But apart from that, they are not obsolete!
00:00:12 <augur> sounds like obsolescence to me!
00:00:54 -!- osaunders has quit.
00:01:20 <uorygl> I guess one of those player pianos was actually an electronic piano.
00:02:04 <augur> ive been tempted on numerous occasions to build an electromechanical computer
00:02:07 <uorygl> Which is pretty much the same thing as a keyboard, except it's actually fashioned to look like a piano and doesn't have as many features.
00:02:25 <AnMaster> uorygl, my piano takes an usb cable
00:02:28 <uorygl> Ah yes, electromechanical computers. Have you ever designed one?
00:02:34 <augur> anmaster: "an usb cable"?
00:02:35 <augur> :|
00:02:39 <AnMaster> augur, yes?
00:02:43 <madbrain> midi usb?
00:02:45 <AnMaster> augur, it's called MIDI over usb
00:02:45 <AnMaster> yes
00:02:48 <augur> AnMaster: its "a usb cable"
00:02:51 <AnMaster> augur, why
00:02:54 <uorygl> AnMaster: is it a player piano, an electronic piano, or a keyboard? :-D
00:02:58 <augur> because it doesnt start with a vowel.
00:03:05 <AnMaster> augur, you pronounce it "U S B"
00:03:07 <AnMaster> not "usb"
00:03:10 <augur> you-ess-bee
00:03:18 <AnMaster> augur, yes indeed
00:03:20 <augur> the name for the letter "u" does not start with a vowel.
00:03:27 <AnMaster> augur, what about pronouncing it "usb" though
00:03:33 <AnMaster> then "an" would be correct
00:03:38 <augur> yes.
00:04:01 <AnMaster> augur, well then I pronounce it that way ;P
00:04:05 <augur> uorygl: partially. my idea was to try and imagine what a computer wouldve looked like if you took a morse-code like device and extended that model
00:04:21 <uorygl> My ideas have involved creating a computer using only relays.
00:04:22 -!- augur has quit (Read error: 104 (Connection reset by peer)).
00:04:27 * uorygl blinks.
00:04:33 -!- augur has joined.
00:04:36 <uorygl> My ideas have involved creating a computer using only relays.
00:04:44 <augur> yeah
00:04:48 <AnMaster> uorygl, also, no one uses a player piano these days
00:04:50 <augur> it always seemed odd to me that we didnt have electromechanical computers 150 years ago given that we had morse code back then
00:04:51 <AnMaster> long live midi
00:04:59 <AnMaster> and hardware midi to be specific
00:05:01 <uorygl> AnMaster: I have heard of MIDI player pianos.
00:05:03 <augur> AnMaster: noone uses midi these days. long live mp3.
00:05:32 <uorygl> MP3 is inferior to MIDI when it comes to things MP3 is incapable of doing and MIDI is capable of doing.
00:05:38 <AnMaster> augur, no one uses mp3, Long live flac
00:05:44 <augur> :P
00:05:46 <AnMaster> and what uorygl said
00:05:53 <augur> the converse is true too ofcourse.
00:06:04 <augur> i think we should build an electromechanical computer.
00:06:05 <uorygl> I agree that we ought to have had electromechanical computers since 1835.
00:06:25 <AnMaster> oh?
00:06:26 <augur> you know that the morse code machines were originally like type writers
00:06:27 <augur> ?
00:06:32 <madbrain> midi is the shit you use to make mp3
00:06:34 <uorygl> I think I had some idea.
00:06:39 <AnMaster> madbrain, no
00:06:40 <augur> but some douchebag convinced morse to use a push-level machine instead
00:06:42 <AnMaster> not quite
00:07:00 <uorygl> I think we should build an electromechanical router. Then we could make an Internet using only 19th century technology.
00:07:01 <augur> were it not for that, we'd probably have had the internet in 1850.
00:07:04 <lament> midi is a transport protocol
00:07:14 <lament> like IP, right?
00:07:21 <augur> think of it, an electromechanical type writer that could connect to a tape store remotely
00:07:29 <madbrain> unless you do music with straight musicians or something
00:07:31 <AnMaster> lament, and a file format
00:07:42 <lament> i only do music with gay musicians
00:07:51 <AnMaster> ?
00:07:55 <augur> the tape would store bits directly rather than as letters so it'd just feed right into the line
00:08:16 <uorygl> So, augur, let's figure out an error correction scheme that can be implemented using relays.
00:08:29 <madbrain> ECC?
00:08:32 <augur> well you wouldnt have error correction initially, right
00:08:35 <augur> you'd just have hard connections
00:08:49 <AnMaster> augur, reed Solomon?
00:08:52 <augur> and it wouldnt matter much either, because the signals are pretty strong, comparatively speaking
00:08:53 <AnMaster> Reed*
00:08:59 <uorygl> Isn't error correction pretty necessary?
00:09:00 <augur> AnMaster: whats that
00:09:03 <AnMaster> augur, iirc
00:09:14 <AnMaster> augur, http://en.wikipedia.org/wiki/Reed–Solomon_error_correction
00:09:16 <augur> uorygl: only when youre signals are weak
00:09:16 <madbrain> uorygl: depends on the noise levels and such
00:09:19 <AnMaster> augur, used on CDs and such
00:09:31 <uorygl> Well, the signals are going to get corrupted every time you do something to them.
00:09:47 <augur> sure but an electromechanical computer is going to emply pretty strong signals anyway
00:09:48 <AnMaster> augur, works by oversampling a polynomial, thus being able to reconstruct the missing data points if some are gone
00:09:55 <augur> so the signal degredation isnt going to be significant
00:10:02 <uorygl> If a signal goes 1,000 miles and passes through 10 routers, I think there's going to be quite a bit of signal degradation.
00:10:16 <augur> maybe maybe not, uorygle
00:10:22 <madbrain> ah, but that's transmission, not computation
00:10:26 <uorygl> Even worse if a signal is circulated for an indefinite length of time.
00:10:35 <uorygl> Besides, error correction is easy to implement, is it not?
00:10:47 -!- osaunders has joined.
00:11:14 <augur> i mean, they had routers back then for these signals
00:11:23 <augur> they already had transatlantic telegraphs
00:11:29 <uorygl> True.
00:11:31 <augur> by like 1850 or 1880 or whatever
00:11:37 <augur> so i dont think thats an issue
00:12:45 <augur> brb pizza :D
00:14:20 <uorygl> Okay, so we don't need error correction.
00:15:05 <uorygl> So, what sort of signals do we want to support? Packet switching? Circuit switching with in-band signaling?
00:15:19 <uorygl> How would packets be delimited? Time? Number of bits?
00:15:54 <AnMaster> in band is bad
00:16:08 * AnMaster whistles
00:16:13 <uorygl> :-)
00:16:39 <uorygl> In-band is good! It means you only need one band.
00:16:50 <uorygl> The phone guys came up with filters that prevented the whistling stuff, no?
00:17:18 <AnMaster> uorygl, so some freqs were forbidden? Would break said data
00:17:25 <AnMaster> you need to *escape* it instead then
00:17:39 <uorygl> Now, let me read a bit about how relays work.
00:18:01 <AnMaster> uorygl, well if you were going to build a computer with that you could do it high level anyway
00:24:20 <uorygl> It looks like in an ordinary relay, the switch is thrown by passing current in either direction.
00:24:26 <augur> o hai
00:25:17 <uorygl> So you could say that a packet ends whenever the voltage drops below the threshold.
00:25:25 * AnMaster locates a boot cd with gparted
00:26:16 <uorygl> Or you could use a latching relay, and say that the packet ends whenever the voltage becomes negative; then the data can include both positive and zero voltages.
00:26:20 <augur> uorygle, lets not try to rebuild TCP/IP on aethernet just yet
00:26:27 <augur> TEEHEE AETHERNET 8D
00:26:32 -!- anmaster_l has joined.
00:26:49 <uorygl> Well, the thing about routers is that they route data. I'm just pondering how that data could be delimited.
00:27:19 <augur> special bit patterns, obviously
00:27:37 <uorygl> That won't do if you're transmitting analog data.
00:27:53 <augur> special tone patterns, obviously
00:28:10 <uorygl> That requires something other than relays. :-P
00:28:26 <augur> analog data would in general!
00:28:28 <AnMaster> uorygl, what about a fixed packet size?
00:28:48 <AnMaster> x milliseconds before switching
00:29:04 <uorygl> I don't know if that's a good idea.
00:29:13 <augur> i think we should get our system up and running locally first before trying to get a transatlantic system up
00:29:22 <uorygl> I think the packet overhead could potentially be several seconds.
00:29:39 <AnMaster> uorygl, also what about bouncing with relays
00:29:48 <AnMaster> wouldn't it be a rather severe issue
00:29:57 <uorygl> We can compensate for bouncing by using error correction. >.>
00:30:07 <AnMaster> uorygl, or Hg relays
00:30:09 <AnMaster> read about that
00:30:13 <AnMaster> no bouncing in them
00:30:17 <AnMaster> of course they are toxic
00:30:24 <AnMaster> which is a rather large downside
00:30:30 <augur> guys we should really build one of these
00:30:36 <augur> we could make it all steampunkish
00:30:45 <augur> and show it off on one of the steampunk blogs
00:30:47 <AnMaster> augur, it will eat more power than my old p4, and it will also be slower
00:30:50 <uorygl> Let's each build our own and then figure out how to connect them. :-P
00:30:55 <augur> anmaster: EXACTLY! :D
00:30:58 <augur> itll be AWESOME
00:31:06 <AnMaster> congrats, you get promoted to Intel Chief Engineer some years ago
00:31:16 <augur> HOORAY
00:31:30 <AnMaster> augur, then you were fired when they decided to produce core 2
00:31:49 <augur> :
00:31:51 <augur> :(
00:31:52 <AnMaster> :?
00:31:54 <AnMaster> ah
00:32:05 <AnMaster> btw, going to go offline with this connection for a while
00:32:07 <AnMaster> parted time
00:32:18 <augur> parted time?
00:32:26 <AnMaster> augur, yeah parted
00:32:30 <augur> what
00:32:34 <AnMaster> augur, try it's man page
00:32:40 <AnMaster> man parted
00:32:44 <AnMaster> you type that in your shell
00:32:50 <augur> i'd part a man
00:32:53 <augur> IF YOU KNOW WHAT I MEAN
00:32:54 <augur> ;D
00:32:58 <AnMaster> no I don't
00:33:02 <augur> oh
00:33:03 <augur> ok
00:33:07 <uorygl> Hmm. Packet switching and circuit switching aren't really that different when packets can go on for long periods of time.
00:33:19 <AnMaster> GNU Parted - a partition manipulation program
00:33:20 <AnMaster> augur,
00:33:22 <AnMaster> was that so hard
00:33:27 <AnMaster> read your damn man pages
00:33:30 <augur> AnMaster: i didnt care :D
00:33:35 <augur> uorygl, have you seen those little calculators
00:33:38 * coppro goes to play more engineer of the people
00:33:40 <augur> theyre like little black drums with a crank?
00:33:50 <uorygl> Now I'm thinking that everything should be digital and packet-switched, and then we can just use special bit patterns.
00:33:54 <uorygl> I don't think I have seen those.
00:34:40 <augur> http://www.vintagecalculators.com/html/curta_i.html
00:35:11 <uorygl> What do you call that code where every 0 is encoded as 01 and every 1 is encoded as 10?
00:35:20 <augur> dunno
00:35:29 <augur> weirdonary?
00:36:38 <uorygl> There's a name for it.
00:40:30 <uorygl> Aha. The Manchester code.
00:42:48 <Sgeo> What's the poin.. oh, error detection
00:42:49 <augur> can we not use crazy coding schemes for this? :|
00:43:02 <coppro> I wonder what a binary version of the L&S sequence would look like
00:43:09 <Sgeo> L&S?
00:43:14 <coppro> look and say
00:43:15 <uorygl> I guess crazy coding schemes aren't strictly necessary.
00:43:37 <coppro> 1, 11, 101, 111011, 11110101, 100110111011
00:43:37 <uorygl> We could just transmit at a constant rate.
00:44:07 <uorygl> coppro: that's kind of an irreversible sequence.
00:44:20 <coppro> it is
00:44:31 <coppro> I wonder at which base it becomes reversible
00:44:38 <uorygl> Try this: 1, 011, 010101, 010011010011010011, . . .
00:44:41 <coppro> actually, no I don't
00:44:45 <coppro> that's easy
00:46:05 <uorygl> I guess the thing about not using any code is that timing errors can happen.
00:46:20 <uorygl> Suppose they transmit 010101010101010000000000000000000000000000000000000000000000001010101010101010.
00:46:33 <uorygl> You're going to have to time all those zeros in the middle in order to know how many there are.
00:46:48 <Ilari> 0 -> 01, 1 -> 10... NRZ?
00:46:51 <uorygl> Then again, we probably could use an error correction scheme wherein that can't happen.
00:47:00 <uorygl> Ilari: congratulations, you've invented the Manchester code.
00:47:37 <oerjan> now if you iterate it, you can invent the thue-morse sequence too :)
00:48:13 <Ilari> Well, the point of coding that mangles symbols is usually to avoid long runs of same symbol, as that tends to mess up timing...
00:48:21 <uorygl> Right.
00:49:00 <uorygl> Well, Manchester coding is one way to do things. Using it, I think we can pretty much correct for every sort of error we need to correct for.
00:49:11 <oerjan> i recall someone (ais523?) saying something about using 01 and 10 to ensure there were equal number of 0s as 1s to have no net charge
00:51:03 <oerjan> uorygl: um you cannot correct for an actual switching of neighbor bits :D
00:51:23 <uorygl> Bits don't just spontaneously get switched.
00:51:40 <oerjan> no, but you could have two neighboring errors
00:52:01 <AnMaster> oerjan, hi
00:52:06 <oerjan> AnMaster: hi
00:52:15 <AnMaster> oerjan, in a bit, once this CD is burned, you could say I parted to use parted
00:52:20 <uorygl> One of the routers could also spontaneously explode, causing a very large number of errors. Though that's less likely.
00:52:49 <uorygl> The thing is, Manchester at least has some error correction capability for every likely type of error.
00:53:08 <AnMaster> oerjan, hey it's supposed to be a bad pun
00:53:19 <oerjan> AnMaster: yeah, yeah
00:53:29 <AnMaster> oerjan, you know what parted is?
00:53:32 <Ilari> There are sequences over four symbols that never have any subsequence followed by any permutation (including identity) of that subsequence. Keränen's sequence is one of those (has recursive structure with generator of length 85).
00:53:39 <AnMaster> yay done
00:53:54 <oerjan> i have heard the name, and can guess it's a partition editor
00:53:58 <uorygl> Ilari: I assume that means "immediately followed".
00:54:07 <Ilari> uorygl: Oops, right.
00:54:12 <AnMaster> oerjan, indeed
00:55:05 -!- AnMaster has quit ("ZNC - http://znc.sourceforge.net").
00:55:23 <oerjan> Ilari: um subsequences must have at least length 2, i take
00:55:31 <Ilari> Any sequence with recursive structure has to start with "identity" symbol.
00:56:13 <oerjan> oh wait fours symbols duh
00:56:18 <oerjan> *four
00:58:37 <Ilari> Let G be some group. Finite sequence a1 = e, a2, ... an can be expanded into infinite one by a1, a2, .. an, a2 + a1, a2 + a2, ... a2 + an, a3 + a1, ... an + an, a2 + a1 + a1, ...
00:59:04 <coppro> Ilari: Keranen's sequence has "abc" at the start, and "bac" later on... or do I misunderstand?
00:59:15 <Ilari> coppro: Immediately followed
00:59:22 <coppro> oh
00:59:31 <Ilari> (that was mistakenly left out).
00:59:43 <coppro> ok, makes more sense
00:59:43 <anmaster_l> where did ais go
00:59:47 <anmaster_l> hm
00:59:57 <Ilari> There is no sequence over finite such that no subsequence eventually repeats.
01:00:19 <Ilari> *finite alphabet
01:00:28 <coppro> right
01:00:36 <coppro> I realized that about 2 seconds after I said that
01:00:43 <uorygl> Counterexample: "a"
01:00:44 <uorygl> :-P
01:00:57 <Ilari> Also *infinite sequence
01:01:08 <oerjan> uorygl: hah wrong, epsilon is both at start and end
01:01:20 <uorygl> Aww, you're right.
01:03:33 <Ilari> In Z2, using generator 011 would yield 011100100100011011100011011100011011011100100011100100100011011011100100011100100... or something like that.
01:04:14 <uorygl> Here, let me generate an infinite sequence.
01:04:36 <uorygl> ...hmm.
01:05:03 <uorygl> Yeah, I can do that.
01:06:02 <Ilari> Using elliptic-curve-type group with large amount of points could probably make some whacky sequences.
01:06:03 <uorygl> Using Thue, an excellent infinite sequence generator.
01:06:41 <Ilari> And of course there is: Monster group!
01:06:57 <uorygl> Aww, fudge. This Thue interpreter doesn't seem to be working.
01:07:23 <Ilari> Except that monster group isn't abelian, and thus one would need to define order to do the additions in.
01:08:17 <uorygl> Okay, here is an awesome sequence: 11011011101101101110110111011011011101101110110111011011011101101110110110111011011101101101#
01:09:08 <Ilari> Put all generators of monster group as generator of sequence and eventually the infinite sequence resulting would contain all elements of monster group.
01:09:22 <uorygl> That sequence consists of strings of 1s separated by 0s. Those strings have the following lengths: 2, 2, 3, 2, 2, 3, 2, 3, 2, 2, 3, 2, 3, 2, 3, 2, 2, 3, 2, 3, 2, 2, 3, 2, 3, 2, 2, 1
01:10:08 <uorygl> Ignoring the 1 on the end, that sequence consists of strings of 2s separated by 3s. Those strings have the following lengths: 2, 2, 1, 2, 1, 1, 2, 1, 2, 1, 2
01:10:23 <uorygl> And so on.
01:11:42 <uorygl> Unfortunately, my Thue program simply produces what is effectively an arbitrary finite piece of a random infinite sequence. It cannot generate a continuation of that sequence.
01:11:44 <Ilari> Of course, monster group has 808017424794512875886459904961710757005754368000000000 elements and duplicates probably exist before last element is found. Not to mention that computing group addition for moster group is quite slow.
01:12:24 -!- soupdragon has joined.
01:12:52 <uorygl> At least it can generate sequences of arbitrary length.
01:13:57 <Ilari> Monster group has generator of size 2. And interestingly monster group is isomorphic with subset of 196882x196882 matrices over Z2 with matrix multiplication as addition operator.
01:15:08 <oerjan> isn't every finite group isomorphic to such a subset, really
01:16:05 <oerjan> i suppose the interesting part is that 196882 is rather small
01:16:41 <Ilari> Of course, 38 762 521 924 elements total...
01:17:38 <oerjan> although the full matrix group is probably enormous compared to the monster
01:18:31 <Ilari> Well, the full group of that size would be all matrices of that size over Z2 with determinant 1.
01:18:50 <oerjan> so, unless there is only a tiny minority of determinant 1 elements
01:19:58 <oerjan> hm you can do it by choosing independent vectors
01:20:26 <Ilari> Well, there are already 2^19381162521 upper triangular (and same amount of lower triangular) such determinant 1 matrices.
01:20:28 <oerjan> first vector anything non-zero, so 2^196882-1 elements. that's already anormous
01:20:47 <oerjan> right, so enormous
01:20:53 <oerjan> *e
01:24:02 <Ilari> Hmm... Is Z3 isomorphic to some multiplicative matrix subset over Z2? Its equivalent to question if there is matrix over Z2 (and if there is, what's the smallest one) that has nontrivial cube root of identity matrix.
01:24:04 -!- coppro has quit (Remote closed the connection).
01:24:31 -!- coppro has joined.
01:24:33 <oerjan> every permutation group Sn is trivially embeddable into n x n matrix
01:24:45 <oerjan> *matrices
01:24:47 <soupdragon> trivially ?
01:25:42 <oerjan> a permutation s is mapped to the matrix with M_ij = 1 is s_j = i, 0 otherwise
01:26:26 <oerjan> or is that s_i = j
01:26:34 -!- lament has quit.
01:26:54 -!- osaunders has quit.
01:27:54 <oerjan> well they're even called permutation matrices iirc
01:28:35 <oerjan> http://en.wikipedia.org/wiki/Permutation_matrix
01:28:38 <Ilari> Actually, any permutation cycle of length n can be used to find subset of matrices over Z2 that are isomorphic to Zn.
01:30:36 <oerjan> ah my confusion of whether to do s_i = j or s_j = i seems to have confused other before, because the standard definition is _wrong_ :D
01:30:43 <oerjan> *others
01:32:27 <Ilari> Actually, it seems that for any Zn, there is isomorphic nxn matrix subset over Z2 with multiplication.
01:32:44 <soupdragon> yeah
01:32:58 <soupdragon> every group is a subset of a permutation
01:33:07 <soupdragon> and if you can matrixify permutations then you can matrixify any group
01:33:41 -!- MizardX has quit ("zzz").
01:34:56 <oerjan> i think when n is a prime and using permutation matrices, that may be minimal
01:35:23 <oerjan> since p does not divide (p-1)!
01:36:05 <oerjan> may ask if it is still minimal if not using permutations...
01:36:47 <oerjan> (order of S_n is n!, and subgroup orders always divide total group order)
01:41:47 <Ilari> And if isn't minimal, fun question is what is smallest n where it isn't and what would be generator matrices for that?
01:41:52 <oerjan> if it is not a prime power then it is not minimal, because n = n1*n2 with n1, n2 coprime means Zn = Zn1 x Zn2 which can be embedded in S_(n1+n2) by using blocks
01:42:18 <Ilari> That would give n=6...
01:43:09 -!- adam_d has quit (Read error: 60 (Operation timed out)).
01:43:37 <oerjan> i'm not sure S5 is minimal for Z6, though
01:44:01 <Ilari> [[0,1,0,0,0][1,0,0,0,0][0,0,0,0,1][0,0,1,0,0][0,0,0,1,0]]?
01:44:16 <oerjan> S3 is too small, only 6 elements that _don't_ commute
01:44:18 -!- lament has joined.
01:44:32 <oerjan> i meant i was not sure S4 doesn't work
01:45:24 <oerjan> come to think of it there's probably a sequence in that sequence encyclopedia for this :D
01:45:37 <Ilari> If you have program that can calculate that, try calculating 2nd, 3rd and 6th powers of matrix I gave (over Z2)...
01:46:57 <oerjan> um i can see perfectly well it's using the block method i suggested, no need to use a program
01:51:11 <Ilari> Current methods would give 2, 3, 4, 5, 5, 7, 8, 9, 7, 11, 7, 13, 9, 8, 16, ...
01:52:09 <oerjan> hm wait of course the generator must be a _single_ permutation...
01:52:10 <Ilari> Oops, that should be 11, 8, 13...
01:52:41 <oerjan> hm that means this actually is optimal, i think
01:53:21 <oerjan> dividing that permutation into cycles is the same as dividing the matrix into blocks, and the resulting order is lcm of cycle length
01:53:35 <oerjan> so *lengths
01:53:59 <Ilari> Oops, 11, 7, 13...
01:54:06 <oerjan> so indeed dividing n into prime powers and adding them is the best you can do
01:55:05 <Ilari> "a(n) is the minimal number m such that the symmetric group S_m has an element of order n - Ahmed Fares (ahmedfares(AT)my-deja.com), Jun 26 2001".
01:58:03 <Ilari> And indeed element of order n means subset is isomorphic to Zn.
01:58:10 <oerjan> naturally
02:00:07 <Ilari> Hmm... I guess I should write my own raytracer to properly trace this fractal pattern. Pov-Ray can't do it properly because of 255 reflections limit.
02:00:34 <coppro> YafRay?
02:01:55 <Ilari> Nah. Fairly simple to write raytracer that can just deal with it.
02:02:16 <soupdragon> can you write a 'ray tracer' based on quantum physics?
02:05:04 <soupdragon> so that it renders refraction and stuff
02:05:50 <oerjan> http://en.wikipedia.org/wiki/Field_with_one_element O_O
02:11:30 <Sgeo> When I walked around at school, I couldn't help thinking that the tiles on some of the walls looked ray-traced
02:12:55 <Sgeo> Why can't the additive identity and the multiplicitive identity be the same?
02:13:07 <soupdragon> one of the axioms is 0 <> 1
02:13:17 <Sgeo> Oh
02:14:21 -!- lament has quit.
02:50:33 <uorygl> It it particularly useful to say that there is no field with one element?
02:55:52 <oerjan> "For technical reasons, the additive identity and the multiplicative identity are required to be distinct."
02:56:10 * oerjan looks for actual reasons...
03:00:40 <Sgeo> Once ReactOS is released and fully stable, would there be any real advantage to using it? I mean, it will be prone to Windows viruses, presumably
03:01:28 <Sgeo> Although it would be nice that in 10 years after release, if ReactOS is still alive, it would still be considered modern, without having to pay money, unlike with Windows
03:02:31 * oerjan didn't really find any
03:02:54 <uorygl> Well, ReactOS will be free. We could extend it in ways that we can't extend Windows.
03:03:53 <Sgeo> oerjan, because then it's not what the mathematical community decided is a "field"?
03:04:49 <oerjan> that is _not_ an improvement to "for technical reasons"
03:07:08 <soupdragon> it's probably something to do with homomorphism
03:08:54 <oerjan> well it would be a terminal object... while other fields only have homomorphisms at all if their characteristics match. or wait, are there homomorphisms from Q to F_n?
03:09:28 <oerjan> *if at minimum their characteristics match
03:09:36 <soupdragon> maybe it's for divide by zero
03:10:00 <oerjan> um wait no, obviously not
03:10:11 <oerjan> the characteristics must match
03:10:30 <soupdragon> I don't know the characteristic ;/
03:10:53 <oerjan> smallest integer n with n*1 equal to 0, or 0 otherwise
03:11:03 <soupdragon> oh right
03:11:05 <oerjan> *positive integer
03:11:19 <soupdragon> how is n*1 ever not n :S
03:11:57 <oerjan> well i just wanted to point out that n is not a field element
03:12:05 <soupdragon> should it be n+1?
03:12:19 <oerjan> n*1 = sum of n 1's
03:12:27 <soupdragon> oh!!!
03:12:32 <soupdragon> so n is a natural number
03:12:34 <oerjan> it's "intuitively obvious"
03:12:54 <soupdragon> it's not an element of the field
03:13:05 <oerjan> and in characteristic 0, there is no harm in identifying them, since the rationals are always embedded
03:15:58 <oerjan> n is always a prime or 0, btw
03:17:58 <oerjan> and for each characteristic n, there is a unique prime field, those are Z_n and the rationals
03:18:33 <oerjan> and the prime field would be an initial object in that subcategory, since it embeds uniquely in every other
03:19:10 <oerjan> the field of size 1 ruins all that
03:19:45 <oerjan> it would be of characteristic 1, i guess, but still have a homomorphism to it from everything else
03:21:17 <soupdragon> myth busted!
04:13:49 <uorygl> Hey, now. I'm not following all that well, but it seems like you have certain objects associated with p^n where p is prime, and letting n be 0 ruins stuff because p^0 is a factor of everything.
04:19:36 <oerjan> on the other hand i think that may actually fit _because_ you always have a homomorphism to the 1 element field
04:20:18 <oerjan> and you may in general have homomorphisms from F_p^n to F_p_m when n divides m, or something like that (let me check)
04:20:24 <oerjan> *F_p^m
04:21:31 <oerjan> well you would _need_ n dividing m, at least, since then F_p^m is a vector space over F_p^n
04:22:00 <oerjan> if of dimension d, then p^m = p^(nd) => m = nd
04:27:29 * oerjan doesn't find an easy reference
04:37:11 -!- Asztal has quit (Read error: 110 (Connection timed out)).
04:55:02 -!- zzo38 has joined.
04:55:18 <zzo38> What should I name this class: http://www.dandwiki.com/wiki/User:Zzo38/untitled_class_1_(3.5e_Class)
04:57:00 <oerjan> ceci_n_est_pas_un_classe
04:57:35 <soupdragon> heh
04:58:26 <oerjan> sorry, *_une_
04:59:22 <zzo38> I like this joke but don't want to call it that.
04:59:43 <oerjan> i take it the improbability drive is the important aspect
05:00:19 <zzo38> It is one of the important aspects, but probably not the most important one
05:00:36 <uorygl> "dand"?
05:00:57 <zzo38> That's the domain name, I didn't write it
05:00:58 <coppro> D&D
05:01:10 <zzo38> "it" is the domain name.
05:01:38 <uorygl> I guess it's better than "dandd".
05:01:38 <oerjan> well rephrase that: the name "improbability drive" was the only part i got any gist from
05:01:47 <uorygl> But is it better than "dnd"?
05:02:16 <zzo38> OK. But can you understand how all the class features works, however?
05:07:05 <oerjan> there is something called complex abilities. however i do not know d&d sufficiently well to understand how this is any different from what any spellcasting/psionics character can usually do
05:07:53 <coppro> it's okay, oerjan
05:07:59 <coppro> D&D 3.5 is not meant to be understood
05:08:03 <oerjan> heh
05:08:32 <oerjan> well let me leave it to the experts then
05:11:20 <zzo38> The "Complex Abilities" collectively refers to the spells, powers, and potentially others.
05:12:30 <coppro> maneuvers?
05:13:45 <zzo38> "Complex Abilities" does refer to maneuvers, but whether or not I add that to this class is different
05:17:37 <coppro> <3 LoZ music
05:23:16 <zzo38> One of the types of complex abilities that I might add, though, is warlock invocations, if I can figure out the cost that should be applied to them
05:37:40 <coppro> just add them all
05:41:33 <zzo38> But what C.A.P cost? I want it to be not too low, and not zero like a actual warlock's invocations
05:41:49 <zzo38> And anyways, what should I name this class
05:50:38 -!- Pthing has joined.
06:02:41 <coppro> zzo38: no, add all complex abilities
06:02:55 <coppro> invocations, spells, powers, maneuvers, infusions, and anything else you can think of
06:03:06 <coppro> except you randomly get certain kinds
06:03:22 <coppro> so you never have access to all of them
06:04:23 <coppro> hmm... I want a blank white cards bot
06:04:34 <zzo38> I don't think I will put the "randomly get certain kinds" but I could figure it out if (and only if) I can assign reasonable C.A.P costs to each of them, of course, you have a limited number of complex abilities known and a limited number of C.A.P/day so you can't possibly use all of them in one day
06:06:07 <zzo38> I don't know if I really want to add all of them though, if some kinds are more powerful it might require a feat to provide access to them
06:06:13 <coppro> I was kidding
06:06:28 <coppro> then again, I don't do much else with 3.5
06:06:35 <coppro> except add templates to random creatures
06:07:03 * coppro still contemplates purchasing GR's book that's 100% templates, just for the lulz
06:07:45 -!- oerjan has quit ("Good night").
06:09:10 <zzo38> OK
06:19:08 <coppro> zzo38: ever played 1000 blank white cards?
06:19:17 <zzo38> No, I never have done so
06:19:29 <zzo38> But I have seen descriptions and rules
06:24:19 <bsmntbombgrrl> sounds retarded
06:25:09 <coppro> it's awesome
06:26:34 <soupdragon> hi!!!
06:27:00 <coppro> a tad late, but otherwise well played
06:36:04 <Sgeo> "Brad Cox and Tom Love create Objective-C, announcing "this language has all the memory safety of C combined with all the blazing speed of Smalltalk." Modern historians suspect the two were dyslexic."
06:36:17 <Sgeo> I may have pasted that in here verbatim before
06:38:10 <coppro> I haven't seen it before
06:38:13 <coppro> and I lold
06:38:44 <Sgeo> coppro, http://james-iry.blogspot.com/2009/05/brief-incomplete-and-mostly-wrong.html
06:39:08 <zzo38> Well, what I know, is, my ideas for improvement of C is not Objective C or C++, but is differently
06:39:11 <zzo38> Like,
06:39:54 <zzo38> I would have a few new preprocessor directives is one thing: #xmacro #calc #string
06:41:25 -!- HackEgo has quit (Read error: 60 (Operation timed out)).
06:41:38 <coppro> Sgeo: I like the line about Java and lambdas
06:41:41 <coppro> xmacro?
06:41:48 <zzo38> #local #endlocal
06:42:05 <coppro> actually, I want explanations of all of those
06:42:31 <zzo38> And also, when using #include to be able to specify after the filename any number of names, which will be defined as blank macros while including the file and reverted afterward.
06:42:52 <zzo38> Example: #include <extra.h> EXTRA_DOS_PROGRAM EXTRA_1
06:43:03 <coppro> zzo38: write those in a patch to the GNU preprocessor, propose to the C++ committee and the C committee, in that order
06:43:07 <coppro> or to clang's
06:43:11 <coppro> which will be easier
06:43:19 <coppro> and I still want to know what your 5 macros do
06:43:51 <zzo38> #xmacro creates a macro that does an include. Example: #xmacro Xmacro1(_1,_2) "extra.h" __Xmacro1
06:44:43 <zzo38> #calc does like #define but calculates all values when the #calc line is evaluated, instead of afterward. Example: #calc FooBar FooBar+1
06:45:35 <coppro> I'm confused about xmacro...
06:45:44 <zzo38> #string acts like #calc but does an unstringize of the result
06:45:46 <coppro> calc is sort of not really needed
06:46:08 <coppro> okay, that I could see as more useful
06:46:09 <zzo38> Example of #string: #string CHAR(x) "'" #x "'"
06:46:20 <coppro> ah
06:46:23 <coppro> yeah
06:46:25 <coppro> I don
06:46:52 <coppro> *I don't understand what Xmacro adds, and I really don't understand what #calc adds
06:47:07 <zzo38> Still? I thought I explained it.
06:47:17 <coppro> I know how they work
06:47:22 <coppro> I don't know what they add
06:48:00 <zzo38> With the example of #xmacro given: When Xmacro(a,b) is found, it works like #define _1 a #define _2 b #define __Xmacro1 #include "extra.h" and then it can revert the _1 _2 __Xmacro1 because those are local to the macro
06:49:18 <coppro> I think I get it
06:49:28 <coppro> why not just use #include
06:49:42 <coppro> why does it need to be a macro?
06:49:50 <coppro> also, a macro expanding to a directive is truly horrible
06:49:55 <coppro> and should never be allowed to happen
06:51:02 <coppro> anyone know where I can find some news about hormones? Ideally on a science- or medicine-oriented site
06:51:03 <coppro> stupid homework
06:51:12 <coppro> needs to be sort of recent
06:54:02 <Sgeo> Does anyone actually use Eiffel?
06:54:11 -!- EgoBot has quit (Read error: 110 (Connection timed out)).
06:54:27 <coppro> Sgeo: not as far as I know, which is a shame
06:55:23 <Sgeo> Hold on, isn't there overloaded .NET stuff? And isn't there a .NET version of Eiffel? And doesn't Eiffel not allow overloading?
06:57:47 <coppro> Most .NET languages do not support all of its capabilities
06:58:21 <coppro> and adding overloading to Eiffel doesn't seem too difficult, particularly when you have additional limitations inherited from .NET
07:06:02 <Sgeo> Are there a lot of jobs for C# programmers?
07:06:08 <coppro> yes
07:06:14 <coppro> unfortunately
07:06:18 <Sgeo> So, a good language to learn, then
07:06:19 <Sgeo> ?
07:06:25 <coppro> if you're in it for employment, yes
07:07:21 * coppro needs a haircut
07:07:30 <Sgeo> What's wrong with it, other than the .NET legal issues and the whole type thing
07:13:22 <zzo38> And also #trap #mark #unmark
07:15:45 <zzo38> #trap is used to trap compiler errors. If it is trapped, it will stop, and preprocess again with a different macro set or something, and then recompile. If ? is used it traps within the marked area. Example: #trap error ?section1 define section1_error
07:16:17 <zzo38> You have to indicate the types of errors or other stuff too, possibly with parameters in parentheses, if you put "error" it means any error
07:18:15 <coppro> that scares me
07:19:17 <zzo38> Is it really scary?
07:27:51 <Sgeo> When will MS come up with ORG?
07:27:55 -!- madbrain has quit ("Radiateur").
07:28:13 <zzo38> I don't know, maybe never
07:28:27 <Sgeo> It's just that with "COM", then ".NET"
07:28:36 <Sgeo> </explaining-the-joke>
07:28:40 <zzo38> I know
07:28:58 <zzo38> I know why you asked
07:29:06 <Sgeo> ok, sorry
07:29:49 <zzo38> Although it can show time of received messages, it won't currently show the time of sent messages, therefore I ought to fix that
07:30:52 <zzo38> Since the message is already typed, it has to show the time *after* the sent message, instead of *before*, even though it is slightly inconvenient
07:34:47 <zzo38> Sometimes I try to play pinball and watch the IRC both at the same time.
07:35:13 -!- zzo38 has quit (Remote closed the connection).
07:45:50 <Sgeo> I must admit, the whole explicit typing thing makes autocomplete actually work, so C# has that going for it
07:46:32 <coppro> clang will bring awesome autocomplete to C++
07:46:38 <coppro> (not kidding here)
07:46:41 <Sgeo> As opposed to PythonWin's "Oh, I see you typed .x sometime in the past, and you just typed a .. Do you want me to put .x?"
07:46:48 <coppro> haha
07:46:58 <coppro> kate's default code complete is like that :(
07:53:25 <Sgeo> Good night
07:57:08 -!- Sgeo has quit ("Leaving").
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:14:06 -!- Warriphone has quit (Read error: 110 (Connection timed out)).
08:26:47 -!- ehirdiphone has joined.
08:26:55 <ehirdiphone> Relay only computer has been done.
08:27:14 <ehirdiphone> Bah, no interesting people are here right now.
08:27:29 -!- ehirdiphone has quit (Client Quit).
08:27:34 <soupdragon> :(
08:53:50 -!- Slereah_ has joined.
09:04:31 -!- Slereah has quit (Read error: 110 (Connection timed out)).
09:12:27 -!- Warriphone has joined.
09:23:30 -!- jpc has quit (Read error: 110 (Connection timed out)).
09:27:28 -!- ehirdiphone has joined.
09:27:38 <ehirdiphone> soupdragon: sorry! I didn't notice you.
09:28:22 <soupdragon> haha
09:28:46 <ehirdiphone> Well, you weren't talking or anything.
09:29:48 <soupdragon> I might read Three Worlds Collide today
09:44:48 <ehirdiphone> c
09:50:24 -!- lament has joined.
09:59:51 -!- ehirdiphone has quit ("Get Colloquy for iPhone! http://mobile.colloquy.info").
10:09:41 -!- ais523 has joined.
10:28:02 <soupdragon> I have done two euler problems in IRP!!
10:30:23 <lament> nice!
10:30:33 <lament> which ones?
10:30:47 <lament> how many lines did your programs have?
10:30:54 <soupdragon> one line each
10:31:23 <soupdragon> although there's usually a few extra lines buttering them up
10:31:45 <soupdragon> since if you just come out with the algoorithm they tell you to piss off :(
10:37:20 -!- ehirdiphone has joined.
10:37:22 <ehirdiphone> FISSION
10:41:39 <ehirdiphone> So if fuse:fusion, I guess fiss:fission.
10:42:13 -!- MizardX has joined.
10:42:41 <soupdragon> my lexicon thinks fission is a root morpheme
10:42:47 <soupdragon> so there is no 'fiss'
10:43:13 <ehirdiphone> poo on your lexicon
10:43:17 <soupdragon> :(
10:44:19 <ehirdiphone> fuse :: a -> b -> (a,b)
10:44:32 <soupdragon> PC-KIMMO>generate fuse+ion
10:44:32 <soupdragon> fusion
10:44:32 <soupdragon> PC-KIMMO>generate fish+ion
10:44:32 <soupdragon> fishion
10:45:39 <ehirdiphone> fiss :: (-> :: a -> b -> c) => (a,b) -> c
10:45:45 <ehirdiphone> (continuation type syntax obvs)
10:46:00 <soupdragon> not to me :/
10:46:27 <ehirdiphone> :P
10:47:11 <ehirdiphone> fiss (a,b) ->k = k a b
10:48:08 -!- MigoMipo has joined.
10:48:27 <ehirdiphone> soupdragon: generate fiss+ion
10:48:35 <soupdragon> fission
10:48:48 <soupdragon> it's just that fiss isn't a word
10:49:35 <ehirdiphone> should be
10:49:46 <soupdragon> PC-KIMMO>RECOGNIZE fiss
10:49:46 <soupdragon> *** NONE ***
10:50:29 <ehirdiphone> DEFINE fiss the act of fission
10:50:47 <ehirdiphone> brb
10:50:55 <soupdragon> why not make it fizz
10:51:01 <soupdragon> fizz+ion = fission
10:51:12 <soupdragon> (that's not actually true... YET)
10:56:33 <ehirdiphone> It would be cool if you could depend on the result of the continuation
10:57:14 <ehirdiphone> foo = True:$
10:57:20 <ehirdiphone> False:foo
10:57:25 <ehirdiphone> ->
10:57:53 <ehirdiphone> True:False:True:False:...
10:57:54 <ehirdiphone> erm
10:58:07 <ehirdiphone> False:True:False:True:False:...
10:58:11 <ehirdiphone> that is
11:01:08 <ehirdiphone> foo | $ > 1 = 1
11:01:27 <ehirdiphone> | $ < 1 = 0
11:01:59 <ehirdiphone> foo + 1 -- always 1
11:02:07 <ehirdiphone> foo - 1 -- always 0
11:02:31 -!- |MigoMipo| has joined.
11:03:29 <ehirdiphone> (if foo is 1 then it's 1+1; since 2>1 foo must be 1. So actually it's 2 in that case)
11:03:35 -!- lament has quit.
11:04:09 <ehirdiphone> (if foo is 0 then it's 0+1; the conditition should be >= 1. So it's 1)
11:05:03 <ehirdiphone> the latter is actually always -1
11:06:43 <ehirdiphone> if foo = 1 then it's 1-1 = 0; foo is only 1 when $ >= 1 so contradiction
11:06:47 <ehirdiphone> therefore it's 0-1 = -1
11:07:21 <ehirdiphone> so foo+1 is ambiguously 1 or 2
11:07:25 <ehirdiphone> and foo-1 is always -1
11:09:15 <ehirdiphone> case foo of 0 -> 1; 1 -> 0 is _|_
11:10:41 <ehirdiphone> soupdragon: are there any languages with bigo notation in the types?
11:12:15 <ehirdiphone> that would be cool
11:13:07 -!- MigoMipo has quit (Nick collision from services.).
11:13:18 -!- |MigoMipo| has changed nick to MigoMipo.
11:18:41 -!- ehirdiphone has quit (Remote closed the connection).
11:18:56 -!- ehirdiphone has joined.
11:28:47 <soupdragon> I don't know of any
11:29:02 <soupdragon> of course there's languages whre everything takes polytime or whatever
11:29:26 <ehirdiphone> yeah but I mean
11:29:55 <ehirdiphone> the type inferrer would actually work out the big os
11:30:30 <ehirdiphone> so you could enforce the time complexity of functions; write a function and see what complexity it has; etc.
11:31:11 <ehirdiphone> hi ais523
11:31:24 <ais523> hi
11:31:37 <ais523> ehirdiphone: I like that idea
11:32:08 <ehirdiphone> I think it's impossible in the general case; take:
11:32:13 <ehirdiphone> a = a
11:32:28 <ehirdiphone> a :: O(?) a
11:32:45 <ehirdiphone> but it could just require you to specify the type there
11:32:59 <ehirdiphone> and let you do O(inf), I guess
11:33:12 <ehirdiphone> but:
11:33:32 <ehirdiphone> error : str -> O(inf) 'a
11:33:35 <ehirdiphone> and
11:33:59 <ehirdiphone> fact n = if n<0 then error "argh" else ...
11:34:24 <ehirdiphone> is fact n O(n!) or O(inf)?
11:34:42 <ehirdiphone> I guess you just have to return a maybe
11:34:45 <ehirdiphone> instead
11:35:06 <ehirdiphone> also, fib(n) is O(fib(n)), naively
11:35:16 <ehirdiphone> so we need compile time functions
11:35:24 <ehirdiphone> To allow for things like that
11:35:56 <ehirdiphone> er fact is O(n) PFC
11:35:59 <ehirdiphone> IFC
11:36:02 <ehirdiphone> Ofc
11:36:06 <ehirdiphone> Not n!
11:40:13 <soupdragon> to be honest, O-analysis is so difficult I can't imagine programming a computer to do it
11:51:55 <augur> ehirdiphone: what did you think of End of Time?
11:52:09 <ehirdiphone> augur: ?
11:52:34 <augur> doctor who
11:52:35 <ehirdiphone> Oh
11:52:50 <ehirdiphone> I've only seen the first; don't spoil the second please
11:52:52 <soupdragon> more like doctor fail
11:53:01 <ehirdiphone> It's repeated today, might catch it
11:53:07 <ehirdiphone> soupdragon: die
11:53:42 <ehirdiphone> augur: I'm psyched that Moffat is taking over
11:53:49 <augur> indeed
11:54:44 <soupdragon> I don't even watch it, but it's trendy enough to be complete shit
11:56:23 <ehirdiphone> soupdragon: stfu; doctor who is excellent
11:56:37 <soupdragon> im talking about hte new series obviously
11:56:52 <ehirdiphone> stfu regardless
11:57:04 <ehirdiphone> there's nothing wrong with the revival
12:02:00 <ehirdiphone> soupdragon: also water is pretty trendy
12:02:09 <ehirdiphone> was unaware it was in fact faeces
12:02:24 <augur> wut
12:03:38 <soupdragon> waters not trendly, smirnoff frosty frootz is trendy
12:04:41 <ehirdiphone> ok then being alive is trendy. if you ignore all the suicide
12:04:45 <ehirdiphone> hmm well
12:04:55 <ehirdiphone> Being alive is arguably complete shut
12:04:57 <ehirdiphone> Shit
12:05:17 <ehirdiphone> oh, fuck it
12:05:43 <soupdragon> string theory: trendy
12:05:54 <soupdragon> there's counter-examples of course
12:05:59 <soupdragon> I just don't know any
12:07:15 <ehirdiphone> sex?
12:07:23 <ehirdiphone> sex is pretty trendy
12:09:08 <augur> speaking of sex, ehird
12:11:20 <soupdragon> there seems to be this idea like "a million people watch it onec a week it must be brilliant" about whatever new sitcom replaced friends or lost, but in reality it's dumbed down to the LCM so people have a common language to say nothing in -- like talking about the weather except 'cool'
12:12:08 <soupdragon> apparently in hot parts of US they talk about the traffic because the weather doesn't fluctuate enough
12:17:13 <soupdragon> yeah I know I'm too cynical for my own good
12:38:01 <ehirdiphone> So what. Doctor Who is awesome.
12:38:07 <ehirdiphone> It is also popular.
12:38:19 <ehirdiphone> I don't give a shit about popularity.
12:39:04 <ehirdiphone> augur: I do not want to know what follows.
12:39:07 <ehirdiphone> :P
12:39:27 <augur> nothing follows i just wanted to say that to make you think that ;D
12:52:25 -!- osaunders has joined.
13:04:22 -!- Asztal has joined.
13:13:29 -!- soupdragon has quit ("Leaving").
13:25:15 -!- soupdragon has joined.
13:32:25 <soupdragon> this is stupid :P
13:32:32 <soupdragon> Three Worlds Collide
13:33:30 <augur> ?
13:36:10 <ehirdiphone> soupdragon: it's a good story
13:36:26 <ehirdiphone> it gets better btw
13:36:30 <soupdragon> just the 4chan and 'internet is for porn' references make me baulk
13:36:43 <ehirdiphone> lighten up
13:36:44 <soupdragon> yeah I'm only half way
13:37:02 <soupdragon> yeah I just said it's stupid, I have nothing against stupid
13:37:07 <ehirdiphone> lol
13:37:24 <ais523> just think, all the amazing resources we have on the Internet are a byproduct of people wanting porn
13:49:05 -!- osaunders has quit.
13:57:40 <ehirdiphone> ais523: pretty much!
13:57:49 <ehirdiphone> but porn killed Betamax!
14:09:04 -!- ehirdiphone has quit ("Get Colloquy for iPhone! http://mobile.colloquy.info").
14:14:44 -!- uorygl has quit (Read error: 54 (Connection reset by peer)).
14:14:48 -!- uorygl has joined.
14:16:05 -!- osaunders has joined.
14:43:26 -!- oerjan has joined.
14:45:34 <soupdragon> question: I have an idea for a website, but I have no experience in any of the necessary skills to build it myself. What do I do?
14:45:41 <soupdragon> answer: I have an idea for a faster-than-light spacecraft which would accelerate space exploration exponentially. I have no idea how to build it. Suggestions?
14:47:10 <oerjan> indeed, with a faster-than-light spacecraft you could travel backwards in time with a copy of your website
14:47:18 <soupdragon> XD
14:49:14 <oerjan> there is however a significant danger things will get messed up and you have to be saved by an anthropomorphic/stuffed tiger
14:50:39 <soupdragon> ahh that was one fo the most fun ones
14:51:48 <oerjan> yes (not that i've read them all)
15:01:50 <oerjan> <ehirdiphone> So if fuse:fusion, I guess fiss:fission.
15:02:07 <oerjan> apparently fission comes from the latin verb "findo"
15:02:32 <oerjan> which probably wasn't borrowed because it resembles "find"...
15:03:40 <oerjan> latin 3rd conjugation verbs to all sort of consonant merging and stuff
15:03:43 <oerjan> *do
15:32:07 -!- osaunders has quit ("Bye").
16:14:32 -!- oerjan has quit ("leaving").
16:43:36 <soupdragon> Vinge has said [1] that the "important" sequel to Bookworm would have featured the first human with amplified intelligence; however, when he attempted to sell such a story to John W. Campbell, Campbell rejected it with the explanation "You can't write this story. Neither can anyone else."
16:43:46 <soupdragon> I don't get this, why can't anyone write this story?
16:46:46 <mycroftiv> soupdragon: no clue if this is what campbell was thinking, but you can claim that you cant accurately simulate an intelligence greater than your own and that would be necessary for such a story
16:47:02 <mycroftiv> i dont think thats a very good argument though personally
16:47:15 <soupdragon> me neither
16:47:29 <soupdragon> infact I don't even think it is true
16:47:30 <mycroftiv> given that we generally assume that art can meaningfully portrary/refer/represent things even without actually possessing those qualities
16:52:18 -!- |MigoMipo| has joined.
16:52:26 -!- ehirdiphone has joined.
16:52:48 <ehirdiphone> a crypt of misunderstanderment!
16:54:51 -!- |MigoMipo| has quit (Client Quit).
16:56:10 <ehirdiphone> C opinion poll: typedef struct _Foo Foo; struct _Foo {...};
16:56:12 <ehirdiphone> or
16:56:27 <ehirdiphone> typedef struct _Foo {...} Foo;
16:56:36 <mycroftiv> the former
16:56:40 <Deewiant> typedef struct { ... } Foo;
16:56:58 <ehirdiphone> I prefer the former; it doesn't have the strange dangling name and lets you use the alias in the strict itself
16:57:19 <ehirdiphone> Deewiant: Inconsistent when you also define recursive structures.
16:57:24 <mycroftiv> yes, especially the latter point
16:57:40 <ehirdiphone> *struct
16:57:41 <Deewiant> ehirdiphone: No, self-documenting when I do.
16:57:58 <ehirdiphone> Deewiant: What aspect does it document?
16:58:11 <Deewiant> "This struct is self-recursive."
16:58:26 <ehirdiphone> Anyway, it still has the freaky- dangling name.
16:58:33 <ehirdiphone> *freaky-deaky
16:58:43 <ehirdiphone> Deewiant: *self*recursive?
16:58:55 <ehirdiphone> Anyway that is self evident from the definition.
16:58:57 <Deewiant> As in, not mutually recursive with something else.
16:58:58 <mycroftiv> auto-self-recursive
16:59:11 <ehirdiphone> I admit though struct type names are a c wart
16:59:20 <ehirdiphone> C++ actually gets this right,
16:59:30 <ehirdiphone> struct foo {...} defines type foo
16:59:43 <Deewiant> Underscores followed by a capital letter are reserved identifiers, you shouldn't be using them :-P
16:59:50 <Deewiant> Can't remember if that was only POSIX though.
17:00:31 <ehirdiphone> I would actually use:
17:00:50 <ehirdiphone> typedef struct widget Widget;
17:00:56 <ehirdiphone> struct widget
17:00:58 <ehirdiphone> {
17:01:02 <ehirdiphone> ...
17:01:06 <ehirdiphone> };
17:01:28 <ehirdiphone> No need to adorn names in the struct namespace.
17:05:33 <ehirdiphone> I wish Plan 9 C's struct inheritance was widely supported.
17:06:15 <ehirdiphone> Sure, the standard lets you do struct foo { struct bar *parent; ... }
17:06:20 <fizzie> Deewiant: C99 7.1.3 Reserved identifiers: "All identifiers that begin with an underscore and either an uppercase letter or another underscore are always reserved for any use. All identifiers that begin with an underscore are always reserved for use as identifiers with file scope in both the ordinary and tag name spaces."
17:06:27 <ehirdiphone> and explicitly lets you cast it like that
17:06:37 <ehirdiphone> But it's ugly
17:06:56 <Deewiant> fizzie: Cheers
17:07:47 <ehirdiphone> I wonder; does C99 let you use Unicode in identifiers? I guess not.
17:08:08 <Deewiant> Yes, it does.
17:08:17 <ehirdiphone> Sweet.
17:08:51 <ehirdiphone> •(f,g)
17:09:07 <ehirdiphone> €(1000)
17:09:17 <ehirdiphone> MWAHAHAHaha
17:09:25 <Deewiant> ehirdiphone: Not arbitrary Unicode.
17:09:25 <ehirdiphone> MWAHAHahaha
17:09:30 <Deewiant> There's a restricted set.
17:09:35 <Deewiant> And it's not even all letters.
17:09:39 <ehirdiphone> Feckless.
17:09:51 -!- |MigoMipo| has joined.
17:10:05 <ehirdiphone> Feckless is my new favourite autocorrection of feck.
17:10:19 <Deewiant> You'll find the list in ISO/IEC 9899:1999(E) Annex D.
17:10:29 * anmaster_l wonders why there is no package for znc in arch
17:10:33 -!- MigoMipo has quit (Read error: 110 (Connection timed out)).
17:10:34 <anmaster_l> well, in aur there is
17:10:49 <ehirdiphone> "ehird, read the C spec on your iPhone."
17:10:54 <ehirdiphone> "No."
17:12:39 <ehirdiphone> #define if(x) if(__builtin_constant_p(x) ? (x) : !(x))
17:12:53 <fizzie> ehirdiphone: http://pastebin.com/m4406d890
17:12:56 <ehirdiphone> I am become WTF, destroyer of programmers' minds.
17:13:31 <ehirdiphone> fizzie: Thank you for that entirely useless list. :P
17:13:38 <fizzie> ehirdiphone: You're welcome!
17:13:46 <ehirdiphone> After a while you don't see the codepoints.
17:14:03 <ehirdiphone> All I see is blonde, brunette, redhead...
17:14:18 <fizzie> Blonde, brunette, redhead, bopomofo.
17:15:13 <ehirdiphone> I think you can do currying in cpp...
17:15:29 <anmaster_l> ehirdiphone, so I'm dual booting gentoo and arch atm. In the process of switching over
17:15:35 <ehirdiphone> #define apply(f,x) f(x)
17:15:37 <anmaster_l> may take a bit before I drop gentoo completely
17:15:39 <ehirdiphone> then eg
17:16:08 <ehirdiphone> #define _1(f) _1_,f
17:16:29 <ehirdiphone> #define _1_(f,x) f(x)
17:16:34 <ehirdiphone> Usage:
17:17:15 <ehirdiphone> apply3(##apply(_1,func), someval)
17:17:18 <ehirdiphone> Given
17:17:24 <ehirdiphone> *apply2
17:17:39 <ehirdiphone> #define apply2(f,x,y) f(x,y)
17:17:43 <ehirdiphone> No?
17:18:09 <soupdragon> I don't get it
17:18:18 <ehirdiphone> anmaster_l: Abandoning source distros? You? Thought I'd never see the day
17:18:30 <ehirdiphone> soupdragon: What bit confuses you?
17:18:40 <soupdragon> none of it seems to make any sense
17:18:51 <ehirdiphone> Do you know cpp?
17:18:56 <soupdragon> not realyl
17:19:03 <soupdragon> I've written some programs in it
17:19:03 <ehirdiphone> Well then :P
17:19:14 <ehirdiphone> cpp. The preprocessor
17:19:18 <ehirdiphone> Not C++
17:19:21 <soupdragon> oh
17:19:26 <soupdragon> right well I know cpp better than c++
17:19:37 <ehirdiphone> :D
17:20:08 <soupdragon> I didn't know you could paste like that
17:20:18 <soupdragon> to get apply3(_1_,func,someval)
17:20:32 <ehirdiphone> I think you need a ## after the call too
17:20:39 <ehirdiphone> soupdragon: apply2 actually
17:20:46 <soupdragon> apply3(##apply2(_1,func)##, someval) ?
17:21:08 <ehirdiphone> I know cpp has a specific rule forbidding , interpolation but surely ## overrides it
17:21:16 <ehirdiphone> soupdragon: apply3->2
17:21:26 <ehirdiphone> 2 args to func
17:21:26 <soupdragon> apply2(##apply(_1,func)##, someval)
17:21:26 <soupdragon> ?
17:21:31 <ehirdiphone> yeah
17:21:34 <ehirdiphone> I think
17:21:42 <soupdragon> error: macro "apply2" requires 3 arguments, but only 2 given
17:21:42 <anmaster_l> <ehirdiphone> anmaster_l: Abandoning source distros? You? Thought I'd never see the day <-- actually I use freebsd on another system
17:21:55 <anmaster_l> ehirdiphone, using ports
17:22:05 <ehirdiphone> "distros"
17:22:18 <soupdragon> the ## doesn't do anything
17:22:59 <ehirdiphone> eh?
17:23:28 <ehirdiphone> Ok then how about
17:23:32 <soupdragon> it needs to be inside a #define
17:23:37 <ehirdiphone> Yes
17:23:38 <ehirdiphone> Duh
17:23:50 <ehirdiphone> Put it onside one
17:23:53 <ehirdiphone> *inside
17:24:52 <mycroftiv> this idea seems vaguely relevant at the moment, ehird might like it: in a purely source based environment, why not build static binaries with no use of libraries at all, just a preprocessing step where every function needed (and no others) is inlined
17:25:09 <soupdragon> I don't think this is possible ehird
17:25:38 <soupdragon> to paste f(x,u,z) into f(x,a,b,c,z)
17:25:40 <ehirdiphone> soupdragon: :(
17:26:33 <ehirdiphone> soupdragon: ok then, different cpp idea
17:27:46 <ehirdiphone> cpp is repeatedly executed on its output until there is no change. there is a special define as if #define NL (newline)
17:27:54 <ehirdiphone> so eg you could do
17:28:27 <ehirdiphone> #define foo(x) #include #x NL #define included_##x
17:28:48 <ehirdiphone> usage foo(blah.h)
17:28:55 <ehirdiphone> Task: prove tc or not
17:29:02 <ehirdiphone> I've thought about it a bit
17:29:06 <ehirdiphone> Pretty sure it's tc
17:29:22 <anmaster_l> <ehirdiphone> "distros"
17:29:23 <anmaster_l> yes?
17:29:27 <anmaster_l> you didn't say "linux distro"
17:29:35 <anmaster_l> one could argue freebsd is a freebsd distro
17:29:49 <anmaster_l> and isn't pc-bsd based on freebsd?
17:29:51 <soupdragon> it's not valid :(
17:30:00 <anmaster_l> so there are two freebsd distros then
17:30:01 <soupdragon> I can imagine it though
17:30:04 <anmaster_l> freebsd and pc-bsd
17:30:07 <anmaster_l> unless I misremember
17:30:45 <ehirdiphone> soupdragon: nit valid how
17:30:49 <ehirdiphone> *not
17:31:03 <soupdragon> the #define
17:31:27 <ehirdiphone> anmaster_l: in that case *bsd are just 386bsd (aka jolix) distros
17:31:29 <soupdragon> -->NL #define inc<--
17:31:38 <ehirdiphone> soupdragon: read the lines above
17:31:50 <ehirdiphone> Just run cpp in a loop
17:31:59 <soupdragon> yeah cpp in a loop is TC
17:32:02 <ehirdiphone> With s/NL/\n/ in between
17:34:06 <anmaster_l> ehirdiphone, indeed
17:34:50 <ehirdiphone> I actually considered forking 386BSD...
17:34:56 <ehirdiphone> But that's too much work.
17:35:06 <ehirdiphone> I'm more familiar with Linux, anyway.
17:36:27 <anmaster_l> ehirdiphone, os x?
17:36:32 <anmaster_l> doesn't it count
17:36:39 <anmaster_l> that's *bsd userland anyway
17:36:59 <ehirdiphone> What about it?
17:37:24 <ehirdiphone> btw, the kernel is essentially BSD-on-Mach
17:39:42 <ehirdiphone> Linux pre-2.4 isn't even updated for security, is it?
17:44:35 -!- madbr has joined.
17:55:26 <ehirdiphone> http://www.iro.umontreal.ca/~felipe/IFT2030-Automne2002/Complements/tinyc.c wow this code is tight
17:55:30 <ehirdiphone> and pretty
17:59:55 <Deewiant> That doesn't look like a compiler
18:00:17 <Deewiant> Looks like an interpreter that prints out every variable's value at termination
18:01:24 <ehirdiphone> It compiles to VM instructions.
18:01:33 <ehirdiphone> Look at the code generator section.
18:01:59 <ehirdiphone> Regardless, it's under 300 lines of code and very readable.
18:02:06 <ehirdiphone> Which is impressive.
18:02:09 <Deewiant> Ah, okay.
18:02:58 <Deewiant> Well, line count is easily reduced by having 5 statements per line :-P
18:04:07 <Deewiant> $ indent < tinyc.c | wc -l
18:04:07 <Deewiant> 549
18:04:20 <soupdragon> that's very impressivle
18:05:31 <ehirdiphone> Deewiant: Strip the comments
18:05:35 <ehirdiphone> No fair
18:06:00 <Deewiant> Still 500.
18:07:04 <ehirdiphone> How about with sloccount?
18:07:32 <ehirdiphone> Whitespace, lines with just } and similar aren't really active lines of code.
18:07:49 <Deewiant> 447
18:08:49 <Deewiant> indent -kr puts it at 397
18:08:53 <ehirdiphone> (sloccount skips whitespace tight?)
18:08:59 <Deewiant> Tight.
18:09:10 <ehirdiphone> 397 is very good IMO :P
18:09:46 <Deewiant> Sure.
18:11:40 -!- MigoMipo has joined.
18:17:19 -!- |MigoMipo| has quit (Read error: 60 (Operation timed out)).
18:32:35 -!- AnMaster has joined.
18:35:56 <ehirdiphone> Hi AnMaster.
18:36:18 -!- soupdragon has quit ("Leaving").
18:49:35 -!- ehirdiphone has quit ("Get Colloquy for iPhone! http://mobile.colloquy.info").
19:31:17 -!- lament has joined.
19:41:51 -!- harriman has joined.
19:42:36 <coppro> whee
19:43:03 <coppro> hmm... doesn't have the command I need
19:43:05 <coppro> time to add it I guess
19:43:58 <AnMaster> what the heck is harriman
19:45:06 <coppro> it's a long story
19:45:51 <lament> @games
19:46:09 <coppro> note that none of those work
19:47:44 <lament> oh good
19:47:48 <AnMaster> coppro, how is it esolang related?
19:47:55 <coppro> AnMaster: It really isn't
19:47:59 <AnMaster> mhm
19:48:02 <coppro> I'm trying to add a command to move it out of here
19:48:35 -!- harriman has left (?).
19:48:38 <coppro> there we go
19:48:40 <coppro> <3 Erlang
19:49:12 <AnMaster> "CONFIG_PARPORT_PC_FIFO:
19:49:12 <AnMaster> Many parallel port chipsets provide hardware that can speed up
19:49:12 <AnMaster> printing. Say Y here if you want to take advantage of that."
19:49:18 <coppro> the bot's actually modular; the games module is the only one with any real development though
19:49:38 <AnMaster> since when would you need DMA for a parallel printer XD
19:49:42 <AnMaster> parallel port*
19:49:58 <AnMaster> well maybe a better question would be "since when wouldn't you"
19:50:18 -!- augur has quit (Read error: 110 (Connection timed out)).
19:51:17 <coppro> hm... that's an issue
19:52:34 <AnMaster> coppro, what is?
19:52:52 <coppro> something to do with my bot
19:52:57 <coppro> just the way it parses some commands
19:56:05 <coppro> wewt, crash...
20:01:11 <madbr> man, looking at chip-8
20:01:16 <madbr> interesting design
20:01:42 <madbr> sorely lacking in "easy shit that looks pretty" stuff tho :D
20:05:42 <coppro> hmm... pretty sure that isn't supposed to happen
20:05:45 <coppro> oh well... homework to do
20:30:50 -!- osaunders has joined.
20:44:00 -!- Azstal has joined.
20:44:50 -!- Aszstal has joined.
20:51:25 -!- nooga has joined.
20:51:31 <nooga> hello
20:59:38 <nooga> OGC
20:59:54 -!- Asztal has quit (Read error: 110 (Connection timed out)).
21:00:40 -!- Azstal has quit (Read error: 110 (Connection timed out)).
21:14:24 -!- osaunders has quit.
21:15:24 -!- lament has quit.
21:16:01 -!- ehirdiphone has joined.
21:16:23 <nooga> diphone
21:17:03 <ehirdiphone> I love how R5RS seems pretty benign and then you get to call-with-current-continuation. A few minutes later, it bludgeons you with dynamic-wind.
21:17:17 <ehirdiphone> Oh no, it's nooga.
21:17:29 <nooga> cheers
21:17:57 <madbr> hmm, how could something like chip-8 be modernized
21:18:06 <ehirdiphone> With magic. L
21:18:07 <madbr> http://en.wikipedia.org/wiki/CHIP-8
21:18:07 <AnMaster> ehirdiphone,
21:18:15 <ehirdiphone> / L/d
21:18:16 <AnMaster> while configuring a 2.6.32 kernel:
21:18:18 <AnMaster> "This option will be removed in 2.6.29."
21:18:39 <ehirdiphone> AnMaster: GNU-quality engineering!
21:19:10 <ehirdiphone> Bah, I'm turning into a grumpy old bastard who hates everything modern.
21:19:20 <nooga> and uses an iphone
21:19:32 <ehirdiphone> Well, there is that.
21:19:35 <AnMaster> and is uh 14 years old
21:19:41 <ehirdiphone> And that.
21:19:43 <AnMaster> or "young"
21:19:44 <AnMaster> rather
21:19:46 <ehirdiphone> But apart from that.
21:19:53 <AnMaster> you should say "14 years young"
21:20:41 <ehirdiphone> Gimme my libc4, my Linux 2.0, my a.out, my XFree86, my BSD userland. My X terminals!
21:21:01 <AnMaster> ehirdiphone, what file system
21:21:41 <AnMaster> ehirdiphone, know that Linux 2.0 definitely didn't have any journaling fs
21:21:44 <ehirdiphone> Um. I don't know. How about ext's little-known and nonexistent predecessor, whose name is the null string.
21:21:52 <ehirdiphone> It's ext without the ext.
21:21:53 <AnMaster> also what the crap is up with the spell checking on here
21:21:55 <AnMaster> on arch
21:22:17 <AnMaster> it is abysmal, in fact it doesn't even know the word "abysmal"
21:22:38 <ehirdiphone> That's because you've spelt it wrong.
21:22:42 <AnMaster> on gentoo I had one that knew everything, even stuff no one used any more
21:22:50 <AnMaster> ehirdiphone, well it had no suggestions for it either
21:22:57 <ehirdiphone> Absymal.
21:23:11 <AnMaster> ehirdiphone, it doesn't accept Absymal either
21:23:16 <ehirdiphone> Just pirate Webster's, the old one
21:23:18 <AnMaster> s/ / /
21:23:21 <ehirdiphone> It's public domain
21:23:27 <ehirdiphone> So not really pirate
21:23:28 <AnMaster> I'm not sure what this one uses...
21:23:36 <AnMaster> it doesn't seem to be aspell
21:23:41 <AnMaster> since that isn't even installed !?
21:23:49 <ehirdiphone> You won't get things like "blog" though
21:23:56 <ehirdiphone> AnMaster: Ispell?
21:24:28 <ehirdiphone> damn R5RS is still such a nice language
21:24:42 <ehirdiphone> I forget that every so often then look at the spec again
21:24:43 <AnMaster> ehirdiphone, about "blog", won't make a difference here. It doesn't know it either.
21:25:03 <AnMaster> also it thinks that "doesn't" are two words, doesn and t, t being a valid word, doesn is not
21:25:10 <ehirdiphone> Webster's is from the 1910s though :P
21:25:11 <AnMaster> complete and utter failure
21:26:15 <ehirdiphone> I should write yet another R5RS compiler.
21:27:00 <ehirdiphone> Continuation-passing style transformation and Cheney on the MTA garbage collection are good for you.
21:27:30 <nooga> how does it look in practise?
21:27:59 <ehirdiphone> R5RS is the last true Scheme, if you don't know it by that moniker.
21:28:25 <coppro> lies
21:28:26 * AnMaster wonders why xchat has --enable-mmx
21:28:41 <AnMaster> it seems so out of place for an irc client
21:28:46 <coppro> (actually, I don't know enough about Scheme to know why people hate R6RS and I don't particularly care)
21:28:46 <ehirdiphone> (R6RS, the latest report, defines a language superficially similar but a complete miscarriage of Scheme's philosophy in actuality.)
21:29:04 <coppro> ehirdiphone: is there a good link on this?
21:30:06 <nooga> isn't Scheme just grotesque Lisp dialect?
21:30:10 <ehirdiphone> coppro: The R6RS votes page. Note the lack of reasoning for almost all yes votes. Note the in depth objections from experienced Schemers on the no votes. Note how it only passed by a small majority.
21:30:22 <ehirdiphone> nooga: It is VERY ungrotesque.
21:30:24 <coppro> link?
21:30:35 <ehirdiphone> coppro: r6rs.org.
21:30:40 <coppro> no, to the votes page
21:30:42 <ehirdiphone> Some link there.
21:31:23 <ehirdiphone> coppro: Also note that the vast majority of implementers said they would not adopt R6RS and indeed haven't.
21:31:31 * AnMaster recompiles xchat to use gtkspell so he can get that language selection pop-up menu.
21:31:37 <ehirdiphone> It has... not been a hit.
21:31:53 <AnMaster> also what the crap is up with not knowing "recompiles" but knowing "recompile"
21:31:57 <AnMaster> that is just so very very broken
21:32:00 <coppro> I cannot find this page you speak of
21:32:04 <coppro> link or it didn't happen
21:32:20 <ehirdiphone> Not on the iPhone. Just RTF page
21:32:43 <coppro> did
21:33:17 -!- Pthing has quit (Remote closed the connection).
21:33:41 <ehirdiphone> Re my earlier remarks about implementing R5RS being good for you: ...but figuring out how DYNAMIC-WIND interacts with everything else is like shooting 5,000 bags of heroin a day for 1,000 years, except instead of getting high your face is stomped on by a burning poker.
21:33:48 <ehirdiphone> coppro: Sec. I'll look. L
21:33:57 <ehirdiphone> / L/d
21:34:36 <nooga> ehirdiphone: is it enough ungrotesque to make you want to design hardware r6rs scheme processor and write very sophisticated OS for that in r6rs scheme?
21:34:41 <nooga> urgh
21:35:46 <AnMaster> ehirdiphone, what is DYNAMIC-WIND?
21:35:55 <coppro> AnMsater: http://www.schemers.org/Documents/Standards/R5RS/HTML/r5rs-Z-H-9.html#%_idx_576
21:35:56 <ehirdiphone> coppro: Ugh, they removed the ratification results.
21:36:02 <AnMaster> I don't remember that from r5rs? or would it be some r6rs thing?
21:36:04 <ehirdiphone> Still have a broken link to it.
21:36:08 <coppro> looks pretty straightforward, actually
21:36:16 <ehirdiphone> nooga: you're a fool
21:36:33 <ehirdiphone> coppro: It interacts with callcc
21:36:34 <nooga> ehirdiphone: that's not an answer
21:36:36 <ehirdiphone> Very horribly
21:36:38 <coppro> ehirdiphone: yes, I see
21:36:48 <ehirdiphone> nooga: I don't talk to trolls
21:37:07 <AnMaster> nooga, what has r6rs got to do with being ungrotesque?
21:37:20 <AnMaster> ehirdiphone, I think he must have misinterpreted you
21:37:29 <nooga> ehirdiphone said that it's VERY ungrotesque
21:37:35 <AnMaster> nooga, ehirdiphone meant that r5rs was ungrotesque... Not r6rs
21:37:43 <ehirdiphone> AnMaster: Shh
21:37:44 <nooga> nvm
21:37:49 <ehirdiphone> You're feeding the idiot
21:38:07 <coppro> yay, food!
21:38:11 <AnMaster> ehirdiphone, maybe he will someday turn less idiotic by the osmosis?
21:38:15 <ehirdiphone> He's just making fun of my OS/hardware tendencies
21:38:28 <nooga> erm
21:38:30 <nooga> no
21:38:32 <ehirdiphone> AnMaster: we did try that for months...
21:38:38 <AnMaster> ehirdiphone, oh okay then
21:38:43 <AnMaster> test -z "/etc/gconf/schemas" || /bin/mkdir -p "/home/arvid/src/system/xchat/pkg/etc/gconf/schemas"
21:38:43 <AnMaster> ../../../0 -m 644 'apps_xchat_url_handler.schemas' '/home/arvid/src/system/xchat/pkg/etc/gconf/schemas/apps_xchat_url_handler.schemas'
21:38:43 <AnMaster> /bin/sh: line 4: ../../../0: No such file or directory
21:38:48 <AnMaster> VERY strange build error
21:39:15 <nooga> ehirdiphone: I was not making fun
21:41:08 <ehirdiphone> "urgh" immediately otherwise and you referring to it as r6rs when it was r5rs I praised, plus historical evidence, suggests otherwise. But whatever
21:41:14 <ehirdiphone> I'm tired
21:41:32 <AnMaster> ehirdiphone, I believe he must simply have misunderstood you
21:41:35 <nooga> naaah, that urgh was about my weird grammar
21:41:53 <nooga> and i thought we were talking about r6rs
21:42:00 <nooga> nvm, i'm a fool and troll
21:42:10 <AnMaster> ehirdiphone, maybe it worked after all ^
21:42:33 <nooga> i'll better shut up
21:42:50 <AnMaster> ehirdiphone, isn't it said that realising your own faults is the first step towards getting rid of those?
21:42:57 -!- dbc has quit (Read error: 110 (Connection timed out)).
21:43:06 <ehirdiphone> AnMaster: this is his self hate mode
21:43:08 <AnMaster> (no offence meant to anyone here)
21:43:16 <ehirdiphone> Hes done it before
21:43:19 <AnMaster> oh
21:43:50 <nooga> because I LIKE watching how my behaviour infuriates ehird, it's amusing :
21:43:52 <nooga> :D
21:44:34 <nooga> but it's over, I promise
21:44:59 <AnMaster> UNROLL drivers/md/raid6altivec1.c
21:44:59 <AnMaster> CC [M] drivers/md/raid6altivec1.o
21:44:59 <AnMaster> UNROLL drivers/md/raid6altivec2.c
21:44:59 <AnMaster> hm
21:45:06 <AnMaster> I wonder why it is compiling that
21:45:09 <AnMaster> on x86_64
21:45:19 <AnMaster> ehirdiphone, ^ XD
21:45:29 <AnMaster> also how the heck does it even succeed in compiling it
21:45:47 -!- adam_d has joined.
21:47:23 <ehirdiphone> http://sisc-scheme.org/r5rs_pitfall.php I love the MAP caveat
21:47:33 <ehirdiphone> Such an unexpected language quirk
21:50:05 -!- ehirdiphone has quit ("Get Colloquy for iPhone! http://mobile.colloquy.info").
21:50:29 -!- ehirdiphone has joined.
21:51:14 <nooga> ehirdiphone: ever tried xmonad?
21:51:20 <ehirdiphone> Yes.
21:51:26 <nooga> and how was it?
21:51:42 <ehirdiphone> Configuration system sucks, generally not as good as dwm or wmii.
21:52:49 <nooga> how about awesome?
21:53:11 <ehirdiphone> awesome is dwm with a lot of stuff, mostly superfluous, added to it.
21:54:42 <nooga> I asked about xmonad because Wadler inspired me to play with haskell again
21:54:59 <nooga> last month I went to Edinburgh to visit my friend from UoE and accidentally met Phil Wadler after his lecture
21:55:10 -!- dbc has joined.
21:55:11 <ehirdiphone> Haskell is great.
21:55:55 <nooga> uhm
21:55:59 <ehirdiphone> L
21:56:02 <AnMaster> shiretoko, hard to remember name for arch linux's firefox
21:56:02 <ehirdiphone> Oops
21:56:21 <ehirdiphone> AnMaster: Mozilla's fault.
21:56:31 <coppro> yeah :(
21:56:37 <ehirdiphone> Blame their fucking idiotic trademark policies.
21:56:39 <AnMaster> ehirdiphone, you mean the branding thing, well yes
21:56:47 <AnMaster> but why call it "shiretoko" instead
21:56:48 <ehirdiphone> Mozilla are as bad as Sun and IBM.
21:56:49 <AnMaster> it
21:56:55 <AnMaster> it's* a hard to remember name
21:57:00 <ehirdiphone> Once a corporation always a corporation.
21:57:11 <ehirdiphone> AnMaster: Its the official codename
21:57:14 <ehirdiphone> Of 3.5
21:57:24 <coppro> At least Debian is consistent about there
21:57:27 <coppro> *theirs
21:57:29 <AnMaster> hah
21:57:30 <ehirdiphone> It will change for the next version, etc.
21:57:31 <AnMaster> aha*
21:57:37 <AnMaster> ehirdiphone, gentoo can actually work around it, since you can compile it for personal use with official logo iirc
21:57:41 <AnMaster> so they offer a useflag for it
21:57:44 <ehirdiphone> Yes.
21:57:58 <AnMaster> ehirdiphone, source based distros are better at some stuff :P
21:58:09 <AnMaster> of course it is stupid this is required
21:58:23 <ehirdiphone> I read the debian thread that kicked it all off
21:58:32 <ehirdiphone> Mozilla guys were jerks
21:58:40 <coppro> yep :(
21:58:51 <ehirdiphone> Debian were like "Fuck you guys, we can't call firefox firefox now"
21:59:13 <coppro> I can see the rationale behind blocking one user from using a trademark
21:59:15 <coppro> if they're bad about it
21:59:19 <coppro> but blanket policies = :(
21:59:43 <ehirdiphone> Good thing firefox is shit
22:00:06 <coppro> most applications are shit
22:00:33 <ehirdiphone> Firefox is a bad browser, though. There are better.
22:00:41 <coppro> Depends on the purpose
22:00:59 <AnMaster> ehirdiphone, "works on most web pages"? I think firefox manages very well there
22:01:08 <ehirdiphone> If your purpose isn't "experience hell", firefox is probably the wrong choice
22:01:21 <coppro> Firefox is pretty usuable
22:01:23 -!- ais523 has quit (Remote closed the connection).
22:01:26 <ehirdiphone> AnMaster: Webkit + presto (operas engine) do that perfectly well
22:01:35 <ehirdiphone> coppro: *unusable
22:01:36 <nooga> but
22:01:39 <ehirdiphone> Agreed!
22:01:40 <AnMaster> ehirdiphone, presto is open source?
22:01:45 <ehirdiphone> AnMaster: No.
22:01:50 <nooga> but but
22:01:54 <AnMaster> ehirdiphone, not relevant to me then
22:01:58 <coppro> ehirdiphone: how, in your mind, is it unusable?
22:02:06 <ehirdiphone> AnMaster: I never asked for your opinion.
22:02:19 <AnMaster> ehirdiphone, webkit might be worth a try
22:02:47 <ehirdiphone> coppro: Crufty, slow ui; slow performance; requires extensions to just be not retarded
22:03:00 <nooga> webkit? don't be riddiculous, just look at Slowfari
22:03:01 <ehirdiphone> Memory hog too
22:03:13 <ehirdiphone> nooga: Webkit is the fastest engine.
22:03:19 <AnMaster> ehirdiphone, if it supports features I use. Like adblock, noscript, firebug (script debugger and live editor for css/html plus more). And I'm not interested in your opinion on those add-ons
22:03:21 <ehirdiphone> Apart from maybe Opera's
22:03:34 <coppro> ehirdiphone: It's not slow to the point of unusability unless you're doing something stupid; the bit about extensions is part of its appeal
22:03:41 <ehirdiphone> AnMaster: Stop using me as a soapbox.
22:03:49 <AnMaster> ehirdiphone, hm?
22:03:55 <nooga> what? :D
22:03:58 <ehirdiphone> "ehird:" should preferably be relevant to me...
22:04:17 <coppro> (not that the complaints about speed/memory are not valid, because they are)
22:04:33 <ehirdiphone> coppro: You have to download third party stuff to make it not terrible == it is shit
22:05:04 <coppro> ehirdiphone: what exactly?
22:05:06 <AnMaster> ehirdiphone, well since you were recommending them to me
22:05:15 <ehirdiphone> AnMaster: You asked.
22:05:19 <ehirdiphone> Ima go sleep now
22:05:22 <ehirdiphone> Tired.
22:05:26 <AnMaster> ehirdiphone, I thought you were suggesting ones that would fit me
22:05:29 <coppro> before or after you back up your assertions?
22:05:42 <AnMaster> coppro, before, wouldn't be ehird otherwise
22:05:45 <ehirdiphone> coppro: Its all a conspiracy to avoid answering you!
22:05:53 <ehirdiphone> xxxxxx
22:05:56 <ehirdiphone> Zzzzzzz
22:05:57 <coppro> zzzzz?
22:05:59 -!- ehirdiphone has quit ("Get Colloquy for iPhone! http://mobile.colloquy.info").
22:06:14 <nooga> uhuh
22:06:25 <AnMaster> also, firefox 3.5 seems quite snappy to me, older versions less so
22:06:33 <nooga> i like ff
22:07:05 <AnMaster> nooga, codewise it is horrible
22:07:20 <nooga> and firebug is irreplaceable
22:07:24 <coppro> AnMaster: try running a ton of JavaScript
22:07:29 <coppro> my 3 complaints for Firefox 3.5:
22:07:33 <coppro> - Memory consumption
22:07:35 <AnMaster> coppro, well I do use noscript anyway
22:07:39 <coppro> - JavaScript speed
22:07:49 <AnMaster> coppro, I seldom visit js heavy sites
22:07:53 <coppro> AnMaster: pretty irrelevant; regular page script isn't what does it
22:07:55 <AnMaster> of course firefox itself is js-heavy
22:07:58 -!- augur has joined.
22:08:02 <AnMaster> coppro, what does it then?
22:08:09 <coppro> - JavaScript garbage collection shuts the whole thing down
22:08:16 <coppro> AnMaster: running a JS application (like ChatZilla)
22:08:19 <coppro> (or Wave)
22:08:24 <AnMaster> coppro, ah, never used them
22:08:36 <coppro> ChatZilla isn't terrible, but Wave just nukes it
22:08:40 <AnMaster> coppro, for irc I tend to prefer a real client
22:08:50 <AnMaster> as for wave, well google want people to use chrome, no?
22:08:55 <coppro> yep :/
22:09:03 <coppro> CZ is a real client, if I ever get it running in XULRunner
22:09:07 <AnMaster> coppro, why not replace firefox's js engine
22:09:16 <coppro> AnMaster: because they just got a knew one?
22:09:19 <coppro> and it still sucks?
22:09:23 <AnMaster> knew one?
22:09:27 <coppro> at least it doesn't leak memory any more
22:09:29 <AnMaster> new you mean?
22:09:30 <coppro> *new one
22:09:47 <coppro> now the memory leakage is left up to Xorg
22:09:59 <AnMaster> coppro, does the new one JIT?
22:09:59 <nooga> Xorg leaks?
22:10:06 <coppro> AnMaster: no clue
22:10:29 <coppro> nooga: I think it's other applications leaking X resources or something, but it's only cured by restarting X
22:10:38 <AnMaster> coppro, also there is a solution that google won't be able to do anything about: start using v8d in firefox
22:10:47 <AnMaster> then it will be exactly as fast as chrome
22:10:48 <AnMaster> ;P
22:10:59 <AnMaster> but there are pretty large downsides to that
22:10:59 <coppro> http://www.v8d.org/?
22:11:12 <AnMaster> coppro, whatever the one google used
22:11:17 <AnMaster> wasn't it called v8 or such?
22:11:21 <AnMaster> I forgot the exact name
22:11:24 <coppro> oh, you mean the script engine?
22:11:28 <AnMaster> coppro, well yes
22:11:45 <coppro> I don't know; I think Firefox's script engine is pretty married to the rest of it
22:11:48 <AnMaster> coppro, v8d sounds like an irc network I was on years ago. long before I was on freenode
22:11:52 <coppro> not sure though
22:11:54 <AnMaster> so I guess I mixed them up
22:12:00 * AnMaster wonders if that irc network still exists
22:12:13 <AnMaster> oh seems so
22:12:23 <coppro> it is the v8 engine
22:12:28 <AnMaster> coppro, v8 it was then
22:12:29 <AnMaster> right
22:12:29 <coppro> according to google
22:12:36 <AnMaster> I guess they know ;P
22:12:55 <AnMaster> coppro, anyway, why so married you meant
22:12:55 <coppro> oh, I also hate the abysmal set of Linux plugins, but that's not really FF's fault
22:13:04 <AnMaster> coppro, what?
22:13:07 <coppro> AnMaster: difficult to separate
22:13:10 <AnMaster> abysmal set of Linux plugins? for what?
22:13:19 <AnMaster> coppro, bad design, should be made modular
22:13:27 <coppro> AnMaster: Linux plugins cause freezes, leaks, etc. especially Flash
22:13:32 <AnMaster> with a clean interface
22:13:47 <AnMaster> coppro, oh hah, I don't use any plugins. Especially not closed source ones
22:13:50 <coppro> AnMaster: yes, I agree it's bad design; I'm not 100% sure that's the case though and it's not my problem either way
22:14:01 <coppro> AnMaster: you really care that much about open source?
22:14:12 <AnMaster> coppro, well there is one limit: nvidia drivers
22:14:15 <AnMaster> I do need 3D graphics
22:14:33 <AnMaster> coppro, apart from that and BIOS, plus possible some firmware. I think I'm clean
22:14:34 <coppro> isn't the new open-source driver supposed to be better than the closed-source ones?
22:14:42 <AnMaster> coppro, isn't that for ATI?
22:14:53 <coppro> AnMaster: No... what was it called... it was on /.
22:15:03 <AnMaster> coppro, on /?
22:15:05 * AnMaster looks
22:15:11 <coppro> nouveau
22:15:14 <AnMaster> $ ls /.
22:15:14 <AnMaster> bin boot dev etc home lib lib64 lost+found media mnt opt proc root sbin srv sys tmp usr var
22:15:22 <AnMaster> can't see anything about nvidia there
22:15:23 <AnMaster> ;P
22:15:32 <coppro> :P
22:15:49 <AnMaster> "3D support is worked on using Gallium3D and can (depending on the Chip generation and the applications) be quite usable. Breakage in the 3D-drivers can (and will) however occur, they are known and are not needed to be reported. When that status change this page will be updated. "
22:15:50 <AnMaster> well
22:15:55 <AnMaster> sounds like out of question for me
22:15:59 <coppro> According to the /. article, there's a preloader that's part of the closed-source stuff, but otherwise it's open-source
22:16:02 <AnMaster> coppro, I need flight sim and such to work
22:16:06 <coppro> ah, ok
22:16:15 <AnMaster> not sure what chipset I have
22:16:17 <AnMaster> of those listed
22:16:22 <coppro> still, I'm surprised you care that much about open source
22:16:24 <AnMaster> 01:00.0 VGA compatible controller: nVidia Corporation G73 [GeForce 7600 GS] (rev a2)
22:16:36 <coppro> I mean, I'm a big fan of it, but I'm not stupid about it
22:16:38 <AnMaster> coppro, can you figure out which on http://nouveau.freedesktop.org/wiki/FeatureMatrix that is?
22:16:55 <AnMaster> ah found it
22:17:00 <AnMaster> NV40
22:17:02 <AnMaster> probably
22:17:19 <AnMaster> well looks fairly bad
22:17:35 -!- MigoMipo has quit ("When two people dream the same dream, it ceases to be an illusion. KVIrc 3.4.2 Shiny http://www.kvirc.net").
22:18:55 <AnMaster> coppro, probably it might be useful around the time nvidia drops driver support for my card
22:18:58 <AnMaster> hopefully
22:19:14 <coppro> AnMaster: why do you hate closed-source stuff so much
22:19:15 <coppro> ?
22:19:26 <coppro> (this is a real question, not an accusation or the like)
22:20:03 <AnMaster> coppro, binary blob, you can't fix it if it breaks. for libraries and drivers: you can't easily debug crashes in your own programs if they happen in binary blobs
22:20:04 <AnMaster> and so on
22:20:40 <coppro> AnMaster: those are all reasons against using it when an alternative exists, but if there's no alternative (like with Flash)?
22:20:59 <AnMaster> coppro, the security aspect (harder to sneak in malicious code) is another part. Sure, I won't review everything myself for open source, but the fact that any user could means it is much more risky to try it in open source
22:21:17 <coppro> agreed again
22:21:24 <AnMaster> coppro, with flash there is, only flash I care about is youtube videos. Works with youtube-dl + vlc
22:21:55 <coppro> but you seem to have a rather RMSan aversion from proprietary stuff
22:21:57 <AnMaster> coppro, also, even buggy but non-malicious code tends to be more rare in open source in my experience
22:22:44 <AnMaster> for any open source project with a sufficiently large user base, there will be someone who does fix bugs he/she encounters
22:22:54 <AnMaster> and submits a patch
22:22:59 <coppro> not counting things I do at work, the only proprietary stuff I use regularly is Flash and various web applications
22:23:11 <coppro> s/proprietary/closed source/
22:23:31 <AnMaster> coppro, well, there is java mostly at university web portal system thingy
22:23:34 <coppro> (oh, BIOS too)
22:23:48 <AnMaster> I don't like that either but not as bad as flash
22:23:55 <coppro> Java's open source now :)
22:24:19 <AnMaster> coppro, yes but it is still buggy, open source haven't yet had full effect on it
22:24:26 <coppro> agreed on that point
22:24:36 <coppro> but so it's more a usability thing than a proprietary thing?
22:24:37 <AnMaster> considering how long it took for firefox to get reasonable...
22:24:46 <AnMaster> (and it still is fairly bad in part)
22:25:07 <AnMaster> coppro, also rolling release distros tend to be least buggy, and most up-to-date
22:25:19 <coppro> hmm?
22:25:21 <AnMaster> least buggy I can explain with "no deadlines".
22:25:25 <coppro> don't quite understand that
22:25:40 <AnMaster> but "most up-to-date" would require deadlines. so well quite a paradox
22:25:54 <AnMaster> coppro, consider arch linux vs. ubuntu
22:26:29 <AnMaster> ubuntu is buggier than arch I would say. More well integrated, but bugs exist and are often fixed in a "not really fixed" way
22:26:34 <AnMaster> ais could tell you more about that
22:27:05 <coppro> as an Ubuntu user, I agree about the 'not really fixed' bit
22:27:36 <AnMaster> coppro, arch on the other hand tends to be 1) more bleeding edge (sometimes uncomfortably so) 2) less buggy
22:27:59 <AnMaster> however, not as well integrated, things won't work out of box. But it won't beep at you a lot during shutdown
22:30:11 -!- jpc has joined.
22:41:33 <anmaster_l> speaking of which
22:41:45 <anmaster_l> here we go *compiles nvidia for custom kernel*
22:44:02 -!- AnMaster has quit (Nick collision from services.).
22:49:06 <anmaster_l> yay nice bootchar
22:49:08 <anmaster_l> chart*
22:49:10 <anmaster_l> coppro, ^
22:49:21 <coppro> ?
22:49:32 <anmaster_l> coppro, slightly more than 25 seconds boot time
22:49:35 <anmaster_l> for a lot of services
22:49:54 <anmaster_l> and I could speed it up I think
22:50:20 <anmaster_l> to be specific, moving stuff forwards and letting them start concurrently
22:50:22 <coppro> ah
22:50:58 <anmaster_l> coppro, almost 5 seconds of that is mostly idling while waiting for dhcp reply
22:52:23 <nooga> dwm dwm
22:52:25 <nooga> uh
23:12:07 <coppro> anyone have a good logic game I can play quickly (like *gasp* Flash?)
23:16:27 <anmaster_l> http://omploader.org/vMzVnbQ
23:16:39 <anmaster_l> need to be faster
23:17:13 <anmaster_l> smartd actually makes it slower before, due to more disk activity making dhclient take longer to load
23:49:50 -!- AnMaster has joined.
2010-01-04
00:08:21 -!- lament has joined.
00:13:52 -!- AnMaster has quit ("ZNC - http://znc.sourceforge.net").
00:38:41 -!- AnMaster has joined.
01:02:27 -!- nooga has quit (Read error: 54 (Connection reset by peer)).
01:05:48 -!- bsmntbombgrrl has changed nick to bsmntbombdood.
01:13:10 <uorygl> coppro: a Rush Hour clone.
01:13:22 <AnMaster> uorygl, ?
01:13:58 <coppro> link?
01:16:15 <uorygl> I have no links, but there are many for the iPhone.
01:16:31 <coppro> a) I have no iPhone b) I want a game I can play now
01:17:20 <AnMaster> coppro, what type of game did you say?
01:17:49 <coppro> [16:11:42]<coppro>anyone have a good logic game I can play quickly (like *gasp* Flash?)
01:17:55 <coppro> was just looking for a time-killer
01:18:01 <AnMaster> coppro, logic came. Like minesweeper?
01:18:12 <coppro> yes, except ideally one I haven't played before
01:18:15 <AnMaster> coppro, or sudoko?
01:18:18 <coppro> :(
01:18:20 <AnMaster> spelling?
01:18:25 <coppro> was hoping for something more complex
01:18:29 * AnMaster needs to fix this shitty dict
01:18:33 <uorygl> Sudoku.
01:18:34 <AnMaster> coppro, nethack?
01:18:46 <coppro> too complex
01:19:00 <AnMaster> uorygl, yeah it had no suggestions. And it knows "I recompile" but not "he recompiles"
01:19:10 <AnMaster> as in adding an s marks it as unknown
01:19:13 <AnMaster> spelling dict fail
01:19:17 <AnMaster> coppro, meh!
01:19:25 <AnMaster> coppro, hm...
01:19:30 <coppro> like, think Rubicon
01:19:36 <coppro> that's a good example of the sort of thing I'm after
01:19:36 <uorygl> If there is a game known as Nethack--, then that.
01:19:43 <AnMaster> coppro, oh ubunut?
01:19:45 <AnMaster> ubuntu*
01:19:49 <AnMaster> apt-get install kiki
01:19:51 <AnMaster> iirc
01:20:07 <AnMaster> coppro, wait no
01:20:10 <uorygl> What's Rubicon?
01:20:10 <AnMaster> coppro, wrong one
01:20:12 <coppro> oh :(
01:20:28 -!- adam_d has quit (Read error: 110 (Connection timed out)).
01:20:30 <AnMaster> coppro, apt-get install kiki-the-nano-bot
01:20:32 <AnMaster> that was it
01:20:32 <coppro> hmm.. yeah, pretty sure I don't want a free environment for regular expression testing
01:20:39 <AnMaster> coppro, it is a 3D puzzle/logic game
01:20:50 <AnMaster> coppro, you steer a small nanobot
01:20:59 <coppro> cool, thanks
01:21:15 <uorygl> Say, I wonder if Enigma would work on an iPhone.
01:21:16 <AnMaster> coppro, it is fun but confusing. Hint: direction of gravity depends on your view point. Nothing else
01:21:26 <AnMaster> and you can climb on walls and such
01:21:38 <AnMaster> coppro, which leads to some interesting puzzles
01:21:51 <coppro> neat
01:22:19 <AnMaster> coppro, ehird played it for a bit but got frustrated and gave up. I got much farther of course than he did
01:22:34 <AnMaster> iirc fizzie or someone else was testing it at the same time
01:22:34 <coppro> AnMaster: how do you jump?
01:22:48 <AnMaster> coppro, sec
01:23:00 <coppro> wait, it's on the manpage
01:23:02 <AnMaster> coppro, depends on keyboard setup :P
01:23:04 <coppro> holy crap, useful X manpage
01:23:13 <AnMaster> iirc I changed it
01:23:14 <AnMaster> coppro, hm?
01:23:35 <coppro> most x programs have useless manpages in my experience
01:23:52 <AnMaster> coppro, the xorg.conf and xorg modules/drivers man pages tend to be ok
01:24:03 <coppro> but that's not an x program
01:24:07 <AnMaster> true
01:24:14 <coppro> also, any way to get it not to mess with the gamma
01:24:16 <coppro> ?
01:24:52 <AnMaster> coppro, unknown, but it switches back when you change window
01:24:57 <AnMaster> coppro, iirc there is a setting for it
01:25:05 <AnMaster> try "settings"
01:25:20 <AnMaster> coppro, but I found it works better in the gamma it wants to use
01:25:45 <coppro> yeah, it's hideous with my default gamma
01:25:58 <AnMaster> coppro, there you go then ;P
01:26:05 <AnMaster> coppro, it will clean up after itself
01:26:48 <coppro> I'm already confused :(
01:27:12 <coppro> I think I need to hit this switch
01:28:24 <coppro> oh, found the help
01:28:28 <AnMaster> coppro, good
01:28:41 <coppro> not sure how again
01:28:54 <AnMaster> coppro, esc , and enter?
01:29:02 <coppro> oh, right
01:29:07 <coppro> so all my assumptions are correct
01:29:09 <coppro> but something here is wrong
01:29:32 <coppro> ah, got it
01:29:34 <coppro> clever
01:33:52 <AnMaster> coppro, btw I haven't solved it further than halfway or so
01:39:27 <AnMaster> ooh solved another one
01:39:27 <AnMaster> night
01:50:41 -!- MigoMipo has joined.
02:02:31 -!- lament has left (?).
02:07:19 -!- anmaster_l has quit (Connection timed out).
03:04:13 -!- Sgeo has joined.
03:06:14 -!- oerjan has joined.
03:09:38 -!- jpc has quit ("I will do freaking anything for a new router.").
03:12:48 -!- jpc has joined.
03:18:17 -!- lament has joined.
03:18:23 -!- MigoMipo has quit ("When two people dream the same dream, it ceases to be an illusion. KVIrc 3.4.2 Shiny http://www.kvirc.net").
03:18:35 -!- MigoMipo has joined.
03:45:20 -!- jpc has quit ("I will do freaking anything for a new router.").
03:46:11 -!- jpc has joined.
04:00:13 -!- MizardX has quit (Read error: 110 (Connection timed out)).
04:01:58 -!- pikhq has joined.
04:05:01 -!- Aszstal has quit (Connection timed out).
04:12:23 -!- BeholdMyGlory has quit (Remote closed the connection).
04:17:39 -!- |MigoMipo| has joined.
04:18:11 -!- |MigoMipo| has quit (Remote closed the connection).
04:31:24 <uorygl> Yay, I understand the unexpected hanging paradox.
04:32:47 <coppro> I understand it...
04:32:47 -!- lament has quit.
04:33:26 <uorygl> Yay, two of us understand the unexpected hanging paradox.
04:33:41 <coppro> it's not that hard to understand
04:34:34 <uorygl> Yay, I understand the Monty Hall problem.
04:34:43 <coppro> ...
04:36:32 -!- MigoMipo has quit (Read error: 110 (Connection timed out)).
04:41:14 -!- oerjan has quit ("Later").
04:50:21 * Sgeo puts uorygl into Monty Hell
04:53:25 <uorygl> Remind me how the Monty Hell problem goes.
04:54:00 <Sgeo> I forgot offhand. Something about dollar bills passing into and out of your hand
04:54:27 <uorygl> Hmm, there is no Monty Hell problem, only a Monty Hall problem, a Monty Fall problem, a Monty Crawl problem, and a Monty Maul problem.
04:54:37 -!- soupdragon has joined.
04:54:54 <Sgeo> http://www.google.com/search?rlz=1C1CHNR_enUS321US321&sourceid=chrome&ie=UTF-8&q=Monty+Hell disagrees
05:05:11 <uorygl> Hmm, that Monty Hell problem isn't a very monty problem.
06:21:30 <augur> i'd monty your problem
06:21:31 <augur> ;o ;o ;o
06:32:52 <soupdragon> gimme more sci fi
06:33:01 * soupdragon creaks
06:33:36 <soupdragon> ehird any more novellas
06:33:36 <soupdragon> ?
06:51:22 <soupdragon> :(
06:55:05 -!- Slereah has joined.
07:06:13 -!- Slereah_ has quit (Read error: 110 (Connection timed out)).
07:06:49 <Sgeo> soupdragon, The Metamorphosis of Prime Intellect
07:07:00 <Sgeo> (spelling?)
07:07:06 <soupdragon> I have read it a couple days ago! it is very good
07:07:16 <soupdragon> I am thinking maybe I will get some asimov books now
07:14:06 -!- lament has joined.
07:53:09 -!- Sgeo has quit (Read error: 110 (Connection timed out)).
07:53:33 -!- Pthing has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:30:57 -!- lament has quit.
08:32:59 <coppro> soupdragon: I recommend it
08:33:23 <coppro> soupdragon: read the Empire series; they're quite good and yet generally unknown
08:33:34 <soupdragon> okay
08:33:37 <soupdragon> cheers
08:34:03 <coppro> specifically, those are Pebble in the Sky, something, and The Currents of Space
08:34:23 <coppro> The Stars, Like Dust
08:34:39 <coppro> oh, also Nightfall
08:34:53 <coppro> Nightfall is fantastic
09:09:34 -!- lament has joined.
09:16:48 -!- anmaster_l has joined.
09:28:03 -!- lament has quit.
09:52:28 <cheater> soupdragon: outer join
09:56:37 <soupdragon> ??
10:00:05 <cheater> xor
10:01:26 <soupdragon> oh
10:01:34 <soupdragon> the thing is im just xoring booleans, not sets
10:01:58 <soupdragon> so in the end it makes sense to just write out an xor table
10:03:53 -!- treesapsatchel has joined.
10:03:59 -!- treesapsatchel has left (?).
10:08:52 -!- adam_d has joined.
10:11:28 <cheater> *a
10:27:58 -!- MigoMipo has joined.
10:29:40 -!- jpc has quit (Read error: 110 (Connection timed out)).
10:44:23 <soupdragon> ?
10:48:54 <AnMaster> $ host dragon
10:48:54 <AnMaster> dragon.lan has address 192.168.0.72
10:48:54 <AnMaster> Host dragon.lan not found: 3(NXDOMAIN)
10:48:56 <AnMaster> now that was weird
11:10:07 -!- madbr has quit ("Radiateur").
11:12:30 -!- ehirdiphone has joined.
11:12:47 <ehirdiphone> soupdragon: re scifi I hear good things about the Culture books
11:14:02 -!- Pthing has quit (Remote closed the connection).
11:14:47 <ehirdiphone> soupdragon: but if you haven't read them yet I suggest reading the Ed stories (on qntm.org)
11:15:08 <ehirdiphone> can't speak for how good Fine Structure is
11:15:50 <ehirdiphone> http://qntm.org/?robot1
11:24:54 -!- MigoMipo has quit ("When two people dream the same dream, it ceases to be an illusion. KVIrc 3.4.2 Shiny http://www.kvirc.net").
11:29:39 -!- BeholdMyGlory has joined.
11:38:02 -!- MizardX has joined.
11:52:27 -!- ehirdiphone has quit ("Get Colloquy for iPhone! http://mobile.colloquy.info").
11:53:12 -!- ehirdiphone has joined.
11:56:08 <cheater> soupdragon: a xor
11:56:34 <cheater> soupdragon: also, a xor b <=> (a or b) and not (a and b)
11:57:10 <soupdragon> an xor
11:58:25 <Gracenotes> it tends to be pronounced "zor"
11:58:35 <fizzie> A xorn.
12:00:57 <fizzie> They say that a xorn knows of no obstacles when pursuing you.
12:01:54 <cheater> a zor
12:01:57 <cheater> a zorn lemma
12:02:01 <cheater> a zorro
12:02:05 <cheater> a zorba
12:04:55 <soupdragon> a zork
12:06:58 <cheater> a yagon
12:09:58 -!- ehirdiphone has quit ("Get Colloquy for iPhone! http://mobile.colloquy.info").
12:39:48 <soupdragon> a zorgonzola
12:56:50 -!- MizardX has quit (Read error: 110 (Connection timed out)).
13:20:18 <cheater> soupdragon: so you don't need a truth table for xor
13:22:36 -!- ehirdiphone has joined.
13:22:38 <ehirdiphone> Of course you don't.
13:22:47 <ehirdiphone> It's NANDs all the way down.
13:58:35 <Ilari> Except that XOR has special implementation in CMOS that's simpler than via the basic gates.
14:10:55 -!- MizardX has joined.
14:19:02 <ehirdiphone> Hmm. NAND and NOR are universal. What other ops?
14:19:41 <ehirdiphone> Not NXOR; that's just equality and (p==q)==(p==q) is (p==q).
14:20:04 <ehirdiphone> well. (p==(p==q)
14:20:13 <ehirdiphone> )
14:20:37 <ehirdiphone> Result for p q(y or n):
14:21:18 <ehirdiphone> n n. n
14:21:36 <ehirdiphone> y n. n
14:21:52 <ehirdiphone> n y. y
14:21:58 <ehirdiphone> y y. y
14:22:31 <ehirdiphone> Too lazy to work out what op that is.
14:23:49 <Deewiant> ehirdiphone: f _ q = q
14:23:57 -!- Ilari has quit (farmer.freenode.net irc.freenode.net).
14:23:57 -!- comex has quit (farmer.freenode.net irc.freenode.net).
14:24:06 -!- Ilari has joined.
14:24:07 -!- comex has joined.
14:24:31 <ehirdiphone> Deewiant: Doh >_<
14:24:49 <ehirdiphone> So, NXOR isn't universal.
14:25:06 <ehirdiphone> Deewiant: Btw, you could have also just answered "q" :P
14:25:26 <ehirdiphone> Not as if the parameters ever change.
14:27:12 <Deewiant> Yeah, but I figured that that wouldn't be as easily understood.
14:29:50 <ehirdiphone> p&!q is very boring as a CA and only has one truth value, so I doubt it's universal.
14:30:26 <Deewiant> I'm fairly certain that only NOR and NAND are.
14:30:47 <Deewiant> There's only a limited amount of operators, if there were others we'd know about them.
14:31:17 <Ilari> Then there is two kinds of "unversality": Unversality without having constant logic values and "unversality" with constant logic values.
14:35:27 <ehirdiphone> http://en.m.wikipedia.org/wiki/Functional_completeness?wasRedirected=true
14:35:33 <ehirdiphone> I guessed as much
14:35:58 <ehirdiphone> My favourite set of functionally completerners is {->, _|_}.
14:36:16 <ehirdiphone> Especially since haskells type system implements it.
14:36:41 <ehirdiphone> -> being -> and _|_ being (forall a. a)
14:36:55 <ehirdiphone> ~p = p -> _|_
14:37:19 <ehirdiphone> Uh, which of ^ V is and?
14:37:26 <ehirdiphone> Forget the order...
14:37:56 <Deewiant> ^
14:38:21 <Deewiant> V is like U for Union
14:39:05 <ehirdiphone> p ^ q = (p -> q -> r) -> r
14:39:34 <ehirdiphone> p V q = (p -> r) -> (q -> r) -> r
14:39:50 <ehirdiphone> And so on.
14:40:37 <ehirdiphone> Although (~~p -> p) is, I think, unprovable. It certainly is in Haskell.
14:41:11 <ehirdiphone> ((a -> forall b. b) -> forall c. c) -> a
14:42:32 <ehirdiphone> There all ~~p is really saying is "(p is unprovable) is unprovable"
14:42:51 <ehirdiphone> Which isn't the same as "p is provable".
14:43:22 <ehirdiphone> I am rambling.
14:53:23 -!- oerjan has joined.
14:54:55 -!- ehirdiphone has quit ("Get Colloquy for iPhone! http://mobile.colloquy.info").
14:55:24 -!- ehirdiphone has joined.
14:55:28 -!- ehirdiphone has quit (Client Quit).
14:57:44 <soupdragon> it's not p is unprovable
14:57:56 <soupdragon> p implies false
14:59:37 <oerjan> Although (~~p -> p) is, I think, unprovable. It certainly is in Haskell.
14:59:40 <oerjan> argh
14:59:46 <oerjan> <ehirdiphone> Although (~~p -> p) is, I think, unprovable. It certainly is in Haskell.
14:59:51 <soupdragon> I don't know it always makes me sick to think of haskell as a proof system
15:00:17 <oerjan> yes, it's equivalent to the excluded middle, which does not hold in intuitionistic logic
15:02:27 <oerjan> but you can get it if your programming language has continuations
15:04:08 <soupdragon> I never really got that, can it be phrased in terms of delimited continuations?
15:04:39 <soupdragon> I got cwcc : peirce and pretty simple to prove P \/ ~P from it but I hardly understand it
15:04:44 <oerjan> well _I_ never really got delimited continuations :D
15:05:18 <soupdragon> I feel like they are simpler than cwcc
15:05:29 <oerjan> huh.
15:06:04 <soupdragon> the main thing that makes me think this is the interaction with monads
15:06:16 <soupdragon> like AMB in scheme is basically the list monad
15:06:39 <soupdragon> but you can do this direct style notation for monads thanks to delimited continuations in a really methodical way
15:07:55 <soupdragon> so maybe there is something to do with a double negation monad
15:08:00 <oerjan> hm but i recall that actually making a monad for delimited continuations was rather awkward, while it's easy with just ordinary continuations...
15:08:01 <soupdragon> regarding CPS
15:08:19 <soupdragon> I mean writing something like
15:08:47 <soupdragon> rather than add x y = a <- x ; b <- y ; return (a + b)
15:08:50 -!- MizardX has quit ("reboot").
15:09:07 <soupdragon> you can do (define (add x y) (+ (x) (y)))
15:09:09 <oerjan> *= do
15:09:52 <oerjan> well that's just strict evaluation...
15:11:35 <oerjan> (awkward above means something like: it needed oleg kiselyov to do it)
15:12:01 <soupdragon> is it (just strict evaluation)
15:12:06 <soupdragon> ?
15:12:15 <oerjan> ok maybe not entirely
15:14:12 <soupdragon> yeah I think there's a link with classical logic because of double negation monad being something to do with reifed continuations
15:14:41 <soupdragon> I'd like to try and make sense of that
15:15:02 <oerjan> negation corresponds to continuation, yeah
15:15:34 <oerjan> and double negating everything in intuitionistic logic turns it into classical
15:16:02 <soupdragon> ¬¬-Monad = record
15:16:02 <soupdragon> { return = contradiction
15:16:02 <soupdragon> ; _>>=_ = λ x f → ¬¬-drop (¬¬-map f x)
15:16:02 <soupdragon> }
15:16:06 <soupdragon> just found that
15:16:32 <soupdragon> but I don't understand this code
15:16:40 <oerjan> well then we are two
15:17:47 <oerjan> i suppose the monad type would have to be something like M a = M ((a -> Void) -> Void)
15:17:50 <soupdragon> how irritating, what the hell is going on in this file
15:18:05 -!- MizardX has joined.
15:18:48 <oerjan> oh of course that _is_ Cont
15:18:55 <oerjan> (or Cont Void)
15:19:06 <soupdragon> alright so Cont Void ~ double negation
15:19:42 <soupdragon> so you can prove things like LEM inside that monad (because the double negation of any classical tautology is intuitionisticaly provable)
15:19:57 <soupdragon> but what's the computational meaning for these things
15:20:12 <soupdragon> it's something to do with CPS?
15:20:42 <oerjan> yes
15:21:30 <oerjan> instance Monad (Cont r) where return a = Cont ($ a) m >>= k = Cont $ \c -> runCont m $ \a -> runCont (k a) c
15:21:46 <oerjan> darn _now_ it joined the lines
15:22:24 <oerjan> put a semicolon before m >>= k
15:23:40 <oerjan> this doesn't seem to resemble that thing you pasted above much
15:24:13 <soupdragon> mines based on map/join
15:24:23 <soupdragon> they're probably the same if you unfold the definitions
15:25:13 <soupdragon> I don't know if I can read ~~ proofs computationally
15:25:17 <oerjan> oh right there's those ¬¬-drop and ¬¬-map things
15:25:51 <soupdragon> maybe if we rewrite the monadic proofs into direct style (using continuations) then they can be read
15:26:44 <oerjan> well what >>= does is simply continuation passing, really
15:27:08 <soupdragon> I don't know what that is
15:27:17 <oerjan> CPS?
15:27:57 <oerjan> you pass to every computation a function that it will call with the final result when finished
15:28:16 -!- ais523 has joined.
15:28:23 <soupdragon> alright
15:29:20 <oerjan> this leaves that computation free do do something _other_ than call it at the end, which allows for non-local exits
15:32:28 <oerjan> true weirdness appears when you allow for using a continuation after escaping the code that created it, and you can then even call it more than once... this is necessary for such AMB stuff, i think
15:33:59 <oerjan> (any continuation becomes a non-local exit/return when you use it at any point other than at the end of the computation that first received it)
15:35:32 -!- ehirdiphone has joined.
15:35:32 <oerjan> actually for that weirdness add /reentering to that...
15:35:33 <ehirdiphone> duck halitosis
15:35:48 <oerjan> ehirdiphone: is there a pun in that?
15:36:28 <ehirdiphone> aorta, a cloud of fury.
15:36:50 -!- Pthing has joined.
15:37:02 <ehirdiphone> ten pin bowling's pluralistic mother
15:37:34 <ehirdiphone> time travel as tachyon socialism
15:37:57 <ais523> continuations are easier to implement in some languages than others
15:38:20 <ehirdiphone> temperature syzygy
15:38:42 <ais523> I love the word syzygy
15:38:46 <soupdragon> I don't get the computational interpretation of classical proofs
15:38:49 <ais523> it's won me huge numbers of Hangman games
15:38:58 <soupdragon> there opaque to me it is irritating
15:39:15 <ehirdiphone> talcum powder, a ritualistic automotive agent
15:39:23 <ais523> (mostly because the other person gives up in despair when they have -y-y-y with five guesses left)
15:40:34 <ehirdiphone> evil evil twin, with two goatees: cannot birth the regular twin in intuitionistic goateeism
15:41:12 <ehirdiphone> tasers' wet wind
15:41:37 <soupdragon> (\mu \beta.u)v \; \triangleright_c \; \mu \beta.u \left [ [\beta](w v)/[\beta] w \right ]
15:41:43 <soupdragon> whatever that means
15:41:56 <ehirdiphone> traction fire and company
15:42:33 <ehirdiphone> talisman inferiority
15:42:36 -!- ehirdiphone has quit ("Get Colloquy for iPhone! http://mobile.colloquy.info").
15:43:35 -!- MizardX- has joined.
15:44:07 <soupdragon> runCont : ~~p -> p
15:48:37 <oerjan> more or less
15:50:16 <oerjan> hm wait no
15:50:30 <oerjan> it's really runCont : ~~p -> ~~p
15:50:47 <oerjan> it's nothing more than a type wrapper
15:50:54 <oerjan> *unwrapper
15:51:41 -!- AnMaster has quit (Remote closed the connection).
15:51:59 -!- AnMaster has joined.
15:52:09 <soupdragon> runCont : ~~p -> p is ridiculous
15:52:32 <soupdragon> imagine trying to run ~~Integer -> Integer
15:52:34 <oerjan> also the meaning of ~ varies. for Cont a it's really (-> a)
15:52:56 <oerjan> (recall Cont takes two type args)
15:53:44 <oerjan> while you could use Void, that would not allow you do get _any_ result out of the monad
15:55:20 <soupdragon> so it is worth just ignoring the computational interpretation of classical proofs?
15:55:45 <soupdragon> if p proves ~~P then you might as well just replace p with a placeholder *
15:56:06 <oerjan> huh?
15:57:34 <oerjan> p -> ~~p holds intuitionistically
15:58:41 <soupdragon> p proves ~~P meaning p : ~~P
15:58:50 <soupdragon> you might as well write * : ~~P
15:58:58 <soupdragon> since looking at p doesn't tell you anything
15:59:24 -!- MizardX has quit (Connection timed out).
15:59:26 <oerjan> is there some difference between p and P here?
15:59:31 -!- MizardX- has changed nick to MizardX.
15:59:45 <soupdragon> yes
16:02:06 <oerjan> well what? because saying that p : ~~q implies anything : ~~q is patently false
16:04:01 <oerjan> ~~q is a function that takes a ~q. ~q is a function that takes a q. and if you don't have a q to start with, you cannot pass anything to that ~q, so you cannot construct a ~~q to satisfy it.
16:07:43 <AnMaster> oerjan, what is ~ here? ¬?
16:07:55 <oerjan> yeah
16:08:12 <AnMaster> oerjan, and the : ?
16:08:20 <AnMaster> is it → for implies
16:08:23 <AnMaster> or what
16:09:11 <oerjan> um almost, but at a different logical level. i think it may be called judgement, but i'm not quite sure
16:09:32 <oerjan> that doesn't make grammatical sense
16:09:39 <AnMaster> no it doesn't
16:09:41 <oerjan> p : ~~q as a whole is a judgement
16:10:03 <AnMaster> oerjan, and what does it mean
16:10:06 <oerjan> or wait is that only for expression : type
16:10:16 <oerjan> (type judgement)
16:10:17 <AnMaster> and what is the truth value table for it
16:10:34 <oerjan> AnMaster: this is _intuitionistic_ logic, no truth table
16:10:49 <oerjan> also, i said it is at a higher level
16:10:51 <AnMaster> oerjan, oh right, explains why the stuff above made no sense
16:11:18 <AnMaster> oerjan, but wouldn't two ¬ cancel each other out?
16:11:24 <AnMaster> in your ~~q above
16:11:35 <oerjan> AnMaster: not in intuitionistic logic. that's the major difference, in fact
16:11:54 <AnMaster> oerjan, what is "not not" supposed to mean in that case
16:12:28 <oerjan> ~ = not provable that, is one way of thinking of it
16:12:39 <AnMaster> ah okay
16:12:43 -!- somebody_ has joined.
16:12:50 <AnMaster> oerjan, does it have a classical not as well?
16:12:54 <oerjan> er wait
16:13:02 <oerjan> i'm lying
16:13:11 <AnMaster> oh?
16:13:26 <AnMaster> lucky for you, it is *after* xmas
16:13:27 <AnMaster> ;P
16:13:36 <oerjan> ~p = you can prove a contradiction from p
16:13:53 <AnMaster> I see
16:15:19 -!- soupdragon has quit (Nick collision from services.).
16:15:21 -!- somebody_ has quit (Client Quit).
16:15:35 -!- soupdragon has joined.
16:16:08 <fizzie> Less than a year until next christmas, I wouldn't be so blase about lying.
16:16:39 <oerjan> well, it was an accident. i swear! oh wait swearing is wrong too. aaaaaaaaaaaaaaa
16:31:58 -!- somebody__ has joined.
16:32:04 -!- somebody__ has quit (Remote closed the connection).
16:32:34 -!- ehirdiphone has joined.
16:32:36 -!- ehirdiphone has quit (Read error: 54 (Connection reset by peer)).
16:32:55 -!- somebody__ has joined.
16:32:56 -!- somebody__ has quit (Remote closed the connection).
16:33:13 -!- ehirdiphone has joined.
16:33:14 <ehirdiphone> http://www.reddit.com/r/programming/comments/al84e/all_in_all_there_are_43_quotes_from_lord_of_the/
16:33:20 -!- soupdragon has quit (Nick collision from services.).
16:33:23 <ehirdiphone> One language to rule them all,
16:33:33 <ehirdiphone> one language to find them.
16:33:35 -!- soupdragon has joined.
16:33:41 <ehirdiphone> One language to bring them all,
16:33:51 <ehirdiphone> and in the darkness evaluate them.
16:34:06 <ehirdiphone> Wait. Bind would have worked better, heh.
16:34:28 <ehirdiphone> Seeing as perl is the lovechild oh so many languages.
16:45:55 -!- ehirdiphone has quit ("Get Colloquy for iPhone! http://mobile.colloquy.info").
16:58:52 -!- jpc has joined.
17:14:42 -!- augur has quit (Read error: 110 (Connection timed out)).
17:30:15 -!- augur has joined.
17:34:01 <augur> all that is gold does not glitter?
17:34:10 <augur> isnt that the opposite of the saying?
17:34:24 <ais523> no, it's the contrapositive, and therefore is equally true
17:34:25 <AnMaster> augur, of what saying?
17:34:26 <ais523> or equally false
17:34:34 <ais523> AnMaster: "all that glitters is not gold"
17:34:37 <augur> all that glitters is not gold
17:34:38 <ais523> which is just wrong, ofc
17:34:39 <augur> yes
17:34:40 <augur> :|
17:34:44 <augur> its not wrong
17:34:52 <ais523> "not all that glitters is gold" is probably what they /meant/ to say
17:34:56 <AnMaster> ais523 err
17:34:58 <augur> thats what they DID say
17:34:58 <ais523> but it was changed to be a) more poetic, and b) wrong
17:35:05 <AnMaster> ais523, I read the one he wrote as that
17:35:05 <augur> they just have negation scoping higher than quantification
17:35:09 <augur> which is entirely possible, ais523
17:35:11 <AnMaster> instead of what he actually wrote
17:35:12 <AnMaster> XD
17:35:15 <augur> and happens all the time in natural speech
17:35:24 <ais523> augur: no, scope doesn't matter here
17:35:27 <augur> yes it does
17:35:31 <ais523> for "all that glitters is not gold"
17:35:33 <AnMaster> <ais523> no, it's the contrapositive, and therefore is equally true <-- how is it equally true?
17:35:39 <augur> yes it is, ais523
17:35:43 <AnMaster> if one is true the other doesn't have to be
17:35:45 <augur> negation scopes higher than quantification
17:35:53 <ais523> augur: it can't scope backwards in the sentence, though
17:35:57 <augur> "it is not the case that [all that glitters is gold]"
17:36:01 <augur> ais523
17:36:04 <augur> i just said it can
17:36:07 <augur> are you blind
17:36:10 <ais523> no, English doesn't work like that
17:36:14 <augur> yes it does
17:36:17 <augur> for some speakers
17:36:23 <ais523> "I am not hungry" does not mean "something other than me is hungry"
17:36:24 -!- zzo38 has joined.
17:36:29 <AnMaster> oh I see what you two mean
17:36:33 <augur> no you're reading it wrong, ais
17:36:38 <augur> the negation isnt negating "all"
17:36:41 <augur> its negating the whole sentence
17:36:47 <AnMaster> my reply to this:
17:36:47 <augur> "it is not the case that [all that glitters is gold]"
17:36:52 <AnMaster> English is not a precise language
17:37:03 <AnMaster> if you wanted that, use predicate loging or something
17:37:03 <augur> english is precise, its just ambiguous.
17:37:28 <AnMaster> augur, I think I meant precise in a different meaning here ;P
17:37:32 <augur> ais523: whether YOU can get the reading or not is irrelevant (i cant get it either)
17:37:51 <augur> negation scoping higher than quantification is a well established phenomena of certain dialects of english
17:37:54 <AnMaster> <ais523> augur: it can't scope backwards in the sentence, though <-- postfix notation?
17:38:10 <ais523> AnMaster: more like infix notation for unary operators, is the interpretation that augur's trying to come up with
17:38:18 <augur> im not TRYING to come up with anything
17:38:23 <augur> its a valid reading
17:38:24 <augur> also, ais523, for the record
17:38:32 <AnMaster> ais523, XD
17:38:34 <augur> "I'm not hungry" can mean "someone other than me is hungry" with appropriate stress
17:38:44 <AnMaster> ais523, intercal should have unary infix operators
17:38:46 <augur> "No dude, _I_'m not hungry"
17:38:48 <AnMaster> if it doesn't already
17:38:55 <augur> which implies quite clearly, "HE's hungry"
17:39:02 <ais523> AnMaster: it does already
17:39:08 <AnMaster> ais523, which one(s)?
17:39:13 <ais523> all of them
17:39:24 <AnMaster> how are they infix?
17:39:27 <ais523> in fact, INTERCAL-72 allowed no positions other than infix for unary operators
17:39:36 <ais523> and they're infix in that they have to be written one character after the start of what they modify
17:39:41 <ais523> e.g. .1 is a onespot variable
17:39:47 <ais523> .?1 is the xor of a onespot variable
17:39:50 <AnMaster> ah
17:39:51 <AnMaster> right
17:39:52 <augur> ais523, if you want me to try to find some papers on the topic for you i will
17:39:54 -!- MigoMipo has joined.
17:41:21 <augur> negation scope is notoriously wonky in english
17:41:38 <zzo38> But, can't you use prefix if the value to deal with is "" and '' like ?!?1' and stuff like that
17:42:00 <zzo38> Negation is all wrong in English, that is why it is never clearly
17:42:16 <ais523> zzo38: recent versions of INTERCAL allow prefix operators too
17:42:23 <ais523> up to one infix, and any number of prefix, unary operators
17:42:27 <augur> zzo38: negation isnt _wrong_ in english, its just that the words can do lots of different things
17:42:34 <augur> its fairly well behaved, however
17:42:41 <augur> its just not well behaved like most people think it is
17:42:43 <ais523> and there are precedence rules to determine whether an operator counts as infix or prefix in expressions like '?.3~.4'
17:43:20 <ais523> (infix in that case, I think)
17:43:24 <zzo38> I thought one of the goals of INTERCAL was to have no precedence
17:43:30 <ais523> it has no operator precedence
17:43:41 <ais523> that isn't operator precedence, though, as it works the same way regardless of which operator you use
17:43:48 <zzo38> OK
17:43:50 <ais523> it's positional precedence
17:44:04 <augur> ais523: do you want me to find you some papers?
17:44:17 <ais523> not particularly
17:44:20 <augur> ok
17:44:39 <augur> well then trust me on this, negation can scope higher than the negation in some dialects of english.
17:44:58 <augur> er
17:45:01 <augur> higher than quantification*
17:45:09 <augur> higher than subject quantification, specifically.
17:45:14 -!- ehirdiphone has joined.
17:45:26 <ais523> ooh, assuming ehird's been reading logs, this could be fun
17:45:31 <ais523> he's clearly here to settle arguments
17:45:36 <ehirdiphone> 200m.fi fucking Finns are getting 200Mb/s web
17:45:40 <ehirdiphone> ais523: About?
17:45:52 <ais523> ehirdiphone: "all that glitters is not gold"
17:45:59 <ehirdiphone> Not web, Internet
17:46:00 <augur> ehirdiphone: whether or not some dialects of english can have sentential negation scoping higher than subject quantification
17:46:17 <zzo38> But even gold can glitter?
17:46:17 <ais523> augur: more to the point is whether the scoping can stretch backwards
17:46:19 <ehirdiphone> ais523: What about it?
17:46:21 <ais523> it's not a precedence issue
17:46:24 <ais523> ehirdiphone: how to parse it
17:46:33 <ais523> augur's trying to parse it as "not (all that glitters is gold)"
17:46:38 <augur> no, im not
17:46:42 <ais523> yes you are
17:46:44 <ehirdiphone> not all that glitters is gold
17:46:44 <augur> im saying that SOME people can
17:46:48 <ehirdiphone> That was easy
17:47:00 <ais523> ehirdiphone: I agree with your sentence, but claim it's different from the original sentence
17:47:02 <zzo38> If you mean "not all that glitters is gold", then that is what you should write.
17:47:32 <ehirdiphone> ais523: I hereby slander you a prescriptivist.
17:47:38 <ehirdiphone> And a commie!
17:47:41 <augur> ais523 just doesnt accept the fact that SOME people can say "its not the case that everything that glitters is gold" as "all that glitters is not gold"
17:47:56 <ehirdiphone> zzo38: Poetic license. This is Tolkein
17:48:01 <ais523> hmm... isn't "I hereby slander" a contradiction in of itself?
17:48:03 <augur> ais523, would you like me to provide for you a completely coherent compositional semantics for this sentence IN HASKELL-ISH?
17:48:05 <ehirdiphone> He can write however he damn likes
17:48:07 <augur> well, in lambda-calculus
17:48:10 <ais523> given that a slander is only slander if it's false?
17:48:15 <zzo38> OK, I guess if you want to write poetry, you can write it however you want
17:48:35 <augur> zzo38: its not that its poetry
17:48:37 <augur> for fucks sake
17:48:39 <augur> are you listening
17:48:46 <augur> its common in many dialects of english
17:49:07 <augur> and poetry is not a dialect of english
17:49:15 <augur> i mean dialects real people speak in their everyday lives
17:49:19 <ehirdiphone> augur: Stop being an asshole
17:49:23 <ais523> hmm, I think I prefer Latin
17:49:27 <ehirdiphone> You're wildly overreacting
17:49:33 <zzo38> If it isn't poetry, you should probably write what you meant. I mean, there can be dialect but sometimes it is unclear, that is what I mean
17:49:37 <augur> latin has its issues as well, ais523
17:49:41 <ais523> where you could pretty much anagram a sentence, and have it mean the same thing, if it wasn't full of subordinate clauses or something like that
17:49:41 <augur> zzo38: they did write what they meant!
17:49:44 <ais523> it does have issues too
17:49:59 <augur> and in latin, word order isnt as free as you think
17:50:13 <augur> there are constraints on pronominal binding as well as on focus
17:50:23 <ais523> oh, I treat the focus as being an anticonstraint
17:50:33 <augur> focus changes meaning
17:50:33 <ehirdiphone> Can I do a nonsequitur and somehow make an argument based on the fact that Tolkein was a racist?
17:50:34 <ais523> as in, focus-last is a rule that can exist precisely /because/ you can reorder the sentence
17:50:35 <augur> well, implied meaning
17:50:54 <augur> sure, this is true, ais523
17:51:06 <augur> but reordering _requires_ focus changes
17:51:10 <ais523> and I agree about the pronoun thing, although it doesn't come up very often; but that only happens in more complex sentences
17:51:20 <zzo38> So, if you write "This is not a real sentence" and "Real this not is sentence a" then you might understand a bit, even though it is messy, but sometimes it becomes less clearly because it becomes wrongly
17:51:39 <augur> zzo38: whats your point
17:51:40 <zzo38> But, of course, "Real this not is sentence a" is not even as sensible as most things
17:51:46 <ais523> yep, in latin it works better because each word is tagged with where in the sentence it belongs
17:51:49 <augur> its not a grammatical sentence of any dialect of english
17:52:05 <augur> whereas "all that glitters is not gold" _is_ a grammatical sentence of almost every dialect of english
17:52:15 <augur> the question here is not grammaticality but meaning
17:52:24 <zzo38> Yes, it is, but that is not entirely my point
17:52:26 <ais523> augur: not really, it's sort-of a polyglot
17:52:27 <augur> for YOU, the "not" cannot be higher than "all that glitters"
17:52:39 <augur> but for a large number of people it CAN
17:52:45 <augur> because they speak a different dialect of english
17:52:46 <ais523> just like you can treat "this is nt a sentence" as either misspelt english or gramattically correct brainfuck
17:52:51 <ais523> *grammatically
17:53:02 <zzo38> Polyglot, I guess that is a bit of sensible, a bit...
17:53:03 <ehirdiphone> ais523: If everyone parses English a certain way it is correct.
17:53:14 <ais523> ehirdiphone: ok, I agree with that
17:53:30 <ais523> I'm not entirely sure if that's relevant here, given that there's obviously a disagreement, though
17:53:37 <augur> ais523, zzo38, would you like me to give you a completely compositional derivation for the odd reading?
17:53:40 <augur> in LAMBDA CALCULUs
17:53:45 <ehirdiphone> Only you seem to disagree with the padding of it; even then you understood it. Your objection was entirely prescriptivist in nature.
17:53:47 <zzo38> But of course your misspelt English sentence has no effect or meaning in brainfuck even though it is gramatically correct (it doesn't have mismatched [])
17:53:48 <augur> to prove to you that its theoretically possible at least
17:53:55 <ehirdiphone> Parsing not padding
17:54:04 <ehirdiphone> ais523: Therefore, you're wrong. M
17:54:06 <augur> ehirdiphone: its not even a matter of parsing
17:54:08 <ais523> ehirdiphone: not really; I know what the idiom is meant to mean
17:54:10 <ehirdiphone> / M/d
17:54:17 <augur> structurally speaking the "not" is BELOW the subject of the sentence
17:54:18 <ais523> but it disagrees with the normal parsing rules for every other sentence
17:54:34 <augur> but sentence structure is not sentence meaning
17:54:36 <soupdragon> ;`(
17:54:36 <ais523> so I think that what it actually means is different from what it traditionally means
17:54:43 <augur> inverse scopes are ABOUND in STANDARD english
17:54:49 <ehirdiphone> English, not being neat and exceptionless?
17:54:58 <ehirdiphone> OH GOD MY WORLD IS SHAKEN
17:55:03 <ais523> an exception for /one sentence/?
17:55:09 <augur> ais523: its not ONE SENTENCE
17:55:10 <ehirdiphone> All that is not shaken is not my world.
17:55:12 <ais523> how could anyone know it existed without being taught?
17:55:15 <augur> its not an EXCEPTION
17:55:17 <zzo38> English language is full of exceptions and stuff like that, for letters, words, sounds, sentences, paragraphics, etc
17:55:33 <ais523> augur: it is an exception
17:55:35 <augur> its completely well behaved IN THE DIALECTS WHERE ITS ACCEPTED
17:55:37 <zzo38> Actually I think it is exception
17:55:38 <augur> no its NOT
17:55:45 <augur> its just a DIFFERENT DIALECT
17:55:55 <augur> and IN THAT DIALECT its completely standard for ALL negation to behave this way
17:56:09 <ais523> you mean, there are dialects where (for all x. !f(x)) is inexpressible?
17:56:12 <zzo38> OK, then, it a different dialect. That means, you have to understand what dialect you mean
17:56:37 <augur> ais523: what
17:56:45 <zzo38> Unless you are consistent, which it isn't.
17:56:53 <augur> zzo38: what
17:57:28 <augur> look, why dont i just give you a fucking compositional semantics for this sentence ok? itll demonstrate that theres nothing crazy going on here
17:57:30 <ais523> augur: if "all that glitters is not gold" in some dialect means "not all that glitters is gold" in ais523ese, how do you express the ais523ese "all that glitters is not a black hole" in that dialect?
17:57:31 <soupdragon> if augur wasn't an asshole he would be so cool
17:57:32 <augur> its completely trivial
17:57:40 <ais523> augur: you're trying to answer a different argument from the one I'm making
17:57:45 <augur> ais523: same way, its just ambiguous.
17:58:00 <ais523> that is such a great answer
17:58:09 <augur> thats THE answer
17:58:16 <augur> its the FACT of the matter
17:58:22 <augur> language is ambiguous, get used to it
17:58:22 <zzo38> Do you understand how to fix this template, I fixed it already but it is still broken, I don't know all of the wrong things http://www.dandwiki.com/wiki/Template:3.5e_Feat
17:58:39 <augur> I SAW THE MAN ON THE HILL WITH A TELESCOPE
17:58:48 <augur> FRANK HIT THE DOG WITH A STICK
17:59:04 <augur> OMG THESE SENTENCES ARE AMBIGUOUS HELP ME LANGUAGE IS CONFUSING AHAHAHAHHHHHHHHHHHHHHHHHH
17:59:07 <ehirdiphone> soupdragon: augur just assumes (a) he is never wrong, (b) everyone understands and is interested in the details of linguistics, (c) using caps makes more people listen to him
17:59:33 <ehirdiphone> (d) making mocking strawmen of his opponents helps (thanks for reminding me just now augur)
17:59:43 <soupdragon> ehirdiphone it just makes me wince when people I can't stand study the same stuff im into
17:59:44 <ais523> ehirdiphone: I actually had to look up and read his sentences after you said that
17:59:47 <augur> no ehird, i just assume that ais523 would make more of an argument than NO ITS BAD ENGLISH IT DOESNT MAKE SENSE
17:59:49 <ais523> my brain filtered out the lines in allcaps
17:59:57 <zzo38> At least these sentences are generally less confusing than some other ambiguous sentences, they are also less confusing when used in contents, isn't it?
18:00:03 <ehirdiphone> ais523: ditto
18:00:08 <zzo38> s/contents/contexts/
18:00:12 <soupdragon> ehirdiphone it's like being allergic to chocolate or something :(
18:00:49 <ehirdiphone> soupdragon: Become a masochist!
18:00:56 <augur> ehirdiphone: i offered him numerous times to find papers on the very topic of inverse negation scope
18:01:02 <ais523> I'm intolerant (like allergic, but with slightly different symptoms and less fatal if I eat them by mistake) to all sorts of food that people recommend
18:01:04 <ehirdiphone> Then chocolate will be TWICE as enjoyable!
18:01:06 <ais523> although not chocolate
18:01:14 <ehirdiphone> augur: You know he can't read those papers
18:01:21 <augur> i also offered numerous times to show how its not illogical, nor does it require WEIRD parsing
18:01:27 <ehirdiphone> You know he doesn't give a shit about Reading them
18:01:29 <augur> using lambda calculus
18:01:40 <augur> lambda calculus!
18:01:45 <ais523> augur: translating english to lambda calculus generally requires reordering the sentence anyway
18:01:50 <ehirdiphone> You just always want an opportunity to say
18:01:55 <ais523> so therefore you wouldn't actually be making a point at all
18:01:59 <ehirdiphone> Look at me. I know linguistics
18:02:06 <augur> ais523: listen to me ok
18:02:07 <ehirdiphone> We have NOTATION for things
18:02:15 <augur> the grammatical structure of a sentence is not the same as the meaning of a sentence
18:02:21 <ehirdiphone> Allow me to explain it to you!
18:02:29 <augur> words can be in places that dont correspond to their meanings
18:02:43 <soupdragon> rationally, I know it's /my/ problem - but it really seems like other people are causing it
18:02:56 <augur> _all_ language is like this
18:02:59 <ais523> ehirdiphone: gah, took me a few sentences to parse what you meant, I didn't realize immediately you'd elided quote marks
18:03:04 <ais523> and got the use/mention mixed up
18:03:25 <ehirdiphone> """""""
18:03:32 <ais523> um, I think that's better, possibly
18:03:34 <augur> any sentence with two quantifiers is going to have these issues, ais523
18:03:37 <ehirdiphone> I hope this is a sufficient amount of quote marks. L
18:03:42 <ehirdiphone> / L/d
18:03:44 <augur> and there are some sentences where you cannot avoid using inverse scope
18:03:53 <ais523> ehirdiphone: you just deleted your entire line
18:04:03 <ehirdiphone> ais523: Not in Sam.
18:04:10 <ais523> oh, assumed it was a sed script
18:04:18 <augur> language is not logic
18:04:27 <ehirdiphone> Nope. Sam's language is ed-derived.
18:04:47 <zzo38> But we still understand what was meant by / L/d even if it is incorrect, I guess, even like English languages and stuff too, but sometimes it can be unclear and/or confusing
18:04:49 <ehirdiphone> But it is based on arbitrary regions, not lines.
18:05:12 <augur> zzo38: the sentence in question IS correct tho
18:05:14 <ais523> zzo38: I try not to make assumptions in this channel, it's often a bad idea
18:05:19 <augur> just not in our dialects
18:05:39 <ais523> it's not beyond the realm of possibility that ehird might want to delete an entire line of his own
18:05:56 <ais523> (I'm also vaguely wondering how that typo happened, it isn't a very plausible one...)
18:06:03 <ehirdiphone> I am secretly a 40 year old horse pedophile.
18:06:06 <ehirdiphone> d d d d d
18:06:09 <ehirdiphone> D!!!!
18:06:14 <soupdragon> not any more
18:06:26 <soupdragon> we all know you like shetland ponis
18:06:26 <ehirdiphone> ais523: Iphone keyboard. Send is in bottom right
18:06:34 <ehirdiphone> So m and l are above it
18:06:41 <ais523> ehirdiphone: aha, and is it otherwise qwertyish?
18:06:43 <ehirdiphone> Well
18:06:47 <ais523> that would explain a lot
18:06:47 <zzo38> augut: Well, it must be a different dialect then, like you said at first, maybe
18:06:50 <ehirdiphone> M is above send
18:06:56 <ehirdiphone> L is above backspace.
18:07:03 <ehirdiphone> Space space inputs ". "
18:07:13 <zzo38> But just because something is a different dialect, sometimes it can still be confusing, sometimes it is less confused
18:07:14 <ehirdiphone> So I try to remove the last space
18:07:22 <ehirdiphone> But miss and send
18:07:33 <ehirdiphone> ais523: yes, it's qwerty for the letters
18:07:48 <augur> well it IS confusing zzo38, im not saying its not
18:07:56 <augur> but its confusing because its not OUR dialect
18:08:04 <zzo38> augur: Yes.
18:08:22 <ehirdiphone> I never thought I'd be considering using Slackware...
18:08:25 <zzo38> Dialect is part of it, anyways
18:08:39 <ehirdiphone> It's so... unehirdesque.
18:08:42 <ais523> ehirdiphone: why are you considering using Slackware?
18:08:54 -!- Asztal has joined.
18:08:59 <ais523> you're one of the few people I have put down in my brain as "opinions impossible to guess"
18:09:05 <ais523> which is probably a good thing
18:09:08 <ais523> so I'm genuinely curious
18:09:43 <soupdragon> im a bit jelous of that
18:10:07 <ehirdiphone> ais523: Why not? Slackware seems to meet some criteria I'm searching Linuxspace for: simple, lightweight, unobtrusive. Longterm my own distro is of course preferable.
18:10:30 <ehirdiphone> Arch and Debian sid are the other main contenders.
18:10:42 <ehirdiphone> Also, my opinions are unpredictable? Huh.
18:10:49 <ehirdiphone> Often changing, yes.
18:10:59 <ehirdiphone> But unpredictable in general?
18:11:11 <ais523> maybe I'm just not very good at predicting
18:11:29 <ais523> for instance, I know quite a bit about which fonts you like and dislike, but don't know, say, whether you'd like Deja Vu Sans mono or not
18:11:32 <ais523> *Sans Mono
18:11:45 <ehirdiphone> It's not a bad font.
18:12:13 <ais523> heh, I actually guessed correctly
18:12:20 <ehirdiphone> The best of the DejaVu family, probably. Serif is ugly because it's thin and fat.
18:12:27 <soupdragon> ehird sorry to interrupt you
18:12:28 <ehirdiphone> Sans is just really meh.
18:12:34 <soupdragon> why the hell are you IRCing from a phone??
18:12:43 <ehirdiphone> soupdragon: Why not?
18:12:50 <soupdragon> because that must suck ?
18:13:15 <soupdragon> compared to a normal computer
18:13:24 <ehirdiphone> I have a good enough keyboard, a nice screen, nick autocompletion and an alright browser.
18:13:32 <ehirdiphone> It's fairly ok.
18:13:35 <soupdragon> okay
18:13:48 <ais523> major issue is that you can't use IRC and the browser at the same time, presumably?
18:13:55 <fizzie> I am, in fact, IRCing from a phone too.
18:13:57 <ehirdiphone> Correcting my typing errors is the main annoying part.
18:14:24 <ehirdiphone> ais523: Colloquy has an uberhack: it embeds its own WebKit shell
18:14:34 <ais523> hmm... what do you call a computer that was clearly originally intended to be a netbook, but then given 3GB of memory so it could run windows 7?
18:14:39 <ehirdiphone> basically a mini safari
18:14:39 <ais523> ehirdiphone: heh
18:14:45 <ais523> that's what I have
18:14:46 <pikhq> ehirdiphone: Not surprising that you like Slackware...
18:14:54 <fizzie> (Mostly because I'm a bit sickly at the moment and am trying to rest in bed.)
18:14:59 <ais523> (note: 3GB probably isn't actually enough, the one on display in the shop was showing out-of-memory errors)
18:15:10 <ehirdiphone> ais523: £300 at PC Worldbook?
18:15:18 <ais523> £400
18:15:20 <pikhq> It is one of the few distros that tries to do as little as is sane.
18:15:23 <ehirdiphone> Ripoff
18:15:34 <ais523> yes, they were gouging everyone as it was christmas and a new version of windows was out
18:15:41 <ais523> but everyone else was doing the same, for the same reason
18:15:49 <ais523> the adverts were hilarious: "windows 7 is out, time for a new PC"
18:15:52 <ehirdiphone> pikhq: My main misgiving is the, ahem, minimal package manager.
18:16:06 <ais523> it was actually literally that, except for the comma which was replaced by a line break, and the capitalisation
18:16:11 <pikhq> ehirdiphone: Yeah, that is pretty much *the* problem with it.
18:16:21 -!- MigoMipo has quit ("co'o rodo").
18:16:52 <ehirdiphone> pikhq: Does it actually *have* an uninstall program?
18:17:12 <ais523> ugh, I'm getting CPAN flashbacks
18:17:48 <ehirdiphone> ais523: Slackware doesn't chase dependencies for you. Now THAT would make CPAN hell.
18:18:25 <ais523> what do you mean by "chase dependencies"?
18:18:34 -!- zzo38 has left (?).
18:18:45 <ais523> CPAN effectively runs itself recursively to install dependencies, just with lots of yes/no prompts
18:18:54 <ehirdiphone> If you have an unsatisfied dependency, Slackware just barfs.
18:19:12 <ais523> doesn't that cause dependency hell, just manually?
18:19:13 <ehirdiphone> You have to download and install dependencies one by one.
18:20:00 <ais523> I thought that was the definition of dependency hel
18:20:05 <ais523> *hell
18:20:09 <ehirdiphone> Amusingly if you use static linking, most packages have basically no dependencies.
18:20:34 <ehirdiphone> /usr/share sorta dependencies, sure. Commands they call too.
18:20:40 <ehirdiphone> But not a single library.
18:21:17 <ais523> ick on some cc?
18:21:27 <pikhq> ehirdiphone: Yes.
18:21:40 <ais523> I suppose it doesn't use debian-style nethack-common, nethack-tty, nethack-x11 packaging then
18:22:12 -!- ehirdiphone_ has joined.
18:22:12 -!- ehirdiphone has quit (Read error: 54 (Connection reset by peer)).
18:22:15 -!- ehirdiphone_ has changed nick to ehirdiphone.
18:22:30 <ehirdiphone> ais523: Slackware isn't atarically linked
18:22:33 <ehirdiphone> Atarically
18:22:34 <pikhq> ais523: Slackware tends to just do ./configure&&make&&make PREFIX=dir install&&tar -cf package.tar dir
18:22:36 <ehirdiphone> Ffg
18:22:44 <ehirdiphone> I was just mentioning
18:22:59 <ehirdiphone> pikhq: Yhere is SOME pkg metadata.,.
18:23:00 <pikhq> Patch only for bugs.
18:23:02 <ehirdiphone> ...
18:23:05 <ehirdiphone> There
18:23:08 <pikhq> ehirdiphone: Yes, it's a file in the tarball.
18:23:11 <ais523> wtf is ataric linking?
18:23:18 <pikhq> ais523: Static.
18:23:35 <ehirdiphone> pikhq: They use .txz nowadays
18:23:42 <ehirdiphone> Since the latest release
18:23:46 <ehirdiphone> Not tgzs
18:23:50 <pikhq> ehirdiphone: Right.
18:23:57 <pikhq> Same format, different compression.
18:26:30 <soupdragon> I need fixed
18:27:28 <ehirdiphone> Okay, you CAN uninstall with Slackware
18:27:30 <ehirdiphone> And
18:27:36 <ehirdiphone> "As of Slackware 12.2, slackpkg has been added as the official remote package manager."
18:27:56 <ehirdiphone> But it seems to just do download+install and search
18:28:05 <ehirdiphone> No dependency chasing
18:28:17 <ehirdiphone> soupdragon: You need... Fixed?
18:28:30 <soupdragon> yeah
18:28:38 <ehirdiphone> wat
18:31:33 <soupdragon> like I can't stand augur because he's so fucking nasty to me
18:31:53 <soupdragon> but logically, the best thing would be to just forget about that and not care
18:32:38 -!- zzo38_ has joined.
18:32:40 -!- zzo38_ has changed nick to zzo38.
18:36:24 <ehirdiphone> soupdragon: well sure a perfectly rational agent would have no emotions
18:36:45 <ehirdiphone> but purely rational agents also never have different opinions, long term
18:36:54 <ehirdiphone> pretty boring really
18:37:26 <pikhq> The Slackware package building method is kinda nice. It's called "shell script".
18:37:30 <ehirdiphone> I'm pretty sure it's impossible to totally let anything just bounce off you, emotionally
18:37:35 <augur> ehirdiphone: hes just mistaken. ive never even spoken to him
18:37:59 <ehirdiphone> augur: Im sure you've spoken to fax/quantum_ed.
18:38:04 <augur> who
18:38:24 -!- zzo38 has quit ("In Soviet Russia, sentence says YOU!!!").
18:38:25 <ehirdiphone> soupdragon.
18:38:35 <augur> im not sure!
18:38:43 <augur> i dont really talk in here much
18:38:43 <ehirdiphone> Anyway he never said anything about you talking to him.
18:38:52 <augur> he said i was nasty to him! :|
18:38:57 <ehirdiphone> No.
18:39:06 <augur> uh
18:39:08 <augur> yes?
18:39:09 <ehirdiphone> He said that to him, you are nasty.
18:39:22 <ehirdiphone> At least that is how I parsed it.
18:39:28 <augur> D:
18:39:32 <augur> DAMN YOU AMBIGUITY
18:39:51 <augur> do you watch Qi?
18:39:58 <augur> er, sorry, buzzcocks rather
18:40:20 <ehirdiphone> Those British comedy quizzes. All alike!
18:40:32 <augur> no its just that i spend all of yesterday watching both
18:40:42 <augur> and the reason i bring buzzcocks up is david tennant
18:40:47 <augur> who was also in a recent ep of Qi
18:41:27 <ehirdiphone> I aw typing upside down.
18:41:33 <augur> partially!
18:42:34 <ehirdiphone> Fucking W
18:42:35 <AnMaster> <augur> i dont really talk in here much <-- really? you seemed pretty active recently
18:42:41 <augur> recently!
18:42:44 <augur> like, last few days.
18:43:06 <ehirdiphone> Fhaitstieyisjgjwtijgwgjgktssgksgkssooye
18:43:56 <ehirdiphone> One dislikeable thing about Slackware is the lack of netinstall.
18:44:16 <ehirdiphone> Instead it's a DVD or 73.458063 CDs.
18:44:17 <AnMaster> ehirdiphone, was that Fhait... a cry of desperation?
18:44:32 <ehirdiphone> Guisitoywitwtihcugrsypfypftid, Hoyle. Godgoto.
18:44:33 <pikhq> Presumably you could create a netinstall.
18:44:43 <AnMaster> ehirdiphone, btw what is your general opinon on "compile your own kernel" thing
18:44:44 <ehirdiphone> pikhq: And a pony.
18:44:47 <pikhq> Get slackpkg and dependencies.
18:44:51 * AnMaster imagines ehirdiphone would hate that
18:44:54 <pikhq> Install stuff.
18:45:18 <ehirdiphone> AnMaster: Usually pointless.
18:46:10 <ehirdiphone> Most people do it to lengthen their epenis by three inches and bask in the 5ms a day they save vs the 5 years they put into it in total.
18:46:21 <AnMaster> ehirdiphone, well in my case.. two things: 1) cut startup time from 35 seconds to 17.2 seconds. Mostly due to no longer needing initramfs and less modules needed to be modprobed. 2) I needed to patch to work around a regression for my hardware
18:46:30 <AnMaster> sadly upstream is not very interested in fixing that bug it seems
18:46:34 <ehirdiphone> But, omg, it's 3KiB smaller!!!!
18:46:46 <ehirdiphone> 17.2 seconds. Hah.
18:47:01 <AnMaster> ehirdiphone, that is from init to login prompt
18:47:09 <AnMaster> ehirdiphone, measured with bootchart
18:47:12 <ehirdiphone> Hahahahah.
18:47:22 <AnMaster> ehirdiphone, for an old sempron it isn't too bad
18:47:22 <AnMaster> :P
18:48:04 <ehirdiphone> I'm relatively confident my distro will go from just after bootloader to X login in 7 seconds with disk. 13, absolute max.
18:48:10 <ehirdiphone> 5, minimum.
18:48:30 <ehirdiphone> With SSD, 3-7 seconds. Probably 4-5.
18:48:30 <AnMaster> ehirdiphone, good luck, since 8 of those seconds are taken up for me with waiting for dhcp reply
18:48:44 <ehirdiphone> AnMaster: Parallel init.
18:49:03 <AnMaster> ehirdiphone, mine is parallel, but i need network up early on
18:49:20 <ehirdiphone> You'll be typing your password, and your WM starting, while DHCP goes.
18:49:24 <AnMaster> ehirdiphone, and sure if i started everything after mounting file systems in background I could do 5 seconds
18:49:29 <AnMaster> ehirdiphone, wm? sorry?
18:49:33 <AnMaster> what has it got to do with things
18:49:34 <ehirdiphone> (Everything else will be finished.)
18:49:47 * AnMaster uses startx manually due to often not starting X at all
18:51:02 <ehirdiphone> Talking to you is infuriating. A constant battle where the only weapon of your opponent is pretending to not understand so they can flount how elite and minimalist and hardcore hacker they are.
18:51:17 <AnMaster> ehirdiphone, didn't intend tha
18:51:20 <AnMaster> that*
18:51:30 <AnMaster> just pointing out my measure is to the text login
18:51:36 <AnMaster> not to kdm or gdm or such
18:51:39 <ehirdiphone> So you do it all the time unintentionally?
18:51:52 <ehirdiphone> My sincere condolences for your ailment.
18:52:06 <AnMaster> ehirdiphone, all time is an unfounded generalisation
18:52:11 <AnMaster> I was talking about this convo
18:52:40 <ehirdiphone> Au contrarie it's perfectly founded to me
18:52:43 <ehirdiphone> Anyhow
18:52:52 <ehirdiphone> This is boring
18:52:54 <AnMaster> anyway arch linux init system is crude.
18:53:00 <ehirdiphone> Who boots up anyway
18:53:21 <AnMaster> parralell in part, but rather limited in what you can do
18:53:28 <ehirdiphone> It's an irrelevant stat. Anyone who isn't anmaster just uses suspend.
18:53:33 <AnMaster> it doesn't do dependency stuff for once. It's up to the user
18:53:35 <ehirdiphone> Okay, maybe ais523 too.
18:53:46 <pikhq> ehirdiphone: I just leave the system on.
18:53:48 <ais523> yes, I boot
18:54:03 <AnMaster> ehirdiphone, my system is generally on 24/7 for my desktop
18:54:21 <ehirdiphone> pikhq: Why? Slow suspend times?
18:54:31 <AnMaster> ehirdiphone, but interesting thing is that suspend takes way longer than shut down on my laptop. Which isn't a good thing when you are in a hurry to leave
18:54:38 <AnMaster> resume is faster than boot though
18:54:48 <pikhq> ehirdiphone: Nah, just don't bother suspending.
18:54:55 <ehirdiphone> I'll probably include TuxOnIce in my distro for fast suspend/wake.
18:55:12 <AnMaster> ehirdiphone, what does it do differently from "stock" kernel
18:55:16 <AnMaster> when suspending I mena
18:55:17 <AnMaster> mean*
18:55:31 <ehirdiphone> Everything. It's an entire replacement suspension system.
18:55:45 <AnMaster> so why hasn't it gone upstream?
18:55:55 <ehirdiphone> Dunno.
18:56:16 <fizzie> I've been shutting the desktop down nowadays; saving the planet, you know. I don't want them to come jail me for melting the ice caps, after all.
18:56:21 <AnMaster> http://www.tuxonice.net/ <-- this looks so 1999 or so
18:56:27 <ehirdiphone> BFS should be upstream too but it isn't
18:56:34 <soupdragon> I don't get it you are meant to be able to download Vernor Vinge - Rainbows End but I can't fucking find the fucking link
18:56:34 <AnMaster> apart from the "flash blocked" bit
18:56:37 <AnMaster> but the design
18:56:39 <ehirdiphone> fizzie: Suspend to ram uses like 1W
18:56:56 <AnMaster> an unreadablely drark shadow
18:56:59 <AnMaster> and*
18:57:19 <AnMaster> ehirdiphone, BFS?
18:57:48 <AnMaster> <soupdragon> I don't get it you are meant to be able to download Vernor Vinge - Rainbows End but I can't fucking find the fucking link <-- is that an esolang?
18:57:48 <ehirdiphone> Con Kolivas' Brain Fuck Scheduler.
18:58:01 <AnMaster> ehirdiphone, I don't believe you
18:58:02 <fizzie> ehirdiphone: Yes, and fails to wake up on approximately every twelth time on my system, requiring a hard reset; haven't been interested enough to try finding a fix.
18:58:04 <soupdragon> it's a book :(
18:58:10 <soupdragon> http://en.wikipedia.org/wiki/Rainbows_End
18:58:10 <ehirdiphone> Fair, guaranteed low latency scheduler for desktop use.
18:58:11 <AnMaster> ehirdiphone, I assume it is a file system?
18:58:14 <soupdragon> im trying to downloard this
18:58:17 <AnMaster> oh scheduler
18:58:24 <soupdragon> but the blog links to another blog which doesn't have the god damn link
18:58:28 <AnMaster> ehirdiphone, CFS seems quite good to me
18:58:31 <ehirdiphone> Don't believe me? What?
18:58:32 <AnMaster> never had any issues with it
18:58:39 <AnMaster> ehirdiphone, what?
18:58:43 <augur> i have a copy of that book
18:58:56 <augur> havent read it tho
18:59:00 <AnMaster> ehirdiphone, who don't belive who about what?
18:59:01 <ehirdiphone> AnMasterehirdiphone, I don't believe you
18:59:12 <AnMaster> <ehirdiphone> Con Kolivas' Brain Fuck Scheduler.
18:59:12 <AnMaster> <AnMaster> ehirdiphone, I don't believe you
18:59:15 <augur> soupdragon, check gigapedia.com
18:59:16 <AnMaster> brain fuck scheduler ;P
18:59:16 <ehirdiphone> You said you don't believe me
18:59:19 <AnMaster> for bfs
18:59:21 <AnMaster> indeed
18:59:26 <ehirdiphone> I said that afterwards
18:59:34 <AnMaster> ehirdiphone, also: "<ehirdiphone> AnMasterehirdiphone, I don't believe you" <-- copy failure!
18:59:46 <AnMaster> ehirdiphone, no?
18:59:52 <AnMaster> ehirdiphone, what are you talking about
18:59:57 <AnMaster> <AnMaster> ehirdiphone, BFS?
18:59:59 <AnMaster> <ehirdiphone> Con Kolivas' Brain Fuck Scheduler.
19:00:02 <AnMaster> <AnMaster> ehirdiphone, I don't believe you
19:00:07 <AnMaster> <AnMaster> ehirdiphone, I assume it is a file system?
19:00:09 <AnMaster> <ehirdiphone> Fair, guaranteed low latency scheduler for desktop use.
19:00:12 <AnMaster> <AnMaster> oh scheduler
19:00:20 <AnMaster> [cut out lines related to other discussions]
19:00:25 <AnMaster> ehirdiphone, I fail to see any issues there
19:01:32 <ehirdiphone> Anyway, BFS has guaranteed low latency, soft realtime scheduling not restricted to root, and has near optimal CPU usage on a desktop: -j(cores) is the optimal strategy. It turns out higher numbers performing better is because other schedulers are inefficient for desktop (not high spec clusters etc) machines.
19:01:43 <soupdragon> is this a parody of something from the book http://www.seekrainbowsend.com/
19:01:48 <AnMaster> ehirdiphone, sounds nice.
19:02:09 -!- ehirdiphone has quit ("Get Colloquy for iPhone! http://mobile.colloquy.info").
19:02:12 <soupdragon> "Vernor Vinge has put the entire text of his magnificent, prescient, mind-alteringly good novel Rainbows End online as a free download"
19:02:22 <soupdragon> good for him but what's the URL??
19:02:25 <AnMaster> fizzie, can you make sense of that "<ehirdiphone> I said that afterwards"
19:02:32 -!- ehirdiphone has joined.
19:02:34 <ehirdiphone> What did I miss after "sounds nice"?
19:02:46 <augur> ok guys, im off. ill be back in an hour maybe
19:02:47 <AnMaster> * ehirdiphone has quit ("Get Colloquy for iPhone! http://mobile.colloquy.info")
19:02:47 <AnMaster> <soupdragon> "Vernor Vinge has put the entire text of his magnificent, prescient, mind-alteringly good novel Rainbows End online as a free download"
19:02:47 <AnMaster> <soupdragon> good for him but what's the URL??
19:02:47 <AnMaster> <AnMaster> fizzie, can you make sense of that "<ehirdiphone> I said that afterwards"
19:02:51 <AnMaster> * ehirdiphone (n=ehirdiph@91.105.68.74) has joined #esoteric
19:02:55 <AnMaster> ehirdiphone, that
19:03:16 <AnMaster> ehirdiphone, no "are you sure you want to quit" dialog I guess ;P
19:03:20 <ehirdiphone> I just misread the logs STFU about "said afterwards" >_<
19:03:33 <AnMaster> ehirdiphone, oh right. That explains it :)
19:03:58 <fizzie> AnMasterehirdiphone, some sort of merged super-creature composed of AnMaster, ehird, and an iPhone linking them together.
19:04:16 <ehirdiphone> fizzie: The quantum foam of nightmares.
19:04:30 <ehirdiphone> Allow me to quote you.
19:04:32 <ehirdiphone> fizzieAnMasterehirdiphone, some sort of merged super-creature composed of AnMaster, ehird, and an iPhone linking them together.
19:04:35 <ehirdiphone> OH GOD
19:04:46 <ehirdiphone> It's... It's GROWING!
19:05:20 <soupdragon> http://www.boingboing.net/2007/11/28/vinges-brilliant-rai.html
19:05:25 <fizzie> It's like that... that ball thing that collects crap it runs over of.
19:05:27 <soupdragon> anyone able to figure this out?
19:05:28 <AnMaster> ehirdiphone, it seems like quite a bug in that software to not insert any delimiter there
19:05:32 <ehirdiphone> soupdragon: did you read the ed stories
19:05:35 <soupdragon> I can't see the big red button
19:05:42 <soupdragon> ehirdiphone a couple of chapters
19:05:48 <ehirdiphone> AnMaster: it's only on copy paste
19:05:57 <AnMaster> fizzie, cat nightmare?
19:06:02 <ehirdiphone> soupdragon: It gets much, much better
19:06:35 <ehirdiphone> soupdragon: around Be Here Now. After that the entire rest is one big plotline
19:06:39 <AnMaster> ehirdiphone, hm, iirc xchat defaults to inserting <> in copied strings if they are not displayed. You edit a format string or something iirc
19:06:47 * AnMaster hasn't used xchat for a while now
19:06:48 <soupdragon> okayy
19:06:54 <ehirdiphone> (you have to have read all of them to understand it though)
19:06:57 <AnMaster> here we go, *starts it*
19:07:15 <AnMaster> hrrm okay I had format strings set to display <> always
19:07:43 <fizzie> AnMaster: Something called Katamari, I believe. Some sort of a game.
19:08:11 <pikhq> Katamari Damacy. Brilliant game.
19:08:12 <AnMaster> fizzie, It was a pun on it. I heard of the game
19:08:23 <AnMaster> fizzie, I thought you knew enough Swedish to figure out the pun
19:08:35 <AnMaster> ask oerjan otherwise
19:08:42 <AnMaster> (it was a *bad* pun though)
19:08:47 <ehirdiphone> NAAAA NA NA NA NA NA NA NA KATAMARI DAMACY
19:08:57 * AnMaster never played it
19:09:05 <AnMaster> was it 2D or 3D?
19:09:12 <ehirdiphone> 3d
19:09:18 <AnMaster> for what platform?
19:09:23 <ehirdiphone> various
19:09:24 * ais523 tries to imagine 2D katamari damacy
19:09:30 <ais523> I think it /could/ work, just wouldn't be as good
19:09:33 <ais523> and would miss half the point
19:09:34 <AnMaster> ehirdiphone, anything like n64 for emulator I meant
19:09:38 <ehirdiphone> ais523: Easiest game ever
19:09:41 <ehirdiphone> Just hold right
19:09:46 <ehirdiphone> AnMaster: More recent
19:09:50 <AnMaster> ehirdiphone, meh
19:09:57 <ehirdiphone> Gamecube emulation is food nowadays
19:09:58 <ehirdiphone> Good
19:10:05 <ais523> I prefer the typo
19:10:07 <AnMaster> ais523, what about 4D?
19:10:07 <ehirdiphone> Wad katamari released on GC?
19:10:14 <AnMaster> ehirdiphone, garbage collector?
19:10:17 <ais523> AnMaster: Adanaxis is bad enough
19:10:21 <ehirdiphone> Gamecube.
19:10:27 <AnMaster> ais523, is that the 4D space game thingy?
19:10:32 <ais523> although, I had it working for a while (the graphics card on this netbook doesn't like it...)
19:10:34 <ais523> AnMaster: yes
19:10:48 <fizzie> Should probably try out the Maemo port of XChat some day; xterm+irssi is not bad, but still.
19:10:49 <AnMaster> hm... that was unexpected *stares at firefox*
19:10:51 <ais523> and I got decent at it, even if I can't visualise what's going on that doesn't stop me playing it
19:10:57 <AnMaster> ais523, you know in firefox, the google box?
19:11:01 <AnMaster> it says google in grey in it
19:11:09 <ais523> umm, it's a search engine box
19:11:10 <ehirdiphone> Yeees...
19:11:11 <AnMaster> and when you click in it, it becomes empty
19:11:12 <AnMaster> ais523, ^
19:11:14 <ais523> atm it's set to Cuil for me
19:11:14 <AnMaster> however
19:11:19 <ais523> and so says Cuil in grey
19:11:21 <AnMaster> I managed to paste Adanaxis there
19:11:24 <AnMaster> so it said:
19:11:27 <ehirdiphone> ais523: O_O
19:11:27 <AnMaster> GoogleAdanaxis
19:11:29 <AnMaster> in grey
19:11:32 <ais523> ehirdiphone: what?
19:11:33 <ehirdiphone> ais523: Why on earth?
19:11:35 <AnMaster> can't reproduce it
19:11:39 <AnMaster> but strange bug anyway
19:11:47 <pikhq> ehirdiphone: Katamari's been on the PS2, PS3, and the 360.
19:11:49 <ais523> ehirdiphone: ever since Google started personalising searches for everyone
19:12:17 <pikhq> The two noteworthy ones are for the PS2.
19:12:17 <ais523> if everyone's going to get different Google results, it's going to be pretty much impossible to tell people to just google something
19:12:17 <pikhq> (after that, there was much less acid involved)
19:12:17 <ehirdiphone> ais523: clearly you should use bing
19:12:19 <ehirdiphone> At least bing is a useable search engine
19:12:23 <ais523> I don't actually trust any of the search engines
19:12:26 <AnMaster> ehirdiphone, no, yahoo!
19:12:33 <ehirdiphone> Yahoo is bing
19:12:33 <AnMaster> or altavista :D
19:12:37 <AnMaster> ehirdiphone, oh damn
19:12:37 <ehirdiphone> Remember?
19:12:38 <ais523> besides, I'm used to not getting useful results from them, Cuil doesn't massively hurt
19:12:43 <AnMaster> ehirdiphone, what about altavista
19:12:46 <AnMaster> what happened to it
19:12:51 <ehirdiphone> nothing
19:12:52 <ais523> AnMaster: I actually used to use it well after Google became popular
19:12:59 <ais523> because it did a lot more of a literal search than Google did
19:13:03 <AnMaster> ais523, which one? altavista?
19:13:06 <ais523> yes
19:13:08 <AnMaster> hm
19:13:14 <ais523> then they tried to improve their results, and just became like Google but worse
19:13:18 <ehirdiphone> Actually I'm getting sick of google too
19:13:20 <AnMaster> ehirdiphone, so it is just a almost unused website?
19:13:32 <ais523> a perfectly literal search engine, I'd find rather useful
19:13:47 <ehirdiphone> I'm considering writing a google proxy like scroogle.org but without the bug of Daniel Brandt
19:13:49 <ais523> yes, it's trivial to manipulate the results, but people are going to be asking different sorts of questions
19:13:51 <AnMaster> ais523, yes. Sometimes I find the suggestions useful, not most of the time
19:14:27 <AnMaster> <ehirdiphone> I'm considering writing a google proxy like scroogle.org but without the bug of Daniel Brandt <-- I know nothing about this. So who is that person?
19:14:47 <ehirdiphone> Google/Wikipedia Watch madman.
19:15:05 <ais523> wow, AltaVista's results for INTERCAL > Google's results for INTERCAL
19:15:06 <ehirdiphone> You've probably come across google watch.
19:15:34 <ais523> 10 relevant results > 6 relevant results
19:15:38 <ais523> on the first page
19:16:03 <ehirdiphone> Scroogle is also quite slow especially via https and doesn't do image search
19:16:05 <ais523> (Wikia Search, while it was still up, managed hundreds of relevant results on the first page, as it kept showing more results as you scrolled, but that's kind-of cheating)
19:16:15 <ais523> ehirdiphone: doesn't it also violate Google's terms of service?
19:16:17 <AnMaster> <ehirdiphone> You've probably come across google watch. <-- no
19:16:30 <ehirdiphone> ais523: Who cares (yes, you)
19:16:38 <ais523> yes, me
19:16:53 <ehirdiphone> Guess who doesn't care that you care
19:16:55 <ais523> also, if it ever became popular, Google would just either technologically-block, or sue them
19:17:08 <ais523> maybe both
19:17:38 <ehirdiphone> Anmaster: he hates google because his site wasn't popular on it
19:17:59 <ehirdiphone> He hates wikipedia because they wouldn't delete his page
19:18:13 <ehirdiphone> From these come google-watch.org
19:18:19 <ehirdiphone> And the same for wikipedia
19:18:23 <AnMaster> hm
19:18:26 <AnMaster> okay
19:18:46 <ais523> those sites are actually in my "wouldn't visit except via TOR" category, he's that sort of a madman
19:18:47 <AnMaster> ehirdiphone, both sites *does* have faults, but I guess he doesn't stay at those only
19:19:10 <ehirdiphone> He is very crazy. He ran a secret logbot in #wikipedia and evaded them banning it
19:19:18 <AnMaster> I see
19:19:29 <ais523> thus breaking Freenode's TOS too
19:19:38 <ehirdiphone> Then he sieves through the logs and goes batshit over people calling him crazy in then
19:19:40 <ehirdiphone> Them
19:19:58 <ehirdiphone> ais523: please, keep your uber legalisticness to yourself
19:20:00 <AnMaster> ehirdiphone, he could just park an idle client in there with logging turned on. Nothing ilegal in idling
19:20:14 <ehirdiphone> Nobody else here cannot separate law from morality
19:20:20 -!- augur has quit (Read error: 110 (Connection timed out)).
19:20:28 <ehirdiphone> AnMaster: He publishes the logs.
19:20:44 <AnMaster> <ehirdiphone> ais523: please, keep your uber legalisticness to yourself <-- quoting you about zzo: stop destroying his differences
19:20:45 <ais523> ehirdiphone: I can; I think it's sometimes moral to break the law, and there are definitely things that are immoral but legal
19:20:59 <AnMaster> well not exact-wording
19:21:05 <AnMaster> s/-/ /
19:21:21 <ehirdiphone> AnMaster: zzo is fun, this is just disturbingly obedient
19:21:22 <ais523> however, it's pretty rare that you get a situation where breaking the law is morally correct
19:21:30 <AnMaster> ehirdiphone, hm
19:21:35 <ais523> and if it happens, there's probably something wrong with the law
19:21:58 <AnMaster> also private logging isn't forbidden anywhere
19:22:06 <AnMaster> public logging are in some channels
19:22:10 <ais523> ehirdiphone: true or false opinion: ideally, the law should be designed in such a way that it's never morally correct to break it
19:22:24 <ais523> (I agree that this is hopelessly idealistic, but if it were possible?)
19:22:24 <Pthing> umm
19:22:45 <ais523> AnMaster: all Freenode channels that don't explicitly warn of public logging, public logging is banned
19:22:49 <Pthing> false
19:22:53 <Pthing> i think definitely false
19:22:55 <AnMaster> ais523, indeed
19:23:11 <ehirdiphone> "Probably all laws are useless; for good men do not want laws at all, and bad men are made no better by them." - Demonax
19:23:15 <ais523> Pthing: interesting; what's your reasoning? (not attacking, just curious)
19:23:26 <Pthing> my reasoning is anti-hubristic
19:23:41 <ais523> ehirdiphone: a good quote; I think it fails to take corporations into account, but is largely correct wrt individuals
19:24:01 <Pthing> law is a more rigid instrument than morality
19:24:15 <ehirdiphone> ais523: Well, you clearly do not fall under good per it, so are you bad?
19:24:26 <Pthing> there is no point trying to make law identical to morality
19:24:30 <ais523> ehirdiphone: I'm not sure
19:24:39 <Pthing> because we already have morality, in all its inconstancy for that
19:24:50 <ais523> I've found contradictions in my own opinions more than once, and have been unable to resolve them
19:24:53 <ehirdiphone> Pthing: My morals are consistent.
19:25:02 <ehirdiphone> (Utilitarianism)
19:25:07 <ais523> ehirdiphone: oh no please no
19:25:15 <ehirdiphone> Your mom.
19:25:22 <ais523> strong utilitarianism is about the worst moral system you could imagine
19:25:27 <Pthing> ehirdiphone, yeah sure whatever
19:25:30 <ais523> apart from one that's actively bad
19:25:35 <Pthing> why not just be a christian if you're going to play identity games like that
19:25:45 <ehirdiphone> ais523: You are wrong.
19:25:45 <ais523> as it tries to sum incommensurable values
19:25:51 <Pthing> you can have meetings about how great utilitarianism is and sing songs about it
19:26:00 <ais523> ehirdiphone: how can you compare the happiness of one person to the happiness of another?
19:26:07 <ehirdiphone> Pthing: By using names I am religious?
19:26:13 <ehirdiphone> ais523: You don't.
19:26:18 <ais523> Pthing: do you know what utilitarianism /is/?
19:26:20 <ehirdiphone> ais523: You compare utility.
19:26:23 <Pthing> yes >:|
19:26:27 <ais523> ehirdiphone: well, yes
19:26:31 <ehirdiphone> Utilons, etc.
19:26:38 <Pthing> the problem is ehirdiphone being all about "my morals"
19:26:39 <ais523> but I don't think people have a scale of utils you can just go and measure
19:26:50 <ehirdiphone> Of course, in practice you must make estimates and judgement.
19:26:59 <ais523> and even if you could, you have feedback-loop issues
19:27:04 <ehirdiphone> Utilitarianism is the measuring stick.
19:27:11 <ais523> in that many people get upset by what they think is immoral behaviour
19:27:14 <Pthing> the other reason
19:27:17 <Pthing> why i think it is false
19:27:19 <ais523> and you need to take that into account in your calculations too
19:27:22 <Pthing> is because this is false idealism
19:27:28 <Pthing> all that exists in this case is practice
19:27:35 <Pthing> it's not like it's mathematics or anything
19:27:43 <ehirdiphone> Often it is fairly clear cut.
19:27:44 <ais523> ehirdiphone: if enough people were upset by the thought that some people used utilitarian morals, would you stop being a utilitarian?
19:28:28 <Pthing> steady on
19:28:34 <ehirdiphone> ais523: I would go for an alternative: hide my utilitarianism, attempt to remove this upset, etc.
19:28:36 <Pthing> he didn't go *that* far down the identity game
19:28:43 <Pthing> he just said his *morals* were utilitarian
19:28:44 <Pthing> not him
19:28:46 <ais523> ehirdiphone: heh
19:28:49 <Pthing> that is another level of terrible
19:28:56 <ais523> Pthing: err, I'm not sure if there can semantically be a difference
19:29:06 <Pthing> i do!
19:29:23 <ehirdiphone> A person whose moral system is utilitarianism is a utilitarian.
19:29:29 <ais523> as in, it seems to be an antitautology to have someone who has utilitarian morals but isn't a utilitarian
19:29:45 <ais523> unless they were unaware of their own morals, I suppose
19:29:48 <Pthing> yeah
19:29:51 <Pthing> that is basically it i guess
19:30:01 <Pthing> Being A Utilitarian is an identity thing
19:30:11 <ehirdiphone> No it's not.
19:30:15 <Pthing> it is!
19:30:21 <ais523> ugh, this is getting to the old logic argument about someone who believes they believe something, but doesn't believe they believe it
19:30:23 <ehirdiphone> Maybe in wanker philosopher groups.
19:30:30 <Pthing> it is a wanker philosophy term
19:30:35 <ehirdiphone> I do not belong to those groups.
19:30:37 <Pthing> because it is wanking philosophy
19:31:04 <ehirdiphone> Talking to Pthing continues to further the notion that talking to him is fruitless.
19:31:27 <Pthing> where philosophy is involved, mostly!
19:31:43 <ais523> utilitarianism is, to me, an attempt to apply economic principles to morals
19:31:49 <ehirdiphone> I am a utilitarian. I call myself that because it is what I am.
19:32:04 <ais523> so it's going to fail at least to the extent that the models economists use are inapplicable to the real world, so it's impossible to work out how to apply it
19:32:05 <Pthing> that is precisely what it means to be an identity thing :|
19:32:10 <Pthing> "I am x"
19:32:12 <AnMaster> <ais523> ugh, this is getting to the old logic argument about someone who believes they believe something, but doesn't believe they believe it <-- huh? aren't those equivilent?
19:32:12 <ehirdiphone> ais523: Well, i find any deontological system unacceptable.
19:32:25 <ais523> ugh, I've forgotten what deontological systems are
19:32:28 <ais523> AnMaster: no, they aren't
19:32:28 <ehirdiphone> ais523: As it can lead to truly horrible results.
19:32:31 <ais523> oh, yes they are
19:32:38 <AnMaster> ais523, typo?
19:32:39 <ais523> sorry, I really screwed up that sentence
19:32:41 <ais523> yes, typo
19:32:43 <ehirdiphone> ais523: Actions can be immoral no matter what their results.
19:32:46 <Pthing> when you say things like that, you are linking yourself with various kinds of philosophical wankery floating out there in platonic heaven
19:32:50 <AnMaster> ais523, so what should it have been?
19:33:12 <ehirdiphone> ais523: So murdering one person to save a billion could be morally unacceptable.
19:33:18 <ehirdiphone> ais523: This is abhorrent.
19:33:22 <ais523> AnMaster: get rid of one of the repeats of "believe", then adjust the sentence to be grammatically correct
19:33:46 <ehirdiphone> That's what deontological moral systems are.
19:33:47 <ais523> ehirdiphone: I'd say with the definition of "action" you're using, you're pretty obviously correct
19:34:01 <ehirdiphone> ais523: I disagree with it
19:34:08 <ehirdiphone> I was just defining it for you
19:34:15 <ais523> ehirdiphone: no, I mean you're correct in that it's abhorrent
19:34:20 <Pthing> OR ELSE
19:34:21 <ehirdiphone> Ah.
19:34:28 <Pthing> if not with the wankery, it is a *social* thing
19:34:32 <AnMaster> ais523, which "believe"?
19:34:36 <ais523> it's also possible to define an action as including all relevant context
19:34:40 <Pthing> and so you are linking yourself to other people who claim the same identity
19:34:40 <AnMaster> there are three to select from + one "believes"
19:34:44 <ais523> AnMaster: any, the sentence means the same thing whichever one you remove
19:35:06 <ais523> well, not quite
19:35:12 <ais523> but it makes the point equally well whichever you remove
19:35:13 * AnMaster drops the first one
19:35:26 * AnMaster looks at the messed up grammar
19:35:56 <ais523> <esr> INTERCAL is not even vaguely modular and nothing I can say would persuade you that it was.
19:36:00 <ais523> I disagree
19:36:02 <AnMaster> actually dropping "believe they" makes much more sense
19:36:12 <ais523> hmm... is that esr, or just quoted by him?
19:36:23 <ais523> ah
19:36:32 <AnMaster> <ais523> <esr> INTERCAL is not even vaguely modular and nothing I can say would persuade you that it was. <-- is he contradicting himself there?
19:36:34 <ais523> <Alexander Garret, quoted by esr> INTERCAL is not even vaguely modular and nothing I can say would persuade you that it was.
19:36:43 <ais523> *Garrett
19:36:59 <ais523> AnMaster: that's not a self-contradiction
19:37:11 -!- oerjan has quit ("leaving").
19:37:12 <ais523> it's of the form "a, and I couldn't convince you of not a"
19:37:12 <ehirdiphone> Ducks
19:37:26 <ehirdiphone> ais523: Not a and couldn't a
19:37:30 <ehirdiphone> Actually.
19:37:41 <ais523> ehirdiphone: equivalent, just redefine a
19:37:41 <AnMaster> ais523, well not formally logical contraction. But a bit confusing in normal language
19:37:51 <ais523> unless you're using intuistic logic or something like that
19:38:01 <ehirdiphone> Hey I wonder if http://catseye.tc/ had any new fancy stuff
19:38:05 <soupdragon> unless you're using intuistic logic or something perverted like that
19:38:06 <ehirdiphone> ais523: I know.
19:38:25 <AnMaster> ehirdiphone, seems so
19:38:27 <ehirdiphone> Oh baby, infer my Haskell types.
19:38:45 <AnMaster> Latest news: 2009.1229: Our last language of the aughts: ZOWIE. Read more on our news page, or subscribe to our RSS feed.
19:39:00 <ehirdiphone> http://catseye.tc/projects/zowie/doc/zowie.html
19:39:00 <ais523> hmm, never heard of Etcha
19:39:08 <AnMaster> aughts?
19:39:11 <AnMaster> ais523, what is etcha?
19:39:20 <soupdragon> 00's
19:39:38 <ais523> AnMaster: according to Cat's Eye, BitChanger adapted to turtle graphics
19:39:40 <AnMaster> oh thought it was naughts
19:39:45 <AnMaster> ais523, I see
19:40:33 <AnMaster> argh
19:40:47 <AnMaster> kdebase on arch linux pulls in mysql
19:40:49 <AnMaster> wth
19:41:51 <pikhq> Probably because it depends on Qt, and they built Qt with MySQL support, for the sake of Amarok (which needs *a* SQL engine in Qt)
19:42:07 <AnMaster> pikhq, QT has an optional dep on mysql
19:42:11 <AnMaster> but this is not optional
19:42:14 <pikhq> AnMaster: WTH.
19:42:34 <AnMaster> pikhq, ah it seems to be akonadi
19:42:36 <AnMaster> whatever that is
19:42:42 <ehirdiphone> "The secondary design goal of ZOWIE was to strike the perfect balance between It's a Mad Mad Mad Mad World and The Party. It is generally considered a morbid failure in that regard, what with not being a madcap 60's movie and all."
19:42:48 <pikhq> Ah.
19:43:00 <AnMaster> pikhq, which I surely have no use of for krita or similar
19:43:35 <AnMaster> pikhq, but why the mysql server
19:43:41 <AnMaster> why not just the client library
19:44:19 <AnMaster> pikhq, also: Nothing will make me install mysql ever
19:44:34 <AnMaster> and krita on ubuntu doesn't need it
19:45:11 <AnMaster> ehirdiphone, "huh"
19:48:09 <ehirdiphone> "Also, I can now say I've worked on a language project for every letter of the Roman alphabet. I'm so happy."
19:48:39 <ehirdiphone> Huh. Chris Pressey sez that zzo's name is Aaron.
19:49:35 <ehirdiphone> "Pixley is also (depending on how you count them) my 50th programming language (that I'll admit to!) This puts me squarely in the ballpark of Wouter and Aaron, and suggests that I plan to be personally responsible for a significant fraction of the next 700 programming languages."
19:49:51 <ehirdiphone> Links to User:Zzo38 on our wiki
19:51:16 -!- soupdragon has quit ("Leaving").
19:54:22 <SimonRC> I just picked a lock for real.
19:54:46 <SimonRC> it was admittedly a really shitty thing on a floppy disk box
19:55:14 <SimonRC> but I actually opened it by just wigging a pin around and twisting
19:55:57 <SimonRC> *wiggling
19:59:45 <SimonRC> and, I suppose, knowing a little about how locks work
20:00:46 <Pthing> like
20:00:53 <Pthing> "if you stick a pin in them and wiggle, sometimes they open"
20:04:09 <SimonRC> nah, I was trying to push a certain bit if the lock
20:04:13 <SimonRC> but not much more than that
20:17:49 -!- atrapado has joined.
20:20:11 -!- ehirdiphone has quit ("Get Colloquy for iPhone! http://mobile.colloquy.info").
20:20:53 -!- ehirdiphone has joined.
20:32:02 -!- jpc has quit (Read error: 60 (Operation timed out)).
20:40:32 -!- Pthing has quit (Remote closed the connection).
21:04:17 -!- atrapado has quit (Read error: 60 (Operation timed out)).
21:21:05 -!- ehirdiphone has quit ("Get Colloquy for iPhone! http://mobile.colloquy.info").
21:38:59 -!- zzo38 has joined.
21:39:39 <zzo38> Do you know some things about copyright law? Icosahedral RPG has its own license but someone else says it has to be the OGL, I don't know everything about the OGL
21:43:53 <uorygl> What's your question?
21:45:28 <zzo38> My question is why it is or is not has to be the OGL or not.
21:45:42 <uorygl> Why would it have to be the OGL?
21:46:07 <zzo38> I am not using OGL material, yet someone said I have to license my work under the OGL anyways because it is "similar". Yet, even other similar things are not by OGL
21:46:54 <zzo38> Here is the Icosahedral RPG license, for reference: http://zzo38computer.cjb.net/icosahedral/icoruma/license.irm And the OGL, for reference: http://www.wizards.com/d20/files/OGLv1.0a.rtf
21:47:07 <uorygl> Because it's similar to what?
21:48:19 <uorygl> If something is released under multiple licenses, you can pick whichever one you like the best.
21:48:27 <zzo38> Similar to D&D. But D&D has been written by many times ago, and there are many other similar things, such as ADOM and various other games, including RPGs and others.
21:48:37 <zzo38> I'm not talking about multiple license.
21:49:03 <uorygl> I'm guessing D&D is released under OGL.
21:49:05 <zzo38> I mean that apparently my work is similar enough that it needs to be under the OGL, but actually my work is written independently, although there are a few similarities
21:49:17 <zzo38> I'm not using text from the D&D rule books
21:49:21 <uorygl> Well, I'm pretty sure that game mechanics are not covered by copyright.
21:49:34 <uorygl> Artwork and text and code and stuff are. Game mechanics would have to be covered by patent.
21:50:54 <zzo38> And the game mechanics are not even the same. They are just have a few similarities. And I'm not using their text or their art. Even if I do have art, the included art will not use the Icosahedral RPG license (or the OGL). It doesn't use code either, but there are a few simple equations which are isomorphic to the D&D ones
21:51:12 <zzo38> (Even though D&D rules does not even explicitly have any equations)
21:51:38 <pikhq> Game mechanics are not even copyrightable.
21:51:44 <pikhq> Only the specific writing of them.
21:52:05 <pikhq> Oh, and there are bits like trademarks and such...
21:52:06 <uorygl> Well, what similarities are there?
21:53:06 <zzo38> Only a few vague similarities in the way the rules work, but the rules are actually different.
21:53:24 <zzo38> Also, it uses a few similar terminologies, but not the ones that are trademarked
21:53:37 <uorygl> Well, you can't copyright a vague similarity.
21:54:30 <pikhq> Unless you're using something that's patented, you're good.
21:54:42 <pikhq> (no D&D mechanics are patented, FWIW)
21:54:47 <zzo38> I know that, but when asking for help about the introduction text (intro.irm) someone said that it has to be OGL, possibly because they don't understand copyright?
21:55:03 <pikhq> They're bloody well clueless.
21:55:15 <zzo38> I told them about ADOM and stuff, they say ADOM is irrelevant because it was made before the OGL, for one thing.
21:55:36 <zzo38> Well, I will write the Icosahedral Role Playing Game Rulebook anyways, and then we can see, right?
21:56:05 <zzo38> Also, is the license I used is it workable?
21:57:08 <uorygl> Hmm...
21:57:12 <pikhq> Just a moment.
21:58:27 <uorygl> Do you have a particular reason for not using an existing license?
21:59:27 <pikhq> zzo38: Poorly worded, but workable.
21:59:55 <zzo38> Can it be worded better? How should I word it better?
22:00:16 <pikhq> Be very exact.
22:00:18 <uorygl> Well, it uses the phrase "restricted by this license". Licenses don't restrict; they allow.
22:01:58 <uorygl> The default state is that people can do very little with your work, and a license lists some additional things that people are allowed to do.
22:02:31 <ais523> generally, you say "you have a conditional licence to do X, provided that:"
22:03:06 <zzo38> I see what you are refering to, part 7, about creations which incorporate it indirectly.
22:03:18 <zzo38> How should it be worded more proper?
22:07:52 -!- anmaster_l has quit (Connection timed out).
22:08:15 <uorygl> Well, you could say that those things "may be used and distributed by their creators in any way with no restrictions whatsoever".
22:08:48 <zzo38> The intention is that if someone creates a new spell for Icosahedral RPG, and it has a trademarked name, they still have to allow other people to copy that spell to their own work even if they have to rename it. It should be clear what you have to rename it to, so that it can be used by other people clearly what you refer to.
22:09:08 <ais523> zzo38: generally you should ask a lawyer about this sort of thing
22:09:22 <ais523> if you need to make a licence watertight
22:10:49 <zzo38> Of course, new spell is just one example, it would also apply to new feats, classes, game rules, creature stat blocks, etc. But that if someone adds flavor text, or art, etc, they can do so however they want to.
22:11:12 <uorygl> The best way may be to take an existing license and modify it so that it matches what you want.
22:11:45 <uorygl> What problems do you have with the GNU GPL, or the BSD license, or the other GNU licenses, or the Creative Commons licenses?
22:12:51 <zzo38> The GNU GPL is best for software and doesn't do what I have specified. However, I do intend that it is allowed to be relicense under the GNU GPL, in case you want to write software or whatever
22:13:33 -!- augur has joined.
22:13:39 <pikhq> Might I suggest using something similar to the OGL?
22:13:41 <augur> well that was a bit longer than i expected
22:13:42 <zzo38> The BSD license is not restrictive enough; I never use it for my own works. If I want a program to be unrestricted by copyright I make it public domain.
22:14:15 <zzo38> The OGL also has a few problems. For one thing, it isn't quite how I specified, also see the FAQ for a few other problems with OGL: http://www.earth1066.com/D20FAQ.htm
22:14:24 <zzo38> (See C.09)
22:14:43 <zzo38> Basically I want it to be copyleft for rules but not for flavor text and art.
22:15:15 <zzo38> Flavor text and art can be whatever the author of the flavor text and art wants it to be.
22:15:57 <uorygl> Maybe I'll be more specific. What would a Creative Commons license allow that you don't want to allow, or not allow that you do want to allow?
22:16:15 <pikhq> "Similar" includes "like it, but without the problems"...
22:16:51 <zzo38> OK, but how would I do it?
22:17:23 <pikhq> ... With a text editor?
22:17:25 <zzo38> A Creative Commons license does not differentiate between rules and non-rules, for one thing. That's because they aren't designed for RPGs
22:17:39 <zzo38> That isn't what I meant by "how would I do it"
22:17:45 <uorygl> So release the rules under one license and the non-rules under another?
22:17:53 <uorygl> Or, you know, modify them.
22:18:02 <uorygl> You haven't actually answered my question.
22:18:15 -!- ais523 has quit (Remote closed the connection).
22:18:53 <zzo38> No, no... Any non-rules that are part of the Icosahedral RPG reference documenation still is my this license, but any non-rules which are written by third parties are not required to be copyleft, is what I mean. Rules written by third parties are still under the copyleft of the license
22:19:40 <zzo38> Do you understand what I mean?
22:20:47 <uorygl> So the rules are available under this license, but people can create derivative works of non-rules and release them under any license?
22:21:53 <zzo38> Yes, as long as any rules that are part of their work have to be available under the same license as the core rules.
22:23:52 <uorygl> So yeah, it sounds like you could just release the rules under a copyleft license and the non-rules into the public domain.
22:24:25 <zzo38> OK, I understand.
22:24:42 <augur> uorygl!
22:24:53 <augur> i think YOU havent actually answered MY question >O
22:25:10 <uorygl> augur: you asked a question?
22:25:22 <augur> have you decided how to have names not be predicates
22:25:31 <zzo38> But: My intention is that non-rules can be combined with rules in a single work, in a way which the non-rules are exempt from the copyleft while the rules are still forced by the copyleft.
22:26:08 <zzo38> That's the real only difference from what you have specified.
22:26:53 <uorygl> augur: no, I haven't.
22:28:01 <augur> keep trying :p
22:28:08 <uorygl> zzo38: isn't that a consequence of what I said? If someone includes non-rules in their own work, others will still be able to redistribute the non-rules.
22:28:39 <uorygl> Maybe you want to include a clause in the rules license stating that people must mention the public-domain-ness of the non-rules if they distribute them in conjunction.
22:30:20 -!- olsner has joined.
22:30:36 <zzo38> No. I mean, they can distribute non-rules using whatever license the author wants. They are not forced to be public domain. However, if you add rules, the rules are still copyleft, but any non-rules can be under full copyright and can deny other people the right to copy any non-rules added, but they can't deny rights having to do with the rules
22:31:26 -!- Pthing has joined.
22:31:36 <uorygl> Okay.
22:31:54 <uorygl> Hmm...
22:39:43 <uorygl> Okay. Here's the Creative Commons ShareAlike clause: If you alter, transform, or build upon this work, you may distribute the resulting work only under the same, similar or a compatible license.
22:41:08 <uorygl> Just change that to something like "If you alter . . . compatible license, except that you may distribute the parts of the resulting work that are not game rules under whatever license you wish."
22:42:20 <uorygl> Though that's not the actual clause, that's a summary of the clause.
22:42:59 <uorygl> Well, here's a better idea.
22:43:00 <zzo38> OK, thanks, that makes sense
22:44:15 <uorygl> "These rules are available under the Whatever License. In addition, if from these rules you create a derivative work, you may release the parts of this derivative work that are not game rules under whatever license you wish."
22:45:17 <zzo38> OK.
22:45:30 <uorygl> That way, you don't have the strangeness that occurs when you change a license by specifying a change to the summary of the license.
22:46:09 <zzo38> OK
22:47:51 <zzo38> Will I have to copy in the text of the CC-BY-SA (or whatever)? And if I also want to allow relicensing under the GNU GPL, will the text of the GNU GPL have to be included? What if I want to add a clause to optionally change to new versions (where I will specify the new version, which might have additional permissions/restrictions, and new version of CC-BY-SA, and new version of GNU GPL, and so on)
22:48:53 <uorygl> Just saying "CC-BY-SA" and linking to it would be enough. Likewise for the GPL.
22:49:16 <uorygl> You know, the GPL bit seems redundant, unless you consider software to be game rules.
22:50:33 <zzo38> No. I simply want to allow relicensing under the GNU GPL so that the rule text can be added to any software with the GNU GPL
22:50:39 <uorygl> As for changing to new versions, perhaps it would be best simply to start releasing new versions of your work under a different license if you want to.
22:50:49 <zzo38> And I know usually it is just linked, but the idea is that if it is printed out as an actual book, that might not do?
22:51:35 <zzo38> The idea is that it can be printed as an actual book as well as being a web-page, wiki, or any other format. (This is one of the things that Icoruma does)
22:51:45 <uorygl> Hmm. I would guess that the GPL would allow you to release the software, alongside documentation and including a documentation browser, without having to release the documentation under the GPL.
22:52:08 <zzo38> OK.
22:52:29 <zzo38> I guess it can do without mentioning the GPL, then.
22:53:21 -!- MigoMipo has joined.
23:13:20 -!- zzo38 has quit (Remote closed the connection).
23:38:17 -!- MigoMipo has quit ("co'o rodo").
23:40:39 -!- MizardX- has joined.
23:46:50 -!- Deewiant has quit (Read error: 104 (Connection reset by peer)).
23:48:05 -!- Deewiant has joined.
23:56:42 -!- MizardX has quit (Connection timed out).
23:57:06 -!- MizardX- has changed nick to MizardX.
2010-01-05
00:23:43 -!- jpc has joined.
00:38:58 <augur> http://i47.tinypic.com/6puxi1.jpg
00:42:06 -!- Pthing has quit (Remote closed the connection).
00:46:04 -!- poiuy_qwert has joined.
00:46:52 <SimonRC> augur: heh
00:53:51 -!- adam_d has quit (Read error: 110 (Connection timed out)).
00:56:50 -!- BeholdMyGlory has quit (Read error: 104 (Connection reset by peer)).
01:02:26 -!- MizardX- has joined.
01:05:03 -!- MizardX has quit (Read error: 104 (Connection reset by peer)).
01:06:22 -!- gfour has joined.
01:09:02 -!- MizardX- has quit (farmer.freenode.net irc.freenode.net).
01:09:02 -!- Cerise has quit (farmer.freenode.net irc.freenode.net).
01:09:02 -!- Deewiant has quit (farmer.freenode.net irc.freenode.net).
01:09:02 -!- Asztal has quit (farmer.freenode.net irc.freenode.net).
01:09:02 -!- comex has quit (farmer.freenode.net irc.freenode.net).
01:09:02 -!- uorygl has quit (farmer.freenode.net irc.freenode.net).
01:09:02 -!- rodgort has quit (farmer.freenode.net irc.freenode.net).
01:09:03 -!- mycroftiv has quit (farmer.freenode.net irc.freenode.net).
01:09:03 -!- sebbu has quit (farmer.freenode.net irc.freenode.net).
01:09:03 -!- fizzie has quit (farmer.freenode.net irc.freenode.net).
01:09:04 -!- Gracenotes has quit (farmer.freenode.net irc.freenode.net).
01:09:04 -!- cheater has quit (farmer.freenode.net irc.freenode.net).
01:10:04 -!- gfour has quit ("Leaving.").
01:16:09 -!- poiuy_qwert has quit ("This computer has gone to sleep").
01:17:28 -!- fizzie has joined.
01:17:28 -!- sebbu has joined.
01:17:28 -!- mycroftiv has joined.
01:17:28 -!- rodgort has joined.
01:17:28 -!- uorygl has joined.
01:17:28 -!- comex has joined.
01:17:28 -!- Asztal has joined.
01:17:28 -!- Deewiant has joined.
01:17:28 -!- Cerise has joined.
01:17:28 -!- MizardX has joined.
01:17:28 -!- Gracenotes has joined.
01:17:28 -!- cheater has joined.
01:18:51 -!- Gracenotes has quit (SendQ exceeded).
01:36:24 -!- Gracenotes has joined.
01:41:51 -!- MizardX has quit ("zzz").
01:55:28 -!- coppro has quit (Remote closed the connection).
01:55:52 -!- coppro has joined.
02:07:09 -!- coppro has quit (Remote closed the connection).
02:07:33 -!- coppro has joined.
03:02:46 <augur> AnMaster
03:25:08 -!- Asztal has quit (Read error: 60 (Operation timed out)).
03:47:13 -!- poiuy_qwert has joined.
03:57:32 -!- poiuy_qwert has quit ("Leaving").
04:34:51 -!- soupdragon has joined.
04:55:34 -!- Slereah_ has joined.
05:03:03 -!- zzo38 has joined.
05:03:28 <zzo38> I think I fixed the license. http://zzo38computer.cjb.net/icosahedral/icoruma/license.irm
05:04:13 <zzo38> Note: The <#> is a formatting code for blockquotes
05:06:37 -!- Slereah has quit (Read error: 110 (Connection timed out)).
05:09:00 <coppro> zzo38: I'd suggest explicitly clarifying the GPL rule as to what you mean
05:09:04 <zzo38> Is it better now?
05:09:19 <zzo38> coppro: How should I clarify it?
05:09:30 <coppro> zzo38: well, I'm not exactly sure what you mean
05:10:01 <coppro> do you mean you can incorporate the work or derivations there of into GPLed works, as long as attribution is given?
05:10:58 <zzo38> I don't really care that much about attribution, but the GPL and CC-BY-SA both require attribution anyways, so it might as well. But what I mean is basically as you said
05:27:25 <zzo38> What would be the best way to re-word it?
05:36:19 -!- Warriphone has quit (Read error: 110 (Connection timed out)).
05:46:51 -!- zzo38 has quit (Remote closed the connection).
06:24:08 -!- SimonRC has quit (Read error: 60 (Operation timed out)).
06:30:17 -!- coppro has quit ("I am leaving. You are about to explode.").
06:49:24 -!- oerjan has joined.
07:47:08 -!- oerjan has quit ("leaving").
07:50:00 -!- lament has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:00:00 -!- Warriphone has joined.
08:03:35 -!- augur_ has joined.
08:05:51 -!- Warriphone has quit (Remote closed the connection).
08:06:14 -!- Warriphone has joined.
08:09:56 -!- augur has quit (Read error: 110 (Connection timed out)).
08:20:56 -!- augur_ has quit (Read error: 110 (Connection timed out)).
08:26:13 -!- Warriphone_ has joined.
08:26:14 -!- Warriphone has quit (Read error: 104 (Connection reset by peer)).
08:26:15 -!- Warriphone_ has changed nick to Warriphone.
08:53:56 -!- FarOut has joined.
09:02:02 -!- FarOut has quit (Remote closed the connection).
09:13:57 -!- jpc has quit (Read error: 60 (Operation timed out)).
09:23:46 -!- SimonRC has joined.
09:33:27 -!- ehird has joined.
09:33:44 -!- lament has quit.
09:33:46 <ehird> Spot the difference!
09:33:59 <Slereah_> You are lamer
09:36:59 <ehird> 16:38:58 <augur> http://i47.tinypic.com/6puxi1.jpg
09:36:59 <ehird> "In film you will find four basic story lines. Man versus man, man versus nature , nature versus nature, and dog versus vampire." —Steven Spielberg
09:37:04 <ehird> *nature,
09:40:12 <Slereah_> ehird : Avatar mostly reminded me of Fern Gully :
09:42:49 * ehird writes a code snippet to show why DYNAMIC-WIND is a pain, now that he's on da computaah
09:43:49 <ehird> ...after downloading Emacs
09:44:09 <ehird> git build from yesterday, I'm so cutting edge
09:49:19 <ehird> "The application Emacs quit unexpectedly."
09:49:24 <ehird> ok, then—not a nightly build
09:53:25 <ehird> Fathomic o-toodled
09:55:21 -!- Asztal has joined.
10:01:16 -!- anmaster_l has joined.
10:08:03 <ehird> this code is bugging in ways I'm pretty sure it's impossible to bug...
10:10:06 -!- MigoMipo has joined.
10:14:29 * ehird debugs it with SISC
10:14:50 <ehird> ahh
10:17:22 <ehird> wait, no; that's a different issue
10:17:33 <ehird> aargh, this is driving me insane!
10:19:45 <ehird> Eh, I'll break my mind with the twisty interaction between CALL-WITH-CURRENT-CONTINUATION and DYNAMIC-WIND some other time.
10:21:17 * ehird downloads the six disks of Slackware 13.0
10:21:28 <ehird> On the first day of Christmas my browser sent to me
10:21:31 <ehird> Slackware thirteen oh
10:21:38 <ehird> Install d1 issoh
10:21:52 <ehird> And five hundred and ninety one megabytes in a file tree
10:22:09 <ehird> *Install dee one issoh
10:22:26 <ehird> I could, of course, just download the DVD file...
10:22:56 <ehird> Amusing that one of the most barebones distro has really large ISOs.
10:23:22 <ehird> Sigh. Fuck my slow internet connection. It's gonna take eight hours to download Slackware.
10:26:23 <ehird> Ah.
10:26:30 <ehird> The last three CDs are just sources.
10:43:46 -!- adam_d has joined.
10:45:54 -!- Gracenotes has quit ("Leaving").
10:51:28 -!- Pthing has joined.
10:52:02 -!- Gracenotes has joined.
10:59:17 <AnMaster> <augur> AnMaster <-- ?
11:03:03 -!- adam_d_ has joined.
11:04:07 <ehird> lota
11:04:17 <AnMaster> ehird, hm?
11:04:25 <ehird> Intwitch ark.
11:04:39 <ehird> Hey; I'm computerised now. I can hack Haskell
11:04:42 <AnMaster> ehird, do you remember if 0.-2.0.29 for ick was same as 29.0.-2.0 in normal sense
11:04:48 <ehird> LIFE IS JOYOUS
11:04:54 * AnMaster is updating the ick package for arch
11:05:08 <ehird> AnMaster: ick to regular: reverse >> s/-/pre/
11:05:35 <AnMaster> ehird, just I'm having a headache here with a) versioning not increasing always b) pax
11:05:49 <ehird> AnMaster: Just use the release date internally
11:06:00 <AnMaster> ehird, for the package version. Hm maybe
11:06:11 <ehird> AnMaster: Does Arch let you do
11:06:20 <ehird> ver~somethingelse, where somethingelse is ignored? Or similar
11:06:21 <AnMaster> PKGBUILD (c-intercal) W: Description should not contain the package name.
11:06:26 <ehird> If so, just do releasedate~cintercalversionunmangled
11:06:45 <AnMaster> <ehird> ver~somethingelse, where somethingelse is ignored? Or similar <-- possibly, not that I know of though
11:06:48 <ehird> AnMaster: Clearly they forgot to make it case-sensitive.
11:06:56 <AnMaster> ==> ERROR: pkgver is not allowed to contain hyphens.
11:07:02 <ehird> Try _
11:07:14 <ehird> AnMaster: Or .
11:07:23 <AnMaster> ehird, there is already . in it
11:07:25 <ehird> 20100104.0.-2.0.29
11:07:35 <ehird> As long as you increase the major version to the release date every time, the rest won't matter
11:08:27 <AnMaster> ehird, well that - caused issues ;P
11:08:43 <ehird> s/-/pre/
11:14:44 -!- adam_d__ has joined.
11:15:32 <soupdragon> grrrrr
11:15:49 <soupdragon> I dont know wthe semantics are for a bunch of words I just use the identity function but that hardly makes sense
11:20:11 -!- adam_d has quit (Read error: 110 (Connection timed out)).
11:21:18 <ehird> soupdragon: wat
11:21:23 <soupdragon> wat
11:21:26 <soupdragon> wut
11:21:33 * ehird does fun dependent-ish programming in haskell's type system
11:21:50 <soupdragon> ehard
11:21:52 <ehird> *Main> nonZero (undefined :: S Z) Full
11:21:52 <ehird> ()
11:21:53 <ehird> *Main> nonZero (undefined :: Z) Full
11:21:53 <ehird> <interactive>:1:25:
11:21:53 <ehird> Couldn't match expected type `NonZero Z'
11:21:53 <ehird> against inferred type `Full'
11:22:15 <soupdragon> im codin this article augur showed me using dependent types
11:22:18 <ehird> admittedly that's basically the same as using a typeclass, but i liiiike it
11:22:51 <AnMaster> -> Extracting ick-0.-2.0.29.pax.gz with bsdtar <-- why bsdtar I wonder
11:22:57 <AnMaster> why not gnu tar or pax
11:23:11 -!- adam_d has joined.
11:23:18 <ehird> soupdragon: http://hpaste.org/fastcgi/hpaste.fcgi/view?id=15624#a15624
11:23:22 <ehird> ch-ch-ch-check it out
11:23:38 <ehird> next step: a safe vector
11:23:46 <ehird> well
11:23:47 <ehird> safe list first
11:24:28 <soupdragon> cool
11:24:48 <ehird> the snippet there can be done with typeclasses, but I like the agda-ish passing-the-condition
11:24:50 <soupdragon> I think you can do this with a GADT too?
11:25:10 <ehird> most likely
11:25:21 <ehird> the nice thing about type families is... they're basically type functions
11:25:25 <ehird> if you ignore the class/instance lines
11:25:31 <ehird> it's just like a function definition in the type system
11:25:33 <soupdragon> want a GADT challenge
11:25:39 <ehird> shure
11:25:56 <soupdragon> write the variadic function sum (I 3) (I 2) (I 7) X = 3+2+7
11:25:59 <soupdragon> as many I as needed
11:26:00 <soupdragon> bye
11:26:01 -!- soupdragon has quit ("Leaving").
11:26:12 <ehird> uh, bye
11:30:56 -!- adam_d_ has quit (Read error: 110 (Connection timed out)).
11:31:22 -!- adam_d_ has joined.
11:31:23 -!- BeholdMyGlory has joined.
11:33:48 <ehird> To enable textual disambiguation of overlapping instances, we declare the equalities together (by transferring GADT syntax to type synonyms):
11:33:48 <ehird> type TypeEq s t where
11:33:48 <ehird> TypeEq s s = TTrue
11:33:49 <ehird> TypeEq s t = TFalse
11:33:52 <ehird> haha fucking sweet
11:37:58 -!- adam_d__ has quit (Read error: 110 (Connection timed out)).
11:43:11 <AnMaster> ehird, that suggestion with release date won't work
11:43:22 <AnMaster> packaging standards:
11:43:24 <AnMaster> "Package versions should be the same as the version released by the author."
11:43:37 <ehird> it's either that or it doesn't work
11:43:38 <ehird> your choice
11:44:01 -!- adam_d has quit (Read error: 110 (Connection timed out)).
11:44:07 <AnMaster> ehird, they suggested that minor "schema changes" might be okay. Which in this case would mean a boring 29.0pre2
11:44:18 <AnMaster> except doesn't pre1 come after pre2 there
11:44:22 <AnMaster> as in -2 followed by -1
11:45:12 <ehird> yes
11:45:17 <ehird> do pre(1/n) :P
11:45:51 <AnMaster> ehird, nice idea
11:46:01 <AnMaster> except would have to be written as decimal
11:46:05 <ehird> yep!
11:46:26 <ehird> 29.0.pre0.5.0
11:46:34 <ehird> YMMV :P
11:46:34 <AnMaster> ehird, which might not always be exact.
11:46:48 * AnMaster points to -3 for example
11:47:03 <ehird> then put the base in the version number!
11:47:10 <ehird> say, as the last component
11:47:24 <AnMaster> uh. how do you mean
11:47:40 <ehird> well, 1/3 in base 3 is 0.1 right?
11:47:41 <ehird> um, i think
11:47:54 <ehird> so 29.0.-3 → 29.0.pre0.1.3
11:48:02 <AnMaster> ehird, but it won't sort correctly if different bases are used for different versions, right?
11:48:03 <ehird> where the .3 means "in base 3"
11:48:04 <ehird> :-D
11:48:11 <ehird> AnMaster: shush you
11:48:13 <ehird> *shush you
11:48:19 <ehird> anyway
11:48:21 <ehird> just do what debian does
11:48:32 <AnMaster> ehird, ~ isn't allowed it seems.
11:49:51 <AnMaster> ehird, anyway the arch dev I was speaking with gave up at the information that pre2 came before pre1. "<wonder> what the hell :D"
11:50:30 <ehird> just do what debian does, google to see how they mangle it
11:50:32 <ehird> they manage fine
11:52:39 <ehird> class N n where toNum :: (Num m) => n -> m
11:52:39 <ehird> instance N Z where toNum _ = 0
11:52:39 <ehird> instance (N n) => N (S n) where toNum _ = 1 + toNum undefined
11:52:39 <ehird> need to fill out a type for the toNum call in N (S n) :(
11:53:37 <ehird> Could not deduce (N n1) from the context (Num m1)
11:53:38 <ehird> sigh
11:55:06 <ehird> technically -fglasgow-exts makes the type system tc
11:55:09 <ehird> (can interpret lc)
11:55:10 <ehird> i believe
11:59:49 <ehird> i remember i used to know how to write this funcn
11:59:50 <ehird> *func
12:23:18 <ehird> *Main> undefined :: Fib (Fact (S (S (S Z))))
12:23:19 <ehird> type 8
12:23:23 <ehird> More jawsome than a speeding astronaut!
12:23:27 <ehird> AnMaster: Represent ↑
12:23:35 <AnMaster> ehird, ?
12:23:49 <ehird> AnMaster: Haskell, there, is computing fib(fact(3)) ... in the type system.
12:23:54 <ehird> As part of type checking.
12:24:00 <AnMaster> ehird, do it in C++ templates ;P
12:24:21 <ehird> Naw. Too easy.
12:37:34 <AnMaster> hm isn't && and || non-original in C? as in, were added sometime after it become widespread but before C90
12:37:36 <AnMaster> ehird, ^
12:37:54 <ehird> i think they were added before it became widespread
12:37:58 <ehird> it used to be just & and |
12:38:00 <AnMaster> ah
12:38:05 <ehird> but && and || were added for associativity
12:38:10 <AnMaster> ehird, I'm just considering why & won't work very well
12:38:13 <AnMaster> | sure
12:38:15 <ehird> a == b & c == d
12:38:40 -!- augur has joined.
12:38:54 <AnMaster> for any values if(a | b) will take the same branch as if (a || b) (excluding possible side effects of evaluating a and b
12:39:01 <AnMaster> but for & that won't work
12:39:11 <AnMaster> as in 2 & 1 won't be the same as 2 && 1
12:39:15 <AnMaster> ehird, ^
12:39:35 <ehird> no
12:39:39 <ehird> it was purely for associativity
12:39:56 <AnMaster> ehird, so how did they solve the issue with 2 & 1 not being a logical and
12:40:03 <AnMaster> using !! ?
12:40:18 <ehird> no
12:40:20 -!- soupdragon has joined.
12:40:22 <ehird> by only doing bool & bool
12:40:24 <ehird> hi soupdragon
12:40:40 <ehird> i didn't solve your gadt thing, but I did make the type system execute fib(3!)
12:40:47 <AnMaster> ehird, there are some functions in C that can return non-1/0 boolean values
12:40:56 <ehird> AnMaster: don't use them in ifs
12:40:56 <AnMaster> ehird, the stuff in ctypes.h comes to mind as a prime example
12:41:04 <ehird> if(foo() > 0 & ...)
12:41:07 <AnMaster> isalpha() or such
12:41:17 <ehird> AnMaster: those are post-the-change
12:41:26 <AnMaster> ehird, oh right
12:42:34 <soupdragon> hey
12:42:58 <ehird> type family Fact n
12:42:58 <ehird> type instance Fact Z = S Z
12:42:58 <ehird> type instance Fact (S n) = S n :* Fact n
12:42:58 <ehird> type family Fib n
12:42:59 <ehird> type instance Fib Z = Z
12:42:59 <ehird> type instance Fib (S Z) = S Z
12:43:00 <ehird> type instance Fib (S (S n)) = Fib (S n) :+ Fib n
12:43:02 <ehird> pretty cosy in type land
12:43:23 -!- FireFly has joined.
12:44:10 <soupdragon> you didn't solve the puzzle :P
12:44:14 <ehird> indeed
12:44:35 <AnMaster> what puzzle
12:44:42 <ehird> gadt puzzle
12:44:44 <ehird> i might solve it next
12:44:54 * AnMaster googles
12:45:12 <AnMaster> no luck
12:45:19 <AnMaster> ehird, ^
12:45:25 <soupdragon> AnMaster; write the variadic function sum (I 3) (I 2) (I 7) X = 3+2+7
12:45:26 <ehird> maybe if we wanted to define the terms so you could understand we would have
12:45:29 <soupdragon> using a GADT
12:45:42 <soupdragon> no typeclasses or typefamilies or anything
12:45:56 <ehird> terms AnMaster does not understand there:
12:45:57 <ehird> - gadt
12:45:59 <ehird> - typeclasses
12:46:01 <ehird> - typefamilies
12:47:17 <soupdragon> well if you don't know haskell this puzzle wont be fun
12:47:26 <ehird> exactly :P
12:47:34 <ehird> i think i've done basically the same thing before
12:47:38 <ehird> lemme finish playing with this first
12:47:45 <augur> ehird, lemme get your opinion on something
12:48:39 <ehird> shoot
12:48:57 -!- Asztal has quit (Remote closed the connection).
12:49:33 <soupdragon> augur, is eat : (S\NP_sg)/NP the single correct category, and eat : (S\NP)\NP is just a hack that makes 'what does John eat' parse? (and so eat : (S\NP)\NP should be discarded)
12:49:43 <augur> i want to be able to draw diagrams in a webpage while having the HTML contain what seems to be some sort of code that describes the image
12:50:00 <augur> e.g. how wikipedia handles MathML or whatever
12:50:05 <augur> how do you think i should do this??
12:50:46 <augur> soupdragon: both are correct in the little shitty model of questions, they're just different words 'eat'
12:50:55 <augur> one for statements, one for direct object questions
12:51:17 <ehird> augur: wikipedia does TeX, not mathml
12:51:18 <ehird> define diagram
12:51:29 <augur> ok TeX, whatever
12:51:40 <ehird> and you want the unprocessed code to be valid HTML?
12:51:50 <augur> yes
12:51:51 <ehird> is it being rendered before publishing or will some js magic transform it
12:52:02 <augur> thats part of the question i suppose
12:52:22 <ehird> well if you want the latter and don't care about the "theory" jsmath does that for latex
12:52:30 <AnMaster> ehird, fun thing: arch's clang package does not depend on llvm
12:52:32 <ehird> let's say you want to embed http://ditaa.sourceforge.net/ diagrams
12:52:40 <AnMaster> I haven't tried it without llvm installed. So not sure if it works or not
12:52:41 <ehird> and process it before publication
12:52:43 <ehird> I'd do this
12:52:58 <ehird> <div class="diagram">
12:52:58 <ehird> ...ditaa source...
12:52:58 <ehird> </div>
12:53:01 <soupdragon> augur, so can you unify them into something else using bluebird?
12:53:05 <ehird> transformed by some program to
12:53:20 <ehird> <div class="diagram">
12:53:20 <soupdragon> or eat just has to have two different categories?
12:53:21 <ehird> <img src="..."/>
12:53:21 <ehird> ...ditaa source...
12:53:21 <ehird> </div>
12:53:21 <ehird> with
12:53:26 <ehird> .diagram * {display:none}
12:53:35 <ehird> .diagram img {display:inline}
12:53:53 <ehird> is that an answer?
12:53:55 <augur> ehird: i was actually thinking about doing something from scratch as the kinds of diagrams i need are sort of custom
12:54:01 <ehird> http://ditaa.sourceforge.net/
12:54:06 <ehird> ditaa can handle anything you throw at it
12:54:37 <ehird> including colours, curves, every box style in existence, many types of lines, weird point things, overlapping diagrams, ...
12:55:16 <ehird> augur: if you have a stylesheet for non-graphical agents too that hides the img and shows the ditaa source, then the only unhandled case in my way is if the image doesn't load
12:55:19 <ehird> but that's pretty edge-case
12:55:22 <augur> can it handle automatically calculated tree diagrams, symmetry-preseving graph diagrams, and attribute-value matrices? :)
12:55:44 <ehird> i don't know
12:55:45 <ehird> anyway
12:55:48 <ehird> ditaa was just an example
12:55:50 <ehird> you get the idea
12:55:51 <augur> yeah
12:56:18 <ehird> Overlapping instances for Show ()
12:56:18 <ehird> arising from a use of `print' at <interactive>:1:0-29
12:56:19 <ehird> Matching instances:
12:56:19 <ehird> instance Show () -- Defined in GHC.Show
12:56:19 <ehird> instance (ToNum n) => Show n
12:56:19 <ehird> whoopsy.
12:56:19 <augur> i just want an idea of what sort of thing you think i should do -- JS rendered, JS calling out to a server-side lib, or server-side preprocessing
12:56:24 <ehird> soupdragon: restate your gadt problem again?
12:56:37 <soupdragon> ehird what's not clear about it?
12:56:45 <augur> soupdragon: theyre just two different types
12:56:49 <ehird> augur: well you can avoid js in this case and that'd support non-js agents, speed up page loading, etc
12:56:55 <augur> you dont use bluebird on them, you just do it like normal
12:56:56 <augur> like i showed
12:57:00 <ehird> so i wouldn't go for js, i'd go for a tool that preprocesses the html
12:57:07 <augur> ok
12:57:09 <soupdragon> augur how does it motivate going from CG to CCG then?
12:57:31 <ehird> augur: i wouldn't do anything server-side either really
12:57:34 <ehird> are these pages otherwise static?
12:57:45 <augur> soupdragon: because you'd need to expand your lexical inventory for _every_ kind of extraction site
12:57:57 <augur> ehird: yes
12:58:02 <ehird> just do % diagrender < foo.html > upload/foo.html
12:58:07 <ehird> on your local machine
12:58:13 <augur> wha
12:58:23 <ehird> what do you mean, wha
12:58:24 <augur> oh you mean preprocess locally
12:58:28 <ehird> yes.
12:58:38 <ehird> no need to cause server/client side load when it's a trivial preprocessing step
12:58:57 <augur> i dont want to have to be at my machine to fix a mistake or something tho
12:59:13 <augur> i want it to just be transparent, as if the browser supports it
12:59:13 <ehird> put the program on a usb stick :p
12:59:14 <ehird> or ssh!
12:59:34 <soupdragon> the extraction site in that example is the word "does"?
12:59:38 <ehird> then do it with server side processing
12:59:44 <ehird> cache it or w/e
12:59:54 <ehird> soupdragon: restate gadt prob plz
12:59:59 <soupdragon> ehird what's not clear about it?
13:00:04 <ehird> nothing
13:00:07 <augur> soupdragon: no, the extraction site is the direct object "john eat ___" -> "did john eat ___" -> "what did john eat ___"
13:00:10 <ehird> i just refuse to scroll up :)
13:00:24 <soupdragon> write the variadic function sum (I 3) (I 2) (I 7) X = 3+2+7
13:01:06 <augur> soupdragon: its actually significantly worse that that tho: because extraction can happen in a wide range of places, you would actually have to have to change the types in an insanely convoluted fashion, possibly even having an infinite number of types for _every single word_
13:01:12 <ehird> soupdragon: can I just support Integer?
13:01:15 <ehird> or do I have to use Num
13:01:35 <soupdragon> Integer
13:02:03 <ehird> and can I define other auxiliary types?
13:02:11 <soupdragon> augur okay thanks!
13:02:13 <soupdragon> yes ehird
13:02:32 <soupdragon> the rule is just that you don't use typeclasses or any of those things
13:02:33 <augur> ehird, so i take it that you would prefer server-side preprocessing to anything else
13:03:17 <ehird> soupdragon: i've done this before iirc, it involves a continuation argument I believe
13:03:33 <ehird> augur: well js is entirely superfluous here and isn't always available/introduces page loading lag/etc
13:03:38 <ehird> so server-side processing seems reasonable
13:03:39 <augur> true
13:03:59 <ehird> but if JS is more convenient to implement that's fine too
13:04:03 <augur> now i have another question
13:04:10 <ehird> your mom has another question
13:04:16 <augur> im basically going to be creating a custom graphics engine here, right
13:04:26 <ehird> augur: you don't need to do that
13:04:32 <augur> no, i do, trust me.
13:04:34 <ehird> soupdragon: also I can name it something other than sum can't I
13:04:42 <ehird> augur: no, I won't trust you, because you're wrong
13:04:42 <soupdragon> of cours...
13:04:44 <ehird> soupdragon: (prelude clash)
13:05:15 <augur> by custom graphics engine i mean basically something that lets me define custom drawing constructs that unfold recursively, etc.
13:05:27 <ehird> *Main> sumT (I 3) (I 2) (I 7) X
13:05:27 <ehird> 0
13:05:29 <ehird> close
13:05:54 <augur> what i want to know is what sort of syntax i should give it
13:08:11 <soupdragon> im confused :(
13:08:12 <ehird> augur: is there something wrong with using data structures instead of strings?
13:08:15 <ehird> that would be easier to manipulate
13:08:23 <ehird> soupdragon:
13:08:24 <ehird> *Main> sumT (I 3) (I 2) (I 7) X
13:08:25 <ehird> 12
13:08:31 <soupdragon> how did you do it?
13:08:35 <augur> ehird: well, data structures cant be encoded into HTML.
13:08:48 <augur> or written in page's source code, rather
13:08:54 <ehird> augur: put the diagram code into the html, and have a processor diagram→graphicsengine
13:08:55 <ehird> presumably
13:09:07 <ehird> soupdragon: http://hpaste.org/fastcgi/hpaste.fcgi/view?id=15627#a15627
13:09:08 <augur> well thats what i was going to do, ehird :P
13:09:23 <ehird> augur: so you want syntax for the diagram stuff, not the underlying drawing engine, presmuably
13:09:23 <soupdragon> nice work that's exactly the solution I got
13:09:26 <ehird> *presumably
13:09:27 <augur> the question is what do you think the diagram code should look like
13:09:35 <ehird> soupdragon: i think it's pretty much the only solution
13:09:42 <ehird> unless you allow the use of things other than gadts
13:10:02 <augur> because its going to need to permit custom definitions of functions, etc.
13:10:14 <soupdragon> oh well I used an integer instead of continuation
13:10:21 <soupdragon> but that's not a real difference
13:10:22 <ehird> d'oh
13:10:35 <ehird> i just did continuations cuz i always did in my vararg stuff, to allow for more generic uses
13:10:46 <ehird> soupdragon: a challenge for you — implement:
13:11:00 <ehird> foo 0 == 0
13:11:01 <ehird> foo 1 3 == 3
13:11:01 <ehird> foo 2 3 4 == 7
13:11:01 <ehird> ...
13:11:12 <ehird> you may define types and typeclass instances
13:11:16 <ehird> but not define any typeclasses yourself
13:11:23 <ehird> you can use GADTs too if you want
13:11:32 <augur> any opinions, ehird?
13:11:37 * ehird writes down his solution
13:11:42 <ehird> augur: make it look functional-esque
13:11:48 <augur> :P
13:11:49 <ehird> since it's essentially a functional program
13:11:59 <ehird> of type drawing instructions, right?
13:12:03 <ehird> your server side code is
13:12:12 <ehird> draw :: diagram → drawing
13:12:18 <augur> pretty much
13:12:19 <soupdragon> ehird but that's impossible unless you typeclasses isn't i t
13:12:22 <ehird> so your input is of type diagram
13:12:30 <ehird> soupdragon: you can define typeclass instances but not typeclasses
13:12:38 <soupdragon> hm
13:12:43 <ehird> augur: well
13:12:48 <ehird> gimme an example you want to express, including a function
13:12:52 <ehird> and i'll show you what syntax i'd use
13:12:55 <ehird> you can use english
13:12:59 <augur> but as far as the syntax is concerned -- haskellish, rubyish, lisp-ish?
13:13:16 <augur> ok lets say i want to do a tree diagram, right
13:13:17 <ehird> well is ease of parsing a concern?
13:13:23 <ehird> if so, go for lisp, job done
13:13:42 <augur> no, i want it to be vaguely possible for others to use it tho
13:14:20 <augur> so suppose that [a b c] is a simply tree with "a" as the root node, and "b" and "c" as the two daughter nodes
13:14:37 <ehird> soupdragon: oh, and you may use FlexibleInstances
13:14:48 <ehird> augur: right
13:15:02 <augur> or where, lets say, [(a\nfoo) b c] is a tree where the root node has the two lines a, and foo, as the contents
13:15:03 <augur> etc.
13:15:32 <ehird> soupdragon: although, hmm, I think an ideal implementation might not
13:15:38 <ehird> also, you are allowed to use undefined
13:15:45 <ehird> but if you don't need FlexibleInstances you don't need to use undefined
13:16:03 <ehird> hmm, maybe
13:16:05 <ehird> not sure
13:16:31 <soupdragon> ehird I got for newtype Foo = Foo Integer
13:16:33 <soupdragon> foo = Foo 0
13:16:39 <soupdragon> maybe...
13:16:48 <augur> the code should be able to define a tree drawing algorithm so that drawing the tree [a [b c d] [e f g]] is done recursively
13:16:51 <soupdragon> perhaps that doesn't work
13:17:56 <augur> e.g. equivalent to like branch("a", [branch("b", [leaf("c"), leaf("d")]), branch("e", [leaf("f"), leaf("g")])])
13:18:11 <ehird> augur: okay
13:18:23 <ehird> augur: erm, describe the drawing algorithm to me
13:18:26 <ehird> so that i can write the code for it
13:19:04 <ehird> soupdragon: ugh, my solution has run into an overlapping instances problem :)
13:19:06 <ehird> i know this is possib— ah!
13:19:08 * ehird has an idea
13:19:12 <soupdragon> I can't do it because of flexible instance
13:19:19 <ehird> lemme try something
13:19:21 <ehird> I believe it is possible
13:20:58 <augur> ehird, i dont know. the point is that in this graphics language it should be possible to define something like leaf(_) or branch(_,_) that will be recursive functions that return little image objects that get composited together into larger units and so forth
13:21:18 <augur> i just need to know the general sort of syntax you think would make this clean and understandable
13:21:47 <ehird> well gimme an example drawing instruction
13:21:54 <augur> its going to need to be vaguely powerful, unfortunately, but
13:21:56 <ehird> your information is far too vague atm to give a good syntax
13:22:23 <augur> er. well ok, lets suppose we're doing a ruby-esque syntax for now, and we're defining some sort of tree algorithm
13:22:36 <augur> let me do this in a pastie
13:24:25 <soupdragon> I can't do it!
13:25:28 <ehird> soupdragon: maybe we should help each other, I keep honing on the solution but can't quite get to it
13:28:01 <ehird> soupdragon: I have:
13:28:02 <ehird> *Main> foo Zero
13:28:03 <ehird> 0
13:28:03 <ehird> *Main> foo (Succ Zero) 1
13:28:03 <ehird> 1
13:28:04 <ehird> *Main> foo (Succ (Succ Zero)) 1 2
13:28:04 <ehird> 3
13:28:09 <ehird> so it's just a matter of somehow hacking this into a Num instance
13:28:12 <ehird> so we can have fromInteger
13:28:25 <soupdragon> hey that seems like it culd work
13:29:05 <ehird> http://hpaste.org/fastcgi/hpaste.fcgi/view?id=15628#a15628
13:29:12 <ehird> if we can fill in fromInteger, it'll work
13:29:33 <ehird> note that that Eq instance is technically correct; as different N numbers have different types, and (==) takes two things of the same type, it's always true :)
13:29:44 <ehird> of course the other Num functions are blatantly undefined
13:30:45 <soupdragon> I have got
13:30:45 <soupdragon> *Main> foo (1::Integer) (3::Integer) (6::Integer) :: Integer
13:30:45 <soupdragon> 10
13:30:53 <soupdragon> but I can't omit any of the annotations
13:30:58 <soupdragon> and it uses flexible instances
13:31:08 <ehird> yeah that's just standard variadic stuff
13:31:18 <soupdragon> instance Num n => Num (Integer -> n) where fromInteger x y = fromInteger x + fromInteger y
13:31:24 <ehird> basing it on my thing is more likely to work, as it encodes the function type in the type
13:31:26 <soupdragon> (and empty show/eq instances)
13:31:50 <ehird> http://hpaste.org/fastcgi/hpaste.fcgi/view?id=15628#a15628 ;; can you think of a definition for fromInteger?
13:32:12 <ehird> actually
13:32:15 <soupdragon> maybe if you split it into two instances
13:32:17 <ehird> i think you'll need separate num instances
13:32:18 <ehird> yeah
13:32:20 <ehird> lemme try
13:32:21 <soupdragon> one for each constuctor of the GADT
13:32:56 <ehird> *Main> fromInteger 0 :: N Integer
13:32:57 <ehird> (freezes)
13:32:58 <ehird> how peculiar
13:33:33 <ehird> OH
13:33:38 <ehird> fromInteger _ = 0
13:33:39 <ehird> spot the stupid
13:34:27 <soupdragon> augur cn you tell me some intro stuff for CCGs ? http://groups.inf.ed.ac.uk/ccg/publications.html is half dead
13:34:38 <soupdragon> something that will explain what's going on with eat ...
13:34:40 <augur> whats to tell you beyond what i wrote? :|
13:35:43 <soupdragon> I'm just confused about the step from CG to CCG, it seems to be motivated by some uglyness with eat - but even in CCG you still have two categories for eat?
13:35:55 <augur> no, you just have one
13:35:59 <augur> (S\NP)/NP
13:36:06 <soupdragon> ah! okay that seems to fit better
13:36:11 <augur> where did you get two from?
13:36:17 <ehird> augur: you haven't posted that pastie yet
13:36:22 <soupdragon> 'This solution is tremendously inelegant, however, because we’d have to posit a whole slew of different versions for the verb eat, just to handle the different kinds of sentences we get in English.'
13:36:23 <augur> ehird: i know :D
13:36:37 <augur> soupdragon: that wasnt in CCG! that was just in CG! thats the point!
13:36:42 <soupdragon> okay :)))
13:36:48 <soupdragon> let me try and parse it in CCG
13:37:49 <ehird> class Nish a
13:37:50 <ehird> instance Nish Integer
13:37:50 <ehird> instance Nish a => Nish (Integer->a)
13:37:50 <ehird> instance (Nish a) => Num (N (Integer -> a)) where
13:37:53 <ehird> this instance is proving difficult
13:38:02 <augur> ehird: http://pastie.org/767377
13:38:13 <ehird> incidentally Emacs is a lot nicer if you maximise it
13:38:23 <augur> woops
13:38:28 <ehird> whoops what
13:38:34 <augur> ok sorry now
13:38:40 <ehird> ?
13:38:47 <augur> the pastie
13:38:51 <augur> i misstyped something
13:38:54 <ehird> ah
13:38:59 <ehird> fix it then?
13:39:02 <augur> yes
13:39:19 <AnMaster> ehird, oh? is it? both ways seems nice to me. Though I often use it in terminal, not X
13:39:21 <ehird> ok, so I'm just gonna write something and maybe fiddle with it and the like
13:39:24 <ehird> see if I can get something nice
13:39:34 <AnMaster> where "maximised" doesn't make any sense
13:39:44 <augur> ehird: im trying to use a sort of SICP graphics language y feel to it
13:39:58 <ehird> AnMaster: well for instance it splits vertically by default when maximised (assuming sane screen dimensions), and if you create three window thingies it splits like that
13:40:02 <augur> with functions like above, below, beside, etc, you know?
13:40:05 <ehird> instead of just sticking to two
13:40:09 <ehird> it feels more dynamic
13:40:16 <ehird> augur: elaborate
13:40:17 <ehird> you mean like
13:40:19 <ehird> constraint solving?
13:40:24 <augur> no no just
13:40:25 <ehird> you say
13:40:28 <ehird> x is above y
13:40:31 <ehird> z is next to x
13:40:33 <augur> well you remember how in SICP they have an imaginary image language where if you did
13:40:36 <ehird> and the engine figures out the positions
13:40:38 <augur> (beside a b)
13:40:39 <ehird> based on that
13:40:43 <ehird> augur: i haven't read sicp, gotta be honest.
13:40:47 <augur> ah well
13:41:11 <augur> it took two images a and b and just sort of image-concatenated them so that the resulting image was just b immediately below a
13:41:25 <AnMaster> ehird, hm okay
13:42:34 <ehird> augur: so in your tree model a branch can have N>0 children right?
13:43:01 <augur> sure lets pretend that trees must have non-zero children otherwise its a leaf
13:43:04 <ehird> what about the value in the branch, can that be any type?
13:43:13 <ehird> or just a string?
13:43:14 <augur> sure
13:43:20 <augur> anything thats drawable
13:43:24 <augur> string, number, another image
13:43:25 <augur> i dont care
13:43:28 <ehird> ah
13:43:33 <ehird> but not every type is drawable, presumably
13:43:36 <ehird> for instance, functions
13:43:42 <ehird> good luck drawing a function
13:43:48 <augur> well thats up to the language
13:43:55 <augur> maybe if you tried to draw the function you'd get the source
13:43:55 <ehird> right, but the point is
13:43:58 <ehird> using haskell terminology
13:43:59 <ehird> it isn't like
13:44:01 <augur> or !proc
13:44:02 <augur> or something
13:44:03 <ehird> forall a. a ->
13:44:04 <ehird> it's
13:44:04 <augur> i dont know
13:44:08 <ehird> Drawable a => a -> ...
13:44:14 <augur> sure whatever
13:44:30 <AnMaster> <ehird> good luck drawing a function <-- generate a flow diagram ;P
13:44:38 <ehird> an infinite flow diagram!
13:44:48 <augur> leaf is Drawable a => a -> Image
13:44:53 <AnMaster> ehird, yes quite :D
13:45:00 <augur> branch is Drawable a => a -> [a] -> Image
13:45:17 <ehird> technically, we could represent this as "everything is a branch"
13:45:28 <ehird> where branch=list of 1+ elems
13:45:30 <augur> sure but i dont wanna ;)
13:45:32 <ehird> leaf = ["abc"]
13:45:38 <ehird> branch = ["abc","def","blah"]
13:45:49 <augur> whatever
13:45:53 <ehird> augur: the reason I said this is
13:45:54 <ehird> I was writing
13:45:56 <ehird> type Tree
13:45:57 <ehird> Leaf :: Drawable -> Tree
13:45:57 <ehird> Branch :: Drawable -> List Tree -> Tree
13:45:57 <ehird> end
13:46:02 <ehird> but then I realised, this is the same as just having Branch
13:46:08 <ehird> if the list is empty, it's a leaf
13:46:17 <augur> i mean, ideally
13:46:44 <augur> what i'd like is for this language to allow TeX esque library functions that can accept custom syntax
13:47:02 <ehird> custom syntax is rarely needed if your syntax is good enough
13:47:25 <augur> eg. in qtree you can just do \Tree [.a [.b c d] [.e f g]]
13:47:27 <ehird> augur: so, trees should be drawable, obviously, right?
13:47:37 <ehird> (amusing consequence: you can have leaves that are trees)
13:47:51 <augur> you can have NODES that are trees! :)
13:47:54 <ehird> tree() is the function that draws a tree, in yours
13:47:56 <ehird> amirite
13:48:05 <augur> yep
13:48:09 <augur> so you can, in principle, do like
13:48:25 -!- soupdragon has quit (Read error: 104 (Connection reset by peer)).
13:48:25 <ehird> also, you don't mind me slightly changing the semantics to try and get a nice syntax right ;)
13:48:33 <ehird> as in, same results
13:48:37 <ehird> but different in-language semantics
13:48:38 <augur> tree [tree([a,b,c]), tree([1,2,3)], tree([:x,:y:,z:])]
13:48:46 -!- soupdragon has joined.
13:48:46 <augur> change the semantics how you want
13:49:04 <augur> im just thinking the easiest way to do it is to have functions like above/below/beside/etc.
13:49:12 <ehird> sure, not changing that part
13:49:20 <ehird> just flexing my awesome language designer muscles to MAKE CODE BETTER
13:49:23 <augur> really, what i guess these would really be, is magic data structures
13:49:43 <augur> where like, text_cell(text, width=:auto, height=:auto)
13:50:06 <augur> is really just a constructor for something like, say, { :text => text, :width => width, :height => height }
13:50:41 <augur> below(a,b) is really just a constructor for say { :type => :below, :top => a, :bottom => b }
13:50:51 <soupdragon> augur I can't find a CCG parse of "What does John eat" :(
13:51:12 <soupdragon> I must have the categories of these words wrong.
13:51:22 <augur> and so forth, and the engine knows what it means to Show these things
13:51:36 * soupdragon looks for some kind of lexicon
13:52:11 <augur> soupdragon: lets do PMs so we dont flood the channel
13:54:31 <ehird> width = subtrees.inject(0) { |c,x| c + x.width }
13:54:43 <ehird> imo this is a flaw of your drawing system; with a constraint-based system this would be worked out automatically
13:55:25 <augur> sure, that really wasnt necessary actually :p
13:55:39 <augur> well no maybe not actually
13:55:54 <ehird> my crazy inner language designer is adding features never seen before to your language btw :P
13:55:56 <ehird> well, one feature
13:55:56 <augur> for this particular example maybe
13:56:03 <augur> awesome :D
13:56:04 <ehird> that happens to serve the purpose of two features in other languages!
13:56:22 <ehird> specifically, it handles both haskell-typeclasses and haskell-data-declarations
13:56:43 <augur> :
13:56:44 <augur> :P
13:56:58 <ehird> so in your thingy below takes a bunch of images and puts them one after another vertically
13:56:59 <ehird> right?
13:57:39 <augur> yep
13:57:48 <augur> you'd have options for left aligned, centered, right aligned
13:57:55 <ehird> what's after, like below but horizontally?
13:57:55 <augur> justified
13:58:00 <augur> yeah
13:58:08 <ehird> mind if I name that "beside"
13:58:15 <augur> no i dont care
13:58:40 <augur> im also thinking that the images, as composite data structures, should permit two things
13:58:43 -!- Asztal has joined.
13:59:07 <augur> general bounding boxes as well as n-recursive bounding rects
13:59:29 <augur> as well as path-level bounding shapes
13:59:41 <ehird> so just to check are you sure you don't want a constraint system :)
14:00:09 <augur> well maybe i do! i dont really know
14:00:35 <ehird> good, you do, i will incorporate that in my snippet
14:00:40 <augur> :p
14:00:44 <augur> whatever you want
14:00:55 <augur> im going to start a github for this
14:00:59 <ehird> augur: basically all it means is that instead of working diirectly with images and each function like below laying them out itself,
14:01:12 <ehird> below actually just generates a list of constraints like this:
14:01:22 <ehird> for below(x,y,z):
14:01:42 <augur> it should be arbitrarily many items, mind you
14:01:49 <ehird> yes
14:01:50 <ehird> { y.top >= x.bottom,
14:01:50 <ehird> z.top >= y.bottom }
14:01:52 <augur> tho i guess that can preprocess out
14:01:56 <ehird> see how that works?
14:02:03 <augur> sure
14:02:08 <augur> maybe it should be = instead of >= tho
14:02:20 <ehird> well, "below" would simply mean
14:02:21 <ehird> "is below"
14:02:28 <ehird> if you didn't put anything in between later
14:02:32 <ehird> it'd be ==
14:02:36 <ehird> *if you
14:02:41 <augur> oh i suppose
14:02:41 <ehird> but the composability of constraints is the cool part, so.
14:02:47 <ehird> anyway, the constraint engine is basically like prolog except a lot simpler
14:02:59 <augur> howre the constraints composable now?
14:03:02 <ehird> it handles a bunch of constraints and works out what arrangements satisfy it
14:03:02 <augur> well how about this
14:03:07 <ehird> and picks the "best" one, per some metric
14:03:10 <augur> you come up with some ideas, and show why its cool
14:03:11 <ehird> and all other constraints just reduce to that
14:03:21 <ehird> augur: no i'm just going to assume you want it and code as if you do :)
14:03:30 <augur> lol
14:03:37 <augur> right but show me why its nifty like that
14:03:59 <augur> because im not entirely sure im following your reasoning about why this is useful
14:04:31 <ehird> i can't really show an example off the top of my head, but when it's useful it is :P
14:04:43 <ehird> i mean
14:04:50 <ehird> you never have to futz with widths or manual placement or anything
14:05:08 <augur> well, in some cases you might need to tho i think
14:05:11 <ehird> you just have to know, this has to be above this, this should be at the left edge of this, this should overlap this and this
14:05:16 <augur> but show me cases that eliminate this
14:05:17 <ehird> and the computaah figures it out for you
14:05:23 <ehird> no, i'm translating your pastie
14:05:27 <ehird> and if you keep talking i won't be able to
14:05:31 <augur> :P
14:05:52 <ehird> what exactly is the point of your triangle call in branch()
14:05:55 <ehird> does it actually display anything
14:08:16 <augur> a triangle instead of branch lines, because im too lazy to figure out how the branchlines should be calculated :p
14:08:36 <augur> http://ironcreek.net/phpsyntaxtree/
14:08:38 <augur> draw that tree
14:08:38 <ehird> okay so this is tree drawing, psychedelia edition
14:08:44 <ehird> where you can't tell which branches are which :D
14:08:46 <augur> and notice the triangle under NP_2
14:08:50 <augur> sure :d
14:08:51 <augur> :D
14:09:03 <ehird> oh i see
14:09:07 <ehird> the triangle stops just before the children
14:10:03 <ehird> actually, (0,50) is kinda arbitrary, I think this will break if you have a nested tree... like any decent tree
14:11:06 <augur> it is indeed arbitrary
14:11:09 <augur> i just wanted a number
14:11:14 <ehird> yes but
14:11:22 <ehird> let's say you have
14:11:48 <ehird> ["foo",["abc","def","blah"],["fff","ggg","zzz"]]
14:11:58 <ehird> the triangles under abc and fff will overlaap
14:12:02 <ehird> *overlap
14:12:05 <ehird> instead of being side by side
14:12:06 <ehird> no?
14:12:21 <augur> right
14:12:28 <augur> oh, no sorry
14:12:34 <augur> well
14:12:40 <augur> yes over the abc nodes right
14:12:45 <augur> one bit triangle
14:12:49 <ehird> ok wait lemme draw
14:12:59 <augur> that is as wide as the whole image, with those two things just below it
14:13:11 <augur> (using the definition i gave for this, anyway)
14:15:37 <ehird> http://pastie.org/767427
14:18:39 <ehird> no?
14:19:06 <augur> actually, given how i defined it, it'd be more eh
14:20:12 <augur> http://pastie.org/767431
14:20:18 <augur> just by how i defined it
14:20:25 <ehird> ok, so it does handle that
14:20:28 <augur> because the upper triangle fully spans the lower images
14:20:31 <augur> yes, it does
14:20:47 <ehird> i need to look at your code more carefully, then translate it to constraints ;)
14:21:41 <ehird> augur: so the triangles are always 50 high?
14:21:48 <ehird> 50px? or does it scale
14:22:04 <augur> sure, always 50
14:22:07 <augur> in this one
14:23:33 <augur> whatevers easiest
14:23:35 <augur> it doesnt matter
14:23:40 <augur> this is an unrealistic definition anyway
14:24:09 <augur> ideally the triangles should only be as wide as necessary to cover all the root nodes of the subtrees and no wider
14:28:09 <ehird> http://pastie.org/private/pzgtz8nyegfgpsbn1lcdq
14:28:09 <ehird> First attempt. Note something interesting here: width(subtrees) doesn't return a number, since it isn't known until draw time. Instead it returns an abstract object, so that in the end it turns into constraints like { triangle.p1.x == subtrees.width }.
14:29:13 <ehird> Er, *subtrees.width/2
14:29:46 -!- FireFly has quit ("Leaving").
14:29:59 <augur> yeah
14:30:39 <ehird> Also note the interesting below[] call. Since most function arguments are tuples, i.e. f(x,y) is f (x,y), we do variadic functions by instead passing a list.
14:30:52 <ehird> Cute syntax ensues.
14:32:26 <ehird> The syntax is a bit too (())ish for me.
14:32:29 <ehird> But it's a start.
14:32:37 <ehird> And it has my Mystical New Feature.
14:32:41 <ehird> (groups)
14:33:13 <augur> ill look it over
14:33:25 <augur> i cant do anything significant right now tho, im about to leave for the airport
14:33:34 <ehird> YOUR MOTHER is about to leave for the airport.
14:33:59 <augur> no shes not
14:34:04 <ehird> OR IS SHE
14:34:08 <augur> she isnt.
14:34:50 <ehird> OR IS SHE
14:36:04 <soupdragon> I fail making semantics for "and" :(
14:41:45 <ehird> soupdragon: any progress on the foo function?
14:42:40 <augur> byeee
14:42:45 -!- somebody_ has joined.
14:43:05 <somebody_> grrrrrrrr
14:43:17 -!- soupdragon has quit (Nick collision from services.).
14:43:20 -!- somebody_ has quit (Remote closed the connection).
14:43:32 -!- soupdragon has joined.
14:45:30 <ehird> soupdragon: any progress on the foo function?
14:46:46 <soupdragon> I gave up ehird it's too hard
14:46:54 <ehird> :(
14:46:56 <soupdragon> you should just allow type annotations :)
14:47:59 <soupdragon> I cannot build a semantic domain without modelling untyped lambda calculus :[
14:48:08 <soupdragon> semantics of "and" is givin me problems
14:53:13 -!- MigoMipo has quit ("co'o rodo").
14:53:25 <ehird> soupdragon: fine, i allow type annotations, but your function didn't do what i asked
14:53:32 <ehird> the first parameter to foo is the *number of arguments it will take*
14:59:02 <soupdragon> oh really
14:59:07 <soupdragon> I didn't get that
14:59:49 -!- augur has quit (Read error: 110 (Connection timed out)).
15:00:35 <soupdragon> I think there is a way to compute types from values like this using typeclasses
15:00:49 <soupdragon> not totally sure about the details but I saw some odd trick in #haskell one time
15:03:13 <ehird> as I said
15:03:16 <ehird> well
15:03:18 <ehird> I guess it wasn't clear
15:03:22 <ehird> but yeah, that's the idea
15:03:35 <ehird> you need to have some Num that you defined that lets the first argument be one of your types
15:03:43 <ehird> so you can encode what you need into the type
15:08:49 <ehird> http://plasmasturm.org/log/542/
15:08:50 <ehird> I wonder what a language based around caching would look like.
15:11:49 <ehird> "During the summer of 1981, my work on TeX began to consume so much time that I had to stop answering mail about The Art of Computer Programming. I began to set all such incoming mail aside and to send form-letter replies: ``Thanks, I'll get back to you soon.''
15:11:49 <ehird> Finally I was able to go through all the letters accumulated during a 15-year hiatus[…]" —Knuth
15:15:10 <soupdragon> im totally stumped wrt semantics of "and"
15:15:25 <soupdragon> it seems like the only way to tackle this is to use untyped lambda calculus
15:15:34 <soupdragon> but simple types are so much simpler....
15:28:09 <ehird> soupdragon: is it strongly typed LC?
15:28:16 <ehird> that's not TC, you need fix
15:28:23 <soupdragon> I don't want TC±
15:28:24 <soupdragon> I don't want TC!
15:28:27 <ehird> alrighty then
15:28:29 <ehird> what's the issue
15:28:34 <soupdragon> but I think I have to have it
15:28:34 <ehird> I wish http://arcanesentiment.blogspot.com/ posted more
15:28:44 <ehird> soupdragon: have you considered LC+dependent types
15:28:52 <ehird> (let's traverse the lambda cube until we find something that'll work :P)
15:29:13 <soupdragon> it was going really well with simple types, until AND came along and ruined it
15:30:13 <soupdragon> the problem is this,
15:30:20 <soupdragon> if AND : Sem -> Sem -> Sem,
15:30:26 <ehird> define Sem
15:30:35 <soupdragon> data Sem : Set where
15:30:41 <soupdragon> CAT, DOG, MARY, JOHN : Sem
15:30:50 <soupdragon> RUN : Sem -> Sem
15:31:04 -!- augur has joined.
15:31:06 <soupdragon> SEE, EAT, LOVE : Sem -> Sem -> Sem
15:31:13 <augur> p hai
15:31:25 <augur> o hai*
15:31:26 <soupdragon> hi
15:31:32 <AnMaster> å hai
15:31:32 <augur> soupdragon: whatve you been up to? :)
15:31:36 <augur> :D
15:31:49 <soupdragon> im puzzling over semantics
15:31:50 <augur> btw, for NP conjunction
15:32:13 <augur> you dont conjoin NPs directly but rather their lifted counterparts
15:32:26 <soupdragon> ehird, so the problem is you can do stuff like AND CAT DOG, but you can't have AND (\x -> LOVE x) (\x -> EAT x)
15:32:30 <augur> let NP' = S\(S/NP)
15:33:08 <ehird> soupdragon: so the basic issue is, x is like
15:33:09 <ehird> "I love it"
15:33:10 <ehird> right?
15:33:11 <soupdragon> ehird, but if I set Sem ~ Sem -> Sem, then I model untyped lambda calculus and that means I don't know if anything terminates
15:33:12 <ehird> it=x there
15:33:20 <ehird> "I love it and I eat it"
15:33:20 <augur> and : (NP'\NP')/NP' = \q.\p.\r.p(r) & q(r)
15:33:25 <soupdragon> Mary loves and eats dogs
15:33:28 <AnMaster> what was the command to explain a C type. It slipped my mind
15:33:29 <ehird> → AND (\x -> LOVE x) (\x -> EAT x)
15:33:31 <ehird> soupdragon: ah, I see
15:33:34 <ehird> AnMaster: cdecl
15:33:38 <AnMaster> ehird, thanks
15:33:43 <ehird> soupdragon: (disturbing example)
15:33:47 <augur> soupdragon: is make sense?
15:33:48 <AnMaster> ffs, not in arch
15:33:52 * AnMaster looks in aur
15:33:59 <ehird> AnMaster: http://cdecl.org/
15:34:00 <ehird> enable js
15:34:01 <ehird> you're welcome
15:34:08 <AnMaster> ah it is in aur
15:34:15 <soupdragon> augur: well my and is (X\X)/X, and that's just one instantiation right?
15:34:19 <ehird> soupdragon: so, are you averse to introducing typeclasses?
15:34:26 <AnMaster> ehird, someone ported it to js?
15:34:32 <ehird> AnMaster: it's ajax i think
15:34:35 <augur> soupdragon: indeed, thus we have a big of a tricky thing dont we!
15:34:37 <AnMaster> ah
15:34:45 <soupdragon> YES
15:34:48 <soupdragon> oops
15:34:50 <ehird> soupdragon: i'd model this as
15:34:50 <ehird> class AND a
15:34:50 <ehird> instance AND Sem where AND = ...
15:34:50 <augur> atleast if you want consistent semantics
15:34:51 <ehird> instance AND a => AND (Sem -> a) where AND = ...
15:35:02 <ehird> soupdragon: or, if you want to introduce dependent types...
15:35:13 <augur> you can let it be what it is, and force conjunction to be, semantically, (a -> b) -> (a -> b) -> (a -> b)
15:35:20 <ehird> you could have IsSemType
15:35:20 <augur> this would _force_ NPs to type-lift
15:35:21 <ehird> and the like
15:35:23 <ehird> and take a type
15:35:57 <soupdragon> augur, so the semantics of Mary loves cats and dogs would be and(love(mary,cat),love(mary,dog)) ?
15:36:05 <augur> yes
15:36:06 <soupdragon> rather than love(mary,and(cat,dog))
15:36:13 <augur> right
15:36:17 <soupdragon> that sounds good
15:36:21 <soupdragon> why didn't I think of that :(
15:36:22 <ehird> soupdragon: or, here's an idea
15:36:24 <ehird> instead of
15:36:27 <ehird> what you said
15:36:27 <ehird> do
15:36:37 <ehird> (\x -> AND (LOVE x) (EAT x))
15:36:46 <augur> exactly
15:36:54 <augur> for verbs you'd just conjoin the verbs by forking over &
15:36:58 <ehird> you could do that programmatically and the like really
15:37:10 <augur> with cats and dogs, you turn the nouns into functions that you can fork over &
15:37:17 <ehird> in applications, take all functions and replace them with their bodies, then add their parameters to the whole expression
15:37:58 <augur> soupdragon: if you want to make a single system that will uniformly handle a large chunk of a language, tho, it becomes _INCREDIBLY_ tricky
15:38:10 <soupdragon> I bet :)
15:38:40 <ehird> hmm
15:38:47 <ehird> I wonder if you could make a language based on functions bubbling up like that
15:38:47 <augur> Paul Pietroski has whats called a conjunctivist model
15:38:54 <augur> so what we're using right now is a functionist model
15:39:02 <ehird> as in, f (\x -> ...) turns into (\x -> f (...)), always
15:39:03 <augur> where everything is function application
15:39:31 <augur> ehird -- ive thought of things roughly like that
15:39:45 <augur> only slightly reverse
15:40:29 <ehird> so
15:40:33 <augur> soupdragon: pietroski's approach is one in which the only semantic composition rules are conjunction of predicates
15:40:41 <augur> and conjunction-over-closure of predicates
15:40:43 <ehird> plus = \m,n. m SUCC n
15:40:46 <soupdragon> augur I just bookmarked a search for it
15:40:47 <ehird> expand SUCC
15:40:51 <augur> e.g.
15:40:56 <ehird> plus = \m,n. m (\n,f,x. f (n f x)) n
15:40:58 <ehird> bubble up
15:41:00 <augur> eat = \x.eating(x)
15:41:10 <augur> john = \y.john(y)
15:41:17 <ehird> plus = \m,n,n',f,x. m (f (n' f x)) n
15:41:27 <augur> dance = \x.dancing(x)
15:41:28 <ehird> god knows what that does
15:41:40 <augur> 'eating and dancing' ~ \x.eating(x) & dancing(x)
15:41:53 <augur> well, eat and dance*
15:42:27 <augur> John eats and dances = \x.eating(x) & dancing(x) & Ey[actor(x,y) & John(y)]
15:42:33 <ehird> the model soupdragon said
15:42:33 <ehird> thatt is
15:42:40 <ehird> AND (\x.LOVE x) (\x.EAT x)
15:42:42 <ehird> doesn't even make sense
15:42:47 <ehird> because the two arguments could differ
15:42:51 <ehird> *that is
15:43:06 <augur> ehird, actually you can make it work like in a pietroskian system
15:43:19 <augur> where the _participants_ of actions are not expressed as in eat(John,pizza)
15:43:37 <augur> but rather as in eat(e) & eater(e,John) & eaten(e,pizza)
15:43:44 <augur> where e is 'the event of eating'
15:44:26 <augur> Donald Davidson proposed this account so that statements like "John ate the pizza quickly" can make some amount of sense
15:44:29 <augur> if semantically this was just
15:44:35 -!- MigoMipo has joined.
15:44:37 <augur> quickly(ate(John,pizza))
15:44:44 <augur> and if ate(John,pizza) == true
15:44:47 <augur> then this is quick(true)
15:44:49 <augur> which is nonsensical
15:45:10 <augur> because it "means" the same thing as quickly(danced(Susan)) if danced(susan) == true
15:45:28 <augur> so davidson said, lets just use variables that denote the event or action
15:45:50 <augur> and you get quickly(e) & eating(e) & eater(e,John) & eaten(e,pizza)
15:45:57 <soupdragon> but can't quickly(ate(John,pizza)) make sense?
15:46:07 <augur> not if you have referential transparency
15:46:15 <augur> imagine this haskell
15:46:27 <soupdragon> suppose ate(John,pizza) = a video of john eating pizza
15:46:27 <augur> and ate(John,pizza) is of type Thing -> Thing -> Bool
15:46:39 <soupdragon> then quicky(a video of john eating pizza) = a video of john eating pizza played at 2x speed
15:46:59 <augur> sure, but then you'd need it to be of type Thing -> Thing -> Thing
15:47:09 <augur> and in normal logic, everything is taken to be ... -> Bool
15:47:15 <soupdragon> okay
15:47:25 <augur> but thats ok right
15:47:38 <augur> because if ate(John,pizza) is Thing -> Thing -> Event
15:47:40 <augur> lets say
15:47:48 <augur> we can make it logicy
15:47:51 <soupdragon> the thing with quicky(e) & eating(e) ... is sort of like a constraint program, at least superficially
15:48:11 <augur> by doing ate`(John,pizza,e) :: Thing -> Thing -> Event -> Bool
15:48:13 <AnMaster> soupdragon, it seems slightly similar to predicate logic to me
15:48:22 <augur> AnMaster: it IS predicate logic :p
15:48:30 <AnMaster> augur, oh why didn't you say that
15:48:38 <soupdragon> ate`(John,pizza,e) :: Thing -> Thing -> Event -> Bool -- aha!!!
15:48:39 <augur> soupdragon: and ofcourse this just makes it obvious that you've got this extra event variable
15:48:44 <AnMaster> augur, I thought that no one would discuss something as trivial as that in here ;P
15:48:51 <soupdragon> right I see that's cool
15:48:55 <augur> with ate :: Thing -> Thing -> Event, you'd end up doing stuff like
15:49:05 <AnMaster> what is Thing?
15:49:09 <augur> let e = ate(John,pizza) in quickly(e) & in_the_kitchen(e)
15:49:16 <augur> AnMaster: the type for things, people, stuff, etc.
15:49:16 <AnMaster> John and Pizza and such?
15:49:20 <AnMaster> ah
15:49:31 <augur> but notice, soupdragon, that you're still, ultimately, predicating of the event
15:49:41 <soupdragon> yes
15:49:49 <AnMaster> augur, but what is the type of quickly?
15:49:54 <AnMaster> or ate
15:49:57 <augur> AnMaster: Event -> Bool
15:50:13 <AnMaster> augur, can you describe those in a "meta"-way
15:50:13 <augur> ate` with the davidsonian account is Thing -> Thing -> Event -> Bool
15:50:47 <augur> AnMaster: you can make quickly() a special-form of your logic, in the same way that cond is a special form of lisp
15:50:57 <augur> you could make _Everything_ special forms
15:51:20 <augur> but its nicer if we can bring our knowledge of pred-calc to bear on this
15:51:26 <AnMaster> augur, I haven't followed the entire convo here, so not sure of the scope of what you try to describe. But I was considering something like "ate is the past tense of eat"
15:51:30 <augur> i mean, if you have special forms, you have to define a whole new logic
15:51:34 <augur> its much nicer to just use what we have
15:51:45 <AnMaster> of course I guess they are then thinks
15:52:03 <augur> ate-is-the-past-tense-of-eat can actually be seen as like
15:52:12 <augur> "ate" is really two things
15:52:19 <augur> eat and -ed
15:52:28 <augur> eat = \e.eating(e)
15:52:32 <augur> -ed = \e.past(e)
15:52:44 <augur> conjoining them, eat-ed = \e.eating(e) & past(e)
15:52:56 <augur> and thenw e just say that the morphology of english turns eat-ed into ate
15:53:01 <augur> ok im off for the flight guys
15:53:01 <augur> see ya
15:53:06 <ehird> AnMaster: It's not predicate logic, it's linguistics.
15:53:08 <ehird> They're just isomorphic.
15:53:12 <AnMaster> augur, eating implies "right now" iirc. What about "I often eat pasta but right now I'm eating spinach"
15:53:15 <soupdragon> bye augur!!
15:53:25 <soupdragon> that's awesome putting morphology into it
15:53:57 <AnMaster> augur, feel free to add in "ate" there as well ("and yesterday I ate nothing")
15:54:07 <ehird> He's gone.
15:54:08 <soupdragon> -ing = \e.currently(e)
15:54:14 <AnMaster> ah right missed that
15:54:23 <soupdragon> I just made that a rule
15:54:26 <soupdragon> since it's plausible
15:54:38 <soupdragon> -s = \e.pluraly(e)
15:54:43 <AnMaster> soupdragon, what about "eating fruit is good for you", not "currently" there
15:54:47 <soupdragon> stuff like that I guess
15:54:47 <soupdragon> fuck
15:54:50 <AnMaster> of course English is a mess
15:54:51 <soupdragon> I wanted to ask augur anothing thing
15:55:01 <soupdragon> hm that's true
15:55:04 <AnMaster> (most natural languages are)
15:55:11 <soupdragon> I am not sure what ing should be
15:55:36 <AnMaster> soupdragon, English is ambiguous. This would probably have worked better with lojban or something
15:56:11 <soupdragon> so what I wanted to ask about was.. backtracking a bit
15:56:34 <soupdragon> I have the rule and : (X\X)/X (X is a variable)
15:57:02 -!- oerjan has joined.
15:57:20 <AnMaster> oerjan, hi
15:57:33 <oerjan> hi AnMaster
15:57:40 <soupdragon> this idea about bubbling in the semantics, AND f g being written as \x.AND (f x) (g x) could be done by restricting the variable X to a ground type {N,NP,PP,S}?
15:58:09 * AnMaster is wondering why these two programs listing almost right after each other render with different letter spacing
15:58:15 <soupdragon> everything whos interpretation is typed Sem
15:58:22 <AnMaster> both have same settings
15:58:30 * AnMaster prods LaTeX
16:04:10 -!- MigoMipo has quit (Remote closed the connection).
16:07:36 <soupdragon> you know it's pretty hard to build these derivation trees by hand
16:08:57 <oerjan> derivation bonsai
16:09:55 <ehird> AnMaster: lol@"this would have worked better with lojban"
16:09:59 <ehird> this is standard linguistics, dude
16:10:04 <ehird> it works perfectly well for english
16:10:41 <soupdragon> this is the best
16:13:05 -!- augur has quit (Read error: 113 (No route to host)).
16:13:48 <AnMaster> ehird, so what type or whatever is the -ing ending?
16:13:56 <AnMaster> (wrong terminology probably)
16:13:58 <ehird> why are you asking me
16:13:59 <soupdragon> yeah what are semantics of -ing
16:14:06 <ehird> ask augur, he's the linguist
16:14:09 <ehird> or soupdragon
16:15:33 <soupdragon> liftA2 = S combinator?
16:15:38 <soupdragon> no
16:15:43 <AnMaster> ehird, since you indicated it worked quite well in English
16:15:45 <AnMaster> just above
16:15:49 <AnMaster> <ehird> AnMaster: lol@"this would have worked better with lojban"
16:15:49 <AnMaster> <ehird> this is standard linguistics, dude
16:15:49 <AnMaster> <ehird> it works perfectly well for english
16:16:04 <AnMaster> ehird, so I assume you know how it works, or can't you back up your claim?
16:16:14 <soupdragon> what bird is Q? Qafgx = a(fx)(gx)
16:16:18 <ehird> you were saying that formally representing english is unreasonable, and lojban would be a better choicee
16:16:21 <ehird> *choice
16:16:25 <AnMaster> no
16:16:28 <ehird> i provided a counterargument, being:
16:16:31 <ehird> the ENTIRE FIELD OF LINGUISTICS
16:16:31 <AnMaster> not exactly
16:17:03 <soupdragon> ufff this is way too complex lol
16:17:12 <pikhq> I thought it clear that formally representing natural languages (such as English) was effing hard, but not too unreasonable.
16:17:20 <pikhq> (as demonstrated by it having been done)
16:17:29 <ehird> It's not effing hard
16:17:31 <ehird> It's basic linguistics
16:17:36 <soupdragon> I'm trying to get a derivation of John loves and Mary hates pizza
16:17:45 <Slereah_> soupdragon : It is a queer bird
16:17:45 <soupdragon> such that and is used only with ground cats
16:17:52 -!- poiuy_qwert has joined.
16:17:55 <soupdragon> I just picked Q at random
16:18:06 <pikhq> ehird: ... I may be calling linguistics effing hard. :P
16:18:15 <ehird> your mom is effing hard
16:18:16 <soupdragon> what am I even asking this here I have the mockingbird book next to me :(
16:18:20 <ehird> i suppose that implies she's a hermaphrodite
16:18:21 <oerjan> soupdragon: S combinator is ap
16:18:40 <oerjan> or <*>
16:18:52 <pikhq> Or liftM.
16:19:00 <oerjan> no!
16:19:07 <pikhq> ?
16:19:15 <oerjan> liftM is not the same as ap
16:19:39 <pikhq> Sure enough: ap = liftM2 id
16:19:41 <oerjan> it's the same as fmap or <$>
16:20:09 <pikhq> I was... Not thinking straight.
16:20:22 <oerjan> liftM2 id is not = liftM
16:20:34 <soupdragon> on fig. 28 <http://www.wellnowwhat.net/blog/?p=294> and is used with X := S/NP
16:20:41 * pikhq nods
16:20:47 <soupdragon> but I need to re-derive it such that X is one of {N,NP,PP,S}
16:23:03 <oerjan> soupdragon: otoh, your Q is liftM2, i think
16:23:15 <oerjan> (or liftA2)
16:23:37 <oerjan> or was that how you got it in the first place
16:25:32 <soupdragon> well the thing is might be on the wrong track all together
16:25:58 <soupdragon> I was thinking of Qafg, but maybe it's better to find some < and > such that Qafg = f<a>g
16:26:09 <soupdragon> but f and g might need lifted
16:26:42 <soupdragon> f and g are John loves and Mary hates
16:27:05 <soupdragon> (John loves and Mary hates) $ pizza = John loves pizza and Mary hates pizza
16:27:27 <oerjan> well > could be <*>
16:28:28 <oerjan> < is flip (<$>) i think
16:28:47 <oerjan> i don't recall that having a name
16:29:47 <oerjan> there is also the on function
16:30:37 <oerjan> (op `on` f) x y = f x `op` f y
16:37:31 <soupdragon> maybe I should implement the parser then run it on this... and I won't have to work so hard trying to figure it out
17:00:22 -!- ehird has quit.
17:01:54 -!- lament has joined.
17:10:14 -!- ehird has joined.
17:10:23 <ehird> acquire ten dubloons
17:10:56 <ehird> John loves and Mary hates → (\x. AND (LOVES JOHN x) (LOVES MARY x))
17:10:56 <ehird> imo
17:11:08 <ehird> or LOVES x JOHN/MARY, w/e
17:11:34 <soupdragon> hard to actually find a derivation that parses John loves and Mary hates
17:11:46 <soupdragon> unless you allow AND (LOVES JOHN) (LOVES MARY)
17:12:16 <soupdragon> I might need some generalized bluebird or something
17:12:27 <soupdragon> apparently there's an algorithm for this
17:13:40 -!- lament has quit.
17:17:39 <ehird> soupdragon: well
17:17:40 <ehird> just do
17:17:53 <ehird> if you have a function where a non-function is expected in an expression
17:17:58 <ehird> extract the function to the expression
17:18:14 <ehird> so AND (LOVES JOHN) (LOVES MARY) would turn into (\x -> AND (LOVES JOHN x) (LOVES MARY x))
17:18:18 <ehird> simple
17:18:36 <soupdragon> that doesn't typecheck though
17:18:47 <ehird> do it before typechecking
17:18:56 <soupdragon> there's no such thing as before typechecking :P
17:19:04 <ehird> your mom
17:19:37 <soupdragon> want to see my code
17:19:40 <soupdragon> ?
17:20:35 <oerjan> so AND needs to be applicatively overloaded? :)
17:22:01 <oerjan> hm wait that won't work, the base case doesn't fit
17:22:36 <soupdragon> im not even sure really I understand what hmmm
17:22:50 <soupdragon> maybe and : (X\X)/X works just fine
17:23:44 <oerjan> hm yes
17:24:03 <soupdragon> the thing is... and = \pq.(p,q) : (X\X)/X only makes sense when X is ground
17:24:33 <soupdragon> and = \pq.\x.(px,qx) : ((X/A)\(X/A))/(X/A)
17:24:48 <soupdragon> and = \pq.\xy.(pxy,qxy) : ((X/A/B)\(X/A/B))/(X/A/B) ...etc
17:25:00 <soupdragon> dammit this just doesn't fit in with the rest of the framework
17:28:11 <AnMaster> hm does anyone know if openmp is just suited to number-crunching style workloads. Rather than, say, different threads doing different things, sometimes idling (think a server with threads, or a GUI program with backend threads and GUI threads)
17:28:19 * AnMaster suspects ehird is most likely to know
17:29:26 <ehird> OpenMP seems number-crunching oriented to me. Use pthreads to clone Plan 9/Go's thread API; that'd keep you sane.
17:29:47 <ehird> (Using pthreads directly is on my list of Ten Ways to Torture Your Mortal Enemies In Hell.)
17:32:07 <AnMaster> ehird, pthreads seems quite a pain yeah
17:32:32 <AnMaster> ehird, also what about *implementing pthreads*
17:32:35 <AnMaster> wouldn't that be worse?
17:32:38 <ehird> Ouch.
17:32:40 <ehird> Well, not really.
17:32:44 <ehird> pthreads is very low level.
17:32:50 <ehird> Anyway, Plan 9/Go's thread API is *really* nice.
17:35:56 <AnMaster> anything worse than "use pthreads"
17:36:00 <AnMaster> on that list
17:36:01 <AnMaster> ehird, ^
17:36:10 <ehird> Not sure.
17:37:06 <AnMaster> ehird, is the list even specified in full ;P
17:37:14 <ehird> Abstract operations of Plan 9/Go's threading API: spawn { code } — run code in a new thread. make_chan(type[, bufsize]) — return a new channel containing values of type. send(chan, val) — send val to chan. If the channel has a bufsize, and the buffer of that size is not full, append to that buffer; otherwise, block until a recv() happens. recv(chan) — receive a value from chan.
17:37:30 <AnMaster> ehird, no shared memory?
17:37:42 <ehird> Well, if you have a global you can mutate it in two threads at once.
17:37:46 <AnMaster> while dirty, in some specialised workloads it performs much better
17:37:48 <ehird> But that would be dumb.
17:37:53 <ehird> You can do it if you want, though.
17:38:00 <AnMaster> ehird, I'm thinking merge sort with multiple threads
17:38:07 -!- virtue has joined.
17:38:15 <ehird> So we can use channels as completion signals:
17:38:15 <ehird> c = make_chan(bool); spawn foo(c); recv(c); /* assuming the value doesn't matter */
17:38:22 <ehird> Or to return the results of computation (obvious)
17:38:31 <ehird> We can have multiple channels per thread
17:38:34 <ehird> And multiple threads per channel
17:38:36 <AnMaster> ehird, as for those globals, could you store a pointer to a malloced block in there?
17:38:44 <ehird> AnMaster: Sure; they're regular threads.
17:38:47 <ehird> Same memory space and everything.
17:40:07 -!- virtue has left (?).
17:41:16 <ehird> int pixels[x][y];
17:41:17 <ehird> chan(int) workers[x][y];
17:41:17 <ehird> for(x=0;x<w;x++) for(y=0;y<h;y++) {workers[x][y] = make_chan(); spawn pixel(x,y,workers[x][y]);}
17:41:17 <ehird> for(x=0;x<w;x++) for(y=0;y<h;y++) pixels[x][y] = recv(workers[x][y]);
17:41:18 <ehird> ↑ e.g. mandelbrot or other embarrassingly parallel task
17:41:56 <ehird> you could actually use the spawn syntax in gcc
17:42:35 <ehird> #define SPAWN(x) void _f(void) { x; }; spawn(_f)
17:42:37 <ehird> or whatever
17:44:36 <AnMaster> ehird, hm so malloc() there is thread safe?
17:44:52 <ehird> Depends on if your libc's malloc is thread safe, doesn't it?
17:45:12 <ehird> You can do whatever you want inside a thread.
17:45:34 * ehird tries to find the Go parallel mandelbrot to translate it to C+Gothreads
17:45:38 <ehird> (technically goroutines)
17:46:02 <ehird> also, since the threads are used very lightly — e.g. for every pixel in that mandelbrot — starting a 'real' thread for each one may not be so good
17:46:10 <ehird> not sure how much overhead pthreads has
17:46:25 <ehird> is it reasonable to start 100,000,000 pthreads?
17:46:32 <ehird> (to generate a 10,000x10,000 mandelbrot)
17:47:40 <ehird> AnMaster: oh and btw, this concurrency model is just the pi calculus
17:48:46 <AnMaster> mhm
17:48:53 * ehird wonders if returning an array is like returning a struct, or like returning a pointer
17:48:55 <AnMaster> <ehird> Depends on if your libc's malloc is thread safe, doesn't it? <-- well the plan9 one I meant
17:49:01 <ehird> knowing c's retarded array handling, probably the latter *sigh*
17:49:04 <ehird> AnMaster: sure
17:49:24 <AnMaster> ehird, as for returning array. Is that allowed?
17:49:36 <AnMaster> well, for fixed size it might be
17:49:39 <pikhq> ehird: That concurrency model is quite nicely simple.
17:50:30 <AnMaster> ehird, isn't a struct returned as a pointer to a caller allocated space on stack for it. As in a pointer to it is passed as a hidden extra argument in %rax or somewhere (forgot where)
17:50:37 * AnMaster looks for his AMD64 abi pdf
17:50:45 <ehird> struct is returned on the stack i believe
17:50:57 <ehird> i.e. returning struct{int a,b;} is like returning two values (int,int)
17:51:24 * ehird wonders how to declare returning an array
17:51:28 <ehird> int[width][height] foo()?
17:51:37 <ehird> int foo()[width][height]?
17:51:41 <ehird> is it even possible?
17:52:30 * ehird just requires the caller to pass in a pointer :P
17:53:16 <Deewiant> In C? No, you can only return a pointer or a struct
17:53:30 <AnMaster> Deewiant, or a scalar
17:53:48 <ehird> hmm... is it possible, given a [][], to turn that into a ** reasonably? &ary doesn't work, it would produce *** i think
17:53:57 <ehird> just passing it to a func will copy it
17:54:23 <Deewiant> AnMaster: I meant, in place of an array
17:56:40 * ehird comes up with an evil hack to do parameterised types in c
17:56:56 <AnMaster> right
17:57:52 <ehird> hmm... foo##__typeof__(3) won't produce fooint, will it; darn
17:57:53 <ehird> oh well
17:58:02 <ehird> Behold:
17:58:05 <ehird> #define TUPLE(t) struct _tuple_##t {t a; t b;}
17:58:06 <ehird> #define NEW_TUPLE(t,a,b) ((struct _tuple_##t){a,b})
17:58:07 <ehird> Usage:
17:58:18 <ehird> TUPLE(int) foo = NEW_TUPLE(int, 1, 2);
17:58:20 <ehird> foo.a
17:58:41 <AnMaster> that's a two-tuple
17:58:46 <ehird> Fail.
17:58:48 <ehird> Tuple means two.
17:58:54 <ehird> Tuple, triple.
17:59:47 <lifthrasiir> ehird: isn't it a pair, or equivalently, 2-tuple?
17:59:59 <ehird> I'm just using the Haskell terminology /shrug
18:02:12 <ehird> lol @ plan 9 thread function: proccreate
18:03:41 <mycroftiv> ehird: its BDSM too, first you bind, then you mount, then you proccreate
18:04:17 -!- adam_d_ has quit (Read error: 110 (Connection timed out)).
18:04:50 <ehird> BSDM
18:05:16 <ehird> mycroftiv: annoying that plan 9 does it letting you only pass a single void * as the functions arg
18:06:20 <mycroftiv> ehird: nah remember that C often doesnt even try to deal with your fancy 'types'
18:06:27 <ehird> yes, but if you want to pass two values
18:06:31 <ehird> it's a bitch
18:06:40 <mycroftiv> no its not
18:06:45 <ehird> yes it is
18:06:49 <ehird> #define SPAWN(x) ({ void _spawned_proc(void) { (x); }; spawn_proc(_spawned_proc); })
18:06:50 <ehird> ↑ inelegant and bloody convenient
18:07:28 <mycroftiv> you make your struct with as many vars as you want to pass, malloc it, fill it up, cast it to void, send it to your proccreate, then cast it back to its real form
18:07:43 <ehird> yeah, see, that's less convenient than f(x,y)
18:08:11 <mycroftiv> i almost could see going the other way in a language
18:08:20 <ehird> oh, and take this
18:08:22 <ehird> SPAWN(send(workers[x][y], calc_pixel(x, y)));
18:08:29 <ehird> try that with your dumb function!
18:10:51 <oerjan> ehird: i don't think the tu- in tuple has anything to do with two. it's a generalization from quintuple, sextuple (possibly more?) to n-tuple
18:11:18 <oerjan> and triple is just the original case for 3
18:11:51 <ehird> eh, alrighht
18:11:55 <ehird> *alright
18:12:02 <ehird> tuple, triple, quadruple always seemed reasonable to me
18:12:11 <oerjan> i think it's formed in latin like quintus (5th) + -plex
18:12:48 <ehird> writing this mandelbrot is fun
18:20:12 <AnMaster> <mycroftiv> you make your struct with as many vars as you want to pass, malloc it, fill it up, cast it to void, send it to your proccreate, then cast it back to its real form <-- not allocate it on the stack? XD
18:20:33 <AnMaster> ehird, so make a varargs wrapper for spawn
18:20:33 <ehird> That would cause a wasteful copy.
18:20:37 <AnMaster> with LOTS of macro magic
18:20:47 <ehird> OTOH, overhead(copy) < overhead(malloc).
18:21:00 <ehird> AnMaster: #define SPAWN(x) ({ void _spawned_proc(void) { (x); }; spawn_proc(_spawned_proc); })
18:21:02 <ehird> Way ahead of you.
18:21:22 <AnMaster> ehird, is that legal C?
18:21:27 <AnMaster> {} inside a () I mean
18:21:29 <ehird> It's legal GNU C .
18:21:34 <ehird> It's a statement expression.
18:21:37 <ehird> s/C \./C./
18:21:39 <AnMaster> ehird, oh I never used those
18:21:42 <AnMaster> forgot how they work
18:21:51 <ehird> ({ a; b }) is like do { a; b } while (0), except it's usable as an expression.
18:21:55 <ehird> The return value is the last statement.
18:22:11 <ehird> ({ ... }) also introduces a new variable scope, I believe.
18:22:23 <ehird> Which is why I used it: to avoid _spawned_proc name-clashing with a later use of SPAWN.
18:22:28 <AnMaster> ehird, since I do intend to be reasonably portable I used the extensions that could easily be optional (__attribute__ for error checking mostly) and avoided the other stuff
18:22:48 <ehird> What program are you writing? And will you use my implementation of Plan 9's threading model if I write it? :P
18:22:51 <AnMaster> ehird, wait, does that nest a function inside another?
18:23:03 <ehird> Yes...
18:23:05 <AnMaster> ehird, I meant in general
18:23:07 <ehird> GNU C lets you do that, too.
18:23:09 <AnMaster> not a specific program
18:23:15 <AnMaster> ehird, it breaks badly iirc
18:23:21 <ehird> No. It doesn't. It's a feature.
18:23:30 <AnMaster> ehird, with a non-executable stack it does iirc
18:23:33 <ehird> http://gcc.gnu.org/onlinedocs/gcc/Nested-Functions.html
18:24:00 <AnMaster> ehird, it uses a trampoline and what not
18:24:06 <ehird> Yes. http://gcc.gnu.org/onlinedocs/gccint/Trampolines.html
18:24:13 <ehird> "normally resides on the stack"
18:24:15 <ehird> Keyword normaally.
18:24:18 <ehird> *normally
18:24:24 <AnMaster> ah they added support for it to be elsewhere?
18:24:33 <ehird> dunno
18:24:43 <ehird> The operating system may also require the stack to be made executable before calling the trampoline. To implement this requirement, define the following macro.
18:24:43 <ehird> — Macro: ENABLE_EXECUTE_STACK
18:24:44 <ehird> Define this macro if certain operations must be performed before executing code located on the stack. The macro should expand to a series of C file-scope constructs (e.g. functions) and provide a unique entry point named __enable_execute_stack. The target is responsible for emitting calls to the entry point in the code, for example from the TARGET_TRAMPOLINE_INIT hook.
18:24:45 <ehird> Tada.
18:27:00 <ehird> "Do not attempt to disprove the four-colour theorem on your flag!"
18:27:02 <ehird> — http://www.otago.ac.nz/philosophy/Staff/JoshParsons/flags/ratings-c.html
18:27:22 <AnMaster> eh
18:27:38 <AnMaster> ehird, issues with executable stack exists. There are a few
18:27:42 <AnMaster> quite a few
18:27:48 <ehird> Nobody uses OpenBSD.
18:27:52 <ehird> :P
18:28:07 <AnMaster> ehird, executable stack makes baby Bruce Schneier cry
18:28:08 <AnMaster> or something
18:28:15 <AnMaster> horrible badly mangled meme
18:29:18 <AnMaster> ehird, also I do see uses for executable stack. Just that I think it makes more sense to put it elsewhere. Somewhere away from those char buf[MAXBUF]; and such
18:32:07 <ehird> Common Lisp's type system is weird.
18:33:28 -!- soupdragon has quit ("Leaving").
18:34:20 <ehird> The symbol (atom, if you're not familiar with the terminology) T is a symbol. It is also a boolean, meaning "true". Every value in Common Lisp is of the type T — not a different thing to the symbol T sharing the same name, but an actual symbol being used as a type. It is the superclass, so to speak, of every other type.
18:34:23 -!- Sgeo has joined.
18:35:04 <ehird> NIL is: a symbol; a list (the terminator of a list, to be precise); a null.
18:35:24 <ehird> However, NIL is not of type NIL.
18:35:32 <AnMaster> ehird, what type is it
18:35:41 <ehird> A symbol; a list (the terminator of a list, to be precise); a null.
18:35:55 <ehird> (type-of nil) is NULL, so null is its "main" type.
18:35:58 <AnMaster> ehird, as for it being a list and a null, makes as much sense as 0 being 0 and NULL in C (sure it might have another value)
18:36:21 <ehird> But it's strange how T is a type as well as a value, and they're the same thing.
18:36:32 <AnMaster> ehird, T?
18:36:32 <ehird> And everything else is of type T, too.
18:36:38 <AnMaster> oh right not a T
18:36:39 <ehird> [18:33] ehird: The symbol (atom, if you're not familiar with the terminology) T is a symbol. It is also a boolean, meaning "true". Every value in Common Lisp is of the type T — not a different thing to the symbol T sharing the same name, but an actual symbol being used as a type. It is the superclass, so to speak, of every other type.
18:36:39 <AnMaster> top
18:36:48 <ehird> That was TWO LINES above "NIL is:".
18:36:50 <ehird> Sheesh.
18:36:54 <AnMaster> ehird, I just couldn
18:37:01 <AnMaster> couldn't* see at this distance
18:37:08 <ehird> ...what?
18:37:08 <AnMaster> I'm holding a boot in front of me
18:37:11 <AnMaster> and multi tasking
18:37:21 * AnMaster is both chatting on irc and writing a report
18:37:46 <AnMaster> ehird, and the monitor with irc is pushed back, to make room for laptop in front
18:37:57 <AnMaster> long live synergy
18:38:23 <AnMaster> ehird, I need a bit of help with an English term
18:38:48 <AnMaster> ehird, what do you call it when a DB becomes inconsistent, Not as in corrupted db file but as in "oops, forgot the foreign key"
18:39:00 <AnMaster> I know the Swedish word for it, but I can't find the English term
18:39:03 <AnMaster> need it for the report
18:39:29 <ehird> Um, inconsistent?
18:39:30 <ehird> :P
18:39:43 <AnMaster> ehird, doesn't that refer to a database file sort of level
18:39:54 <Deewiant> What's the Swedish word
18:39:55 <ehird> I'm not a relational DB person, sorry.
18:40:00 <ehird> I try and avoid them wherever possible.
18:40:32 <AnMaster> Deewiant, meh now it slipped my mind X|
18:41:12 <AnMaster> brott mot databasintegritet. not quite...
18:43:55 * AnMaster decides to formulate it another way
18:44:03 <AnMaster> err that is a Swedishism probably
18:44:04 <ehird> asdfgjkl;/
18:44:51 <Deewiant> arsnteoi
18:45:17 <ehird> Arse no teoi.
18:46:07 <ehird> Duck legged.
18:51:42 <oerjan> must be irish, i take
18:53:15 -!- FireyFly has joined.
18:55:53 -!- FireyFly has changed nick to FireFly.
19:48:23 <AnMaster> hm what was that about?
19:48:57 <oerjan> heck if i know
19:49:14 <AnMaster> heh
19:52:47 -!- sebbu2 has joined.
19:59:02 -!- sebbu has quit (Read error: 60 (Operation timed out)).
20:06:38 -!- jpc has joined.
20:12:47 <AnMaster> so why does my konsole window say "xterm" in the title bar...
20:12:51 <AnMaster> that's very strange
20:12:55 <AnMaster> it didn't a moment ago
20:13:23 <oerjan> it's been taken over by daleks
20:13:29 <oerjan> i suggest running
20:17:19 -!- poiuy_qwert has quit ("Leaving").
20:20:57 -!- Warriphone has quit (Read error: 110 (Connection timed out)).
20:26:00 <AnMaster> oerjan, ... I never seen Dr Who, so while I know what it references I don't know why
20:26:05 <AnMaster> why* it is funny
20:26:26 * oerjan barely knows himself
20:26:37 <oerjan> but hint: EX-TERM-IN-ATE
20:26:46 -!- BeholdMyGlory has quit (Read error: 104 (Connection reset by peer)).
20:26:56 -!- augur has joined.
20:27:05 <augur> hey
20:28:15 <oerjan> hey in the hay
20:37:30 <ehird> oerjan: xterm-inate xD
20:37:55 <pikhq> AnMaster: Watch Doctor Who.
20:37:55 * ehird completes the final piece minus one of his org-mode blogging horrific hack^W^Wsystem
20:37:58 <pikhq> It is imperative.
20:38:07 <ehird> No, it's functional!
20:38:09 <ehird> And logical.
20:39:24 <pikhq> ehird: Shush you.
20:40:03 <oerjan> categorically so
20:40:28 <ehird> who would have guessed that an outliner could export to html with syntax highlighting of any language, embedded latex, and rendered diagrams?
20:40:28 <ehird> anyone who knew that it was an emacs mode, that's who.
20:41:56 <pikhq> Emacs: it does everything.
20:43:11 <ehird> say, there's an elisp thingy that implements the common xml-rpc blogging api, isn't there?
20:43:21 <ehird> i could plug that into this and get a complete in-emacs blogging system XD
20:54:30 -!- BeholdMyGlory has joined.
21:02:31 <ehird> pikhq:
21:02:31 <ehird> #+begin_src literate-haskell
21:02:32 <ehird> > main :: IO ()
21:02:32 <ehird> > main = putStrLn "Hello, world!"
21:02:32 <ehird> #+end_src
21:02:32 <ehird> This actually syntax highlights when exported to HTML or LaTeX, and it works for ANY language Emacs can highlight.
21:02:48 <ehird> org-mode is sweeeeeet.
21:04:03 <pikhq> ehird: That's beautiful.
21:14:32 <Deewiant> And what kind of HTML does it generate?
21:15:02 <oerjan> html of DOOM!
21:15:38 <ehird> Deewiant: Define "what kind".
21:16:00 <Deewiant> How does it implement the syntax highlighting
21:16:31 <ehird> Either <span>s with color:s, or you can get it to generate a big ol' hunk of CSS for every syntax possibility; that's 12k, but you can use a css compression tool to get it down to 3k.
21:17:32 <Deewiant> It can't generate a hunk only for the ones used? (Assuming that would save practically any space)
21:17:49 <ehird> Deewiant: I lied; that stylesheet is just some org-mode stylesheet.
21:17:55 <ehird> It seems that yes, it does only generate the ones used.
21:18:16 <Deewiant> Alright, handy.
21:18:59 <ehird> No, wait.
21:19:08 <ehird> I tell another lie: that CSS does include the syntax highlighting.
21:19:22 <ehird> It seems that it can highlight org-mode code, and dired output. XD
21:19:46 <Deewiant> >_<
21:20:10 <ehird> Hey, it does work with *every font-lock mode in Emacs*.
21:21:14 <ehird> Personally, I'm just going to leave it generating inline colours.
21:21:30 <ehird> It's not like Blogger's added markup isn't spewtastic anyway.
21:22:01 <AnMaster> <ehird> i could plug that into this and get a complete in-emacs blogging system XD <-- pretty sure I read about that somewhere already
21:22:29 <ehird> Yes, people use org-mode for blogging and also the XML-RPC stuff.
21:22:38 <ehird> But I don't know if they're combined so that I could do M-x publish-org-blog-post.
21:23:37 <AnMaster> ehird, that was what I meant I read about iirc
21:23:41 <AnMaster> can't find it again though
21:24:42 <AnMaster> <ehird> It's not like Blogger's added markup isn't spewtastic anyway. <-- who is "Blogger" with a capital B ;P
21:24:51 <ehird> http://www.blogger.com/
21:25:15 <ehird> Now-Google's-ex-Pyra's ye internette cornerstone blogging system.
21:25:30 <AnMaster> oh right. I have it mentally filed as "the orange/white squiggle icon blog site"
21:25:46 <ehird> That squiggle is also known as "B".
21:25:56 <AnMaster> ehird, very stylised one
21:26:32 <AnMaster> ehird, I thought it was a child drawing of a boat
21:26:38 <AnMaster> it looks closer to that IMO
21:27:14 <oerjan> blog, blog, blog your, er
21:27:24 <ehird> Sweet, org-mode lets me use TeX style ^ and _ in plain html.
21:27:38 <ehird> That's nice for when the actual LaTeX embedding is too much.
21:27:46 <AnMaster> ehird, "blog, blog blog your blog!
21:27:48 <AnMaster> err
21:27:49 <AnMaster> oerjan, ^
21:27:57 <AnMaster> s/"//
21:28:23 <oerjan> feels inelegant. spammy, even.
21:28:39 <ehird> blog, blog, blog your spam
21:28:47 <ehird> gently down the tubes
21:28:54 <fizzie> I had to spend a while looking for how to disable that feature in org-mode, because it kept messing up the _-rich filenames in html export.
21:28:54 <ehird> marry me marry me marry me marry me
21:28:56 <ehird> russian brides for cheap
21:29:16 <ehird> fizzie: ^:{} or ^:nil
21:29:19 <AnMaster> "Both beg and end are both pointer expressions." <-- GCC manual. Approved by The redundantly Redundant Committee for Redundancy
21:29:22 <ehird> former for just allowing foo_{bar} etc
21:30:10 <ehird> pri: turn on/off priority cookies
21:30:10 <ehird> What.
21:30:18 <ehird> omg org-mode does footnotes
21:30:53 <ehird> F_{2^{n-1}}[1]
21:30:55 <ehird> my life is complete
21:30:56 <fizzie> ehird: Yes, I know that *now*.
21:30:59 <AnMaster> ehird, at the end of the document? Rather than the end of the page
21:31:04 <AnMaster> and aren't those called end notes
21:31:11 <ehird> AnMaster: They're footnotes.
21:31:20 <AnMaster> ehird, oh?
21:31:33 <AnMaster> ehird, also that latex. Does it render equations to unicode, or to images?
21:31:40 <ehird> Images.
21:31:44 <AnMaster> meh
21:31:44 <ehird> It's real LaTeX.
21:31:52 <AnMaster> well good
21:31:55 <fizzie> Apparently I did "#+OPTIONS: num:nil ^:nil" but now I don't remember what num:nil does.
21:32:07 <AnMaster> ehird, how is wikipedia's latex implemented?
21:32:10 <ehird> If you want Unicode you can just do latex:nil and use jsMath instead.
21:32:25 <ehird> AnMaster: Images, or a very basic →html thingy that only works for a very small subset.
21:32:30 <ehird> Or →mathml which does I don't know.
21:32:38 <ehird> fizzie: Disables TOC numbers in headings
21:32:55 <fizzie> Ah, right.
21:33:08 <AnMaster> ehird, does it only do latex equations, or the full thing
21:33:19 <ehird> "In particular, note that you can place commonly-used (export) options in a separate file which can be included using #+SETUPFILE."
21:33:20 <ehird> Sweeeeeeet
21:33:25 <ehird> AnMaster: Equations.
21:33:30 <AnMaster> ehird, meh
21:33:38 <pikhq> ehird: I've never gotten the ->mathml thing to work.
21:33:47 <AnMaster> ehird, I was looking forward to pstricks in html :(
21:36:01 <ehird> #+OPTIONS: toc:nil num:nil author:nil creator:nil timestamp:nil
21:36:14 <ehird> ↑ aka "No, I don't want any of that crap" mode
21:36:28 <fizzie> Are you also going to use MobileOrg on your iDevice?
21:36:41 <ehird> That would be impractical for writing blog posts on!
21:36:57 <ehird> And I don't need todo lists; I never forget to do things.
21:37:11 <ehird> Or at least, I never remember that I've forgotten to do something.
21:37:18 <ehird> Which, if you don't really have any worldly responsibilities, is the same thing.
21:38:21 <oerjan> that sounds reassuring :D
21:40:21 <ehird> #(...) is a vector in elisp right?
21:40:25 <ehird> How do you access the first elem?
21:41:54 <ehird> Ugh, one part of this whole ordeal is going to be a pain.
21:42:11 <ehird> Using mmm-mode so that stuff inside #+begin_src LANG ... #+end_src is displayed with that mode.
21:42:30 <ehird> That way, I can edit blog posts as Literate Haskell with all the haskell-mode conveniences while still using org-mode outside.
21:52:10 <augur> ehird, how did your semantics discussion earlier go?
21:52:25 <ehird> which discussion in particular
21:52:31 <augur> the one with soupdragon
21:53:11 <augur> the one i was participating in before having to get on my flight
21:53:36 <ehird> define "go"; I pretty much told him that I thought he should handle things like AND (LOVES JOHN) (LOVES MARY) by the rule: if there is a function that, given enough arguments, produces a value of type T, and this function is in a place where we need a type T, make the whole expression a function with its arguments
21:54:10 <ehird> that produces (\x -> (\y -> AND (LOVES JOHN x) (LOVES MARY y))) but I guess with an amendment "if there are two such expressions and they take the same type, combine their arguments" it would work
21:54:32 <augur> so you mean
21:54:49 <augur> given some functions f, g :: a -> Bool
21:55:05 <augur> you can combine them to get \x -> f(x) & g(x)
21:55:10 <ehird> no
21:55:15 <ehird> what i mean is
21:55:19 <augur> no? but you said combine their arguments D:
21:56:11 <ehird> f :: ...->T->...
21:56:11 <ehird> rewrite (f ...(expr::a->b->...->T)...)
21:56:11 <ehird> to (\a,b,... -> f ...(expr's function body)...)
21:56:38 <ehird> if there are multiple such occurrences of this in the same expression, take all the argument types they share and combine them into a single argument
21:56:54 <augur> ok
21:57:03 <ehird> so AND (LOVES JOHN) (LOVES MARY) becomes (\x -> AND (LOVES JOHN x) (LOVES MARY x)), not (\x -> (\y -> AND (LOVES JOHN x) (LOVES MARY y)))
21:57:11 <oerjan> john loves mary and mary john </ducks>
21:57:21 <ehird> john loves marrying mary
21:57:30 <augur> well it sounds like you've discovered cojunctivism to some degree
21:57:31 <augur> :)
21:58:44 <ehird> http://emacspeak.googlecode.com/svn/trunk/lisp/g-client/gblogger.el
21:58:44 <ehird> sssso ssssweet
21:58:52 <ehird> i'll be blahhging the intertubes in no time w/ this
21:59:02 <oerjan> blogs like diabetes
21:59:12 <ehird> diabeetus blahhging
21:59:58 <ehird> i'm personally just amazed i managed to coerce blogger into outputting something...nice
22:00:13 <ehird> i was not of the awareness of the possibility of this.
22:01:42 <augur> ehird, i was thinking about the graphics engine thing
22:01:42 <ehird> hey i just realised http://emacspeak.googlecode.com/svn/trunk/lisp/g-client/gblogger.el was written by the blind guy who makes emacsspeak :)
22:01:49 <ehird> *emacspeak
22:02:19 <augur> and im really interested in this constraint stuff, im just not sure if i understand precisely what it would mean
22:03:52 <ehird> augur: well it's basically like prolog
22:03:57 <ehird> you give prolog a bunch of constraints on values
22:04:00 <ehird> and it outputs all the possibilities
22:04:06 <augur> sure sure
22:04:08 <ehird> it's the same for a layout engine, where the values are things like
22:04:10 <ehird> width of foo
22:04:12 <ehird> height of foo
22:04:16 <ehird> coords of bottom of foo
22:04:20 <ehird> and the engine is less... well, TC
22:04:30 <ehird> plus, it picks one single possibility via some metric for picking the best layout
22:04:34 <ehird> tightest packed, or whatever
22:04:42 <augur> im just trying to imagine how the syntax then expresses these constraints
22:04:58 <ehird> well it's just an abstract data structure
22:05:01 <ehird> List Constraint
22:05:24 <augur> i mean in the language being designed
22:05:47 <augur> how is, say, "a square 50 px on a size" expressed
22:07:56 <augur> less say, filled with red
22:08:06 <AnMaster> night
22:08:28 <augur> night
22:11:00 <augur> ehird?
22:11:15 <ehird> augur: i meant in the language being designed too
22:11:23 <ehird> the constraint engine is an internal thing, mostly it's exposed via user defined functions
22:11:29 <ehird> like, you know, square(). :P
22:13:08 <augur> ok, and what does the constraint for such a square look like
22:13:55 <ehird> what square
22:14:08 <augur> the square 50px on a side with red fill!
22:14:36 <ehird> define on a side
22:14:37 <ehird> any side?
22:15:36 <augur> i just want to know what the constraint looks like, in some sense
22:16:30 <augur> Square [Fill Red] 50px
22:16:31 <augur> ?
22:17:35 <augur> for ... data Shape = Square [Attribute] Size | ...; data Attribute = Fill Color | Stroke Color | ...
22:17:35 <augur> ?
22:22:24 <ehird> you're thinking about this all wrong.
22:22:32 <augur> ok
22:22:35 <augur> then explain
22:22:36 <ehird> constraints, not objects
22:22:37 <augur> like i asked.
22:22:38 <ehird> so:
22:22:43 <augur> yes, but what DEFINES the constraint
22:22:57 <ehird> your question does not make sense.
22:23:01 <augur> ehird
22:23:08 <augur> the constraint-solver has to look at these constraints, right?
22:23:12 <ehird> Yes.
22:23:19 <augur> so what does it see when it looks at them
22:23:41 <augur> i mean, is square(50px) the constraint itself
22:23:50 <augur> or is that just some magic function that constructs the constraint in the background
22:23:52 <ehird> The constraint data structure is something like this:
22:23:56 -!- anmaster_l has quit (Read error: 110 (Connection timed out)).
22:24:24 <ehird> { x = Square, side x == 50px, (dunno about the fill stuff) }
22:24:39 <ehird> Square itself desugars to more constraints
22:24:45 <augur> ok
22:24:49 <ehird> brb
22:24:51 <ehird> my machine is overheating
22:25:01 <ehird> or, wait, no
22:25:13 <augur> ok
22:25:17 <augur> i see what you're going for
22:25:20 <ehird> i can't tell if it is
22:25:32 -!- ehird has quit.
22:27:18 <SimonRC> looks like it was
22:27:29 <augur> maybe he restarted out of caution
22:29:42 -!- ehird has joined.
22:29:49 <augur> ehird! hello.
22:29:49 <ehird> indeed; caution
22:29:57 <ehird> my fans just spun up to full, you see
22:29:59 <ehird> they occasionally do that
22:30:05 <ehird> worrying but seemingly just a glitch
22:30:11 <ehird> but it's noisy and i don't want to take any chances
22:30:17 <augur> do you have iState menus?
22:30:21 <augur> iStat*
22:30:30 <SimonRC> does top give you anything useful?
22:30:34 <ehird> i'm a minimalist. things like that are mere distractions to me
22:30:37 <ehird> SimonRC: too late, i rebooted
22:30:41 <ehird> but activity monitor said cpu was like 1%
22:30:45 <SimonRC> :-S
22:30:47 <ehird> so clearly not cpu load
22:30:50 <ehird> perhaps a heatsink issue
22:30:55 <augur> well, iStat menus has a temp indicator
22:30:58 <ehird> or, as i suspect, a fan control issue
22:31:22 <augur> anyway
22:31:34 <SimonRC> well, my laptop liked to do jet impressions when suspending
22:31:39 <augur> i like the idea, im just not sure if its absolutely necessary, ehird. ill consider it.
22:32:04 <SimonRC> however, last time I suspended it it decided to power off the external USB HD...
22:32:09 <ehird> everyone should preemptively add http://ehird.blogspot.com/ to their feed readers because i am awesome
22:32:32 <SimonRC> which is reasonable except the kernel knows damn well that / is on that HD, so unsuspend kinda didn't happen
22:33:02 <oerjan> that blog will be the new revolution! or possibly, just revolting.
22:33:22 <augur> D:
22:33:46 <augur> ehird: if you start posting interesting things, ill totally link you on my blog
22:33:47 <augur> :X
22:34:12 <ehird> augur: like does type system hackery, programming language and OS musings count as interesting?????
22:34:18 <ehird> or just BORING ASS LINGUISTICS
22:34:25 <augur> ehird, no thats totally interesting
22:34:33 <augur> my blog isnt all linguistics you know
22:34:39 <ehird> ps you should totally dig my minimalist design because it is RAD and i spent five years fighting against blogger to makek it work
22:34:45 <ehird> *make
22:36:03 <augur> http://www.wellnowwhat.net/blog/?p=353 << see? not linguisticy!
22:36:16 <augur> my next series of posts is going to be on this thing we're discussing
22:36:28 <augur> and then one on building a simple prolog-ish engine
22:36:33 <ehird> "I’ve got a need for a product of this sort. Please send me an email because I’d love to talk about it."
22:36:37 <ehird> blog comments are so crappy
22:36:43 <augur> yeah :(
22:36:51 <ehird> "Hey you posted an interesting post about stuff! I NEED YOU TO CODE THIS EMAIL ME"
22:37:22 <augur> i figured i'd leave that one tho because he was sincere. i emailed him and he seemed to be interested in more complex knowledge engines and i said i wasnt familiar with any of them
22:37:50 <ehird> the gblogger functions are oriented around interactive use and this makes me sad
22:37:59 <augur> ?
22:38:07 <ehird> emacs Blogger interface
22:38:27 <augur> wat
22:38:28 <augur> lol
22:38:42 <ehird> i'm trying to wire up org-mode (an outliner/markup/diagram-renderer/LaTeX-embedder/syntax-highlighter/you name it) to gblogger
22:38:57 <ehird> so as to be able to write an org file, run an emacs command, and have it appear on http://ehird.blogspot.com/
22:39:08 <ehird> and thus never have to interact with blogspot's rubbish admin ui!
22:40:33 <augur> ehird, ive decided on some basic functions
22:40:42 <augur> for the graphics engine
22:41:25 <augur> namly, below[left|right|center|just|nothing] ...
22:41:46 <augur> beside[top|middle|bottom|just|nothing] ...
22:42:14 <augur> pad[t r b l | tr bl | trbl] X
22:42:23 <ehird> i don't get your syntax
22:42:40 <augur> brackets enclose options
22:43:01 <ehird> so:
22:43:04 <augur> e.g. below[left] A B means "put B below A, and align them left"
22:43:22 <augur> below ... == below[] ... == below[center] ...
22:43:22 <ehird> group BelowOpt
22:43:23 <ehird> struct Left :: BelowOpt; struct Right :: BelowOpt
22:43:23 <ehird> ...etc...
22:43:23 <ehird> end
22:43:37 <augur> sure, whatever you want
22:43:53 <ehird> below :: [BelowOpt] -> [Drawable] -> Below
22:44:06 <ehird> below[][a,b,c] == below[center][a,b,c] (that [] is a bit ugly tho)
22:44:15 <ehird> (the below[][...] thing)
22:44:24 <augur> well, i dont know what the options syntax should be
22:44:30 <augur> i wanted to avoid {}
22:44:30 * ehird decides to leave the postiing automation for later
22:44:51 <ehird> augur: ah! we can build optional arguments into the language
22:45:00 <augur> ?
22:45:02 <ehird> no need to have actual options like i said, a list of a data structure works for them
22:45:06 <ehird> all we need is optional arguments
22:45:20 <ehird> {} is the punctuation i haven't used yet so sorry but I'm gonna take it :D
22:45:34 <augur> im not sure what you mean
22:45:39 <augur> example of what you have in mind?
22:45:55 <ehird> below :: ({BelowOpt}, List Drawable) -> Below
22:45:58 <ehird> in the definition:
22:46:15 <ehird> below(opts{Center}, things) = ...
22:46:19 <ehird> (Center is the default)
22:46:24 <ehird> usage:
22:46:27 <ehird> wait
22:46:31 <ehird> I wrote that slightly wrong
22:46:37 <augur> below {align => left} [a,b,c]
22:46:38 <ehird> below :: {BelowOpt} -> List Drawable -> Below
22:46:39 <augur> then?
22:46:51 <ehird> below{opts=Center}(things) = ...
22:46:58 <ehird> augur: in the BelowOpt group, have
22:47:06 <ehird> struct Align :: Direction -> BelowOpt
22:47:08 <ehird> usage:
22:47:16 <augur> def below(ops = { :align => :center }, items)
22:47:17 <ehird> below{Align Left}[a,b,c]
22:47:25 <augur> ok
22:47:30 <ehird> can you have multiple opts in this case
22:47:31 <ehird> or just one
22:47:36 <augur> multiple
22:47:50 <augur> for instance, you'd have another option space
22:48:01 <augur> which specifies the separation between the items when belowing them
22:48:05 <ehird> below :: {[BelowOpt]} -> List Drawable -> Below
22:48:06 <ehird> below{opts=[Align Center]}(things) = ...
22:48:06 <ehird> usage:
22:48:12 <ehird> below{Align Left, Poop Blah}[a,b,c]
22:48:29 <augur> soooo latex :(
22:48:30 <ehird> basically, {...} means optional argument; if you omit it in a call, it just assumes the default value
22:48:36 <ehird> and {a,b} desugars to {[a,b]}
22:48:38 <ehird> for convenient options
22:48:52 <augur> \below{align=left,space=5px}{a}{b}{c}
22:48:53 <augur> D:
22:49:25 <ehird> i would argue that latex has pretty nice syntax :P
22:49:35 <augur> i dont like it
22:49:41 <augur> {} should never enclose args, in my opinion
22:49:50 <ehird> well it's not enclosing anything else in my syntax
22:49:58 <augur> whatever :P
22:50:11 <augur> i prever a haskellish syntax
22:50:23 -!- jpc has quit ("I will do freaking anything for a new router.").
22:50:56 -!- jpc has joined.
22:50:58 <pikhq> What ehird's been discussing is essentially Haskell + default arguments.
22:51:07 <pikhq> (... Well, because he's not mentioned the other divergences from Haskell)
22:51:14 <augur> but haskell doesnt allow arbitrary args
22:51:20 <augur> i really want it to just look like
22:51:25 <augur> below a b c
22:51:31 <pikhq> ... Whereas what he's discussing does.
22:52:01 <augur> i can sort of accept the list tho. thats fine.
22:52:13 <ehird> augur: well we could do the obvious thing
22:52:15 <augur> what is {} denoting for you, ehird?
22:52:16 <ehird> and introduce map syntax
22:52:22 <ehird> augur: {} = optional argument
22:52:23 <augur> ??
22:52:23 <ehird> anyway
22:52:26 <pikhq> augur: So, is that passing default arguments to the function or arguments to the result of the function?
22:52:27 <augur> oh ok
22:52:28 <ehird> map syntax would be just
22:52:32 <ehird> { key: val, ... }
22:52:33 <augur> wait
22:52:40 <ehird> but we still use data structures
22:52:52 <ehird> below { Align: Left } [a,b,c]
22:53:29 <augur> pikhq: f ... is sugar for f[] ..., and f defaults on its respective options
22:53:40 <augur> ok so {} is a hash then
22:53:47 <pikhq> foo :: {a} -> b -> (a->b) -> (a->c)
22:53:48 <ehird> but that has issues
22:53:54 <pikhq> Hey, look, it's ambiguity!
22:53:54 <ehird> it means you can do { Align: 3 }
22:54:03 <ehird> pikhq: 'snot
22:54:16 <ehird> foo aB :: (a->b)->(a->c)
22:54:17 <pikhq> ehird: ... As you do it, yes.
22:54:23 <ehird> foo anA :: b->(a->b)->(a->c)
22:54:35 <augur> beside[left] a b c looks best to me
22:54:49 <ehird> augur: i don't think this needs to be a heavyweight language, so just go syntax made
22:54:50 <ehird> *mad
22:54:54 <pikhq> ehird: Except that the function is polymorphic.
22:54:54 <ehird> make it convenient
22:55:00 <augur> anyway
22:55:06 <ehird> pikhq: yes, and? you know by the time you get a function argument
22:55:14 <ehird> besides, wait
22:55:20 <ehird> you specify optional args with {}
22:55:21 <augur> the other function i was considering was over
22:55:22 <augur> wherein
22:55:26 <ehird> foo x is always using the default
22:55:30 <ehird> foo {x} is always overriding it
22:55:31 <augur> if A is a triangle, and B is a circle
22:55:32 <pikhq> ehird: That's what disambiguates it.
22:55:59 <augur> over A B is the image with the circle positioned above the triangle, both conconcentric
22:56:20 <ehird> http://ehird.blogspot.com/2010/01/hello-world.html
22:56:20 <ehird> iiiiiiiiii posted this with org-mode
22:56:28 <augur> and you could have params that specify which points are con-ed
22:56:34 <augur> e.g. over A B == over[center] A B
22:56:43 <ehird> todo: make one css tweak, that funky mmm-mode thing, automate the actual posting
22:56:44 <augur> but you could do over[topleft] A B
22:56:52 <augur> which is where A.topleft == B.topleft
22:57:05 <augur> or you could do over[x y] A B
22:57:12 <pikhq> foo bar -- Has two valid types. b->(a->b)->(a->c) and (a->b)->(a->c). In the first, a is the same type as bar, and in the second, b is the same type as bar.
22:57:18 <augur> which is equivalent to over[bottomleft x y]
22:57:39 <pikhq> (if you don't do the "wrap default args in brackets" bit)
22:57:55 <augur> where B.bottomleft = A.bottomleft + <x,y>
22:59:55 <augur> as it turns out, over[topleft A.width 0] A B produces the same image as beside A B
23:00:13 <augur> which suggests that over should be the function that beside and below are defined in terms of
23:03:37 <ehird> http://ehird.blogspot.com/2010/01/hello-world.html
23:03:38 <ehird> someone leave a message of complete admiration for me kthxbai
23:03:49 <augur> doing this in terms of actual objects, tho, ehird, seems to be relatively simple
23:03:58 <ehird> pikhq: have you used literate-haskell-mode?
23:04:17 <ehird> augur: To hell with objects! Long live data structures!
23:04:24 <augur> you has error
23:04:31 <pikhq> ehird: No, should I?
23:04:32 <augur> ehird: well, data structures, whatever. same thing to me.
23:04:39 <augur> but whats cool is
23:04:51 <pikhq> augur: They're quite different in concept.
23:04:52 <Sgeo> http://www.youtube.com/watch?v=YiYBRgsxQUc
23:04:53 <ehird> pikhq: nope, just wondering how to have mah bird tracks auto-added
23:05:00 <augur> if A is some data structure consisting of paths, basically
23:05:14 <augur> what you'd have is two parts to it
23:05:17 <augur> it'd be like
23:05:26 <augur> Shape Size Path
23:05:36 <augur> where Path has points in the range [0,1]
23:06:02 <pikhq> An object is a thing that possesses members and methods. These can be public and private. An object can inherit its methods and members from another object, and override them.
23:06:16 <pikhq> A data structure is a thing that contains things.
23:06:35 <augur> scale p (Shape (w,h) s) = Shape (p*w, p*h) s
23:07:07 <pikhq> That an object can be used for data structures is merely an interesting property.
23:07:27 <augur> scale (wp,hp) (Shape (w,h) s) = Shape (wp*w, hp*h) s
23:08:05 <pikhq> To ram the point in further: compare C structs and C++ classes.
23:08:13 <augur> actually, it'd be more, data Shape Shape AffMatrix Path
23:08:18 <augur> data Shape = ...
23:10:53 <augur> and then when you draw this, all you do is apply the affine transform matrix to the path points to calculate the actual look of the shape, and stroke/fill
23:12:04 <ehird> http://ehird.blogspot.com/2010/01/hello-world.html
23:12:04 <ehird> BEHOLD THE SYNTACTICALLY HIGHLIGHTED CODE
23:12:29 <augur> ehird, i tried to comment as anonymous but it gave me an error
23:12:35 <ehird> What error?
23:12:53 <augur> /!\ Your request could not be processed. Please try again.
23:12:57 <ehird> Beats me.
23:13:16 <ehird> It supports Google accounts and OpenIDs, if those are okay for you.
23:14:15 <ehird> Perhaps name/URL will work?
23:14:20 <ehird> augur: Also, perhaps some sort of spam filter got you.
23:16:48 <augur> o ok
23:16:51 <augur> maybe it was too short
23:16:57 <augur> man
23:17:10 <augur> "Posted by Anonymous on January 05, 2010."
23:17:12 <augur> 2010
23:17:15 <augur> its 2010
23:17:17 <augur> its fucking 2010
23:17:26 <ehird> yes
23:17:30 <augur> shouldnt we be going to jupiter? :|
23:17:39 <pikhq> Why yes, it's been 2010 for 5 days now.
23:17:42 <ehird> i think we make contact this year or something
23:17:46 <ehird> i saw it in a documenntary
23:17:49 <ehird> *documentary
23:17:53 <ehird> those movies are all documentaries right
23:18:09 <augur> yes
23:18:11 <augur> ofcourse
23:18:13 <oerjan> yes, according to many-world's interpretation
23:18:21 <ehird> oerjan: <3
23:18:24 <Sgeo> Well, at least we don't have that alliance with the Aschen trying to sterilize Earth
23:20:05 <augur> oh man sgeo true
23:20:09 <augur> fucking aschen
23:20:30 <augur> all we wanna do is explore the galaxy and fuck green chicks/dudes
23:20:35 <augur> is that such a crime?
23:20:49 <oerjan> i hear blue is all the rage these days
23:20:54 <pikhq> Only if you're not Kirk.
23:21:07 <augur> pikhq: but we all want to be kirk so its cool right
23:21:12 <pikhq> Not-Kirks have to content themselves with other colors.
23:21:33 <augur> lame
23:21:45 <pikhq> augur: That's why the punishment for the crime is exploring the galaxy and fucking green chicks.
23:22:07 <augur> wut
23:22:48 <ehird> so the punishment is, essentially, that you cannot be gay?
23:23:03 <augur> oh i see what he means
23:23:09 <pikhq> Yes.
23:23:09 <augur> the punishment is fucking people you dont want to fuck
23:23:10 <augur> gotcha
23:23:13 <pikhq> Cruelest thing ever.
23:23:22 <ehird> EVEN FOR STRAIGHT PEOPLE
23:23:32 <ehird> Cue T-Rex: "I feel like a possibility has been taken away from me that I never knew I had!"
23:23:36 <ehird> "This is OPPRESSION!!"
23:23:44 <pikhq> ehird: Nobody's straight. Don't you ever read ship fanfiction?
23:23:44 <pikhq> :P
23:24:00 <augur> ehird, tell me if this makes sense
23:25:34 <augur> if you rotate a shape by some angle, after rotating, the rotated shape is fit so that its bounding rect is always the unit square, and the resulting things size is smaller than the initial things size
23:25:39 * ehird ponders on a topic for his first opst
23:25:40 <augur> or larger
23:25:41 <ehird> *post
23:25:42 <augur> whichever it turns out to be
23:26:46 <augur> e.g. if you rotate a 1x1 square you get back a 1x1 diamond, with its points at the <0,0.5>, <0.5,0>, <1,0.5>, <0.5,1>
23:27:32 <augur> and its size reduced from, lets say, 10x10 as a square, to 5root2 x 5root2 as a diamond
23:27:37 <augur> er
23:27:43 -!- dbc has quit (Read error: 60 (Operation timed out)).
23:27:43 <augur> sorry, 10root2 x 10root2
23:28:14 <augur> (rotating by 45* obviously)
23:29:31 <ehird> My first post will be "Computing fib(3!) in Haskell's type system", which is really about type families being cool and such.
23:29:33 <augur> does that make sense? or should shapes exist in a full euclidean plane? because that i think would ruin the use of things like beside()
23:29:53 <augur> elliot! types are not for computing! :|
23:30:00 <augur> you're a bad bad boy
23:31:07 <SimonRC> stop hangin' 'round with that dons kid; he's neva' up to no good!
23:44:12 <pikhq> ehird: Mmm, undecidable instances...
23:45:53 -!- dbc has joined.
23:58:34 <ehird> http://ehird.blogspot.com/2010/01/computing-fib3-in-haskells-type-system.html
23:58:36 <ehird> First post!
23:59:59 <pikhq> ehird: BTW, GHC Haskell has a TC type system.
2010-01-06
00:00:05 <pikhq> Someone did type-level Brainfuck.
00:00:15 <ehird> pikhq: oh, right, I forggot
00:00:16 <ehird> forgot
00:00:20 <ehird> ok, i'll make a quick amendment
00:00:28 <ehird> hmm, it's just turning over to midnight now
00:00:35 <uorygl> You're four seconds late.
00:00:49 <ehird> wonder what date I should put on the post
00:01:56 <uorygl> Hmm, my clocks are about 400 milliseconds apart. I wonder which one is off.
00:02:14 -!- Pthing has quit (Remote closed the connection).
00:02:26 <uorygl> I'm guessing it's the local one.
00:04:16 <ehird> Okay; post revised. http://ehird.blogspot.com/2010/01/computing-fib3-in-haskells-type-system.html
00:07:07 -!- pikhq has quit (Read error: 54 (Connection reset by peer)).
00:08:47 * Sgeo wonders if Small Worlds missions are TC
00:09:24 <SimonRC> size limit?
00:09:54 -!- pikhq has joined.
00:10:50 <Sgeo> SimonRC, well, not counting any size limits, I guess
00:11:03 <pikhq> ehird: Nice.
00:11:15 <Sgeo> Although if it's not possible to have an arbitrary amount of memory, that shouldn't count as close enough to TC, I guess
00:12:09 <ehird> by that metric c isn't tc
00:13:22 <SimonRC> Sgeo: I just chucked that into the discussion, the same way one says "but what about the angular momentum" in a planetary embyology discussion ;-)
00:13:39 <SimonRC> ehird: ooh, dunno
00:13:46 <ehird> c isn't tc
00:13:52 <uorygl> I vaguely remember the existence of a counterargument to the argument that C isn't Turing-complete.
00:13:53 <ehird> sizeof void* must be finite
00:14:01 <ehird> uorygl: C + file functions is TC
00:14:04 <ehird> but pure C is not
00:14:14 <uorygl> That's not a counterargument to the sizeof argument.
00:14:28 <uorygl> What units are sizeofs in?
00:14:37 <SimonRC> what if you recompile with larger datatype sizes whenever you run out of space?
00:15:29 <ehird> SimonRC: that is not C.
00:15:42 <ehird> uorygl: sizeof returns size_t iirc
00:15:51 <ehird> and of course sizeof size_t must be finite as well
00:16:55 <SimonRC> ehird: what forbids it?
00:17:05 <Sgeo> The small worlds tutorial wants me to watch a video on small worlds
00:17:09 <ehird> c spec, i'm not going to go reading it minutes before i leave.
00:17:27 <ehird> we've debated this before and camp c-is-not-tc always wins ;)
00:17:38 <Sgeo> It's an ad for Small Worlds
00:17:41 * Sgeo mindboggles
00:18:02 <ehird> SMALL WORLDS SMALL WORLDS SMALL WORLDS ACTIVE WORLDS SECOND LIFE SGEO SGEO SGEO
00:18:02 <ehird> ↑ what i see
00:18:26 <uorygl> Speaking of Finland, there's someone here who knows Finnish, right?
00:18:48 <ehird> Um, yes, all the Finns.
00:18:58 <ehird> fizzie, Deewiant, Ilari, ineiros, maybe more.
00:19:06 <uorygl> Wow. That's many.
00:19:16 <uorygl> Wikipedia says sizeof returns a number of bytes. I guess that's pretty much a killer.
00:19:41 -!- oerjan has quit ("Good night").
00:19:41 <uorygl> Does the spec say that the width of a pointer has to be constant? :-P
00:19:50 <ehird> Define width.
00:20:08 <SimonRC> uorygl: bytes need not be 8 bits
00:20:13 <uorygl> The thing that sizeof says.
00:20:49 <ehird> I'm going now. Bye.
00:20:52 <uorygl> True, assuming the C spec allows it. So maybe we can just say one byte is infinite.
00:20:55 <uorygl> See you.
00:20:58 <ehird> No, you can't.
00:20:58 <SimonRC> bye
00:21:00 <ehird> I'd explain but →
00:21:07 -!- ehird has quit.
00:21:15 <uorygl> Aww.
00:22:21 <SimonRC> assuming that the implementation says that the effect of integer overflow is undefined...
00:23:00 <SimonRC> I think one could have a C impl that recompiled when programs ran out of space
00:23:33 <SimonRC> oh, but what about overflow from left-shift...
00:23:35 <Sgeo> Ok, Small Worlds is essentially impossible to navigate without buttons getting in the way, and there are no camera controls, except a 2 mode zoom-in/zoom-out button
00:23:55 <SimonRC> if the program runs out of heap space, one resizes the world to give more heap space
00:24:22 <SimonRC> if the program tries to calculate a size_t to allocate or index with that causes integer overflow, resize similarly
00:26:45 <ineiros> uorygl: Need a Finn?
00:27:29 <uorygl> ineiros: yeah! Just go through all of Zerwolf's images on DeviantArt and translate everything. :-P
00:27:39 <uorygl> Here, let me find it.
00:28:30 <uorygl> http://zerwolf.deviantart.com/art/Happy-Independence-Day-145781696
00:28:53 <uorygl> Why are "hyvää" and "päivää" in the form they're in?
00:32:13 <ineiros> It's a partitive. It's used in stuff like "Good morning" (Hyv huomenta) and so on. And there should be no space in "itsenisyyspiv".
00:33:36 <uorygl> I guess that makes enough sense.
00:34:13 <ineiros> Are you studying Finnish?
00:36:20 <uorygl> No, though I would like to learn a Scandinavian language eventually.
00:36:43 <uorygl> I just happened to come across a Finnish artist.
00:40:27 <ineiros> Finnish is not considered to be in the Scandinavian language family.
00:40:39 <uorygl> I didn't know there was a Scandinavian language family.
00:41:49 <uorygl> I meant languages from the ill-defined Scandinavian region.
00:41:51 <pikhq> They're a set of partially mutually intelligible Germanic languages.
00:42:18 <ineiros> Yes, I figured you might have meant that, but there's the ambiguity.
00:43:45 * uorygl nods.
00:43:54 <pikhq> uorygl: Also, regarding constant pointer width: C requires that a char only store naturals, that UCHAR_MAX be the maximum natural that char can store, and that UCHAR_MAX be of type char.
00:44:11 <pikhq> C also requires that all the other types be sized multiples of the size of a char.
00:44:39 <uorygl> How Scandinavian do the Finnish consider themselves?
00:44:52 <pikhq> If it weren't for limits.h, you could have a C with an arbitrary-precision char.
00:45:03 <ineiros> If you want to learn something different, learn Finnish. If not, learn Swedish, but I can warn you that you'll find it rather boring. ;)
00:45:19 <uorygl> How similar are boring and easy?
00:45:20 <pikhq> (and make sizeof everything else be 1)
00:46:35 <pikhq> Finnish is not even Germanic... ;)
00:47:07 <uorygl> Quite true, that.
00:47:21 <ineiros> uorygl: Scandinavia is so ambiguous as a term so I can't really answer that.
00:48:17 * uorygl nods.
00:49:06 <uorygl> Hmm. My university has study abroad opportunities in Norway.
00:49:16 <pikhq> Heck, it's not even Indo-European...
00:49:22 <ineiros> uorygl: Swedish is surprisingly easy (even though my Swedish is extremely rusty, since I don't use it at all).
00:50:33 <ineiros> A somewhat-related video: http://www.youtube.com/watch?v=s-mOy8VUEBk
00:56:16 <uorygl> How easy is Norwegian, then?
01:00:34 <ineiros> It's quite similar to Swedish. Swedes and Norwegians can understand each other. At least to some extent.
01:02:15 * uorygl nods.
01:03:27 <ineiros> Wikipedia: "Some Norwegians also have problems understanding Danish, but according to a recent scientific investigation Norwegians are better at understanding both Danish and Swedish than Danes and Swedes are at understanding Norwegian.[1] Nonetheless, Danish is widely reported to be the most incomprehensible language of the three."
01:07:13 -!- sebbu2 has changed nick to sebbu.
01:16:42 <Sgeo> Undecidable instances?
01:21:01 <pikhq> Makes Haskell types TC.
01:21:16 <pikhq> Well, that and type families.
01:22:20 <augur> bwahahaha
01:22:38 <pikhq> augur: Quod?
01:22:46 <augur> guess whats sitting in my living room, looming 7 feet in the air :X
01:22:59 <augur> ill give you a hint, its tall, rectangular, and black
01:23:12 <augur> and _ISNT_ a replica of the Monolith
01:23:13 <pikhq> I'm going to guess "the singularity"
01:24:13 <augur> ehird, i dont like your writing style. :(
01:26:29 <augur> pikhq: its not The Singularity either
01:26:36 <augur> its a BLACKBOARD :D
02:28:28 -!- jpc has quit (Read error: 104 (Connection reset by peer)).
02:29:03 -!- jpc has joined.
02:55:32 -!- Slereah has joined.
02:55:32 <augur> ehird, i think you're totally right about the constraint system
03:06:38 -!- Slereah_ has quit (Read error: 110 (Connection timed out)).
03:19:27 <augur> but its going to need some interesting wiggling
03:31:00 <augur> the way im thinking of implementing it, constructors in the background will establish certain data-objects that act as places to have bindable properties
03:32:20 <augur> e.g. circle 50pt creates a hash, lets say, like { :type => :circle, :radius => :50pt, :size = 100pt x 100pt, :position => :v0 }
03:32:48 <augur> rather than propositional constraints like type(x,circle), radius(x,50pt), ...
03:33:24 <augur> and these hashes are just effectively collections of constraint equations
03:33:44 <augur> then on top of this there would be other constraint equations that the user can write
03:33:52 <augur> e.g. a.center = b.cente
03:34:30 <augur> which just creates a constraint in the constraints list like that
03:35:45 <augur> im thinking of doing it this way because functions like over shouldnt update the things that it overs, but rather it should make copies
03:36:43 <augur> so doing say below a b makes duplicates of a and b, and manipulates the positions, and returns a new object that those copy objects are bound to by constraints
03:51:42 -!- BeholdMyGlory has quit (Remote closed the connection).
03:51:48 -!- FireFly has quit ("Leaving").
03:54:14 -!- coppro has joined.
04:15:46 -!- coppro has changed nick to IHATENINTENDO.
04:15:56 -!- IHATENINTENDO has changed nick to coppro.
04:45:13 -!- Asztal has quit (Read error: 110 (Connection timed out)).
04:52:47 -!- Warriphone has joined.
04:53:51 <augur> ehird
04:55:26 * Sgeo wages war on warrigal's iPhone
04:56:20 -!- soupdragon has joined.
04:59:19 <augur> soupdragon! :D
04:59:28 <soupdragon> hey augur
05:00:34 <augur> hows your semantics coming
05:01:00 <soupdragon> well I got a bit stuck and I still haven't figured it out
05:01:07 <augur> whereat
05:03:18 <soupdragon> well see (28) John loves and Mary hates pizza, syntactically you can parse it quite easily given and : (X\X)/X, but the semantics don't seem to work out compositionally for that (?), whereas if you lock X down to a ground term {N,NP,PP,S} then I can't find a parse for the sentence
05:04:46 <augur> well, you can make it work compositionally
05:05:31 <augur> lift John and Mary to S/(S\NP) and compose with the verbs, producing two S/NP's, then conjoin those then apply to NP
05:05:34 <augur> pizza
05:06:08 <augur> and use the rules previously for what each of those things does
05:06:53 <augur> that /should/ work
05:07:36 <soupdragon> so you are using AND(\x,LOVE(x,JOHN),\x.HATE(x,MARY)) $ PIZZA ?
05:08:01 <augur> well, remember, conjunction of predicates is fork over &
05:11:51 <augur> yeah, i just did it, it works fine
05:12:49 <augur> John : NP : J --T--> S/(S\NP) : \p.p(J)
05:12:57 <augur> Mary : NP : M --T--> S/(S\NP) : \p.p(M)
05:13:07 <soupdragon> I don't understand what it means to fork over &, is it the semantics of "and" depend on the type of what it is applied to?
05:13:10 <augur> loves : (S\NP)/NP : \y.\x.loves(x,y)
05:13:17 <augur> hates : (S\NP)/NP : \y.\x.hates(x,y)
05:13:36 <augur> Mary loves : S/NP : \y.loves(J,y)
05:13:41 <augur> er, John loves*
05:13:49 <augur> Mary hates : S/NP : \y.hates(M,y)
05:14:20 <augur> John loves and Mary hates : S/NP : \y.loves(J,y) & hates(M,y)
05:14:43 <augur> John loves and Mary hates pizza : S : loves(J,p) & hates(M,p)
05:16:55 <soupdragon> so the derivation is like (((John >T) >B loves) [something to do with and] ((Mary >T) >B hates)) > pizza ?
05:17:08 <augur> yes
05:17:47 <augur> and : ((S/NP)\(S/NP))/(S/NP) : \p.\q.\x.p(x) & q(x)
05:17:52 <soupdragon> I spent a while trying to figure out how to get and set up right so that it's used in this caes as and : (S\S)/S
05:18:20 <soupdragon> hmm
05:18:34 <augur> and cant be universally the same type in CCG
05:18:45 <soupdragon> and : ((S/NP/V)\(S/NP/V))/(S/NP/V) : \p.\q.\x.\y.p(x,y) & q(x,y) ?
05:19:43 <augur> whoa what S/NP/V what
05:20:00 <soupdragon> well (S/NP)/V
05:20:08 <augur> and what the hell does this thing do? lol
05:21:00 <soupdragon> well okay how about and : (S\S)/S : \a.\b.a&b ?
05:21:15 <augur> yes
05:21:28 <soupdragon> so my quesiton is, why does and have different semantics depending on the type
05:21:33 <soupdragon> er category
05:21:48 <augur> because it has to produce logically-sensible things
05:22:00 <augur> John & Mary is a type error
05:22:07 <augur> neither John nor Mary is a truth value
05:22:14 <augur> so you cant perform conjunction on them
05:25:31 <soupdragon> wait you can't have and : (NP\NP)/NP ?
05:25:50 <augur> well you can
05:25:54 <augur> SYNTACTICALLY
05:26:01 <augur> but what does it do SEMANTICALLY
05:26:05 <augur> thats the question
05:26:13 <soupdragon> so not every syntactically valid sentence has semantics?
05:26:33 <augur> well, it might well have valid semantics, you just have to type-lift it correctly :)
05:26:51 <soupdragon> ;_;
05:26:56 <soupdragon> this is too hard for me
05:27:01 <augur> the type lifting is the only way to get the sentence to parse, right?
05:27:06 <augur> lift-compost-conjoin-apply
05:27:21 <soupdragon> well yes
05:27:33 <augur> and notice the semantics of those respective operations
05:27:41 <augur> lifting takes x to \p.p(x)
05:28:03 <augur> compose takes \x.f(x) and \x.g(x) to \x.f(g(x))
05:28:24 <augur> conjunction of predicates takes \x.f(x) and \x.g(x) to \x.f(x) & g(x)
05:29:37 <augur> when you do these, you just _get_ the right semantics.
05:30:48 <augur> you cant help but get 'loves(J,p) & hates(M,p)' out of this
05:30:58 <soupdragon> yeah that makes sense
05:32:37 <soupdragon> augur, I got my program to do this
05:32:40 <soupdragon> Eval compute in semantics ((((John >T) >B loves) < (and > ((Mary >T) >B loves))) > pizza).
05:33:16 <soupdragon> = AND (LOVE PIZZA MARY) (LOVE PIZZA JOHN)
05:33:32 <augur> good boy
05:33:37 <soupdragon> >:|
05:34:30 <soupdragon> just look how bad the semantics for AND are though... http://www.pasteit4me.com/95019
05:34:57 <soupdragon> line 41 is basically /undefined/
05:35:02 <augur> i dont know what this says
05:35:15 <soupdragon> oh well I can explain it any other way
05:35:22 <augur> oh i think i see
05:35:36 <augur> yep, that looks about right!
05:35:43 <soupdragon> oh really??
05:35:45 <augur> nasty? you betcha.
05:35:50 <augur> and is a bitch of a word
05:39:16 <soupdragon> now I need to write something that takes John::loves::and::Mary::loves::pizza to the parse tree
05:39:32 <augur> oh thats easy
05:39:33 <soupdragon> er
05:39:35 <soupdragon> ::nil
05:39:59 <soupdragon> I thought up an algorithm in bed, but I heard there's a really efficient one too
05:40:47 <augur> i dont know how the fuck i'd parse that shit, to be honest
05:41:00 <augur> if you wanna guest post on my blog about writing a parser for it, i'd be honored
05:41:01 <soupdragon> you said it was easy!!
05:41:05 <augur> PARSING
05:41:07 <augur> with your HEAD
05:41:10 <soupdragon> hehee
05:41:11 <augur> not with your program :P
05:41:16 <augur> but, as for building the tree
05:41:22 <augur> which tree
05:41:30 <soupdragon> yeah the thing is stuff like thrush makes it very tricky
05:41:49 <augur> why
05:41:50 <soupdragon> I was thinking every tree, that way if you get 0 trees then you know it's not got any pases
05:41:54 <soupdragon> parses*
05:42:09 <augur> the parse for this sentence in CCG is simply
05:42:28 <augur> [[[John loves] [and [Mary hates]] pizza]
05:42:32 <soupdragon> with only binary connectives (like >, <, >B, <B) the height of the parse tree is exactly the length of the sentence - 1
05:42:43 <soupdragon> but with thrush, when you do stop lifting?
05:42:58 <augur> normal CCG only lets you lift from base types
05:43:04 <augur> so no lifting of functor types
05:43:08 <soupdragon> ooh that makes it easier
05:46:21 <augur> good luck turning it into a normal sort of parse tree tho
05:46:59 <soupdragon> my idea (for the case without lifting), is that you can just walk along from left to try
05:47:37 <soupdragon> try to join "John" with "loves" in every possible way, if you don't succeed, try to join "loves" and "and" in every possible way..
05:47:55 <soupdragon> once something clicks you can go back one step (kinda like bubblesort, except the list gets smaller each time)
05:48:13 <augur> what
05:48:17 <soupdragon> I'm guessing there's a better way though.. so *looks for books*
05:48:43 <augur> ive got no idea how to build a parser for it. :D
05:49:39 <uorygl> Sgeo: why are you waging war on my phone?
05:53:49 <augur> soupdragon: an alternative would be to go the minimalist route
05:53:51 <augur> or thereabouts
05:56:19 <augur> which is to say, it parses like normal
05:56:39 <augur> [[John [loves PRO]] [and [Mary [hates pizza]]]]
05:57:05 <augur> where PRO is inserted when the parser fails to find the appropriate argument for the verb
05:57:43 <augur> tho personally i think the correct parse is actually [John [loves pizza]], [Mary [hates pizza]]
05:58:09 <coppro> John loves, and Mary hates, pizza
05:58:29 <augur> pretty much. my believe is that you're actually not saying one sentence with a conjunction, as such
05:58:35 <augur> but rather two sentences interleaved
05:59:04 <augur> or you're reducing a sentential conjunction to an interleaved structure
05:59:46 <augur> its not without its phonological effects, unlike normal conjunction
05:59:58 <augur> John loves pizza and cake
06:00:03 <augur> John loves pizza and hates cake
06:00:09 <augur> John and Mary love pizza
06:00:10 <soupdragon> interesting
06:00:14 <augur> John loves and hates pizza
06:00:19 <augur> all of them have normal sentence intonation
06:01:08 <augur> whereas John loves and Mary hates pizza normally has normal sentence intonation over the first two words
06:01:23 <augur> then restarts and has normal sentence intonation over the rest
06:01:35 <augur> that is, normal sentence intonation is falling
06:01:41 -!- jpc has quit ("I will do freaking anything for a new router.").
06:01:55 <augur> and this has [john loves] falling, then [mary hates pizza] restarting and falling
06:01:58 <augur> like a sawtooth
06:02:04 <augur> which looks a lot like two interleaved sentences
06:02:10 <augur> and none of the other conjunctions look that way
06:02:30 <augur> i mean, you could view that as an argument in favor of the PRO analysis too i guess
06:06:08 -!- adam_d has joined.
06:10:34 -!- jpc has joined.
06:18:21 <Sgeo> uorygl, for no other reason then you being namedd warriphone
06:19:24 -!- jpc has quit ("I will do freaking anything for a new router.").
06:20:09 <uorygl> Ah.
06:20:24 <uorygl> It does rather resemble a command to wage war on an iPhone.
06:22:43 * uorygl seaborgiates Esperanto.
06:27:41 -!- jpc has joined.
06:28:31 <Sgeo> ?
06:29:03 <pikhq> You're... Coloring... A language.
06:29:16 <coppro> fuck yeah
06:29:31 <augur> pikhq: this is #esoteric
06:29:36 <augur> why should this be odd to you
06:35:56 -!- lament has joined.
06:37:13 <soupdragon> what???
06:37:26 <augur> hey
06:37:27 <augur> sup
06:37:29 <soupdragon> I don't know this word seaborgiates
06:39:30 <Sgeo> Obviously, refers to hive-mind cyborgs sailing on the water
06:39:47 <augur> no no thats seaborgium
06:40:23 <Sgeo> http://www.google.com/search?hl=en&safe=off&rlz=1C1CHNR_enUS321US321&q=seaborgiate&aq=f&oq=&aqi=
06:40:28 <Sgeo> Some German thing?
06:41:25 <Sgeo> I... see nothing in Google translate
06:41:27 <Sgeo> Good night all
06:41:31 <augur> guys!
06:41:34 <augur> ive got a video camera!
06:41:43 <augur> i want to make scifi
06:41:46 <augur> what should i make
06:41:53 <lament> scifi gay porn
06:42:00 <augur> nh
06:42:23 -!- adam_d has quit (Read error: 110 (Connection timed out)).
06:45:17 <soupdragon> I wish I could just download every book automatically using the internet
06:45:30 <augur> gigapedia.com
06:45:39 <soupdragon> that site has no book
06:45:58 <augur> what
06:46:12 <soupdragon> I never once got any results from that site
06:52:14 <augur> :|
06:52:21 <augur> do you have an account?
06:56:51 <soupdragon> -_-
06:56:58 <soupdragon> I didn't know there was one
06:57:04 <augur> well theres the problem!
06:57:06 <augur> augur / keroppi
06:59:35 -!- Sgeo has quit (Read error: 110 (Connection timed out)).
07:13:40 <augur> oh man
07:57:18 <soupdragon> I should work through the mockingbird book
07:58:52 <augur> indeed
07:59:06 <soupdragon> I got stuck about 1/2 way last time
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:00:06 <augur> i should download a copy
08:00:21 <coppro> tkam?
08:00:24 <coppro> or what?
08:00:33 <augur> to mock a mockingbird
08:01:06 <coppro> oh
08:02:21 <augur> man
08:03:17 <augur> ive been trying to wrap my head around a monosortal logic that isn't susceptible to russell's paradox
08:03:24 <augur> and i think i only just understood it
08:04:39 <coppro> hmm.... 1/2, not bad
08:04:44 <coppro> okay, scratch that
08:04:49 <coppro> 1 hit for 'monosortal' on google
08:05:06 <augur> and its barryschein! :D
08:05:28 <augur> monosortal is basically untyped
08:05:28 <augur> ish
08:05:36 <coppro> oh
08:06:44 <augur> i was trying to figure out how you could have an expression like this: ∃X[∃x[x ∈ X]]
08:07:03 <augur> without saying that X is a different type that x
08:07:19 <coppro> but thats an existensial qualifier; why would such a qualification be necessary?
08:08:11 <augur> well its more that
08:08:24 <augur> if your logic has things that are sets
08:08:36 <augur> then you get into the problem of russells paradox
08:09:07 <augur> introducing types ofcourse raises interesting questions too
08:09:12 <augur> but boolos presumably said look
08:09:18 <augur> forget this stuff ok
08:09:28 <coppro> ah
08:09:29 <augur> you can do 1 ∈ 2 for all i care
08:09:33 <coppro> :P
08:09:43 <coppro> actually, no I don't get it
08:09:43 <augur> its just false
08:09:50 <coppro> what's wrong with such an existensial qualifier?
08:09:56 <coppro> of course there exist such x and X
08:10:36 <augur> if X is a set, then can you say something like ∃X[∀Y[Y ∈ X ↔ Y ∉ Y]]?
08:11:25 <augur> where that X = { Y : Y ∉ Y }
08:11:43 <augur> because thats all it sais
08:11:48 <augur> but this is obviously paradoxical
08:12:11 <coppro> right, that's Russel's Paradox
08:12:15 <augur> right
08:12:23 <augur> the issue is _really_ that you're doing something like
08:12:43 <augur> X, a set, such that it contains the Y's where Y is a set and Y is not in Y
08:13:09 <augur> but who says that Y and X have to be sets? well, the notation, normally. ∈ and ∉ is defined on sets
08:13:11 <augur> not on numbers
08:13:19 <coppro> ok, with you so far
08:13:22 <augur> so in normal logic, it makes no sense to even say 1 ∈ 2
08:13:28 <augur> thats just undefined
08:14:39 -!- lifthrasiir has quit (Read error: 110 (Connection timed out)).
08:14:46 <augur> but what if we said, sure, ∈ is defined for anything and everything
08:14:49 <augur> pretend this is prolog
08:14:58 <augur> prolog has untyped abstract values
08:14:59 -!- Warriphone has quit (Read error: 110 (Connection timed out)).
08:15:10 <augur> so you can define in(X,Y) all you want
08:16:48 <augur> in that case the paradox goes away
08:17:00 <augur> sure, you can have something X that contains all non-self-elemental sets
08:17:10 <augur> but X isnt a set.
08:17:22 <augur> so its not in itself
08:17:26 <augur> and therefore its not a paradox.
08:18:02 <augur> so you resolve the paradox by essentially getting rid of the sortedness on the values
08:18:17 <augur> sure, you might add sorts with a prolog-esque typing predication
08:18:24 <augur> set(my-set).
08:18:50 <augur> but then that just means that the thing that contains all non-self-elemental-sets is not my-set!
08:19:03 <augur> it doesnt mean its not my-collection or whatever.
08:19:27 <coppro> intersting
08:19:30 <augur> just remove the sortedness of all predicates.
08:19:47 <augur> presumably. i havent read boolos' paper but im trying to understand the principles via another relevant work
08:21:02 <augur> i couldnt understand it tho for a while
08:21:18 <augur> because i kept thinking about sets and pairs and so forth as inherently structured objects
08:21:28 <augur> e.g. the pair <1,2> is just that
08:21:32 <augur> its an object with structure
08:21:59 <augur> when really what i shouldve been thinking is that the pair <1,2> is just some object, with whatever structure, the structure doesnt matter
08:22:16 <augur> but it is that object p such that first(p,1) & second(p,2)
08:22:23 <coppro> ah
08:22:58 <augur> <1,2> may or may not be structured, but that doesnt mean you cant, say, call ∈ on it and say "foo" ∈ <1,2>
08:23:21 <augur> and you can say first-of({1,2,3})
08:23:51 <augur> its just that its irrelevant to the logic
08:24:42 <augur> once i realized that, man
08:24:48 <augur> bam. it all clicked into place
08:25:03 <augur> think of it like a very low-level prolog program.
08:25:12 <augur> no lists, no datastructures, nothing
08:46:55 <coppro> augur: Okay, have you ever been in #math?
08:47:13 <augur> no why
08:47:30 <coppro> ok nvm then
08:47:41 <augur> what
08:47:41 <augur> why
08:47:45 <soupdragon> did something go down in #math?
08:48:07 <soupdragon> TRWBW was the best guy :(
08:48:17 <soupdragon> he actually taught me stuff I didn't know ...
08:49:15 <coppro> http://qdb.us/301117
08:50:22 <soupdragon> shut up coppro TRWBW was the best
08:50:32 <coppro> no. no he was not
08:50:35 <augur> who was TRWBW
08:50:35 <soupdragon> you're acting like #math isn't a smugpit today
08:50:47 <coppro> I don't know what it is
08:50:50 <soupdragon> augur just some guy that actually knew math
08:50:58 <augur> kasadkad actually knows math.
08:50:58 <soupdragon> coppro it's about 20x worse than before
08:51:01 <coppro> augur: and was a complete asshole about it to everyone else
08:51:06 <soupdragon> augur, sure he wasn't the only guy
08:51:14 <augur> kasadkad is a friend of mines :D
08:51:22 <coppro> if it's still bad, I'll leave
08:51:36 <soupdragon> well don't take my word for it
08:53:26 <coppro> but seriously, I could not stand watching TRWBW tearing apart people who just didn't get it
08:53:39 -!- anmaster_l has joined.
08:57:47 <coppro> ahah, <3 qdb
08:57:58 <coppro> division of cells: o -> 0 -> 8 -> oo
08:58:28 <soupdragon> that would make a nice ascii animation
09:30:31 -!- lament has quit.
09:31:12 -!- Pthing has joined.
09:53:44 -!- lifthrasiir has joined.
10:06:42 -!- jpc has quit (Read error: 110 (Connection timed out)).
10:31:04 -!- oerjan has joined.
11:00:09 -!- ais523 has joined.
11:07:06 <ais523> wow, Y2010 bugs all over the place, probably because nobody was anticipating them
11:07:18 <oerjan> O_o
11:07:25 <ais523> the typical problem seems to be that a format was reverse-engineered, and people assumed binary when it was actually BCD, or vice versa
11:07:32 <ais523> resulting in lots of things thinking it's 2016
11:07:51 -!- BeholdMyGlory has joined.
11:09:54 <oerjan> hm that only makes sense if you leave out the 20 part, doesn't it.
11:10:32 <ais523> I think so
11:11:08 <oerjan> which makes it rather similar to the original Y2K problem, doesn't it
11:11:20 <ais523> yes
11:11:27 <oerjan> also, those bugs must all have been introduced in the last decade...
11:11:30 -!- FireFly has joined.
11:11:35 <ais523> nobody cares about Y2K nowadays, though
11:11:38 <ais523> because 2000's gone already
11:11:58 <ais523> so it wouldn't surprise me at all if Y2K bugs became /more/ common after the big rush in 1999 to fix everything before the new year
11:12:16 <oerjan> hm
11:13:05 <ais523> time for my regular look at updates: it seems some security bug was found and fixed in Kerberos, and there are new daylight-saving rules for Bangladesh
11:13:52 <ais523> and glibc's been fixed to handle the case where no IPv6 networks are available much faster
11:23:39 <FireFly> Beware of Y2K38!!1
12:01:17 -!- ehird has joined.
12:03:06 <ehird> jew bonanza
12:03:53 <ehird> 16:24:22 <SimonRC> if the program tries to calculate a size_t to allocate or index with that causes integer overflow, resize similarly
12:04:00 <ehird> sizeof is compile time though
12:05:55 <ehird> 17:22:46 <augur> guess whats sitting in my living room, looming 7 feet in the air :X
12:05:56 <ehird> 17:22:59 <augur> ill give you a hint, its tall, rectangular, and black
12:05:56 <ehird> augur, put that penis away.
12:06:15 <ehird> 17:24:13 <augur> ehird, i dont like your writing style. :(
12:06:15 <ehird> the text was basically an excuse to show the code
12:06:28 <ehird> besides I wrote it when tired
12:06:36 <ehird> I might just delete it, it's not a particularly good post
12:06:46 <ehird> especially because of: "Now we can define show using toNum. (Actually I broke this at some point, so it just makes show fail all the time with an overlapping instances error. Sorry. Patches welcome.)"
12:07:29 <ehird> btw does my blog look like it has a white background to you because it doesn't :<
12:08:12 <ais523> ehird: URL?
12:08:19 <ehird> http://ehird.blogspot.com/
12:08:32 <ehird> view with a graphical css browser, obvs
12:08:43 <ais523> it's either grey or greyish-blue
12:08:46 <ehird> ais523: posts written in Emacs with org-mode :D
12:08:48 <ais523> on this screen, I can't tell which
12:08:49 <ehird> it's grey
12:08:57 <ehird> but yeah, your screen is not really a reliable source of colour info :P
12:09:21 <ais523> that's in Firefox; shall I check in Epiphany-webkit too?
12:09:35 <ehird> uh, sure; i look at it with safari so i see webkit already, but go ahead
12:09:46 -!- Pthing has quit (Remote closed the connection).
12:09:47 <ehird> if you have IE to hand, you could try that too... for a laugh, most likely
12:09:51 <ehird> it's actually #F5F5F5, the background
12:09:52 <ais523> yep, same
12:09:55 <ais523> I don't have IE to hand
12:09:57 <ehird> #EEE was too dark
12:10:03 <ehird> I might go for #F3F3F3 or something, dunno
12:10:15 <ais523> ehird: whoever says it's white probably has a gamma problem
12:10:42 <ehird> If Iook closely with a white window to the side I can tell it's grey, but otherwise it's very subtle
12:10:51 <ehird> Admittedly I'm on the old Macintosh gamma
12:10:58 <ais523> it's almost white to me when viewed from above, but clearly grey from in front
12:11:06 <ehird> 1.8 instead of Television/PC 2.2
12:11:12 <ehird> (2.2 was made the default in Snow Leopard)
12:11:13 <ais523> but then, this screen can make even #FFFFFF look grey from the right angle
12:11:21 <ehird> (I just haven't put the DVD in the machine and hit gogogo)
12:11:25 <ais523> darker than red, in fact
12:11:27 <ehird> (A legit copy would you believe?)
12:11:45 <ehird> Hmm, PC gamma makes the grey very very slightly more obvious
12:12:01 <ais523> is that because Apple are more competent at DRMing? or because you want to support them with legitimate products?
12:12:08 <ais523> or because your parents would notice if you pirated it?
12:12:11 <ais523> or some other reason?
12:12:22 <ehird> because I didn't buy it :q
12:12:35 <ais523> ah, I was wondering about that
12:12:53 <ehird> i don't particularly want to support apple seeing as i'm probably on the road to migrating away from osx
12:13:10 <ehird> the only drm apple does is checking you're on a mac
12:13:14 <ehird> no serial keys or anything
12:14:37 <ehird> now, let's see if i can write blog posts that are at least half as interesting as the average http://arcanesentiment.blogspot.com/ post
12:14:45 <ehird> probably not!
12:15:54 <ehird> 18:55:32 <augur> ehird, i think you're totally right about the constraint system
12:15:54 <ehird> am I ever wrong
12:16:12 <ehird> 19:32:20 <augur> e.g. circle 50pt creates a hash, lets say, like { :type => :circle, :radius => :50pt, :size = 100pt x 100pt, :position => :v0 }
12:16:12 <ehird> 19:32:48 <augur> rather than propositional constraints like type(x,circle), radius(x,50pt), ...
12:16:12 <ehird> 19:33:24 <augur> and these hashes are just effectively collections of constraint equations
12:16:13 <ehird> that's basically the same thing
12:16:23 <ehird> 19:35:45 <augur> im thinking of doing it this way because functions like over shouldnt update the things that it overs, but rather it should make copies
12:16:23 <ehird> ohohoh
12:16:27 <ehird> there is no updating in my system
12:16:37 <ehird> below :: List Drawable -> Drawable
12:16:44 <ehird> each drawable has its constraints as part of the value
12:16:48 <ehird> and below merges them all
12:16:50 <ehird> totally functional
12:21:50 <ehird> hmm
12:22:00 <ehird> I know parser combinator libraries can be Applicatives instead of monads
12:22:09 <ehird> but can they be anything _less_ powerful?
12:22:35 <soupdragon> monad more powerful than applicative beacuse monad => applicative?
12:23:19 <ehird> "This module describes a structure intermediate between a functor and a monad: it provides pure expressions and sequencing, but no binding."
12:25:09 <ehird> Keys my keyboard lacks: Numlock, numpad /, numbad 9, numpad 4, numpad 5, left arrow, right control, right shift, \|, ]}
12:25:38 <Deewiant> How'd you manage that
12:25:44 <ehird> With great effort
12:25:49 <Deewiant> Obviously
12:26:18 -!- oerjan has quit ("leaving").
12:31:03 <soupdragon> span {BCSI} = span {SK}\K
12:31:26 <ais523> ehird: what is up with your keyboard?
12:31:29 <ais523> also, how do you program?
12:31:48 <ais523> (I'm assuming that's desktop keyboard, not iphone keyboard)
12:32:06 <ehird> It's a Frankenkeyboard. And, well, \ and | are rarely used; I just finger the exposed circuit board when I want to type one of them.
12:32:12 <ehird> Ditto for ]}.
12:32:37 <ehird> It doesn't have any tactile response and I have to use my nail, but it beats the unholy effort of putting the keys back on (dun dun DUN).
12:32:51 <ehird> And I never use the numpad.
12:32:56 <ehird> (I used to, but this stopped me!)
12:32:59 <ehird> (I now type better.)
12:33:38 <ais523> I don't use the numpad due to spending nearly all my time on laptops
12:33:50 <ehird> The numpad is bad because I have to move my hand dto use it.
12:33:55 <ehird> So learning to touch-type the number row is better.
12:34:45 <ais523> were you the sort of person who always left numpad on, or the sort of person who always left it off?
12:34:54 <ais523> I imagine very few people actually change it, due to muscle memory
12:35:09 <ehird> I always left it on; it was the only way I could type numbers quickly.
12:35:20 <ais523> I also always left it on
12:35:23 <ehird> I also used to type * with it, but not + or -.
12:35:26 <ehird> Go figure.
12:35:29 <ais523> which is strange as I rarely actually used it
12:35:33 <ehird> IMO the non-numlock mode is pretty useless
12:35:43 <AnMaster> "Results 1 - 10 of about 9"
12:35:45 <ehird> all the keys are there right before the numpad...
12:35:45 <AnMaster> haha
12:35:45 <ais523> some people use it for games
12:35:48 <ehird> in the middle column
12:35:51 <AnMaster> ais523, ^
12:35:55 <AnMaster> hi btw
12:35:56 <ais523> ehird: hmm
12:35:58 <ais523> and hi
12:36:01 <ais523> *AnMaster: hmm
12:36:15 <ais523> that was a fun typo
12:36:24 <AnMaster> google's "typo"?
12:36:30 <ais523> no, me getting the wrong nick
12:36:32 <AnMaster> ah
12:36:47 <ais523> it's a testament to how long I've spent in here that I have both your nicks sufficiently finger-memorised that I can typo one for the other
12:37:03 <ehird> you don't tab-complete?
12:37:48 <AnMaster> ehird, or he memorised something like: "an<tab>" and "eh<tab>"
12:37:55 <ais523> yep
12:38:03 <ais523> tab-complete's included in the finger-memorisations
12:38:06 <ehird> yeah, i guessed
12:38:08 <ehird> just checking
12:38:08 <ais523> although ehird's short enough to type without completing
12:38:27 <AnMaster> ais523, nah, three letters is max I go before tab complete
12:38:28 <ehird> you're ais?\t but a\t would basically almost work i guess
12:38:29 <ais523> I just checked too; it is two characters at the start of the name that I've finger-memorised
12:38:37 <ehird> mostly ai\t i think
12:38:43 <ais523> ehird: with AnMaster here, you need two characters
12:38:44 <AnMaster> I normally use two I think
12:38:47 <ais523> if you want it to be reliable
12:38:47 <ehird> ais523: nope
12:38:54 <ehird> my client sorts by last use or something
12:38:57 <ehird> AnMaster: test
12:38:59 <ehird> AnMaster: test
12:39:00 <ehird> yeah
12:39:05 <AnMaster> ehird, tesing what?
12:39:07 <AnMaster> testing*
12:39:10 <ehird> AnMaster is always [Aa]n\t for me anyway
12:39:11 <ais523> yes, and AnMaster has often spoken more recently than me
12:39:12 <AnMaster> ah
12:39:15 <ehird> I never, ever type the m
12:39:29 <ehird> ais523: no, last use by _me_
12:39:30 <ais523> my client repeats my last tab-complete if I press tab with nothing in the box
12:39:32 <ais523> ehird: ah
12:39:43 <ehird> ais523: ah, ditto here
12:39:45 <ehird> ais523: didn't realise that
12:39:48 <AnMaster> ehird, well I tend to try to always use three letters so that the risk of issues with someone new joining and messing up for me is less.
12:39:53 <ehird> ais523: now i will use it FOREVARRRRRRRRRRRRR
12:39:56 <AnMaster> even if one letter would be enough
12:40:27 <AnMaster> about repeating last: not for me. Mine does however do "last nick to speak first"
12:40:37 <ais523> ehird: I never use it
12:40:43 <AnMaster> and since most people are idle it helps
12:41:18 <AnMaster> I noticed xchat treats tab if you hold it down as "tab to other GUI element"
12:41:24 <AnMaster> which is rather strange
12:41:37 <ais523> AnMaster: that's what tab does, in nearly all GUI contexts
12:41:46 <ais523> but the CLI meaning of tab takes precedence over the GUI one in an IRC input box
12:42:07 <AnMaster> ais523, yes but that it does that in the input box *instead of tab complete* if you hold tab down for about half a second
12:42:19 <ais523> that makes sense
12:42:23 <AnMaster> actually closer to a second I think
12:42:25 <ais523> they're giving you the opportunity to do one or the other
12:42:45 <ais523> after all, otherwise the focus would be trapped in the input box forever if you didn't have a mouse, and only knew about tab for GUI navigation with the keyboard
12:43:16 <AnMaster> ais523, hey that was something zzo would have said
12:43:21 <AnMaster> not something you would have said.
12:43:36 <ehird> no it doesn'y
12:43:38 <ehird> *doesn't
12:43:43 <AnMaster> (of course he would have added it should be configurable too)
12:44:01 <ehird> ais523 is of the School of Works on Your 50-Year-Old Amstrad With Three Pixels and One Key
12:44:16 <AnMaster> ehird, well only the last bit "if you didn't have a mouse, and only knew about tab for GUI navigation with the keyboard" sounded zzo-ish
12:44:30 <ehird> No, that's just "RAAR SYSTEM REQUIREMENTS ARE EVIL".
12:44:35 <ais523> zzo wouldn't have put it at the end of the sentence
12:44:39 <ais523> and the grammar would be different
12:44:50 <AnMaster> ais523, well okay, not too far off though
12:45:00 <AnMaster> ais523, and yes he would have said there should be an option for it
12:45:19 <AnMaster> speaking of which, should suggest to him next time that he makes the options optional
12:45:20 <ehird> zzo's amusingness is more than just options, you know.
12:45:38 <ais523> zzo has an extremely logical mode of thought
12:45:44 <AnMaster> ehird, well yes. but I was concentrating on that bit here
12:45:58 <ais523> also, seems to have learnt politeness inductively, like I did, rather than understanding it innately
12:46:27 <soupdragon> explain
12:46:37 <ehird> If you want to tab to another field in ZRCB++Q4 you can hold down the TAB key. But if you don't want it to tab to another field if you hold down the TAB key, also, you could change that option or you could edit the code to remove that also.
12:46:50 <ehird> Also also Also also also also buffalo.
12:47:11 <ehird> (ps imagine that line being said right after he enters without explaining what ZRCB++Q4 is)
12:47:21 <AnMaster> ais523, Not sure exactly what you mean, but if it is what I think then it is similar for me
12:47:28 <ais523> possibly for many of us
12:47:36 * AnMaster waits for ais523 to clarify what he meant with inductively here
12:47:44 <ais523> AnMaster: trying to work it out from examples and experiment
12:48:00 <ehird> #esoteric-politeness (where - is minus) FLAME! WAR! FLAME! WAR!
12:49:01 <AnMaster> ais523, I do not think you can have a built in definition of what is polite. For a start, the details differs between cultures
12:49:10 -!- ehird has left (?).
12:49:13 -!- ehird has joined.
12:49:13 -!- ehird has left (?).
12:49:17 -!- ehird has joined.
12:49:23 <ehird> politeness is evolved
12:49:26 <AnMaster> ais523, what is considered polite in UK might not be in (for example) South Korea
12:49:35 <ais523> AnMaster: I mean, more, that most people don't have to expend concious thought on working out how politeness works in their culture
12:49:39 <ehird> as part of the general pack animal stuff
12:49:58 <ais523> hmm... dolphins are incredibly arrogant
12:49:59 <AnMaster> to some extent they do share some similarities of course. But a lot of it will differ.
12:50:04 <ehird> but, also, please; every programmer on the internet thinks they're autistic/Asperger's
12:50:13 <soupdragon> haha
12:50:16 <ais523> people parsed their communication, and it's nearly all them giving each other orders
12:50:21 <AnMaster> ais523, and thanks for all the fish <-- doesn't sound too arrogant ;P
12:50:34 <ais523> ehird: they're actually correct, but only because Asperger's has been generalised to the extent that it's almost meaningless
12:50:52 <ehird> ais523: Yes, but learned politeness isn't really generalised that much.
12:50:58 <AnMaster> <ais523> people parsed their communication <-- when did they figure that out?
12:51:24 <ais523> AnMaster: hmm... I think what they did was invented a simple language, and taught it to the dolphins
12:51:28 <ehird> douglas adams created the impression of dolphins being all playful awesome intelligent creatures
12:51:32 <ehird> it's kinda... bullshit.
12:51:44 <ais523> and they knew what the language was because they'd invented it in the first place
12:51:56 <soupdragon> it's science fiction ehird :P
12:52:00 <ehird> yes, they're intelligent... but they're not civilised or anything, unless you call gang rape civilised
12:52:01 <soupdragon> you're not meant to read it as true
12:52:04 <ehird> soupdragon: you would be surprised how many people do
12:52:13 <soupdragon> I am!
12:52:17 <AnMaster> ais523, ah, well could depend on the language. Or maybe they misunderstood it.
12:52:22 <ais523> they're intelligent, but they follow utterly different social rules from us
12:52:23 <ehird> most people are idiots and they cannot distinguish witty fiction from fact
12:52:28 <ais523> AnMaster: it had verbs, and nouns
12:52:32 <ais523> and a sentence was one of each
12:52:37 <ehird> ais523: are you seriously calling gang rape a social rule
12:52:53 <AnMaster> ais523, I don't know if it is true, but I heard some claims that if you don't have numbers in your language you can't count.
12:53:05 <ais523> ehird: I'm not sure how to parse your question, but it's either trivially true or trivially false depending on what you mean
12:53:09 <AnMaster> well, one-to-one matching still works iirc
12:53:24 <ais523> dolphins are pretty good at coordinating as a group, that's what the social rules are about
12:53:34 <ais523> what the effect of them is is unrelated
12:53:39 <ehird> ais523: well, it seems like saying "dolphins are intelligent they _just have different social rules" is bullshit
12:53:39 <ais523> have you seen dolphins herding fish?
12:54:02 <AnMaster> ais523, have you?
12:54:02 <ais523> ehird: hmm, removing the comma completely changes the meaning of what I was trying to say
12:54:07 <ais523> AnMaster: on the TV, yes
12:54:13 <ais523> they go round in circles breathing out
12:54:23 <ais523> and the fish can't escape, because they can't swim through aitr
12:54:25 <ais523> *air
12:54:30 <ais523> and other dolphins just eat the trapped fish
12:55:22 <AnMaster> ais523, they do that? And why did that make me think of something as ridiculous as dophins using underwater sheepdogs XD
12:55:34 <ais523> AnMaster: OK, that is ridiculous
12:55:35 <AnMaster> dolphins*
12:55:46 <ais523> the whole sheepdog principle only works because sheep are terrified of dogs
12:56:00 <AnMaster> ais523, they could tame sharks or something XD
12:56:03 <ais523> which makes sense, given the likely history of their interactions before humans came along
12:57:23 * ais523 thinks about the old metaphor of herding cats
12:57:29 <ehird> I had a dream last night where I was given a Wii, which actually turned out to be multiple Wiis. Two of the three or four were the imaginary higher model Wii, which was seemingly identical apart from being much bigger.
12:57:34 <ais523> I wonder how people discovered that herding cats was almost impossible. Experiment?
12:57:57 <ehird> The dreaming part of my brain cannot distinguish the Wii from the Xbox 360, which _does_ have multiple versions. Woe is me.
12:58:11 <ais523> wow, that previous line of mine was identical in real-world grammar and IRC grammar
12:58:22 <ais523> because it starts with a proper pronoun, and ends with a question mark
12:59:16 <AnMaster> * ais523 thinks about the old metaphor of herding cats <-- I haven't heard of that
12:59:27 <ais523> maybe it's a British one
12:59:35 <AnMaster> sounds folkloreish?
12:59:37 <ais523> the idea is that herding cats is basically impossible
12:59:43 <AnMaster> ais523, well sounds reasonable
12:59:47 <AnMaster> well,*
12:59:51 <ais523> and you compare things to herding cats if they're a similar sort of job
13:00:00 <AnMaster> ah
13:00:02 <ais523> say, coordinating thousands of children, or whatever
13:00:05 <ehird> http://www.youtube.com/watch?v=1SmgLtg1Izw
13:00:27 <AnMaster> ais523, has anyone tried this scientifically? *Ponders what the control group would consist of*
13:00:31 <ehird> (relevant)
13:00:50 <ais523> (but on YouTube, and I don't like to watch that from a work connection)
13:01:16 <ehird> you've wasted more than 1:00 on irc already :p
13:01:19 <ais523> my current Flash compromise has it completely banned from Firefox, but allowed unrestrictedly on Epiphany, by the way
13:01:31 <AnMaster> ais523, logic behind that?
13:01:45 <ais523> AnMaster: unlikely to trigger Flash by accident
13:02:09 <ais523> because I only use Epiphany for file:// or when I'm specifically trying to look at something that requires FLash
13:02:51 <ehird> any objections to me deleting http://ehird.blogspot.com/2010/01/computing-fib3-in-haskells-type-system.html, due to its generally rubbish writing?
13:03:01 * AnMaster wonders *why* synergy sometimes results in ghost pastes
13:03:09 <ais523> no; are you planning to redo it with better writing, by the way?
13:03:23 <ais523> my brain has a sort-of objection to deleting blog posts on general principles, even if nobody is ever likely to actually read them
13:03:28 <AnMaster> ehird, why not rewrite it?
13:03:42 <ehird> I can't think of a way to write it better, really.
13:03:47 <ehird> The code stands on its own.
13:03:51 <soupdragon> Sorry, the page you were looking for in the blog Elliott Hird's blog does not exist.
13:03:53 <soupdragon> >:|
13:04:02 <ehird> soupdragon: I haven't deleted it yet.
13:04:05 <ehird> What did you do?
13:04:10 <AnMaster> soupdragon, remove the , at the end
13:04:13 <AnMaster> it is not pat of the url
13:04:14 <ehird> Ah.
13:04:30 <AnMaster> (my client does that too, and sometimes , *are* part of url so meh)
13:04:46 <soupdragon> ehird you only have one post????
13:05:10 <ehird> considering i just registered it yesterday and set up emacs w/ org-mode to write the posts...yes
13:05:34 <soupdragon> don't delete it or you'll never post anything
13:05:45 <AnMaster> so how the *heck* does one add items to the "Places" menu in gnome
13:05:50 <soupdragon> just hide it by posting lots of better stuff
13:05:53 <ehird> AnMaster: add to the nautilus sidebar
13:05:59 <ehird> soupdragon: no, posting a "HELLO WORLD" post will kill it
13:06:06 <AnMaster> ehird, how illogical :D
13:06:07 <ehird> soupdragon: i wrote that post when sleepy, anyway
13:06:11 <ehird> i just wanted to post something
13:06:15 <ehird> AnMaster: how is that illogical
13:06:20 <ehird> places shows a few locations + nautilus favourites
13:06:31 <AnMaster> ehird, well why should they be related
13:06:43 <AnMaster> ehird, for a start they don't match
13:06:50 <ehird> yes, they do
13:06:57 <AnMaster> mostly in that "removable media" is expanded
13:07:05 <AnMaster> so thus you don't see it right away
13:07:07 <ehird> you will note a separator bar
13:07:16 <AnMaster> ehird, not in nautilus
13:07:19 <AnMaster> in the menu yes
13:07:24 <AnMaster> but there is no such in nautilus
13:07:32 <ehird> one of the separated bits is the nautilus favourites
13:07:43 <soupdragon> oooooh
13:07:54 <soupdragon> genrealized composition with n=0 is application!!
13:08:02 <AnMaster> ehird, in the "places" thing in naultius, there are *no* separator bars bar one bar at the bottom (nothing below it)
13:08:59 <AnMaster> ehird, plus, I normally use the tree view if I use nautilus
13:09:10 <ais523> wait, there's a flame war going on about /nautilus/?
13:09:20 <ais523> please, it's too meh to care about one way or the other
13:09:26 <AnMaster> ?
13:09:40 <ehird> ais523: AnMaster's strategy is to use Ubuntu because he wants things to "JUST WORK", then tweak everything as much as he can, and complain when it isn't tweakable
13:09:52 <ais523> I know
13:09:56 <soupdragon> dude I want everything to work
13:10:00 <soupdragon> ubuntu doesn't ...
13:10:07 <soupdragon> it fucking fails every couple of months
13:10:14 <ais523> I'm using Ubuntu for a similar reason, but tweaking only when necessary, apart from things like the colour scheme which are unimportant
13:10:34 <ais523> e.g. I went and compiled the wireless driver myself, because it was needed to get the wireless to work
13:10:38 <ehird> http://i.imgur.com/1gF1j.jpg ;; IT KEEPS GROWING OH GOD
13:10:55 <AnMaster> ehird, that was on arch
13:10:57 <AnMaster> not on ubuntu
13:11:09 <AnMaster> ehird, -_-
13:11:09 <ehird> you use GNOME on Arch?
13:11:16 <ehird> what are you, retarded?
13:11:24 <AnMaster> ehird, yes because kde pulls in mysql for one thing.
13:11:26 <Deewiant> Some programs use it whether you like it or not.
13:11:29 <AnMaster> and also kde 4 sucks IMO
13:11:47 <ehird> Deewiant: that doesn't mean he has to use nautilus
13:11:52 <ehird> but uh, lol @ mysql complaint
13:12:02 <Deewiant> No, but he was originally asking about the places bar
13:12:16 <ehird> you don't have to run gnome-panel either
13:12:19 <AnMaster> <ais523> e.g. I went and compiled the wireless driver myself, because it was needed to get the wireless to work <-- same. Well it worked. Just ooped at shutdown, just before syncing disks
13:12:20 <ehird> only gnome users run gnome-panel
13:12:39 <ais523> and we run two of them!
13:12:44 <AnMaster> thus had to compile a backported one
13:13:09 <AnMaster> ehird, not run it. But it is installed. mysql is not going to be on my system
13:13:29 <ehird> AnMaster: you are truly a zealot of the highest order
13:13:32 <AnMaster> ehird, and I don't use nautilus much.
13:13:47 <AnMaster> as in, hardly ever
13:14:05 <AnMaster> ehird, exception is probably working with gimp and similar tools
13:14:08 <AnMaster> for image editing
13:14:14 <soupdragon> AnMaster of the high order or zealots will grant you an audience with nautilus!
13:14:36 <ehird> the inscriptions on the ancient temple of the zealots
13:14:40 <ehird> FVCK MVSQL
13:14:53 <AnMaster> ehird, where being able to see a preview on the files like PICT4382.tiff helps
13:15:10 <ehird> THOV SHALT HAV NO GOD ABOV OPEN SOURC
13:15:12 <soupdragon> :D
13:15:36 <ehird> FLASH WILT BE THE ONE THAT ENDS THE EART
13:15:47 <ais523> my wireless driver's in a weird state
13:15:47 <AnMaster> ehird, anyway, see the other reason
13:15:55 <ais523> it's been written and packaged, but not added to the distro yet
13:16:02 <AnMaster> I *have* tried KDE4. and I *used* to positively hate gnome
13:16:15 <AnMaster> but things have changed, both the project, possibly also me
13:16:36 <AnMaster> (meh at that grammar)
13:16:44 <ehird> you don't *hate* it you just complain about it at every possible opportunity
13:16:52 <AnMaster> ehird, I said *used* to
13:17:02 <AnMaster> as in, a year or two ago
13:17:06 <ehird> dude you just complained about it
13:17:08 <AnMaster> back when it was KDE 3 vs. gnome
13:17:25 <AnMaster> ehird, sure I don't love gnome as such.
13:17:58 <AnMaster> But I find it acceptable mostly.
13:18:06 <AnMaster> quite nice even in many parts
13:19:36 <AnMaster> ehird, and I don't see why you are flaming me for using gnome
13:19:51 <AnMaster> arch is very nice for a desktop..
13:20:02 <AnMaster> just not for a laptop (where I use ubuntu)
13:21:43 <ehird> frqstrbvrqtrstrqrstqrtq
13:21:52 <AnMaster> ehird, ?
13:22:12 <ais523> *frqstrbvrqtrqtrqrstqrtq
13:22:19 <ehird> *ttttttttttttttttt
13:22:26 <AnMaster> make sense -_-
13:22:38 <AnMaster> also ais523 complains about ubuntu too
13:22:58 <ais523> yes, they've made some truly stupid decisions
13:23:04 <AnMaster> ehird, see ^
13:23:05 <ehird> is this as boring for you guys as it is for me, listening to AnMaster winge for seven years
13:23:20 <ais523> ehird: oh, I've been filtering it
13:23:22 <ais523> mentally
13:23:28 <AnMaster> ehird, seven years? I'm pretty sure it wasn't in 2003 that I joined
13:23:58 <ehird> ais523: can you cut off a little knob of your filter and give it to me?
13:24:00 <ehird> mine's defective
13:24:01 <AnMaster> (I wasn't on irc in 2003 even.)
13:24:18 <ais523> ehird: I don't think so
13:24:28 <ais523> it's kind-of hard to share mental processes between people
13:24:34 <AnMaster> what exactly are you filtering?
13:24:42 <ehird> don't tell him, this is fun
13:24:43 <ehird> "fun"
13:24:49 <ais523> conversations I'm not particularly interested in
13:24:57 <AnMaster> ais523, oh well, everyone does that
13:25:08 <AnMaster> I do the same when ehird and augur talk linguistics mostly
13:25:09 <ehird> whoosh
13:25:16 <ehird> i don't talk linguistics you dolt
13:25:32 <AnMaster> ehird, okay augur does. but you does seem to take part partly
13:25:38 <AnMaster> in the discussion
13:25:40 <ehird> only when it dominates the channel, duh
13:25:43 <ehird> it's called a conversation
13:25:49 <ehird> of which this channel is one continuous one
13:27:32 <soupdragon> :(
13:28:00 <ehird> soupdragon: wat
13:29:11 <soupdragon> I just hate it when you two argue!!!
13:29:28 <ehird> stop him being an idiot and i'll stop arguing :|||||||||||||||||||||||\\\\\\\\\\\
13:29:34 <ehird> whoa those |s are blue green
13:29:36 <ehird> trippy subpixels
13:38:54 <ehird> http://www.themilliondollartagcloud.com/
13:38:54 <ehird> O_O
13:38:54 <ehird> >_<
13:38:55 <ehird> -_-
13:41:09 <AnMaster> ehird, what is it?
13:41:58 <ais523> I'm surprised the whole million-dollar homepage thing worked
13:42:06 <ais523> who'd pay 1$ for a 1-pixel advert?
13:42:11 <ehird> Idiots
13:42:15 <AnMaster> <ehird> trippy subpixels <-- I don't see that effect of course. Long live greyscale antialias. But those | are sharp. Looks like they are rendered exactly one pixel wide, and well adjusted to the screen pixels
13:42:35 <ehird> Ooh, AnMaster is in "look at me my technology is SUPERIOR you care about this and want me to tell you all about it"
13:42:37 <ehird> mode
13:43:12 <AnMaster> ehird, no I'm just amused at that *you* is complaining about sub pixels :P
13:43:13 <ais523> wow, the combination of your two comments, to me, has given me a terrible thought
13:43:20 <ais523> subpixel adverts
13:43:22 <ais523> you pay by the 1/3 of a pixel
13:43:26 <AnMaster> heh
13:43:35 <ais523> you'd need a subpixel mouse too to be able to click on them
13:43:41 <ehird> I never complained about subpixels.
13:43:44 <ehird> I just said it was trippy.
13:43:56 <ehird> ais523: no, clicking on a pixel zooms it into three pixels
13:43:57 <ehird> clearly
13:44:01 <AnMaster> ais523, there is nothing on that site that looks vaguely like an about page...
13:44:18 <ais523> oh, I didn't actually visit the site
13:44:30 <ais523> juts guessed what it was about from the name, and started talking about something similar I knew about
13:44:30 <ehird> which site
13:44:35 <ehird> million dollar homepage or " " tag cloud
13:44:58 <ehird> I wonder if there's a better name for output than print.
13:45:03 <ais523> it was the homepage that I knew about
13:45:04 <AnMaster> ehird, million dollar
13:45:09 <ehird> AnMaster: ...
13:45:13 <ais523> million dollar "hello world"
13:45:22 <ehird> anmaster: You do realise that doesn't disambiguate one bit?
13:45:22 <AnMaster> ehird, ?
13:45:26 <ais523> hmm, should be shortened
13:45:29 <ehird> BOTH are million dollar.
13:45:29 <ais523> M$ "hello world"
13:45:39 <AnMaster> ehird, <ehird> http://www.themilliondollartagcloud.com/
13:45:41 <AnMaster> THAT
13:45:48 <ehird> And then we started talking about http://www.milliondollarhomepage.com/ instead
13:45:51 <ehird> Of which the former is a ripoff
13:45:53 <AnMaster> that's the only site I saw mentioned
13:45:59 <ehird> You were wrong
13:46:14 <AnMaster> ehird, as an url at least
13:52:31 -!- ehird` has joined.
13:52:39 <ehird`> good morning from ERC
13:53:19 <ehird`> the most annoying thing about Emacs is its tiling handling
13:53:38 <ehird`> C-x C-b q doesn't get rid of the $NAME_OF_WHAT_IT_IS it creates
13:53:42 <ehird`> but e.g. q on a Lisp error does
13:54:01 <ehird`> also, it should be hover-to-focus; I wonder if anyone's written elisp to do that?
13:54:09 -!- ehird has quit.
13:54:16 <ehird`> no need for colloquy if i'm futzing with emacs
13:54:23 <AnMaster> heh
13:58:34 <AnMaster> ehird`, it takes a bit of customization I find
13:59:55 -!- MizardX has joined.
14:00:00 <AnMaster> once you done that it is very nice.
14:01:41 <ehird`> Well, it isn't a very spectacular IRC client (just good); and it isn't a good Emacs citizen.
14:01:57 <ehird`> For instance, the IRC buffers' names should be enclosed in asterisks, because they are temporary, not to be saved.
14:02:05 <ehird`> But they're not; they're just "#channel@server".
14:02:16 <AnMaster> send in a patch!
14:02:29 <AnMaster> ehird`: also, they aren't are they. Logging?
14:02:29 <ais523> aren't there at least 3 emacs IRC clients already?
14:02:32 <ehird`> No. I don't have to send patches to every piece of software I criticise.
14:02:46 <ehird`> AnMaster: The buffer's contents itself, including ERC> prompt etc, are not saved, no.
14:02:50 <AnMaster> ais523: think so. One is dead iirc
14:02:52 <ehird`> The logs are a separate entity.
14:02:57 <AnMaster> ehird`: well true
14:02:59 <ehird`> The buffer is transient.
14:03:17 <AnMaster> ehird`: but where would we be if I *agreed* with you
14:03:19 <ehird`> If you aren't expecting to go C-x C-s every now and then, it's transient.
14:03:36 <ehird`> Also, why on earth does it restrict the width of messageses to a small portion of the Emacs width?
14:03:41 <ehird`> That's very inconsistent with the rest of Emacs.
14:03:52 <ehird`> Oddly enough, it doesn't do it for messages you enter until you send them.
14:04:01 <AnMaster> ehird`: doesn't do that here..
14:04:40 <AnMaster> ehird`, there are tons of settings for it
14:04:40 <ehird`> http://imgur.com/0QRMW.png
14:04:53 <AnMaster> ehird`, probably some setting
14:04:56 <ehird`> That is no excuse for bad defaults.
14:06:03 <ehird`> Aww; is it just me, or can you not do C-x C-f http://imgur.com/0QRMW.png and have it automatically download and open it in Emacs?
14:06:11 <ehird`> Perhaps it needs tramp and I haven't loaded it properly or something.
14:07:46 -!- Pthing has joined.
14:08:26 <AnMaster> ehird`, I don't think I tried that ever
14:08:34 <ehird`> Okay.
14:08:49 <ais523> I'm pretty sure that is possible with tramp, but possibly the syntax is wrong, or something like that
14:08:53 <AnMaster> and if it isn't possible there is probably some elisp code somewhere for it
14:09:09 <ehird`> Emacs falling short of a unified object environment makes sad panda sad.
14:09:32 <AnMaster> ehird`, it isn't written in smalltalk ;P
14:10:10 <ehird`> It's not like Common Lisp was the first standardised language with an object system or anything
14:10:39 <AnMaster> elisp != clisp though
14:10:41 <ehird`> And hey, it's not as if CLOS, the Common Lisp Object System, is the most advanced and subtle object system in existance today
14:10:48 <ehird`> Nope, no object heritage in Lisp at all.
14:11:15 <AnMaster> (pointless to try humour, ehird` never gets jokes anyway)
14:11:19 <ehird`> AnMaster: Indeed, and it's not as if RMS has no idea what Common Lisp is and has ignored it for its entire existance, thus not updating Emacs based on any ideas from it. Wait, that part is actually true.
14:13:34 <ehird`> I realised you weree joking, it just wasn't funny.
14:13:54 <ehird`> Blatantly irrelevant and boringly unadorned statements followed up with an emoticon do not equate to humour.
14:15:40 <ais523> ehird`: sometimes they do
14:15:46 <ais523> sometimes I fly around in a spaceship :>
14:15:57 <ehird`> That wasn't really humour.
14:15:59 <AnMaster> ehird`, was that supposed to be interpreted as a subjective or objective steatement?
14:16:02 <AnMaster> statement*
14:16:26 <ehird`> Besides, "sometimes I fly around in a spaceship" with no context isn't so much irrelevant as a complete non-sequitur. And I'm not sure I could call it boring.
14:16:45 <ais523> a non-sequitur is irrelevant by definition, isn't it?
14:16:47 <AnMaster> ais523, that reminds me of something. I can't place it though
14:17:13 <ehird`> ais523: Sure, but it's a massive *exaggeration* of irrelevance.
14:17:20 <ehird`> Exaggeration is pretty much the basis of all humour.
14:17:34 <ais523> I suppose so
14:17:52 <ehird`> Anyway, as I said, that was just more of an amusing nonsensicality rather than anything approximating a joke.
14:17:54 <ehird`> At least to me.
14:18:49 <ais523> hmm... it's sort of an in-joke, minus the joke
14:18:51 <ais523> so just an in-
14:18:56 <ehird`> An invalid.
14:19:04 <ehird`> It's a very valid in-.
14:19:32 <AnMaster> ehird`, ForAll x [ Non-sequitur(x) → Irrelevant(x) ] is false given that you said that Non-sequitur("sometimes I fly around in a spaceship") and that it was *not* Irrelevant("sometimes I fly around in a spaceship") as well
14:19:44 <AnMaster> sorry for the sloppy syntax
14:19:56 <AnMaster> but couldn't be arsed to locate the proper unicode symbols
14:20:03 <ehird`> You know what's interesting? People who can't read English properly and interpret statements wrongly.
14:21:23 <ehird`> (A x. nonsequitur(x) -> irrelevant(x)) & (Most x. humorous(x) -> exaggerated(x)) & (A x. humorous(x) ->cancels-out-> lame(x))
14:21:38 <AnMaster> -_- you missed the humor *again*
14:21:44 <AnMaster> why do I even bother
14:22:02 <ehird`> ais523: Just out of curiosity... did you see any humour in "ehird`, ForAll x [ Non-sequitur(x) → Irrelevant(x) ] is false
14:22:02 <ehird`> given that you said that Non-sequitur("sometimes I fly around in a
14:22:02 <ehird`> spaceship") and that it was *not* Irrelevant("sometimes I fly
14:22:02 <ehird`> around in a spaceship") as well"?
14:22:08 <ehird`> I just saw AnMaster's typical whining.
14:22:34 <ais523> I saw the ForAll, got Mathematica flashbacks, and stopped reading
14:22:43 <ehird`> Copout. :P
14:22:58 <ais523> also, you somehow managed to word-wrap your last comment, which is /very/ strange behaviour for IRC
14:23:02 <AnMaster> ais523, hah
14:23:08 <ehird`> Blame ERC.
14:23:09 <ais523> normally you leave that for the other person's client...
14:23:19 <AnMaster> ehird`, never happened to me on irc
14:23:23 <AnMaster> in erc*
14:23:30 <ais523> ehird`: do you have autofill on by default?
14:23:32 <ehird`> ERC wraps lines by default.
14:23:32 <ais523> that could explain it
14:23:36 <ehird`> I selected and middle-clicked to paste.
14:23:53 <ehird`> I know you customised ERC; but you were saying that it never happened to you, as a defense of ERC.
14:23:54 <AnMaster> ehird`, it doesn't do that here
14:23:57 <ehird`> ERC's default behaviour is to do this.
14:24:02 <ehird`> Therefore, you are wrong.
14:24:11 <AnMaster> ehird`, and yes I agree the default behaviour is sub-optimal
14:24:17 <AnMaster> in many places
14:24:22 <ehird`> So don't try and defend ERC by saying it doesn't do that, because it does.
14:24:24 <AnMaster> I never claimed otherwise
14:24:29 <AnMaster> ehird`, what?
14:24:40 <AnMaster> ehird`, I said I never hit that one
14:25:04 <AnMaster> possibly I got rid of it thanks to changing some other related setting for a different purpose
14:25:18 <AnMaster> like changing the fill mode of erc to better suite my tastes
14:25:32 <AnMaster> I think that is what fixed the ~ 80 columns wrap
14:25:39 <AnMaster> but I wasn't doing it for that reason
14:25:58 <AnMaster> same thing probably affected word wrapping
14:26:03 <AnMaster> without me noticing that
14:26:14 <AnMaster> ehird`, so what are you going on about
14:26:19 <ehird`> #;> (values)
14:26:19 <ehird`>
14:26:19 <ehird`> #;> (if #f #f)
14:26:19 <ehird`> #;>
14:26:22 <ehird`> (space line is actually blank). Interesting; SISC's unspecific value differs from returning no values. They both output "nothing", but (values) causes an extra newline. Strange.
14:26:35 <ehird`> Wonder if there's any reason for that; Java heritage, perhaps?
14:26:58 <AnMaster> ehird`, SISC ? hm?
14:29:19 <AnMaster> ais523, those mathematical flashbacks. Painful are they?
14:29:29 <ais523> AnMaster: *Mathematica
14:29:30 <ehird`> "matematical flashbacks"
14:29:31 <ehird`> Fail
14:29:34 <ais523> there's quite a difference in the one letter
14:29:34 <ehird`> *mathematical
14:29:34 <AnMaster> ais523, typo
14:29:38 <ais523> and yes
14:29:38 <ehird`> (Double fail)
14:29:43 <AnMaster> yes I know it is a difference
14:29:47 <ais523> ehird`: Muphry's Law?
14:29:51 <AnMaster> so I slipped on l somehow
14:29:57 <ehird`> ais523: *Murphy's Lwa
14:30:03 <ehird`> (^^ metametajoke)
14:30:53 <AnMaster> ais523, anyway what I meant and thought I typed was mathematica
14:37:41 <ehird`> http://www.acooke.org/ is now neither lowercase nor ridiculously crowded^Wpacked :(
14:37:53 <ehird`> WHAT HAPPENED TO YOU! you're never too old to write a malbolge hello world again!
14:38:25 <ehird`> at least it has a spot on the small page, good to know he's still proud of his only real achievement
14:53:58 <AnMaster> ehird`, story behind that?
14:55:04 <ehird`> What?
14:55:50 <AnMaster> ehird`, it used to be lowercase? And what do you mean "only real achievement"
14:56:06 <ehird`> He used to type in all-lowercase; see f.e. his Malbolge hello world page.
14:56:26 <AnMaster> ah
15:19:48 <AnMaster> ehird`, when was that hello world ga search?
15:20:07 <ehird`> I think 2000-2003.
15:20:37 <AnMaster> "500mhz nt box with 96mb memory" hm. Could fit if it was an old one I guess
15:20:43 <ehird`> "it took a few hours to generate the program on a 500mhz nt box with 96mb memory"
15:20:44 <ehird`> it took a few hours to generate the program on a 500mhz nt box with 96mb memory
15:20:46 <ehird`> erm
15:20:49 <ehird`> i used clisp because it came with suse linux. it's a pretty solid implementation, but not as fast as some others (it's an exception to what i said above - it only compiles to byte code, like java). when it became clear i needed more memory than my own laptop (32mb) i "borrowed" my work's nt machine (96mb) and switched to corman lisp because it was faster and clisp seemed to be having a problem with large data sets. corman lisp doesn't
15:20:50 <ehird`> implement quite as much of the standard as clisp (full standard implementations do exist, but the missing bits aren't used much anyway) and is win32 only (it includes a very nice interface to win32 dlls). if you're thinking of starting with lisp, either would be a good start - see www.lisp.org for more details (if you're on win32 and would like to access c libraries or like a nice gui (ide), i'd recommend corman lisp, but the gui isn't
15:20:50 <ehird`> free).
15:20:52 <ehird`>
15:20:56 <ehird`>
15:21:08 <ehird`> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
15:21:08 <ehird`> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
15:21:08 <ehird`> <html xmlns="http://www.w3.org/1999/xhtml">
15:21:11 <ehird`> <head>
15:21:14 <ehird`> <link type="text/css" rel="stylesheet" href="old.css" />
15:21:15 <AnMaster> ehird`, ?
15:21:17 <ehird`>
15:21:17 <AnMaster> what?
15:21:20 <ehird`> XHTML, so post-1999.
15:21:23 <ehird`> XHTML wasn't popular in 2000, I don't think, so let's say 2001+.
15:21:24 <AnMaster> well right
15:21:35 <ehird`> And programmerly types tend to hold on to older hardware.
15:21:39 <AnMaster> ehird`, or the page has been reformatted since them
15:21:40 <ehird`> Anyway, SuSE Linux...
15:21:44 <AnMaster> to fit a new web site system
15:21:46 <AnMaster> or whatever
15:21:51 <ehird`> Not OpenSuSE, I guess
15:21:54 <ehird`> AnMaster: No.
15:21:59 <ehird`> The page has never changed design afaik
15:21:59 <AnMaster> okay
15:22:26 <AnMaster> ehird`, I have a vague memory reading it before, don't remember the green headers
15:22:31 * AnMaster goes to wayback
15:23:07 <AnMaster> meh it only has it from 2008 onwards
15:23:35 <ehird`> Ah, wait
15:23:37 <ehird`> I know how to work it out
15:23:47 <ehird`> Malbolge was so difficult to understand when it arrived that it took two years for the first Malbolge program to appear. The program was not even written by a human being: it was generated by a beam search algorithm designed by Andrew Cooke and implemented in Lisp.
15:23:48 <ehird`>
15:23:50 <ehird`> Malbolge was 1998
15:23:52 <ehird`> So 2000
15:24:03 <AnMaster> right
15:24:05 <ehird`> Maybe 2001, if the year just rolled over
15:24:22 <ehird`> (i.e. malbolge dec 1998, acooke jan 2001)
15:24:40 -!- adam_d has joined.
15:27:20 <ehird`> Corman Lisp on Win32 in 2000. Why do I miss out on all the fun? :P
15:31:44 <Deewiant> Is that very different from Corman Lisp on Win32 in 2010
15:32:10 <ehird`> You Windowsers today and your sevens and your Arrow Snapeek.
15:32:26 <ehird`> Uphill, in the snow, both ways, with 2000 Professional, and Classic chrome.
15:32:34 <ehird`> And Netscape.
15:32:53 -!- coppro has quit ("I am leaving. You are about to explode.").
15:32:58 <ehird`> boom
15:36:47 <soupdragon> what's wrong with (merge x y >>= \m -> parse (m::zs)) ++ (parse (y::zs) >>= \z -> merge x z)
15:36:54 <soupdragon> er if you change the :: into :
15:36:58 <ehird`> Define "wrong".
15:37:11 <ehird`> Also merge::?,parse::?.
15:39:17 <soupdragon> :(
15:39:19 <soupdragon> it doesn't work
15:39:34 <ehird`> Doesn't typecheck?
15:39:36 <ehird`> Bottoms out?
15:39:39 <ehird`> Returns incorrect results?
15:39:40 <AnMaster> ehird`, oh you had it good didn't you?
15:39:45 <soupdragon> incorrect results
15:39:48 <AnMaster> Uphill both ways only!?
15:39:56 <ehird`> soupdragon: Howso? What are the types of merge and parse?
15:40:29 <soupdragon> merge :: Derivation -> Derivation -> list Derivation
15:40:43 <ehird`> What language is this? What is -- ok, I give up
15:40:43 <soupdragon> parse :: list Derivation -> list Derivation
15:42:46 <AnMaster> ehird`, in Windows ME it was uphill *all three ways*
15:43:01 <ehird`> Bah! Windows ME could run Winhugs, I'm sure.
15:43:09 <ehird`> A veritable playground of programmification.
15:43:37 <AnMaster> ehird`, winhugs?
15:43:41 <soupdragon> oh I figured it out
15:43:43 <ehird`> Winhugs.
15:43:49 <AnMaster> oh right
15:43:53 <AnMaster> haskell hugs
15:44:10 <AnMaster> ehird`, couldn't windows 2000 professional do that too?
15:44:16 <ehird`> Apparently WinHugs even runs on '95.
15:44:24 <ehird`> AnMaster: Yes, but I was rebutting your HIDEOUS LIES that Windows Me was worse!
15:44:35 <soupdragon> I need to use dynamic programming oh god
15:44:38 <ehird`> Every Windows 95 or above can run Lisp and Haskell and therefore they are good. :P:
15:44:38 <Deewiant> If something runs on ME it probably runs on 95 and 98
15:44:41 <ehird`> *:P
15:44:42 <AnMaster> ehird`, You weren't woken up every day with a bluescreen
15:44:51 <ehird`> Deewiant: Me -> 98, yes, but 98 !-> 95.
15:45:02 <ehird`> 98 added quite a few more APIs and also intrinsically tied IE to the system.
15:45:11 <AnMaster> ehird`, and: I used windows 2.something once
15:45:12 <Deewiant> Yes, but most things don't use them
15:45:15 <AnMaster> only once
15:45:17 <AnMaster> but still
15:45:28 <ehird`> Deewiant: I played with Windows 95 for a few days and quite a lot of stuff works on 98 but not 95.
15:45:31 <Deewiant> Most things that would run on ME, that is
15:45:31 <AnMaster> it was uphill more than all three ways. Even the fourth way was uphill!
15:45:43 <ehird`> soupdragon: I wonder if language support for dynamic programming is a good idea.
15:46:00 <soupdragon> you mean like APL?
15:46:05 <ehird`> Dunno.
15:46:07 <AnMaster> ehird`, get haskell to run on linux 1.0 (linux 0.0.1 is just not worth trying I fear)
15:46:19 <ehird`> Hugs is pretty portable.
15:46:24 <soupdragon> this algorithm is so complex I can't do it
15:46:48 <soupdragon> and the efficent ones in the literature are even harder
15:47:10 <AnMaster> ehird`, okay then, if you get a linux 0.0.1 system to boot in some emulator (probably someone has already done this) then I challenge you to get linux running on it
15:47:12 <AnMaster> err
15:47:13 <AnMaster> hugs*
15:47:20 <ehird`> AnMaster: no.
15:47:20 <AnMaster> messy typo that
15:47:28 <AnMaster> ehird`, no?
15:47:52 <AnMaster> soupdragon, dynamic programming for what?
15:48:19 <ehird`> Windows Me: Old school! Play around with the system! THE WORLD IS YOUR OYSTER Windows 2000: More... 2000! Which will win the battle for the retro platform to run Lisp and Haskell on???????????????
15:48:35 <ehird`> Honorary contender: 98. Like Me, but less crashy. LAME
15:51:56 <AnMaster> ehird`, there is Windows 95 too. You forgot it in there.
15:52:16 <AnMaster> ehird`, and the challenger of the week: Windows NT 3.1!
15:52:33 <ehird`> Dishonorary contender: 95. Reasonable UI, well-performing, doesn't crash much, doesn't have IE fudged in.
15:52:37 <ehird`> Who would ever want that?
15:52:51 <AnMaster> XD
15:53:12 <AnMaster> ehird`, 2000 doesn't crash either. And isn't really old school
15:53:40 <soupdragon> AnMaster, parsing
15:53:44 <ehird`> Yes, it's a shame it isn't more old school; it would have a better standing in the retro platform to run Lisp and Haskell on contest.
15:53:50 <AnMaster> soupdragon, parsing what?
15:53:51 <ehird`> On the other hand, IT IS MORE 2000
15:53:55 <soupdragon> natural language
15:54:17 <AnMaster> ehird`, windows NT 3.1 still beats it
15:54:26 <ehird`> 3.1 is useless and futzy!
15:54:27 <AnMaster> it can run of fcking alpha.
15:54:33 <soupdragon> wolfram alpha
15:54:33 <AnMaster> pretty sure 2000 couldn't
15:54:41 <AnMaster> soupdragon, -_-
15:54:41 <ehird`> So can NT 4, but both only in server form.
15:54:42 <ehird`> No UI.
15:54:45 <soupdragon> :)
15:55:02 <AnMaster> ehird`, and MIPS
15:55:15 <ehird`> Your mother was a mips.
15:56:11 <AnMaster> ehird`, as for windows nt server having no UI? really?
15:56:21 <ehird`> Not on non-x86, duh.
15:56:31 <AnMaster> ehird`, so it had on x86? I see
15:56:40 <ehird`> Yes... Windows NT is a GUI system...
15:57:30 <AnMaster> ehird`, what is the source for nt 4 having no GUI on alpha?
15:57:37 <AnMaster> since I can't find it googling
15:57:52 <ehird`> If you want a source find one yourself.
15:58:01 <ehird`> I don't know of a source.
16:01:22 <AnMaster> ehird`, I conclude that without further evidence (of which I can't find any) this is probably a myth
16:01:31 <ehird`> You are wrong.
16:02:46 <ehird`> Hmm, well it seems some version could
16:02:50 <ehird`> http://www.alphant.com/ant_faq.shtml
16:02:53 <ehird`> Perhaps MIPS had no GUI
16:03:02 <ehird`> or perhaps 4 dropped the gui, with its switching to the 95 gui
16:03:15 <ehird`> Or I was misleadd
16:03:17 <ehird`> *mislead
16:03:20 -!- Slereah_ has joined.
16:04:23 <AnMaster> ehird`, well I didn't suggest you lied intentionally
16:04:59 <ehird`> "Latest blog article: Mininova limits its activities to Content Distribution service"
16:04:59 <ehird`> *BAM!* That was the sound of Mininova finally being bludgeoned to death.
16:06:56 <AnMaster> ehird`, which of these sounds most idiomatic: "No other <noun> was affected." or "No other <nouns> were affected."
16:07:07 <ehird`> Specify noun.
16:07:08 <AnMaster> where you replace noun/nouns with some other word
16:07:14 <AnMaster> ehird`, "table"/"tables" here
16:07:25 <ehird`> latter, I guess
16:07:52 <AnMaster> so it depends on the noun. And I suppose there is no simple set of rules for it :/
16:08:02 <ehird`> No, I didn't say that.
16:08:08 <AnMaster> oh
16:08:30 <AnMaster> sorry but what did you mean then?
16:09:21 <ehird`> I just couldn't get a feel of the sentence without seeing it in full.
16:10:45 <ais523> AnMaster: "tables" if there's more than one other table that could be affected
16:11:03 <ehird`> The former doesn't make senes if there's just one.
16:11:17 <ais523> ehird`: it does if there's just one more, I think
16:11:28 <ais523> although you could be clearer and say "The other table was not affected"
16:11:37 <AnMaster> ais523, there could be due to cascade I guess. hm
16:11:59 <AnMaster> well yeah there could have been
16:12:05 <ais523> they're both right, and I don't think people are consistent as to which they use
16:12:45 <AnMaster> okay
16:15:42 <AnMaster> from an old MS security bullentin: "RPC over TCP is not intended to be used in hostile environments such as the internet. More robust protocols such as RPC over HTTP are provided for hostile environments."
16:15:54 <AnMaster> anyone else who can spot the error?
16:16:06 <ehird`> It's not an error.
16:16:12 <ehird`> Obviously it means directly over TCP.
16:16:20 <AnMaster> ehird`, it doesn't say so
16:17:46 <ehird`> It's obvious.
16:18:16 <AnMaster> ehird`, true. But it is still slightly funny
16:18:30 -!- Slereah has quit (Read error: 110 (Connection timed out)).
16:30:38 <ehird`> Imhotep
16:34:44 <ehird`> So, #esoteric is eight years old this year.
16:34:50 <ehird`> Well; in December, I think.
16:35:53 <ais523> wow, it's that young?
16:36:20 <ehird`> Late 2002.
16:36:26 <ehird`> That's not really young.
16:36:54 <ais523> I assumed it would be older than I was
16:37:21 <ehird`> When were you born again?
16:37:36 <ais523> 1987
16:37:49 <ehird`> IRC was created in 1988...
16:38:04 -!- Asztal has joined.
16:38:17 <ehird`> And linpeople started in 1995, becoming OPN in 1998 and Freenode in 2002.
16:38:35 <ehird`> Seriously; you thought #esoteric was created in 1987 or earlier...?
16:38:41 <ais523> wow, /IRC/ is that young?
16:38:46 <ehird`> O_O
16:38:47 <ais523> I sort-of assume it's been around forever
16:38:49 <ehird`> You're fucking crazy.
16:38:59 <ais523> Usenet has been, after all
16:39:15 <ais523> ehird`: I'm the sort of person who could plausibly believe that IRC is older than the Web
16:39:15 <ehird`> Usenet was conceived in 1979.
16:39:22 <ehird`> It was publicly established in 1980.
16:39:25 <ehird`> ais523: it is
16:40:02 <ehird`> By Christmas 1990, Berners-Lee had built all the tools necessary for a working Web: the HyperText Transfer Protocol (HTTP) 0.9, the HyperText Markup Language (HTML), the first Web browser (named WorldWideWeb, which was also a Web editor), the first HTTP server software (later known as CERN httpd), the first web server (http://info.cern.ch), and the first Web pages that described the project itself
16:40:20 <ehird`> By Christmas 1990, Berners-Lee had built all the tools necessary for a working Web: the HyperText Transfer Protocol (HTTP) 0.9, the HyperText Markup Language (HTML), the first Web browser (named WorldWideWeb, which was also a Web editor), the first HTTP server software (later known as CERN httpd), the first web server (http://info.cern.ch), and the first Web pages that described the project itself
16:40:22 <ehird`> Erm
16:40:25 <ehird`> In 1984 Berners-Lee returned to CERN, and considered its problems of information presentation: physicists from around the world needed to share data, and with no common machines and no common presentation software. He wrote a proposal in March 1989 for "a large hypertext database with typed links", but it generated little interest. His boss, Mike Sendall, encouraged Berners-Lee to begin implementing his system on a newly acquired NeXT
16:40:25 <ehird`> workstation. He considered several names, including Information Mesh, The Information Mine (turned down as it abbreviates to TIM, the WWW's creator's name) or Mine of Information (turned down because it abbreviates to MOI which is "Me" in French), but settled on World Wide Web[1].
16:40:26 <ehird`>
16:40:32 <ehird`> In 1984 Berners-Lee returned to CERN, and considered its problems of information presentation: physicists from around the world needed to share data, and with no common machines and no common presentation software. He wrote a proposal in March 1989 for "a large hypertext database with typed links", but it generated little interest. His boss, Mike Sendall, encouraged Berners-Lee to begin implementing his system on a newly acquired NeXT
16:40:33 <ehird`> workstation. He considered several names, including Information Mesh, The Information Mine (turned down as it abbreviates to TIM, the WWW's creator's name) or Mine of Information (turned down because it abbreviates to MOI which is "Me" in French), but settled on World Wide Web[1].
16:40:36 <Asztal> IRC itself was created in 1988, I thought
16:40:37 <ehird`>
16:40:39 <ehird`> ...
16:40:43 <ehird`> ffff
16:40:46 <ehird`> On August 6, 1991, Berners-Lee posted a short summary of the World Wide Web project on the alt.hypertext newsgroup. This date also marked the debut of the Web as a publicly available service on the Internet.
16:40:49 <ehird`>
16:40:52 <ehird`> Yes
16:40:53 <ehird`> I said that
16:41:20 <Asztal> so you did
16:41:35 <Asztal> One day I'm going to make this thing automatically fetch logs.
16:42:34 <ehird`> Here's an interesting factoid: #haskell was founded by a ~15 year old.
16:42:57 <ehird`> ...being John Resig, creator of jQuery.
16:43:11 <ehird`> (15 when it was created, that is.)
16:44:56 <ehird`> Could have been younger, actually: all the wiki says is "late 90s".
16:44:58 <ehird`> 15 is for 1999
16:48:28 <ehird`> ais523: is there an Emacs keycombo for kill-buffer-and-detile?
16:48:43 <ehird`> i.e. C-x k C-x 0
16:48:47 <ais523> not by default, I think
16:48:52 <ehird`> *C-x k RET C-x 0
16:48:54 <ais523> but that sort of thing is a trivial .emacsrc addition
16:49:07 <ehird`> *.emacs
16:49:10 <ais523> err, yes
16:49:22 <ais523> you can tell I've been writing too many roguelike bots recently
16:49:24 <ais523> or possibly not
16:49:30 <ehird`> wat
16:49:40 <soupdragon> woah
16:49:47 <ehird`> Whoa.
16:49:50 <ehird`> </keanureeves>
16:49:57 <ais523> if you've spent hours poking around .nethackrc and .crawlrc then you get used to that naming convention
16:50:28 <ehird`> hmm... there isn't a single platform where Emacs even remotely follows conventions
16:50:34 <ehird`> not even old-style unix
16:50:45 <ehird`> all the platforms it fit into, if there ever were any, are now long dead
16:52:59 <pikhq> Its conventions are older than the platforms it runs on.
16:53:02 <pikhq> :P
16:53:17 <ehird`> http://en.wikipedia.org/wiki/Usenet#History microsoft used to be part of tiny usenet :-D
16:53:26 <ehird`> on a UUCP link
16:53:51 <ehird`> ah, perhaps not the discussion groups, reading the text
16:53:52 <ehird`> but still!
16:53:55 <ehird`> such a small network
16:55:51 <ehird`> Hey guys.
16:55:59 <ehird`> It's 28 days to go until 6000 September 1993
16:56:32 <ais523> ooh
16:56:37 <ais523> a worrying milestone
16:57:03 <ehird`> Let's take over the internet and purge it of the infection for 6001.
16:57:07 <ais523> see, the Eternal September is ages ago, and I assumed it was a relatively recent thing compared to the length of time the Internet had been around
16:57:24 <ais523> well, the various major protocols of it
16:57:33 <ehird`> Then it will be known: That the September of 1993, did then go on for over 16 years,
16:57:57 <ehird`> Finally coming to rest, and passing on the torch to February 2010, after 6000 days.
16:59:42 <ehird`> That would be nice.
17:02:41 <ehird`> Window managers that don't let me give keyboard input to one window while still keeping another on top irritate me.
17:03:04 <soupdragon> 6000 September 1993???
17:03:15 <ehird`> soupdragon: You know not of what it is?
17:03:19 <soupdragon> no I have no clue
17:03:22 <ehird`> Then go back to the sewers!
17:03:25 <soupdragon> I feel like such a child
17:03:33 <ehird`> soupdragon: hey i'm kidding
17:03:45 <ehird`> i was BORN two years after the eternal september started
17:03:52 <ehird`> i'm, like, 3 minutes old
17:04:05 <ehird`> ok technically one year and eleven months, give or take some days
17:04:09 <soupdragon> ohh
17:04:20 <soupdragon> September 6000th
17:04:49 <ehird`> It'll be the six thousandth of September, nineteen ninety three.
17:05:39 -!- oerjan has joined.
17:05:44 <ais523> sdate is a fun program, all sorts of programs break in all sorts of fun ways when given days of the month above 31
17:46:19 -!- jpc has joined.
18:28:46 <ehird`> Locusts; swarms thereof.
18:30:52 <oerjan> Pianos; sailing through the sky.
18:34:07 <ehird`> Ontology; disputing technological oligarchies.
18:39:01 <oerjan> Pheromones; logic through invisibility.
18:44:05 <ehird`> Jackdaws; unto which they must die.
18:47:59 <oerjan> Silver; the end.
18:48:07 <ehird`> Gold; THE BEGINNING
18:48:32 <oerjan> Irony; lost on the world.
18:48:45 <ehird`> Poppycock; how absurd.
18:49:15 <oerjan> Heroin; saving the planet from ambushes.
18:49:29 <ehird`> Talisman; opening your direct-interface specimen.
18:49:46 <oerjan> Tasmanian; a deal with the devil.
18:49:54 <ais523> Ravens; perching on a rainbow.
18:50:40 <oerjan> Rendering; a ray of sunshine.
18:50:40 <ehird`> Fractal; an image (one type of image is, quoting ehird, a fractal: "Fractal; an image conterningitsulf... STACK OVERFLOW
18:50:49 <ehird`> (I even captured the only-similar raspect!)
18:51:35 <oerjan> Imperfection; notably not able.
18:55:17 <ehird`> Tracksuits; what do they bring to the table?
18:55:38 <oerjan> Food; but that is not suitable.
18:56:06 <ais523> wow, you two have come up with a tremendously deep pun between you there
18:56:49 <oerjan> Depths; out of them.
18:57:17 <ehird`> Tachyons; a bout of them.
18:57:53 <oerjan> Klein bottles; faster on the inside.
18:58:06 -!- Sgeo has joined.
18:58:24 <ehird`> Tapestry; put it on the bin slide.
18:59:02 <oerjan> Slides; tape them to your ruler.
18:59:30 <Sgeo> "sorry for the IM but im looking for your store were you sell the slave pet's bed"
19:00:11 <ehird`> Rhyming; we've suddenly started this, is this crueler?
19:00:35 <oerjan> Disturb; do not move ahead.
19:01:53 <ehird`> Suddenly; I find myself rather dead.
19:02:07 <ais523> Emergency; come out and have a look!
19:02:19 <ehird`> Fuck; ...you, I'd rather stay and read a book.
19:02:30 <oerjan> Negative; reading a ... damn.
19:02:45 <ehird`> Green; the colour of the eggs and ham.
19:03:07 <oerjan> Splat; the sound of eggs falling.
19:03:57 <ehird`> BRB; I hear my mom calling.
19:04:53 <oerjan> Reason; not bought for silver.
19:05:16 <oerjan> </whistles innocently>
19:05:40 <ehird`> Listen; I know you told my friend Ilver.
19:06:19 <oerjan> Ilver; I 'ardly know her.
19:06:58 <ehird`> Kielder; say orange, it'd be radder.
19:07:03 <ais523> Rhyme; the lack of a reason.
19:07:13 <ehird`> Thyme; museli and treason.
19:07:55 <oerjan> Chilli; way up the ladder.
19:08:46 -!- adam_d has quit (Read error: 110 (Connection timed out)).
19:11:42 <ehird`> KAZAM; BAK OK TIK!
19:13:09 <oerjan> Magic; does not stick.
19:15:35 <ais523> Bring; the thin of thick.
19:16:21 <oerjan> Verb; the adjective of abjective.
19:16:21 <anmaster_l> ais523 or ehird`: In English text do you write "the enter key" or "the Enter key"?
19:16:49 <oerjan> Enter the key; third act.
19:16:52 <ais523> anmaster_l: the second if I'm being formal
19:16:52 <anmaster_l> ....
19:17:07 <anmaster_l> ais523, thanks, formal indeed here
19:17:08 <ais523> I'd quite possibly use the first on IRC, though
19:17:14 <anmaster_l> well yes
19:17:39 <anmaster_l> ais523, "the arrow keys" would be like that in formal text though?
19:17:46 <ehird`> *the Return key
19:17:50 <ehird`> Unless you mean the numberpad one.
19:17:59 <ehird`> "press Return", though, not "press the Return key".
19:18:05 <ais523> ehird`: the Return key on this keyboard has ENTER written on it
19:18:12 <ehird`> ais523: your keyboard is dumb.
19:18:19 <ais523> I'm not entirely sure what effect that has on your theory, which I also believe to be correct
19:18:29 <anmaster_l> ais523, same, and for unknown reason my key repeat died -_-
19:18:31 * anmaster_l prods
19:18:33 <ais523> ok, it also has ` to the left of the spacebar
19:18:44 <ais523> which is also a weird place to put a key
19:18:51 <anmaster_l> oh synergy still running.
19:18:53 <ais523> for all I know, they put numpad enter the place most people put return
19:18:58 <anmaster_l> and focused in the wrong place
19:19:09 * ehird` fiddles with Frink to get a nice OS X .app for it
19:19:36 <anmaster_l> ais523, so it is the return key then?
19:19:48 <ais523> the Return key
19:19:59 <ais523> and as ehird says, it would just be "press Return" if you wanted someone to press it
19:20:10 <ais523> but "the Return key" if you were trying to describe, say, where it was or what colour it was
19:20:12 <anmaster_l> hm
19:20:29 <anmaster_l> I now ended up with "press Return to return to the main menu"
19:20:37 <anmaster_l> which looks rather out of place in a formal text
19:20:53 <ehird`> "press Return to exit to the main menu"
19:21:03 <ehird`> "to return to the main menu, press Return"
19:21:17 <anmaster_l> good thing we don't have an exit key ;P
19:21:35 <anmaster_l> the latter works better I think
19:21:36 <anmaster_l> thanks
19:22:50 <ehird`> e beardseconds -> pi nanometers
19:22:50 <ehird`> 4.3262798971613254367
19:22:52 <ehird`> --Frink
19:23:13 <ehird`> Yep, the pinanometers. Who would use any other unit of llength apart from the beardsecond?
19:24:58 <ais523> what do you use for volume? parsec-barns?
19:25:18 <ehird`> parsec barn
19:25:18 <ehird`> 3.0856775813057289536e-12 m^3 (volume)
19:25:19 <ehird`> Why not.
19:25:52 <ais523> hmm, that's rather small, lightyear-barns might work better
19:26:40 <ehird`> (100 lightyear) barn
19:26:40 <ehird`> 5912956545363/62500000000000000000000 (exactly 9.4607304725808e-11) m^3 (volume)
19:27:01 <ehird`> oh wow
19:27:05 <ehird`> it seems like "light century" works
19:27:14 <ehird`> oh, no
19:27:16 <ehird`> anyway
19:27:22 * ehird` promptly does lightcentury := 100 lightyears
19:27:43 <ehird`> http://futureboy.us/frinkdata/units.txt ;; take a look at how many units frink comes with...
19:28:19 <soupdragon> pianometers
19:29:35 <ehird`> (four score + seven) days
19:29:35 <ehird`> 7516800 s (time)
19:32:38 <pikhq> The beardsecond, you say?
19:43:50 <ehird`> Yes, I do say.
19:44:19 <ais523> hertz per dioptre!
19:54:28 <anmaster_l> in English, what are the rules for capital letters in headings?
19:54:46 <anmaster_l> for a lab report or such
19:54:49 <ais523> all words capital except very common ones
19:55:01 <oerjan> Plaster them Everywhere Except on Pronouns
19:55:02 <ais523> "the" "and" "a" are likely to not need initial capital letters
19:55:07 <anmaster_l> oerjan, :D
19:55:16 <ais523> "of" also takes a lowercase
19:55:17 <anmaster_l> ais523, "and" "or"?
19:55:22 <ais523> lowercase
19:55:32 <ais523> basically, pretty much any word that's interesting is initcaps
19:55:50 <ais523> words needed just for grammatical correctness, or things like "and" and "or" that structure the sentence, are lowercase
19:55:52 <ehird`> anmaster_l: title case is shit
19:55:55 <ais523> and you don't put a full stop at the end
19:55:56 <ehird`> Use sentence case.
19:55:58 <anmaster_l> ehird`, it is hard to remember
19:56:03 <ehird`> It just looks ugly
19:56:05 <oerjan> Student Dies of boredom
19:56:21 <ehird`> Like You're Some Sort of Shit-Peddler in the 1800s Marketing Your Shit
19:56:33 <ehird`> Boy-Wonder Coca-Cola Drinker!
19:56:37 <pikhq> ehird`: Except that that had easy-to-remember rules.
19:56:38 <ehird`> "The Astoundment of a Nation"
19:56:57 <anmaster_l> ais523, what about "The use of the word "and" in middle English"
19:57:00 <pikhq> Namely, one would only capitalise Nouns, for such was the Rule of the Age.
19:57:01 <pikhq> ;)
19:57:02 <anmaster_l> how would you caps that title
19:57:02 <anmaster_l> :P
19:57:14 <pikhq> anmaster_l: The Use of the Word "And" in Middle English
19:57:17 <anmaster_l> (remove the outer quotes first)
19:57:17 <ehird`> The Use of the Word "And" in Middle English
19:57:20 <ehird`> Alternatively:
19:57:21 <anmaster_l> hm
19:57:23 <anmaster_l> right
19:57:25 <ehird`> The use of the word "and" in Middle English
19:57:32 <ehird`> Oh snap, I just injected some sanity
19:57:52 <ais523> journal article titles tend to be sentence-case
19:57:57 <ais523> some newer book titles, too
19:58:05 <oerjan> And and Or or Then, then.
19:58:06 <anmaster_l> ais523, and what about lab reports?
19:58:10 <ehird`> Redrawerredrawers.
19:58:19 <ehird`> (Real actual wordism.)
19:58:22 <ais523> anmaster_l: also sentence case, I expect
19:58:30 <oerjan> ehird`: redrum
19:58:39 <anmaster_l> oerjan, I have to say that you forgot that you could insert a "that that" there.
19:58:44 <anmaster_l> ais523, hm
19:58:49 <ehird`> Redrawerredrawers is a word, which delights me. I wish redlorryellowlorry was too.
19:58:57 <anmaster_l> ais523, in headings I meant
19:59:11 <ais523> ehird`: two ys?
19:59:22 <pikhq> Also, the rules are a *tiny* bit hard, because they vary from style guide to style guide (re: title case)
19:59:35 <oerjan> forgo that that that that forgot
19:59:45 <ehird`> ais523: "redrawers", it ends with.
19:59:52 <ehird`> That could be re-drawers, but I read it as red drawers.
19:59:55 <ehird`> Red drawer red drawers.
20:00:20 <anmaster_l> ehird`, I think he meant "red lorry yellow"
20:00:23 <ehird`> It is also the real longest word you can type with just one hand with QWERTY.
20:00:28 <anmaster_l> as the place with the two ys
20:00:38 <ais523> that was almost certainly coined for logologists to enjoy
20:01:01 <oerjan> logologists, lol
20:01:20 <soupdragon> FD 10
20:01:22 <soupdragon> RT 90
20:01:26 <ais523> also, I can type anything, such as this comment, with one hand, if I could type it with two; it just takes longer
20:01:34 <anmaster_l> Redrawerredrawers <-- how does it parse: "re-drawer re-drawers"? Or "red drawers re-drawers"?
20:01:42 <anmaster_l> or one of the two remaining ways
20:01:44 <ais523> barring, possibly, things that need stupid modifier-key combinations
20:02:05 <anmaster_l> re-drawer red-drawers or re-drawer re-drawers
20:02:05 <oerjan> red rawer redrawers
20:02:34 <anmaster_l> jm
20:02:38 <ehird`> ais523: oh, shut up
20:02:47 <ehird`> anmaster_l: it's an entirely separate word
20:02:48 <anmaster_l> hm*
20:02:49 <ehird`> it doesn't parse any way
20:02:53 <anmaster_l> forgot about a d there
20:02:57 -!- Sgeo_ has joined.
20:02:57 <anmaster_l> ehird`, well what does it *mean*
20:03:12 <ehird`> Oh, wait.
20:03:19 <ehird`> It might be a wordlist error for reddrawer\nreddrawers
20:03:24 <anmaster_l> hehe
20:03:36 <ehird`> *redrawer
20:03:47 <ehird`> % grep '^redrawer' /usr/share/dict/words
20:03:47 <ehird`> redrawer
20:03:47 <ehird`> redrawerredrawers
20:03:47 <ehird`> redrawers
20:03:49 <anmaster_l> redwarfs
20:03:53 <ehird`> --Slashdot
20:03:56 <ehird`> Yep, a bug
20:04:00 <ehird`> devertebrated it is, then
20:04:09 <ehird`> Or tesseradecade
20:04:15 <ehird`> Or aftercataract
20:04:50 <anmaster_l> ehird`, not listed like that in mine
20:04:54 <ais523> about the whole "'typewriter' on the top row" thing, I wonder if that's coincidence or deliberate?
20:04:56 <anmaster_l> what system had the bug
20:05:12 <anmaster_l> ais523, what is that "thing"?
20:05:20 <ehird`> http://icon.shef.ac.uk/Moby/
20:05:25 <ehird`> Moby wordlist has the bug, so probably a copy of it
20:05:52 <ais523> anmaster_l: "typewriter" can be typed using just the top row of letters on a QWERTY keyboard
20:06:08 <soupdragon> ehird you're getting a lot of data right now, why?
20:06:13 <anmaster_l> ais523, btw how do you write acronyms in plural?
20:06:23 <ais523> umm, "acronyms"?
20:06:27 <anmaster_l> ais523, example here is (yes I dislike this module -_-): DBMS
20:06:35 <anmaster_l> for "database management system"
20:06:40 <ehird`> DBMSs
20:06:42 <ehird`> OSs
20:06:44 <ehird`> RDBMSs
20:06:46 -!- Sgeo__ has joined.
20:06:47 <ais523> anmaster_l: the formal grammar books say to use apostrophe-s, as in DBMS's, but nobody does that
20:06:48 <ehird`> TLAs
20:06:55 <ais523> lowercase s after capital letters is used by everyone in practice
20:06:58 <anmaster_l> ais523, ah when is the :s for?
20:07:01 <ehird`> ais523: that aggravates me
20:07:08 <ehird`> "80's", especially, makes me rage
20:07:14 <ais523> possibly because 's for plurals is obviously wrong, despite being recommended in this particular case
20:07:16 <ehird`> we don't need more fucking exceptions in the fucking language!
20:07:30 <oerjan> aggravates, that's another
20:07:32 <ehird`> english style guides are bullshit anyway
20:07:41 <ehird`> serving only idiots in ivory towers who think they define the language
20:07:53 <pikhq> ehird`: Depends on the style guide, actually.
20:08:10 <pikhq> Some of the extant style guides are "The style that will be used for this particular publication".
20:08:22 <ehird`> yes but that's just controlfreakism
20:08:31 <pikhq> (those are at least vaguely reasonable in concept)
20:08:33 <ais523> still, grocers' apostrophe's are just annoying and typoy and bad grammar
20:08:43 <ais523> it's even worse when a grammar book requires them in certain cases!
20:09:15 <pikhq> That's painful.
20:09:19 <ais523> (the grammar books also advise pluralising individual letters with 's, as in "there are six e's in this sentence"
20:09:22 <ais523> )
20:09:30 <ais523> (that's more excusable, because there's no obvious right way to do that)
20:09:40 <ehird`> There are six Es in this sentence.
20:09:47 <ehird`> There are six "e"s in this sentence.
20:09:51 <ehird`> There are six 'e's in this sentence.
20:09:56 <ais523> ok, I like your second example
20:10:01 <ais523> probably better than the other two
20:10:14 <ehird`> I dunno, the third seems nicer; double quotes seem too bulky for such a simple quotation.
20:10:24 <ais523> the 's looks out of place there
20:10:27 <ehird`> What we need is Joy/Factor-style quotaations in English, obviously.
20:10:29 <ais523> maybe it would work better with smart quotes
20:10:32 <ehird`> There are six [e]s in this sentence.
20:10:41 <ais523> There are six «e»s in this sentence
20:10:54 <ehird`> He said that [she said that [I must die]].
20:10:58 <anmaster_l> <ais523> still, grocers' apostrophe's are just annoying and typoy and bad grammar <-- why is it called that
20:11:33 <ais523> anmaster_l: because allegedly, grocers used to use them a lot
20:11:34 <ehird`> There are six 「e」s in this sentence.
20:11:38 <ehird`> Japanese attack!
20:11:58 <ais523> even nowadays, you can walk past a greengrocer's stall and see them advertising carrot's and potatoe's, sometimes
20:12:13 * ehird` wonders how good WebNet's definitions are
20:12:13 <ais523> but I think they do it deliberately nowadays because people expect it, not because they think it's right
20:12:32 <pikhq> ehird`: Ah, Japanese punctuation.
20:12:33 <pikhq> They have much.
20:13:05 <anmaster_l> if you are suggesting usage of "'s" should be consistent then may I recommend dropping "it's"
20:13:11 <anmaster_l> and making "its" into "it's"
20:13:26 <anmaster_l> just for consistency you understand
20:13:48 <anmaster_l> you would have to write out "it is" I guess, but that is a small price to pay for consistency
20:13:59 <ehird`> its/it's is perfectly consistent.
20:14:10 <ehird`> If you disagree, you do not understand their expansions (well, only the latter has an expansion).
20:14:29 <ehird`> it's -> it is. its -> his/her for objects.
20:14:40 <ais523> "it's" is consistent, you'd expect "its" to also be spelt "it's" though
20:14:50 <ehird`> Why?
20:14:50 <ais523> if you were trying to make it consistent with nouns rather than pronouns
20:14:56 <ehird`> I don't say "she's wardrobe".
20:15:00 <ehird`> I say "her wardrobe".
20:15:07 <ais523> yep, because pronouns don't follow rules at all
20:15:33 <ais523> personally, I consider pronouns to be inconsistent-but-there's-nothing-you-can-do-about-it
20:15:45 <ehird`> They're not inconsistent -- they're arbitrary.
20:15:48 <anmaster_l> ais523, yes old-"it's" is consistent with "don't" and so on
20:15:57 <anmaster_l> but making both the same would cause confusion
20:16:15 <ehird`> possessive[she] = her
20:16:27 <ehird`> possessive[him] = his
20:16:32 <ehird`> possessive[it] = its
20:16:33 <anmaster_l> ehird`, I -> my too
20:16:38 <ehird`> Yes.
20:16:42 <ehird`> But it's not inconsistent at all.
20:16:47 <ais523> Lewis Carrol used to punctuate "shan't" as "sha'n't"
20:17:13 <anmaster_l> ehird`, well it would be _more_ consistent if you did the same transformation on all of them
20:17:25 <ehird`> Arbitrary is not inconsistent.
20:17:32 <ehird`> And there is certainly no inconsistency with its/it's.
20:17:42 <anmaster_l> ehird`, well okay, there isn't any rule for it to be consistent with. Since all of them are different
20:19:15 -!- Sgeo has quit (Read error: 110 (Connection timed out)).
20:19:30 <anmaster_l> ehird`, but it is inconsistent with the nouns
20:19:41 <anmaster_l> "the cat's ball of yarn" "its ball of yarn"
20:20:00 <anmaster_l> err
20:20:03 <anmaster_l> yeah
20:20:28 <anmaster_l> and then "ehird's pet" but "your pet" and you would say "my pet"
20:20:36 <anmaster_l> no consistency there
20:20:54 <anmaster_l> no order in the chaos that is the English language :/
20:20:55 <anmaster_l> oh well
20:22:32 -!- Sgeo_ has quit (Read error: 110 (Connection timed out)).
20:23:15 <anmaster_l> hrrm why are the usb ports so close to each other on a laptop. There are three next to each other. And they are turned vertically
20:23:38 <anmaster_l> to be able to get hold of the middle one to pull it out without pulling out the outer ones is almost impossible
20:23:47 <anmaster_l> ais523, ^
20:24:11 <ais523> anmaster_l: why would you expect me to know?
20:24:27 <anmaster_l> ais523, why wouldn't you?
20:24:53 <ais523> ehird`: help
20:25:18 <anmaster_l> but if you don't: cya, will be back in an hour or so
20:27:54 -!- Pthing has quit (Remote closed the connection).
20:32:39 <ehird`> ais523: back
20:32:43 <ehird`> ais523: yow, that was a bad one
20:32:55 <ehird`> hmm... anmaster_l is like the opposite of a solipsist
20:32:58 <ehird`> sort of
20:33:03 <ehird`> everyone knows everything except him
20:33:44 <ais523> it's a good thing everyone else in the office has gone home, I'm laughing so loud at seeing your reaction...
20:33:59 <ais523> which is a perfectly appropriate one, of course
20:34:26 -!- ehird has joined.
20:34:30 -!- ehird has quit (Remote closed the connection).
20:36:01 <soupdragon> XD
20:55:59 <anmaster_l> ehird`, you claim you know everything? Whoa! Is the Riemann hypothesis true?
20:56:16 <ehird`> ais523: ^ a whoosh of epic proportions
20:56:24 <anmaster_l> ehird`, no.
20:56:28 <anmaster_l> I was joking
20:56:28 <soupdragon> Riemann hypothesis is a trivial consequence of algebraic geometry
20:56:31 <anmaster_l> stop being silly
20:56:36 <ehird`> anmaster_l: yes, but your joke was based on a misinterpretation
20:56:40 <ais523> the word "whoosh" is losing its original meaning
20:56:41 <ehird`> I was not even jokingly claiming that I knew everything
20:56:45 <ehird`> so it doesn't even make sense
20:56:48 <anmaster_l> ehird`, on *intentional* misinterpretation
20:57:01 <oerjan> ais523: you could say the air has gone out of that balloon
20:57:01 <ehird`> anmaster_l: You fuck horses? Whoa! I'm calling the police!
20:57:08 <ehird`> ("misinterpretation" looks a lot like "horse" to ME.)
20:57:15 <anmaster_l> <soupdragon> Riemann hypothesis is a trivial consequence of algebraic geometry <- wait what?
20:57:23 <soupdragon> :)
20:57:27 <ais523> anmaster_l: soupdragon's trolling you
20:57:45 <anmaster_l> ais523, no I think he is just stupid.
20:57:57 <ais523> given that the atmosphere in this channel is one such that the regulars can subtly troll each other for months on end, I wouldn't be too surprised
20:58:03 <soupdragon> how can someone that mentions algebraic geometry be stupid?
20:58:21 <ehird`> soupdragon isn't stupid
20:58:28 <ehird`> are you confusing him with nooga, who *is* stupid?
20:58:31 <ehird`> or are you just being an asshole
20:58:36 <anmaster_l> well confused about which one the Riemann hypothesis is then
20:58:48 <ehird`> anmaster_l: NO!! I WAS JOKING! WAAH!
20:58:56 <anmaster_l> well,*
20:58:56 <ehird`> You're such an idiot you don't get jok-- oh, the irony.
20:59:17 <ehird`> Gotta be one to know one. Or however that thingymagic goes.
20:59:59 <anmaster_l> ehird`, slept badly recently?
21:00:12 <soupdragon> subtract 1 from noone.
21:00:30 <anmaster_l> also, are all you seriously thinking "<anmaster_l> ais523, why wouldn't you?" was actually meant *seriously*
21:00:36 <ehird`> I love how whenever I insult anmaster_l he comes up with something really insipid and dull like "omg you're not sleeping well"
21:00:44 <ehird`> What an idiotic reposte
21:00:51 <ehird`> anmaster_l: Let me spell this out for you.
21:01:05 <ehird`> You make a "joke", I make a comment about it. Cue you: "YOU MISSED MY JOKE"
21:01:19 <ehird`> Soupdragon makes a humourous statement, close enough to a joke.
21:01:20 <ais523> anmaster_l: it was just simply unanswerable, and not particularly a useful comment
21:01:23 <ehird`> Someone else even states this is a joke.
21:01:28 <ais523> because it was unanswerable, I didn't answer it
21:01:30 <ehird`> And then you go "well i tink dey're just stupid"
21:01:47 <ehird`> You see, this is ironic because you accuse others of not getting jokes while simultaneously failing to get them yourself.
21:02:03 <ehird`> At least I don't call you stupid when you make a shitty oneliner.
21:02:12 <soupdragon> the joker has become the joké
21:02:29 <oerjan> anmaster_l: please stop telling jokes. it only encourages ehird`
21:02:42 <anmaster_l> oerjan, yeah and he is worse at it than me even. :)
21:02:47 <ehird`> Please stop breathing. It only encourages the breathing fairy.
21:03:34 <soupdragon> ehird you are men
21:03:37 <oerjan> the breathing fairy is fine except when you get coins stuck in your throat
21:03:38 <soupdragon> ehird you are being mean
21:03:44 <ehird`> I am multiple men?
21:03:47 <ehird`> Astonishing.
21:04:09 <ehird`> soupdragon: i'm already past the point of no return wrt anmaster_l, don't really give half a shit about him any more
21:04:18 <anmaster_l> oerjan, best way is to ignore him for a bit I guess. Was a while ago that last happened
21:04:49 <ehird`> Please do, then the only idiocy you'll say relating to me will be about how you can't understand the channel without my messages
21:04:56 <oerjan> but it's so annoying to only see half of every conversation!
21:05:00 <anmaster_l> there. Done. That way he can't troll me for a while
21:05:06 <anmaster_l> oerjan, that *is* true.
21:05:08 <ehird`> Would be nice if you could keep it up for more than five seconds, but, you know.
21:05:10 <ehird`> Too much to ask.
21:05:27 <anmaster_l> oerjan, thus I guess I should strive for the goal of getting him to ignore me instead
21:06:01 <soupdragon> lol I just don't think you think you think you can could or wouldn't have not unless it was set up such that with what would anyway
21:06:07 <ehird`> I'm not idiotic enough to fragment the channel like that. If I couldn't stand hearing you, I'd just /part.
21:06:26 <ehird`> soupdragon: Has anyone ever been as far etc.
21:06:32 <soupdragon> :(
21:06:50 <oerjan> i of ever in away whether in so case of grammar
21:06:59 <anmaster_l> oerjan, :D
21:07:01 <ehird`> Am I drunk?
21:07:16 <soupdragon> oerjan, it's not even that I haven't lacked without which to correctly layout the words!
21:07:19 <oerjan> drunk with POWER
21:08:14 <oerjan> anyway, beware of AC power. it hertz!
21:08:46 <soupdragon> :)
21:09:08 <soupdragon> almost as bad as a splitting head ache
21:09:32 <oerjan> yes, splitting your head certainly aches
21:11:38 <uorygl> Alternating current power.
21:11:50 <uorygl> Alternating current power voltage charge!
21:13:38 <uorygl> Entirely adverb adjective noun sentence!
21:13:45 -!- Sgeo_ has joined.
21:14:08 <oerjan> Interjection!
21:14:39 <oerjan> dammit i was typing with focus into tatham's puzzles
21:15:45 <uorygl> Negative interjection; noun! Other person negative knowledge identity noun!
21:15:52 <oerjan> reset it completely, and you cannot undo past "n" after typing anything else :(
21:27:10 -!- soupdragon has quit ("Leaving").
21:32:13 -!- Sgeo__ has quit (Read error: 110 (Connection timed out)).
21:42:45 -!- jpc has quit ("I will do freaking anything for a new router.").
21:45:19 -!- ehird` has quit (Remote closed the connection).
21:45:23 -!- ehird has joined.
21:52:56 -!- jpc has joined.
22:12:04 <ehird> [[when ken and i described the new features we were proposing for plan 9 C, including inherited structure elements, to bjarne stroustrup, he said, "if you want C++ you know where to find it." and stormed from the room.]] —Rob Pike
22:12:29 <ais523> wait, that's a /stroustrup/ quote?
22:12:36 <ais523> it becomes 10 times more awesome given that context
22:12:51 <ais523> maybe 11
22:13:11 <pikhq> Man... Plan 9 C is so much better than C++...
22:13:21 <Sgeo_> I don't quite get it. Stroustrup is the inventor of C++, right?
22:13:28 <pikhq> Yes.
22:13:30 <ais523> Sgeo_: that's why it's funny
22:13:56 <Sgeo_> Oh, he felt that they were reinventing C++ basically
22:14:20 <Sgeo_> I think my sense of humor is dead
22:14:24 <pikhq> Well, they didn't add the unparsable feature to C, so.
22:17:45 -!- Gracenotes has quit (Remote closed the connection).
22:19:18 <ehird> i love the image of stroustrup being in the same room as rob pike and ken thompson
22:19:42 <ehird> and his face just getting redder and redder as they talk about the features they're going to add that sound like c++ features to him
22:22:04 <Sgeo_> I don't know who Rob Pike and Ken Thompson are
22:22:30 <Sgeo_> BRB
22:22:31 <pikhq> Sgeo_: You may know them for such things as "UNIX" and "C".
22:23:07 <anmaster_l> night
22:23:31 <pikhq> Ken Thompson more-so than Rob Pike.
22:24:17 -!- anmaster_l has quit ("Leaving").
22:26:21 <pikhq> Rob Pike and Ken Thompson are also responsible for Go.
22:33:47 <ehird> rob pike did later editions of unix + major part of plan 9 + go
22:33:55 <ehird> rob pike had nothing to do with c whatsoever
22:33:59 <pikhq> Right.
22:34:05 <pikhq> Thinko, I guess?
22:34:44 <ehird> or you just meant ken
23:02:10 <ehird> http://www.reddit.com/r/programming/comments/amc72/since_then_c_has_evolved_considerably_it_has_even/c0ibtge?context=4
23:02:17 <ehird> the mind boggles
23:02:33 <ehird> i want to stab him.
23:03:44 <pikhq> Programming and management are so radically different... Argh.
23:03:55 <pikhq> (I should note that in both cases, I mean "doing them well")
23:04:08 <pikhq> Doing them poorly can, of course, be done by any shmuck.
23:04:18 <ehird> anyone who says "If I were to pursue it, I would be great at the job. I'm very driven, and I excel at nearly everything I do" is essentially degrading every profession in existence
23:04:29 <pikhq> Yes.
23:04:33 <ehird> by saying that it takes less than a lifetime
23:04:58 <ehird> anyone who says it, therefore, is probably shit at everything and a narcissist to boot
23:05:03 <ehird> ugh.
23:06:57 <pikhq> Most definitely a narcissist, probably shit at everything.
23:07:25 <ehird> i hate you so fucking much microsoft, because i activated my LEGIT copy of windows xp five times
23:07:33 <ehird> you force me to either phone you up and deal with your BULLSHIT
23:07:40 <ehird> or just download a serial
23:07:43 <ehird> guess which one i chose, microsoft
23:08:41 -!- ais523 has quit (Remote closed the connection).
23:12:17 * ehird names his VM "Q"
23:12:22 <ehird> Whyever not?
23:12:35 <ehird> Can YOU think of a better hostname than Q? Huh? HUH?
23:26:05 <ehird> fuck fuck FUCK
23:26:07 <ehird> my imac display is fucking up
23:26:18 <ehird> I have alternating lines of light/dark, very subtle but i can see them in window shadows
23:26:30 <ehird> and the blue colour used in white/blue alternations around the ui has gone off
23:27:49 <ehird> ...and the bands are only intermittent it seems, ffff
23:39:47 <Sgeo_> ehird, you bought a copy of XP just for the VM?
23:39:59 <ehird> Whatever gave you that impression?
23:40:49 <Sgeo_> You said it was a legit copy
23:41:05 <Sgeo_> I think it's supposed to be one copy per system
23:41:05 <ehird> It's inconceivable that I have a legit copy of XP that is years old.
23:41:15 <Sgeo_> An unused legit copy?
23:41:16 <ehird> Pretty sure that's a new thing
23:43:44 * Sgeo_ is sometimes scared that he might not be a good programmer
23:45:53 <ehird> You aren't! (I am such a bastard.)
23:46:46 * Sgeo_ expected something along those lines from ehird
23:47:16 <Sgeo_> And of course, I can't talk to classmates about this, because in their eyes, I'm superprogrammer. I think it says more about them than it does me
23:48:19 <ehird> Have you improved your programming skills since PSOX?
23:48:28 -!- Pthing has joined.
23:48:48 -!- FireFly has quit ("Leaving").
23:48:53 <Sgeo_> The only major project I've really worked on since PSOX I was fired from due to procrastination issues
23:49:16 <ehird> You know, using business terms like "fired" to apply to non-business projects is really dumb.
23:49:23 <ehird> It will infect your mind.
23:50:09 <Sgeo_> Well, I'm no longer part of the project in the capacity of a programmer, although if I learn C#, I can contribute again
23:50:35 -!- coppro has joined.
23:51:17 <ehird> don't learn c#.
23:52:10 <coppro> you can fake knowing C#
23:52:20 <Sgeo_> A bit late for that, I know the basics, I think
23:52:28 <Sgeo_> Why is C# so horrible?
23:52:49 <coppro> a) it's controlled by Microsoft b) there are no quality open implementations
23:52:56 <coppro> (the two issues, while related, are not the same)
23:52:58 <ehird> coppro: Uhh, Mono is pretty quality.
23:53:02 <ehird> Anyway, here are the eral reasons:
23:53:06 <coppro> ehird: For the subset it implements, yes
23:53:11 <ehird> - It's just Java + lambdas + LINQ
23:53:17 <coppro> true
23:53:17 <ehird> LINQ is basically just Haskell Lite
23:53:24 <ehird> Lambdas are just... lambdas
23:53:28 <ehird> And Java is, ugh, Java.
23:53:31 <ehird> *real
23:53:33 <ehird> - Microsoft
23:53:38 <ehird> - It's not fun at all!
23:53:39 <Sgeo_> I'm not sure if the new programmer knows anything about LINQ
23:53:53 <Sgeo_> Someone with a quote mark in their name showed up unexpectedly and it caused an SQL error
23:54:00 <coppro> I'm not kidding about faking your name btw
23:54:07 <coppro> *faking C# knowledge
23:54:20 <ehird> Sgeo_: why are you always so tied to utter shit
23:54:31 <ehird> like that asylum guy and this
23:54:47 <coppro> C# isn't utter shit; it's juts unexciting
23:54:50 <coppro> *just
23:54:57 <ehird> coppro: I'm not talking about C#
23:54:59 <coppro> oh
23:55:08 <ehird> [23:53] Sgeo_: I'm not sure if the new programmer knows anything about LINQ
23:55:08 <ehird> [23:53] Sgeo_: Someone with a quote mark in their name showed up unexpectedly and it caused an SQL error
23:55:15 <Sgeo_> Oh, and this guy plans to use multi-threading with an SDK that doesn't really co-operate well with multi-t.. no, wait, he plans to start that way, and then switch to single-threading
23:55:24 <Sgeo_> ehird, it's a pre-pre-alpha thing currently
23:55:28 <coppro> thedailywtf.com wants your story
23:55:31 <Sgeo_> Although the fact that even then..
23:55:36 <ehird> Sgeo_: Seriously, you should make a conscious effort to avoid anyone this retarded.
23:55:43 <ehird> All they can do is make you dumber.
23:55:48 <coppro> starting with X and switching to Y later is always bad
23:55:52 <coppro> just start with Y
23:55:58 <ehird> lol@multi→single threading though
23:56:09 <ehird> Let's write all this complex infrastructure for performance gains... and then remove the performance gains!
23:56:13 <coppro> actually, that's not entirely true
23:56:28 <Sgeo_> He says he usually makes an effort to make everything organized, but this time he just wants results quickly
23:56:41 <Sgeo_> I can't blame him for that, considering that my failure to provide results was problematic
23:56:45 <ehird> http://i.imgur.com/cUUbt.png
23:56:45 <ehird> AAAAAAAAAH GOD AAAAAAAAAAAAAAAAAH
23:57:02 <ehird> Sgeo_: did you care about the project?
23:57:08 <ehird> did you find working on it fun?
23:57:12 <ehird> were you getting paid for doing this?
23:57:16 <Sgeo_> Not getting paid
23:57:22 <Sgeo_> But I liked the project
23:57:32 <Sgeo_> Although I kept getting distracted by things, like Stargate SG-1
23:57:42 <ehird> if A is *very, VERY high* then work. otherwise, if C is high then work. otherwise, if B is high then work.
23:57:45 <ehird> if not, don't work.
23:57:57 <ehird> I assume A isn't *very, VERY high* for you, i.e. you don't care about it more than, say, water.
23:58:06 <Sgeo_> ehird, wrong
23:58:14 <Sgeo_> A is very high for me
23:58:26 <Sgeo_> It's a futuristic remake of a game that holds a lot of nostalgic value for me
23:58:31 <ehird> But not very, *very* high. I mean the amount Eliezer Yudkowsky cares about the singularity.
23:58:49 <ehird> I think EY would kill himself if it'd cause the singularity.
23:58:54 <coppro> you are allowed to do X and switch to Y later as long as you keep the switch under an hour's work
23:59:08 <ehird> So, you're not getting paid anything at all.
23:59:11 <ehird> So the final question is...
23:59:13 <coppro> and only to construct another component
23:59:14 <ehird> Did you find working on it fun?
23:59:35 <Sgeo_> Well, not fun as much as interesting
23:59:52 * oerjan vaguely thought EY believed in staying alive at all costs...
23:59:54 <ehird> Clearly not fun enough to make you actually do it, if you found watching Stargate more fun.
2010-01-07
00:00:06 <ehird> oerjan: no, he believes in everyone staying alive at all costs, not just himself
00:00:31 <ehird> however, U(singularity) + U(Eliezer Yudkowsky dying) >>> 0
00:00:52 <Sgeo_> ">>>"?
00:00:55 <Sgeo_> U()?
00:00:58 * oerjan assumes U is utility
00:01:04 <ehird> yes
00:01:07 <Sgeo_> o.O u() reminded me of MUSHcode
00:01:19 <ehird> >>> is "So much above you wouldn't believe it EVERRRRRRRR"
00:01:20 * Sgeo_ promptly finds the nearest gun and shoots himself
00:02:02 <oerjan> Sgeo_, on the other hand, would kill himself to be uploaded to a game. well i guess it's the same thing...
00:02:17 <Sgeo_> Then again, I tend to do that with any language that I've learned and since forgotten
00:02:20 <Sgeo_> Including Java
00:02:24 <ehird> Only if it features bad graphics and was most popular 2003-2005
00:02:29 <Sgeo_> lol
00:02:32 <ehird> And it has to have no real objectives, just virtual reality
00:02:39 <ehird> And it has to be abandoned too
00:03:02 <Sgeo_> Did I mention that this project is in Active Worlds?
00:03:12 <ehird> see
00:03:36 <Sgeo_> Actually, I'd say AW was more popular before 2002
00:05:01 -!- BeholdMyGlory has quit (Remote closed the connection).
00:05:19 <ehird> oreos are tasty
00:07:01 -!- comex has quit (Read error: 54 (Connection reset by peer)).
00:11:22 <ehird> Wow.
00:11:26 <ehird> Windows XP has sloppy focus.
00:11:48 <ehird> Tweak UI → Mouse → X-Mouse → [X] Activation follows mouse
00:20:50 * Sgeo_ goes to look at the old code from this giu
00:20:51 <Sgeo_> guy
00:21:31 <Sgeo_> Also, when I was faced with the same problem (that's pushing the need in his mind for multi-threading for now), I came up with what was basically an ugly hack to abuse Python's yield statement
00:21:34 <Sgeo_> So :/
00:23:00 <coppro> what is the problem?
00:23:18 <Sgeo_> Event handlers need to be able to pause for a certain amount of time
00:23:24 <Sgeo_> Or do something similar
00:23:56 <Sgeo_> In my Python code, I made it so that using a @sleeper decorator meant that the function could, say
00:23:59 <Sgeo_> yield 1000
00:24:09 <Sgeo_> And it would appear to the event handler that it would be sleeping for 1000ms
00:24:25 <Sgeo_> But it's actually dealt with in a scheduler I wrote
00:24:34 <Sgeo_> So that it could be single-threaded
00:24:47 <Sgeo_> Hold on, I'll show you the implementation
00:26:06 <ehird> Sgeo_: that's just cooperatiive scheduling
00:26:09 <ehird> *cooperative
00:26:10 <Sgeo_> http://codepad.org/3RnWliF9
00:26:14 <ehird> if you invented that without knowing what it is...
00:26:21 <ehird> congratulations; you're as intelligent as the first guy to think of it
00:26:55 <Sgeo_> ehird, but the yield "magic" is tightly integrated into the scheduler. And I might not have known the term, but I might have seen it someplace
00:27:01 * ehird crosses fingers, submits to domination by windows genuine advantage
00:27:05 <ehird> please, please let this crack have worked
00:27:33 <ehird> Sgeo_: Using coroutines as cooperative threads is common stuff, all you did was add an extra value that made the scheduler not resume for that amount of time.
00:27:37 <ehird> It's not a hack in any way.
00:28:09 <coppro> ehird: it's a hack because he abuses a language feature for it
00:28:16 <ehird> Uh, no.
00:28:22 <ehird> Python generators *are* coroutines.
00:29:05 <coppro> sure
00:29:06 * Sgeo_ feels validated
00:29:46 <SimonRC> with python generators you can only yield at the top-level function right?
00:29:58 <Sgeo_> SimonRC, what?
00:29:59 <ehird> SimonRC: as opposed to?
00:30:02 <ehird> like, nested functions?
00:30:13 <ehird> def a() { def b() { yield 3 } b() }
00:30:16 <SimonRC> no
00:30:28 <Sgeo_> from __future__ import braces
00:31:08 <SimonRC> if foo has a yield in it, then that yeild can't be factored out into another function bar, because then bar would become a generator itself
00:31:26 <ehird> ah.
00:31:30 <ehird> yes, that is true
00:31:36 <ehird> However
00:31:37 <SimonRC> however, if you used a channel to communicate, you could factor out yielding
00:31:38 <ehird> yield is just sugar
00:31:45 <SimonRC> sugar for what?
00:31:53 <ehird> ... no, wait
00:31:57 <ehird> I was thinking of generators
00:32:58 <SimonRC> I don't know much about this, but I remembered that caveat form somewhere.
00:33:05 <ehird> i think you are right.
00:34:56 <ehird> coppro: you're a filthy wants-to-pay-microsoft-for-windows person but even you think the way they do licensing and Windows Genuine Advantage is ridiculous and draconian right? because if not i'm afraid i can't continue considering you human
00:35:00 * SimonRC like characters with Special Ability: Recall useless shit you read somewhere.
00:35:17 <coppro> ehird: correct
00:35:23 <ehird> coppro: thank you
00:35:24 <coppro> also, I think Microsoft overcharges
00:35:30 <coppro> by a lot
00:35:46 * Sgeo_ once considered getting a crack for this
00:35:47 <SimonRC> but they do seem to need all thatmoney
00:35:52 <ehird> coppro: please repent on my behalf to the copyright gods, I pirated windows and several serial keys and WGA cracks because they refused to let me use my legit copy because i'd used it 5 times before
00:35:53 <SimonRC> they use it after all
00:36:01 <ehird> i hope you can personally forgive me.
00:36:02 <ehird> :D
00:36:03 <Sgeo_> copy of Windows. IE8 was installed when I did a repair install, and that apparently cxauses problems
00:36:10 <coppro> ehird: can't you phone them?
00:36:12 <Sgeo_> So I uninstalled IE8 and problem solved
00:36:19 <coppro> ehird: also, I support your cause
00:36:36 <ehird> coppro: yeah, but i don't feel like i should have to pay phone charges (ok it's not me who pays them) so i can use a product that was legally bought
00:36:54 <coppro> isn't it toll-free?
00:37:04 <ehird> maybe in america, I actually have no idea here
00:37:20 <ehird> it's past midnight, anyway, and these fun escapades rarely last more than a day or two
00:37:31 * SimonRC goes to bed
00:37:46 * Sgeo_ is addicted to the Spaceballs theme
00:37:50 <ehird> ok i'm gonna have to download a wga overrider thingy
00:38:05 <ehird> seems to be the only way to use ms update
00:39:32 <coppro> ehird: IIRC, the thing that complains about your key being overused has a phone number
00:39:53 <coppro> I've never had trouble activating over the phone
00:40:13 <coppro> it's probably easier than cracking too
00:40:14 <ehird> yeah i know, but honestly this is basically equivalent, except i violate a horribly broken law anyway
00:40:26 <ehird> i'm giving microsoft the exact same amount of money i would if i did it that way
00:40:39 <ehird> so realistically, microsoft probably don't actually care, as an entity, all that much
00:41:07 <ehird> (considering that corporations, as a collective entity, only care about profit)
00:42:36 <coppro> I'm generally more comfortable running uncracked software where I can avoid it
00:42:42 <coppro> err
00:42:44 <coppro> you know what I mean
00:42:55 <coppro> (not that I won't crack software)
00:42:59 <ehird> yeah but you have a silly brain that believes in intellectual property and whatnot!
00:43:04 <ehird> unless you mean in the evil malware sense
00:44:23 <ehird> ugh, where the fuck is that wga overrider
00:45:44 * Sgeo_ vaguly wonders why this guy saw fit to include a form
00:46:35 <coppro> ehird: I believe that, fundamentally, intellectual property laws are a good thing. That doesn't stop me from violating the current ones
00:46:47 <Sgeo_> This guy has also bitched about the guy who made the .NET wrapper bitching about the name of the variable holding the instance. This guy named it sdk
00:46:58 <coppro> O_o
00:48:05 <Sgeo_> cmd.CommandText = "SELECT * FROM [Userstats] WHERE [citnum] = '" + Citizen.ToString() + "'";
00:48:39 <ehird> Sgeo_: stop reading that code. your brain will melt
00:48:54 <coppro> aah
00:49:06 <Sgeo_> Well, to be fair, citizen names shouldn't include single-quotes.. I think
00:49:40 <ehird> no that's not fair
00:49:57 <ehird> oh cool you can get windows security updates and shizz w/o wga
00:50:12 <ehird> am happy
00:51:31 <ehird> ehh
00:51:36 <ehird> except some upd— you know what
00:51:42 <ehird> coppro: do you keep logs of this channel?
00:51:53 <coppro> ehird: not personally, no
00:51:57 <ehird> dammit
00:51:58 <ehird> Sgeo_: you?
00:52:02 <coppro> why?
00:52:08 <Sgeo_> ehird, topic
00:52:11 <ehird> deewiant mentioned a wga disabler thingy that i used before and it worked great :-)
00:52:17 <Sgeo_> Yes, I do keep logs, somewhere
00:52:21 <coppro> there's only one channel I log and that's because I need to
00:52:26 <Sgeo_> But never really used them
00:52:37 <ehird> Sgeo_: do you know how to grep
00:52:47 <coppro> wget + grep gg
00:52:50 <Sgeo_> ehird, don't feel like installing MinGW or whatever
00:52:59 <ehird> coppro: yeah but i'd have to grep a lot
00:53:35 <coppro> ehird: script
00:53:44 <ehird> too much work, could just try googling instead
00:53:54 <coppro> or could try phoning
00:54:21 <ehird> 00:53, I'm 14 but sound like I'm 12, and I don't know where the CD is
00:54:24 <ehird> *but sound
00:54:29 <Sgeo_> Sgeo:What does that line look like in the new versiom?
00:54:29 <Sgeo_> Epsilion:cmd.CommandText = "SELECT * FROM [Userstats] WHERE [citnum] = @citnum";
00:54:31 <ehird> Phoning is... not happeniing.
00:54:36 <ehird> *happening
00:56:39 -!- Slereah has joined.
00:56:41 <Sgeo_> Crud, shouldn't have revealed this guy's nick
00:56:48 <ehird> why not
00:57:04 <ehird> tell him he doesn't know how to spell epsilon btw
00:57:06 <coppro> Sgeo_: Is that C# there?
00:57:20 <Sgeo_> coppro, yes
00:57:26 <coppro> O_o
00:57:28 <coppro> FAIL
00:57:32 <Sgeo_> Why?
00:57:53 <coppro> LINQ exists for a reason
00:58:07 <oerjan> WAIL
00:58:11 <Sgeo_> Does LINQ work with SQLite? Can LINQ insert?
00:58:14 <Sgeo_> ^doesn't know
00:58:36 <Asztal> Linq-to-SQL is deprecated, I think. It probably still works though.
00:59:03 <pikhq> LINQ is just monads.
00:59:52 <coppro> LINQ is not superbly exciting. It is, however, better than using strings.
01:00:14 <ehird> no, LINQ is just filter + map + stuff
01:00:44 <pikhq> Monadically.
01:00:56 <ehird> how is it monadic
01:01:19 <pikhq> Lemme pull it up.
01:01:45 <pikhq> http://blogs.msdn.com/wesdyer/archive/2008/01/11/the-marvels-of-monads.aspx
01:01:49 <Asztal> (>>=) is SelectMany(), fmap is Select(), return is different for each one.
01:02:04 <ehird> Okay then
01:02:19 <pikhq> And it's monad comprehensions instead of do notation.
01:02:20 <ehird> pikhq: that does not say how linq is it
01:02:21 <Asztal> My parsec-in-C# used it. (It was still ugly.)
01:02:29 <ehird> well
01:02:30 <ehird> sorta
01:03:08 <pikhq> It does halfway down.
01:03:32 <pikhq> They screwed it up by making return different for reach one, though.
01:04:34 <oerjan> you need full type inference to make return work, i think...
01:04:49 <oerjan> (with type classes)
01:04:50 * Sgeo_ goes to open the new version
01:04:52 <pikhq> Mmm, probably.
01:05:17 <pikhq> oerjan: Well, either type inference or a *lot* of type notations.
01:06:50 -!- Slereah_ has quit (Read error: 110 (Connection timed out)).
01:06:59 <ehird> TACHYONS
01:07:12 <oerjan> again?
01:07:19 <ehird> AGAIN
01:07:19 <oerjan> or is that, yet?
01:07:32 <ehird> Locks; what they bring tomorrow is exodus.
01:08:12 -!- Halph has joined.
01:09:02 <ehird> (oerjan: you are contractually obligated to continue)
01:09:14 <oerjan> Bah; you cannot force me.
01:09:32 <ehird> Unstoppable; a force that can force.
01:09:35 -!- coppro has quit (Read error: 104 (Connection reset by peer)).
01:09:42 -!- Halph has changed nick to coppro.
01:10:07 <oerjan> Unmovable; a heavy lift.
01:10:51 <ehird> Edible; intrepidable though they are.
01:11:56 <oerjan> Triffids; in soviet russia they eat YOU
01:12:33 <ehird> Metaphysics; OH HOW HOLY THEY'VE BECOME
01:12:54 <oerjan> Holiness; what you get with enough bullets.
01:13:26 <ehird> Colonoscopy; delicious and good for you.
01:14:11 <oerjan> Delirium; the scope of colonies.
01:14:44 <ehird> Binge; a reimplementation of the search engine in E (http://erights.org/)
01:15:27 <oerjan> Rights; what remains when nothing is left.
01:16:34 <ehird> Wrongs; what you get when you have all the rights.
01:16:49 <ehird> Gödel's theorem as a political statement? WHYEVER THE FUCK NOT.
01:17:44 <oerjan> Politics; a paradox of hypocrisy.
01:18:32 <ehird> Polyticks; many blood suckers.
01:19:40 <oerjan> Poll tax; see above.
01:20:06 <ehird> Altercation; let's start rhyming now, stagflation.
01:20:38 <oerjan> Stag; running across the nation.
01:21:06 <ehird> Palo Alto; two words, it's a fucking rebel station.
01:22:17 <ehird> So hey, it turns out that you don't have to deal with ANY of the Microsoft Update shit.
01:22:39 <ehird> Just set updates to notify-but-don't-download-or-install, uncheck WGA the first time it appears, and install away.
01:23:17 <oerjan> Nail polish; Altered pale stallion.
01:25:23 <ehird> Hexagon; retards all depleted by the bullion.
01:27:11 <oerjan> Pentagon; retards blowing up mussels.
01:27:27 <ehird> Retards; topic of the last two... bussels.
01:27:52 <oerjan> Bussels; heck if i know.
01:28:40 <ehird> UNTO; CRAPSHITT OF THE
01:28:43 <ehird>
01:29:07 <oerjan> GOTO; MONSTER DIJKSTRA
01:29:30 <ehird> OAIJSFIODSFJKst; tdio0rfk
01:29:49 <oerjan> arf; arf arf arf arf.
01:30:13 <ehird> ugh; grunt ug ug grraah
01:30:52 <oerjan> Mellifluous; loquacious multisyllabicism.
01:31:10 <ehird> haha man this would be hilarious if i wasn't pretty sure this guy is serious:
01:31:12 <ehird> [[That’s because the concept of “gaming” as distinct from work is characteristic of PC-type lifestyles. By contrast, we Mac users are at play in the very act of expressing ourselves creatively; we don’t need to compartmentalize our playtime into brief intervals of fun, as PC users must. CS4 is our arcade, Xcode our enduring Halo 3.]]
01:31:48 <oerjan> Batshit; insanity drug.
01:32:11 <ehird> Oligarchy; patriarchy monogamous homoiconicism.
01:33:44 <Sgeo_> Not entirely sure why e felt a need to prefix NPC_ in front of all the entries of an enum called NPCType
01:33:50 <oerjan> Garlic oil; iconic matron product.
01:34:14 <coppro> Sgeo_: in C#?
01:34:17 <Sgeo_> coppro, yes
01:34:22 <coppro> lol
01:34:29 <Sgeo_> he doesn't do similar with other enums
01:43:30 <ehird> hahaaaaaaa sp3 is installing with no wga in site
01:45:33 -!- oerjan has quit ("Night; good for bedbug food.").
01:48:04 <coppro> I suppose that choice of homophone is in fact appropriate
02:14:47 * Sgeo_ is in love with the way events work in .NET
02:16:22 <coppro> what specifically?
02:18:02 <Sgeo_> Everything, I think
02:18:15 <Sgeo_> The += to add to the methods called by an event handler
02:18:22 <Sgeo_> And everything follows that convention
02:18:40 <coppro> uh huh
02:18:47 <coppro> I've never really seen them as anything magic
02:18:52 <coppro> just as a nice signals/slots implementation
02:22:51 <ehird> bye
02:22:55 -!- ehird has quit.
02:41:51 -!- Pthing has quit (Remote closed the connection).
03:16:56 <Sgeo_> Whee! My C# code's working better than the supposedly equiv. Python code
03:35:23 <coppro> wrong
04:21:47 <Sgeo_> lol
04:33:36 -!- Asztal has quit (Read error: 110 (Connection timed out)).
04:34:20 -!- Gracenotes has joined.
04:37:01 -!- bsmntbombdood has changed nick to bsmntNSFWdood.
05:03:32 * Sgeo_ is starting to get somewhat comfortable with C#
05:03:41 <coppro> poor thing
05:04:00 <Sgeo_> Well, I love Visual C# Express's Object Browser
05:04:08 <Sgeo_> I love functional autocompletion
05:04:24 <coppro> autocomplete is nice
05:04:27 <coppro> but orthogonal to the language
05:04:30 -!- Gracenotes has quit (Connection reset by peer).
05:04:35 <coppro> never used the Object Browser
05:35:16 -!- Gracenotes has joined.
05:37:06 -!- MizardX has quit ("zzz").
06:12:14 -!- lament has joined.
06:15:40 -!- bsmntNSFWdood has left (?).
06:34:48 <Sgeo_> I like the way C# makes me think about reusability and modularity
06:36:10 -!- bsmntbombdood has joined.
06:37:35 <Sgeo_> I think I may be succumbing to Stockholm syndrome
06:38:08 <coppro> from a point of language usability, C# is an interesting language
06:42:11 <coppro> it's definitely designed around... hmm... what's the word
06:42:32 <coppro> quick workflow I think
06:44:35 <coppro> the only problem is that from a design standpoint it has a lot of flaws that get passed off as features...
06:44:41 <coppro> such is the world of corporate programming :(
06:50:56 <Sgeo_> Flaws such as?
06:51:23 <coppro> a /lot/ of method names with magic properties that aren't obvious at all
06:51:59 <coppro> anything magic should have some indication of its magicness
06:53:07 <coppro> the value/reference model is fundamentally broken
06:53:24 <coppro> since it relies on the programmer to check the documentation to see what's going on
06:53:33 <coppro> (or on compile errors)
06:54:58 -!- soupdragon has joined.
07:04:33 <Sgeo_> Good night all
07:05:34 <augur> hey soup
07:05:35 <augur> sup
07:05:39 <augur> sup soup sup
07:05:43 <soupdragon> hello
07:06:29 <soupdragon> an algorithm to parse CCG is much harder than I thought it would be!
07:07:20 <coppro> CCG?
07:16:08 <augur> soupdragon: innit just
07:18:11 -!- pikhq has quit (Read error: 54 (Connection reset by peer)).
07:23:39 -!- Sgeo_ has quit (Read error: 110 (Connection timed out)).
07:54:59 -!- adam_d has joined.
07:57:06 -!- adam_d has quit (Client Quit).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:10:13 -!- lament has quit.
08:36:56 -!- pikhq has joined.
09:37:14 -!- ttm_ has joined.
09:52:37 -!- mycroftiv has quit (Read error: 60 (Operation timed out)).
09:53:23 -!- dbc has quit (Read error: 110 (Connection timed out)).
09:55:39 -!- mycroftiv has joined.
10:13:53 -!- jpc has quit (Read error: 110 (Connection timed out)).
10:29:13 -!- FireFly has joined.
10:32:37 -!- oerjan has joined.
10:37:00 -!- BeholdMyGlory has joined.
10:48:11 -!- coppro has quit ("I am leaving. You are about to explode.").
11:17:52 -!- oerjan has quit ("leaving").
11:43:37 -!- Pthing has joined.
11:52:45 -!- ttm_ has quit (Read error: 110 (Connection timed out)).
12:28:51 -!- bdesk has joined.
12:28:55 -!- Sgeo has joined.
12:30:00 <bdesk> http://github.com/argriffing/Biofuck/blob/master/reverse-complement.bf
12:32:46 <soupdragon> pretty long
12:33:26 <soupdragon> nice
12:35:33 <bdesk> :D
12:49:11 -!- Asztal has joined.
13:21:33 -!- Pthing has quit (Remote closed the connection).
13:28:58 -!- ehird has joined.
13:29:28 <ehird> hang on imac display
13:29:33 <ehird> you gotta be good for a month or so yet
13:38:05 <ehird> 22:34:48 <Sgeo_> I like the way C# makes me think about reusability and modularity
13:38:06 <ehird> you know what i said about how you're a good programmer? even if i didn't say that
13:38:06 <ehird> i take it back
13:38:11 <ehird> 22:37:35 <Sgeo_> I think I may be succumbing to Stockholm syndrome
13:38:11 <ehird> very
14:10:00 -!- Asztal has quit (Read error: 110 (Connection timed out)).
14:20:38 <ehird> Huh; avast! antivirus does its initial scan in the Windows boot console thingy (what you get when upgrading service packs, or when booting fails).
14:31:51 -!- Sgeo_ has joined.
14:37:44 -!- Sgeo has quit (Read error: 60 (Operation timed out)).
14:43:23 <ehird> "Everyone here will upvote you, obviously because you're all programmers." —the batshit project manager I linked earlier
14:43:45 <ehird> (http://www.reddit.com/r/programming/comments/amc72/since_then_c_has_evolved_considerably_it_has_even/c0icwh8?context=6)
14:51:14 -!- ehird has quit.
14:51:16 <AnMaster> <ehird> Huh; avast! antivirus does its initial scan in the Windows boot console thingy (what you get when upgrading service packs, or when booting fails). <-- hm... well it makes sense
14:57:34 <augur> ehird: i cant help but read your posts in your voice
14:57:39 <augur> and that makes me giggle
14:57:39 <augur> <3
14:59:18 <augur> "Everyone here will upvote you, obviously because you're all programmers."
14:59:32 <augur> HAH. right, you dont think you're better than programmers. ok.
15:15:04 -!- Pthing has joined.
15:20:21 -!- ais523 has joined.
15:22:57 <soupdragon> I'm not your typical project manager
15:23:23 <soupdragon> who the fuck does she think she is? 22 she probably doesn't even know advanced calculus
15:23:48 <soupdragon> go manage some projects while integrate over a parametric line, bimbo
15:32:49 <ais523> that seems so weird out of context...
15:33:02 <ais523> (and 22 is old enough to have an MSc in mathematics, if required)
15:35:01 <soupdragon> I am dissing this girl from reddit who thinks she is all that
15:35:04 <cheater> who is 22
15:35:37 <ais523> I am, although I'm not who soupdragon is referring to, I think
15:36:16 <soupdragon> target changed to ais523
15:36:19 <soupdragon> beep
15:46:37 <cheater> heh
16:31:03 -!- MizardX has joined.
16:43:10 -!- ehird has joined.
16:43:42 <ehird> ais523: http://www.reddit.com/r/programming/comments/amc72/since_then_c_has_evolved_considerably_it_has_even/c0icwh8?context=6
16:43:58 <ehird> crazy project manager vs. me
16:44:36 <ais523> <ehird> and thanks; if I'm an idiot to a project manager I'm probably doing something right.
16:44:53 <soupdragon> kinds of programming language:
16:44:54 <soupdragon> * An OOP language: C#, C++, Java, etc.
16:44:54 <soupdragon> * A functional language: Haskell, F#, etc.
16:44:54 <soupdragon> * A productive language: Python, Ruby, Javascript, etc.
16:44:58 <ehird> <ais523> <ehird> and thanks; if I'm an idiot to a project manager I'm probably doing something right.
16:45:04 <ehird> soupdragon: lol where's that from
16:45:09 <soupdragon> reddit
16:45:30 <Pthing> your ego is quite masculine
16:45:36 <Pthing> oh you are so smoooove
16:46:07 <ehird> lulz.
17:03:59 -!- bdesk has left (?).
17:21:41 <ehird> http://paulisageek.com/compare/cpu/ this would be more useful if it had a slider
17:21:56 <ehird> "I care more about: Price ----------[]---------- Performance"
17:21:58 <ehird> to change the ordering
17:35:20 * Sgeo_ gets bitten by the fact that apparently C# does care whether or not something is a property or a field
17:36:32 -!- ehird has quit (Remote closed the connection).
17:37:53 <AnMaster> Sgeo_, I have a vague memory of that. Was years ago I used C#, and at least a year ago I last did a bug fix in a C# software
17:38:24 <AnMaster> Sgeo_, but it does sound familiar, think I saw some sort of abstraction for meta programming purposes once
17:38:32 <AnMaster> (as in, reflection)
17:42:38 <Sgeo_> Well, that forced me to learn properties fast
17:42:42 <Sgeo_> Which I guess is a good thing
17:54:47 <AnMaster> Sgeo_, using reflection?
17:55:00 <Sgeo_> No
17:55:07 <AnMaster> Sgeo_, oh? then what was the difference
17:55:20 <AnMaster> I only remember it making a difference when using reflection
17:55:28 <AnMaster> possibly also for "ref"
17:55:38 <AnMaster> passing a property by reference doesn't make a lot of sense
17:55:44 <AnMaster> or well it does
17:55:50 <AnMaster> just not too much in C# iirc
17:56:08 <Sgeo_> AnMaster, interfaces can't do fields, so it had to use a property. Since the classes that implemented the inteface used a field instead of a property, it complained
17:56:22 <AnMaster> oh right, interfaces
17:56:26 <AnMaster> had forgot about those
17:56:28 <AnMaster> *shudder*
18:10:47 -!- ehird has joined.
18:23:04 <ehird> corman lisp's ide is pretty nice actually
18:23:08 <ehird> not very IDEish at all
18:27:11 -!- ais523 has quit (Remote closed the connection).
18:58:39 -!- Pthing has quit ("Leaving").
18:58:58 -!- Pthing has joined.
19:06:44 -!- oerjan has joined.
19:17:08 <ehird> has anyone ever installed all non-conflicting packages in debian?
19:17:18 <ehird> (find the largest set of packages you can have installed all at once, install them)
19:17:20 <ehird> that would be fun
19:19:04 <oerjan> that may require zorn's lemma, you know
19:19:44 <ehird> oerjan: just work it out by brute force?
19:20:17 <oerjan> i _think_ that's a *whoosh*
19:20:32 <ehird> yeah i looked it up but couldn't figure out how it related to being a joke :(
19:21:17 <oerjan> if the number of packages were infinite, then zorn's lemma would be exactly what you need to prove a maximal set exists
19:22:02 <soupdragon> when mathematicians encounter a problem they think "I'll use Zorns Lemma", now they have two problems
19:22:38 <oerjan> when mathematicians tell you they need both zorn's lemma and regular expressions, run away as fast as you can
19:22:45 <pikhq> Very good thing that Debian is finite.
19:23:10 <ehird> the reason i say this is
19:23:17 <ehird> i'm telling cygwin to install every single package
19:23:19 <ehird> >:)
19:23:38 <ehird> i guess i'm not really looking forward to the whole downloading-like-a-gig-of-software-i-don't-want bit though
19:25:58 <ehird> (why am i doing this)
19:28:52 <ehird> I think I should cancel this :)
19:29:14 <soupdragon> me too, I was against it the whole time but I was too nervous to speak up about it
19:29:26 <ehird> wat
19:41:20 <ehird> "So I've scanned all 3.8 billion valid IP addresses looking for web servers. Twice. And I have a (8'8"x8'8") colour-coded picture."
19:41:23 <ehird> You a crazy bitch.
19:41:35 <soupdragon> what the fuck!
19:41:37 <soupdragon> pics??
19:41:41 <ehird> http://cs.acadiau.ca/~dbenoit/research/webcensus/Web_Census/Home.html
19:41:47 <ehird> Polling every single IP address. Sheesh.
19:41:57 <soupdragon> that's amazing
19:42:07 <ehird> "Why not arrange the ip addresses in a 16x16 square, for each byte, recursively? That way you'd get fewer thin horizontal lines and more interesting blob shapes. Even better, use a Hilbert curve, like this: http://xkcd.com/195/"
19:42:09 <ehird> man speaks truth
19:42:39 <ehird> soupdragon: also ofc they only poll port 80
19:42:48 <Pthing> reasonably
19:42:52 <ehird> yes
19:43:10 <ehird> and shared hosting companies hosting 5 bajillion sites will show up as like 10 ips
19:43:14 <ehird> still a mammoth task tho
19:49:24 -!- ehird_ has joined.
19:54:05 -!- ehird has quit (Read error: 60 (Operation timed out)).
19:54:05 -!- ehird_ has changed nick to ehird.
20:34:47 <ehird> has anyone written a program in CWEB?
20:34:50 <ehird> (not you, knuth)
20:35:00 <ehird> (yes, I am allowed to pretend knuth is in this channel)
20:35:34 <ehird> move over PHP, you have a == idiocy contender in javascript:
20:35:39 <ehird> 255 == { valueOf:function(){ return "0xFF"; } }
20:36:11 <pikhq> == is absolutely retarded in Javascript.
20:36:25 <pikhq> And not commutative!
20:36:50 <ehird> I love how the number 255 is EQUAL TO AN OBJECT WITH A FIELD NAMED "valueOf" WHOSE VALUE IS A FUNCTION RETURNING THE STRING "0xFF".
20:36:52 <ehird> I mean, wow.
20:37:01 <ehird> All PHP does is some nasty string conversion.
20:37:27 <pikhq> ===: because making == work right is too easy.
20:38:08 <ehird> Equality is awfully subtle in a language with user-defined data types that let you distinguish two objects with the same structure.
20:38:51 <ehird> well, not even user-defined data types
20:38:53 <ehird> even just lists
20:39:01 <ehird> http://www.schemers.org/Documents/Standards/R5RS/HTML/r5rs-Z-H-9.html#%_sec_6.1 just about covers the different kinds of equality you might want in that case, at the expense of being confusing.
20:39:27 <pikhq> Integer foo = 1000; Integer bar = 1000; foo != bar.
20:39:38 <ehird> That section doesn't even include =, which is numeric equality.
20:39:39 <pikhq> However: Integer foo = 4; Integer bar = 4; foo == bar.
20:39:43 <pikhq> Effing Java.
20:39:48 <soupdragon> hey
20:39:55 <soupdragon> do you have a list of good sci-fi/spec-fi authors?
20:39:59 <ehird> pikhq: lulz
20:40:02 <soupdragon> or especially good books
20:40:03 <ehird> fixnum fail
20:40:16 <ehird> soupdragon: i'd say all the ones i already have but you mostly ignore me :q
20:40:27 <soupdragon> obviously they are already on my list
20:40:54 <pikhq> ehird: In Java, the first creates two Integers, with an argument of 1000. The second copies an Integer out of the Integer cache.
20:40:55 <soupdragon> it's because I'm going to try and get some real ones, not just download
20:40:58 <pikhq> ... Yes, really.
20:41:02 <soupdragon> so there will be less choice
20:41:16 <ehird> soupdragon: as i said
20:41:26 <ehird> soupdragon: Iain M. Banks' the Culture books are supposed to be good
20:41:30 <ehird> pikhq: that's just fixnum vs bignum
20:41:37 <ehird> the only issue is their definition of == :)
20:41:50 <soupdragon> oh yeah Eeyore Banks is good
20:41:57 <soupdragon> I've read some of his
20:41:58 <pikhq> ehird: == is object equality, yeah. Which... Makes no sense for integers.
20:42:04 <ehird> eeyore banks? xD
20:42:18 <ehird> soupdragon: i'm just going to command you to read the ed stories again because, you know, saying something 500 times makes it come true
20:42:36 <soupdragon> I am reading it!!
20:42:44 <soupdragon> I read 2 more chapters today
20:42:59 <ehird> doesn't mean i can't say it more!!
20:43:09 <ehird> i should gzip compress it so i can pack more sayings of it into one irc message
20:44:21 <pikhq> Ah, Sam Hughes.
20:47:18 <ehird> /topic THE OFFICIAL SAM HUGHES CHANNEL all sam hughes all the time
20:47:27 <soupdragon> hehe
20:47:31 <pikhq> :)
20:47:52 * ehird ponders what to punch into virtualbox next
20:50:22 <ehird> using case/esac style endings gets fun with complex constructs
20:50:24 <ehird> elihw!
20:50:39 <ehird> hmm...
20:50:56 <ehird> would DO ... WHILE be DO ... OD WHILE or DO ... OD ELIHW
20:51:19 <soupdragon> shooby dooby dooby do
20:51:41 <ehird> [0] == false // true
20:51:41 <ehird> if ([0]) { /* executes */ }
20:51:44 <ehird> Javascript: HELLS YEAH
20:55:05 <ehird> Here, have a control structure: base/induct.
20:55:23 <ehird> base(_==0, 1) induct(*, _-1)
20:55:40 <soupdragon> is that factorial lol
20:55:51 <ehird> Quite so good chap
20:56:24 <ehird> base(_<2, _) induct(_-1, +, _-2)
20:56:47 <pikhq> Here, have a function: \_->()
20:58:21 <ehird> My control structure beats your function!
20:58:35 <ehird> I think you could actually do this in haskell if written like this:
20:58:55 <ehird> base (==0) 1 $ induct id (*) (subtract 1)
20:59:04 <ehird> Well
20:59:10 <ehird> base (==0) (const 1) $ induct id (*) (subtract 1)
20:59:29 <soupdragon> haskell is factorial complete
20:59:35 <ehird> base (<2) id $ induct (subtract 1) (+) (subtract 2)
20:59:35 <ehird> if x<2 then x else fib (x-1) + fib (x-2)
20:59:40 <ehird> Not the most compelling control structure ever.
21:00:33 <AnMaster> <ehird> corman lisp's ide is pretty nice actually <-- screenshot?
21:00:54 <ehird> Incidentally, a thing I dislike: Recursion by using your own name. You don't use your own name in natural language, you say "I" or "me". A tenuous argument, admittedly, but my real argument is this: If you rename the function, say to create a derived function, you have to change every occurrence or Shit Happens.
21:01:27 <ehird> AnMaster: Just imagine a Windows window with a menu bar, a toolbar, and syntax-highlighted Lisp windows, one of which isn't backed by a real file.
21:01:34 <AnMaster> <ehird> has anyone ever installed all non-conflicting packages in debian? <-- how much disk space would it take?
21:01:43 <AnMaster> give or take half a tb
21:02:03 <soupdragon> idk
21:02:03 <ehird> Hitting Shift+Return (or was it Control+Return? I forget) evaluates the expression at the cursor in the special workspace window, where the result appears.
21:02:04 <AnMaster> ehird, heh
21:02:08 <ehird> (This also lets you use the workspace as a REPL.)
21:02:18 <soupdragon> recursive definitions don't really seem like anything related to natural language to me
21:02:26 <ehird> soupdragon: yeah, that was a junk argument
21:02:30 <ehird> just pay attention to my other one :P
21:02:41 <ehird> i mean essentially it makes the definition not self-contained
21:02:44 <ehird> which is bad
21:02:52 <pikhq> ehird: C++ psuedo-lambdas don't have that issue, amusingly.
21:02:53 <ehird> and it's not even remotely needed, which makes it doubly bad
21:02:57 <pikhq> *this(). Hooray.
21:03:04 <ehird> just have recur be an alias for the current function or whatever
21:03:10 <ehird> or "this" or "self" if you don't give a shit about oop
21:03:23 <ehird> (or if you do give a shit about it make objects closures then this/self work for them :P)
21:03:27 <ehird> or recurse
21:03:33 <ehird> AnMaster: disk space... hmm
21:03:41 <ehird> AnMaster: I guess a hundred gigabytes.
21:03:53 <pikhq> Actually, that's true of C++0x true lambdas, as well.
21:03:53 <ehird> Maybe 300 GB, tops.
21:04:14 <ehird> AnMaster: Nope, not remotely that much
21:04:15 <ehird> http://www.debian.org/mirror/size
21:04:24 <ehird> i386 is merely 34 GiB
21:04:29 <pikhq> (since they're just objects with operator() and all that...)
21:04:42 <ehird> 482 GiB gets you the compressed packages for every architecture, every supported kernel, and all the sources.
21:04:54 <ehird> Debian is... not that big.
21:05:08 <AnMaster> ehird, oh?
21:05:23 <AnMaster> ehird, they do expand
21:05:25 -!- Gracenotes has quit (Connection timed out).
21:05:36 <ehird> Yes, but only to, say, 2x.
21:05:37 <pikhq> Well, that is still kinda big, but... Yeah. It's just hard to use a lot of space on software on Linux.
21:05:44 <ehird> Maybe 3x at best.
21:05:46 <AnMaster> ehird, I mean, quite often do you see "download size 20 MB, expanded size 62 MB"
21:06:01 <AnMaster> more so for smaller packages
21:06:04 <pikhq> Particularly when compared with Windows installs...
21:06:30 <pikhq> (which include copies of relevant DLLs often. ... For the single program.)
21:06:41 <AnMaster> ehird, especially the dev packages tend to have 4x or better
21:06:45 <ehird> 34 * (62/20) = 105.4
21:06:51 <AnMaster> often they are smaller than the main packages, though not always
21:06:55 <ehird> 100 GiB is still quite small.
21:06:57 <AnMaster> (think boost or similar)
21:07:19 <AnMaster> ehird, sure. And I'm quite sure 62/20 is *not* representative
21:07:25 -!- soupdragon has quit ("Leaving").
21:07:41 <ehird> AnMaster: Have you considered that you are irrationally trying to inflate the numbers based on your previous estimation?
21:08:04 <AnMaster> ehird, no, quite often it is less well packed for binary packages
21:08:12 <AnMaster> and even more so for mostly-image data packages
21:08:18 <ehird> I will take that as a yes.
21:08:23 <ehird> Let's assume every package is 5x.
21:08:29 <pikhq> Headers do compress much better than binaries, yes.
21:08:37 <pikhq> But the headers are much smaller.
21:08:38 <ehird> This is unreasonably optimistic: compression technology is not THAT good, and binaries are stripped and the like anyway.
21:08:43 <AnMaster> ehird, 5x = too well packed for average.
21:08:44 <ehird> But let's just go by your whims.
21:08:50 <AnMaster> pikhq, exception: boost. Probably single exception
21:09:01 <ehird> So if everything is 5x, then 170 GiB.
21:09:10 <pikhq> AnMaster: Even then, it's not exactly notable.
21:09:26 <ehird> If you have a 24 megabit/s connection, you can download 170 GiB in 17 hours.
21:09:26 <AnMaster> you would really have to split it into 4 categories: headers, binaries, data, mixed. Then sample a number of each
21:09:29 <AnMaster> to get some average
21:09:30 <ehird> That's uncompressed.
21:09:33 <ehird> AnMaster: no, you wouldn't
21:09:36 <AnMaster> and then extrapolate from that
21:09:40 <AnMaster> ehird, well it would be one way
21:09:43 <ehird> you'd have to stop being an OCD anally-retentive nerd that doesn't know what an estimate is
21:09:46 <pikhq> /usr/include/boost-1_39 is 59M here.
21:09:53 <ehird> and accept that a trivial calculation is probably not far off
21:09:56 <AnMaster> pikhq, and the libraries for boost?
21:09:58 <ehird> certainly not by an order of a magnitude
21:10:05 <ehird> too much to expect though
21:10:28 <AnMaster> ehird, I take "nerd" as a praise :)
21:10:43 <AnMaster> (those adjectives in front I ignore)
21:10:47 <ehird> "OCD", "anally-retentive", "doesn't know what an estimate is".
21:11:17 <AnMaster> ehird, I know what an estimate is. The way I suggested is also an estimate. Just a more exact such
21:11:30 <ehird> "You're a dog-fucking, shit-eating, whore-raping gentleman of a gibbering moron." "Why thank you, I am indeed a gentleman."
21:11:43 <AnMaster> ehird, but that 5x suggestion: 170 GB is way less than I thought it would be
21:11:50 -!- Pthing has quit (Remote closed the connection).
21:11:50 <AnMaster> and that is probably a worst case
21:12:01 <AnMaster> well, almost certainly
21:12:05 <ehird> Which was my original point: yes, it's off a bit, but it's certainly not an order of a magnitude off.
21:12:10 <ehird> Anyway, you can't install every single package.
21:12:11 <ehird> They conflict.
21:12:25 <AnMaster> so somewhere between 60 and 170 GB or so.
21:12:35 <ehird> Certainly, I'm sure there are at least two sets of Debian packages that split each other.
21:12:39 <AnMaster> ehird, what percentage conflicts roughly
21:12:41 <ehird> That is, you can only install half of Debian at any one time.
21:12:44 <ehird> AnMaster: I don't know.
21:12:48 <ehird> But take, e.g. libcs and stuff.
21:12:50 <ehird> That sort of thing.
21:12:54 <ehird> Core system stuff.
21:12:55 <AnMaster> well yes
21:12:58 <ehird> That probably splits the system a lot.
21:13:09 -!- Asztal has joined.
21:13:11 <ehird> I would wild-guess that you can install about 60% of Debian on one system.
21:13:21 <ehird> Lower bound 47%, upper bound 73%.
21:13:21 <AnMaster> there are some other stuff too. Take gamin/fam for example
21:13:29 <AnMaster> ehird, no more than 73%?
21:13:35 <AnMaster> I would have gussed 80-90%
21:13:45 <ehird> Debian has, like, 10,000 packages.
21:13:45 <AnMaster> but you probably know this better
21:14:00 <AnMaster> ehird, I'm well aware of that it has a ****load of packages
21:14:02 <ehird> So:
21:14:38 <ehird> Let's say 73%.
21:14:43 <fizzie> "apt-cache search . | wc -l" says 30820 on my system.
21:14:47 <ehird> Okay.
21:14:51 <AnMaster> fizzie, heh
21:15:02 <ehird> That would mean that you couldn't install 8321(.4) packages given an optimal set.
21:15:09 <AnMaster> which is 3 times what ehird suggested
21:15:11 <AnMaster> which is*
21:15:27 <ehird> Is it so hard to believe that you'd have a library, or whatever, conflicting with another library, and that other library is depended on by 8321 packages?
21:15:37 <fizzie> I might have some sources.list entries that aren't strictly "Debian", though.
21:15:49 <AnMaster> ehird, probably if it is a single library yes ;P
21:15:50 <ehird> I adjust my estimate though: lower bound 57%, upper bound 93%.
21:15:54 <ehird> Probably 88%.
21:16:04 <ehird> AnMaster: Well, you can abstract that into a chain.
21:16:06 <ehird> You get the idea.
21:16:26 <ehird> fizzie: Oi, Debianer. Write a script that uses apt to find the biggest set of packages that don't conflict.
21:16:42 <ehird> You will receive cookies if you complete this task.
21:16:51 <AnMaster> ehird, probably a substantial portion of those depending on conflicts, depend on different implementations of the same. the fam/gamin example springs to mind again
21:16:52 <ehird> Bonus cookies will be awarded for calculating the size of this set.
21:16:54 <ehird> Yay cookies!
21:17:13 <AnMaster> both provide the same API and ABI
21:17:15 <ehird> Fam gamin! You kids and your crazy terms!
21:17:22 <AnMaster> eh?
21:17:33 <AnMaster> joke detected
21:17:36 <AnMaster> but I don't get it
21:17:48 <fizzie> I don't think I want to do that. Even for cookies.
21:17:50 <ehird> Get off my lawn.
21:17:57 <ehird> fizzie: Brownies?
21:18:11 <AnMaster> ehird, how does the ubuntu package repo compare to the debian one
21:18:16 <fizzie> 32398 packages in Ubuntu karmic, according to the list given by http://packages.ubuntu.com/karmic/ "all packages (compact compressed textlist)"
21:18:22 <ehird> AnMaster: Strictly bigger, I think.
21:18:31 <ehird> fizzie: Pot brownies?!?!
21:18:35 <ehird> You drive a hard bargain, man.
21:18:47 <AnMaster> ehird, really? Pretty sure there was some package in debian recently that I couldn't find in ubuntu
21:18:57 <AnMaster> forgot what one it was
21:19:13 <AnMaster> and I don't think it was in debian stable, only in testing
21:19:22 <ehird> AnMaster: Well, Ubuntu syncs with Debian apart from the Debian branding stuff and the like.
21:19:26 <ehird> Every six months only, duh.
21:19:34 <fizzie> 34492 lines in Debian sid according to the comparable packages.debian.org list; but, well, that's sid; it might not be exactly fair to compare against karmic.
21:19:54 <ehird> http://glyphic.s3.amazonaws.com/ozone/mark/periodic/Periodic%20Table%20of%20the%20Operators%20A4%20300dpi.jpg
21:19:54 <ehird> Perl 6 sure does have a metric fuckton of operators.
21:20:12 <AnMaster> # apt-cache search . | wc -l
21:20:12 <AnMaster> 37221
21:21:07 <fizzie> FWIW, 27208 exactly similar package names appear in both the Ubuntu karmic and Debian sid lists.
21:21:38 <ehird> s/debian/ubuntu/ and then try..
21:21:41 <ehird> *try.
21:23:31 <AnMaster> mine was from jaunty though
21:24:07 <AnMaster> main/universe/multiverse/backports + debugging packages for all those
21:24:19 <AnMaster> debugging packages comes in a separate repo for each of those
21:24:28 <AnMaster> as in universe-debugging or something like that
21:24:48 <AnMaster> or wait, does it. Hm
21:25:10 <ehird> I have the itching to write my own editor. This worries me.
21:25:13 <AnMaster> deb http://ftp.df.lth.se/ubuntu/ jaunty main restricted
21:25:13 <AnMaster> deb-src http://ftp.df.lth.se/ubuntu/ jaunty main
21:25:14 <AnMaster> deb http://ddebs.ubuntu.com jaunty main restricted universe multiverse
21:25:33 <AnMaster> well, more than a pristine install would show at least
21:25:38 <AnMaster> the ddebs being the debugging ones
21:27:06 <ehird> Also, I sorta half want to write a C compiler.
21:27:09 <ehird> I am feeling very strange.
21:28:09 <AnMaster> btw software patents could work, if they were for very short time. Say one month
21:28:26 <AnMaster> and of course, the details would have to be saner
21:28:29 <ehird> Define "work". Patents are harmful.
21:28:45 <ehird> Besides, one month is useless.
21:28:53 <AnMaster> ehird, exactly!
21:28:56 <ehird> You can't make enough profit in one month for it to even be worthwhile.
21:29:07 <ehird> Making "the details saner" consists of repealing patents.
21:29:25 <ehird> They may have been helpful at one time — may — but today they are more than useless, they are actively harmful.
21:29:36 <AnMaster> ehird, true. There was a good reason for them originally, society doesn't work the same way any longer
21:29:49 <ehird> I doubt it ever did. But I don't know, I'm not a historian.
21:30:05 <AnMaster> ehird, think back during steam engine invention time and such
21:30:13 <ehird> I stand by what I said.
21:36:12 <ehird> my $test = "Hello World";
21:36:13 <ehird> substr($test, 0, 5) = "Goodbye";
21:36:13 <ehird> —Perl
21:37:05 <ehird> "Common Lisp's format function has an option to print numbers as Roman numerals."
21:37:05 <ehird> Lies! Horrible lies! Ugh, I wish the FUDing trolls would fuck off elsewhere.
21:37:19 <ehird> ...as any true Lisper knows, FORMAT has *two* options to print numbers as Roman numerals.
21:37:52 <oerjan> XD
21:38:03 <ehird> (one prints 4 as IV, the other as IIII.)
21:38:05 <ehird> (I'm not joking)
21:38:25 <oerjan> (490)
21:39:28 <ehird> (wat)
21:40:11 <oerjan> (why don't you convert that to roman numerals)
21:40:25 <Deewiant> IIIIIXX
21:40:42 <oerjan> um, no
21:40:53 <Deewiant> :-P
21:40:54 <AnMaster> Deewiant, nice try
21:41:08 <pikhq> ehird: Only one does Roman numerals correctly?
21:41:22 <ehird> pikhq: IIII is old-style Roman numerals.
21:41:30 <ehird> Yes, Common Lisp supports an *old version* of Roman numerals.
21:41:41 <ehird> As a built-in formatter syntax.
21:41:43 <pikhq> ...
21:41:53 <pikhq> That's just silly.
21:42:02 <ehird> Have you ever READ the CL spec?
21:42:15 <ehird> It's the most anally-retentive completely-specified spec I've ever read.
21:42:16 <pikhq> I say this as someone fond of a language that supports using stardates.
21:42:39 <ehird> It loathes to even mention the operating system without three layers of indirection. :-)
21:42:43 <AnMaster> pikhq, klingon?
21:42:46 <ehird> AnMaster: Tcl.
21:42:51 <ehird> Of course, the specification says nothing whatsoever about networking.
21:42:51 <AnMaster> hah
21:42:56 <AnMaster> really?
21:42:57 <ehird> Nor threads.
21:43:00 <ehird> But who needs those?
21:43:02 <AnMaster> (that was at tcl)
21:43:06 <ehird> AnMaster: yes
21:43:18 <ehird> It's an easteregg
21:43:20 <pikhq> Yeah, there's a stardate date format in Tcl.
21:43:20 <ehird> http://wiki.tcl.tk/9832
21:43:24 <ehird> *easter egg
21:43:59 <ehird> Dude, Fink doesn't do roman numerals?
21:45:09 <AnMaster> fink?
21:45:11 <AnMaster> hm
21:45:15 <ehird> *Frink
21:45:18 <ehird> http://futureboy.us/frinkdocs/
21:45:18 <AnMaster> os x package manager?
21:45:21 <AnMaster> ah okay
21:45:40 <ehird> The super-besterest unit conversion, calculator on steroids, graphics-drawing, function-processing, web-scraping, data-crunching language you ever did see.
21:46:21 <ehird> Oops, I forgot: language translating, exchange rate conversion, HISTORICAL exchange rate conversion, regular expression stuff, Unicode support, interval arithmetic, and full interface to Java.
21:46:26 * ehird catches breath
21:46:40 <ehird> Large standard library, lots of example programs, updates every other day,
21:46:43 * ehird pant
21:46:54 <ehird> No, I think that about covers it.
21:48:02 <pikhq> ... Is it just me, or does Common Lisp support a limited form of goto?
21:48:08 <ehird> you mean LABELS?
21:48:16 <pikhq> Yes.
21:48:23 <ehird> yeah, that was in Lisp 1.5
21:48:29 <ehird> stolen from Fortran because, you know, the people want it and all
21:48:31 <pikhq> Ugh.
21:48:48 <ehird> pikhq: hey, lisp invented the fucking structured conditional :-)
21:48:57 <pikhq> Such a multiparadigm language.
21:49:00 <ehird> it's not like we knew how to program with structure back then
21:49:02 <pikhq> That people claim is functional.
21:49:12 <ehird> yeah CL isn't really functional at all
21:49:23 <ehird> i love it, it's just amazingly... huge
21:49:35 <ehird> you can do anything except fit it all into your head
21:49:40 <pikhq> It allows for functional programming. It allows for every other sort of programming.
21:49:47 <AnMaster> pikhq, I bet some lisp macro could emulate goto in scheme :)
21:50:40 <ehird> goto doesn't exactly have magical semantics
21:50:52 <Deewiant> comefrom is a bit trickier
21:51:46 <pikhq> Goto emulation's only really difficult in, say, Haskell.
21:51:49 <ehird> {a: x; b: y; c: z}
21:51:49 <ehird>
21:51:50 <ehird> (let* ((a (lambda () x)) (b (lambda () y)) (c (lambda () z))) (a))
21:51:51 <ehird> pretty much
21:52:00 <pikhq> And even then, you can do it.
21:52:01 <ehird> pikhq: goto's pretty easy there too actually
21:52:05 <ehird> define a monad
21:52:09 <ehird> label foo → MkLabel foo
21:52:14 <fizzie> The 4 = IIII variant is used a lot in clock faces.
21:52:14 <ehird> MkLabel foo >>= labelcontents
21:52:14 <ehird> etc
21:52:16 <Deewiant> Just use Cont
21:52:22 <pikhq> ehird: It's still somewhat tricky there.
21:52:27 <ehird> Deewiant: yeah how does that interact with state though
21:52:34 <pikhq> But, yeah, just use a monad and it works.
21:52:35 <ehird> StateT Cont still rewinds state if you goto iirc
21:52:44 <pikhq> Or some Template Haskell.
21:53:17 <ehird> [21:51] ehird: {a: x; b: y; c: z}
21:53:17 <ehird> [21:51] ehird: →
21:53:17 <ehird> [21:51] ehird: (let* ((a (lambda () x)) (b (lambda () y)) (c (lambda () z))) (a))
21:53:18 <ehird> [21:51] ehird: pretty much
21:53:18 <ehird> [21:51] pikhq
21:53:20 <ehird> isn't this actually literally true
21:53:27 <ehird> with goto x = (x)
21:54:03 <pikhq> ehird: ... Yeah, that's the semantics.
21:54:11 <ehird> well
21:54:15 <ehird> apart from variable declarations inside the labels
21:54:27 <ehird> you have to shift those out to be around the let*
21:54:34 <ehird> or even in it
21:54:58 <pikhq> ehird: And closing on variables might function differently than is desired.
21:56:24 * ehird plays with nlite
21:58:16 <ehird> Oh, I forgot another thing Frink is good at: simple dynamic websites.
21:58:54 <ehird> ...So, it's the perfect desktop calculator/converter, and it'd also be good (number crunching + dynamic webpage + graphics support) for making, say, an online Sudoku page that has an autosolve feature.
21:59:08 <ehird> Not quite "general purpose language" stage, but nevertheless useful.
22:05:33 <ehird> rebol upsets the language designer in me so much by trodding on my aspirations of concise code: http://www.rebol.com/oneliners.html
22:15:43 <AnMaster> ehird, what is it *not* good at?
22:15:49 <AnMaster> I mean, this is too good to be true
22:15:53 <AnMaster> there hast to be a catch
22:15:55 <ehird> frink or rebol
22:16:00 <AnMaster> frink
22:17:01 <ehird> it's not open source (but it's not like most proprietary stuff, the guy is friendly and the tools surrounding it are quite open-ended; the rationale is that it's his plaything so he wouldn't accept patches anyway), you won't be writing "applications" in it any time soon, nor unix tools
22:17:12 <ehird> also, it's not really fast, so serious number crunching is out
22:17:41 <ehird> but it's great for calculation + conversion + text processing + simple graphics + simple web tools + simple web scraping imo
22:17:43 <ehird> (and combinations of those)
22:17:51 <ehird> also it's java :P
22:19:55 <ehird> http://futureboy.us/fsp/frink.fsp lets you play with frink online btw
22:20:11 <ehird> obviously restricted a bit as far as non-oneliners go or the graphics/web stuff, but a good intro
22:20:24 <ehird> (if you just want to eval something without conversion just type in from and leave to blank)
22:20:47 <ehird> AnMaster: oh, and you'll probably like that it has an emacs mode :P
22:20:54 <ehird> just highlighting+indenting though, no in-emacs evaluation
22:21:03 <ehird> that wouldn't be too hard to add though i guess
22:24:38 <ehird> I love how you can define new units in frink especially
22:24:44 <ehird> beardsecond := 5 nm
22:24:50 <ehird> 3 beardseconds -> m ← this works
22:24:54 <ehird> (yes, with the "s")
22:26:57 <AnMaster> units(1) can do that iirc
22:28:04 <AnMaster> actually my units(1) lack that unit
22:33:25 -!- Pthing has joined.
22:44:20 -!- Gracenotes has joined.
22:45:25 <ehird> beardsecond is a novelty unit
22:45:41 <ehird> AnMaster: yes, well, of course, fink was, at first, designed to be units(1) on steroids
22:45:49 <ehird> so, many commas, after just, one or, two words
22:46:08 <Sgeo_> "AGHHHHHH@neat code"
22:46:14 <Sgeo_> "the code you pasted
22:46:14 <Sgeo_> "
22:46:20 <Sgeo_> "all neat and minimal"
22:47:26 <ehird> what
22:47:30 <ehird> does this person hate neat, minimal code
22:47:38 <ehird> is this the same C# dumbfuck
22:48:18 <ehird> srsly wut
22:51:20 <pikhq> Murder?
22:55:29 <Sgeo_> For what it's worth, he's 15
22:55:33 <Sgeo_> erm
22:56:21 -!- comex has joined.
22:57:27 -!- Slereah_ has joined.
23:03:57 <ehird> Sgeo_: anyone who knows what the word neat and the word minimal means
23:04:03 <ehird> and can code hello world
23:04:10 <ehird> and uses the two words as insults
23:04:24 <ehird> ...is an unfixable moron, no qualifiers required
23:04:36 <Sgeo_> I think he was more envious
23:04:39 <ehird> hey cool you can remove 16 bit support from windows
23:04:44 <ehird> Sgeo_: well. that is acceptable.
23:04:51 <ehird> you coulda said :P
23:05:51 <ehird> pikhq: am i crazy enough to remove 16-bit support from windows xp, do you think?
23:06:34 <pikhq> ehird: Maybe.
23:06:45 <ehird> "Anyone who can locate an advertisement, donation button, or other instrument of profit on this site shall win my entire yearly marketing budget." —Loper OS
23:07:17 <pikhq> Hah.
23:07:44 <ehird> (from http://www.loper-os.org/?p=91, more proof that paul graham is an idiot)
23:08:55 -!- Slereah has quit (Read error: 110 (Connection timed out)).
23:10:21 <pikhq> Paul Graham is at least an *interesting* idiot. Better than many of the other idiots out there.
23:11:03 <Sgeo_> Speaking of idiots, I once saw an interesting Time Cube apologist sit
23:11:04 <Sgeo_> site
23:11:12 <pikhq> ...
23:11:29 <Sgeo_> It was actually coherent
23:11:43 <Sgeo_> Which is obviously a major plus over the original material
23:16:05 <Sgeo_> http://www.cubicao.com/
23:16:52 <Sgeo_> http://www.cubicao.com/stupidevil1.html clearly, the guy doesn't actually believe it, or he wouldn't be able to grasp calculus
23:16:57 <Sgeo_> Right? Please tell me I'm right
23:24:30 <pikhq> I wish.
23:31:00 -!- jpc has joined.
23:32:45 <Sgeo_> ...Gene Ray actually believes himself to be the Creator?
23:32:53 <Sgeo_> "GOD LIED, HE DID NOT CREATE 1 DAY, I CREATED 4 DAYS. "
23:32:57 <Sgeo_> http://www.timecube.com/
23:36:36 <ehird> the guy behind cubicao kille dhimself iirc
23:36:39 <ehird> *killed himself
23:37:13 <Sgeo_> ehird, WHAT? o.O :(
23:37:42 <ehird> gotta say I don't think that drastically decreased the amount of meaningful contribution we should expect to humanity in the future
23:38:02 <ehird> he killed himself because gene ray didn't like him or something iirc
23:38:16 <ehird> gene ray wrote something about it essentially equating to "lol fuck that stupid fool gg good riddance"
23:38:28 <ehird> this may have all been supreme trolling, dunno
23:40:10 <ehird> JESUS RETURNS TO EARTH, I WILL PERSONALLY KILL THE BASTARD MYSELF. ALL CREATION OCCURS
23:40:10 <ehird> BETWEEN AND AS OPPOSITES. YOU DUMB-ASS, EARTH, THE UNIVERSE
23:40:10 <ehird> AND EVERY LIVING THING IN IT
23:40:16 <ehird> gene ray sure has taken a turn for the more violent recently...
23:40:27 <ehird> A HOLOCAUST AND IT IS NIGH UPON YOU. HIRED SICK TEACHERS
23:40:27 <ehird> ARE PAID TO TEACH YOU EVIL TO
23:40:27 <ehird> ENSLAVE YOU STUPID AND YOU
23:40:28 <ehird> NOW POSSESS AN IDIOT CYCLOPIC
23:40:28 <ehird> MENTALITY. YOU LACK THE BRAINS TO KNOW THAT 4 SIMULTANEOUS DAYS ROTATE IN AN IMAGINARY CUBED EARTH.
23:40:28 <ehird> KEEP IGNORING ME AQND YOU WILL PAY HELL FOR CLAIMING
23:40:38 <ehird> serial killer riskometer: 68.7%
23:41:00 <ehird> [[There is a cryptic reference to cancer on his website, [1], and the updates that once were plentiful and current seem to have stopped as of September 2009. However, Ray has previously told an interviewer that Cancer is his astrological sign [2], so no real conclusion may yet be drawn.]]
23:41:09 <ehird> no, the doctor of cubicism can't die!!!
23:42:17 <oerjan> wait, Cancer is _my_ astrological sign too. maybe i'm secretly gene ray! scary.
23:43:02 <ehird> poop
23:43:27 <oerjan> excrementally so
23:43:56 <ehird> Sgeo_: yah pretty sure he's dead
23:44:21 <ehird> although he got expelled from his uni and converted to christianity or something beforehand
23:44:28 <ehird> the crazy is... was, strong in this one
23:44:54 <ehird> apparently he was getting psychiatric help too if what i'm reading is true
23:45:29 <Sgeo_> http://www.graveyardofthegods.com/forum/viewtopic.php?f=21&t=7664
23:45:33 <ehird> on a bunch of drugs for mental issues 'pparently
23:45:52 <ehird> heh "gifted computer programmer"
23:45:57 <Sgeo_> ehird, link, if different from what I posted?
23:45:57 <ehird> did he use a cubic language that had -1x-1=-1
23:46:10 <ehird> http://www.graveyardofthegods.com/forum/viewtopic.php?f=21&t=7686 http://www.graveyardofthegods.net/forum/viewtopic.php?f=21&t=8056
23:47:03 <ehird> imo fuck gene ray for peddling idiocy that this vulnerable kid latched ontoo, and double triple quadruple FUCK him for then telling him he's worthless after he basically devoted everything to him
23:47:11 <ehird> murder, two steps removed
23:47:29 <ehird> ...in other news, woot i reduced windows xp by 446 megs
23:47:35 <ehird> bringing it to 137!
23:49:00 <ehird> so if we're talking about depressing suicides it doesn't get much more than http://lifehacker.com/comment/18054779/
23:49:27 <mycroftiv> how about we talk about LP49, the most amazing OS project I discovered today
23:49:44 <ehird> (http://pastebin.com/f51e0cea8 who posts their suicide-automation script to a public pastebin mere months before they die?)
23:50:00 <ehird> http://research.nii.ac.jp/H2O/LP49/LP49-e.html
23:50:02 <ehird> meh
23:50:05 <ehird> what's interesting about it
23:50:06 <mycroftiv> dude it works
23:50:17 <mycroftiv> it is a really wacky environment to be in
23:50:22 <ehird> and?
23:50:45 <mycroftiv> its got this great thing called QSH that gives you access to plan9 kernel data structures
23:57:05 <pikhq> Plan 9 on L4. Meh.
23:57:07 <pikhq> Useful, but meh.
23:57:22 <pikhq> ehird: 137 meg Windows XP? Do tell.
23:57:59 <ehird> nLite + wantonly disabling anything that I don't think I need without regard to anything = tada!
23:58:10 <ehird> even slipstreamed in SP3 so I don't have to servicepack it post-install ^_^
23:58:11 <pikhq> Ah, the simple way.
23:58:26 <pikhq> "Fuck most of the bloat"
23:59:00 <ehird> hmm
23:59:11 <ehird> it seems that not really that much depends on the IE rendering engine in xp
23:59:19 <ehird> and i'm sure you can run the win95 explorer on xp
23:59:32 <ehird> so... remove IE stuff, use win95 explorer...
23:59:34 <pikhq> Yeah, it's pretty easy to hack out the IE rendering engine.
23:59:46 <ehird> and you have forcibly de-integrated the integral operating system component that is internet explorer!
23:59:59 <pikhq> ehird: Windows XP comes with the Windows 3.1 file browser.
2010-01-08
00:00:29 <ehird> Yes, but... that's not really usable.
00:00:38 <ehird> Heck, Win95 explorer.exe is actually more usable than XP's.
00:00:56 <ehird> Windows 95's interface was... almost as pure as Macintosh System 6/7's.
00:01:32 <ehird> I was actually quite sad to leave my Win95 VM for OS X when I was bored with it.
00:01:38 <ehird> Although the application compatibility rather puts a damper on that.
00:02:35 * pikhq wonders why Wine's explorer clones the Win3.1 fileman
00:02:55 <ehird> Because it seems like a power interface to silly people? :P
00:03:23 <ehird> I was actually really pleasantly surprised by Win95's explorer; especially how it opens directories in a cascade pattern so you can easily move up the directory tree simply by clicking on a window title.
00:03:24 <pikhq> Ugh.
00:03:30 <pikhq> It's an awful, arcane interface.
00:03:39 <pikhq> And I use Emacs.
00:04:38 <ehird> pikhq: Cygwin runs on Windows 95. Clearly you should immediately switch to a Windows 95 + Emacs system.
00:05:10 <pikhq> ehird: I thought they had just phased that out?
00:05:18 <ehird> Oh, maybe in 1.7.
00:05:32 <ehird> Don't worry though; Cygwin is so outdated and buggy that you won't be able to tell the difference when using 1.5.
00:05:42 <ehird> 1.7 only dropped support because they added half-assed Unicode support, iirc.
00:09:09 <pikhq> Half-assed? Ugh.
00:09:56 <pikhq> Hrm. Does Cygwin even do much notable to programs on it outside of GCC and libc?
00:10:48 <ehird> It doesn't do anything to libc, it just uses newlib.
00:11:02 <ehird> But, uh, "libposix" they do.
00:11:25 <pikhq> Oh, right, it's newlib.
00:11:31 <pikhq> The libc that's easiest to port!
00:12:09 <ehird> As far as I can tell Cygwin is glacially slow (shell scripting is out of the question; ./configure takes a minute+), hacky, run by people with a mild case of idiocy, and should have been dumped in the 90s.
00:12:40 <pikhq> ... Wow...
00:12:48 <pikhq> http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/string/strlen.c?rev=1.1.2.1&content-type=text/x-cvsweb-markup&cvsroot=glibc vs. http://www.openbsd.org/cgi-bin/cvsweb/src/lib/libc/string/strlen.c?rev=1.7;content-type=text%2Fplain
00:12:50 <ehird> Oh and that's for a stock ./configure btw
00:12:58 <ehird> More advanced ones, say 3+ minutes
00:13:01 <pikhq> (glibc strlen vs. OpenBSD strlen)
00:13:19 <ehird> pikhq: yeah glibc is really retarded w/ strlen
00:13:30 <ehird> because i run strlen(million chars long string) in a tight loop ALL THE TIME
00:13:32 <pikhq> That is... Maximally retarded.
00:13:38 <ehird> pikhq: it has one good use
00:13:48 <ehird> explaining how to read in machine words to speed up memory access
00:13:52 <ehird> for strinngs
00:13:54 <ehird> *strings
00:14:21 <ehird> i am fucking sick of the "license at the top of every file" convention
00:14:58 <pikhq> Glibc must be insane to port.
00:17:20 <pikhq> Also, that file alone explains why statically linked glibc programs are so huge...
00:21:10 <ehird> "Unfortunately right now our servers are overloaded and we have no more download slots left for non-members. Of course you can also try again later."
00:21:10 <ehird> oh fuck you rapidshare
00:24:02 <Pthing> it's been throwing that up at me 9 times out of 10 for the past couple of months
00:24:14 <Pthing> SCREW YOU, WE GOT PAYING CUSTOMERS
00:24:27 <ehird> has anyone in the history of ever ever bought a rapidshare premium account
00:24:28 <ehird> (no)
00:24:54 <ehird> 42 seconds remaining
00:24:55 <ehird> awwright
00:25:04 <Pthing> once there was a drunk person in peterborough
00:25:07 <Pthing> who bought one
00:25:19 <Pthing> they got so excited and to this day refuse to believe it was a fluke
00:25:35 -!- coppro has joined.
00:26:19 <ehird> Pthing: there was also that telepathic hermit who was humming a song that happened to exactly coincide with their most expensive registration
00:26:42 <ehird> although the credit card was actually a middle manager's they tracked down the hermit and bludgeoned him to death for not paying
00:26:44 <ehird> factual story.
00:26:52 <Pthing> i heard that
00:27:31 <ehird> that was back in -3.2 BC though, before we decided to use natural numbers followed by BC or AD for years
00:29:05 <oerjan> this has to be true because all telepaths are hermits
00:29:14 -!- BeholdMyGlory has quit (Read error: 104 (Connection reset by peer)).
00:29:25 <ehird> oerjan: no it's the other way around
00:29:30 <ehird> it comes from the dampness of the caves they live in
00:29:31 <oerjan> you wouldn't stand being around people either, if you could their thoughts
00:29:33 <ehird> it's TELEPATHIC dampness
00:29:39 <oerjan> *hear
00:29:41 <ehird> oerjan: you accidentally the telepathy
00:29:42 -!- FireFly has quit ("Leaving").
00:29:46 <ehird> anyway that's empathy no
00:29:57 <oerjan> it's both
00:30:11 <oerjan> they're different hermit orders though
00:30:26 <ehird> hermitism is very hierarchical and rigid and regulated and all that i guess
00:30:47 <oerjan> but of course
00:31:13 <oerjan> especially the telepathic ones, since they can have meetings without showing up
00:31:24 <ehird> they have to show up anyway though
00:31:25 <ehird> rude not to
00:31:50 <oerjan> no, they avoided that by making physically showing up against the order's rules
00:32:15 <ehird> with magic
00:32:24 <oerjan> the empathic ones have a harder time doing this, though, since they can only transmit feelings
00:32:54 <oerjan> but they have a very effective alarm system
00:33:40 <ehird> heh i'm just imagining an empathic hermit smiling and dancing when (s)he likes a proposal
00:33:50 <ehird> and banging their head against the cave wall when they think it's an affront to hermitmanity
00:34:20 <oerjan> i don't think that is a word, ehird
00:35:08 <oerjan> they still have to distribute the proposals in writing though
00:35:24 <oerjan> they employ psychopaths for this purpose, since they are devoid of empathy
00:36:10 <oerjan> so won't disturb the hermit's meditations. at least not for that reason.
00:36:46 <oerjan> admittedly the psychopaths are their main reason for needing the alarm system in the first place
00:38:12 <oerjan> they have considered changing to email, but unfortunately many of the hermits are also sensitive to electricity.
00:40:10 * SimonRC goes
00:40:58 <ehird> eel eck tricksy tea
00:41:09 <oerjan> oh and that dampness in the caves tends to wreak havoc with the computers too
00:43:41 <ehird> A Dampness in the Caves
00:43:49 <ehird> little known prequel to A Deepness in the Sky
00:44:08 <ehird> oerjan: you're forgetting the littler known subdenominated species of hermit
00:44:18 <ehird> henpathic, they don't care about hens
00:44:45 <ehird> eticpath, they talk about star trek figurines in pig latin
00:44:52 <oerjan> that would be hen-_a_-pathic, i think
00:45:02 <ehird> are you questioning me?!
00:45:13 <ehird> i thought the rules of this game were that you took whatever the other said as granted
00:48:29 -!- ehird has quit.
00:51:18 <oerjan> always the rules
00:55:23 <pikhq> The pathapathic ones are bizarre.
00:55:49 <oerjan> as bizarre as the 'patapathic ones?
01:06:01 <pikhq> Ne.
01:06:22 <oerjan> good.
01:08:34 * pikhq did not realise that Windows does not come with a C library...
01:08:42 <coppro> nope
01:09:08 <pikhq> Development on Windows must be more of a PITA than I thought.
01:09:35 <pikhq> I mean, hell, you'd have trouble just finding libraries that won't involved conflicting libcs...
01:09:51 <coppro> it is
01:10:00 <coppro> you have to include the C++ runtime in your code, for instance
01:10:07 <pikhq> *shudder*
01:34:13 -!- Asztal has quit (Read error: 60 (Operation timed out)).
01:35:55 -!- jpc has quit (Success).
01:37:24 -!- jpc has joined.
01:48:40 -!- Pthing has quit (Remote closed the connection).
01:50:19 -!- coppro has quit (Read error: 60 (Operation timed out)).
01:56:56 -!- coppro has joined.
02:00:25 <Sgeo_> Can I sanely set up an SVN server with TortoiseSVN?
02:02:16 <pikhq> No, you cannot sanely set up an SVN server when there exists Git.
02:08:40 <coppro> or Hg
02:10:57 <Sgeo_> I may have crashed a universe
02:11:10 <Sgeo_> I really, really, doubt it, but still
02:53:05 -!- oerjan has quit ("Good night").
02:54:14 <Ilari> Sgeo_: Setting up SVN server is bit of PITA. :-)
02:54:36 <coppro> just use svn+ssh
02:55:18 <Ilari> Too slow. :-)
02:55:43 <Sgeo_> I just realized that I might be able to use normish. ty coppro
02:55:50 <Sgeo_> But first, SG-1
02:55:56 <coppro> <3 sgi
02:55:59 <coppro> *sg1
02:56:20 <Sgeo_> I got the guy in charge of the project I'm working on addicted
02:56:34 <Sgeo_> And now the game has several references
02:56:49 <Sgeo_> (I believe the original game also had references, but much more subtle)
02:57:29 <Sgeo_> Including a reference to something not particularly notable that happened in 1 (rather notable) episode
02:59:14 <Ilari> Does it have as many explosions per second as possible? :->
03:03:48 <coppro> Sgeo_: What's the reference
03:04:20 <Sgeo_> coppro, there's a point in one of the puzzles where you must do stuff, and one of the results is a red light shining through a gem
03:04:52 <Sgeo_> When I saw the scene in Full Circle shining a laser through a red gem, that reminded me of that in the game
03:05:19 <coppro> ah
03:05:21 <Sgeo_> Also, the big bad is called To'Rak. Ok, so if that's a reference, it's in name only, but still
03:12:08 -!- lament has joined.
03:13:12 <coppro> Sgeo_: have you played the new LoZ game yet?
03:13:16 <coppro> it has stargates in it
03:13:23 <Sgeo_> LoZ?
03:13:58 <coppro> Legend of Zelda
03:14:32 <coppro> these are bad pics, sorry:
03:14:36 <coppro> http://i1006.photobucket.com/albums/af190/shinkukage09/StargateLOZ.jpg
03:14:40 <coppro> http://i1006.photobucket.com/albums/af190/shinkukage09/StargateLOZactive.jpg
03:14:44 <coppro> I'll see if I can find better ones
03:15:35 <Sgeo_> Can I set normish up as an svn server?
03:17:27 <coppro> you can set it up for svn+ssh for sure
03:17:32 <coppro> probably over http as well
03:17:43 <coppro> dunno if you could set up an svn raw server
03:19:12 <Sgeo_> Would svn+ssh:// allow others to access it without giving them access to my normish account?
03:20:33 <coppro> they'd need normish accounts of their own
03:20:58 <Sgeo_> Oh bleh
03:22:10 <Sgeo_> coppro, is that the case with all of these options, or just svn+ssh?
03:22:17 <coppro> just svn+ssh
03:22:24 <coppro> the other two require a daemon to run as the server
03:23:01 <Sgeo_> And there's no way to run that under normal privs?
03:23:14 <coppro> possibly is
03:23:16 <coppro> dunno
03:23:23 <coppro> it's a network server, so probably
04:10:28 <coppro> wow
04:10:36 <coppro> all my channels were practically silent while I was gone
04:45:52 -!- lament has quit.
06:11:48 -!- zzo38 has joined.
06:12:06 <zzo38> The reason why they have IIII and IV for 4, is because IIII is for clocks, didn't you know that?
06:13:54 -!- zzo38 has quit (Remote closed the connection).
06:41:00 -!- coppro has quit ("Reconnecting…").
06:41:19 -!- coppro has joined.
06:57:33 -!- coppro has quit ("Reconnecting…").
06:57:50 -!- coppro has joined.
07:03:22 -!- Sgeo_ has quit ("Leaving").
07:08:18 -!- pikhq has quit (Read error: 54 (Connection reset by peer)).
07:08:34 -!- pikhq has joined.
07:13:58 -!- FireFly has joined.
07:59:50 -!- lament has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:28:17 -!- coppro has quit ("I am leaving. You are about to explode.").
08:29:04 -!- lament has quit.
08:30:02 -!- FireFly has quit ("Leaving").
08:37:01 -!- soupdragon has joined.
08:56:45 -!- jpc has quit ("I will do freaking anything for a new router.").
08:57:29 -!- jpc has joined.
09:43:10 -!- oerjan has joined.
10:10:52 -!- oerjan has quit ("leaving").
10:55:52 -!- jpc has quit (Read error: 110 (Connection timed out)).
11:02:19 <soupdragon> 'so you make the effort of scanning ~4billion IP addresses and all you come up with is some cell phone snaps of a 8x8 wall print?'
11:52:35 -!- soupdragon has quit ("Leaving").
12:44:51 -!- nsinreal has joined.
12:46:48 -!- Pthing has joined.
13:06:29 -!- Pthing has quit (Remote closed the connection).
13:15:09 -!- ehird has joined.
13:15:18 -!- FireFly has joined.
13:16:34 <ehird> 17:08:34 * pikhq did not realise that Windows does not come with a C library...
13:16:34 <ehird> Well, neither does Ubuntu.
13:16:39 <ehird> Nor OS X.
13:16:44 <ehird> Nor FreeBSD.
13:17:45 <ehird> 22:12:06 <zzo38> The reason why they have IIII and IV for 4, is because IIII is for clocks, didn't you know that?
13:17:45 <ehird> Clocks use that, but it is not there for clocks.
13:38:33 <ehird> Oh god I just realised something
13:38:36 <ehird> VirtualBox is now owned by Oracle
13:42:06 <augur> hey ehird
13:42:09 <augur> howsit goin
13:42:18 <ehird> It's all goin and whatnot.
13:42:25 <augur> awesome
13:42:28 <augur> cant have it not goin
13:46:53 <ehird> Windows XP installs bloody fast once you've mutilated it to fit into 177 megs.
13:47:04 <ehird> "Windows XP brutally mutilated: Installs faster than Ubuntu!"
13:50:13 <ehird> I appear to have accidentally lobbed of Japanese/Chinese character supporrt in my mutilation!
13:50:14 <ehird> OH WELL
13:50:15 <ehird> *support
13:54:35 <ehird> man, it starts up to the login screen in two seconds
13:55:01 <ehird> ok one issue though: can't login as administrator, which is the only account :-D
13:56:11 <ehird> this is problematic
13:58:01 <mycroftiv> ehird: that sounds like you have created a very secure distribution of win xp, by making admin the only account and prohibiting login to it, that prevents large categories of exploits
13:58:30 <ehird> it's incredibly secure, it even waits some seconds after you hit OK before telling you you can't login as administrator
13:58:40 <ehird> that prevents brute-force OK-clicking attacks
13:58:47 <ehird> designed to confuse the computer into letting the user in
13:58:55 <FireFly> Yeah
13:59:00 <FireFly> Great design choice
13:59:22 <FireFly> "some seconds"
13:59:27 <ehird> User name: Administrator
13:59:27 <ehird> Password:
13:59:28 <ehird> [OK] [Cancel (disabled)] [Options >>]
13:59:28 <ehird> C'mon guys, let's see if we can't get me into this system :P
13:59:32 <FireFly> So you get to the login screen faster than it takes for it to realize you can't log in?
13:59:36 <mycroftiv> one of my favorite bits of rio actually is a tiny bit of code commented as /* the purpose of this is to discard frantic user clicking during brief periods of inactivity */
13:59:41 <ehird> FireFly: yep
13:59:49 <FireFly> Heh
14:00:02 <ehird> winxp from bios handing over to the bootloader to graphical login screen here is like ~3s
14:00:09 <ehird> if only i could log in
14:00:36 <ehird> the install was pretty sweet
14:00:38 <ehird> it took about 5-6 minutes
14:00:41 <FireFly> Wait
14:00:49 <FireFly> does it still show all the stuff in those three seconds?
14:00:53 <ehird> the textmode formatting+copying stage took about 3 minutes
14:00:55 <FireFly> All different screens we usually see
14:01:02 <mycroftiv> "Inability to log in is not a defect. This bug should have been filed as a feature request. Login functionality has been deferred to an indeterminate future OS version. WONTFIX."
14:01:04 <ehird> and discarding my futzing with the settings in the graphical part it took about 2-3 minutes
14:01:07 <ehird> maybe 4 minutes tops
14:01:19 <ehird> FireFly: It shows the Windows XP with the [ ==== ] scroller.
14:01:24 -!- nsinreal has quit (Read error: 60 (Operation timed out)).
14:01:29 <FireFly> Only that?
14:01:32 <FireFly> and then login screen?
14:01:34 <mycroftiv> what about the naked babes?
14:01:37 <mycroftiv> and the fireworks?
14:01:46 <ehird> FireFly: yes
14:01:49 <mycroftiv> i dont use windows, but since everyone says its so great, i assume you get those when you start it up
14:01:49 <FireFly> Sounds sweet
14:02:06 <ehird> FireFly: I stripped out a lot of shit though
14:02:15 <FireFly> yeah, I can see thot
14:02:16 <FireFly> with a
14:02:21 <ehird> All the sounds, the entire theme support, wireless support, I think even DHCP
14:02:37 <augur> so ehird
14:02:44 <ehird> Anything even remotely server-like, things that windows media player depends on to even *run*, ...
14:02:50 <augur> about the constraint-functional gl
14:03:20 <augur> you wanna discuss it a bit later?
14:03:28 <ehird> FireFly: I did improve the graphical part of the installer, though, by making it use a black background and an InstallShield-esque dialog instead of the shitty Luna crap that's used by default
14:03:37 <ehird> augur: Sure? I guess.
14:03:55 <FireFly> How did you change it anyway?
14:04:16 <augur> awesome. im feeling kinda shit right now but hopefully later ill be better enough to talk coherently about this crap
14:04:17 <augur> lol
14:04:29 <ehird> FireFly: nLite + reckless abandon
14:04:56 <ehird> If you want it even lighter try slimming down Windows 2000, that supports like 90% of the stuff XP does
14:05:03 <ehird> (even if the stuff says it doesn't)
14:05:12 <FireFly> Heh
14:05:16 <ehird> FireFly: One thing I didn't bother with is stripping out the IE engine
14:05:35 <ehird> If you did that, and used the Windows 95 explorer as explorer.exe, that'd be pretty light.
14:05:37 <FireFly> I was about to ask that, but... it's apparently quite central
14:05:50 <ehird> Nah, it's not
14:05:54 <FireFly> No?
14:05:55 <FireFly> Hmm
14:05:58 <ehird> It breaks the default explorer,
14:06:01 <ehird> Windows Media Player,
14:06:14 <ehird> Help & Support including .chm (I guess you could use a third-party reader)
14:06:19 <ehird> some misc. stuff
14:06:23 <ehird> but really not all that much
14:06:40 <ehird> for third party stuff you could, like, use http://www.iol.ie/~locka/mozilla/control.htm
14:07:19 <ehird> FireFly: Vista onwards, though, use IE for, like, everything
14:07:24 <ehird> iirc the vista/7 control panel is actually ie
14:07:28 <FireFly> ...
14:07:43 <ehird> ,,,
14:07:45 <FireFly> Didn't MS say they were going to decentralize the use of IE in Vista?
14:07:53 <FireFly> I recall reading something like that
14:07:56 <ehird> Um. I don't think so.
14:08:02 <FireFly> Well, I may well be wrong
14:08:04 <ehird> They were lying, if they did.
14:08:23 <ehird> Oh also nLite lets you roll in service packs and updates into the install which is sweeeeeet
14:08:30 <FireFly> Nice
14:08:31 <ehird> And you can make programs (i.e. installers) execute on first boot
14:08:43 <ehird> and roll in drivers too
14:09:37 -!- soupdragon has joined.
14:10:18 <ehird> http://www.pu7o.org/pix/nt4sh_xp.png Windows NT 4 (i.e. Windows 95 ported to NT)'s shell in XP? Why yes indeed.
14:10:23 <ehird> Microsoft sure are rabid about backwards compat
14:11:13 <FireFly> Hah
14:13:06 <ehird> http://sillydog.org/forum/sdp_95595.php&sid=5758688f796265bb2f8336806d81d9ba#95595 ;; you can even download it!
14:22:15 <ehird> "KernelEx is an Open Source compatibility layer with an aim to allow running Windows 2000/XP-only applications on Microsoft Windows 98 and Microsoft Windows Millennium operating systems."
14:22:16 * ehird gawps
14:22:39 <augur> whats a gawp
14:23:51 <ehird> ur mom
14:23:55 <augur> oh ok
14:28:12 <AnMaster> sound blaster live cards have a ridiculous number of mixer controls. This image was stitched together from multiple screenshots:
14:28:13 <AnMaster> http://omploader.org/vMzczMA/sblive_mixer_controls.png
14:28:24 <AnMaster> (warning: *very* wide)
14:28:37 <FireFly> hah
14:28:38 <FireFly> nice one
14:28:41 <FireFly> Hm
14:28:45 <FireFly> not THAT wide
14:29:13 <ehird> "This behavior can occur if the account you are using to connect with has a null (blank) password. You cannot establish Remote Desktop connections when you are using an account with a null password."
14:29:22 <ehird> tl;dr my windows doesn't work because Administrator has no password
14:29:25 <ehird> not that i was given a choice
14:29:37 <AnMaster> FireFly, well, sure it could have been worse, if I had managed to get alsamixer to also show those of the on-board chipset. About two screenshots would have been needed for that one
14:29:45 <ehird> FireFly: 4240 pixels isn't wide? I would like to purchase your display(s).
14:29:51 <AnMaster> unlike the 6 or so for the sbLive card
14:30:01 -!- BeholdMyGlory has joined.
14:30:01 <FireFly> Of course I need to scroll
14:30:04 <FireFly> but it isn't THAT wide
14:30:15 <FireFly> in terms of large images
14:30:21 <ehird> Even the 27 inch iMac only has 2560 pixels. And the T221 only has 3840.
14:30:34 <AnMaster> ehird, hm I wonder if it *is* possible to get a single display that wide.
14:30:47 <ehird> AnMaster: physically, yes
14:30:48 <AnMaster> since 42" monitors and such tends to have fairly low DPI
14:30:57 <ehird> In practice? If you go to a manufacturer with a lot of money, probably.
14:31:01 <ehird> aha, I can log into this XP with safe mode
14:31:01 <AnMaster> ehird, I mean, in pixels, and physical one monitor
14:31:02 -!- nsinreal has joined.
14:31:05 <AnMaster> ehird, oh custom order?
14:31:06 <ehird> and use it to change the password
14:31:08 <AnMaster> only?
14:31:26 <AnMaster> I meant "more or less off the shelf"
14:31:28 <ehird> AnMaster: Not custom order... more like "here's $50 million dollars — design and produce one model".
14:31:58 * ehird starts stripped down XP in safe mode
14:32:07 <ehird> Windows is pretty simple if you cut down all the shit. :P
14:32:14 <ehird> Yay, login succeeded!
14:32:28 <ehird> "If you prefer to use System Restore to […]"
14:32:28 <ehird> How can I? I removed that component from the CD.
14:32:40 <AnMaster> ehird, the resolution sucks in safe mode iirc
14:32:41 <ehird> We have a taskbar; that's reassuring.
14:32:51 <AnMaster> forgot if you could change it
14:32:57 <ehird> 640x480x32 isn't bad...
14:33:08 <ehird> I'm only using this to add an account or whatever.
14:33:30 <ehird> Tee hee; the only type you can choose is Windows Classic style, and the only two schemes are Windows Classic and Windows Staandard.
14:33:32 <ehird> *Standard
14:33:37 <ehird> XP handles being lobotomised surprisingly well.
14:34:00 <ehird> "Screen saver
14:34:00 <ehird> [ (None) | V ]
14:34:00 <ehird> | Blank"
14:34:06 <ehird> Exciting choice
14:34:20 <ehird> Desktop background choices: "(None)"
14:34:40 <AnMaster> ehird, 640x480x32 isn't too bad on 1) CRT 2) virtualization in window. However it is horrible on a TFT with a native res of 1280x1024. And imagine it on a wide screen tft
14:35:16 <ehird> http://imgur.com/Z8PrO.png
14:35:21 <AnMaster> ehird, in what way is it stripped down?
14:35:33 <ehird> AnMaster: Over 50% of Windows components removed.
14:35:41 <ehird> CD is over 400 megs smaller.
14:35:42 <AnMaster> ehird, you did it?
14:35:46 <ehird> Yes, with nLite.
14:35:48 <AnMaster> ah
14:35:52 <ehird> I also integrated SP3 into it.
14:35:56 <ehird> AnMaster: nLite isn't an automated thing or anything
14:36:05 <AnMaster> ehird, oh?
14:36:05 <ehird> It just gives you a checkbox for every single damn component in the whole system
14:36:09 <AnMaster> I see
14:36:14 <AnMaster> ehird, dependency checks?
14:36:18 <ehird> And also lets you integrate service packs and stuff automatically, but the main bulk was that.
14:36:20 <ehird> AnMaster: Yes.
14:36:31 <AnMaster> well okay, could have been worse
14:36:39 <AnMaster> is it possible to drop IE?
14:37:09 <ehird> The browser executable, yes. The rendering engine, yes (but you'll have to remove a bunch of other stuff too. Most of the stuff that depends on it is useless, though, except for the file manager and .chm help files)
14:37:20 <ehird> I chose to keep both so I could download a browser with ease.
14:37:29 <ehird> The actual .exe file is tiny, it just calls up the DLL pretty much
14:37:37 <AnMaster> I assume windows update won't work on that thing any more
14:37:42 <ehird> Yes it will.
14:37:48 <AnMaster> also, how much disk space does the clean install use?
14:38:00 <AnMaster> ehird, no issues with it trying to update non-existent files?
14:38:08 <ehird> Just checked. 1.13 gigs
14:38:22 <ehird> AnMaster: I don't think so.
14:38:30 <AnMaster> mhm
14:38:31 <ehird> "[X] Allow Indexing Service to index this disk for fast file searching"
14:38:38 <ehird> But you don't HAVE indexing service, Windows. :)
14:39:14 <ehird> I kept in the important stuff of course. FreeCell, Hearts, Minesweeper, Solitaiire and Spider Solitaire are all there.
14:39:19 <ehird> As is Paint.
14:39:28 <ehird> And Sound Recorder.
14:39:32 <ehird> but those are all tiny :P
14:39:42 <ehird> No HyperTerminal or anything thoughh
14:40:12 <ehird> I like how I changed start menu submenus to open in 20ms, feels a lot less like waaiting
14:40:14 -!- Pthing has joined.
14:40:17 <ehird> Okay, let's add an account to this thing
14:40:35 <ehird> LOL, the account pictures are all IE's [x] image not found image
14:40:36 <ehird> :-D
14:41:12 -!- ais523 has joined.
14:41:42 <ehird> Hi ais523.
14:41:43 <AnMaster> ais523, hi there. http://omploader.org/vMzczMA/sblive_mixer_controls.png
14:41:57 <ehird> ais523: I've lobotomised Windows!
14:42:02 <ehird> XP, to be precise.
14:42:18 <ehird> ~100 meg install CD expanding to ~1 gig on disk.
14:42:21 <ehird> Everything must go!
14:42:29 <AnMaster> ais523, was stitched together from multiple screenshots. Image is 4240x833. Shows all the controls for my sound card in alsamixer
14:42:34 <ehird> And it actually runs. ...except you can't log in by default, you have to add a password using safe mode.
14:43:12 <ehird> Oh, I think I could have logged on if I used the username Owner
14:43:15 <ais523> ehird: I think it's incredibly ironic that ~1 gig on disk is considered "small" wrt Windows
14:43:28 <ehird> ais523: It's half of a regular install
14:43:30 <ehird> ais523: It's more the ISO size, anyway
14:43:33 <ehird> I stripped 400 megs off that
14:43:33 <ais523> yes
14:43:42 <ehird> There'll just be some big thingy in XP that everything depends on
14:43:50 <ais523> AnMaster: hmm, I tend not to control my sound card much at all
14:43:54 <ais523> apart from volume balance
14:44:05 <ais523> ehird: was anything of value lost?
14:44:05 <ehird> But seriously, I even made the installer use Windows 2000's installer, which is smaller.
14:44:06 <AnMaster> mhm
14:44:13 <ehird> ais523: Well, I'm about to do my first non-safe mode login.
14:44:14 <ehird> We'll see.
14:44:20 <ehird> Nothing's broken yet.
14:44:40 <ehird> ais523: And it boots to the login screen in seconds.
14:44:52 <ehird> The little XP loading spinner doesn't even do a full lap.
14:45:19 <AnMaster> ehird, nice
14:45:40 <ehird> I'm going to convert the VirtualBox VM to use SATA, not IDE, soon.
14:45:45 <ehird> That'll make it even faster
14:45:53 <ehird> (VBox's SATA emulation is faster than its IDE emulation)
14:46:00 <ais523> ehird: hmm, you're confirming certain suspicions I have about Windows
14:46:06 <ehird> ais523: like?
14:46:21 <ais523> I've suspected for a while its slowness is for marketing reasons, indirectly
14:46:26 <ais523> rather than anything fundamnetal
14:46:28 <ais523> *fundamental
14:46:32 <ehird> I seem to have done the rather worrying thing here of making Windows XP into a small, fast, rather reasonable desktop OS
14:46:56 <ehird> Why do my Windows experiments always end in me somehow putting Windows in a good position?
14:46:57 <ais523> I suspect whatever you've ended up with will be rather insecure, but I'm not even sure of that
14:47:05 <ais523> ehird: because Windows isn't inherently unreasonable
14:47:05 <ehird> ais523: I didn't remove any security stuff
14:47:12 <ehird> In fact, I removed a lot of things like NetBIOS over TCP/IP
14:47:15 <ehird> If anything it's more secure
14:47:20 <ais523> ehird: I'd expect security updates to either fail to apply or add them back
14:47:24 <ais523> due to the typical way they're packaged
14:47:33 <ehird> I'm not sure, people update nLite systems a lot as far as I know
14:47:37 <ehird> So I guess it works alright
14:47:48 <ehird> (nLite is the tool that lets you disable components of Windows)
14:48:13 <ehird> nLite :: ISOContents Windows -> [WindowsComponent] -> ISO Windows
14:48:13 <ehird> :-P
14:48:26 <ehird> was a pain chasing dependencies and stuff to make sure the basics worked though
14:48:33 <ehird> Anyway, let's see how much stuff works
14:48:44 <ais523> meanwhile, my office computer (running Windows 7) is having sufficient compatibility problems that the computer support people are putting a Windows XP VM on it
14:49:00 <ais523> in an attempt to actually run the programs that its purpose is to run
14:49:11 <ehird> ais523: your organisation is collectively braindead
14:49:14 <ais523> (personally I blame it on Xilinx for writing unportable code, but that's another matter...)
14:49:38 <ehird> [X] Use visual styles on windows and buttons
14:49:46 <ehird> I love how Windows is convinced it has all the components I removed
14:49:49 <AnMaster> <ehird> I'm going to convert the VirtualBox VM to use SATA, not IDE, soon. <-- oops. Windows XP. SATA. Oops
14:49:53 <ehird> I'm running into references to them every few minutes
14:49:59 <ehird> AnMaster: you just have to install the drivers.
14:50:03 <AnMaster> ehird, I got it to work but needed a floppy with drivers during the install
14:50:14 <ehird> I tried that but it failed to copy the drivers
14:50:14 <AnMaster> ehird, didn't manage to switch after install
14:50:18 <ehird> Meh
14:50:22 <ehird> I'll google for help
14:50:27 <AnMaster> ehird, 32-bit xp?
14:50:29 <ais523> ehird: you could save even more by removing the references!
14:50:34 <AnMaster> for 64-bit xp there seems to be no drivers
14:50:45 <ehird> ais523: XD
14:50:48 <ehird> AnMaster: 32-bit.
14:50:58 <ais523> a useful trick is that most of the strings used by a Windows application are stored in the resource object, rather than the executable part
14:51:00 <ehird> Who uses XP x64? People who want to use Windows XP without caring about application compatibility. i.e. idiots
14:51:16 <ais523> so you can change them with a resource editor without disturbing the rest of the aplication
14:51:21 <ehird> ais523: Also, the install was faster than Ubuntu's install on real hardware
14:51:22 <ais523> AnMaster: I specifically requested 32-bit
14:51:22 <ehird> No joke
14:51:29 <ehird> The actual copying of files took about 1.5 minutes
14:51:41 <ais523> given that the programs are known to have 64-bit compatibility issues
14:51:52 <ais523> ehird: doesn't actually surprise me, although I assume Ubuntu could be cut down to be faster than Windows
14:52:08 <ehird> I renamed C:\Documents and Settings to C:\Users :-)
14:52:13 <ais523> because Ubuntu installs drivers for every piece of hardware it supports by default, Windows copies some .cabs over instead
14:52:24 <ehird> Although I couldn't find where to rename C:\Program Files to C:\Programs
14:52:33 <ais523> given that Ubuntu has better hardware support than Windows XP included with the OS, that's going to be more drivers
14:52:37 <ais523> ehird: Vista?
14:52:48 <ehird> Vista doesn't do that
14:52:49 * ais523 runs
14:52:58 <ehird> well
14:53:04 <ehird> vista does C:\Users
14:53:06 <ehird> but not \Programs
14:53:15 -!- nsinreal has left (?).
14:53:28 * ehird greps the registry for Program Files
14:53:53 <ehird> Eh, quite a lot of stuff referring to dlls
14:54:02 <ehird> If only regedit had a global search and replace >:)
14:54:16 * ehird deletes AUTOEXEC.BAT and CONFIG.SYS.
14:54:19 <ais523> storing the name of a dll in the registry is an incredibly bad idea, from what I remember of Windows development
14:54:22 <ehird> Honestly, why are they even there? They're not even loaded.
14:54:28 <ehird> ais523: Well, Microsoft does it.
14:54:35 <ais523> so? that doesn't mean it's a good idea
14:54:41 <ehird> :P
14:54:45 * ehird also deletes IO.SYS
14:54:54 <ehird> And MSDOS.SYS...
14:55:12 <ehird> WTF Windows just replaced them
14:55:14 <ais523> I once extracted the entire source code for a wizard that made Microsoft Binder files
14:55:16 <ehird> I thought I disabled that
14:55:21 <ais523> because it had all been written in VBA for Excel
14:55:33 <ais523> and it just took a simple macro command to turn the vbVeryHidden flag off on the macros
14:56:01 <ehird> lol Elliott is still in \Users\Owner
14:56:05 <ais523> (hidden can be false (not hidden), true (hidden, but you can unhide it via the GUI), very-hidden (hidden, and you need to use a macro to hide it))
14:56:07 <ehird> Incidentally, XEmacs is quite nice on Windows
14:56:11 <ehird> although ugly
14:56:17 <AnMaster> <ehird> WTF Windows just replaced them <-- WFP
14:56:23 <ehird> AnMaster: Yes, but I disabled that
14:56:26 <ehird> Maybe it reset it after the install
14:56:27 <AnMaster> ah okay
14:56:32 <ehird> (Disabling WFP speeds up the install loads apparently)
14:56:38 <ais523> what's WFP?
14:56:41 <AnMaster> ehird, anyway I believe autoexec.bat is used for cmd.exe
14:56:45 <ehird> Windows File Protection
14:56:49 <AnMaster> config.sys is not though
14:56:51 <AnMaster> iirc
14:56:53 <ehird> Change or delete a file Windows likes?
14:56:53 <ehird> BAM!
14:56:55 <ais523> AnMaster: no, autoexec.nt I thought
14:56:56 <ehird> You're reverted in seconds.
14:57:02 <AnMaster> ais523, oh, maybe
14:57:41 <ais523> which nicely violates Windows' file-extension-indicates-file-type convention
14:57:51 <ais523> as there's config.nt too with an entirely different format
14:58:01 <AnMaster> ehird, WFP is just the first step towards making windows viral
14:58:16 <AnMaster> in the future, it will take over other partitions, not just protect itself
14:58:19 <ehird> del /F /A:H IO.SYS
14:58:21 <ehird> Feels good man
14:58:34 <AnMaster> ehird, reverted yet?
14:58:51 <ehird> Nope, apparently Windows doesn't keep a backup of them I guess
14:58:59 <ehird> I guess it just fished them out of \RECYCLER beforehand
14:59:05 <AnMaster> ehird, pretty sure a backup copy is how it works
14:59:09 <AnMaster> hrrm
14:59:20 * ais523 vaguely flabbergasts
14:59:39 <ehird> http://www.windowsnetworking.com/articles_tutorials/Tweaking-XP-Windows-File-Protection-SP2.html
14:59:39 <ehird> Disabling WFP involves hex editing a system DLL. Noted.
15:00:20 <ais523> not really, you could do it in octal instead
15:00:36 <AnMaster> ais523, :D
15:00:36 * ehird sets start menu to classic
15:03:06 <ehird> Anyone know if there's a program that empties the recycle bin in Windows XP by default?
15:03:10 <ehird> Would like to add it to my start menu.
15:04:42 <ais523> you could write a one-line batch script, and add that to your start menu
15:04:50 <ehird> http://i.imgur.com/AYA7q.png
15:04:52 <ehird> Some choice
15:05:01 <ehird> ais523: I kinda like the Windows confirm prompt, though. :P
15:05:07 <ehird> But yeah, I could. I will.
15:05:16 <ais523> ehird: five lines of VBSctipy, then (ugh)
15:05:23 <ais523> *VBScript
15:05:26 <ehird> I could just use JScript with WSH
15:05:34 <ehird> Same objects, after all
15:06:26 <ehird> Oi, laugh at http://i.imgur.com/AYA7q.png
15:06:39 <augur> ehird, is that your doing?
15:06:50 <ehird> Incidentally I not only purged the animated dog from search, but reverted the entire search UI to win2k's
15:06:52 <ehird> augur: define that
15:06:57 <augur> windows inside sun inside max os?
15:07:03 <AnMaster> <ehird> I could just use JScript with WSH <-- you installed jscript support?
15:07:16 <ehird> Sun is the company that makes VirtualBox, you dolt :P
15:07:25 <ehird> AnMaster: It's part of IE
15:07:40 <ehird> augur: The thing to laugh at is the fact that Search is a menu with only one item
15:07:43 -!- soupdragon has quit ("Leaving").
15:07:46 <ehird> Due to my evil lobotomising of Windows
15:07:46 <AnMaster> ehird, vbscript too?
15:07:50 <ehird> AnMaster: Don't know
15:07:55 <augur> true
15:08:24 <AnMaster> ehird, how many colours is the system set to
15:08:30 <ehird> 32bit
15:08:53 <AnMaster> ehird, really? why does the blue bar on the side of the start menu look like it was dithered to 8 bits then
15:08:56 -!- soupdragon has joined.
15:09:03 <ais523> AnMaster: because IIRC it's a bitmap
15:09:08 <ehird> That's just how it is
15:09:14 <ais523> that actually /is/ dithered to 8 bits, or possibly even less
15:09:15 <AnMaster> ais523, mhm. Bitmaps can be 32-bit you know ;P
15:09:18 <ehird> The actual gradient isn't 8-bit, I don't think
15:09:19 <AnMaster> right
15:09:20 <ehird> Te text is just ugly
15:09:23 <ehird> *The
15:09:35 <AnMaster> ehird, why home edition
15:09:40 <ehird> Because
15:09:43 -!- soupdragon has quit (Client Quit).
15:09:48 <ehird> I downloaded home edition because it was what I had my serial for
15:09:53 <AnMaster> ah
15:09:55 <ehird> Pro = Home + some useless settings nobody uses
15:09:57 <ehird> big deal
15:10:08 <AnMaster> ehird, yeah like ACLs on files
15:10:10 <AnMaster> though
15:10:15 <ais523> I thought Home was banned from joining a network (other than the Internet)
15:10:18 <AnMaster> there is a trick to get that in XP home outside safe mode
15:10:22 <ehird> ais523: Who cares
15:10:24 <ehird> AnMaster: Who cares
15:10:35 <AnMaster> you had to replace some files with files from a 2000 or NT 4 hotfix
15:10:37 <AnMaster> iirc
15:10:37 <ais523> ehird: businesses care, presumably
15:10:46 <fizzie> Home indeed can't join a domain properly.
15:10:49 <AnMaster> then suddenly, full file permissions
15:11:09 <fizzie> It can be a part of a workgroup, though, I think.
15:11:09 <ehird> Time to write some JScript!
15:11:50 * ehird creates \home for storing stuff
15:12:21 <ehird> \home\tools\recycle.js. Like some evil bastard lovechild of Unix.
15:12:36 <fizzie> I have here a Samba-controlled Windows domain, though with a total of one (1) Windows machines I'm not quite sure why.
15:12:37 <ehird> Sweet, it works
15:12:45 <ehird> WScript.Echo("Hello, world!");
15:12:45 <ehird> WScript.Quit();
15:12:52 <ehird> Don't let anybody tell you Windows doesn't come with development tools
15:13:02 <ehird> (That displays a GUI dialog box, btw.)
15:14:15 <ehird> No, wait, it depends what engine you use
15:14:31 <ehird> Wscript.exe is a dialog box, Cscript.exe just outputs it as text
15:14:46 -!- soupdragon has joined.
15:15:03 <AnMaster> fizzie, heh
15:15:21 <ehird> >cscript /Nologo recycle.js
15:15:21 <ehird> Hello, world!
15:16:27 -!- soupdragon has quit (Client Quit).
15:20:24 <AnMaster> ehird:
15:20:26 <AnMaster> Targets (1): ghc-6.10.4-1
15:20:26 <AnMaster> Total Download Size: 80.29 MB
15:20:26 <AnMaster> Total Installed Size: 563.95 MB
15:20:28 <AnMaster> wth
15:20:39 <ehird> What about it?
15:20:47 <AnMaster> ehird, over 550 MB
15:20:55 <AnMaster> I'm a bit surprised
15:21:12 <ehird> Maybe it comes with all the profiling libraries or something.
15:21:16 <AnMaster> hm
15:21:22 * AnMaster looks at the pkgbuild
15:21:27 <ehird> Besides, 64-bit code is fatter.
15:21:34 <ehird> And languages like Haskell have a LOT of pointers.
15:21:35 <ehird> a LOT.
15:21:37 <ehird> Think thunks.
15:21:45 <ehird> Every single lazy expression generates a pointer.
15:22:15 -!- soupdragon has joined.
15:22:18 <AnMaster> ehird, sure 64-bit is fatter. But usually not quite as much. Let me check ghc on ubuntu (6.8.2 there, so I would expect slightly smaller)
15:25:20 <ehird> Okay, recycle.js now does everything *but* the actual emptying.
15:25:20 <AnMaster> Installed-Size: 197952
15:25:28 <AnMaster> says apt-cache show
15:25:41 <AnMaster> so around 193 MB
15:26:02 <AnMaster> or MiB you would say
15:26:39 <AnMaster> ehird, those profiling libs. What configure switch would enable then?
15:26:40 <AnMaster> them*
15:26:51 <AnMaster> since arch's PKGBUILD just uses:
15:26:53 <AnMaster> ./configure --prefix=/usr
15:27:02 <ehird> It's in the make configure file
15:27:09 <ehird> AnMaster: But it shouldn't inflate it that much
15:27:11 <AnMaster> ah the:
15:27:13 <ehird> I suggest building GHC yourself
15:27:14 <AnMaster> cp $startdir/build.mk mk/build.mk
15:27:15 <AnMaster> line
15:27:21 <AnMaster> ehird, well yes probably a good idea
15:27:22 <ehird> It's not hard
15:27:25 <fizzie> Misread a course name in an email: "T-61.9910 Adventures in Matrix and Tensor Factorizations". (It was "Advances" instead; thought someone had a sense of humour there.)
15:27:31 <AnMaster> ehird, takes ages iirc
15:27:36 <AnMaster> and don't you need ghc to do it
15:27:39 <ehird> AnMaster: About three hours.
15:27:43 <ehird> Yes, but you can download a bootstrap GHC.
15:27:50 <ehird> http://hackage.haskell.org/trac/ghc/wiki/Building
15:28:00 <AnMaster> # Full build with max optimisation (slow build)
15:28:00 <AnMaster> BuildFlavour = perf
15:28:03 <ehird> If you're going to program in Haskell I suggest enabling the profiling libs
15:28:04 <AnMaster> from that build.mk
15:28:09 <ehird> AnMaster: Well, don't do that.
15:28:28 <AnMaster> ehird, does that include those profiling libs?
15:28:36 <ehird> Dunno.
15:28:42 <ehird> Just follow the guide on trac :-P
15:28:55 <ehird> Don't build the latest GHC, 6.12, though
15:29:00 <ehird> Not much stuff supports it yet
15:29:02 <ehird> *it yet
15:29:10 <ehird> ais523: grr, DEL /Q \RECYCLER\* doesn't work
15:29:21 <ehird> do you know how to empty the recycle bin from the command line?
15:29:35 <ais523> not offhand
15:29:49 <ais523> I'd have expected that to work...
15:30:01 <ais523> (do you need to specify c:\ rather than just \?)
15:30:04 <ehird> no
15:30:11 <ehird> it's just that \RECYCLER isn't the 'real' recycle bin
15:30:15 <ehird> it just includes fancy recycle binnish files
15:30:30 <AnMaster> ehird, so the recycle bins are inside it?
15:30:48 <AnMaster> that sounds familiar from reinstalling xp side by side with an old xp on some system
15:31:16 <ehird> doing DIR in \RECYCLER gives the header then "File Not Found"
15:31:18 <ehird> which is peculiar
15:33:04 <ehird> http://kitenet.net/~joey/hacker_tombstone/
15:33:04 <ehird> The most depressing Debian-related page you'll read today.
15:35:27 <ehird> Files in the "Recycled" directory are hidden as well, so apply the following command to make them visible:
15:35:27 <ehird> aha
15:35:41 <ehird> DIR /A does it
15:36:23 -!- Asztal has joined.
15:37:00 <ehird> DEL /A: \RECYCLER\*\*, I believe
15:37:11 <ehird> */A:H
15:38:04 <ehird> Tada
15:38:31 <ehird> var WshShell = new ActiveXObject("WScript.Shell");
15:38:32 <ehird> if (WshShell.Popup("Do you want to empty the recycle bin?", 0, "Empty Recycle Bin", 4 + 32) == 1)
15:38:32 <ehird> WshShell.Exec("DEL /A:H /Q \\RECYCLER\\*\\*");
15:38:40 <ehird> Let's see you Linuxers do that in three lines :P
15:38:59 <ehird> (0 = timeout; 4 = buttons are Yes/No; 32 = question mark icon)
15:41:30 <ehird> Woot, all done and added to the start menu
15:41:34 <ehird> That was surprisingly painless
15:42:09 <ehird> It surprises me how nothing's broken yet
15:42:15 <ehird> ais523: quick, give me something you think I broke :P
15:43:05 <ais523> hmm, /me thinks
15:43:15 <ais523> the issue is, most of the things you're more likely to have broken you probably don't care about anyway
15:43:17 <ais523> like printer sharing
15:43:27 <ehird> Printers? Who said I had printer support?
15:43:30 <Ilari> 'Xdialog --yesno "Empty recycle bin?" 0 0 && rm -rf <...>' (or something). But that also needs shellbang line.
15:43:34 <ais523> ehird: exactly
15:43:48 <ehird> I literally don't have any support for printers or scanners, even PDF printers.
15:43:50 <ehird> But who uses them!
15:43:53 <ais523> Ilari: that would be 2 lines, then
15:44:00 <ehird> Ilari: That doesn't need a shebang line.
15:44:06 <ehird> It defaults to /bin/sh.
15:44:07 <ais523> ehird: I use PDF printers, then take the PDF to another computer and produce hardcopy from it
15:44:17 <ais523> ehird: it defaults to whatever shell you're running it from
15:44:26 <ehird> Well, what happens if you run it from e.g. a GNOME menu?
15:44:28 <ais523> and fails to run if it doesn't have a shebang and are running from outside a shell, I think
15:44:34 <ehird> Alright then.
15:44:40 <fizzie> Ilari: That's not three lines, though. (I was writing one with dialog instead of xdialog.)
15:44:51 <AnMaster> <ehird> Let's see you Linuxers do that in three lines :P <-- probably done with dbus these days
15:44:53 <AnMaster> *shurg*
15:45:37 <ehird> ais523: I considered removing 16-bit support but decided against it
15:45:45 <ehird> Who doesn't love 16-bit programs
15:45:50 <AnMaster> NAME
15:45:50 <AnMaster> dbus-binding-tool - audio previewer for the GNOME desktop.
15:45:53 <ais523> most of my programs were 16-bit
15:45:54 <AnMaster> I believe that is way way off
15:45:59 <ehird> Excellent, FreeCell works
15:45:59 <ais523> it was more reliable than 32-bit, I'm not sure why
15:46:08 <ais523> my current theory is bitflips in the 32-bit compiler I had
15:46:13 -!- jpc has joined.
15:46:36 <ehird> I wonder what browser I should put on this.
15:46:44 <ehird> Perhaps K-Meleon; that's suitably weird.
15:47:15 <ehird> I didn't include Calculator because you should be using Frink. :-)
15:47:35 <pikhq> package require Tk;if {[tk_messageBox -type yesno -icon question -message "Do you want to empty the recycle bin?"]} {exec "rm -rf ~/trash"}
15:47:46 <ehird> pikhq: Hey, no multiple statements on one line
15:47:51 <ehird> But very good.
15:47:58 <ehird> Although.
15:48:01 <ehird> That removes ~/trash itself.
15:48:03 <pikhq> ehird: Fine, then it's 3 lines.
15:48:05 <ehird> ITYM rm -rf ~/trash/*
15:48:10 <pikhq> Yeah.
15:48:14 <ehird> pikhq: 3 lines? What bracing style are you using?
15:48:21 <ehird> Surely 4 lines at the least
15:48:26 <ais523> what lang is that?
15:48:26 <ehird> Yeah, I know, no fair :-)
15:48:29 <ehird> ais523: tcl
15:48:42 <ehird> It would be even shorter in REBOL :-) http://www.rebol.com/oneliners.html
15:48:43 <pikhq> ehird: Well, strictly speaking it's only *two* commands.
15:48:47 <AnMaster> ehird, dbus-monitor indicates that dbus *is* involved both in moving files to trash and in emptying trash
15:48:57 <AnMaster> why on earth I don't know
15:49:10 <ais523> AnMaster: to determine where the trash dir is, I think
15:49:17 <ehird> If a language can make an internet-accessing GUI program shorter than REBOL, that's some achievement.
15:49:30 <pikhq> Fine, I'll make it two lines.
15:49:57 <pikhq> package require Tk;expr {[tk_messageBox -type yesno -icon question -message "Do you want to empty the recycle bin?"]?[exec "rm -rf ~/trash"]:0}
15:50:09 <ehird> That is so cheating.
15:50:12 <ehird> I could do that in JS too. :P
15:50:19 <pikhq> So very cheating.
15:50:20 <AnMaster> ais523, looked more like a move command the the gnome vfs layer
15:50:22 <AnMaster> and a remove one
15:50:25 <AnMaster> with byte arrays
15:50:36 <AnMaster> probably filename, didn't bother trying to put them together
15:50:43 <AnMaster> method call sender=:1.739 -> dest=org.gtk.vfs.Metadata serial=2 path=/org/gtk/vfs/metadata; interface=org.gtk.vfs.Metadata; member=Remove
15:50:43 <AnMaster> array [
15:50:43 <AnMaster> byte 47
15:50:43 <AnMaster> byte 104
15:50:45 <AnMaster> [...]
15:51:19 <ehird> TODO: Get a nicer browser. Get Java. Get Frink. Do updates at some point. Get Corman Lisp.
15:51:27 <ehird> Get Emacs.
15:51:51 <AnMaster> well since the first few ones form "/home" and I can't be arsed to work out the rest
15:51:55 <AnMaster> I guess it is a path
15:54:26 <ehird> Abuh?
15:54:36 <ehird> I just got 700 kb a sec.
15:54:42 <ehird> ...And am getting sustained 180 kb a sec.
15:54:46 <AnMaster> "abuh"?
15:54:50 <ehird> My link maxes out below 160 or thereabouts.
15:54:57 <ehird> AnMaster: An expression of extreme surprise.
15:55:01 <AnMaster> ehird, you only have 160 kb down?
15:55:19 <ehird> AnMaster: We pay for 8 megabits, but this fucking village uses the nearest town's exchange
15:55:29 <AnMaster> oh right, remember now
15:55:31 <ehird> It's only a few miles away, but it caps out my download below 200k
15:55:34 <ehird> Fucking thing sucks
15:55:46 <ehird> Wanna move to Scandinavia and get 100 mb :(
15:55:46 <AnMaster> ehird, so why not pay for less, or will you get even less then?
15:56:02 <AnMaster> also aren't there rules about how many percent of the stated sped that you have to get at least
15:56:03 <ehird> AnMaster: we just haven't got around to it, or maybe we are and i just don't know it
15:56:14 <ehird> Also, no. We transferred from the previous house.
15:56:16 <AnMaster> speed*
15:56:24 <AnMaster> ehird, hm?
15:56:34 <ehird> Hm what?
15:57:21 <AnMaster> ehird, anyway ~700-760 kilobyte is what I get during good conditions here. Pay for 8 megabit down
15:57:52 <AnMaster> ehird, so I guess it just happened to be good conditions for a few seconds
15:58:09 <ehird> No, it showed all the signs of being rate-limited.
15:58:22 <ehird> That happens, often: you get the unlimited speed and then it gets clocked down by the ISP.
15:58:24 <ehird> ...So, ???
16:03:51 <AnMaster> ehird, very strange. Also that doesn't happen much here. Does happen at university though
16:04:02 <AnMaster> I blame the wlan
16:04:11 <AnMaster> ehird, I guess they try to be nice to short burts
16:04:21 <AnMaster> probably useful for some commonly used tech
16:05:03 <ehird> No, it's probably that their rate limiter is asynchronous
16:05:08 <AnMaster> ehird, oh?
16:05:10 <ehird> Making it run on every piece of traffic, blocking it, would be crazy
16:05:11 <AnMaster> hm maybe
16:05:21 <ehird> So I'm guessing that the rate limiter is a separate process that limits the stream
16:05:29 <ehird> And it takes a second or so to kick in
16:05:31 <AnMaster> ehird, couldn't they physically limit the link speed
16:05:40 <ehird> Wouldn't that require using different cables
16:05:47 <AnMaster> like, 100 mbit ethernet isn't artificially rate limited 1 gbit ethernet
16:05:55 <AnMaster> ehird, hm maybe
16:06:17 <ehird> 100 mbit, wonderful
16:06:21 <ehird> Now give me an 8 mbit ethernet cable
16:06:38 <AnMaster> ehird, I believe it is due to the interface rather
16:07:26 <AnMaster> if they made the interface in the exchange not handle more than a given speed, there would be no need for rate limiting in other ways would there?
16:07:44 * ehird tries Opera as a lightweight windows browesr
16:07:46 <ehird> *browser
16:07:47 <AnMaster> ehird, also, don't you need a cat6 rather than cat5e for 10 gbit ethernet?
16:08:03 <AnMaster> ehird, vonkeror! *runs*
16:08:04 <ehird> AnMaster: why do all of this when you can save money by having a flexible rate limiter
16:08:17 <ehird> Vonkeror is hardly lightweight, it uses Gecko. :-)
16:08:31 <AnMaster> ehird, [cue: suspiciously] are you trying to be practical?
16:08:48 <ehird> No! I will use telnet.
16:08:54 <AnMaster> ehird, I meant for rate limiting
16:08:57 * ehird ...phew... close one
16:08:58 <AnMaster> not for browser
16:08:59 <ehird> AnMaster: Oh. :P
16:09:54 <ehird> YET ANOTHER FEATURE OF DYNAMIC LINKING: The linker has to topologically sort the objects!
16:10:25 <AnMaster> ehird, it does?
16:10:29 <ehird> yep
16:10:46 <AnMaster> weird
16:10:56 <ehird> Fun worst case performance there
16:11:10 <AnMaster> but why
16:11:13 <AnMaster> does it have to do that
16:11:27 <ehird> Not sure, but Ulrich Drepper says it's true and he's probably right.
16:11:35 <ehird> He does know rather a lot about dynamic linking, except that it's shit.
16:11:49 <ehird> Ugh, I wish my mouse would stop glitching fake middle clicks in virtualbox
16:11:55 <AnMaster> ehird, how many libraries are usually involved?
16:12:00 <ehird> Objects.
16:12:03 <ehird> Object files.
16:12:21 <AnMaster> ehird, oh not ld.so? but ld?
16:12:24 <ehird> So... all of the object files in your program/library, and all the dynamic libraries you use.
16:12:33 <ehird> AnMaster: I think so, anyway.
16:13:17 <AnMaster> ehird, because for ld.so I think the stuff it would be required to sort is fairly small. So the n wouldn't be too bad
16:13:42 <AnMaster> however, for ld wouldn't it have to do the same for static linking too?
16:13:48 <AnMaster> since ld is used for that as well
16:13:53 <ehird> I don't know! I'm just parroting Drepper.
16:14:22 <AnMaster> ehird, anyway if it did, ld wouldn't depend on the libraries used by an object to be listed *after* said object. would it?
16:14:30 <ehird> I
16:14:31 <ehird> DON'T
16:14:31 <ehird> KNOW
16:14:34 <AnMaster> so it must refer to the runtime linker, otherwise it wouldn't make sense
16:14:37 <fizzie> In any case where you have to load thing A before thing B because B depends on A, topological sorting comes up pretty naturally.
16:14:45 <AnMaster> ehird, rhetorical question
16:15:55 <fizzie> Rhetorical question for a rhesus monkey. (Free-associating here.)
16:16:22 <AnMaster> why do so many touchscreens seems to react slowly
16:16:30 <AnMaster> used one yesterday on a copy machine
16:16:32 <ehird> Because the underlying hardware is shit.
16:16:41 <AnMaster> ehird, is it fast on iphone btw?
16:16:48 <ehird> Also because they don't use capacitive touchscreens.
16:16:51 <ehird> AnMaster: Instant.
16:16:59 <AnMaster> pure guess is that it is related to denouncing of some source
16:17:01 <AnMaster> sort*
16:17:02 <ehird> People _do_ play touch-based games on them, you know. It wouldn't exactly work with lag.
16:17:05 <AnMaster> (weird typo that)
16:17:06 <cheater> i wish iphone could record conversations
16:17:17 <ehird> cheater: just get the nsa to wiretap you
16:17:27 <cheater> it's actually a pretty big thing to me
16:17:29 <AnMaster> cheater, can't you write an app to do it?
16:17:31 <cheater> to record convos
16:17:33 <cheater> no
16:17:38 <ehird> or buy two iphones, and use voice notes on the other one to record the conveersation
16:17:38 <AnMaster> ?
16:17:40 <ehird> *conversation
16:17:45 <cheater> the api does not allow direct access to the telephone layer
16:17:51 <ehird> AnMaster: the telcos wouldn't let you access the telephone shit, dude
16:18:04 <ehird> they make sure all that's proprietary
16:18:07 <cheater> ehird: some/many telephones allow you to record voice convos tho
16:18:10 <AnMaster> cheater, oh I thought you meant in the room.
16:18:15 <AnMaster> as in, taking notes
16:18:17 <AnMaster> or whatever
16:18:24 <ehird> AnMaster: o_o
16:18:44 <cheater> a lot of people think that
16:18:49 <AnMaster> anyway it doesn't sound like it would be impossible with android
16:18:52 <cheater> and i have no idea where they come up with that
16:18:59 <cheater> android is gay though
16:19:01 <cheater> no cool apps
16:19:03 <cheater> no cool games
16:19:06 <ehird> android isn't open either
16:19:14 <AnMaster> cheater, is that your primary use for a phone? ;P
16:19:21 <AnMaster> ehird, well maybe, I'm no expert
16:19:22 <ehird> the iphone is a phone only in name ffs
16:19:30 <fizzie> Quite a lot of phones also beep when they're recording conversations; that's some rule or another too.
16:19:33 <ehird> telephone is like 15% of its use
16:19:37 <cheater> if i am going to buy an expensive telephone it might as well be something that makes my life more enjoyable
16:19:48 <AnMaster> fizzie, you could make voice controlled games
16:19:50 <cheater> fizzle: that rule is not required by law.
16:20:04 <AnMaster> for multiple players
16:20:09 <cheater> AnMaster: you can access the microphone.. but not when there's a conversation happening.
16:20:17 <ehird> AnMaster: nintendo want to hire you
16:20:20 <AnMaster> cheater, see "<AnMaster> for multiple players"
16:20:24 <AnMaster> ehird, hah :P
16:20:26 <ehird> they're working on a new console, the Spiik
16:20:41 <cheater> AnMaster, see $myBallsack
16:20:43 <ehird> after their previous urination-based interface didn't sell
16:20:47 <ehird> AnMaster: wat
16:20:47 <AnMaster> cheater, of course I guess packet data would work
16:20:49 <AnMaster> cheater, ?
16:20:52 <ehird> erm
16:20:53 <cheater> :P
16:20:53 <ehird> cheater: wat
16:20:54 <ehird> rather
16:21:03 <ehird> oh i see you're in ##php
16:21:09 <ehird> BANISH! BANISH!
16:21:16 <cheater> i sometimes ask them funny questions like
16:21:16 * ehird WAK !!
16:21:17 * ehird WAK !!
16:21:18 * ehird WAK !!
16:21:23 <cheater> 'what is a design pattern'
16:21:24 <fizzie> I have no clue how accessible the telephone audio side is on Maemo, since this N900 is the first one that is actually a phone too.
16:21:25 <AnMaster> is "$myBallsack" supposed to make sense
16:21:27 * ehird pitchfork →→→→
16:21:28 <cheater> and they get confused for 30 minutes
16:21:32 * ehird ←←← CHEATER
16:21:37 * ehird pitchCHEATERfork
16:21:42 <ehird> you are dead now
16:21:53 <cheater> that might be why i feel so shit today
16:21:58 <cheater> that or going to sleep at 5 am
16:22:16 <AnMaster> uh uh, undead
16:22:39 * ehird considers giving up his weirdness quest and just installing chrome
16:22:40 <fizzie> What I do know is that the Asterisk port in the Maemo repository isn't (yet, at least) tied to the telephony side of the phone. Audio might be already doable, though.
16:23:23 <AnMaster> can't you get a GSM chipset? Supposedly Apple, Nokia and so on got that from somewhere
16:23:45 <AnMaster> then use that to build your own. Hm probably need some certification to be allowed :(
16:23:58 <ehird> AnMaster — solving problems the telcos say you can't with technological means since 2009
16:23:59 <ehird> ...
16:24:00 <ehird> 2010
16:24:20 <cheater> AnMaster: that was just an answer to you being a smartass :p
16:24:42 <ehird> he's not being a smartass this is how AnMaster actually approaches problems like these
16:24:54 <fizzie> OpenMoko's pretty open -- I guess that's one of the reasons it doesn't do 3G, or something.
16:25:01 <ehird> with "couldn't you do that by using the api or buying a chip" or whatever matter-of-factly
16:25:02 <cheater> no i mean 'see x' earlier
16:25:09 <cheater> but
16:25:11 <ehird> Openmoko is dead, hooray
16:25:19 <cheater> either way
16:25:26 <cheater> i wish iphone could record conversations.
16:25:38 <ehird> http://upload.wikimedia.org/wikipedia/commons/7/7a/1112FIC326x550.jpg
16:25:38 <ehird> SO STYLISH
16:26:23 <AnMaster> ehird, didn't chrome go out of fashion ages ago?
16:26:40 <AnMaster> and black goes with everything of course
16:26:46 <fizzie> Interwebs say that N900 can record conversations; you just apt-get install pulseaudio-tools, then use parec to record the sink.hw0.monitor and source.hw0 streams to file.
16:26:55 <fizzie> Very user-friendly.
16:27:25 <ehird> http://www.dukebox.com/photos/jukebox10r.jpg
16:27:30 <ehird> archos jukebox^W^Wnokia n900
16:28:01 <AnMaster> fizzie, quite.
16:28:03 <fizzie> Though someone else said that the desktop load-monitor widget (!) can also record calls. That's an... obvious place for the feature.
16:28:37 <AnMaster> ehird, hm?
16:28:47 <AnMaster> fizzie, :D
16:30:54 * ehird installs Java and Frink.
16:31:00 <ehird> actually
16:31:04 * ehird installs virtualbox tools first
16:31:06 <fizzie> The load applet (according to package desc) takes screenshots and records screencasts, so it's not too rprising if they've added call-recording too. (It's a third-party app, not part of the phone software, of course.)
16:31:07 <ehird> to avoid the mouse issue
16:32:04 <ehird> this system is really snappy
16:32:38 <AnMaster> ehird, mouse issue is your name for "mouse grabbed by guest"?
16:33:03 <ehird> Mouse issue is my name for "middle clicks happen sporadically that I didn't make".
16:33:07 <ehird> This happened in a Linux VM too.
16:33:16 <ehird> Using Mouse Integration fixes it.
16:33:16 <ehird> VirtualBox is teh dum.
16:33:27 <AnMaster> ehird, I never had that issue. Is it OS X hosts only?
16:34:06 <ehird> I don't know. It may be an issue with my trackball.
16:35:10 <AnMaster> ehird, did it happen before you used it?
16:35:23 <ehird> I don't know. I don't think so. Why are you asking me? It doesn't really matter.
16:35:26 <fizzie> I seem to remember mooz once hacked together a copy of win95 that was capable of booting to the GUI from a CD, completely without touching the hd. A ramdisk was involved; still, it was a a neat trick.
16:35:45 <ehird> Windows 95. Bah! Real men use Windows NT 4.0.
16:35:59 <ehird> It's like 95 but with worse configuration and slightly stabler and it doesn't support games.
16:36:07 <ehird> ...Windows NT 4.0. Bah! Real men use Windows 95.
16:36:25 <fizzie> Real men do all kinds of craze stuff, based on what I hear on IRC.
16:36:31 <ehird> Craze stuff.
16:36:35 <fizzie> Yes.
16:36:48 <fizzie> Crazeeeee stuff.
16:37:01 <ehird> It seems that Windows either does not think I have a floppy drive, or does not support floppy drives.
16:37:32 <AnMaster> <ehird> Windows 95. Bah! Real men use Windows NT 4.0. <-- 3.1
16:37:44 <ehird> 3.1 is for homosexuals and pussies.
16:37:57 <AnMaster> ehird, sorry I meant windows 3.1 for worksgroup
16:37:59 <AnMaster> not NT 3.1
16:38:09 <ehird> Homosexuals, pussies and clowns.
16:38:29 <AnMaster> ehird, I doubt the first category wants anything to do with 3.1 for worksgroups
16:38:35 <AnMaster> and I don't know about cats
16:38:43 <AnMaster> clowns yeah
16:38:56 <ehird> No, it's ACTUAL VAGINAS that use 3.1 for Workgroups.
16:38:59 <ehird> I have this on good authority.
16:39:12 <fizzie> 3.11 for Workgroups is I think more popular. Though I do seem to remember a WfW3.1 existing too.
16:39:29 <AnMaster> fizzie, oh maybe it was 3.11
16:39:31 <AnMaster> hm
16:39:42 <ehird> Removing the titlebar gradiennt from Windows makes it look so... 95.
16:39:46 <ehird> Maybe because that's what 95 did.
16:39:47 <ehird> *gradient
16:39:51 <AnMaster> fizzie, 3.[0-9] surely must have existed?
16:40:04 <fizzie> It's usually either win3.1 or wfw3.11
16:40:10 <ais523> Word for (Windows 3.1) had a titlebar gradient
16:40:12 <ehird> 3.1 was the first 3
16:40:15 <ais523> dithered in beautiful 4-bit colour
16:40:26 <AnMaster> oh right, forgot microsoft was involved
16:40:28 <ehird> ais523: Makes a man proud. *tear*
16:40:35 <AnMaster> means versioning is insane
16:40:36 <ais523> and 3.0 existed, the big improvement in 3.1 was support for the 386
16:40:41 <fizzie> But I have a feeling plain 3.1 also had a workgroupsy version.
16:41:11 <AnMaster> ais523, 2^4 colours? Uh... 16 colours
16:41:12 <AnMaster> ugh
16:41:36 <fizzie> Wasn't there some sort of 386y thing for 3.0 too? I've forgotten most of this stuff.
16:41:37 <ais523> ehird: I'm still nostalgic for 4-bit colour
16:41:45 <ais523> most of my sprite-making was done with it
16:41:47 <ehird> ais523: do you still have the old dna maze?
16:41:52 <ehird> I'd love to try it in this VM
16:41:54 <ais523> ehird: I have every version
16:41:54 <AnMaster> dithering never looks nice in my experience, better to either use more shades or avoid gradients
16:42:03 <ais523> which one do you want?
16:42:15 <ais523> 1 for DOS tty, 2 for DOS tty, 3 for Windows, 4 for DOS graphics?
16:42:20 <ais523> (or 5 for SDL?)
16:42:36 <ehird> ais523: I like the change from 3 to 4 there
16:42:41 <ehird> Well, SDL is boring, I have that on this machine
16:42:43 <ais523> ehird: yes
16:42:55 <ehird> DOS tty is likely to be completely irrelevant to the version of Windows I'm using
16:42:57 <ais523> the changes I made for 4 were backported into 3.2
16:43:01 <ehird> as is DOS graphics
16:43:04 <ais523> which is the "current" version of 3
16:43:18 <ehird> So I suppose 3 or 3.2 is the most reasonable one to try in this context
16:43:29 <ehird> Are the levels the same?
16:43:31 <ais523> yes
16:43:32 <ehird> as the SDL one
16:43:39 <ais523> the gameplay's been identical since version 2
16:43:41 <ehird> did any of the old ones have 100?
16:43:49 <ais523> no, they all use the same set of levels
16:43:56 <ais523> whenever I write a new level it gets backported, pretty much
16:44:04 <ais523> unless it uses a feature I just added and can't be bothered to backport
16:44:19 <ehird> hmm... it'd be nice if there was a slow option in dna maze
16:44:24 <ehird> for non-fingertappingy times
16:44:51 <ais523> that would sort-of defeat the point, most levels would be trivial like that, but it would be nice to practice I suppose
16:46:12 <ais523> can you open zipfiles on your stripped-down windows xp?
16:46:14 <AnMaster> ais523, yeah I never got far in it. Slow for practise would be useful
16:46:58 <ehird> ais523: I didn't strip that out because I like that feature
16:47:03 <ehird> although I wish it worked for non-zips too
16:47:30 <AnMaster> ehird, wouldn't be to hard to write support for tht
16:47:32 <AnMaster> that*
16:47:47 <ehird> Yes, it would; you'd have to completely mimic the UI and also write an evil black magic Explorer extension.
16:47:47 <fizzie> WP says win3.0 already supports 386s "better"; and there was a Windows/386 2.1 already before that. 3.0 also already had the "386 Enhanced mode". Consequently I'm not so sure that 386 support was the major difference between 3.0/3.1.
16:47:50 <ehird> It opens them as folders.
16:48:08 <ais523> fizzie: ah, may have misremembered
16:48:11 <AnMaster> ehird, I know
16:48:50 <AnMaster> ehird, I just have a vague memory of writing a trivial such in delphi when I was young and didn't know better. Wasn't too hard is my memory of it. And I weren't a good programmer back then.
16:49:12 <ehird> *wasn't
16:49:13 <ehird> Alright then.
16:49:17 <ehird> Ooh, Delphi. :D
16:49:22 <ehird> Corman Lisp is better, clearly.
16:49:44 <ehird> Okay, Java time. Gulp.
16:49:48 <AnMaster> ehird, well I don't know if it is able to compile a dll
16:49:52 <ais523> ehird: http://filebin.ca/ebjwch/dnam3v2-readonly.zip
16:49:58 <ehird> Corman Lisp is totally windowsy.
16:50:00 <AnMaster> corman lisp that is
16:50:00 <ais523> that's binary+data only
16:50:04 <ehird> Full Win32 API access, too.
16:50:11 <ehird> Proper Windows MDI IDE.
16:50:14 <ais523> I can try to dig out the source if you like, but being Windows the source is partly in binary
16:50:20 <AnMaster> ehird, the pointers were a pain in delphi though
16:50:43 <AnMaster> ehird, and windows API has pointers to pointers and lots of structs. At least delphi had windows.h translated already iirc
16:50:48 <ehird> ais523: you do realise you just made the first public release of DNA Maze? :D
16:50:51 <AnMaster> to a delphi unit
16:51:00 <ais523> ehird: heh, probably not
16:51:07 <ais523> people would a) have to find it
16:51:11 <ais523> and b) find a version of Windows it ran on
16:51:13 <ehird> #esoteric is public enough
16:51:14 <ais523> I think it runs on XP
16:51:16 <AnMaster> ais523, sdl version?
16:51:20 <ehird> compatibility is not an issue
16:51:21 <ais523> also, that one probably counts as shareware
16:51:22 <ehird> AnMaster: it's not the sdl version
16:51:30 <AnMaster> ehird, I meant "can I get the"
16:51:31 <ehird> it's 3.2, which is Windows + backports from 4
16:51:32 <ehird> keep up
16:51:35 <ais523> given that it only has 92 levels created, and the single-player mode is the only one that works
16:51:38 <ehird> ais523: it's still a release :P
16:51:40 <AnMaster> becuase I seem to have lost my copy
16:51:42 <AnMaster> ais523, ^
16:51:45 <ehird> AnMaster: ah
16:51:45 <AnMaster> seems*
16:51:50 <ais523> ehird: heh, now I can charge people for the other 8 levels!
16:52:06 <ehird> I can give you my patched copy, which lets you compile a debug version for uber-lazy checking out the later levels. :-) (Only if ais523 consents, though.)
16:52:16 <ais523> I'm fine with that
16:52:27 <ehird> AnMaster: zip okay with you? I'm too lazy to open a terminal
16:52:47 <AnMaster> ehird, for?
16:52:49 <ais523> also, I'm pretty sure there was a debug shortcut for checking out later levels already, although I think it might have been a compile-time option, and may have been in a different version
16:52:49 <AnMaster> oh right
16:52:52 <AnMaster> yes
16:53:04 <ais523> the later levels will be pretty much impossible without practice on the earlier ones, though
16:53:10 <AnMaster> ehird, thats okay with me
16:53:14 <ehird> Also, it includes my build system which uses sdl-config like it should :P
16:53:30 <AnMaster> ehird, what did ais523 use? configure + pkg-config?
16:53:36 <ehird> direct Makefile
16:53:41 <ehird> mine's a makefile too, but it calls sdl-config
16:53:44 <ehird> instead of hardcoding -lSDL etc
16:53:50 <AnMaster> but a direct makefile would *include* a call to sdl-config
16:53:52 <AnMaster> oh
16:53:53 <AnMaster> huh
16:53:56 <AnMaster> ais523, why? :)
16:54:03 <ais523> AnMaster: didn't realise it had its own config thing
16:54:06 <ehird> Because he's a lazy bastard and didn't know about sdl-config :-P
16:54:08 <ais523> the docs didn't mention it
16:54:08 <AnMaster> right
16:54:16 <ehird> sdl-config just calls pkg-config iirc
16:54:20 <ais523> and how am I meant to find out, except by reading the documentation?
16:54:33 <ehird> Uploading
16:54:44 <ehird> ais523: can I post it publicly?
16:54:45 <AnMaster> $ pkg-config --libs sdl
16:54:45 <AnMaster> -lSDL -lpthread
16:54:45 <AnMaster> $ pkg-config --libs sdl
16:54:45 <AnMaster> -lSDL -lpthread
16:54:48 <ehird> or /msg
16:54:49 <AnMaster> err copy fail
16:54:57 <AnMaster> $ pkg-config --cflags sdl
16:54:57 <AnMaster> -D_GNU_SOURCE=1 -D_REENTRANT -I/usr/include/SDL
16:55:02 <AnMaster> so why the gnu source I wonder
16:55:07 <ais523> ehird: yes so long as you don't advertise it and leave the copyright vague enough that nobody can download it legally
16:55:18 <ehird> ais523: I won't make AnMaster break the law
16:55:25 <ehird> also, that won't deterr anyone except you
16:55:31 <ais523> ehird: well, I've given him permission myself
16:55:32 <AnMaster> ehird, :D
16:55:36 <ehird> *deter
16:55:38 <ehird> Okay fine
16:55:41 <ais523> and yes, I know
16:56:07 <AnMaster> ehird, he wants to sue them later I guess ;P
16:56:10 <ehird> AnMaster: http://filebin.ca/rqschw/dnamaze5_patched.zip. I grant you the right, by the powers invested in me by ais523, to let you download this. If you are not AnMaster, you do not have this permission, and ais523 will be very sad if you download it. VERY SAD.
16:56:17 <ehird> Sorry if the zip includes OS X crap
16:56:21 <ehird> like __MACOSX or .DS_Store
16:56:24 <ehird> To compile:
16:56:27 <ehird> $ make
16:56:36 <AnMaster> ehird, is it a zip bomb?
16:56:37 <ehird> if you want the nice debug version, which lets you access later levels without completing previous ones:
16:56:42 <ehird> $ make DEBUG=1
16:56:48 <ais523> AnMaster: open it in a separate directory just in case, I do anyway
16:56:51 <ehird> (creates dnamaze5_debug, no conflict with the other one)
16:56:54 <ehird> AnMaster: dunno
16:56:56 <ais523> also, zips are /normally/ zipbombs, as opposed to tars
16:56:58 <ehird> (and saves scores in ~/.dnamaze5_debug)
16:57:05 <ais523> because otherwise it looks strange in Windows
16:57:06 * AnMaster installs unzip
16:57:15 <ehird> Also, the mouse controls are iffy for the menus. Don't use them.
16:57:18 <ehird> Also, the controls are the arrow keys.
16:57:25 <AnMaster> ehird, also lots of __MACOSX stuff and such there yeah
16:57:36 <AnMaster> ehird, what is "DNA Maze.app.skeleton"
16:57:42 <ehird> The skeleton for the OS X .app.
16:57:45 <AnMaster> aha
16:57:47 <ehird> It won't be generated unless you're on Darwin.
16:57:53 <ehird> (Sorry, non-OS X Darwin users! I hate you.)
16:58:07 <AnMaster> nice build system output, kind of
16:58:19 <ehird> That was totally my doing. :| :P
16:58:27 <ehird> (It was, actually.)
16:58:34 <ais523> ehird: do /I/ have permission to download that patched zip?
16:58:44 <ais523> I think I have all the bits of it already, but it'll save me the trouble of applying them
16:58:55 <ehird> ais523: You required me to seek permission from you before granting any rights or whatever relating to it.
16:59:03 <ehird> ais523: So, give me the permission to grant you permission to download it.
16:59:03 <AnMaster> ais523, ehird: I can't play it. There is no any key here!
16:59:11 <ais523> ehird: permission granted
16:59:26 <AnMaster> also clicking on main screen results in blank green screen
16:59:27 <AnMaster> weird
16:59:37 <ais523> AnMaster: that's what we warned you aobut
16:59:38 <ehird> ais523: I give you the permission to download that zip, and use the subset of its contents that I authored or patched in any way whatsoever, including relicensing it.
16:59:39 <ais523> *about
16:59:44 <ais523> ehird: thanks
16:59:49 <ehird> If possible, I relinquish all copyright to the subset of its contents that I authored.
16:59:51 <AnMaster> ais523, hm?
16:59:54 <AnMaster> where?
17:00:02 <ehird> AnMaster: I told you not to use the mouse menu controls :)
17:00:05 <AnMaster> ah
17:00:06 <AnMaster> right
17:00:18 <ehird> ais523: relink 3.2, please?
17:00:18 <AnMaster> must have missed that line
17:00:24 <ais523> ehird: how?
17:00:29 <ehird> the filebin
17:00:33 <ais523> oh
17:00:36 <ehird> just gimme the link again, it's not in scrollback
17:00:38 <ehird> plz :P
17:00:39 <ais523> http://filebin.ca/ebjwch/dnam3v2-readonly.zip
17:00:50 <ais523> I was about to say "I don't have a Windows linker handy"
17:01:03 <ais523> and was wondering wtf was wrong with the link
17:01:13 <ehird> lol
17:01:34 <ais523> I still have the .obj and .res files, if you want to have a go at relinking it yourself, I suppose
17:01:35 <ehird> why is the directory called readonly?
17:01:42 <ais523> ehird: because it doesn't contain source
17:01:51 <ais523> and therefore is no good for modifying the program
17:01:52 * ehird extracts to C:\dnam3v2, in flagrant violation of Windows naming conventions
17:02:26 <ehird> Nice icon.
17:02:37 <ehird> Yikes, fullscreen attacked.
17:02:38 <ais523> it actually changes depending on scaling
17:02:44 <ais523> ehird: ooh, forgot about that
17:02:44 <ehird> Holy shit, a proper menu!
17:02:48 <ehird> Awesome.
17:02:56 <ehird> what's the native resolution
17:02:58 <ehird> this scaling is fugly
17:03:01 <ais523> 1024x768
17:03:09 <ehird> but that's what I'm on!
17:03:12 <ehird> everything looks scaled
17:03:14 <ais523> that version had rather too much hardcoded, it doesn't work at any other resolution
17:03:18 <AnMaster> <ais523> it actually changes depending on scaling <-- what bit does?
17:03:20 <ais523> you might need to hide the start menu
17:03:22 <ais523> AnMaster: the icon
17:03:37 <AnMaster> ais523, you mean the 16x16 one looks nothing like the 32x32 one?
17:03:40 <ais523> AnMaster: yes
17:03:40 <ehird> dnam won't run anymore... /me kills some stuff
17:03:49 <ehird> And now it runs.
17:03:59 <ehird> ais523: I guess it just looks naturally scaled.
17:04:08 <ais523> could be
17:04:10 <ais523> oh, I think I know why
17:04:13 <ais523> almost everything there is a bitmap
17:04:23 <ais523> with 4-bit colour depth
17:04:25 <ehird> the Help button does nothing, I feel helpless
17:04:31 <ais523> so the aliasing's going to be bad
17:04:35 <ais523> and most of the buttons do nothing
17:04:40 <ais523> so it's just a pretty menu
17:04:45 <ais523> try "new game" followed by "standard game"
17:04:54 <ehird> you really went overboard with the keyboard shortcuts in the menus
17:04:59 <ehird> it looks like a colour bonanza
17:04:59 <ais523> in what way?
17:05:02 <ais523> oh
17:05:17 <ehird> "Colors
17:05:18 <ehird> Less than High Colour
17:05:18 <ehird> →High Colour or better"
17:05:22 <ehird> how crap does it look like on the first setting?!?!
17:05:30 <ehird> *look on
17:05:45 <ehird> wow, an old-style file selection dialog
17:06:00 <ehird> should I save it in C:\dnam3v2 or C:\home\dnam3v2, I wonder
17:06:14 <ehird> heh, it has a Network... button
17:06:28 <ehird> saving DNA Maze save games on a Windows network share, could my day get any better
17:06:29 <ais523> it just uses the default Win3.1 file selection dialog
17:06:34 <AnMaster> ais523 what does circle with two arrows on it mean?
17:06:41 <ais523> AnMaster: reverse direction
17:06:42 <ehird> AnMaster: reverses
17:06:46 <ehird> yeah
17:06:52 <ehird> ais523: Resolve my save game location dilemma! :P
17:07:00 <ais523> if any of your segments go next to it orthogonally or diagonally, you reverse direction on the next step
17:07:02 <AnMaster> ais523, when one touches it?
17:07:07 <ais523> ehird: mine was always alex.dna in the same dir as the directory
17:07:11 <ais523> AnMaster: yes
17:07:16 <ehird> "same dir as the directory"?
17:07:16 <AnMaster> ais523, crashed into the wall for me
17:07:18 <AnMaster> strange
17:07:21 <ais523> um, same dir as the executable
17:07:22 <AnMaster> was in the second level
17:07:32 <ais523> AnMaster: you can crash into it, it's a type of wall
17:07:39 <ais523> it's going into stick-range that activates it
17:07:47 <ais523> nearly every DNA Maze item is much the same
17:07:48 <AnMaster> ais523, stick-range?
17:07:51 <ais523> AnMaster: next to it
17:08:01 <AnMaster> hm okay
17:08:02 <ais523> e.g. A next to T causes them to stick to each other, game over
17:08:03 <ehird> I guess that's reasonable; using \home for all stuff that's mine is unfeasible because of Windows' structure
17:08:15 <AnMaster> ais523, the G in the ! in the second level
17:08:17 <ehird> elliott.dna it is
17:08:23 <AnMaster> how do they differ in behaviour from those A
17:08:28 <AnMaster> or do they behave the same way?
17:08:33 <ais523> AnMaster: A sticks to T, C sticks to G
17:08:38 <ais523> otherwise the four letters have identical behaviour
17:08:42 <ehird> wow, gameplay really is identical
17:08:47 <AnMaster> ais523, sticks to? as in, stops turning?
17:08:49 <ehird> apart from more flickering; dnam's fault or mine?
17:08:52 <ais523> ehird: not quite, the control responsiveness is very slightly different
17:08:56 <ais523> AnMaster: as in, kills you
17:09:04 <ais523> getting stuck to the walls is one of the two death conditions
17:09:07 <ais523> crashing into them is the other
17:09:11 <ehird> 2 player doesn't work :'(
17:09:16 <ais523> but the Cs in your string are in the middle
17:09:18 <AnMaster> ais523, so G can hit an A? and it won't act as a wall?
17:09:20 <ais523> ehird: hasn't since DNA Maze 2
17:09:23 <ehird> nor does points game. bah!
17:09:28 <AnMaster> hm no
17:09:31 <ehird> ais523: what did 2 improve on 1?
17:09:31 <AnMaster> just tried that
17:09:36 <ais523> AnMaster: all letters act as a wall
17:09:39 <ais523> ehird: the save system
17:09:44 <ais523> and the menu navigation
17:09:47 <AnMaster> ais523, then how does sticking work
17:09:49 <ais523> it was password-save before
17:09:51 <ehird> why did 4 go back to dos?
17:09:56 <ais523> AnMaster: when an A goes /next to/ a T, it sticks to it
17:09:56 <AnMaster> ais523, "next to"?
17:09:58 <AnMaster> aha
17:10:01 <ais523> ehird: because windows development was so painful
17:10:14 <ehird> "JAVA + YOU,
17:10:14 <ehird> DOWNLOAD
17:10:14 <ehird> TODAY!"
17:10:14 <ehird> What the fuck are you on about, Oraclesun?
17:10:26 <ehird> Java isn't a fucking end-user product! Stop pretending it is!
17:10:31 <ais523> $ file dnam3v2.obj
17:10:32 <ais523> dnam3v2.obj: 8086 relocatable (Microsoft)
17:10:47 <ehird> impressive
17:11:02 <ais523> $ file dnam3v2.res
17:11:03 <ais523> dnam3v2.res: MSVC .res
17:11:05 <ais523> even more impressive
17:11:30 <ais523> wow, it's so like me to set compile flags for 8086 compatibility
17:12:12 <AnMaster> ais523, heh
17:12:26 <ais523> probably Windows 3.0 compatibility too
17:12:32 <ais523> although I never actually tried to run it on Windows 3.1
17:12:36 <AnMaster> what version of MSVC was used?
17:12:38 <ais523> it wasn't
17:12:41 <ehird> "By installing Java, you will be able to experience the power of Java, brought to you by Sun Microsystems, Inc."
17:12:43 <ais523> it was Borland C++ version 4
17:12:48 <AnMaster> ouch
17:12:49 <ais523> which output in the same format
17:12:55 <AnMaster> ehird, XD
17:13:03 <ehird> AnMaster: Real quote!
17:13:09 <AnMaster> ehird, wth
17:13:36 -!- ehird has set topic: By installing Brainfuck, you will be able to experience the power of Brainfuck, brought to you by http://tunes.org/~nef/logs/esoteric/?C=M;O=D Inc..
17:14:52 <pikhq> God. The only end-user product in Java is the runtime environment. ... And that's only "end-user" in the slightest because Java programs don't come with it.
17:15:09 <ehird> It's not even really end-user, it's a bloody virtual machine
17:15:18 <ehird> The only end-user product, MAYBE, is Java Web Start.
17:15:22 <ehird> And even that's invisible 99% of the time.
17:15:37 <pikhq> Yeah...
17:15:48 <ehird> "Place Java icon in system tray"
17:15:48 <ehird> NO!
17:15:50 <pikhq> Otherwise, it's "I don't fucking care, I want the program to work."
17:15:51 <ehird> "Java Quick Starter"
17:15:52 <ehird> FUCK A GOAT!
17:16:21 <pikhq> "The damned program could be written in C, Brainfuck, and COBOL, and I wouldn't care. Just run!"
17:17:27 <AnMaster> ehird, what is java web start?
17:18:06 <ehird> AnMaster: It lets files offer a small .jnlp file that automatically runs in Java Web Start with one click. Java gives a security warning unless the program is signed, then downloads and runs the Java program.
17:18:17 <ehird> It also lets the user assign a shortcut (= stub .exe) to the program.
17:18:24 <ehird> Updates for the program are automatically installed from the web as they come along.
17:18:30 <AnMaster> pikhq, then sdl is end user on linux. Linux programs don't come with SDL bundled usually. Unlike windows programs that use sdl
17:18:37 <ais523> ehird: I was about to explain, but you did it better
17:18:44 <pikhq> AnMaster: Except that the OS comes with SDL.\
17:18:46 <ehird> tl;dr You can click a link on a web page, confirm it, and a Java program is installed and pops up and automatically updates.
17:18:55 <pikhq> (exception: LFS)
17:18:58 <AnMaster> pikhq, well, not installed by default on arch at least
17:19:00 <ehird> It's alright but abused.
17:19:01 <ais523> Windows used to come with Java
17:19:13 <pikhq> Not installed by default, but installed by the package manager.
17:19:14 <ehird> Frink uses it, because it's updated basically every day and updating it by hand would be a drag.
17:19:21 <ehird> Also, it makes installing Java programs actually bearable.
17:19:55 <ehird> Startup item "jusched". Dude, fuck off Java. I can download updates myself without you running all the time.
17:20:20 <ais523> ehird: that sort of thing is actually what I dislike most about Windows
17:20:25 <pikhq> Windows really needs a central package manager...
17:20:27 <ais523> it's the attitude of companies who make Windows software
17:20:35 <ehird> Windows even HAS A SCHEDULED TASK FEATURE.
17:20:37 <pikhq> Even if it is nothing more than an automatic updater.
17:20:47 <ehird> They could just assign a task to run once a month with the same effect.
17:20:48 <AnMaster> ehird, what do you expect, non-trivial windows software from Sun that actually doesn't install lots of unneeded stuff?
17:21:04 <pikhq> ais523: And Windows encourages it.
17:21:07 <ehird> pikhq: updating could be added to add/remove type stuff really easily
17:21:16 <pikhq> ehird: Trivially.
17:21:18 <ehird> when the program registers with add/remove, it specifies a URL
17:21:25 <ehird> Windows polls this URL every now and then with the version number it specifies
17:21:44 <pikhq> Whenever Windows checks for its own updates, presumably.
17:21:45 <ehird> if it redirects to an .exe or .msi, say, windows stores the location of that and notes it as needing updating
17:21:53 <ais523> but how could it use up 100% of your CPU cycles when the program you installed wasn't running then, making the program you installed seem fast in comparison?
17:21:55 <ehird> pikhq: programs could set their own intervals too
17:22:06 <pikhq> Mmm. Fair enough.
17:22:18 <ehird> After polling all the URLs, it'd pop a tray icon notifying you of the updates. It would download them automatically if you told them to. Then you'd just select the ones you want, click go, and tada.
17:22:21 <ehird> Not hard at all.
17:22:31 <pikhq> But. Gah. Windows doesn't have centralised facilities for... Most things.
17:22:48 <AnMaster> ehird, this would feel so unwindowish
17:22:49 <ehird> Oh, and if a URL stopped responding, it'd let the user know that Windows can't check for updates for this program automatically any more, and that they should check the manufacturer's site to upgrade the program so that it can check in future.
17:22:52 <pikhq> It's crazy even compared to the mild insanity that is "ever piece is replacable".
17:23:11 <pikhq> s/ever/every/
17:23:15 <AnMaster> ehird, also OS X doesn't even have add/remove. Granted, for most stuff it is all in one place
17:23:22 <AnMaster> still there are things that are not so
17:23:29 <ehird> OS X applications check for updates in the programs themselves
17:23:43 <ehird> and there's an open source updater framework, Sparkle, that a lot of projects use
17:23:46 <AnMaster> ehird, well yes. But that requires you to run them every now and then
17:23:47 <ehird> so the end result is pretty consistent
17:23:51 <AnMaster> ah that works
17:23:53 <ehird> AnMaster: if you're not running it why does it need to be updated?
17:24:00 <AnMaster> good point
17:24:16 <pikhq> OS X could probably do with it for the more complex programs... Though most of them have add/remove mean "cp/rm", so it's not needed for them.
17:24:56 <ehird> I have AppTrap installed, it removes the caches/data files/configuration files of an .app when I trash it
17:25:01 <ehird> (just prompts me when I move it to the trash)
17:25:09 <ehird> So it's not quite that easy unless you have a program to do it for you, unfortunately
17:25:23 <ehird> Also, making an .app without XCode is way harder than it should be
17:25:28 <pikhq> Eh. At least OS X devs don't have this silly attitude of "Everything the OS does, we can do better!"
17:25:38 <ehird> Yeah.
17:26:07 <ehird> To be fair to Windows, I am rather pleased with my Empty Recycle Bin script! :P
17:26:10 <pikhq> (why do Windows devs write their own widgets, with a custom appearance, anyways?)
17:26:34 <ehird> Because it's easy, because Windows has never really had a consistent UI in third-party applications, and because Windows is the most popular desktop OS.
17:26:52 <AnMaster> ehird, how does apptrap know which files come from which program?
17:27:05 <ehird> AnMaster: Because the paths include the name of the app.
17:27:12 <ehird> Or the identifier (reverse DNS).
17:27:13 <AnMaster> ehird, ah, apps are that well behaved?
17:27:19 <ehird> Almost all OS X apps are.
17:27:25 <AnMaster> huh
17:27:31 <ehird> If it's in an .app, it probably doesn't write ~/.foo or whatever.
17:27:51 <ehird> Exceptions are things like Inkscape, but that's just a shell application that starts X11 if it isn't already started, and runs inkscape.
17:28:12 <AnMaster> ehird, but isn't gtk ported to native these days?
17:28:36 <ehird> These days, it uses Quartz. So it uses native drawing, and you can even set it to use some native widgets, but it fucks up badly.
17:28:48 <ehird> GTK simply isn't flexible enough to be semi-native on OS X like Qt is.
17:29:11 <pikhq> The best GTK does is "use widgets that appear like OS X. If you squint."
17:29:18 <ehird> No, it uses native OS X widgets
17:29:20 <ehird> It just does all its own layout
17:29:25 <ehird> And doesn't support most widgets for it
17:29:30 <ehird> And draws its own toolbars
17:29:31 <ehird> And etc
17:29:37 * ehird clickclick "Swing Interface with standard libraries"
17:29:40 <ehird> Come to me, Frink! Come to me!
17:29:42 <pikhq> Dear. That's awful.
17:31:09 <AnMaster> swing looks horrible
17:31:13 <AnMaster> iirc
17:31:17 <ehird> No.
17:31:21 <AnMaster> the other one looks slightly better
17:31:23 <ehird> Nowadays, Swing can and does use native widgets.
17:31:24 <AnMaster> forgot the name of it
17:31:37 <ehird> AWT used native widgets, but is limited and deprecated.
17:31:42 <ehird> Swing these days is pretty darn good.
17:31:49 <ehird> Especially on Windows.
17:31:50 <AnMaster> ehird, swing apps look out of place on linux IME
17:31:53 <AnMaster> even nowdays
17:31:57 <ehird> On Linux it's the font rendering that does it.
17:31:58 <ais523> AnMaster: I use swing GTK, it's mostly correct
17:32:04 <ehird> Also, they have to use native look and feel
17:32:08 <ehird> Some apps set it differently and whatnot
17:32:11 <ais523> although it horribly screws up the antialiasing on tab labels
17:32:18 <ais523> horrifically, it's like it's using pro-aliasing or something
17:32:22 <AnMaster> <ehird> Also, they have to use native look and feel <ehird> Some apps set it differently and whatnot <-- a missing not in the first one?
17:32:39 <ehird> No.
17:32:53 <ehird> A-downloadin' we go, a-downloadin' we go
17:32:55 <AnMaster> then that didn't make sense
17:33:00 <ehird> A-download download download download downloadin' we go
17:33:03 <ehird> AnMaster: Yes it did.
17:33:17 <ehird> YAY FRINK
17:33:26 <AnMaster> ehird, hm? 1) must be native 2) some apps set it non-native
17:33:31 <AnMaster> right
17:34:49 <ehird> I wish I could set Frink into single-line mode by default, but eh.
17:35:12 * ehird enables Java Quick Starter. Java startup is just too slow!
17:35:40 <ehird> Okay, that didn't actually speed it up.
17:36:09 <pikhq> All that does is make the DLLs be resident...
17:36:10 <AnMaster> ehird, if it did, it wouldn't be called quick starter, would it?
17:36:36 <pikhq> Much of Java's startup is actual execution time.
17:36:43 <ehird> I wonder if you can tell Java Web Start not to show the downloading thingy when starting an app
17:36:51 <AnMaster> pikhq, couldn't you pre-JIT it and then cache that
17:36:53 <AnMaster> in theory I mean
17:37:02 <ehird> -silent or -Xnosplash, it seems.
17:37:04 <AnMaster> iirc .NET does something like that
17:37:07 <pikhq> AnMaster: Theoretically.
17:37:12 <ais523> pre-JIT is such a ridiculous concept
17:37:16 <ais523> don't you mean "compile"?
17:37:21 <AnMaster> ais523, well I think it is called AOT
17:37:24 <AnMaster> "ahead of time"
17:37:27 <AnMaster> for mono at least
17:37:45 <ehird> WTF, java puts its stuff in %WINDIR%\system32?
17:37:47 <pikhq> ais523: Because it might get re-compiled during execution?
17:37:49 <AnMaster> not sure what windows .NET calls it. remember some service called ".NET Optimiser"
17:37:49 <ehird> Jeez Java.
17:37:51 <AnMaster> or such
17:37:56 <AnMaster> and what pikhq said
17:38:19 <AnMaster> it might compile an optimised version during runtime as well I guess
17:38:57 <ais523> ehird: somehow I'm not surprised
17:40:18 <ehird> Oh well, I'll deal with the noisy startup of Java Web Start to avoid updating Frink all the time
17:40:30 <Asztal> AnMaster: NGEN, native image generator?
17:40:42 <ehird> Last few updates: 2009-12-16, 2010-01-04, 2010-01-05, 2010-01-06
17:40:52 <ehird> I can't keep up with that sort of pace.
17:40:58 <AnMaster> Asztal, sounds like it. But there was some service for it, doing it for system ones in the background
17:41:23 <ehird> (Before that: 2009-10-02, 2009-10-04, 2009-10-15, 2009-10-16, 2009-11-16)
17:42:19 <AnMaster> ehird, is there any sort of changelog available
17:42:29 <AnMaster> I'm curious to how large the changes may be
17:42:33 <AnMaster> as to*
17:42:33 <ehird> http://futureboy.us/frinkdocs/whatsnew.html
17:44:14 <AnMaster> ehird, " * Updated sanity checks for the year 2010. "
17:44:18 <AnMaster> I wonder what that meant
17:44:31 <ehird> Probably part of some test to check the maths stuff is working okay
17:44:37 <ehird> that didn't handle 2010 or above
17:44:46 <AnMaster> also is frink available on iphone? seems it is on android
17:44:49 <ehird> Something like that, anyway. Ask him :P
17:44:54 <ehird> AnMaster: No Java on iPhone, so no.
17:44:59 <ehird> But you can use the web version.
17:45:11 <ehird> With some iPhone-specific CSS the web version would be fine for quick calculations.
17:45:12 <AnMaster> ehird, which isn't coded in java?
17:45:23 <ehird> It's coded in Frink Server Pages.
17:45:27 <ehird> i.e. HTML with embedded Frink.
17:45:28 <AnMaster> hah
17:45:30 <ehird> The Frink is executed server-side.
17:45:36 <AnMaster> ehird, cgi?
17:45:48 <pikhq> ... No, that's not CGI.
17:45:52 <ehird> http://futureboy.us/frinkdocs/fspdocs.html
17:45:57 <AnMaster> pikhq, I didn't say that
17:45:57 <pikhq> That's a simple Apach module.
17:46:01 <AnMaster> I meant how does frink run
17:46:02 <ehird> Java Servlets
17:46:07 <AnMaster> ah
17:46:14 <ehird> Java servlets are rubbish, but eh
17:46:19 <ehird> A CGI in Java would be dog slow
17:46:36 <pikhq> Eh, I've seen worse uses of it.
17:46:36 <ehird> I wonder if there's a Java thingy that lets you hook into program exit, so that the VM keeps running, doing nothing, until you run the program again, at which point it runs main() again.
17:46:38 <AnMaster> ehird, yes indeed, that was the conclusion I came to
17:46:54 <ehird> As long as there aren't evil static globals it modifies or whatever, that should avoid JVM overhead.
17:46:59 <ehird> Best for graphical programs, probably.
17:47:41 <ehird> Seems like setting up Frink Server Pages isn't too difficult.
17:47:41 <AnMaster> ehird, by the way, what would calling main() from an atexit() callback do in C...
17:47:41 <soupdragon> dude that frink thing is cool
17:47:48 <AnMaster> just wondering what sort of hell that would cause
17:47:50 <AnMaster> cause*
17:48:00 <ehird> Open its web.xml, change fsp-root, drop the .war in your Java Servlet directory, tada.
17:48:01 <ehird> soupdragon: it is!
17:48:07 <ehird> It can even do regexps, graphics, ...
17:48:17 <ehird> AnMaster: TIAS
17:48:37 <AnMaster> ehird, I'm not sure I dare. I think it is very very likely undefined behaviour
17:48:40 <ehird> "The following complete FSP page demonstrates rendering a black circle. Perhaps you can come up with something more clever."
17:48:43 <ehird> AnMaster: TIAS!
17:50:30 <AnMaster> ehird, okay it seems calling exit() inside atexit() is forbidden at least
17:50:31 <AnMaster> well
17:50:32 <AnMaster> UD
17:50:39 <ehird> See what gcc does with -O0
17:50:45 <AnMaster> "POSIX.1-2001 says that the result of calling exit(3) more than once (i.e., calling exit(3) within a function registered using atexit(3)) is undefined."
17:50:50 <AnMaster> ehird, I'm reading man page first
17:50:55 <ehird> Boooooooooring
17:51:21 <ehird> Cool, Frink has some algebraic solving stuff since 2009-10-04.
17:51:32 <AnMaster> also longjmp in atexit seems forbidden
17:51:41 * ehird `use solvingTransformations.frink`
17:52:39 <ehird> and the loooooooong wait begins as it seemingly downloads all the libraries
17:52:46 <ehird> think it does that the first time you use a library
17:53:27 <pikhq> AnMaster: It's undefined behavior.
17:55:12 <pikhq> And it's only undefined if you longjmp to terminate the function in atexit.
17:55:35 <pikhq> longjmp'ing *to* the function is perfectly fine.
17:55:42 <ehird> evil yet impossible exploit idea:
17:55:45 <ehird> *evil yet
17:55:49 <AnMaster> pikhq, ah right
17:56:06 <ehird> kill -9 puts an instruction in the program's code that immediately exits (or is that just the OOM killer?)
17:56:15 <ehird> So, modify the processor's microcode so that this instruction is actually a nop
17:56:20 <ehird> Voila! Immortal program.
17:56:41 <ehird> Admittedly, all other programs are immortal too, but...
17:57:05 <AnMaster> ehird, does it actually do it that way?
17:57:10 <AnMaster> kill -9 I mean
17:57:11 <ehird> The OOM killer does.
17:57:14 <ehird> Maybe kill -9 doesn't.
17:57:32 <AnMaster> ehird, why would the OOM killer do that. Surely there are easier ways to do it
17:57:35 <pikhq> kill -9 doesn't.
17:57:39 <fizzie> I really doubt either one of the killers bother to modify code; care to look up some references?
17:57:51 <pikhq> The kernel just deletes the process.
17:58:04 <ehird> fizzie: I think you quoted the code that did that.
17:58:14 <ehird> I know it sets the process to have, like, infinite priority
17:58:23 <ehird> And I seem to recall that's so it executes its suicide immediately
17:58:49 <ehird> http://futureboy.us/fsp/solve.fsp ;; The space background, it is verily 90s.
17:58:50 <pikhq> The OOM killer just sends SIGKILL.
17:59:31 <fizzie> Hm. There was *something* curious there, related to the scheduling; I do remember peeking at the code.
17:59:31 <ehird> Hmph. Am I hallucinating? Surely not.
18:01:47 <AnMaster> ehird, it makes much more sense for the kernel to just free the memory pages and then delete the process structure
18:01:52 <AnMaster> and such
18:01:53 <ehird> Yes, it does.
18:01:57 <ehird> But it didn't just do that.
18:02:25 <AnMaster> ehird, and if it was for SMP, then modifying the code ahead of the current position is unreliable due to cache.
18:02:28 <ehird> Stupid thing about Java: All objects are mutexes.
18:02:32 <ehird> All objects *waste memory* on being mutexes.
18:02:47 <soupdragon> it's basically an open source version of mathematica?
18:03:06 <ehird> soupdragon: it's more of a calculator and a data cruncher than a symbolic environment
18:03:19 <ehird> for example, I don't think Mathematica does its values-have-units-built-in thing
18:03:25 <soupdragon> okay
18:03:30 <ehird> and it doesn't really have _that_ strong algebraic/etc capabilities
18:03:42 <ehird> also, mathematica doesn't really do web scraping/regexps/etc
18:03:49 <ehird> also, um, frink's not open source
18:03:51 <ehird> (but it is free)
18:03:54 <soupdragon> oh
18:04:01 <fizzie> It *does* send sigkill, though it does that too a bit specially; normally you can't send a sigkill to a process with CAP_SYS_RAW_IO (for safety); the OOM killer goes around those restrictions. After making sure that signal is pending, it also does that priority trick. Though it probably won't actually *execute* the task, more like it's just done so that it is scheduled early enough.
18:04:08 <fizzie> * We give our sacrificial lamb high priority and access to
18:04:09 <fizzie> * all the memory it needs. That way it should be able to
18:04:09 <fizzie> * exit() and clear out its resources quickly...
18:04:09 <fizzie> */
18:04:09 <fizzie> p->rt.time_slice = HZ;
18:04:09 <fizzie> set_tsk_thread_flag(p, TIF_MEMDIE);
18:04:17 <ehird> see, "exit() and clear out ..."
18:04:24 <ehird> so it could potentially exit I guess?
18:04:42 <fizzie> It does force_sig(SIGKILL, p); -- I don't think it's possible the process can do anything after that point.
18:04:56 <fizzie> But I'm not completely sure, and finding that out from the sources is too much work.
18:04:58 <ehird> then what is "exit() and clear out its resources" referring to
18:05:37 <fizzie> It might be referring to the clearing-out of resources that the kernel does, just in a bit misleading manner.
18:05:49 <fizzie> Go and find out if interested enough; have to be away now for a while.
18:06:49 <pikhq> That's exit() in the kernel.
18:06:59 <ehird> ah
18:07:06 <pikhq> Which only gets done when the process is scheduled to run.
18:08:25 <ehird> soupdragon: frink is actually symbolic at its core though
18:08:36 -!- MizardX has quit ("zzz").
18:08:50 <ehird> and you can add symbolic transformations / go into symbolic mode (basically doesn't warn about undefined variables and doesn't barf because of them when sometimes it would)
18:21:26 <ehird> What's this? Java leaks memory? No!
18:21:43 <ehird> factor[big] in Frink then everything after is sloow and the UI just sort of gives up.
18:21:45 <ehird> God damn you, Sun.
18:31:40 <pikhq> What, you expect Sun to write memory-efficient code?
18:32:18 <ehird> It's annoying because the JVM is one of the most advanced virtual machines in existence: JIT, advanced generational garbage collector, ...
18:32:28 <ehird> But fuck, it sucks in practice; especially for GUI applications.
18:33:21 <Ilari> In Java, all objects are mutexes and condition variables. :-)
18:33:29 <ehird> Condition variables?
18:33:29 <pikhq> Part of that's the implementation, part of that's just, well... Java being Java.
18:33:47 <Ilari> ehird: wait(), notify() and notifyAll().
18:33:56 <ehird> Java is an excellent virtual machine with a crappy GUI toolkit and a decidedly mediocre language.
18:34:11 <pikhq> Yeah, that sums it up.
18:34:27 * ehird installs Corman Lisp
18:34:30 <ehird> It's got what plants crave!
18:34:36 <ehird> (At this point, Ilari goes on about plant nutrition.)
18:34:47 <ehird> It is your destiny.
18:37:17 <Ilari> Okay... Plants don't need that much, pretty much only some pretty simple ions (mainly N, P and K plus small amounts of lots of other elemential ions), plus water and light. :->
18:37:37 <pikhq> http://www.muppetlabs.com/~breadbox/software/tiny/bf.asm.txt This... Is impressive.
18:37:38 <ehird> And the karmic universal balance is aligned once more!
18:37:56 <soupdragon> pikhq why??
18:38:05 <pikhq> soupdragon: 166 bytes.
18:38:07 <soupdragon> pikhq it looks very very well written
18:38:40 <ehird> Same guy who wrote the shortest Linux ELF file.
18:38:50 <pikhq> Yeah.
18:39:11 <pikhq> His assembly stuff is rather impressive. And a fun read.
18:39:30 <Ilari> Linux 2.6 ELF checking is more strict than Linux 2.4 ELF checking (which AFAIK increases the minimum size).
18:40:56 <pikhq> "The program uses the technique of loading to absolute address zero, which permits a number of tricks that further reduce code size. I have not used this technique myself, because sadly some versions of Linux do not permit executables to load to address zero."
18:41:14 <pikhq> The program he's talking about there is the only one I've not been able to run on 2.6.
18:41:22 <pikhq> (58 byte "Hello, world!")
18:41:46 <Ilari> Linux still contains a.out support. And a.out binaries can have load base of either 0 or 4096.
18:42:17 <pikhq> But, he's writing ELF files.
18:43:16 <AnMaster> <ehird> But fuck, it sucks in practice; especially for GUI applications. <-- go improve it. It's open source.
18:43:30 <ehird> Yeah, like Oracle are gonna accept patches.
18:43:45 <ehird> I feel absolutely no obligation to contribute to a corporate product that is the source of much profit.
18:43:48 <ehird> (Yes, I know you were probably joking.)
18:44:01 <AnMaster> ehird, I was about to whoosh you there
18:45:54 <Ilari> And Java lacks method pointers (reflection is bit too verbose to be a replacement).
18:51:15 <ais523> Ilari: not any more
18:51:21 <pikhq> ... asmutils has a 532 byte httpd. That's impressive.
18:51:22 <ais523> the next version has method pointers, apparently
18:51:22 <ehird> Ilari: new Function3<int,string,string>() {{ public string call(int x, string y) { return obj.someMethod(x, y); } }}
18:51:22 <ehird> where public class Function3<T,S,R> { public R call(T x, S y); }
18:51:22 <ehird> also, obj has to be declared final. What's that? You wanted something not verbose? Oh.
18:51:36 <AnMaster> and you could use m4 for older versions to emulate it I guess XD
18:52:28 <ehird> But seriously, you could just do `MethodPtr3<int,string,string> = MethodPtr.for(obj, "ultraPoop");` or whatever. Shouldn't be too hard to make.
18:52:39 <ehird> Although there'd always be an upper bound on the argument count.
18:52:46 <Ilari> Had to recently write Java code that used Thread.stop() (its deprecated, look up why).
18:52:48 <ais523> syntax for a method pointer is to change the . to #
18:52:55 <ais523> that's pretty nonverbose
18:53:00 <ais523> e.g. Thread#stop
18:54:01 <ehird> At least Java is mediocre rather than actively terrible.
18:55:18 <Ilari> Good side is that with Java, one can't do anything too crazy.
18:55:33 <ehird> You can with reflection.
18:55:46 <ehird> I don't buy into that, anyway; crazy stuff isn't the only type of bad code.
18:56:05 <ehird> The good side is that with Java, you don't have to deal with pointers or memory allocation.
18:56:16 <ehird> Those are easy to mess up badly, rather than deliberate tricks.
18:57:18 <pikhq> The good side with Java is that it is merely a bit too complex and a bit too verbose. Rather than actively being painful to use.
18:58:45 <ehird> So far, ...nothing at all has broken in my minimalist Windows XP.
18:58:49 <Ilari> Well, except by writing bytecode and then loading it, but not many coders have any idea about how to do that.
18:58:52 <ehird> Windows really does have an awful lot of useless crap in it.
18:59:02 <ehird> Ilari: If you do that you can modify finals.
18:59:08 <ehird> Even though the compiler unsafely optimises away access to them.
18:59:14 <ehird> Violate generic safety...
18:59:15 <pikhq> ehird: Absolutely nothing?
18:59:17 <pikhq> Huh.
18:59:24 <ehird> Steal your mother's life savings...
18:59:27 <ehird> Kill your mother...
18:59:36 <ehird> Kill the entire population of Mars...
18:59:39 <pikhq> So, Windows XP is actually a 100-some-meg OS with a lot of needless bloat.
18:59:42 <ehird> " " " " " Earth...
18:59:50 <ehird> pikhq: 1 gig OS, actually. But a 100 meg install CD.
18:59:54 <ehird> Wait.
18:59:56 <pikhq> Oh, okay.
19:00:00 <ehird> That 1 gig figure included my 700 meg pagefile.
19:00:01 <ehird> XD
19:00:07 <pikhq> Ah.
19:00:21 <ais523> talk about bloat
19:00:23 <pikhq> 300 megs is actually reasonable for a fairly barebones OS.
19:00:23 <ehird> \WINDOWS is 359 megs
19:00:25 <pikhq> Such as Windows.
19:00:28 <ehird> (363 megs on disk)
19:00:31 <ehird> ais523: pagefile = swapfile :P
19:00:36 <ais523> I know
19:00:46 <ehird> ais523: So, I didn't strip it down to the hueg 1 gig.
19:00:54 <ehird> I stripped Windows down to ~360 megs.
19:01:05 <ehird> Plus the default \Program Files and user account stuff, but that's barely anything.
19:01:12 <pikhq> Which is about what a similarly able Linux distro would be at...
19:01:23 <ehird> Ubuntu is 2 gigs :P
19:01:31 <pikhq> I said similarly able.
19:01:38 <pikhq> Ubuntu is bloat-tastic. ;)
19:02:38 <ehird> That implies that Ubuntu is ~5.7x more able than my minimalist Windows XP :P
19:03:01 <ehird> I should get an antivirus on this thing.
19:03:50 <ais523> ehird: MSAV?
19:03:59 <ais523> really, it should be a really really old DOS antivirus
19:04:08 <ais523> that prevents .exe files being modified by storing checksums
19:04:11 <ehird> I don't think that would protect against Windows viruses.
19:04:15 <ais523> and checking against the sum whenever you try to run one
19:04:34 <ais523> that's almost perfect at antivirusing; issue is, it doesn't protect against other forms of malware, like worms
19:04:54 <ais523> I remember when viruses were actually viruses...
19:05:13 <ehird> anyone know how easy it is to rename a user account directory in windows?
19:05:16 <ehird> sick of being Owner
19:05:32 <ais523> create a new account, copy the files should almost certainly be safe
19:05:34 <ehird> Yay Corman Lisp!
19:05:36 <Ilari> Hmm... After I reboot this computer (someday) I'll probably try to get Protocol 41 working... :-)
19:06:41 <ehird> "reboot this computer (someday)"
19:06:49 <ehird> Your system must be pretty stable.
19:07:45 <Ilari> BTW: It lacks UPS. :-/
19:08:12 <ehird> Do you do your work on a ramdisk because your computer never crrashes? :-)
19:08:15 <ehird> *crashes
19:08:57 <Ilari> No (except for having lots of stuff open, with few text files storing what's open).
19:09:17 <Ilari> And no memory for RAM disk.
19:09:29 <ehird> Just make ramvi
19:09:33 <ehird> It's a vi clone without saving!
19:11:50 * ehird installs WinHugs for the nostalgia
19:12:34 <ehird> not that I've ever used it, but...
19:14:13 -!- oerjan has joined.
19:14:44 <ehird> oerjan! And I was just installing WinHugs.
19:14:55 <oerjan> O_o
19:14:58 <ehird> You know, because you use Windows. And Hugs. And are consequently scientifically classed as a dinosaur.
19:15:04 <ehird> Therefore this is relevant to you.
19:15:29 * oerjan tears ehird into pieces with his giant jaws
19:15:39 <oerjan> *yummy*
19:15:39 <ehird> No, you are a wimpy dinosaur with no powers.
19:15:40 <ehird> NO
19:15:41 <ehird> POWERS
19:15:44 <ehird> ...
19:15:45 <oerjan> WAAAAHH
19:15:47 <ehird> WHATSOEVER
19:15:52 <ehird> oerjan: but we love you :<
19:16:05 <oerjan> next you'll tell me i'm purple
19:16:32 <ehird> oerjan: I was going to wait until you were older to tell you that.
19:16:37 <oerjan> (not that i've ever actually _watched_ barney, mind you, i've just heard rumors)
19:16:52 <ehird> Sorry for videoing you for all those years WITHOUT YOU KNOWING
19:17:03 <ehird> But you'll never get the money
19:17:06 <ehird> Never! NEVER!
19:17:07 <oerjan> <_< >_>
19:17:57 <oerjan> we'll see how fun it will be to video a broke dinosaur
19:18:52 <ehird> I stopped taping you when you turned into a sour bastard that nobody likes.
19:18:56 <ehird> Oops, did I say that out aloud?
19:19:19 <ehird> "Heap size: 7 Mb"
19:19:22 <ehird> THAT SEEMS REASONABLE WINHUGS
19:19:32 <ehird> 7 megs, almost enough for a haskell hello world
19:23:02 <Ilari> Official short name for Protocol 41: IPv6. And it appears in IPv6 address space as 2002/16.
19:25:50 <Ilari> Next 32 bits of address determine the IPv4 the address to send the packets to.
19:28:31 <Ilari> And those addresses are /48's, 65536 networks of up to 16Ei hosts. :-)
19:30:19 <ehird> Really cool thing about Frink graphics: Resizing the graphics window rerenders the whole thing. So text gets re-rendered, etc.
19:30:24 <ehird> So there's no "scaling".
19:36:17 <pikhq> ehird: What's the memory usage on that minimal XP install look like?
19:36:31 <ehird> With or without programs running?
19:36:39 <ehird> Presumably without.
19:36:40 <pikhq> Eh... Sure.
19:38:02 <ehird> physical memory in "K"
19:38:11 <ehird> well
19:38:19 <ehird> i'll chop off the last three digits
19:38:22 <ehird> to get approx. megs
19:38:24 <ehird> total 523
19:38:26 <ehird> avail 404
19:38:27 <ehird> cache 338
19:38:33 <pikhq> Not bad.
19:38:42 <ehird> So 119 megs used
19:38:49 <ehird> what is commit charge, I wonder?
19:39:12 <ehird> Also, 3 megs of that is the virtualbox service, so that obviously doesn't count :-P
19:40:13 <ehird> Anyway, it runs IE, VirtualBox additions, Opera, Java, Frink, Corman Lisp and WinHugs (and thus Hugs) so far.
19:41:44 <ehird> ClearType works if you're into that.
19:42:13 <ehird> (It detects whether or not you are into that and does not work if you are not.)
19:42:15 <ehird> (True fact.)
19:43:47 <oerjan> those pesky true facts, always being uppity against the false ones
19:44:03 <ehird> It's ders criminasion.
19:44:40 * ehird wonders what's the easiest way to get Servlets serving locally on Windows to play with Frink Server Pages.
19:44:54 <ehird> Tomcat? Isn't that meant to be ridiculously complicated? GlassFish?
19:45:46 <pikhq> Tomcat is Apache in Java.
19:45:51 <pikhq> (ugh)
19:45:56 <ehird> No, not really.
19:46:03 <ehird> It's an HTTP server + Servlet container + JSP thingy.
19:46:17 <ehird> It just happens to be an Apache project, and thus inherit the crazy.
19:46:23 <pikhq> Ah.
19:46:31 <ehird> Incidentally, if anyone wants a Compose key under Windows: http://modeemi.fi/~tuomov/b/2009/updates/
19:47:24 <ehird> It actually converts the X11 Compose key file format to an AutoHotkey_L script.
19:47:45 <fizzie> Ilari: Err. 2002::/16 is the prefix for 6to4 addresses, true; but "protocol 41" -- directly putting IPv6 packets inside IPv4 packets with protocol number set to 41 -- is used also by all the other tunnel brokers, too, with addresses allocated in other routable blocks.
19:49:22 <ehird> http://tjws.sourceforge.net/
19:49:22 <ehird> "European quality software made in USA"
19:49:22 <ehird> wat
19:49:31 <ehird> Germans: famous for good cars and software!
19:49:51 <ehird> Oh, jetty. Jetty rings a bell.
19:53:31 <ehird> So, Jetty or TJWS it is.
19:55:03 <fizzie> ehird: JBoss. Not just the crazy of Tomcat; it is also Enterprise.
19:55:13 <ehird> I CAN HARDLY WAIT
19:55:51 <ehird> A Haskell implementation in Java would be a fun engineering problem. Yes, I know of the outdated GHC backend, but that's so boring.
19:56:21 <soupdragon> I use java to implement a lazy language
19:56:30 <soupdragon> I tried to prove a point about TCO with it, but tehy did not listen
19:56:41 <ehird> Trampolines yo
19:56:54 <soupdragon> yes exactly
19:57:13 <ehird> Makes a Haskell, Java, Haskell callstack difficult though.
19:57:26 <ehird> Well.
19:57:27 <soupdragon> hmm
19:57:28 <ehird> Not really, actually.
19:57:38 <soupdragon> I didn't consider that, but it's certainly a tricky problem
19:57:43 <ehird> not really
19:57:54 <ehird> Java code, when it wants to use e.g. a Haskell callback, uses the trampoline mechanism itself
19:58:07 <ehird> by starting a new trampoline
19:58:09 <ehird> So you get:
19:58:17 <ehird> Trampoline, Haskell, Java, Trampoline, Haskell
19:58:25 <ehird> Yes, if you nest this enough the stack will blow
19:58:33 <ehird> but it'd be very difficult to write code gnarly enough to make THAT happen
19:58:35 <soupdragon> I think you can mabye use a simple tramp
19:58:38 <soupdragon> single*
19:58:48 <ehird> soupdragon: yes, but then you have to split the java method in two
19:58:51 <ehird> as opposed to just doing
19:58:56 <soupdragon> hmm
19:58:58 <ehird> callHaskell(someHaskellFunc, someJavaArgs)
19:59:07 <ehird> since the stack overflow problem is very minor, I'd go for convenience
19:59:30 <ehird> soupdragon: especially as you can wrap callHaskell() in a java class or whatever, so java APIs that aren't yours can call into haskell code
19:59:32 <ehird> (without knowing)
19:59:55 <ehird> one major issue is designing the embedding of java into haskell though, I tried that once for a laugh and it was quite a pain
20:00:07 <ehird> (assuming you want static safety and don't want to add actual OOP features to haskell)
20:00:12 <ehird> involves a _lot_ of typeclasses
20:09:35 -!- somebody_ has joined.
20:09:45 -!- somebody_ has quit (Remote closed the connection).
20:10:00 -!- soupdragon has quit (Nick collision from services.).
20:10:17 -!- soupdragon has joined.
20:11:20 <ehird> Heh, apparently TJWS is based on thttpd.
20:11:43 <ehird> No ,wait.
20:11:45 <ehird> *No, wait.
20:11:50 <ehird> Probably Acme.Serve.
20:11:58 <ehird> (the other acme.com webserver; this one's Java)
20:20:32 -!- Azstal has joined.
20:21:28 <ehird> For those who haven't seen it yet: http://dd-sh.intercal.org.uk/web-server/
20:27:34 <ehird> ouch, a .bat cgi
20:27:39 <ehird> ais523: sounds like the kind of thing you'd do
20:28:04 <ais523> ehird: well, it is by the maintainer of CLC-INTERCAL
20:28:11 <ehird> no
20:28:14 <ehird> I saw a .bat cgi elsewhere
20:28:18 <ais523> oh
20:28:31 <ais523> no, I'm not quite that crazy, .bat is rubbish at parsing
20:29:01 <ehird> admittedly it was just a demonstration, and windows doesn't really have any alternatives
20:29:07 <ehird> all it did was dir /b
20:29:12 <ehird> plus surrounding html/headers
20:32:13 -!- Asztal has quit (Read error: 110 (Connection timed out)).
20:33:38 <pikhq> 14:33 [localhost] -!- #haskell-blah: No such channel
20:33:52 <pikhq> Why the hell is irssi trying to send messages to localhost for that channel?
20:33:55 <AnMaster> pikhq, localhost? using a bouncer?
20:34:18 <pikhq> AnMaster: No, I just have bitlbee on localhost.
20:34:31 <ehird> Fascism: Awesome, or AWESOME?
20:34:42 <ehird> Answer: AWESOME!!!!!!
20:34:54 <AnMaster> horrible
20:35:02 <ehird> YOU ARE A GOOD PERSON
20:35:05 <ehird> Now you will die.
20:35:12 <AnMaster> hah
20:38:04 <ehird> Now we will sing the fascism song!
20:38:07 <ehird> Ding, dong, AnMaster's dead
20:38:12 <ehird> We stabbed the bastard in the head
20:38:17 <ehird> Ding, dong, freedom is dead
20:38:25 <ehird> We raped that bastard till it... was... um... dead?
20:38:27 <AnMaster> alas no, I fooled you there
20:38:31 <ehird> FASCISM
20:38:31 <ehird> Good for everything except rhyming
20:38:46 <AnMaster> my dopplerganger(!)
20:38:54 <soupdragon> schism
20:38:55 <oerjan> fascism, rhymes with ass-ism
20:38:57 <ehird> That isn't a word.
20:39:03 * AnMaster leaves in a hurry
20:39:05 <ehird> Also, you can say "penis".
20:39:07 <soupdragon> prison
20:39:12 <ehird> You don't have to say "dopplerganger".
20:39:52 <oerjan> a dopplerganger would be someone moving away at nearly the speed of light, right
20:40:35 <ais523> hmm, seems localhost is online at,
20:40:36 <ais523> *atm
20:40:41 <ehird> wat
20:40:49 <ais523> ehird: I just did a /whois
20:40:55 <ais523> deliberate misinterpretation ftw!
20:41:02 <ehird> aisMaster
20:45:55 <augur> aisMaster is the bastard child of AnMaster and ais523
20:46:07 <ehird> congratulations, you got the joke
20:46:14 <ais523> augur: wouldn't happen, we're both the same gender
20:46:21 <augur> ais523: ass babies
20:46:24 <ehird> ais523: this is set in the future
20:46:28 <ais523> hmm, what's something that's the opposite of a whoosh but still a similar level of stupidity?
20:46:29 <augur> indeed
20:46:29 <ehird> where anything is possible
20:46:44 <ehird> ais523: "Thanks, Captain Obvious!"
20:46:50 <ais523> ah, maybe
20:46:56 <ais523> well, whatever it is, I apply it to Augur
20:47:00 <ehird> *augur
20:47:04 <ehird> or should I say
20:47:09 <ehird> Ais523: *augur
20:47:20 <augur> ehird
20:47:21 <augur> ehird
20:47:21 <augur> ehird
20:47:23 <augur> :|
20:47:26 <ais523> amazingly, that was a typo somehow
20:47:32 <ehird> /kline augur
20:47:36 <oerjan> Captain Obvious, he tells obvious things
20:47:39 <augur> watsa kline
20:48:09 <oerjan> /kline bottle
20:48:29 <augur> 8D
20:48:36 <augur> kaluza-/kline theory
20:48:55 <oerjan> eine /kline nachtmusik
20:53:28 <ehird> /KLINE SOUDNS SORT OF LIKE SOME WORDS GUYS
20:53:30 <ehird> *SOUNDS
20:53:34 <ehird> with a silent /
20:57:12 <oerjan> what do you mean silent? it is clearly a click sound borrowed from !Xóõ
20:57:59 -!- Slereah has joined.
21:00:56 <ehird> the LWJS author can't spell properly but jetty is huge if you go for 6 and sparse if you go for 7
21:00:56 <ehird> hmmm
21:01:29 <ehird> lwjs works as a windows service though if you set it up yourself, so does jetty 6 but it's just way too big
21:01:32 <ehird> jetty 7 doesn't though
21:06:21 <ehird> *tjws
21:07:53 <augur> oerjan
21:07:55 <augur> i just realized
21:08:03 <ehird> "I'm gay"
21:08:09 <soupdragon> 3 simple words, I am gay
21:08:09 <augur> that every /kline we did
21:08:18 <augur> was the exact same german word
21:08:32 <augur> well maybe not for ein kleine nachtmusik actually
21:08:33 <augur> but
21:08:33 -!- Slereah_ has quit (Read error: 110 (Connection timed out)).
21:08:35 <ehird> even klein bottle...?
21:08:49 <augur> klein bottles are named after a dude
21:08:52 <augur> same last name
21:11:52 <oerjan> how gross
21:11:56 <oerjan> </duck>
21:12:43 * augur puts my klein bottle in oerjans klein bottle
21:13:34 * pikhq wonders how one puts anything into a klein bottle
21:13:49 <augur> through the open end, duh
21:14:02 <pikhq> That's not inside.
21:14:07 <augur> :X
21:14:11 <pikhq> It's a zero-volume manifold!
21:14:17 <augur> :X
21:14:42 <augur> http://www.kleinbottle.com/
21:14:43 <augur> :D
21:14:53 <ehird> Slereah has one of those.
21:15:16 <augur> i bet he does
21:15:33 <augur> he also has one of these: http://encyclopediadramatica.com/Image:Thor2.jpg
21:15:34 <ehird> That was _not_ a euphemism.
21:16:02 <augur> i know it wasnt
21:18:28 <augur> http://www.kleinbottle.com/klein_bottle_hats.htm
21:18:35 <augur> WEAR A KLEIN BOTTLE HAT
21:18:38 <augur> LOOK LIKE A DORK
21:18:38 <augur> 8D
21:19:53 <soupdragon> aliens
21:20:12 <soupdragon> http://www.kleinbottle.com/images/RedYellowWhiteHatScarf_Zoe_.jpg go back to the future you fucking alien
21:20:22 <SimonRC> augur: that better be flexible or there will be injuries
21:20:44 <augur> soupdragon: thats not an alien, thats a girl
21:20:52 <SimonRC> (oh wow ambiguous remark)
21:21:06 <augur> SimonRC: theyre really flexible
21:21:31 <soupdragon> I don't know what you mean
21:21:43 <augur> http://www.kleinbottle.com/images/giantKleinbotandCliff2.jpg
21:22:05 <soupdragon> go back to the fourth dimension!!
21:22:10 <soupdragon> and take your contraption with you
21:22:32 <augur> i bet ehird could fit into that klein bottle
21:22:43 <SimonRC> do people know that it's a pun in German BTW?
21:22:53 <ehird> augur: probably not.
21:22:53 <augur> what?
21:23:03 <augur> ehird: oh cmon, yo're tiny!
21:23:04 <ehird> unless that guy is really freakishly tall
21:23:13 <ehird> say 7ft
21:23:19 <ehird> hmm even 8
21:23:30 <SimonRC> I forget the who thing, but Flache = surface (i.e. manifold), Flasche = bottle
21:23:45 <augur> hah!
21:23:50 <SimonRC> IIRC
21:24:21 <augur> http://www.kleinbottle.com/calibrated_klein_bottles.htm
21:24:22 <augur> hahaha
21:24:45 <SimonRC> Kleinsche Fläche
21:24:51 <SimonRC> says wikipedoa
21:24:56 <SimonRC> *wikipedia
21:25:03 <ehird> Wiki-Pedo! Aah!
21:25:08 <SimonRC> the keys are right next to each other!
21:25:19 <ehird> The kids are right next to each other!
21:25:31 <SimonRC> lol @ callibrations
21:34:34 <ehird> hmm
21:34:42 <ehird> how do you stop a windows server that's hogging a port if it isn't installed?
21:34:52 <SimonRC> huh?
21:34:56 <ehird> apart from killing svchost processes at random until you find it
21:34:58 <SimonRC> how would it be doing that?
21:35:11 <SimonRC> are you using Process Explorer?
21:35:15 <ehird> uh, i started a service listening on port foo and now i want to stop it.
21:35:18 <ehird> no, I guess I should download it
21:35:51 <SimonRC> I can't remember, but PE might have a thingy somewhere that lets you find which process is hogging a port...
21:35:54 <SimonRC> waitamo...
21:36:07 <SimonRC> there is a command I overheard recently that might help
21:36:44 * SimonRC makes a knowlege roll
21:37:13 <ehird> process explorer — most stats i've ever seen on one screen in my life
21:37:42 <ehird> i'm surprised this still runs what with all the stuff i stripped out :)
21:37:48 <SimonRC> heh
21:37:49 <fizzie> I remember a netstat.exe from Windows, but I have no clue whether it can tell processes at all.
21:38:03 <SimonRC> maybe just maybe "netstat" could help
21:38:12 <fizzie> "
21:38:12 <fizzie> -o : Displays active TCP connections and includes the process ID (PID) for each connection. You can find the application based on the PID on the Processes tab in Windows Task Manager. This parameter can be combined with -a, -n, and -p."
21:38:18 <ehird> Okay... apparently this server *isn't* running. Like, at all.
21:38:20 <fizzie> Claims http://technet.microsoft.com/en-us/library/bb490947.aspx
21:38:46 * SimonRC loves his +3 "random shit I read somewhere" modifier
21:38:53 <fizzie> (And you probably need -a too to get listening ports.)
21:39:08 <ehird> grr no grep on windows
21:39:12 <ehird> i should install powershell
21:39:16 <ehird> i hear it's all hip and whatnot
21:39:23 <SimonRC> psh
21:39:24 <soupdragon> hip to be square
21:39:29 <soupdragon> hip replacement
21:39:41 <fizzie> There's "find", though.
21:39:51 <fizzie> It's pretty much grep.
21:39:54 <ehird> hmm
21:39:57 <fizzie> Without regular expressions.
21:40:00 <ehird> as far as i can tell it's not running :)
21:40:49 <ehird> foo | find "X" only seems to display the last instance of X
21:42:21 <ehird> LISTENING is what i'm looking for right, not TIME_WAIT
21:43:14 <fizzie> Strange, it should display all lines. But, well, who can say; I've never felt Windows was too pipeline-friendly.
21:43:47 * ehird closes Opera to make this easier
21:44:15 <ehird> Uh, some are listening on *:*.
21:44:23 <ehird> Oh, but they're all UDP.
21:44:32 <ehird> The rest are epmap, microsoft-ds, netbios-ssn, and two Opera things.
21:44:34 <ehird> Conclusion.
21:44:42 <ehird> I have an HTTP server that doesn't exist, and is accessing files that don't exist.
21:44:50 <ehird> I will now go insane.
21:44:54 <fizzie> Maybe YOU don't exist!
21:45:02 <ehird> That is a rather reasonable explanation.
21:45:13 <ehird> Well, it's gone now.
21:45:17 <ehird> I sure hope it wasn't just Opera caching it.
21:45:27 <ehird> But I pressed shift+refresh and control+refresh, so.
21:52:22 <ehird> Ugh, this is annoying.
21:53:48 -!- MigoMipo has joined.
21:54:35 <ehird> Eh, I give up on TJWS.
21:55:02 <SimonRC> Oh man Australia's TZs are fucked up. They have +8, +8:45, +9:30, +10, plus some others on islands
21:55:11 <ehird> Anyone know any non-shitty HTTP servers/Java servlet containers that can be used as a Windows service? Ha, no, only kidding, no such thing. Man, I kinda wish Frink Server Pages *were* CGIs at this point...
21:55:41 <SimonRC> Oh wow, they have an island in +10:30 which, get this, observer 2 hours of DST!
21:55:46 <ehird> :-D
21:56:02 <SimonRC> no
21:56:04 <SimonRC> WTF
21:56:10 <SimonRC> that must be a type
21:56:21 <SimonRC> it observes minus 10 hours of DST
21:56:28 <ehird> does two hours of DST even make sense?
21:56:32 <SimonRC> it gets DST *backwards*
21:56:35 <SimonRC> ehird: yesh
21:56:44 <ehird> is that two physical hours of DST happening
21:56:44 <SimonRC> *typo
21:56:47 <ehird> or two clock hours
21:56:52 <SimonRC> ehird: huh, what?
21:57:00 <ehird> if two clock hours, the clock would go forward on the first hour, another hour would pass, and it'd go back
21:57:03 <SimonRC> I mean it changes the offset fomr UTC by 2 hours
21:57:05 <ehird> so it'd only be one real hour of DST
21:57:08 <ehird> SimonRC: oh
21:57:17 <ehird> I thought it meant, it has DST for two hours of the year :-)
21:58:56 <SimonRC> ah, I got it wrong
21:59:35 <SimonRC> WP means it shifts by only 0:30 for DST, rather shifting *to* 0:30
22:00:05 <ehird> lol, that would be funny
22:00:27 <ehird> "Time to set the clocks forward." "Aww man, and I thought I was done with menial labour for the day."
22:01:21 <SimonRC> Antarctica is a bit random. They have -4, -3, and +12
22:01:47 * oerjan imagines a floating island that physically moves between australia and europe every six months
22:02:46 <oerjan> i vaguely recall antarctic bases go by the zones of their supply stations
22:03:14 <oerjan> well, at least one base
22:03:26 * ehird installs EmacsW32
22:03:27 <AnMaster> <ehird> Eh, I give up on TJWS. <-- TJWS?
22:03:29 <pikhq> Well, it's not like they can base it off of the sun.
22:03:34 <ehird> Tiny Java Web Server.
22:03:37 <AnMaster> ah
22:03:38 <ehird> I'm using Winstone instead, now.
22:03:44 <ehird> For Frink Server Pages!
22:04:21 <SimonRC> It would be so much easier if everyone just used UTC
22:04:38 <ehird> Not really
22:04:52 <ehird> We can say "I was up until 5am" and this reflects the same conscious experience to all of humanity
22:04:54 <AnMaster> that would mess up local time
22:05:01 <AnMaster> yeah what ehird said
22:05:16 <ehird> which is more important than being easy for machines and bureaucrats :-)
22:05:19 <SimonRC> hmm, maybe
22:05:26 <AnMaster> really it should be based on the sun
22:05:33 <SimonRC> I *was* thinking that if they can get used to summer in January and Winder in July, they can get used to sun at 12:00 and night at 00:00
22:05:43 -!- Asztal has joined.
22:05:44 <AnMaster> so that when the sun was in it's highest point locally, then it was 12:00
22:05:57 <ehird> AnMaster: but that's probably variable
22:05:59 <AnMaster> of course this would mean that near the poles they would just have one date half of the year
22:06:14 <SimonRC> though that China manages ok with one huge timezone
22:06:16 <AnMaster> (since sun doesn't rise at all)
22:06:40 <AnMaster> SimonRC, yeah it will vary a bit there, but not as it varies between Australia and Europe say
22:06:52 <oerjan> SimonRC: nah, it's so awful all the western provinces want to secede </duck>
22:07:42 <ehird> ugh, EmacsW32 is downloading inexplicably slowly.
22:10:29 <Deewiant> AnMaster: c-intercal W: Dependency included and not needed ('gcc')
22:10:42 <ehird> C-INTERCAL depends on a cc.
22:10:53 <ais523> Debian mark it as gcc | c-compiler, I think
22:11:18 <AnMaster> Deewiant, runtime dep
22:11:30 <AnMaster> Deewiant, namcap sometimes give false positives on that
22:11:39 <ais523> it is indeed a runtime deop
22:11:41 <ais523> *dep
22:11:42 -!- oklofok has joined.
22:11:48 <oklofok> HI
22:11:51 <ais523> well, it's a compile-time dep too, given that it's written in C
22:11:54 <AnMaster> Deewiant, after all it looks at ldd iirc
22:11:54 <ais523> hi oklofok
22:11:57 <Deewiant> Alright
22:12:05 <oklofok> i decided to come and see the chaos.
22:12:13 <AnMaster> ais523, yes but that would be a builddep
22:12:39 <ais523> it's a builddep /and/ a runtime dep
22:12:42 <oerjan> no chaos here! <sweeps something under rug>
22:13:31 -!- Aszstal has joined.
22:14:21 <ehird> hurry up emacsw32 download god damn
22:14:25 -!- MigoMipo has quit (Remote closed the connection).
22:15:02 <Deewiant> AnMaster: I suppose it's only an optional runtime dep, since you can compile to C without it, or?
22:16:31 <AnMaster> Deewiant, hm good point
22:16:39 <ehird> That's ridiculous.
22:16:41 <AnMaster> Deewiant, won't fix it this evening, probably tomorrow
22:16:47 <ehird> By that standard near everything is an optional dependency.
22:17:05 <Deewiant> Not really, most things won't start up if you don't have the appropriate libs.
22:17:06 <ehird> If its absence makes "prog file", the standard usage, fail with a scary error message, it's required.
22:20:39 -!- Azsztal has joined.
22:20:49 -!- Azstal has quit (Connection timed out).
22:21:39 <AnMaster> I have to agree with ehird here
22:21:48 <AnMaster> but what Deewiant said is in the spirit of arch linux
22:27:25 <fizzie> Internet time! It's now @977!
22:27:51 <ais523> yep, sounds about right
22:28:00 <ais523> is it wrong that I can convert in and out of decimal time in my head?
22:28:07 <ais523> I used to use it on my desktop, when I had one
22:28:22 -!- Asztal has quit (Read error: 110 (Connection timed out)).
22:31:44 <fizzie> I also like the hilarious unit, ".beat".
22:32:39 -!- Aszstal has quit (Read error: 110 (Connection timed out)).
22:33:10 <AnMaster> fizzie, ,beat?
22:33:56 <fizzie> The period of time from @n to @n+1 has a length of one .beat.
22:34:19 -!- soupdragon has quit ("Leaving").
22:34:32 <ehird> AnMaster: by the same token
22:34:37 <ehird> cc should not depend on as
22:34:43 <ehird> because you can use -S without it
22:39:16 <oklofok> ais523: what algo?
22:39:17 <AnMaster> ehird, agreed
22:39:32 <ehird> >_<
22:39:36 <AnMaster> Depends On : binutils>=2.20 mpfr>=2.4.1 cloog-ppl>=0.15.3
22:39:36 <ehird> You're missing the whole point of dependencies
22:39:37 <AnMaster> ehird, ^
22:39:43 <oklofok> what conscious processes that is
22:40:01 <AnMaster> ehird, it does however do that
22:40:03 <pikhq> ehird: Here in Gentoo-land, cc depends on as.
22:40:05 -!- Azsztal has quit (Read error: 60 (Operation timed out)).
22:40:10 <AnMaster> pikhq, same on arch actually
22:40:10 <ais523> oklofok: 15 minutes is approximately 10 millidays
22:40:11 <pikhq> Because you can't build cc without as.
22:40:18 <AnMaster> build dependency
22:40:25 <pikhq> The opposite is also true.
22:40:31 <AnMaster> pikhq, gentoo separates build/runtime deps iirc?
22:40:37 <pikhq> AnMaster: Yeah.
22:40:41 <oklofok> okay, then sounds simple
22:40:59 <oklofok> i've been trying to work on my mental calculation skills, but obviously i'm starting a bit late
22:41:01 <pikhq> They're also part of system.
22:41:08 <pikhq> And everything has an implicit runtime dependency on system...
22:41:27 -!- Asztal has joined.
22:41:42 <ehird> ha! An area of knowledge in which oklofok does not hopelessly exceed me!
22:41:55 <ehird> instead he merely trounces on my face.
22:42:03 <oklofok> eh? don't you like... fail at addition? :P
22:42:15 <ehird> lol
22:42:19 <ehird> 2 + 2 = 7
22:42:23 <ehird> 2 + 3 = 5
22:42:26 <oklofok> well yeah, i recall a few instances like that
22:42:59 <oklofok> in any case, i haven't really found a good source for what conscious techniques are used, usually
22:43:19 <AnMaster> ehird, only at room temperature
22:43:20 <oklofok> google mostly gives "savant can do lotsa shit, says he sees numbers as pix"
22:43:27 <oklofok> thanks.
22:43:34 <AnMaster> above that 2+2 can reach up to 8 or perhaps even 9
22:43:54 <ehird> oklofok: well you'd refuse to use decimal based heuristics wouldn't you :)
22:44:45 <oklofok> you mean calculating approximations?
22:44:55 <ehird> i mean nothing
22:45:02 <ehird> the only meaning
22:45:05 <ehird> is within yourself
22:45:11 <oklofok> obviously i want the calculations to be correct, otherwise i'd just use smaller numbers
22:45:54 <oklofok> i wish there i knew a good resource on this, but no one seems to do it without a gift
22:46:33 -!- Asztal has quit (Read error: 60 (Operation timed out)).
22:47:05 <oklofok> really i find it weird how little people care about anything
22:47:39 <oklofok> says he after skipping all the conversation here after seeing the word dep.
22:48:09 <oerjan> http://en.wikipedia.org/wiki/Trachtenberg_system
22:48:58 <oklofok> yeah i suck at googling
22:49:03 <oklofok> looks interesting
22:49:04 -!- Asztal has joined.
22:49:14 * ehird is quickly losing patience with gnumacs
22:49:17 <oklofok> not that i haven't already developed a system
22:49:19 <Asztal> worst router ever
22:49:20 -!- Asztal has quit (Client Quit).
22:49:33 <ehird> i should just install xemacs and deal with the ugly
22:49:42 <oerjan> actually i knew about that because i had a book about it when i grew up (probably still is somewhere)
22:50:09 <ehird> i love that that guy was jovial enough in a concentration camp to come up with fun mental arithmetic stuff
22:50:09 <oerjan> i don't actually recall learning much of it, though...
22:50:18 <ehird> how can you possibly be _bored_ in such a situation
22:51:03 <oklofok> oerjan: that's... the normal multiplication algo
22:52:17 <oklofok> well okay, usually you calculate the stuff in a different order
22:52:34 <oklofok> i guess i've just already optimized that far
22:53:23 <ehird> ais523: AnMaster: Do you know how to disable the automatic insertion of a final newline by Emacs?
22:53:40 <ais523> ehird: there's a config option for it somewher
22:53:43 <ais523> *somewhere
22:53:47 <ais523> I think hooked according to the mode
22:54:01 <ais523> try searching custom for "newline"
22:55:21 <fizzie> "Gnumacs, worst router ever."
22:55:35 <ehird> not enough people use \foo without DRIVE:
22:55:42 <ehird> why type C: if you don't need to?
22:57:41 <ais523> because on Windows it's hard to guarantee what the current drive its
22:57:43 <ais523> *is
22:58:05 <ehird> ugh, and fuck GNUmacs
22:58:11 <ehird> XEmacs C-x C-f: ~\
22:58:18 <ehird> GNUmacs C-x C-f: c:\home/
22:58:27 <ehird> path separator fail, home directory to ~ fail
23:02:12 <ehird> I'm just going to switch to XEmacs.
23:02:27 <ehird> Strange thing about (X)Emacs tabs: they only show files with the same major mode by default.
23:02:43 <ehird> I mean, who thought of that?
23:03:19 <ehird> Oh, and XEmacs has a saner dotfile mechanism too... ~/.emacs → ~/.xemacs/init.el, ~/.emacs + custom cruft → ~/.xemacs/custom.el
23:04:31 <fizzie> To be fair, ~/.emacs.d/init.el is perfectly valid in GNU Emacs too. If you consider that part of the sanity, and not just the init.el + custom.el splittery.
23:04:44 <AnMaster> <ehird> ais523: AnMaster: Do you know how to disable the automatic insertion of a final newline by Emacs? <-- iirc it defaults to off?
23:04:56 <AnMaster> (setq require-final-newline 'query)
23:04:58 <AnMaster> I have that
23:05:02 <AnMaster> in my .emacs
23:05:07 <AnMaster> ehird, it might help
23:05:08 <ehird> Well, moving-past-bottom-of-file produces a newline, which I dislike.
23:05:18 <ehird> I'm on Windows, I'm gonna use CR+LF and no ending newline, dammit :-)
23:05:32 <ehird> fizzie: Well, yes, but it's default in XEmacs.
23:06:48 <ehird> Biggest WinXP annoyance: explorer crashing resets Quick Launch order and size.
23:09:07 <fizzie> By "default", I guess you mean the fact that it's looked for first, before ~/.emacs? (Well, and I guess GNU Emacs customize-buffer-save or something might generate ~/.emacs "by default" if it's not there.)
23:09:55 <ehird> Well, the simple fact that there's no string anywhere using ~/.xemacs as a file and everything saves to the appropriate ~/.xemacs thingy.
23:10:02 <ehird> I guess ~/.emacs is loaded for backwards-compatibility purposes.
23:10:06 <ehird> It's a culture thing, anyway.
23:10:33 <ehird> Although XEmacs' culture can be accurately described as "stale".
23:10:41 <ehird> Hey, jwz still uses it, so it's not dead yet.
23:10:56 <fizzie> Stale, with a whiff of lemon.
23:10:58 * ehird Install XEmacs 21.5.29 and all packages
23:10:59 <oerjan> ais523: spam spam wonderful spam (http://esoteric.voxelperfect.net/wiki/Talk:Main_Page/index.php)
23:11:01 <ehird> Sure, I have 144 megs of disk space.
23:11:10 <ehird> That's more than a third of my Windows installation size, but SURE
23:11:30 <ais523> oerjan: deleted
23:11:48 <ehird> there's nothing quite like it for incurring a ban
23:11:50 * oerjan high fives ais523
23:11:57 <ehird> quick, someone do the next line!
23:13:34 <pikhq> ehird: Well, Windows *is* an OS...
23:13:38 <pikhq> Erm.
23:13:39 <pikhq> Emacs.
23:14:15 <ehird> Fun fact: XEmacs doesn't do font-lock-mode by default.
23:14:23 <ehird> When it does, it's actually displayed in the mode line.
23:14:24 <pikhq> :(
23:19:14 <ehird> XEmacs todo: Disable splash screen. Make modeline prettier. Maybe fix screwy tabs.
23:22:29 <ehird> Can I just say that XEmacs' apropos is niiiiiiiice?
23:24:12 <oerjan> no.
23:24:20 -!- Sgeo has joined.
23:24:41 <Sgeo> Annoying thing about Chrome: Killing it is a lottery. There are a million chrome.exe's to kill
23:25:03 <ehird> just kill the parent chrome.exe
23:25:32 <Sgeo> The one with the lowest pid does not seem to be the parent
23:25:47 <Sgeo> creamycentre> Sgeo: end process tree
23:26:03 <ehird> use process explorer or something to find the parent
23:27:43 <SimonRC> I thought that chrome had a built-in process-managing thing?
23:28:03 <SimonRC> I'm sure that was one of its features advertised way back
23:28:36 <ehird> Yes.
23:54:11 <pikhq> Hooray, process mangling.
23:56:25 -!- zzo38 has joined.
23:58:04 <ehird> pikhq: You like Emacs, so let me just rant about it to you: I HATE THE CRAP YOU HAVE TO DO TO GET MULTIPLE MAJOR MODES TO WORK >_<
23:59:07 <pikhq> ehird: I AGREE THAT THAT IS RETARDED.
23:59:30 <ehird> All I want to do is define a mode for editing Frink Server Pages... sheesh.
23:59:52 <ehird> HTML mode, between <% and %> Frink mode. Why, XEmacs, are you being so hateful?
2010-01-09
00:00:02 <ehird> (Note: mmm-mode is common across Emacs and XEmacs, SO DON'T GO RUNNING TO THE FSF :P)
00:00:28 <ehird> I should just write my own editor. With multiple major modes. And breakout.
00:00:32 <ehird> In fact, forget the editor.
00:00:33 -!- ais523 has quit (Remote closed the connection).
00:00:45 <ehird> Breakout: inside the blocks, breakout.
00:00:54 <ehird> Multiple major modes + Breakout = best game/editor/OS ever??
00:01:09 <ehird> (yes)
00:02:16 <ehird> (pikhq: You wouldn't happen to have any idea of how to whip mmm-mode into submission?)
00:06:38 -!- coppro has joined.
00:07:21 <ehird> Bah. It's ridiculous that none of the modern editors were designed with modes being an atomic, composable thing.
00:07:26 <ehird> Were these things even *designed*???
00:07:28 -!- jpc has quit (Read error: 104 (Connection reset by peer)).
00:07:33 -!- jpc1 has joined.
00:09:57 <pikhq> I strongly suspect that all editors were evolved.
00:10:16 <pikhq> Except Notepad. That's just stagnant.
00:10:34 <ehird> At least notepad is totally consistent.
00:10:51 <pikhq> True.
00:11:05 <ehird> I guess I'm just going to have to write my own editor. *sigh*
00:11:57 <Sgeo> Doesn't Notepad have some sort of unicode issues?
00:12:04 <ehird> Not in Vista onwards.
00:12:13 <Sgeo> Oh
00:12:48 <ehird> Notepad is basically perfect, except for the unnecessary .LOG feature.
00:14:19 <ehird> Editor wishlist: File's modes are a tree; the topmost mode is managed by the editor.
00:14:27 <Sgeo> I've said this before, but someone should make an esolang whose source files start with .LOG
00:14:49 <ehird> Modes are self-contained: they can be applied to any buffer, with any settings (for instance, base indent N for code embedded in HTML),
00:15:09 <ehird> and things like every instance of a mode in the same buffer being the "same instance" are possible
00:15:13 <ehird> for e.g. completion, etc
00:15:16 <ehird> (or even interactive evaluation)
00:15:32 <ehird> also, buffers are abstract and, hopefully, composable
00:15:41 <ehird> you can define a buffer that is the rot13 of a file, for instance
00:15:50 <ehird> and modifying and saving it rot13s the contents and puts it in the file
00:16:46 <ehird> now someone pledge to switch to my editor if it's any good so i have some sort of motivation.
00:18:02 -!- Sgeo has left (?).
00:18:05 -!- Sgeo has joined.
00:18:23 <Sgeo> I definately want to try it
00:18:27 <ehird> *definitely
00:18:34 <ehird> do you still use windows
00:18:41 <Sgeo> Yes
00:18:44 <ehird> bugger
00:18:55 <ehird> well you'll have to switch to something that runs X unless I change my mind :P
00:19:20 <Sgeo> You can't use GTK+ or Qt or wxWindows or something along those lines?
00:19:32 <coppro> ehird: pledged
00:19:42 <ehird> coppro: why thank you.
00:19:44 <coppro> Xming = awesome
00:19:45 <coppro> just get that
00:19:57 <pikhq> Windows runs X. Just not as well as anything else ever.
00:20:02 <ehird> yeah I was considering telling him to just get an X server
00:20:07 <ehird> pikhq: what, even ubuntu
00:20:23 * ehird installs xming himself
00:20:25 <pikhq> ehird: Have you ever used X on Windows?
00:20:32 <ehird> Cygwin X is shit
00:20:35 <ehird> xming isn't, from what i hear
00:20:43 <coppro> Xming is good
00:20:48 <pikhq> Granted, part of the issues are because Cygwin isn't all that great... But still.
00:20:59 <ehird> Xming is totally Windows, no cygwin
00:21:03 * Sgeo sees a screenshot
00:21:13 <Sgeo> ...Ubuntu on Windows?
00:21:19 <ehird> yes, with coLinux.
00:21:19 <coppro> no, X on windows
00:21:22 <pikhq> ehird: X11 using programs are either Cygwin or not on Windows, though.
00:21:27 <ehird> (a driver that runs a linux kernel)
00:21:31 <coppro> oh, yeah
00:21:36 <ehird> hmm
00:21:38 <Sgeo> coppro, yes, I know, but the screenshot on the wiki page
00:21:45 <ehird> coppro: pikhq's right, you know; I do want to depend on posix
00:21:52 <ehird> I mean, not fork() or anything
00:22:00 <ehird> probably mmap() though....
00:22:02 <ehird> *though...
00:22:02 <coppro> ehird: language?
00:22:07 <ehird> but I refuse to depend on Cygwin
00:22:08 <Sgeo> Hm, I'm going to have to try coLinux
00:22:16 <ehird> coppro: oh, I assumed C; good point, there's no reason to assume C
00:22:27 <ehird> hmm... perhaps Scheme
00:23:16 <ehird> although I'd have to write my own impl for the $whatever_toolkit bindings and the like
00:23:24 <ehird> (scheme implementation state is... rather dismal)
00:23:47 <ehird> you have to donate to xming to get the latest version that's kinda lame
00:23:59 <ehird> 6.9.0.31 vs 7.5.0.15
00:24:49 <ehird> I'll probably just depend on Tk or something (with default config on X11 that makes it not be shit)
00:25:06 <ehird> I believe newer Tks can do Xft and the like; pikhq will know.
00:25:14 <ehird> and Tk is native on Windows
00:25:18 <pikhq> Yeah.
00:25:21 <ehird> OS X I don't really care about because I won't be using it soon
00:25:29 <Sgeo> Wait, it's possible to have non-shitty Tk?
00:25:32 <ehird> Sgeo: yes
00:25:34 <pikhq> And Tk is nativish on OS X.
00:25:36 <pikhq> Sgeo: Yes.
00:25:41 <ehird> ok, Tk 8.5+ includes the new theming engine and outline fonts
00:25:52 <ehird> Sgeo: http://tktable.sourceforge.net/tile/
00:25:53 <pikhq> It's slightly shitty on UNIX still, but it at least isn't complete suck now.
00:25:54 <ehird> Pick a theme, any theme.
00:26:12 <ehird> http://tktable.sourceforge.net/tile/screenshots/unix.html
00:26:23 <pikhq> And it's still got one of the nicer APIs...
00:26:24 <Sgeo> oooo
00:26:25 <ehird> Note the reasonableness of Default, Revitalized and Clam.
00:27:10 <Sgeo> No vistanative or sevennative ?
00:27:19 <ehird> winnative uses native Windows widgets.
00:27:23 <ehird> Sgeo: you know IDLE? Python?
00:27:25 <ehird> That's Tk.
00:27:44 <Sgeo> ehird, yes, and that's why I held my believe that Tk was shit
00:27:52 <Sgeo> Maybe I'm misremembering IDLE's look
00:27:57 <ehird> have you ever used IDLE on Windowsw?
00:27:57 <pikhq> Sgeo: xpnative uses the XP themed widgets API.
00:27:59 <ehird> *Windows
00:28:01 <ehird> it is 100% native
00:28:08 <ehird> pikhq: winnative uses actual widgeets though
00:28:13 <pikhq> The same API is used for Vista and 7.
00:28:17 <ehird> Maybe I could write the editor in Tcl. pikhq: Tcl has lambda right?
00:28:23 <ehird> or rather, closures
00:28:25 <zzo38> http://zzo38computer.cjb.net/img_10/healthbaseisreallystupi.png
00:28:35 <Sgeo> Well, I don't think I've used IDLE on Windows in a very long time
00:28:36 <Sgeo> Hold on
00:28:43 <pikhq> Kinda-sorta-maybe.
00:28:50 <ehird> pikhq: Elaborate.
00:29:20 <coppro> ehird: donate and mirror imo
00:29:43 <ehird> coppro: It isn't open source.
00:29:50 <ehird> The old binaries are public domain but the donate ones aren't.
00:29:54 <coppro> oh
00:29:57 <ehird> Unless you're actually instructing me to violate copyright law.
00:29:59 <pikhq> I'm going to guess that this is what you'd actually *want*: http://www.tcl.tk/cgi-bin/tct/tip/187
00:30:19 <ehird> But that isn't accepted.
00:30:27 <ehird> What can I do in practice?
00:30:33 <ehird> Also, does Tcl let you use dashes-in-names?
00:30:42 <ehird> (Is that the default naming convention?)
00:30:43 <coppro> ehird: I've had no trouble with the PD release
00:30:56 <pikhq> Whereas this is what you actually get: http://www.tcl.tk/cgi-bin/tct/tip/194.html
00:30:56 <coppro> but I'll be fair in saying I haven't used it a ton
00:31:02 <ehird> coppro: It's from 2007. Donate release is from 2010.
00:31:04 <pikhq> ehird: Tcl allows you to use dashes-in-names.
00:31:07 <ehird> Kinda crappy.
00:31:13 <ehird> pikhq: Is it the naming convention?
00:31:16 <pikhq> The typical naming convention is underscores, however.
00:31:16 <coppro> old != bad
00:31:30 <ehird> coppro: Yes, but it's a whole major version behind. That's just crappy behaviour on tnhe part of the author.
00:31:32 <pikhq> (don't see it much, though)
00:31:45 <coppro> ehird: He probably bumped the major when he closed it off
00:32:07 <coppro> people wouldn't donate for 6.9.0.32 when they can get 6.9.0.31
00:33:07 <ehird> pikhq: what do you mean, don't see it much?
00:33:46 <pikhq> ehird: ... There's like 20 names in underscores in the n section of my manpages...
00:33:53 <ehird> Ah.
00:33:58 <ehird> So most names are scruncheduplikethis?
00:34:35 <ehird> It's just that, say, run-extended-command is much nicer than run_extended_command or runextcmd.
00:34:40 <pikhq> No, you've just got things like the string proc.
00:34:46 <ehird> Ugh, yeah.
00:34:47 <ehird> Ugly.
00:35:04 <pikhq> "string is", "string range", etc.
00:35:24 <ehird> I could do Scheme+Tk...
00:36:00 <ehird> (STklos)
00:36:10 <ehird> Wait.
00:36:15 <ehird> STklos changed to Gtk. Ugh.
00:36:57 <ehird> I swear my editor will have a _nice_ user interface.
00:37:21 <ehird> Keyboard-oriented but point-'n-clickable and no RSI.
00:38:36 <ehird> Definitely no modal dialogs, except maybe if you run I-want-a-crazy-WIMP-file-selector.
00:39:00 <ehird> ("dialog" with no title bar will appear in the bottom of the window, probably.)
00:39:07 <ehird> Like a souped-up minibuffer.
00:39:10 <ehird> I'm going for today. Bye.
00:39:30 -!- ehird has quit.
01:01:17 <zzo38> I think this has 3 instructions, not 2 instructions http://esoteric.voxelperfect.net/wiki/Ultimate_bf_instruction_minimalization%21
01:01:57 <zzo38> Because, no operation is one of the instructions, too (see the information about "(" command)
01:04:47 <SimonRC> zzzzzzzzz
01:07:59 <zzo38> yyyyyyyyy
01:23:22 -!- oerjan has quit ("Good night").
01:23:33 -!- zzo38 has quit ("Good day").
01:38:15 -!- oklopol has joined.
01:38:29 <Sgeo> Is OpenSVN dead?
01:42:25 <oklopol> your MOM is dead
01:56:57 -!- oklofok has quit (Read error: 110 (Connection timed out)).
02:00:37 -!- Cerise has quit (farmer.freenode.net irc.freenode.net).
02:01:09 -!- Cerise has joined.
02:14:43 -!- BeholdMyGlory has quit (Remote closed the connection).
02:18:51 <augur> ehird, i was thinking in the graphics language, we'd need a function that takes some shapes and constructs and arbitrary composite shape out of (copies of) them
02:20:30 <augur> e.g. group { ... } where everything in ... is a subpart of the group object; so their positions are bound to the group objects, their sizes, etc.
02:20:47 <augur> so that if you scale the group object, the subobjects scale, if you rotate it, they as a whole rotate, etc etc.
02:20:54 -!- FireFly has quit ("Leaving").
02:21:09 <augur> ping me with an opinion when you get back
02:21:16 <Sgeo> augur, what, are you making a competitor to SL?
02:21:23 <augur> sgeo: whats SL
02:21:39 <Sgeo> Second Life
02:21:44 <augur> no.
02:22:52 <augur> were trying to design the latex-of-images, so to speak
02:23:57 <Pthing> svg?
02:40:30 <uorygl> Hmm, I want to make some aperiodic tiles.
02:41:44 <oklopol> we have a course about tiling, but not in this semester :'(
02:42:26 <oklopol> i hear it's rather hard to do that
02:42:39 <uorygl> I think I can make some aperiodic tiles for a half-plane.
02:43:21 <oklopol> how then?
02:43:29 <uorygl> Give me a moment.
02:43:50 <oklopol> do you use wang tiles?
02:44:05 <uorygl> Yeah.
02:44:33 <oklopol> i guess it's a w.l.o.g system
02:44:40 <oklopol> *.
02:44:46 <uorygl> A without loss of generality system?
02:44:48 <oklopol> yes
02:45:18 <oklopol> that you can simulate any set of tiles using wang tiles... but that's actually not at all true
02:45:56 <uorygl> Surely for every set of nice tiles, there's a Turing machine that halts if and only if it has a periodic tiling.
02:46:20 <oklopol> yes, obviously
02:46:36 <uorygl> Put the tiles together in every possible way; halt when you make something whose edges have the right symmetry.
02:46:44 <oklopol> just enumerate all possible ways to piece those tiles together, and for each check whether it fits its own boundary
02:46:56 <oklopol> ...i think ;)
02:48:08 <oklopol> i haven't actually thought much about tiling, just seen the proof of tm < tiling with a seed tile, once
02:48:51 <oklopol> where seed tile is a tile you have to use, then you can force the initial turing machine block to be on the plane
02:49:02 <oklopol> but you already knew that
02:51:02 <uorygl> Did I?
02:51:32 <oklopol> i usually assume people know the things i know through the same media i know them
02:51:57 <oklopol> i don't mean physical medium, more like context
02:52:38 <oklopol> in any case, the original use of aperiodic tilings was to show tiling is undecidable even without a seed tile
02:52:51 <oklopol> (the guy who proved it with a seed tile actually postulated the opposite)
02:54:32 <oklopol> so did you have something for half-plane?
02:54:53 <oklopol> i would probably need paper and an afternoon
02:57:32 <uorygl> http://pastebin.ca/1743607
02:58:16 <oklopol> wait
02:58:25 <oklopol> why is there a row of e on the bottom?
02:58:36 <uorygl> Because the bottom matches with the edge of the half-plane.
02:58:41 <oklopol> i mean the problem is trivial if you have seed tile :P
02:58:42 <oklopol> *s
02:59:15 <oklopol> i assumed you just require it to fill half the plane sensibly, and the rest can fail
02:59:59 <oklopol> but i'll read it still, maybe
03:01:23 <uorygl> Am I allowed to congratulate myself on my insight even if the problem is trivial?
03:02:33 <oklopol> certainly, especially as i consider it trivial only because i know how a turing machine is embedded given a seed tile, and i don't even see how to do it given a seed *row* :)
03:02:48 <uorygl> Wonderful!
03:04:12 <oklopol> okay i think they are aperiodic, but can't really see why
03:04:41 <oklopol> i mean i can't find a counter-example, what does it do?
03:04:47 <uorygl> You know how Sturmian words are aperiodic and can be collapsed?
03:05:36 <oklopol> very vaguely
03:05:43 <oklopol> are they err
03:06:03 <uorygl> Take the infinite Fibonacci word: ABBABABBABBAB...
03:06:05 <oklopol> err i'll just google, i'm thing of lind... something
03:06:27 <uorygl> The letter A only occurs in the string AB. Replace AB with A, and you get ABAABABA...
03:06:35 <uorygl> Then the letter B only occurs in the string AB, and so on.
03:06:49 <uorygl> Therefore, this is a Sturmian word.
03:07:17 <oklopol> what's an infinite fibonacci word?
03:07:46 <uorygl> It's a thing that you get by repeatedly applying the replacement {A -> B, B -> AB}, or an equivalent one.
03:07:58 <oklopol> right
03:09:52 <uorygl> My tiling, going from the bottom up, repeatedly applies the replacement {AB -> B, B -> A}, thereby forcing the bottom row to be an infinite Fibonacci word.
03:10:49 <uorygl> Though it uses the color O to represent nulls, which it ignores from then on.
03:11:11 <oklopol> ah
03:13:44 <oklopol> i'm quite convinced that works
03:13:47 <uorygl> It's easy enough to make the tiles allow any Sturmian word, except I don't know how to force alpha to be irrational.
03:14:43 <uorygl> The resulting set of tiles will contain 22 instead of 7.
03:15:43 <uorygl> Now to ponder how to tile the entire plane.
03:17:49 <oklopol> okay, a turing machine can be pretty easily embedded given a seed row
03:17:56 <uorygl> Lessee. These tiles cannot tile the entire plane as long as there is are at least two tiles, horizontally separated, each containing an A or B; each one would generate more of itself below itself until they got crowded out.
03:18:47 <oklopol> those tiles certainly can fill the whole plane
03:18:55 <oklopol> in fact just one of them can
03:20:14 <uorygl> Hence the "as long as . . ." part.
03:21:20 <oklopol> maybe i didn't actually read what you said, sorta half-asleep
03:21:43 <oklopol> just looking for errors in what you say i guess, easy way out
04:19:38 -!- coppro has quit (Read error: 60 (Operation timed out)).
05:08:11 -!- oklofok has joined.
05:13:30 -!- oklopol has quit (Read error: 110 (Connection timed out)).
05:16:24 -!- Pthing has quit (Remote closed the connection).
05:30:46 -!- soupdragon has joined.
05:39:40 -!- jpc1 has quit ("I will do freaking anything for a new router.").
05:40:15 -!- jpc has joined.
06:07:22 -!- jpc has quit (Read error: 110 (Connection timed out)).
06:09:31 -!- zzo38 has joined.
06:10:40 <zzo38> I made a beer program in Icoruma (a markup language for RPG rules). Why? is, just because I can, that's why. http://pbox.ca/11dhp
06:12:21 <zzo38> To write a brainfuck interpreter, would be more difficult, because Icoruma lacks two things, input facilities and infinite loops (although you could still do infinite self-recursion)
06:39:16 -!- jpc has joined.
06:40:50 <zzo38> +
06:44:03 -!- lifthrasiir has quit (Read error: 104 (Connection reset by peer)).
06:44:08 -!- lifthrasiir has joined.
06:50:29 -!- jpc has quit (Read error: 54 (Connection reset by peer)).
06:50:29 -!- jpc has joined.
06:53:52 <soupdragon> hey zzo I didn't get around to trying to compile your forth yet :(
06:55:50 <zzo38> OK
06:57:23 -!- zzo38 has quit ("I am still in the process of writing the adventure standard library but now I have to sleep OK thanks bye").
07:06:41 -!- coppro has joined.
07:14:23 -!- whtspc has joined.
07:16:06 -!- whtspc has left (?).
07:45:03 -!- coppro has quit (Remote closed the connection).
07:45:50 -!- coppro has joined.
07:57:18 -!- Sgeo has quit ("Leaving").
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:12:06 -!- pikhq_ has joined.
08:26:36 -!- pikhq has quit (Read error: 110 (Connection timed out)).
08:30:55 -!- coppro has quit ("I am leaving. You are about to explode.").
09:41:24 -!- lament has joined.
09:54:35 -!- lament has quit.
10:06:30 -!- jpc has quit (Read error: 60 (Operation timed out)).
10:16:34 -!- oerjan has joined.
10:33:17 -!- Slereah_ has joined.
10:49:07 -!- Slereah has quit (Read error: 110 (Connection timed out)).
11:07:51 -!- oerjan has quit ("leaving").
11:34:01 -!- lifthrasiir has quit (Read error: 104 (Connection reset by peer)).
11:40:25 -!- rodgort has quit (Client Quit).
11:40:35 -!- rodgort has joined.
11:45:48 -!- kar8nga has joined.
11:48:41 -!- MizardX has joined.
11:50:12 -!- FireFly has joined.
12:35:20 -!- Sgeo has joined.
12:42:34 <soupdragon> okay I think I figured out an algorithm
12:50:54 <soupdragon> where is my reward?
12:51:21 <AnMaster> soupdragon, algo for what?
12:51:28 <soupdragon> parsing
12:51:41 <AnMaster> soupdragon, parsing what language?
12:52:02 <soupdragon> I figure if you just parse every length 1 subseqence, then every length 2 subseqence, ... up to the lenght of your input
12:52:06 <soupdragon> that should work fine..
12:52:31 <AnMaster> soupdragon, parsing what language? C? English? infix math notation? Haskell?
12:52:48 <FireFly> soupdragon, link to your IRP programmer projecteuler account?
12:52:58 <soupdragon> http://projecteuler.net/index.php?section=profile&profile=InternetRelayProgrammer
12:53:04 <FireFly> Ah
12:53:11 <soupdragon> :D
12:53:15 <soupdragon> 3 done!
12:53:23 <FireFly> Btw, congrats on beating #2
12:53:25 <FireFly> Yeah
12:53:42 <AnMaster> <soupdragon> http://projecteuler.net/index.php?section=profile&profile=InternetRelayProgrammer <-- redirects to front page?
12:53:49 <FireFly> not here
12:54:01 <soupdragon> AnMaster, im not parsing a specific language but a class of languages
12:54:26 <soupdragon> how it work is every word is given a category, and a parse is such that the categories all fit together properly
12:54:33 <AnMaster> soupdragon, what class?
12:54:42 <AnMaster> which*
12:55:56 <soupdragon> my idea for the algorithm is that you take as input, all the pases of the subseqences
12:56:09 <soupdragon> then making a parse for the full thing just means connecting those up
12:56:26 <AnMaster> soupdragon, *which class*
12:58:01 <soupdragon> it is used for english language btw
12:58:24 <soupdragon> that's an example: Frank < ((gave > (a > flower)) > (to > Mary))
12:58:53 <soupdragon> that's a parse of Frank gave a flower to Mary, and the semantics are GIVE(FLOWER,MARY,FRANK)
13:06:56 -!- lifthrasiir has joined.
13:09:30 <oklofok> oh lol, i thought "congrats on beating #2" meant soupdragon was now #2 on the overall player ranking.
13:11:36 <soupdragon> haha I wish
13:20:09 <oklofok> i never got very far, all the problems started looking the same after, well, whatever amount i did
13:20:24 <oklofok> (also there was the fact they were hard, but let's not mention that.)
13:47:36 <FireFly> ;P
13:54:33 -!- ehird has joined.
13:55:13 -!- BeholdMyGlory has joined.
13:57:07 <Deewiant> AnMaster: You have to be logged in to be able to view the profile
14:01:00 <Sgeo> ehird, if you're somehow reading logs of #xkcd, don't read what I said. I sort of hinted at a somewhat important FS spoiler
14:01:09 <ehird> Quick, name an editor: Alter or Amend
14:01:09 <ehird> If you're the lowercase type, you could pick from one of these: alter or amend
14:01:20 <ehird> Sgeo: I am, in fact, stalking you, so thanks for the info?
14:01:41 -!- ais523 has joined.
14:03:24 <AnMaster> Deewiant, ah
14:03:48 <oklofok> ehird: amend is very fuzzy and touchable.
14:04:00 <ehird> Totally.
14:04:32 <oklofok> alter sounds like it wants to change the world with its old ideas
14:05:08 <AnMaster> oklofok, alter's old ideas, or the old ideas of the world?
14:05:26 <oklofok> alter's
14:05:29 <AnMaster> ah
14:06:00 <AnMaster> ehird, what sort of editor would it be? Didn't you say you wanted to write a text editor recently?
14:06:29 <ehird> Yes, and I decided I would and expanded a bit on my ULTIMATE VISION yesterday.
14:06:37 <AnMaster> oh?
14:06:58 <ehird> Driven by my frustration at how hard it is to do multiple major modes in Emacs, while trying to make a Frink Server Pages mode.
14:07:14 <AnMaster> ah
14:07:24 <ehird> tl;dr blurb: Buffers are abstract and possibly composable; modes are atomic, not regexp hacks operating on a buffer, and composable;
14:07:33 <ehird> fully extendable like emacs;
14:07:39 <ehird> less RSI than emacs;
14:07:50 <AnMaster> ehird, sounds nice. What language would it use instead of elisp?
14:07:55 <ehird> and simultaneously command/keyboard based while still being comfortably point-and-clickable while appropriate
14:07:58 <ehird> the end
14:08:50 <AnMaster> very nice.
14:08:55 <AnMaster> hm
14:08:55 <oklofok> we gonna see some changes around here
14:09:04 <ehird> AnMaster: Undecided. I'm probably going to use Tk for the GUI toolkit (don't worry, it doesn't have to be ugly! See http://tktable.sourceforge.net/tile/screenshots/unix.html; default, revitalized and clam are nice.), so I might use Tcl, but probably not since Tcl doesn't do lambdas well and stuff.
14:09:05 -!- Sgeo_ has joined.
14:09:08 <ehird> I might use Scheme.
14:09:15 <ehird> So, undecided, basically.
14:09:47 <AnMaster> hm
14:09:51 <AnMaster> ehird, alter > amend
14:09:59 <AnMaster> bbl
14:10:09 <ehird> So 1:1.
14:14:43 <AnMaster> back
14:15:13 <AnMaster> well, amend sounds like it can not completely restructure things. Just amend, like amendments to the US constitution
14:15:26 <AnMaster> alter sounds much more powerful and capable
14:16:12 <ais523> what's this debate about?
14:16:20 <AnMaster> to radically restructure things, if that is required. As well as just making small alterations should that be your goal
14:16:26 <AnMaster> ais523, naming of ehird's editor
14:16:37 <AnMaster> <ehird> Quick, name an editor: Alter or Amend
14:16:37 <AnMaster> <ehird> If you're the lowercase type, you could pick from one of these: alter or amend
14:16:37 <AnMaster> * ais523 (n=ais523@unaffiliated/ais523) has joined #esoteric
14:16:40 <ais523> pick whatever backronyms better
14:16:48 <ehird> I don't do backronyms.
14:16:58 <ais523> well, someone else will if it becomes popular
14:17:05 <ais523> and you want the backronym to be a good one rather than a terrible one
14:17:27 <ais523> personally I'd go for "alter" because it sounds more like "editor", and I think name-feel is important
14:17:28 <AnMaster> ais523, well that is easy, alter stands for alter
14:17:44 <ehird> People backronymmed "vi"?
14:17:53 <ehird> People backronymmed "Notepad"?
14:18:07 <ehird> I'm pretty sure Emacs is a unique recipient, and it was an acronym to start with.
14:18:22 <ehird> Also, it's technically not just an editor, as I'm fairly sure it would make a good mail interface too. (BUT NO TETRIS!)
14:18:48 <ais523> if it's not powerful enough to implement tetris, it fails as an editor
14:18:58 <ais523> otoh, feel free to not include tetris as part of the standard distribution
14:19:00 <AnMaster> ehird, notepad = note or text editor plus a diagram. Oh sorry, did it have to make sense too?
14:19:00 <ehird> It's certainly powerful enough.
14:19:07 <ehird> I'll just kill you if you do it.
14:19:24 <AnMaster> ehird, isn't vim = Vi IMproved?
14:19:28 <AnMaster> or something like that
14:19:51 <ais523> maybe it's called VI because it's the world's sixth best editor
14:20:04 <oklofok> :D
14:20:27 <ehird> NOTEPAD: Not Only a Text Editor: Putrid Alchemic Death!
14:20:46 <AnMaster> ais523, that high ranking? I doubt it. lets see... better ones: emacs, nano, joe, pico, kate, gedit
14:20:53 <AnMaster> so it would be the seventh at most
14:21:13 <ehird> Come on, even I won't argue that nano is better than vi.
14:21:23 <ehird> Only a zealot or an idiot who really likes nano would do that.
14:21:26 <ais523> I don't think I can either, I was trying to come up with a plausible argument and failed
14:21:29 <ehird> I presume you're not the latter.
14:21:33 <ais523> the best I can manage is "nano is better for beginners"
14:21:45 <ehird> ais523: AnMaster's argument is undoubtedly "vi is the worst thing EVARRRRRRRRRRRR and I hate it"
14:21:45 <ais523> which I don't consider to be an important property of an editor
14:22:06 <ehird> And gedit? No... not really.
14:22:23 <AnMaster> ehird, well, vi probably isn't. worse. But personally I found vi more confusing than nano
14:22:24 <ais523> gedit's "good enough", I use it sometimes, but I don't think it's better than vi
14:22:26 <ehird> Kate, well, I disagree, but we're getting into actual personal opinion here.
14:22:37 <ais523> also, kate > gedit, I really should install kate on here
14:22:45 <AnMaster> bbl
14:22:46 <ehird> Joe, joe isn't bad. So sure, if you have idiosyncratic tastes.
14:22:51 <oklofok> "Good Enough eDIT"
14:22:54 <soupdragon> I want cake
14:22:57 * ehird scares AnMaster: Tuomov uses joe, you know
14:22:58 <oklofok> who doesn't
14:23:10 * ais523 sudo aptitude install kate
14:23:10 <ehird> oh, and he listed pico as well as nano
14:23:14 <ehird> how disingenuous
14:23:17 <ais523> I noticed
14:23:21 <Sgeo_> I was working on a Python project, and was asked what editor I use. "Kate". "You get a girl to type in your programs for you? Lucky!"
14:23:33 <ehird> in conclusion, the defensible subset of his list is {emacs, joe, kate}
14:23:45 <oklofok> yotto
14:24:00 <ehird> Sgeo_: was that a "joke" and if so was it yours or did this actually happen
14:24:24 <Sgeo_> It was a joke, it actually happened, although perhaps phrased differently, I don't remember.
14:24:43 <Sgeo_> It was 2005 or 2006, so
14:24:49 <oklofok> a few times i've gotten a girl to read my books to me.
14:24:58 <oklofok> it's great except it doesn't work
14:25:07 <soupdragon> yeah I was gonna say, how does that work
14:25:18 <oklofok> because i need to constantly explain notation, and need to take pauses to think about proofs
14:25:24 <oklofok> works great for fiction tho
14:25:37 <ehird> what we need is 2D natural language
14:25:37 <soupdragon> yeah
14:25:38 <oklofok> mind doen't drift when the stream is constant
14:27:17 <oklofok> also with math and cs there's the slight problem the girl might get bored if she doesn't understand a single word
14:27:45 <soupdragon> yeah girls don't understand things like math and computing
14:27:53 <ehird> or LIFIE
14:27:55 <ehird> *LIFE
14:27:59 <ehird> OR BREATHING
14:28:01 <ais523> soupdragon: some do
14:28:09 <ehird> i think soupdragon was being sarcastic
14:28:09 <ehird> maybe.
14:28:27 * Sgeo_ wishes there were more girls in his programming classes
14:28:44 <oklofok> oh shit, i was supposed to meet this dude today and teach him game theory
14:28:53 <ehird> hmm... I can't develop my editor in OS X because Tk is yuck on OS X
14:28:54 <soupdragon> prisoners dilemma
14:29:00 <oklofok> (16:30 now)
14:29:04 <ehird> also, because the tcl/tk os x comes with is old
14:29:08 <ehird> and i'm too lazy to install a new one
14:29:10 <soupdragon> will he show up?
14:29:19 <ehird> doing it in a vm would be a bit of a bitch though
14:29:20 <oklofok> i don't really let people here
14:29:28 <ehird> so i have to install a non-os x OS on a second partition
14:29:38 <oklofok> if he's still up for it, maybe uni, oh wait, it's saturday
14:29:45 <Sgeo_> ehird, you really want to create an editor that will be ugly on OS X?
14:29:46 <ais523> ooh, I've just had a ridiculous thought
14:29:49 <ais523> an inside-out VM
14:29:57 <ais523> as in, you open a second OS inside your first one
14:30:02 <oklofok> xD
14:30:10 <ais523> then the VM sort of 'flips' and leaves you with your original OS running inside the new one
14:30:11 <ehird> ais523: that's the same thing as a vm :p
14:30:14 <oklofok> Ok, around 2 o'clock then. Where do we meet?
14:30:15 <ehird> ah.
14:30:20 <oklofok> seems we also set a time
14:30:22 <ehird> Sgeo_: Well, _anything_ that isn't Cocoa is ugly on OS X.
14:30:27 <oklofok> one fucking thing to do all week
14:30:27 <ehird> Or Carbon I guess if used carefully.
14:30:33 <ehird> I won't be using OS X soon anyway.
14:31:23 <oklofok> soupdragon: even if the girl was a mathematician, it's possible she wouldn't understand a single word, starting from a random chapter, with a random topic
14:31:43 <oklofok> although i'm not arguing girls usually have different interests
14:32:22 <SimonRC> ais523: don't VMs usually have a different sort of hardware on the inside to the outside?:
14:32:23 <Sgeo_> Any ideas on what I should start reading online so conversation in here stops going over my head?
14:32:36 <ais523> SimonRC: yes, but I don't think that's a fundamental limitation
14:32:39 <ehird> what subset of conversation
14:32:42 <ais523> just it's done that way because that way's easier
14:32:43 <ehird> we talk about everything
14:32:49 <SimonRC> ais523: ok
14:32:51 -!- Sgeo has quit (Read error: 110 (Connection timed out)).
14:32:55 <oklofok> Sgeo_: the interesting stuff or the OS stuff
14:32:59 <AnMaster> * ehird scares AnMaster: Tuomov uses joe, you know <-- name sounds familiar, can't place it.
14:33:04 <Sgeo_> lol
14:33:05 <ehird> oklofok: we don't do much os stuff anymore :|
14:33:07 <ehird> AnMaster: Ion.
14:33:20 <ehird> ais523: the cool thing about your inside-out vm would clearly be the switching animation
14:33:23 <AnMaster> <ehird> oh, and he listed pico as well as nano <-- if you didn't realise it, it was half a joke.
14:33:27 <AnMaster> ehird, ouch
14:33:34 <oklofok> ehird: i label pretty much anything as OS stuff that contains individual program names :D
14:33:41 <ehird> I'm imagining the VM inside growing to be as big as the screen, and the other OS shifting into the window area
14:33:49 <ehird> while the window chrome fades appropriately
14:33:50 <ehird> xD
14:33:53 <ehird> oklofok: lulz
14:33:59 <ais523> ehird: OK, that /would/ be a great animation
14:34:01 <AnMaster> ehird, anyway, I would place emacs, kate, joe and nano above vi, but vim above nano
14:34:03 <AnMaster> so it would be:
14:34:10 <AnMaster> emacs, kate, joe, vim, nano, vi
14:34:37 <AnMaster> ehird, I find it hard to imagine even you could place nano below vi
14:34:37 <oklofok> ehird: i should probably call it something else, maybe "conversations containing individual program names".
14:34:42 <SimonRC> I wonder if some sort of hypervisor would be needed
14:34:49 <ehird> eh, tuomov isn't all bad. Yes, ion's license is really stupid, and he's a total asshole... but I read his blog a bit a while back, and he has a lot of good ideas
14:35:01 * oklofok is afraid he got a random uni acquaintance mad!
14:35:20 <AnMaster> ehird, possibly also gedit should be above vi, it isn't too bad.
14:35:21 <ais523> SimonRC: I assumed you'd have one anyway, because virtualisation's really slow without it, and I can't imagine how the operation of turning a VM inside-out would work otherwise
14:35:30 <AnMaster> ais523, would you agree with that list?
14:35:40 <Sgeo_> Well, off to watch a movie on YouTube
14:35:42 <ais523> AnMaster: I've never used joe
14:35:43 <oklofok> also soupdragon: not far from the truth, prisoner's dilemma was in the last exam
14:35:52 <soupdragon> :D
14:35:57 <ais523> and I don't think kate > vim is uncontroversial (and emacs v vim is definitely controversial)
14:36:00 <oklofok> sorry about random buffer emptying.
14:36:00 <AnMaster> ais523, only used it a bit, not much. The editors I actually use often are emacs, kate and nano
14:36:35 <Gregor> Nothing is better than vim.
14:36:40 <Gregor> vim rules all.
14:36:42 <Gregor> Muahahahaha
14:36:53 * Sgeo_ has become addicted to using Chrome's Task manager to kill everything and close all tabs except one
14:36:54 <ehird> kate + joe > vim is highly controversial
14:37:02 <ehird> very few people would agree with that
14:37:19 <ehird> nano > vi too, although saying vi instead of vim means more people would agree
14:37:22 <ehird> but still controversial
14:37:42 <ais523> nano and vi have similar capabilities, I think
14:37:54 <AnMaster> ehird, well, depends on what aspect you are rating. Customisability: then vim is probably directly after emacs. Ease of use: then my rating probably isn't too far off
14:37:55 <ais523> vi's harder to learn but a bit faster to use once you have
14:38:02 <ehird> ais523: nano doesn't have vi's composable commands
14:38:04 <ehird> nor :!
14:38:09 <ehird> afaik
14:38:13 <SimonRC> or ex mode
14:38:14 <ehird> so it's not even remotely as powerful as vi
14:38:17 <AnMaster> brb
14:38:21 <ais523> ehird: I said capable, not powerful
14:38:23 <Sgeo_> How is it that I always get interested in stuff for stupid reasons?
14:38:26 <ais523> I agree that vi's a lot more powerful
14:38:26 <ehird> LOL
14:38:34 <ehird> AnMaster thinks emacs is easier to use than kate or joe or nano?
14:38:35 <Sgeo_> My reason for learning Python in the first place is rather idiotic
14:38:41 <oklofok> what would it be
14:38:49 <ehird> on crack on crack on crack, crack crack crack crack crack crack, onnnnnn crack
14:38:54 <ehird> just call it the AnMaster song
14:39:01 <Sgeo_> The fact that the interpreter is free
14:39:13 <oklofok> us who are afraid of programs can have a side conversation about liking stuff
14:39:24 <ais523> ehird: one fun test is to find someone who doesn't know how to use editors at all, and see how long it takes them to exit editors they haven't seen before
14:39:26 <SimonRC> that's not a reason
14:39:28 <oklofok> oh well aren't they for most languages?
14:39:37 <SimonRC> : aye
14:39:46 <soupdragon> what less-mainsteam spoken/human languages do you do?
14:39:54 <Sgeo_> oklofok, I didn't know that
14:40:01 <ais523> you can get emacs, vi[m], and nano any way round on that test, depending on the details
14:40:01 <soupdragon> everyone
14:40:12 <Sgeo_> I seriously thought I had to pay some company or other to use C or C++
14:40:34 <oklofok> soupdragon: finnish
14:40:45 <oklofok> it's a dead language on the north coast of the world
14:40:46 <ais523> Sgeo_: that used to be the case, maybe 10 or so years ago
14:40:49 <ehird> a finn speaks finnish? gosh amazing
14:40:49 <ais523> not any more though
14:40:51 <soupdragon> ok
14:40:54 <ehird> ais523: err... gcc?
14:40:58 <oklofok> *used
14:41:00 <ehird> late 1980s
14:41:03 <Sgeo_> I may have been reading about C and C++ 10 years or more ago
14:41:04 <ais523> ehird: was it available for Windows 10 years ago?
14:41:11 <Sgeo_> In books
14:41:12 <ehird> hmm
14:41:16 <ehird> well djgpp when was that
14:41:20 <Sgeo_> Hm, I also read about Perl, so
14:41:23 <ais523> hmm, good point
14:41:27 <ehird> 1989
14:41:36 <ehird> maybe first usable 1990-1991
14:41:44 <ehird> so more like 20 years
14:41:45 <Sgeo_> Also, I remember talking to some waitress being so excited that the Java SDK was free
14:42:02 <ehird> Waitresses excited about the Java SDK being free.
14:42:02 <ehird> O-kay.
14:42:06 <Sgeo_> ehird, no, I was
14:42:11 <oklofok> :P
14:42:13 <ehird> Oh.
14:42:18 <ehird> You're crazy. :P
14:42:22 <oklofok> that's just as weird
14:42:23 <soupdragon> hi
14:42:28 <ehird> Perhaps weirder.
14:42:30 <oklofok> yeah
14:42:33 <oklofok> hi soupdragon
14:42:37 <ehird> I can almost imagine a waitress-by-day, master-hax0r-by-night.
14:42:43 <ehird> Sgeo_: how old were you
14:42:45 <ehird> like 12?
14:42:58 <oklofok> when ehird was 12, he was already programming for nasa
14:43:04 <Sgeo_> ehird, I don't remember. Probably around that age, or younger?
14:43:05 <ais523> seems it was 1996 before DJGPP could completely self-bootstrap
14:43:09 <ehird> oklofok: DON'T TELL THEM
14:43:13 <ehird> ais523: self-bootstrapping isn't important
14:43:17 <oklofok> oh was that confidential
14:43:19 <ais523> ehird: I know
14:43:23 <ehird> oklofok: ULTRA CONFIDENTIAL
14:43:23 <ais523> I'm just amused at the timelag
14:43:36 <oklofok> EVERYONE TYPE /CLEAR PLS
14:43:37 <soupdragon> hmmmmm
14:43:40 <SimonRC> this conversation isn't im[proving my mood
14:43:50 <ehird> "I thought of this episode yesterday while playing around with my laptop’s webcam and a Python shell. Finally I wrote a little fun script that does almost the same: Just register it as a hg hook and it takes a picture of you exactly at the unique moment when merging fails and it sends it directly and without any further questions to Twitpic and Twitter:"
14:43:56 <ehird> http://andialbrecht.wordpress.com/2009/05/09/when-merging-fails/
14:44:00 <soupdragon> hi SimonRC
14:44:14 <ehird> SimonRC: what, are you upset that I programmed for nasa*?
14:44:15 <ehird> *lie
14:44:22 <Sgeo_> ehird, re[ae]ddit
14:44:23 <ais523> ehird: that seems like a rather weird thing to do
14:44:38 <SimonRC> soupdragon: you took 10 mis to spot me?
14:44:39 <ais523> I mean, the merge-fail thing
14:44:42 <soupdragon> what is the term for non-computer programming/informal language?
14:44:47 <ehird> ais523: click the link for the reason
14:44:51 <ehird> soupdragon: natural language
14:44:57 <soupdragon> but they are not all natural
14:45:02 <soupdragon> like the ones people make up for films
14:45:13 <ehird> constructed language
14:45:13 <ehird> /conlang
14:45:17 <SimonRC> there is no good name
14:45:19 <Sgeo_> Or Loxian?
14:45:28 <Sgeo_> <3 Enya
14:45:30 <SimonRC> but what is the union of conangs and natlangs?
14:45:31 <soupdragon> hmmmmm
14:45:51 <ais523> ehird: I still don't get it even after reading the page
14:45:57 <soupdragon> hey im going out see you
14:46:02 <ais523> the page didn't really say anything useful other than the quote
14:46:07 -!- soupdragon has quit ("Leaving").
14:46:20 <ehird> ais523: merge failing = terrible emotional anguish
14:46:24 <ehird> terrible emotional anguish = funny
14:46:30 <SimonRC> ehird: I'm just vaguely annoyed at people being more capable than I was at their age. It happens all the time on this channel
14:46:32 <ais523> no, merge failing = merge failing
14:46:35 <ehird> schadenfreude = funny
14:46:39 <ais523> I don't see why it's particularly anguishing
14:46:40 <ehird> ais523: for you perhaps
14:46:43 * oklofok read "i'm going out to see you"
14:46:45 <ehird> because you have to merge manually
14:46:53 <ehird> SimonRC: just get a time machine
14:47:09 <ais523> ehird: but that only happens if either there's a conflict, or the merge is trivial but something the VCS didn't think of
14:47:11 <Sgeo_> SimonRC, same here
14:47:21 <oklofok> SimonRC: when i was 12, i was just as stupid as now
14:47:21 <Sgeo_> Or are more capable than I currently am now
14:47:31 <ais523> in the first case you need to talk with the person who made the other version, and sort it out with them, the second case is easy
14:47:40 <ais523> incidentally, one of my projects that hasn't got off the ground is my own VCS
14:47:40 <oklofok> plus i didn't know any math
14:47:47 <ehird> i remember when i was... 10? i was jealous of an 11 year old who could code c because i couldn't :p
14:47:49 <Sgeo_> Although I take some comfort in the fact that when I try to tell people that, they don't believe me
14:47:52 <oklofok> not knowing any math makes you worthless
14:47:58 <ehird> ...as if c was some immensely difficult thing or whatever
14:48:02 <ais523> ehird: could you code C at age 11?
14:48:20 <ehird> ais523: i don't know when i learned c. maybe 11 yeah
14:48:22 <ehird> or very early 12
14:48:40 <oklofok> i learned c++ at 10 from a book, first tried coding in it when i was like 13 or 14
14:48:48 <ehird> i don't recall learning it, I wrote hello world and 99 bottles of beer, wrote some stupid unworking interpreters some time later, and then suddenly the next time I grokked it completely
14:48:49 <oklofok> or maybe it was 11
14:48:54 <ehird> and...now I'm pretty good at c
14:49:01 <oklofok> all i know is it took months
14:49:18 <oklofok> and i think i didn't really understand most of the last 200 or so pages
14:49:27 <oklofok> just had to read all of it
14:49:42 <ais523> heh, I learnt Prolog something like 7 years before I got my hands on a Prolog interp
14:49:53 <oklofok> how did it go?
14:50:02 <Sgeo_> If you consider reading from a book enough to learn a language, then I learned C++, Perl, COBOL, and probably some others
14:50:05 <ais523> pretty well, actually
14:50:11 <ais523> I sort-of understood how it worked, just couldn't try anything out
14:50:13 <Sgeo_> I've never actually written a line of Perl or COBOL in my life
14:50:14 <oklofok> i was pretty much fluent right away, in the c subset that is
14:50:16 <ehird> hmm
14:50:19 <ais523> and when I installed gprolog much later, I could write in it
14:50:28 <Sgeo_> IDENTIFICATION DIVISION.
14:50:32 <Sgeo_> There. I wrote a line of COBOL
14:50:36 <ais523> luckily Prolog syntax is trivial, otherwise it would be easy to mess it up
14:50:47 * ehird ponders whether to install windows or linux on the separate partition; Windows plays nicer with Frink, I believe, and is easier to set up to be bearable for me, but Linux lets me use tk more "natively"
14:50:53 <ais523> Sgeo_: also, half the stuff you write is probably valid Perl by chance, assuming appropriate imports
14:51:05 <ehird> prolly linux, debian or something so i don't have to get packages myself
14:51:06 <Sgeo_> lol
14:51:20 <ehird> all of the stuff
14:51:26 <ehird> if preceded by a single use statement
14:51:40 <ais523> ehird: I'm assuming no source filters, they make it too easy
14:51:46 <Sgeo_> Ok, this is the second time in two days I've experienced deja vu
14:51:50 <ehird> then you're wrong
14:51:59 <ehird> I get deja vu all the time
14:52:11 <oklofok> Sgeo_: it's a sign of alzheimer's
14:52:12 <ais523> ehird: was that "then you're wrong" directed at me?
14:52:16 <ehird> ais523: yes :P
14:52:27 <ehird> In fact, often I'm sure that I've had the same deja vu more than once before.
14:52:34 <ais523> you can make anything a valid Perl program with "use ACME::JAPH;" at the top
14:52:35 <ehird> I think this is because the deja vu implants such fake memories in my brain.
14:52:42 <ehird> rather than me actually having recurring deja vu
14:52:45 <ais523> but I wasn't counting that
14:52:51 <ehird> Same when I think I've had a dream before
14:52:55 <ehird> (or had a prequel to a dream I just had before)
14:52:59 <Sgeo_> This time, the statement about deja vu wasn't part of the deja vu
14:53:05 <Sgeo_> Often, it is
14:53:43 <ais523> ehird: my dreams seem to be more consistent with each other than they are with real life
14:55:18 <ehird> my dreams are great.
14:55:33 <ehird> they're like really well made movies
14:55:57 <augur> ehird
14:55:58 <augur> opinion?
14:56:03 <ehird> i was sad waking up from a dream recently even though I was tense as hell in it because the story was so good :)
14:56:34 <SimonRC> Admittedly at the time I was some of yours ages I did not have aaccess to the technology you have. My parents have never been great upgrades of computing hardware.
14:56:34 <augur> also, anyone have a CS4 serial number? :|
14:56:47 <ehird> http://torrent-site.getityourself/
14:57:10 <ehird> SimonRC: as i said. time machine
14:57:31 <SimonRC> in a different way
14:58:02 <ehird> wat
14:58:13 <augur> ehird :P
14:59:21 <AnMaster> <ehird> AnMaster thinks emacs is easier to use than kate or joe or nano? <-- "isn't too far off". kate and nano I would place above emacs at least in ease of use. Maybe joe too.
14:59:30 <AnMaster> bbl again
14:59:35 <ehird> isn't too far off, that was like a half of your list
15:01:46 <Sgeo_> Time for movie watching
15:02:26 <augur> ehird, whats your opinion on groups?
15:02:46 <ehird> /shrugggggggggggg
15:02:57 <SimonRC> many are dead, but some are still vibrant communities
15:03:01 <augur> well you seemed pretty opinionated the other day :|
15:03:15 -!- pikhq_ has changed nick to pikhq.
15:03:21 <SimonRC> did I successfully pick the wrong meaning of "groups"?
15:03:39 <augur> yes
15:03:46 <pikhq> AnMaster: Depends on your notions of "usability".
15:04:00 <pikhq> Usable by an expert on the program, or usable by someone who knows nothing about it?
15:04:06 <pikhq> It makes a difference.
15:04:14 -!- Sgeo_ has quit ("Leaving").
15:04:20 <ehird> he said "easy to use"
15:04:27 <ehird> which is definitely the latter
15:04:47 <pikhq> Oh, okay then.
15:05:03 <pikhq> Yeah, nano, kate, and joe are all much easier to use.
15:05:06 <oklofok> there's a group theory course in both the psychology and the math dep
15:05:20 <pikhq> Since they don't assume you're putting in time to learn them.
15:05:32 <AnMaster> pikhq, true
15:06:26 <ehird> anyone know if there's a website that lets you set up like a little poll thing without bullshit or ads or whatever, i wanna make one for alter/amend :P
15:06:32 <AnMaster> oh forgot one that ranks above vi: ed
15:06:32 <AnMaster> ;P
15:07:01 <ais523> vi > ed in terms of ease of use, almost certainly
15:07:08 <ais523> because you can use it much like ed, just ignoring the visual stuff
15:07:33 <pikhq> Or you can use it visually, which is at least not a complete mindfuck for a new user.
15:07:59 <AnMaster> ais523, ed has much less clutter in the user interface to distract new users.
15:08:29 <SimonRC> ehird: ah, I have seen a polling website like that somewhere...
15:08:34 <ehird> I think I found a nice one
15:09:53 <ehird> hmm
15:10:02 <ehird> I wonder if lowercase vs title case would sway people's opinions
15:10:10 <ehird> alter
15:10:10 <ehird> amend
15:10:10 <ehird> ---
15:10:11 <ehird> Alter
15:10:11 <ehird> Amend
15:10:20 <ehird> most_pleasing(X) == most_pleasing(Y)?
15:11:20 <SimonRC> well the one I had seen is SurveyMonkey
15:11:43 <SimonRC> and what are these words for?
15:13:31 <ehird> The name of my editor.
15:14:31 <ehird> http://www.doodle.com/rhriqxe2rb226it2
15:14:42 <AnMaster> ehird, I prefer alter to Alter. But both are better than amend/Amend
15:14:44 <ehird> oklofok: ais523: pikhq: you are contractually obligated to vote
15:14:50 <ehird> AnMaster: you too
15:15:16 <AnMaster> ehird, at least it should be "alter" that you type in the terminal in any case.
15:15:23 <ais523> ehird: I disagree with your contractual obligations
15:15:35 <ais523> there are several reasons I don't have a binding contract on me to do that
15:15:40 <ehird> ais523: is it because you refuse to use web browsers or something
15:15:42 <ais523> and if I have a voidable contract on me to do that, I hereby void it
15:15:45 <AnMaster> and what ais523 said.
15:15:46 <ehird> or are you just nitpicking and will vote anyway :)
15:15:47 <ais523> ehird: no, legal reasons
15:15:50 <SimonRC> how about a word that isn't already used for something?
15:15:59 <ehird> SimonRC: I'll add an other option
15:16:33 <AnMaster> ehird, unable to vote. Page requires javascript
15:16:37 <ehird> http://www.doodle.com/rhriqxe2rb226it2
15:17:04 <SimonRC> hmm, I dunno which is easier to type
15:17:23 <ehird> both are pretty easy
15:18:17 <ehird> both are left-hand-heavy on QWERTY, but really, neither are problematic
15:18:25 <SimonRC> I avoided theone with COBOL connotations
15:18:46 <AnMaster> ehird, at least it doesn't seems to have registered my vote. Page didn't reload or anything
15:19:05 <AnMaster> ehird, however, put me down for "alter" in lower case
15:19:12 <SimonRC> why is upgrading xterm reducing its size by 205kB?
15:19:15 <ehird> I made a poll so I didn't have to tally the votes myself.
15:19:20 <ehird> Just enable JS for three seconds...
15:19:21 <SimonRC> that is somewhat add
15:19:23 <SimonRC> *odd
15:19:45 <ehird> COBOL connotations, what a problem :P
15:19:51 <ehird> wouldn't that be ALTER
15:19:59 <AnMaster> ehird, I'm not running X atm
15:20:06 <SimonRC> cobol isn't case-sensitive IIRC
15:20:24 <SimonRC> well use a text-mode browser that does javascript?
15:20:37 <ais523> ehird: OK, I voted
15:20:39 <ais523> in w3m
15:20:42 <ehird> SimonRC: AnMaster is just a malcontent, he'll come up with objection after objection most likely
15:20:48 <AnMaster> hm okay w3m might do it
15:20:49 <ais523> AnMaster: there's a link to a JS-free version, I used that
15:20:53 <SimonRC> * shrug
15:20:59 <ehird> there is?
15:21:14 <ais523> ehird: it's probably removed if you have JS available
15:21:22 <ais523> by the KS itself
15:21:24 <ais523> *JS
15:21:30 <ehird> thought so
15:21:39 <AnMaster> also voted with w3m
15:21:43 <AnMaster> not sure it worked
15:21:50 <ehird> anyway it beats all the other poll sites which are straight out of the 90s and filled with ads
15:22:06 <ehird> or would you have _preferred_ I used Angelfire Polls or something :-P
15:22:23 <ehird> AnMaster: it did not.
15:22:25 <ehird> click the non-js link.
15:22:46 <AnMaster> ehird, I did click the non-js one
15:22:58 <ehird> did you put a name in? maybe it's requiring that
15:23:29 <AnMaster> ehird, I did put a name in
15:23:37 <AnMaster> also now some of them are grayed out
15:23:39 <AnMaster> how strange
15:24:14 <AnMaster> I'm unable to select anything but "other" now
15:24:18 <ehird> yeah i think you're meant to be able to like... change your vote or something, this thing is really designed for multiple choice polls I think
15:24:18 <AnMaster> the other options are grayed out
15:24:21 <ehird> lemme see if Ii set the settings wrong
15:24:44 <ehird> Limit number of OKs per participant (row) to 1
15:24:44 <ehird> Limit number of OKs per option (column) Limit: 1
15:24:59 <ehird> oh, i see
15:25:13 <ehird> the latter one means "people can only select every option unless nobody else has"
15:25:15 <ehird> due to limit: 1
15:25:16 <ehird> fix'd
15:25:28 <ehird> you can even change your vote now and shizz if you like that kind of thing
15:25:58 * ehird makes a mental note: make poll site that isn't total bullshit
15:27:03 <ehird> and stop AnMaster from voting because he'll just reject the thisguyhasalreadyvotedsodon'tlethimvoteagain cookie :P
15:27:32 <AnMaster> ehird, I just did rm ~/.w3m/cookie afterwards
15:27:45 <ehird> this is why we can't have nice things.
15:28:44 <AnMaster> ehird, nice what?
15:29:28 <AnMaster> just things in general, or some specific things?
15:29:42 <oklofok> mostly those that cost too much
15:30:50 <AnMaster> oklofok, according to the old or the new classification system?
15:31:58 <AnMaster> bbl
15:32:42 <ehird> oklofok: you haven't voted :|
15:32:58 <oklofok> wait what vote i haven't been reading
15:33:01 <ehird> http://www.doodle.com/rhriqxe2rb226it2
15:33:43 <oklofok> WHY NOT TETRIS I LIKE TETRIS
15:33:52 * SimonRC goes for breakfast
15:33:55 * oklofok goes out to have a life
15:34:36 <ehird> oklofok: VOTE BASTARD
15:34:36 <ehird> :|
15:34:55 <SimonRC> "BASTARD" is not an option in this poll.
15:34:58 * SimonRC goes for breakfast
15:35:24 -!- lieuwe has joined.
15:35:29 <AnMaster> oh no, now SimonRC gone for breakfast twice without going back in between
15:35:31 <AnMaster> ;P
15:35:41 <AnMaster> so he must come back twice afterwards
15:35:47 <oklofok> err
15:35:49 <oklofok> i already voted
15:36:37 <ehird> no
15:36:38 <ehird> you didn't
15:36:41 <ehird> you have to click save
15:36:44 <lieuwe> hi, i was thinking about writing an implementation for a high level esolang, but none of the articles on the wiki are descripive enough...
15:36:46 <ehird> also put in a name if you didn't i guess
15:36:53 <ehird> lieuwe: define high level :)
15:36:57 <ehird> most esolangs are low level
15:37:28 <lieuwe> ehird: a language which understands the concepts of functions and expressions ;-p
15:37:35 <ehird> underload!
15:37:37 <ehird> ais523: plug underload.
15:37:55 <ais523> well, Underload's rather low-level
15:38:02 <ehird> it understands the concept of a function.
15:38:06 <ehird> i.e. it has functions
15:38:16 <ehird> and it has expressions. which are the functions.
15:38:18 <ais523> but Underload (and more so Underlambda) treat everything as functions from stacks of functions to stacks of functions
15:38:18 <Deewiant> Esolangs tend to be rather low-level
15:38:35 <ehird> ais523: *functions from stacks of functions from stacks of ...
15:38:45 <ais523> yes, it's infinitely recursive
15:38:53 <ais523> you define "function" = "function from stack of functions to stack of functions"
15:39:05 <ais523> and the recursion bottoms out eventually because some of the stacks are going to be empty
15:39:14 <ehird> type UL = Stack UL -> Stack UL
15:39:18 <ehird> IF ONLY THAT TYPED
15:39:23 <ehird> (it does with newtype around it)
15:40:16 <ais523> hmm, I'm vaguely interested to see an Underload implementation in pure Haskell now
15:40:22 <lieuwe> ehird: not quite what i need :-p might be time to create my own esolang...
15:40:25 <ehird> way ahead of you, writing it now
15:40:36 <ais523> although, it could be a little tricky because Underload is strict and Haskell is lazy
15:40:38 <ehird> lieuwe: sure, we welcome every esolang
15:40:40 <ehird> unless it's crap
15:40:47 -!- pikhq has quit (Read error: 54 (Connection reset by peer)).
15:40:51 <ehird> so statistically we have ~0.1% probability of welcoming an esolang
15:40:58 <ais523> heh
15:40:58 <lieuwe> ehird: :-P
15:41:08 <ais523> statistically, though, the vast majority of bad esolangs are trivial BF variants
15:41:19 <lieuwe> ais523: sad, but true
15:41:23 <ehird> ais523: i'm gonna implement underload without S first, because S just makes things uglier
15:41:32 <ais523> agreed
15:41:36 -!- pikhq has joined.
15:41:43 <ais523> you could implement Underlambda, S means something different there
15:41:53 <ehird> lolo
15:41:54 <ehird> *lol
15:42:03 <oklofok> i clicked save
15:42:04 <oklofok> oh name
15:42:06 <ehird> pikhq: http://www.doodle.com/rhriqxe2rb226it2 :|
15:42:07 <ais523> it means "output this function", but doesn't specify the format (the only restriction is that you have to be able to read the function back in again later)
15:42:40 <lieuwe> ehird: i was thinking about something with too much brackets(even worse than lisp one-liners...)
15:43:06 <ehird> lieuwe: just do "pure" (original mccarthy) lisp with s-expressions and no (quote x) shorthand as 'x
15:43:10 <ehird> :P
15:43:15 <augur> wee
15:43:17 <ehird> ais523: hmm... I've just realised that maybe implementing it in a Windows VM with WinHugs and an XEmacs without a Haskell mode is not the best idea
15:43:22 <ehird> oh well!
15:43:24 <ais523> Underload does have quite a lot of parens too
15:43:25 <augur> i have a primitive javascript prolog interpreter
15:43:26 <augur> :D
15:43:37 * ehird secretly opens Emacs in OS X instead
15:43:39 <ais523> ehird: get haskell-mode, then
15:43:48 <ehird> way too much work when I could just open the host emacs
15:44:01 <ehird> and get inferior haskell mode for free
15:44:17 <ehird> although winhugs is surprisingly nice
15:45:04 <ais523> beh, that's the #2 problem with Windows: it's such a pain to install anything
15:45:09 <ehird> it has a haskell module manager thingy, lets you browser typeclasses, their superclasses, members and instances, lets you browse defined names (functions or values) and their types, and search them...
15:45:21 <ais523> it's taken around 2 months so far to install the Xilinx development environment on this Windows computer, for instance
15:45:32 <ehird> ...and types plus their constructors and typeclass instances
15:45:36 <ehird> ais523: oh, it's not hard
15:45:42 <lieuwe> ehird: nah, not nearly good enough, i was thingking about using every possible type off bracket for different things ()<>{}[]\/ etc.
15:45:49 <ehird> installing xemacs was just clicking next a bunch of times; haskell-mode would just be putting stuff in C:\home\.xemacs
15:45:51 <ehird> lieuwe: heh go ahead
15:46:06 <ehird> lieuwe: most of us find that syntax is the least interesting avenue for esolangs, but there are some it works for
15:46:07 <ehird> e.g. smith
15:46:38 <ais523> hmm, smith is more concept than syntax
15:46:46 <lieuwe> ehird: hmm, ah, well, i'll just mess about with this for a while...
15:46:50 <ais523> INTERCAL plays with syntax quite a bit, although that's the least interesting part of the language
15:46:55 <ehird> it's a good start though
15:47:08 <ehird> making a non-syntax esolang is _hard_
15:47:32 <ais523> and I think Forte's aided by its syntax, although again the syntax isn't the point there
15:48:49 <ehird> ais523: lol, I didn't even realise how ugly S would be, I just thought it'd be adding IO or making it ([UL],String)
15:48:57 <ehird> having to have the string versions of the functions never even crossed my mind
15:49:13 <ais523> S is truly ugly, that's why Underlambda doesn't have Underload's S
15:50:06 <ehird> ulChar 'a' = (\(x:xs) -> (\ys -> x:ys):xs)
15:50:38 <ehird> ais523: and S slowed the development of the efficient underload compiler, due to the interpretation of ^ as "include text"
15:50:40 <ehird> or "eval"
15:50:48 <ais523> ehird: yes
15:50:59 <ais523> although, derlo is pretty fast, despite being an interp
15:51:00 <ehird> ulChar '^' = (\(x:xs) -> x xs)
15:51:00 <ehird> pretty
15:51:20 <ehird> would be fun if you could write that as (:) -> ( ) or something
15:51:39 <ais523> or maybe (:) -> ($)
15:51:42 <ais523> to avoid whitespace issues
15:51:56 <ais523> ;query lambdabot
15:52:12 <ehird> fail :P
15:52:24 <ais523> [15:51] <ais523> @pl (\(x:xs) -> x xs)
15:52:25 <ehird> ais523: or rather to avoid () being () issues
15:52:25 <ais523> [15:51] <lambdabot> ap head tail
15:52:30 <ehird> yes
15:52:39 <ais523> that's a rather pretty version of it
15:52:50 <ehird> ap is monadic iirc but for functions i believe it's
15:52:56 <ehird> ap f g x = (f x) (g x)
15:53:00 <ehird> i.e. branching of a sort
15:53:11 <ais523> more like the s combinator
15:53:12 <ehird> ap = apply, maybe
15:53:17 <ais523> in fact, that's exactly the s combinator, isn't it?
15:53:17 <ehird> not really
15:53:19 <ehird> no
15:53:21 <pikhq> ap = S.
15:53:23 <ehird> oh
15:53:24 <ehird> hmm
15:53:25 <ehird> right yes
15:53:26 <ehird> i'm dumb
15:53:33 <ais523> ```sxyz = ``xz`yz
15:53:52 <pikhq> Of course, that it *is* the S combinator on the functions is just coincidence. :P
15:54:26 <ehird> ugh, I can't do:
15:54:30 <ehird> ulChar '*' = \(x:y:xs) -> (x.y):xs
15:54:36 <ehird> because x and y are wrapped in a newtype
15:54:42 <ehird> haskell should allow recursive types :(
15:54:44 <ehird> who cares about type safety
15:56:43 <Deewiant> \(UL x:UL y:xs) -> (x.y) : xs
15:56:51 <ehird> yes, yes
15:56:55 <ehird> or newtype UL = UL { app :: [UL] -> [UL] }
15:57:16 -!- soupdragon has joined.
15:57:33 <Deewiant> Or use (.) from Control.Category and define an instance Category UL
16:00:08 <ehird> also, you got it wrong
16:00:19 <ehird> \(UL x:UL y:xs) -> UL (x.y) : xs
16:00:36 <Deewiant> Quite right
16:00:44 <Deewiant> I recommend the custom (.) TBH :-P
16:00:59 <ehird> I wish this were Caleskell and (.) = fmap
16:01:00 <soupdragon> whats UL
16:01:03 <ehird> underload
16:01:07 <ehird> Hey, maybe I could just define (.) = fmap
16:01:10 <Deewiant> You can set (.) = fmap easily
16:01:46 <ehird> Wonder if Applicative has anything useful or whatever
16:02:06 -!- kar8nga has quit (Remote closed the connection).
16:02:17 <ehird> Deewiant: Oh, that won't work though
16:02:26 <ehird> Because the first argument is a function
16:02:28 <ehird> Control.Category it is
16:02:59 <soupdragon> http://www.pasteit4me.com/99004
16:03:03 <pikhq> Deewiant: Caleskell makes (.)=fmap.
16:03:13 <ehird> he knows
16:03:15 <ehird> Ooh, id and (.) form a monoid.
16:03:15 <pikhq> Erm. So ehird said.
16:03:41 <soupdragon> you are a monoid
16:03:56 <ehird> wait, I can use newtype deriving can't I
16:04:07 <Deewiant> You can use whatever you like; the world is open to you
16:04:14 <ehird> ^___^
16:04:26 <ehird> Cannot derive well-kinded instance of form `Category (UL ...)'
16:04:26 <ehird> Class `Category' expects an argument of kind `* -> * -> *'
16:04:29 <ehird> And here we find our problem.
16:04:42 <ehird> newtype UL = UL ([UL] -> [UL]) deriving (Category)
16:04:52 <Deewiant> Oh, true, it wants a different kind
16:05:00 <ehird> Maybe I'll just define my own (.) typeclass.
16:05:01 <Deewiant> Doesn't really matter though
16:05:13 <ehird> Deewiant: Yes it does, it means I can't do it without an ugly type alias
16:05:36 <Deewiant> One ugly type alias versus hundreds of ugly (UL f) -> UL (f x) !
16:05:43 <ehird> Fiiiine.
16:05:46 <Deewiant> :-P
16:06:00 <ehird> Ugh, I wish Haskell allowed recursive types.
16:06:03 <ehird> It is limiting my expression!
16:06:33 <ehird> Deewiant: Ooh, but I can't do that.
16:06:38 <ehird> type UL = UL' [UL] [UL]
16:06:45 <ehird> fgsfds
16:06:58 <soupdragon> data UL = UL [UL] [UL]
16:07:01 <Deewiant> Haha, good point.
16:07:02 <ehird> And if I add a new newtype, I need to define Category on it manually.
16:07:07 <soupdragon> zero = UL [] []
16:07:08 <ehird> ...which I can't do because of kinds.
16:07:38 <ehird> Deewiant: I'm just going to define a separate operator for UL-(.)
16:07:48 <Deewiant> Not your own type class?
16:08:03 <ehird> If I make it (class Composable a) then I can't do the traditional (.) on functions.
16:08:29 <Deewiant> Hmmh, this is a bit annoying.
16:08:48 <ehird> Haskell's typeclass system is kinda crap.
16:09:08 <soupdragon> yes
16:09:13 <Deewiant> I wouldn't say that :-P
16:09:15 <ehird> Sweet, (..) isn't a valid identifier?
16:09:20 <ehird> Because of ranges.
16:09:28 <ehird> I should just say fuck it and use OCaml.
16:09:33 <ehird> It allows recursive types. :P
16:09:57 <ehird> Have you noticed that all the good operator names are taken
16:10:05 <Deewiant> No
16:10:11 <soupdragon> have you noticed that import qualified Prelude
16:10:20 <ehird> soupdragon: i'd rather not
16:10:25 <soupdragon> that's insane
16:10:39 <ehird> Maybe I'll be patriotic and use (£)
16:10:50 <pikhq> ehird: Have you noticed that Japanese punctuation is mostly unused as operators?
16:11:02 <ehird> pikhq: Ooh, what's that Japanese dot thing?
16:11:11 <ehird> That they use instead of . because they like big, fat, chunky hollow things.
16:11:17 <soupdragon> o
16:11:38 <ehird> Wonder if (∘) is an identifier
16:11:38 <pikhq> The... Period? :P
16:11:46 <ehird> pikhq: nooo it's fatter.
16:12:04 <ehird> Anyway, ASCII only :P
16:12:13 <ehird> I may just end up calling it o
16:12:14 <pikhq> According to Unicode, (。) is a "ideographic full stop".
16:12:57 <pikhq> It's a full stop.
16:13:16 <pikhq> Or, if you prefer, a kuten.
16:14:09 <ehird> ais523: are there "invalid" UL programs, do you think?
16:14:14 <ehird> or is (/) matching not strictly required
16:14:22 <ais523> the matching is required
16:14:26 <ehird> i.e. ) without ( is like any other unhandled character, an error
16:14:32 <ehird> but only when run
16:14:36 <ais523> it's a compile-time error
16:14:40 <ehird> alright
16:14:45 <ais523> although you can handle it at runtime instead if you prefer
16:14:49 <ehird> kay
16:14:55 <pikhq> ehird: You could also use Japanese quote marks.
16:15:01 <pikhq> 「 」 『 』
16:15:04 <pikhq> :)
16:15:05 <ehird> ais523: but something like "x" is a runtime error, right?
16:15:10 <ais523> yes, in Underload
16:15:27 <ehird> Irritating Haskell semantics:
16:15:27 <ais523> in Underlambda, it's compile-time unless you defined it in advance, or it's inside a string literal
16:15:29 <soupdragon> I love those
16:15:29 <soupdragon> 「 」 『 』
16:15:37 <ehird> (error "foo") is not the same as (\() -> error "foo")
16:15:44 <ehird> Fucking impurity
16:15:50 -!- Pthing has joined.
16:15:58 <ais523> is error monadic?
16:16:01 <ehird> no
16:16:03 <ehird> error :: String -> a
16:16:06 <ais523> ouch
16:16:14 <ehird> it's what e.g. (1 `div` 0) gives
16:16:22 <ais523> even Perl6 does better
16:16:24 <ais523> it has lazy errors
16:16:57 <ehird> "You did not provide any name." voted for alter
16:17:00 <ehird> who's that; pikhq?
16:17:10 <pikhq> Not I.
16:17:42 <ais523> ehird: can you work it out by elimination?
16:17:47 * ais523 wonders if it's AnMaster voting twice
16:18:01 <pikhq> ehird: Well, of course error "foo" != \()->error "foo".
16:18:05 <ehird> AnMaster is a malcontent, he tries very hard to stray from outright malicious
16:18:09 <ehird> so I doubt it
16:18:14 <soupdragon> that's me I voted
16:18:14 <ehird> although it is the same vote
16:18:16 <pikhq> That's _|_ != \()->_|_ right there.
16:18:30 <ehird> pikhq: yes, and _|_ is shit :(
16:18:41 <pikhq> ehird: So, you want a total language.
16:18:49 <ehird> no, because totality implies sub turing completeness :P
16:18:51 <soupdragon> total awesome language
16:18:56 <soupdragon> ehird no it doesn't
16:18:57 <ehird> maybe have partiality be a monad
16:19:03 <pikhq> And totality implies no _|_.
16:19:06 <ehird> soupdragon: total language + partiality monad != total
16:19:11 <pikhq> And no _|_ implies totality.
16:19:16 <ehird> == non-total but with the total bits marked
16:19:19 <ehird> kinda like haskell+io tbh
16:19:42 <soupdragon> ehird: you can model lambda calculus, turing machines with semantics, mu-operators
16:19:42 <ehird> what's the partiality monad again, data Partial a = Now a | Later (Partial a)?
16:19:56 <ehird> soupdragon: well the "total fp" paper says it is sub-tc
16:20:00 <AnMaster> * ais523 wonders if it's AnMaster voting twice <-- no, why?
16:20:03 <soupdragon> codata Computation a = Now a | Delay (Computation a)
16:20:19 <ais523> AnMaster: well, it had to be someone
16:20:24 <ehird> soupdragon: s/codata/data/ if you want to model it in haskell right
16:20:31 <soupdragon> screw haskell
16:20:35 <AnMaster> ais523, someone voted twice?
16:20:37 <ehird> that is not an answer
16:20:44 <ehird> AnMaster: because you said you removed the cookie
16:22:23 <AnMaster> ehird, well yes, I always do.
16:23:00 <AnMaster> but I wouldn't vote twice, that is against my morals
16:23:52 <ehird> ais523: hmm... a UL program ins1ins2 is identical to (ins1)(ins2)*
16:24:08 <ais523> not quite
16:24:10 <ehird> so I think I'll structure my parser as String -> [UL] and then fold compose them
16:24:18 <ais523> (ins1ins2) = (ins1)(ins2)*
16:24:23 <ais523> ins1ins2 = (ins1)(ins2)*^
16:24:24 <ehird> ais523: hmm... a UL program ins1ins2 is identical to (ins1)(ins2)*^
16:24:27 <ehird> whatever
16:24:28 <ehird> you get the idea :P
16:24:29 <ais523> yep
16:26:18 <ehird> ugh, lambdabot can't pattern match on tuples?
16:26:33 <ehird> `@pl let (x,xs') = f xs in x : f xs'` fails
16:26:38 <soupdragon> pl can't
16:27:13 <ehird> well right
16:27:16 <Deewiant> Use fst/snd
16:27:42 <ehird> [16:27] ehird: @pl let blah = f xs in fst blah : f (snd blah)
16:27:43 <ehird> [16:27] lambdabot: fst (f xs) : f (snd (f xs))
16:27:48 <ehird> Thanks, lambdabot.
16:27:49 <Deewiant> :-)
16:28:08 <ehird> [16:27] ehird: @pl \blah -> fst blah : f (snd blah)
16:28:09 <ehird> [16:27] lambdabot: liftM2 (:) fst (f . snd)
16:28:11 <ehird> Now we're getting somewhere
16:28:17 <ehird> liftM2 has a more general name right
16:28:17 <Deewiant> I guess what you want is liftM2... yeah, that.
16:28:58 <ehird> ulSplit' ('(':xs) = let (x,xs') = ulSplit' xs in x : ulSplit' xs'
16:28:58 <ehird> ulSplit' ('(':xs) = liftM2 (:) fst (ulSplit' . snd) $ ulSplit' xs
16:29:04 <ehird> The latter is, shall we say, uncompelling
16:29:40 <ehird> ais523: hmm... would you accept an implementation that, if you give it an unmatched ), discards it and the rest of the program, as conforming?
16:30:00 <ais523> yes, because an unmatched ) is undefined behaviour
16:30:06 <ais523> although I think an error message would be more useful
16:30:48 <ehird> ais523: yes, but I'm going for implementation simplicity and purity here
16:32:33 <AnMaster> ais523, aren't you supposed to be able to escape those (but no one implements that). or something like that
16:32:40 <ehird> No.
16:32:54 <ehird> Other characters are reserved, but nobody implements the reservation.
16:33:00 <ehird> They cannot be used in a valid Underload program.
16:33:00 <ais523> yes, in theory you can use " as an escape character in Underload, but that's sufficiently unimplemented that it doesn't count as part of the lange
16:33:01 <AnMaster> ah that was it
16:33:05 <ais523> *lang
16:33:08 <ehird> ais523: not in theory, it's not part of the spec
16:33:09 <AnMaster> ais523, right
16:33:21 <ais523> ehird: yes, but nobody obeys the spec
16:33:24 <ais523> not even me
16:33:26 <lieuwe> w00t, tokenizer done, man, that was easy :-p
16:33:29 <ais523> I kind-of like it that way, though, it's very eso
16:34:49 <ehird> what I mean is
16:34:55 <ehird> in theory no you cannot use " as an escape char
16:34:59 <ehird> it isn't in the specc
16:35:01 <ehird> it's just reserved
16:35:02 <ehird> *spec
16:35:18 <ais523> I thought the spec said you could use " as an escape char
16:35:27 <ais523> but given that it's on a wiki, maybe someone edited it to match reality
16:35:54 <ehird> http://esolangs.org/files/underload/underload.html
16:35:56 <ehird> you can escape []<>
16:35:58 <ehird> but not ()
16:36:01 <ehird> god only knows why
16:36:53 <ehird> ooh
16:37:00 <ehird> ais523: my implementation will support infinite-length programs
16:37:08 <ehird> Deewiant: which is the one that works with infinite lists, foldl or foldr
16:37:10 <ehird> foldr right?
16:37:44 <ais523> ehird: I know why too, it's an implementation details of my first underload interp that somehow made it into the spec
16:37:49 <Deewiant> Yes, foldr
16:37:56 <AnMaster> <ehird> you can escape []<> <-- but do those even mean anything in the language?
16:37:56 <ehird> ais523: slight issue with my impl, there's no way to inspect the output
16:38:00 <ehird> AnMaster: no
16:38:05 <AnMaster> ehird, :D
16:38:06 <ehird> AnMaster: they are reserved, you cannot use them without escaping
16:38:09 <ais523> just you aren't allowed to use them
16:38:16 <ehird> ais523: you'd better have a test suite whose output only depends on the length of the resulting stack
16:38:18 <AnMaster> ais523, can you escape a literal " though
16:38:20 <ehird> otherwise i can't test this thing :)
16:38:23 <ehird> AnMaster: no
16:38:27 <AnMaster> ehird, how fun
16:39:46 <AnMaster> ehird, why can't you allow output?
16:40:16 <ehird> because I'm representing underload functions as haskell functions
16:40:43 <ehird> A UL program is a function from a list of UL programs to a list of UL programs.
16:41:37 <ehird> *Main> length $ ulRun "(:)(:)*^"
16:41:37 <ehird> *** Exception: /Users/ehird/Code/scraps/2010-01/underload.hs:(18,8)-(25,31): Non-exhaustive patterns in function ulSplit'
16:41:37 <ehird> That may look like an error message... but it's actually a bug in my parser.
16:41:38 <AnMaster> ehird, why not make it a function to a tuple of output and ul pgoram
16:41:53 <ehird> AnMaster: that isn't sufficient
16:41:55 <AnMaster> program*
16:41:58 <ehird> I'd need a function (function → string)
16:42:10 <ehird> and that string must be the original UL source code
16:42:16 <AnMaster> hm okay
16:42:19 <ehird> I'd have to pass around the string anywhere, which removes all the purity
16:42:24 <AnMaster> hah
16:43:20 <ehird> soupdragon: so the partiality monad, can it be used just like the identity monad in haskell
16:43:31 <ehird> val <- partialFunc x
16:43:35 <ehird> ...
16:43:38 <ehird> return (someComputation val)
16:45:01 <ehird> *Main> length $ ulRun "(:)(:)*^"
16:45:02 <ehird> *** Exception: /Users/ehird/Code/scraps/2010-01/underload.hs:13:25-45: Non-exhaustive patterns in lambda
16:45:04 <ehird> ais523: it's alive!!!
16:45:12 <ehird> gimme some test program and the length of the tape it should result in :P
16:45:37 <ehird> *Main> length $ ulRun "(poop)(:)(:)*^"
16:45:38 <ehird> *** Exception: Invalid instruction: p
16:45:38 <ehird> wait, what
16:45:59 <ehird> *Main> length $ ulRun "(poop):"
16:45:59 <ehird> *** Exception: Invalid instruction: p
16:46:04 <ehird> okay some quoting issues here.
16:46:20 <ehird> oh
16:46:25 <ehird> would help if i actually put the quoting stuff in
16:46:27 <ehird> :)))))))
16:47:17 -!- Asztal has joined.
16:47:49 <soupdragon> ehird that's correct but it has super powers too
16:48:20 <soupdragon> ehird here is an example http://moonpatio.com:8080/fastcgi/hpaste.fcgi/view?id=562
16:48:55 <ehird> and (Now True) y = y
16:48:55 <ehird> and (Now False) _ = Now False
16:48:55 <ehird> and x (Now True) = x
16:48:55 <ehird> and _ (Now False) = Now False
16:48:56 <ehird> and (Delay x) (Delay y) = Delay (and x y)
16:48:56 <ehird> there should be like a wrapper function
16:49:11 <ehird> toPartial1 :: (a -> b) -> Partial a -> Partial b
16:49:39 <ehird> soupdragon: okay so what's interesting about that snippet
16:49:46 <ehird> bear in mind i'm in retard mode (my only mode)
16:50:16 <soupdragon> ehird it uses lazy-lazy evaluation, if you write this in direct haskell style it would diverge on many more cases
16:50:34 <soupdragon> so what it shows is that the partiality monad can give you even more lazyness than lazy evaluation
16:51:05 <ehird> hmm it'd be cool if sequencing was an evaluation
16:51:07 <ehird> that is >> = seq
16:51:10 <ehird> *was a monad
16:51:22 <ehird> >>= = $! or w/e it's called
16:52:37 <ehird> ais523: taking a break from underload to write that i'm afraid
16:52:46 <ais523> I don't mind
16:53:20 <ehird> hey even optional sequencing
16:53:28 <ehird> data Sequence a = Strict a | Lazy a
16:54:08 <ehird> hmm
16:54:12 <ehird> so should return be strict or lazy, I wonder
16:54:13 <ehird> I think lazy
16:54:33 <ehird> because you might use it at the end of your mega sequence function or w/e
16:55:44 <ehird> hmm
16:55:46 <ehird> instance Functor Sequence where
16:55:46 <ehird> fmap f (Strict a) = strictorlazy (f $! a)
16:55:46 <ehird> fmap f (Lazy a) = lazy (f a)
16:55:53 <soupdragon> interesting
16:55:54 <ehird> soupdragon: any ohpinyuns on strictorlazy there?
16:55:57 <ehird> i think strict
16:56:02 <ehird> strictness should propagate
16:56:06 <ehird> but then, if you do
16:56:10 <ehird> do foo <- astrict; return foo
16:56:11 <soupdragon> im not sure if it works
16:56:13 <ehird> that turns it into a lazy
16:56:15 <ehird> since return = lazy
16:56:23 <ehird> so maybe strictness should fade quickly
16:56:32 <ehird> no, wait
16:56:34 <ehird> it should definitely be strict
16:56:43 <ehird> otherwise your "strict" application isn't, which is ridiculous
16:57:02 <ehird> got functor, monad, let's give it an applicative instance
16:57:24 <ehird> ooh
16:57:25 <ehird> (<*>) :: f (a -> b) -> f a -> f b
16:57:38 <ehird> maybe the strict or laziness of the function should determine the strictness or laziness of the result
16:57:39 <ehird> yeah! i like that
16:57:44 <ehird> unless it doesn't make sense
16:57:49 <ehird> no wait, it does
16:57:52 <ehird> lazy = avoid evaluating this
16:57:55 <ehird> so avoid evaluating any applications of this
16:58:55 <ehird> although shouldn't (Strict f <*> Lazy x) be Lazy (f $! x)
16:59:03 <ehird> soupdragon: opinyons? Applicative sure is tricky :P
16:59:50 <soupdragon> well im not sure this even works
16:59:56 <soupdragon> it's not completely clear what 'strict' means
17:00:02 <ehird> yeah
17:00:04 <soupdragon> and I assume lazy is just the identity
17:00:05 <ehird> ok let's define
17:00:17 <ehird> yeah the lazy portion of the monad is identity monad
17:00:21 <ehird> *is the identity monad
17:00:23 <soupdragon> you might elaborate a bit by defining this in ocaml (or similar, strict language) simultaneously
17:00:31 <ehird> strict = evaluate this before doing anything else
17:00:44 <ehird> lazy = use haskell semantics
17:00:44 <soupdragon> and see what sort of intesection you get
17:00:51 <ehird> soupdragon: i'll try that after doing it in haskell since i know haskell better
17:01:06 <ehird> ofc "evaluate this before doing anything else" doesn't help if the thing is a function and you're applying it
17:01:07 <ehird> aha
17:01:07 <ehird> yes it does
17:01:10 <ehird> if you make the result lazy
17:01:17 <ehird> then you can ignore the result of the application and do-anything-else
17:01:21 <ehird> without having the function evaluated
17:01:54 <pikhq> ehird: Y'want an applicative instance and have a monad instance? pure=return;(<*>)=ap
17:02:04 <ehird> pikhq: shaddap
17:02:08 <ehird> :P
17:02:15 <ehird> Monad should be Applicative f => Monad f, clearly
17:02:29 <ehird> hmm
17:02:43 <pikhq> And Applicative should be Functor f => Applicative f.
17:02:44 <ehird> Lazy f <*> Strict x = lazy (f $! x)
17:02:44 <ehird> or
17:02:44 <ehird> Lazy f <*> Strict x = strict (f $! x)
17:02:50 <ehird> pikhq: it is
17:02:55 <soupdragon> ehird I just mean any strict language like ML or scheme or whatever
17:03:00 <pikhq> Oh, right.
17:03:02 <ehird> soupdragon: yeah i know
17:03:05 <soupdragon> ok
17:03:09 <pikhq> Applicative makes sense, just not monad.
17:03:17 * ehird makes it lazy (f $! x) because he already has a definition resulting in strict (f $! x)
17:03:19 <ehird> can always change it
17:03:33 <ehird> although that violates "evaluate this before anything else"
17:03:33 <ehird> hmm
17:03:37 <ehird> maybe i should change the definition
17:03:52 <ehird> Strict: If you ever use this, evaluate it before doing so.
17:04:12 <ehird> The Functor instance should satisfy
17:04:12 <ehird> fmap f x = pure f <*> x
17:04:17 <ehird> so pure = lazy
17:04:25 <ehird> so Lazy f <*> x
17:06:48 <ehird> is (<*) x `seq` y `seq` x or y `seq` x
17:06:53 <ehird> i guess the former
17:07:16 <ehird> eh
17:07:20 * ehird omits *> and <*
17:07:24 <ehird> let the compiler infer them
17:08:38 <ehird> *Main> runSequence (do x <- strict [1..]; return 3)
17:08:39 <ehird> 3
17:08:41 <ehird> Well, that's certainly wrong.
17:09:09 <ehird> *Main> (const 3) $! [1..]
17:09:10 <ehird> 3
17:09:11 <ehird> ?!
17:09:47 <ehird> oh ofc
17:09:53 <ehird> i mean deepSeq
17:10:04 <ehird> soupdragon: do you think it's more useful with deepseq or as is
17:10:13 <ehird> i think it should be deepseq personally
17:10:55 <soupdragon> deepseq ;p
17:11:17 <ehird> what does that mean :P
17:12:50 <ehird> soupdragon: so I'd like to officially call SequenceT (Partial a) the Haskell monad :P
17:13:00 <soupdragon> I can't stop you
17:13:04 <ehird> or can you
17:13:05 <Deewiant> f $!!!!!!!!! x = rnf x `seq` f x
17:13:16 <soupdragon> I like that
17:13:22 <ehird> how does rnf differ from deepseq
17:14:00 <Deewiant> What is deepseq
17:15:49 <ehird> typeclass
17:15:51 <ehird> deeply evaluates
17:15:55 <ehird> like for [...] it's map seq
17:15:57 <ehird> well
17:15:58 <ehird> fold seq
17:15:58 <Deewiant> Where is it
17:16:07 <ehird> http://209.85.229.132/search?q=cache:RV_IB04cfYoJ:hackage.haskell.org/packages/archive/hxt/7.4/doc/html/Control-Strategies-DeepSeq.html+deepseq&cd=1&hl=en&ct=clnk&client=safari has it, it's also in Pugs
17:16:11 <ehird> where's rnf
17:16:22 * pikhq has been reading up on the Cont monad...
17:16:23 <Deewiant> Control.Parallel.Strategies in parallel
17:16:27 <ehird> ah, x `deepSeq` y == rnf x `seq` y
17:16:34 <Deewiant> Unsurprising :-P
17:16:38 <pikhq> Hmm. Makes continuations seem clever, rather than obscure magic.
17:17:01 <ehird> ugh
17:17:09 <ehird> that restricts my monad to Control.Parallel.Strategies.NFData
17:17:18 <ehird> i wish there was like haskell but strict so i could implement this :)
17:18:20 <pikhq> Throw a bunch of #s everywhere? :P
17:18:34 <pikhq> Oh, and ! and seq.
17:18:54 <pikhq> ... And wonder why people reading your code hate you so damned much.
17:20:18 <ehird> pikhq: not sufficient, I need deepSeq
17:20:22 <ehird> without a typeclass
17:24:26 <SimonRC> there is a language around somewhere that aims to be a strict Haskell
17:25:02 <soupdragon> HAQUELLE
17:26:45 <ehird> i have an ocaml compiler
17:26:46 <ehird> ocaml it is
17:27:15 <ehird> dammit, no ocaml-mode
17:27:16 <ehird> oh well
17:28:02 <ehird> let's see how much ocaml i remember
17:32:55 <SimonRC> I can't find it though
17:35:15 -!- Sgeo has joined.
17:35:30 <ehird> ais523: you know ocaml right
17:36:57 <ehird> http://www.reddit.com/r/AskReddit/comments/anexq/hey_reddit_what_awesome_graffiti_have_you_found/c0igyyg
17:39:15 <Asztal> SimonRC: is it http://www.haskell.org/haskellwiki/DDC ?
17:39:39 <ais523> ehird: vaguely, although I haven't written it for a while
17:40:06 <ehird> type 'a sequence = Strict of 'a | Lazy of (() -> 'a)
17:40:07 <ehird> why is this a syntax error?
17:40:12 <ehird> in the Lazy of part
17:42:46 <ais523> ehird: I take it that's fictional
17:43:06 <ehird> ais523: perhaps reading the epilogue and the alternate ending will remove any doubts you have
17:43:14 <ehird> Yes indeed: this person is quantum!
17:43:17 <ais523> ehird: yes
17:43:19 <ehird> He experiences every branch of the many worlds.
17:45:44 <ais523> so, in other words, it was all, in fact, offtopic
17:46:31 <ehird> are you actually complaining about someone posting a really good piece of fiction :) the only point of threads like that is for entertainment, truth is more or less irrelevant especially if it's that well-written
17:46:52 <ehird> flossdaily is well-known for spinning yarns anyway so it doesn't really "fool" anyone
17:47:08 <ais523> <MysteryStain> Flossdaily, you successfully managed to completely derail the entire point of this thread. I applaud you for that.
17:47:11 <ais523> I'm not actually complaining
17:47:16 <ais523> I'm just amused
17:47:25 <ais523> MysteryStain's comment sums up my attitude
17:47:48 <ehird> then the answer is yes :P
17:48:15 <ais523> heh, are we asking and answering questions recursively?
17:48:29 <ais523> two simultaneous conversations with someone is one thing, but this...
17:48:59 <ehird> i can barely talk to normal people because I can't argue recursively with them :(
17:49:25 <ehird> maybe i should start calling them "linears" :D
17:49:35 <ais523> <ehird> i can barely talk to normal people because I can't argue recursively with them :(
17:49:37 <ais523> that needs sigging
17:49:42 <ais523> (and I agree with the sentiment)
17:49:56 <ehird> i'm not even joking, I think about everything with nesting
17:50:03 <ehird> I don't even know how to argue linearly
17:50:07 <ais523> I know you aren't joking
17:50:19 <ehird> i know you know i aren't joking.
17:50:25 <ais523> sometimes I end up in queue-arguments rather than stack-arguments
17:50:33 <ais523> which are equally confusing for someone not used to that sort of thing
17:50:44 <ais523> normally caused by answering logs rather than conversing in realtime
17:52:03 * ais523 waits for AnMaster to come in with a nonsequitur
17:53:03 <ehird> recently i was arguing with someone and they said "~p => q, bad(q), therefore good(p)" and I said "even assuming bad(q), ~prevents(q,p) => unconnected(p,q), ~prevents(q,p), therefore your argument is invalid"
17:53:06 <ehird> they didn't get it
17:53:32 <soupdragon> we were talking about that in #agda the other
17:53:32 <soupdragon> day
17:53:41 <soupdragon> and when I say talking.. I mean trying really hard to make puns about it
17:54:03 <ehird> talking about what
17:54:08 <ehird> people sucking at recursion?
17:54:10 <soupdragon> that logical fallacy
17:54:39 <ehird> well, "~p => q, bad(q), therefore good(p)" is valid, but it can be rebutted with ~(~p => q)
17:54:49 <ehird> (assuming p has no other consequences)
17:54:56 <ehird> hmm
17:55:01 <ehird> if recursion is self-calling, clearly cursion is calling
17:55:07 <ehird> people suck at cursion.
17:55:39 -!- kar8nga has joined.
17:56:03 <ehird> anyone know why i can't do
17:56:04 <ehird> type 'a sequence = Strict of 'a | Lazy of (() -> 'a)
17:56:04 <ehird> in ocaml?
17:58:36 <ais523> what error are you getting?
17:59:00 <ehird> File "sequence.ml", line 1, characters 44-45:
17:59:00 <ehird> Error: Syntax error
17:59:12 <ehird> error is at Lazy of |(|...
17:59:25 <ais523> try an extra pair of parens around everything past the =
17:59:29 <SimonRC> Asztal: yeah, DDC
17:59:35 <ais523> O'Caml is rather finicky about precedence, I normally end up putting parens everywhere
17:59:53 <ehird> that won't work, it's a type declaration, no?
18:00:06 <ehird> yep, that breaks it even moreer
18:00:07 <ehird> *more
18:00:28 <soupdragon> more parens!!
18:00:35 <ais523> what about fewer parens, then?
18:00:41 <ais523> just Lazy of () -> 'a
18:00:46 <soupdragon> ehird http://caml.inria.fr/pub/docs/manual-ocaml/libref/Lazy.html
18:00:50 <ehird> ais523: same error
18:01:01 <ais523> soupdragon: that's not what he's trying to do
18:01:08 <SimonRC> in my search for that language, I found this: http://lambda-the-ultimate.org/node/1546 <-- oh dear
18:01:09 <soupdragon> ?
18:01:09 <ehird> soupdragon: that isn't the same as () -> 'a afaik
18:01:16 <soupdragon> it's better!
18:01:27 <lieuwe> ehird: almost done with the basics off my lang :-)
18:01:31 <ehird> "Why do languages even touch execution which is a technique used to get around current hardware limitations? What will happen when processors can execute seemingly infinite instructions at the exact same time?"
18:01:33 <ehird> crackpot detected
18:01:42 <ehird> soupdragon: but it's not what i'm trying to model.
18:01:54 <soupdragon> I don't know what you mean
18:02:02 <soupdragon> I'm just saying, read this
18:02:09 <ehird> Why? I do not want to use it.
18:02:23 <soupdragon> oh well
18:02:27 <ehird> Even if I do, that does not help my syntax problem.
18:04:09 <ehird> maybe i need to give () -> 'a a name
18:05:10 <ais523> ehird: here's an example from the O'Caml book I have: "type 'a listf = | Val of 'a | Fun of ('a -> 'a) * 'a listf"
18:05:13 <ais523> the leading | is redundant
18:05:28 <ehird> what's that weird * 'a listf'
18:05:49 <ais523> ehird: it means that a Fun is a tuple
18:05:54 <ehird> right
18:05:55 <ais523> of a funtion from 'a to 'a, and an 'a listf
18:05:56 <ehird> oh right
18:05:57 <ehird> 'a listf
18:05:58 <ais523> *function
18:06:08 <ehird> OH
18:06:10 <ehird> (()
18:06:11 <ehird> (unit
18:06:14 <ehird> I am so fucking dumb
18:06:20 <soupdragon> http://caml.inria.fr/pub/docs/manual-ocaml/libref/Lazy.html
18:07:14 <ehird> yeah i just relooked at that and it is what i want
18:07:21 <ehird> how do you use a module without opening it in ocaml i forget
18:07:34 <ehird> oh just use it
18:07:37 <soupdragon> http://caml.inria.fr/pub/docs/manual-ocaml/manual004.html :P
18:07:56 <soupdragon> I can never remember any of the module stuff
18:07:59 <ehird> ehh, I wish I could use the lazy keyword directly
18:08:05 <ehird> instead of Lazy (lazy poop)
18:09:20 <ais523> ouch windows 7
18:09:31 <ais523> why does this thing insist on grouping, say, two folder windows?
18:09:38 <ais523> it makes it almost impossible to switch between them quickly with the mouse
18:11:57 <ais523> even worse, it starts fading windows in and out while you're trying to choose which to select
18:12:08 <ais523> which is fine if you're going slowly, but massively annoying if you already know which you want
18:16:48 <soupdragon> im actually still realizing just how brilliant that Metamorphosis of Prime Intellect is
18:17:04 <SimonRC> soupdragon: huh?
18:17:15 <soupdragon> hi SimonRC
18:17:17 <SimonRC> MPI?
18:17:28 <soupdragon> you don't know it?
18:17:32 <SimonRC> soupdragon: once again I must speak several times before you notice me :-)
18:17:41 <SimonRC> I meant, what is MPI?
18:17:44 <ais523> soupdragon: is your nick a Clangers reference?
18:17:50 <soupdragon> ais523 yes!
18:19:25 <ehird> SimonRC: The Metamorphosis of Prime Intellect is a novel.
18:19:33 <ehird> http://www.kuro5hin.org/prime-intellect/
18:19:43 <ehird> ("This online novel contains strong language and extreme depictions of acts of sex and violence. Readers who are sensitive to such things should exercise discretion.", etc.)
18:19:49 <ehird> Speaking of which I really must get around to reading it sometime.
18:20:26 <soupdragon> I think that I must have read it a long time ago
18:20:39 <soupdragon> but probably not all the way through
18:20:40 <soupdragon> im not sure
18:20:59 <ehird> ais523: Windows 7 is application based
18:21:04 <ehird> it's not "grouping two folders"
18:21:08 <ehird> the task bar is filled with application icons
18:21:12 <ais523> ehird: I know how it works
18:21:20 <ais523> that doesn't prevent it being inconvenient, though
18:21:29 <ehird> click Explorer. click the relevant window
18:21:31 <ehird> that was hard
18:21:35 <ais523> yes, but it's two clicks
18:21:39 * Sgeo likes how the things in the task bar can have status bars
18:21:43 <ais523> and the thing you have to click on doesn't appear until after the first one
18:21:49 <ais523> which makes it impossible to plan where you're going before you do
18:21:50 <Sgeo> I was Remote Assisting a friend who has Win7
18:21:55 <ais523> it's not hard, but it /is/ slow
18:22:06 <ehird> Sgeo: yes, browsers use that to show progress of a download, it's nice
18:22:23 <ehird> ais523: WFM. also, with browsers it shows all tabs, not windows
18:22:24 <ehird> which is nice
18:22:33 <ehird> soupdragon: I can't use http://caml.inria.fr/pub/docs/manual-ocaml/libref/Lazy.html, it doesn't let a lazy computation depend on itself
18:22:41 <ehird> "Raise Undefined if the forcing of x tries to force x itself recursively."
18:22:48 <ais523> ehird: not with Firefox, at least
18:22:50 <Sgeo> ...All tabs? That would be pain for me
18:22:50 <soupdragon> hmm
18:22:58 <soupdragon> hmmm
18:22:59 <ehird> ais523: IE does it, I think Chrome too
18:23:04 <ehird> Firefox sucks at platform-nativity
18:23:06 * Sgeo often has a LOT of tabs in one window
18:23:09 <ehird> use Chrome, it's the best windows browser
18:23:17 <soupdragon> didn't Okasaki use lazyness like this to do infinite streams
18:23:19 <ais523> ehird: can't install software here
18:23:19 <soupdragon> I don't understand
18:23:26 <soupdragon> maybe I am just imagining that
18:23:31 <ehird> ais523: tell them to install chrome, then :P
18:23:39 <Sgeo> Chrome++
18:23:39 <ehird> soupdragon: it's generalised laziness
18:23:40 <ehird> well
18:23:41 <ais523> why? IE and Firefox are both good enough
18:23:44 <ehird> it's generalised lazy/strictness
18:24:04 <ehird> ais523: IE 8 is alright
18:24:11 <ehird> but firefox makes you select a window, *then* a tab
18:24:13 <ehird> which is, indeed, inefficient
18:24:16 <ehird> but not Windows' fault
18:24:27 <ais523> ehird: but you're doing that anyway
18:24:31 <ehird> soupdragon: it's just the evaluation order monad :-)
18:24:33 <ehird> ais523: no you're not
18:24:36 <ais523> you're selecting the firefox icon on the task bar, then the individual firefox tab
18:24:36 <ehird> you click IE, then the tab
18:24:40 <ehird> vs
18:24:46 <ehird> you click Firefox, then the window, then the tab
18:24:52 <soupdragon> okay
18:24:54 <ais523> except I only use one Firefox window at a time
18:25:03 <ehird> ais523: well, don't.
18:25:14 <ehird> :p
18:25:20 <ais523> the only reason to open multiple windows of the same browser, apart from showing two things side-by-side or ontop of each other which is rare, is to organise tabs
18:25:35 <ais523> and if Win7 is just going to lump all the tabs together anyway, why the hell are you opening multiple browser windows?
18:26:06 <ais523> in other words, Firefox is giving you the choice here, IE is forcing you to effectively use just a single window
18:26:19 <ehird> how do you define an infix op in ocaml?
18:26:34 <ais523> not sure, never tried
18:26:49 -!- jpc has joined.
18:27:29 <ehird> ( op )
18:27:33 <Asztal> Ctrl-Click the taskbar icon to cycle through windows in that group.
18:28:08 <ais523> Asztal: that's suboptimal because it's worse than alt-tab in nearly every respect
18:28:16 <ais523> control-clicking implies I'm using the keyboard
18:28:27 <ais523> in which case I wouldn't want to use the mouse, because using the keyboard /and/ the mouse is incredibly slowing
18:28:29 <ehird> Asztal: don't bother, ais523 has been anti-win7 every time he's mentioned it, even though the task bar is superior to the os x dock
18:28:40 <ehird> ais523: no it's not
18:28:42 <ais523> ehird: I mostly like it, just the taskbar gets in my way a lot
18:28:44 <ehird> always keep one hand on the keyboard, duh
18:28:55 <ais523> ehird: I have both hands on my laptop keyboard atm
18:29:04 <ais523> moving both hands over to the desktop is substantially slower than moving just one
18:29:09 <ehird> wow
18:29:13 <ais523> and that just one I want to put on the mouse, because I'm using it for web browsing
18:29:17 <ehird> you're criticising a UI because you use a laptop as well as a desktop
18:29:25 <ehird> and it doesn't account for the movement time
18:29:25 <ais523> yes, I am
18:29:31 <ehird> talk about looking for a complaint
18:29:52 <ais523> ehird: a UI that assumes I'm focusing all my attention on that UI is suboptimal design
18:30:09 <ais523> quite often I want to use one or both of my hands for something else, e.g. typing on another computer
18:31:32 <ais523> besides, the UI is slower even when you are focusing all your attention on that computer
18:31:46 <ais523> a UI that assumes one hand on the keyboard, one on the mouse, /consistently/ (like Blender) is fine
18:31:53 <ais523> one that makes you move around a lot isn't, though
18:32:00 <ehird> i'm sure there is some hack to make it use the old taskbar
18:32:32 <Asztal> There is one case in which giving each tab its own thumbnail is slower, which is when you want to pick a window, not a tab (so that you can open a new tab, for example). I find that more common than wanting to open a particular tab.
18:32:39 <ais523> what I'd really like is something where multiple windows of the same app unbunch, with a text legend to say which is which
18:32:48 <ais523> but otherwise the same as it is
18:33:00 <ais523> but that would be inconsistent UI, and so no sane UI maker would do it, despite being useful
18:33:15 <ais523> Asztal: agreed, if that case wasn't useful to you you wouldn't have multiple windows in the first place, as it's the only reason to use them
18:34:42 <Asztal> I should really try this "never combine" option for the taskbar, see how that works out. It seems to have been improved since the RC.
18:35:01 -!- oerjan has joined.
18:35:46 <ais523> ooh, there is a "never combine" option, thanks
18:36:01 <ais523> that fixes the issues I was having with it nicelyt
18:36:03 <ais523> *nicely
18:36:08 <ais523> in fact, it does just what I described
18:37:57 <Asztal> Ah, I just noticed there is a text legend if there's room.
18:39:58 <ehird> soupdragon: i'm trying to do an infinite stream now actually
18:40:47 <ehird> ...actually, no point
18:40:53 <ehird> it'd just be the regular stream impl
18:40:58 <ehird> let's try...
18:41:06 <ehird> hm
18:42:15 * ehird gets "int sequence sequence" back from the type checker
18:42:17 <ehird> well that's not right
18:42:50 <ehird> trying to implement `foo = do _ <- lazy foo; strict 42`
18:42:52 <ehird> i.e.
18:43:00 <ehird> lazy foo >>= (\_ -> strict 42)
18:43:30 <lieuwe> ehird: wtf are you guys talking 'bout :-p
18:43:47 <ehird> lieuwe: a monad for lazy or strict evaluation, duh.
18:43:49 <ehird> ;)
18:44:07 <lieuwe> ehird: a what for what or what what?
18:44:08 <ehird> if you don't know functional programming it won't make any sense to you
18:44:10 <ehird> that's ok :P
18:44:39 <Sgeo> Chrome is so fast, especially when all its children are crashed
18:44:43 <ehird> fffff i really need my >>= itself to be lazy
18:45:00 <lieuwe> Sgeo: :-p
18:45:01 <pikhq> ehird: Learn you some lambda.
18:45:06 -!- bsmntbombdood has quit (Read error: 60 (Operation timed out)).
18:45:09 <ehird> oh wait
18:45:10 <ehird> | Lazy x -> f (x ())
18:45:12 <ehird> god i'm dumb
18:45:16 <ehird> Lazy == Strict
18:45:39 <ehird> so... i need all my values to be unit->'a
18:45:42 <ehird> but some pre-forced
18:46:15 <pikhq> ehird: Erm. Not you.
18:46:18 <pikhq> lieuwe: You. Learn you some lambda.
18:46:23 <oerjan> ehird: note that lazy = return, by the monad laws, iirc
18:46:35 <ehird> oerjan: yeah i had that in my haskell version
18:46:41 <oerjan> because return x >>= f = f x
18:46:44 <ehird> but i'm doing it in ocaml first because it's clearer what is strict and what is lazy
18:46:48 <ehird> and also because rnf requires a typeclass
18:46:54 <ehird> and for the same reason Set is not a monad Sequence cannot be
18:46:57 -!- bsmntbombdood has joined.
18:47:00 <ehird> (typeclass restriction on its argument)
18:47:04 <lieuwe> pikhq: eh, why?
18:47:14 <ehird> lieuwe: because functional programming is the best.
18:47:14 <oerjan> oh wait not really return, just id, since you pass it something monadic
18:47:24 <ehird> oerjan: no, you don't
18:47:35 <ehird> data Sequence a = Strict a | Lazy a
18:47:47 <oerjan> you have foo = do ..., so foo must me monadic...
18:47:49 <ehird> i guess Strict !a could work
18:47:52 <oerjan> and then lazy foo
18:47:57 <ehird> oerjan: right it was nested monadic or whatever
18:48:01 <ehird> i'm trying to fix it shush :P
18:48:07 <ehird> how's this for a gnarly type sig
18:48:09 <ehird> val ( >>= ) : 'a sequence -> ('a -> 'b sequence) -> 'b sequence = <fun>
18:48:12 <ehird> erm
18:48:13 <ehird> wrong one
18:48:18 <ehird> val ( >>= ) : 'a sequence -> ((unit -> 'a) -> 'b sequence) -> 'b sequence = <fun>
18:48:53 <ehird> # foo ();;
18:48:53 <ehird> - : int sequence = Strict 42
18:48:53 <ehird> woot
18:48:58 <ehird> let rec foo () =
18:48:59 <ehird> Lazy (fun () -> foo ()) >>= (fun _ ->
18:48:59 <ehird> Strict 42)
18:49:13 <ehird> oh wait I can rewrite (fun () -> foo ()) as foo
18:49:14 <ehird> excellent
18:49:22 <ehird> let rec foo () = Lazy foo >>= (fun _ -> Strict 42)
18:49:31 <ehird> I guess it should be "sequenced" not "sequence"
18:50:21 <ehird> that () arg is just because ocaml doesn't like you doing that otherwise :P
18:50:36 <oerjan> rnf is for deep normalization though, not just top constructor (which doesn't require a type class in haskell)
18:51:01 <ehird> oerjan: yes, but it behaved rubbishly like that
18:51:08 <ehird> do x <- strict [1..]; return 42
18:51:18 <ehird> kinda poopy if that is == return 42
18:51:32 <oerjan> mhm
18:52:20 <ehird> let rec ones () : (int list) sequence =
18:52:21 <ehird> Lazy ones >>= (fun me ->
18:52:27 <ehird> so me : unit -> int list
18:52:40 <ehird> Lazy (fun () -> 1 :: (me ())))
18:52:53 <ehird> Error: This expression has type int list sequence
18:52:53 <ehird> but an expression was expected of type int list
18:52:53 <ehird> wut??
18:53:45 <ehird> let rec ones () : (int list) sequenced =
18:53:45 <ehird> Lazy ones >>= (fun me ->
18:53:45 <ehird> Lazy (fun () -> 1 :: (me ())))
18:53:46 * ehird can't see anything wrong with that
18:54:10 <ehird> it's just `ones = do me <- lazy ones; lazy (1 : me)`
18:54:18 <ehird> more or less
18:54:53 <oerjan> 1 :: me is int list, right
18:55:09 <ehird> 1 :: me () is int list
18:55:23 <ehird> so Lazy (fun () -> 1 :: me ()) is (int list) sequenced
18:55:45 <ehird> so (fun me -> Lazy (fun () -> 1 :: me ())) is (unit -> int list) -> (int list) sequenced
18:56:02 <ehird> which is what the right operand to >>= should be.
18:56:17 <ehird> and therefore the result of >>=, assuming the left hand is typed properly,
18:56:21 <ehird> is (int list) sequenced
18:56:33 <ehird> therefore ones () is of type (int list) sequenced, therefore the left hand side, Lazy ones, is typed correctly
18:56:37 <ehird> QED
18:56:40 <ehird> now why does ocaml disagree?
18:56:48 <oerjan> um the right operand to >>= should have an arbitrary first argument, surely?
18:57:25 <oerjan> (>>=) :: Monad m => m a -> (a -> m b) -> m b
18:57:36 <ehird> val ( >>= ) : 'a sequenced -> ((unit -> 'a) -> 'b sequenced) -> 'b sequenced =
18:57:37 <ehird> <fun>
18:57:44 <ehird> type 'a sequenced =
18:57:45 <ehird> | Strict of 'a
18:57:45 <ehird> | Lazy of (unit -> 'a)
18:57:45 <ehird> let ( >>= ) (x : 'a sequenced) (f : (unit -> 'a) -> 'b sequenced) : 'b sequenced =
18:57:46 <ehird> match x with
18:57:46 <ehird> | Strict x -> f (fun () -> x)
18:57:47 <ehird> | Lazy x -> f x
18:57:50 <ehird> we need to preserve laziness, you see
18:58:53 -!- Slereah has joined.
18:58:55 <oerjan> oh well
18:59:06 * ehird discovers he can make ones not a function
18:59:07 <ehird> let rec ones : int list sequenced =
18:59:07 <ehird> Lazy (fun () -> ones) >>= (fun me ->
18:59:08 <ehird> Lazy (fun () -> 1 :: me ()))
18:59:11 <ehird> oerjan: "oh well" meaning?
19:00:42 -!- lieuwe has quit ("Page closed").
19:00:48 <ehird> hmm does ocaml have undefined
19:00:53 <oerjan> nothing. it wasn't me. you cannot prove it. nobody saw me. oh wait, you did.
19:01:26 <oerjan> how could it? it's a bottom.
19:01:38 <soupdragon> hi oerjan
19:01:42 <ehird> yes and?
19:01:50 <ehird> i just want something that types for any type and barfs on execution
19:01:56 <ehird> haskell subverts the type system with this, why can't ocaml
19:02:00 <oerjan> ehird: error?
19:02:01 <ehird> i can use unsafe.coerce or something iirc in ocaml
19:02:04 <ehird> internals or something
19:02:14 <ehird> oerjan: error is not defined :/
19:02:15 <oerjan> or raise something
19:02:24 <soupdragon> let everything = everything
19:02:26 <soupdragon> ??
19:02:40 <ehird> yeah raise will work
19:02:45 <soupdragon> let rec**
19:02:48 <ehird> # let rec everything = everything;;
19:02:48 <ehird> Error: This kind of expression is not allowed as right-hand side of `let rec'
19:02:51 <soupdragon> hmm maybe it's disallowed :(
19:02:57 <soupdragon> oh well you could use rectypes for a Y combinator
19:03:03 <soupdragon> make omega
19:03:05 <ehird> exception Barf
19:03:06 <ehird> let barf = raise Barf
19:03:12 <soupdragon> you can do without Y actually
19:03:34 <ehird> wait
19:03:36 <ehird> that needs to be barf ()
19:04:03 <soupdragon> augur !!!!!!!
19:04:10 <soupdragon> I figured out how to parse CCG
19:04:13 <augur> O_O
19:04:15 <augur> oh?
19:04:19 <soupdragon> it took me a long time but I worked it out
19:04:53 <soupdragon> I might code it tommowor
19:05:08 <augur> what i'd end up doing is a left-to-right parser
19:05:21 <augur> which tries to build a left-corner parse
19:05:21 <ehird> oerjan: aha
19:05:28 <ehird> the problem is that since ones : int list sequence
19:05:33 <ehird> Lazy ones : int list sequenced sequenced
19:05:33 <augur> and when it cant, it tries compose, or lift, etc etc
19:05:49 <ehird> so, /me is confused
19:05:49 <augur> and it backtracks when it cant do anything, to try alternatives
19:06:49 <soupdragon> augur, oh yeah something a bit irritating was none of the papers on parsing it has T, just B_n
19:07:19 <augur> what
19:07:27 <augur> oh, compose
19:07:33 <augur> not lift
19:07:35 <augur> meh.
19:07:37 <soupdragon> there's a few papers about parsing these but they're kinda confusing
19:07:47 <soupdragon> like.. I couldn't follow any of them
19:08:12 <augur> i should try to write a parser too
19:08:12 <augur> :o
19:08:24 <soupdragon> augur in your prolog
19:08:26 <soupdragon> ;)
19:08:28 <soupdragon> :)
19:08:31 <augur> nah
19:10:19 -!- Slereah_ has quit (Read error: 110 (Connection timed out)).
19:10:44 <soupdragon> augur what language do yu use
19:11:01 <ehird> augur is a ruby guy.
19:12:01 <augur> for the prolog interp?
19:12:15 <augur> its in JS. theres no web-based Prolog interp so ive decided to make one
19:12:39 <ehird> http://ioctl.org/logic/prolog1
19:12:43 <ehird> http://yieldprolog.sourceforge.net/
19:12:48 <ehird> I beg to differ.
19:12:51 <soupdragon> for the parser
19:12:54 <augur> :|
19:13:00 <augur> how'd you find these?
19:13:03 <ehird> Google.
19:13:06 <ehird> "javascript prolog"
19:13:09 <augur> :|
19:13:24 <ehird> It lets you find pages on the web by typing in keywords found in those pages or pages that link to them.
19:13:40 <ehird> It even ranks them by how relevant it thinks they are to your keywords, using a fancy algorithm based on pages that link to it.
19:13:43 <augur> well thats ok. that wasnt the only reason i was making this.
19:13:44 <ehird> You should try it sometime.
19:16:48 <augur> Yield Prolog looks quite nice, infact
19:18:25 <ehird> soupdragon: in total languages there's no runPartial :: Partial a -> a, so i guess it's sorta like how the haskell runtime does runIO :: IO a -> a right?
19:18:39 <soupdragon> yes
19:19:50 <ehird> what about bottom, can you do this in a total language + Partial:
19:19:57 <ehird> bottom :: Partial a
19:19:57 <ehird> bottom = do
19:19:57 <ehird> foo <- bottom
19:19:58 <ehird> return foo
19:20:02 <soupdragon> haha
19:20:10 <ehird> i'll take that as a no
19:21:11 <ehird> how do you implement _|_ then
19:21:28 <soupdragon> bottom = Delay bottom
19:21:40 <soupdragon> it's a properly guarded corecursion
19:21:47 <ehird> Delay = Later for me
19:21:51 <ehird> (because I like Now/Later as a name pair)
19:22:03 <ehird> anyway, yeah, should have thought of that...
19:22:11 <augur> Now/Later heh
19:22:18 * SimonRC goes for a bit
19:22:24 <ehird> soupdragon: so when do I have to explicitly say Delay
19:22:26 <augur> what language are you asking about, ehird
19:22:29 <ehird> as opposed to it being identical to the identity monad
19:23:04 <ehird> *Main> runPartial $ factorial 33
19:23:05 <ehird> *** Exception: stack overflow
19:23:07 <ehird> shweet
19:23:16 <soupdragon> hahaha
19:23:17 <ehird> (yeah ok factorial isn't partial shut up)
19:23:23 <augur> ehird :(
19:23:28 <soupdragon> runPartial _ = error "stack overflow"
19:23:37 <augur> you suck ehird. you suck so much.
19:23:39 <augur> T_T
19:24:06 <oerjan> augur: from you that's a compliment, right?
19:24:17 <augur> well no, not in this case
19:24:24 <ehird> i was going to make some sort of a comment or another about being straight but decided not to open that can of worms
19:24:32 <ehird> not with augur
19:24:34 <soupdragon> what can of worms
19:24:34 <ehird> that is never a good idea
19:24:42 <oerjan> oh WELL
19:24:51 <augur> ehird, its ok
19:24:54 <ehird> soupdragon: invoking his "make a bunch of gay innuendo" procedure
19:24:55 <augur> we know you're a queer anyway
19:25:04 <augur> innuendo?
19:25:05 <ehird> ("I'll invoke your procedure if you know what I mean")
19:25:12 <augur> x3
19:25:28 <oerjan> what the heck is that smiley
19:25:36 <soupdragon> X3
19:25:41 <ehird> a cross-eyed cat
19:25:52 <augur> not cross eyed
19:26:07 <ehird> soupdragon: data PartialList a = Nil | Cons a (Partial (PartialList a))
19:26:07 <ehird> or
19:26:12 <ehird> soupdragon: data PartialList a = Nil | Cons (Partial a) (Partial (PartialList a))
19:26:14 <ehird> presumably the former
19:26:17 -!- coppro has joined.
19:26:20 <augur> its the squinted-eyes you get when you laugh too hard
19:26:30 <soupdragon> ehird data List list a = Nil | Cons a (list a)
19:26:41 <ehird> coppro: http://www.doodle.com/rhriqxe2rb226it2 you are contractually obligated to vote due to pledging. kthx :P
19:26:53 <ehird> soupdragon: how fancy
19:26:53 <soupdragon> hm
19:26:56 <soupdragon> ehird data List list a = Nil | Cons a (list list a)
19:27:01 <soupdragon> one of them...
19:27:06 <ehird> soupdragon: no that's ridiculous
19:27:11 <ehird> if you do List Poop a
19:27:13 <soupdragon> there's some kind of methodical way to do it
19:27:14 <ehird> you get
19:27:18 <oerjan> soupdragon: no way list list a types
19:27:20 <ehird> Cons a (Poop Poop a)
19:27:28 <soupdragon> I kind of get it
19:27:29 <ehird> so that's basically list... for one iteration
19:27:34 <soupdragon> the thing can't self apply
19:28:02 <ehird> ah, PartialList a should only ever be used as Partial (PartialList a)
19:28:08 <ehird> otherwise, pHead :: PartialList a -> a
19:28:13 <ehird> and that's just not very partial is it now
19:28:14 <soupdragon> I wonder if it should be a list or list a
19:29:36 <ehird> pTail :: PartitalList a -> Partial (PartialList a)
19:29:36 <ehird> ↑ this desugars to
19:29:45 <ehird> pTail :: Partial (PartialList' a) -> Partial (Partial (PartialList' a))
19:29:47 <soupdragon> List a list = Nil | Cons a list List a (List a)
19:29:47 <ehird> TOO MANY PARTIALS
19:29:53 <soupdragon> yerh
19:30:14 <ehird> *PartialList
19:30:18 <ehird> not PartitalList :P
19:30:48 <ehird> pTail :: PartialList a -> Partial (PartialList a)
19:30:49 <ehird> pTail lst = do
19:30:49 <ehird> Cons _ xs <- lst
19:30:49 <ehird> xs
19:30:52 <ehird> weirdest function I ever did see
19:31:00 <oerjan> data List wrapper a = Nil | Cons (wrapper a) (wrapper (List wrapper a))
19:31:09 <soupdragon> woah
19:31:33 <oerjan> type PartialList = List Partial
19:31:48 <coppro> ehird: done
19:32:12 <oerjan> or perhaps = Partial (List Partial)
19:32:18 <ehird> coppro: you are a good person and deserve much praise
19:32:28 <coppro> yay!
19:32:31 <ehird> oerjan: http://www.doodle.com/rhriqxe2rb226it2 Voting is NOT OPTIONAL
19:32:43 <coppro> coppro, you're awesome
19:32:45 <oerjan> no but visiting is, right?
19:32:54 <ehird> oerjan: NO
19:32:59 <oerjan> darn
19:33:14 <ehird> ehird: tell coppro: "coppro: ehird says you're awesome"
19:33:18 <ehird> coppro: ehird says you're awesome
19:33:24 <ehird> *tell coppro: "ehird
19:33:29 <coppro> :P
19:34:29 * soupdragon spills worms all over everyone
19:35:21 <ehird> O_O
19:37:02 -!- soupdragon has quit ("Leaving").
19:37:53 <oerjan> ehird: either that poll is broken in IE, or it requires registration. in any case, i consider myself excused.
19:38:31 <coppro> probably the former
19:38:32 <ehird> oerjan: you forgot to enter a name
19:38:36 <ehird> coppro: he uses IE 8
19:38:39 <coppro> oh
19:38:42 <ehird> IE 8 is quite solid, and what corporation wouldn't support it?
19:38:47 <coppro> probably what ehird said then
19:38:56 <coppro> yeah, 8 is good
19:38:57 <ehird> oerjan: (it's to the left of the choices)
19:38:59 <coppro> not great
19:39:02 <coppro> but good
19:39:07 <ehird> coppro: apart from the UI above the page
19:39:15 <coppro> true
19:39:17 <ehird> they fucked up with the whole removing the menus thing
19:39:39 <oerjan> ehird: what _choices_?
19:39:50 <ehird> oerjan: the checkboxes
19:40:00 -!- ais523 has quit (Read error: 104 (Connection reset by peer)).
19:40:03 <oerjan> wait, alter and amend are your suggested editor names?
19:40:09 <ehird> yes...
19:40:13 <ehird> something wrong with that? :D
19:40:33 <oerjan> ic i thought they were some kind of polling options...
19:40:38 -!- lament has joined.
19:42:45 <ehird> oerjan: you are now contractually obligated to specify other
19:43:14 <oerjan> i cannot, there is nowhere to write it. MWAHAHA
19:43:27 <ehird> that's not my fault :(
19:44:21 <oerjan> but i think my not being able to recognize that the other options _were_ editor names was a good enough reason to specify Other...
19:44:55 <ehird> would you prefer EhirdsEd or something insane like that :P
19:44:57 <ehird> *inane
19:45:03 <ehird> freudian slip...
19:45:41 <oerjan> as for slip, what about "writhe"
19:46:15 * ehird attempts to decode that sentence
19:46:45 <oerjan> i mean, i suggest "writhe", as an insane typo of write
19:47:14 <oerjan> also in the spirit of lewis carroll, iirc
19:47:47 <oerjan> The Mock Turtle went on. .We had the best of educations . . . Reeling and Writhing, of course, to begin with, and then the different branches of Arithmetic.Ambition, Distraction, Uglification, and Derision..
19:48:19 <oerjan> that would have been better with proper punctuation, naturally
19:49:17 <ehird> writhe is too unpleasant, clearly :P
19:50:02 <oerjan> oh WELL
19:51:44 * ehird slaps oerjan
19:52:57 <uorygl> I have invented a method for never losing anything.
19:53:17 <uorygl> Suppose you have 100 items, and you are afraid of losing even one of them. This means you have 100 opportunities to lose something.
19:53:18 <oerjan> uorygl: the game
19:53:42 <uorygl> Consider these 100 items to be 100 one-item piles. Put two of these piles together; now you have 99 piles, meaning 99 opportunities to lose something.
19:54:11 <uorygl> Put two piles together again; then you'll have only 98 opportunities to lose something. Simply repeat until you have 0 opportunities to lose something, and you will never lose anything again.
19:54:21 <oerjan> it's the Haystack solution. oh wait...
19:54:36 <oerjan> i sense an induction base problem
19:54:50 <ehird> uorygl: impossible
19:54:52 <ehird> you can only get to 1
19:54:57 <ehird> combining the last two piles into 1
19:55:01 <ehird> → 1 chance of losing everything
19:55:36 <uorygl> Ah, but there is a flaw in your reasoning!
19:55:42 <uorygl> Simply consider yourself to be one of the items!
19:55:59 <oerjan> ehird: but that would go against the well-known advice of egg-sperts!
19:56:04 <ehird> item = thing-that-can-be-lost, correct?
19:56:11 <ehird> I can't lose myself, so I am not an item.
19:56:12 -!- coppro has quit (Read error: 104 (Connection reset by peer)).
19:56:12 <uorygl> If you carry all your stuff with you all the time, you will never lose anything.
19:56:44 <ehird> are we ignoring environmental factors here?
19:56:44 <uorygl> That's kind of a strange definition of an item.
19:56:48 <ehird> e.g. stuff dropping out of pockets
19:56:51 <oerjan> uorygl: your method appears foolproof.
19:57:03 <uorygl> Zip your pockets.
19:57:03 <ehird> uorygl: your method was to stop you ever losing anythhing
19:57:05 <ehird> *anything
19:57:10 <ehird> and involved putting everything together
19:57:31 <ehird> so if you say "put everything together" in response to "how can i stop these pesky things being lost", clearly everything that is a thing can be lost
19:57:38 <ehird> otherwise your response should have said "put every losable thing together"
19:57:43 -!- coppro has joined.
19:57:46 <ehird> therefore, since I cannot lose myself, I am not a thing.
19:57:46 <ehird> QED
19:58:08 <uorygl> Also, consider building all your stuff into a tower so tall it can be seen from anywhere in the world.
19:58:15 * oerjan approves: http://blog.makezine.com/archive/2010/01/toy_train_used_to_calibrate_fusion.html
19:58:39 <oerjan> (yeah it's from reddit. so what, it's awesome)
20:00:01 -!- Slereah_ has joined.
20:00:48 <uorygl> Or sell all of your stuff and buy a backpack full of iPhones.
20:01:23 * oerjan realizes that was blogspam based on http://www.nytimes.com/2009/12/29/science/29train.html?_r=4&ref=science
20:04:49 -!- Slereah has quit (Read error: 60 (Operation timed out)).
20:05:32 <ehird> grr, new york times wants me to login
20:05:47 <oerjan> MWAHAHA i got past without this time
20:06:04 <uorygl> I think I created a New York Times account.
20:06:05 <oerjan> incidentally i never login when it wants me to
20:06:19 <uorygl> You know, this is what BugMeNot was made for.
20:08:15 -!- MigoMipo has joined.
20:09:06 -!- MizardX- has joined.
20:23:27 -!- zzo38 has joined.
20:24:26 <zzo38> How can I make a program to read fax document, with a barcode and with filling in like scantron forms
20:25:02 -!- MizardX has quit (Connection timed out).
20:25:32 -!- MizardX- has changed nick to MizardX.
20:26:49 -!- coppro has quit ("I am leaving. You are about to explode.").
20:27:25 -!- coppro has joined.
20:31:20 -!- zzo38 has quit (Remote closed the connection).
20:56:38 -!- snowscape has joined.
21:06:26 -!- Sgeo has quit (Read error: 104 (Connection reset by peer)).
21:11:14 -!- MigoMipo has quit (Read error: 110 (Connection timed out)).
21:58:33 -!- pikhq has quit (Read error: 54 (Connection reset by peer)).
22:02:02 -!- pikhq has joined.
22:02:14 -!- pikhq has quit (Read error: 104 (Connection reset by peer)).
22:07:04 -!- pikhq has joined.
22:15:31 -!- coppro has quit (Remote closed the connection).
22:17:06 -!- coppro has joined.
22:21:06 -!- MigoMipo has joined.
22:21:35 -!- MigoMipo has quit (Remote closed the connection).
22:44:24 -!- lament has quit.
22:58:48 -!- Azstal has joined.
23:01:17 -!- MigoMipo has joined.
23:04:22 -!- Aszstal has joined.
23:09:06 -!- Asztal has quit (Read error: 110 (Connection timed out)).
23:09:16 -!- Aszstal has changed nick to Asztal.
23:16:24 -!- Azstal has quit (Read error: 110 (Connection timed out)).
23:17:12 -!- ehird has quit.
23:21:10 -!- snowscape has quit (Remote closed the connection).
23:29:49 -!- ehird has joined.
23:29:51 <ehird> Hello!
23:29:54 <ehird> Guess what OS I am using.
23:29:57 <ehird> coppro cannot guess.
23:30:33 <oklofok> EhirdOS?
23:30:33 <oerjan> OpenVMS
23:31:17 <Ilari> Plan9 from Bell Labs? :-)
23:31:21 <ehird> oklofok: I. Wish.
23:31:23 <pikhq> Windows?
23:31:27 <ehird> oerjan: I really, really anti-wish.
23:31:32 <oerjan> :D
23:31:36 <ehird> Ilari: Good luck getting it running on this hardware, though I love the thing.
23:31:40 <ehird> pikhq: Nope.
23:32:07 <ehird> pikhq: Nice try.
23:32:08 <pikhq> Imma go with Linux.
23:32:18 <pikhq> Konqueror.
23:32:20 <pikhq> 4.3.
23:32:51 <ehird> Aww, darn you.
23:32:58 <ehird> Fucking web chat exposin' mah browser.
23:33:05 <pikhq> Hahah.
23:33:41 <oerjan> linux? how vanilla.
23:34:47 <ehird> Quite.
23:37:41 <oklofok> well guess what os *i'm* on!
23:38:03 <Pthing> losethos
23:38:28 <coppro> Windows
23:38:30 <augur> Pthing: regarding svg: not quite.
23:38:40 <oklofok> cheater
23:38:52 <coppro> [16:37:59]===CTCP version reply “mIRC v6.31 Khaled Mardam-Bey” from oklofok
23:39:21 <ehird> oklofok: oklOS
23:39:27 <ehird> I'm still relying on you to write that someday
23:39:39 <oklofok> coppro: it's cheating even if you admit it is.
23:40:30 <oklofok> ehird: might be long till i next program anything.
23:41:09 <ehird> oklofok: i'll totally pay you to do it*
23:41:11 <ehird> *lie
23:41:26 * oklofok i tired of explaining stuff to simpletons
23:41:28 <oklofok> *is
23:42:28 <oerjan> explanation: oklofok is a mathematician now. he is only allowed to prove the programs exist, not to write them.
23:42:57 <oklofok> yup
23:43:34 <coppro> can he prove them correct but not test them?
23:43:35 <oerjan> however, if you input his proof to Coq, you can extract the program for there.
23:43:43 <oerjan> *from
23:44:16 <ehird> oerjan: if it's not in oklo style, it's not an oklo program.
23:44:27 <oerjan> true that
23:46:48 <oklofok> also great news, i did manage to meet the game theory dude
23:46:58 <oklofok> so i did not get a mortal enemy.
23:48:35 * oklofok considers doing something
2010-01-10
00:03:22 -!- MigoMipo has quit ("When two people dream the same dream, it ceases to be an illusion. KVIrc 3.4.2 Shiny http://www.kvirc.net").
00:09:12 -!- ehird has quit (Ping timeout: 180 seconds).
00:10:49 * pikhq is probably slightly crazy. Or silly.
00:10:54 <pikhq> Template-like macros, anyone?
00:13:51 <oerjan> are they chocolate-covered?
00:15:21 <pikhq> No.
00:15:34 <oerjan> darn.
00:16:45 <oklofok> the nature is so beautiful
00:16:53 <oklofok> trees, especially
00:17:24 <oerjan> yay, trees
00:17:38 <oklofok> i want to touch them but the snow cover would be damaged
00:18:15 <oerjan> but i think it should start warming above -20 celsius now
00:18:57 <oklofok> -10.8 here, says the internet
00:19:06 <coppro> pikhq: huh?
00:19:13 <oklofok> was near -30 during the week though
00:19:22 <coppro> we had a Chinook yesterday
00:19:49 -!- Asztal has quit (Read error: 60 (Operation timed out)).
00:20:02 <coppro> (Chinook = local name for Foehn wind)
00:20:14 <coppro> was around -20 the rest of the week
00:21:05 <pikhq> coppro: Implementing something similar to C++ templates using macros.
00:21:15 <coppro> oh
00:21:18 <coppro> sounds scary
00:21:28 <coppro> just having better template syntax would be good I think
00:21:31 <oerjan> "AEG registered the trademark Fön in 1908 for its hairdryer. The word became a genericized trademark and is now, with varying spelling, the standard term for "hairdryer" in several languages, such as Finnish, German, Swiss German, Danish, Italian, Dutch, Norwegian, Czech, Croatian, Latvian, Romanian, Hebrew, Slovak, Slovenian, Swedish, Russian, Ukrainian, Turkish and Swiss French."
00:21:34 <oklofok> coppro: do you have beautiful trees there?
00:21:35 -!- Asztal has joined.
00:21:44 <coppro> oklofok: we do! But all the snow melted :(
00:21:54 <coppro> probably not if I went to the mountains though
00:22:02 <coppro> (not melted, not not beautiful)
00:22:03 <pikhq> coppro: The only scary bit is that it needs two GCC extensions to work similarly to C++ templates.
00:22:11 <coppro> pikhq: O_o
00:22:11 <pikhq> ({ }), and functions on the stack.
00:22:15 <coppro> oh
00:22:24 <coppro> meh
00:22:35 <coppro> you meant CPP
00:22:49 <pikhq> ... Yes...
00:23:16 <pikhq> In what other context would "similar to C++ templates using macros" make any sense?
00:24:07 <coppro> any?
00:24:15 <coppro> there are more than just CPP macros
00:24:40 <pikhq> And they don't really make sense when discussing "C++ templates", now do they?
00:24:52 <coppro> well, you didn't explain the context
00:25:09 <coppro> you may have just been trying to make some macro system with similar power or function to C++ templates for all I knew
00:25:30 <pikhq> Why would I do something like that? :P
00:28:10 <oklofok> yeah *that* would've been crazy.
00:28:47 <oerjan> we are mad here, but not _that_ mad
00:54:17 -!- kar8nga has quit (Remote closed the connection).
00:59:59 * SimonRC goes to bed. ( http://eatliver.com/i.php?n=5201 )
01:01:10 <oerjan> very poignant
01:01:37 <oklofok> I DON'T GET IT
01:05:41 <oerjan> it's metaphorical
01:14:43 <oerjan> http://eatliver.com/i.php?n=5190
01:15:22 * oerjan suggests looking carefully at that one
01:19:04 <bsmntbombdood> hello, oerjan
01:19:51 <bsmntbombdood> hello, oklofok
01:20:10 <oerjan> hello, bsmntbombdood
01:25:58 <uorygl> hello, bsmntbombdood
01:36:00 <oklofok> helllllloe
02:16:01 -!- ehird has joined.
02:16:06 <ehird> i'm *totally* dickinsonian
02:17:04 -!- ehird has left (?).
02:17:10 -!- ehird has joined.
02:21:59 -!- ehird_ has joined.
02:23:25 -!- ehird has quit (Ping timeout: 180 seconds).
02:25:18 -!- ehird has joined.
02:25:19 -!- ehird has quit (Client Quit).
02:25:46 -!- ehird has joined.
02:26:38 -!- ehird_ has quit (Ping timeout: 180 seconds).
02:31:29 -!- oerjan has quit ("Good night").
02:41:58 -!- Gregor has quit (Read error: 110 (Connection timed out)).
02:44:39 <ehird> pikhq: ping
02:44:47 <pikhq> ehird: Pong
02:44:54 <ehird> pikhq: what's the Tile command to set theme?
02:44:57 <ehird> tile::setTheme foo doesn't work
02:45:10 <pikhq> I've not messed with Tk 8.5.
02:45:18 <ehird> bah
02:45:20 <ehird> % package require tile
02:45:20 <ehird> 0.8.0
02:45:20 <ehird> % tile::setTheme xpnative
02:45:20 <ehird> invalid command name "tile::setTheme"
02:46:27 <ehird> wiki.tcl.tk sez these should all work
02:46:42 * pikhq shruggeth
02:48:06 <ehird> okay, one really dumb question though
02:48:12 <ehird> I should use tclsh to execute a tcl script, right?
02:48:13 <ehird> batch mode
02:48:17 <ehird> (never wish)
02:49:06 <pikhq> Yes.
02:49:18 -!- coppro has quit (Read error: 104 (Connection reset by peer)).
02:49:31 <ehird> The following instructions are for the Tile package, not for the ttk included in Tk 8.5. There are subtle differences, such as tile::setTheme becoming ttk::setTheme and others.
02:49:34 <pikhq> wish has no reason to exist any more; package require Tk. Always.
02:49:35 <ehird> Badabingo.
02:49:44 <ehird> pikhq: objection: interactive use
02:50:06 <pikhq> ehird: package require Tk works just as well in interactive use.
02:50:12 <ehird> But it's more typing.
02:50:59 <pikhq> I take it you're not familiar with how there used to be a bunch of different tclsh's...
02:51:10 <ehird> hmm
02:51:11 <ehird> ttk::setTheme alt
02:51:11 <ehird> button .b -text "Hello, world!" -command exit
02:51:11 <ehird> pack .b
02:51:14 <pikhq> tclsh, wish, expect, expectk, etc.
02:51:22 <ehird> I wonder if I have to prefix stuff with ttk:: to get it to actually use the widgets
02:51:26 <ehird> because it doesn't seem to be changing anything
02:51:31 <ehird> pikhq: erm, expect is a separate program
02:51:58 -!- Gregor has joined.
02:52:44 <pikhq> ehird: A Tcl shell with expect loaded.
02:57:30 <ehird> http://wiki.tcl.tk/14796
02:57:32 <ehird> :-(
02:57:37 <ehird> I have to use ttk widgets to get theming.
02:57:45 <ehird> I thought it was added to the base Tk widgets; lame.
02:58:10 -!- coppro has joined.
03:10:01 -!- ehird has quit (Remote closed the connection).
03:11:56 -!- ehird has joined.
03:12:04 <ehird> Much better!
03:17:26 -!- BeholdMyGlory has quit (Remote closed the connection).
03:21:32 -!- FireFly has quit ("Leaving").
04:17:14 -!- coppro has quit ("I am leaving. You are about to explode.").
04:37:00 <ehird> #amend if anyone wants to discusserate my editorate btw.
04:49:09 -!- coppro has joined.
04:59:43 <ehird> wb coppro
05:16:57 -!- ehird has quit (Read error: 60 (Operation timed out)).
06:05:02 -!- Pthing has quit (Remote closed the connection).
06:47:28 -!- MizardX has quit (Read error: 110 (Connection timed out)).
06:50:47 -!- lament has joined.
06:59:16 -!- Asztal has quit (Read error: 110 (Connection timed out)).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:16:23 -!- soupdragon has joined.
08:36:01 -!- AnMaster has quit (Read error: 104 (Connection reset by peer)).
08:38:56 -!- AnMaster has joined.
09:06:27 -!- lament has quit.
10:01:06 -!- kar8nga has joined.
10:20:28 -!- jpc has quit (Read error: 110 (Connection timed out)).
11:08:08 -!- soupdragon has quit (Read error: 54 (Connection reset by peer)).
11:08:24 -!- soupdragon has joined.
11:24:22 -!- FireFly has joined.
12:01:52 -!- oerjan has joined.
12:16:54 -!- ais523 has joined.
12:24:38 -!- olsner has quit (Read error: 110 (Connection timed out)).
12:25:17 -!- olsner has joined.
12:34:56 -!- MizardX has joined.
12:36:53 -!- augur has quit (Read error: 113 (No route to host)).
12:47:23 <ais523> <lalaland4711> Side effects for any library function may include it returning NULL, the program exiting, or fucking output to standard output!
12:47:56 <ais523> sounds like an esolang
13:00:36 -!- zeotrope has joined.
13:09:11 <SimonRC> huh? where?
13:09:27 <soupdragon> hi SimonRC
13:09:41 <SimonRC> hi
13:16:09 -!- oerjan has quit ("leaving").
13:29:37 -!- k has joined.
13:29:58 -!- kar8nga has quit (Nick collision from services.).
13:30:01 -!- k has changed nick to kar8nga.
13:42:00 -!- kar8nga has quit (Remote closed the connection).
13:49:25 <AnMaster> does anyone know if information is transferred faster by reading or by listening. Assume a skilled reader and native speaker.
13:49:54 <oklofok> reading, absolutely
13:50:18 <oklofok> it's impossible to talk at the normal reading speed
13:50:22 <AnMaster> true
13:50:39 <AnMaster> oklofok, well what about news? Try talking as fast as they do on news on TV or radio
13:50:45 <AnMaster> you will have a hard time managing that
13:51:09 <AnMaster> (at least, most people have a hard time managing that)
13:51:55 <oklofok> even if i just mumble something like "bzzb" for every word, it will take about 3 times more to read something
13:52:04 <oklofok> looking at a sentence at a time vs. looking at a word at a time
13:52:05 -!- BeholdMyGlory has joined.
13:52:11 <AnMaster> hm probably
13:52:33 <oklofok> a bit of an exaggeration maybe, but i think it's definitely reading.
13:52:45 <oklofok> (i did test the bzzb thing)
13:53:59 <AnMaster> hm
13:59:43 <AnMaster> bbl
14:00:03 <ais523> ehird for the logs, here's a Perl6 code snippet for you: "subset Even of Int where { $_ % 2 == 0 }"
14:00:12 <ais523> now if only we could persuade them to do type inference too, that would be perfect
14:00:41 <ais523> (and as it's Perl6, I shudder at the $_ and think $^a would work better)
14:00:41 <soupdragon> think an advanced perl6 compiler could prove that even + even = even?
14:02:55 <ais523> no, it doesn't try to do type inference at all
14:04:14 <ais523> ooh, it does work with $^a too
14:04:33 <ais523> I bet it looks at how many arguments the block's expecting, and uses $_ or the first arg accordingly
14:05:03 <ais523> works with pointy blocks too, this is fun
14:10:36 <AnMaster> ais523, $^a ?
14:10:39 <AnMaster> what does that mean
14:10:54 <AnMaster> and why the alphanumeric bit. Did they run out of other symbols?
14:10:56 <ais523> AnMaster: if you use variables starting $^ inside a block in perl6
14:11:03 <ais523> then they become arguments to the block, in alphabetical order
14:11:09 <AnMaster> hm okay
14:11:26 <AnMaster> ais523, do they just take every feature they can think of and throw it in?
14:11:31 <ais523> e.g. {"$^a $^c $^b"}<1 2 3> returns "1 3 2"
14:11:50 <ais523> um, forgot the parens
14:12:06 <ais523> > say {"$^a $^c $^b"}(|<1 2 3>)
14:12:08 <ais523> 1 3 2
14:12:16 <ais523> and forgot to interpolate the param list
14:12:28 <AnMaster> ais523, interpolate?
14:12:30 <ais523> if you don't like the implicit alphabetical order thing, you can do it explicitly
14:12:31 <AnMaster> the param list?!
14:12:43 <ais523> AnMaster: func(<1 2 3>) passes it one argument, the list (1, 2, 3)
14:12:50 <AnMaster> ah
14:12:54 <ais523> func(|<1 2 3>) passes it three, 1, 2, and 3
14:13:04 <AnMaster> well okay, varargs style kind of
14:13:05 <ais523> which could of course be written func(1, 2, 3)
14:13:20 <AnMaster> I can see why that other notation is useful
14:13:27 <AnMaster> to pass varargs from an array
14:13:40 <ais523> > say -> $first, $second, $third {"$first $third $second"}(|<1 2 3>)
14:13:41 <ais523> 1 3 2
14:13:54 <AnMaster> or for invoking functions with a list of arguments and you don't know the function or the number of arguments until runtime
14:13:56 <ais523> if you don't like alphabetical order, you can use a lambda instead
14:14:04 <ais523> although it's kind-of weird that the lambda operator is -> {}
14:14:13 <AnMaster> hm
14:14:41 <ais523> > say (sub ($first, $second, $third) {"$first $third $second"})(|<1 2 3>)
14:14:44 <ais523> 1 3 2
14:14:48 <ais523> that's perl5y syntax for a lambda, also accepted in perl6
14:15:23 <ais523> > say (sub ($first, $second, $third) {"$first $third $second"})(:second(2), :third(3), :first(1))
14:15:24 <ais523> 1 3 2
14:15:28 <ais523> and you can name the arguments instead if you like
14:15:36 <ais523> when calling a sub
14:15:58 <ais523> > say -> $first, $second, $third {"$first $third $second"}(:second(2), :third(3), :first(1))
14:15:59 <ais523> 1 3 2
14:16:07 <ais523> with the pointy block too, it seems pointy blocks work identically to subs
14:22:51 -!- kar8nga has joined.
14:41:45 -!- jetxee has joined.
14:42:04 -!- jetxee has left (?).
14:48:14 <AnMaster> ais523, pointy blocks?
14:48:27 <ais523> AnMaster: the -> {} notation for lambdas
14:48:32 <AnMaster> ah
14:48:39 <AnMaster> ais523, thought you meant <>
14:48:46 <AnMaster> looks pointy to me
14:49:01 <ais523> > say {"$^a $^c $^b"}(:b(2), :c(3), :a(1))
14:49:03 <ais523> 1 3 2
14:49:06 <ais523> wow, that works as well?
14:49:09 <ais523> I'm impressed
14:49:19 * ais523 abbreviates
14:49:57 <ais523> hmm, seems they got rid of the :1a abbreviation for :a(1)
14:50:19 <ais523> probably a good thing, that was beginning to get too silly for words
14:50:41 <AnMaster> ais523, hm?
14:51:07 <ais523> the only real reason they added :1a to the language
14:51:15 <ais523> was so you could have a function with params called st, nd, and th
14:51:19 <ais523> and do :2nd
14:51:21 <AnMaster> err okay
14:51:27 <AnMaster> are those reserved words?
14:51:28 <ais523> also, to make Python programmer's heads explode
14:51:36 <ais523> AnMaster: nothing's a reserved word in Perl6
14:51:47 <AnMaster> ais523, then why can't you have params called st, nd or th?
14:51:51 <ais523> you can
14:52:01 <ais523> just you'd have to write :nd(2) rather than :2nd
14:52:07 <ais523> which defeats the whole point in that naming
14:52:12 <AnMaster> ais523, is that perl6 syntax?
14:52:21 <AnMaster> because iirc you used shift or something in perl5
14:52:24 <ais523> yes, although it's not stabilised yet
14:52:41 <ais523> perl6 has actual syntax for arguments
14:52:46 <ais523> rather than lumping them all in @_
14:52:51 <AnMaster> ais523, also I'd much rather use python than perl. Even for text processing
14:53:23 <AnMaster> perl does make my head explode, Python only makes the frontal indention lobe explode
14:54:47 <AnMaster> ais523, still I have found the secret of perl now
14:54:51 <AnMaster> still,*
14:55:01 <ais523> > sub if ($a) { say $a } ; if('Hello, world!');
14:55:03 <ais523> Hello, world!
14:55:33 <soupdragon> if ??
14:55:41 <AnMaster> which is: if you can think of a single use case where it would be one letter shorter than current alternatives, implement the feature
14:55:56 <AnMaster> soupdragon, he redefined if
14:56:02 <AnMaster> read the line
14:56:02 <ais523> no, I didn't
14:56:04 <ais523> I defined it
14:56:08 <ais523> the original usage of if still works
14:56:12 <AnMaster> err
14:56:21 <AnMaster> ais523, how can both work at once?
14:56:33 <soupdragon> AnMaster, quantum physics
14:56:38 <ais523> there's no code snippet where it's ambiguous whether you mean if the control-flow operator or if the function
14:57:41 <AnMaster> soupdragon, :P
14:59:23 <ais523> > if (1 != 2)+4
14:59:25 <ais523> 5
14:59:26 <ais523> > if(1 != 2)+4
14:59:28 <ais523> 1
15:00:17 <ais523> > if (1 != 2) { say "Hello, world!" }
15:00:19 <ais523> Hello, world!
15:00:29 <ais523> > if(1 != 2) { say "Hello, world!" }
15:00:30 <ais523> Confused at line 1, near "{ say \"Hel"
15:00:34 <ais523> whitespace sensitivity is fun
15:00:46 <ais523> (those are, respectively, function, function, control operator, syntax error)
15:02:40 -!- lifthrasiir has quit (Read error: 60 (Operation timed out)).
15:23:55 -!- soupdragon has quit ("Leaving").
15:24:45 -!- soupdragon has joined.
15:25:58 -!- soupdragon has quit (Client Quit).
15:29:19 -!- lieuwe has joined.
15:31:38 -!- soupdragon has joined.
15:38:23 <lieuwe> i need a name for the esolang i'm making, hard to come up with something that isn't used already :-/
15:38:34 <soupdragon> call it lieuwe
15:38:59 <lieuwe> soupdragon: ehrm, no, i wouldn't like my name all ofer ze interwebz
15:39:17 <soupdragon> whats the language
15:39:20 <soupdragon> whats it
15:39:21 <soupdragon> show me
15:40:01 <AnMaster> <lieuwe> soupdragon: ehrm, no, i wouldn't like my name all ofer ze interwebz <-- if you don't, why are you using that nick on irc
15:40:02 <lieuwe> (add[(get[foo]),(get[bar])]) to add two variables...
15:40:18 <AnMaster> since this channel has public logs after all.
15:40:25 <lieuwe> and do nothing with the result :-P
15:40:37 <soupdragon> how is it eso?
15:40:45 <AnMaster> lieuwe, looks just verbose,
15:40:48 <pikhq> lieuwe: ... You mean you don't go by Real "nick" Name?
15:40:49 <AnMaster> s/,$//
15:40:58 <lieuwe> soupdragon: not yet, need to add some odd funcs in...
15:41:08 <soupdragon> ok
15:42:04 <lieuwe> decisions, decisions...
15:43:16 <lieuwe> pikhq: nope, atleast not here, i do on most forums...
15:43:48 <pikhq> Lame.
15:44:21 <lieuwe> pikhq: ?
15:54:28 -!- uorygl has quit (Read error: 60 (Operation timed out)).
15:55:33 <lieuwe> i need some moar ideas, is there some place where i can find high level esolangs? the wiki doesn't seem to have any...
15:55:47 <pikhq> Glass
15:56:21 -!- uorygl has joined.
15:58:40 -!- olsner has quit (Read error: 60 (Operation timed out)).
16:02:21 <ais523> lieuwe: the issue is, most esolangs are created to explore a particular concept
16:02:31 <ais523> whereas high-level languages tend to be full of lots of different concepts
16:02:54 <ais523> and then there are languages which feel simultaneously high- and low-level, like INTERCAL
16:03:19 <ais523> (the whole thing's pretty much an abstraction inversion; you have some rather high-level commands/operators, but they're mostly useful only for implementing low level commands/operators in)
16:04:13 <lieuwe> ais523: hmm, yeah, i was thinking 'bout going in a different direction with this, i have the lexer/parser done, i was thinking about a esolang to python converter... or possibly just convert it to a ast and execute it...
16:04:32 <lieuwe> and that users could define their own lang for it...
16:04:35 <ais523> lieuwe: those are typical methods of implementing esolangs
16:05:28 <ais523> (CLC-INTERCAL manual: http://smuggle.intercal.org.uk/manual/)
16:05:38 <ais523> it has things like first-class filehandles
16:05:49 <ais523> to the extent that you can steal a filehandle from another process and continue reading from it / writing to it
16:06:30 <lieuwe> ais523: 0.o
16:06:45 <ais523> CLC-INTERCAL has something very like object-orientation, too
16:07:30 <ais523> and something which is vaguely similar to a reference, except it isn't
16:07:45 <lieuwe> ais523: now that sounds like tho mother off all esolangs
16:08:03 <ais523> huge progress has been made in INTERCAL development over the past few years
16:08:13 <ais523> e.g. C-INTERCAL's threading model and CLC-INTERCAL's data type model
16:08:49 <pikhq> lieuwe: It is.
16:09:13 <AnMaster> <ais523> lieuwe: those are typical methods of implementing esolangs <-- typical?
16:09:27 <pikhq> "Caution! Under no circumstances confuse the mesh with the interleave operator, except under confusing circumstances!"
16:09:32 <ais523> AnMaster: compilation to an existing high-level language, and tree-ising and then interpreting
16:09:33 <AnMaster> well there are a few examples of it, but I wouldn't call it typical
16:09:43 <AnMaster> ais523, ah hm.
16:09:46 <ais523> pikhq: confusing mesh and interleave just gives you a syntax error anyway
16:09:54 <AnMaster> ais523, misinterpreted you then. Thought you meant "doing like CLC"
16:09:57 <ais523> oh
16:09:59 <AnMaster> which is quite unusual afaik
16:10:09 <ais523> no, that's certainly an atypical method of implementing an esolang
16:10:31 <ais523> (CLC-INTERCAL is implemented in CLC-INTERCAL; most of the code that does the actual work, though, is in the VM, which is written in Perl)
16:10:39 <pikhq> lieuwe: Also, here's an operator: http://upload.wikimedia.org/wikipedia/commons/4/41/INTERCAL_Circuitous_Diagram.svg
16:10:55 <ais523> pikhq: actually, I'm pretty sure that diagram is just a joke
16:11:06 <ais523> some people have tried tracing it and it doesn't seem to mean anything meaningful
16:11:08 <lieuwe> pikhq: O.o
16:11:11 <pikhq> ais523: Yes.
16:11:25 <pikhq> The select operator actually has mechanics...
16:11:29 <pikhq> Erm. Semantics.
16:11:35 <pikhq> Not a bus line to New York.
16:11:40 <AnMaster> pikhq, it doesn't make sure even if you know what select does.
16:11:52 <ais523> the biggest giveaway is that it takes two 8-bit arguments in the diagram
16:11:57 <ais523> but two 16-bit arguments in the code
16:12:19 <ais523> although it might be a stripped-down version, I suppose
16:12:53 <AnMaster> ais523, but what does it do instead of select
16:13:12 <ais523> who knows?
16:13:28 <ais523> it uses a complicated version of logic, which has more than two values for its booleans
16:13:40 <AnMaster> and does one of the outputs lead to power supply?
16:13:44 -!- olsner has joined.
16:13:48 <AnMaster> look near the bottom
16:14:12 <AnMaster> ais523, ^
16:14:16 <AnMaster> hi olsner
16:14:28 <ais523> AnMaster: err, no, that looks more like they just grounded one of the wires
16:14:30 <olsner> AnMaster: hiya
16:14:31 <ais523> which might be an input for al I know
16:14:33 <ais523> *all
16:14:40 <ais523> standard method of indicating a constant 0 on a circuit diagram
16:14:46 <AnMaster> horrible forcast here: -26 C during the night
16:14:53 <ais523> ouch
16:14:54 <AnMaster> ais523, oh right
16:15:44 <AnMaster> ais523, what do you call the space below the house in English. Usually there is some inspection hatchet somewhere. Most of the time you can't stand straight in there
16:16:01 <AnMaster> definitely not cellar.
16:16:08 <ais523> AnMaster: "basement" and "cellar" are both used, but for larger spaces
16:16:09 <olsner> Boden went from -31 to +.5 in one day
16:16:16 <ais523> (a basement's somewhere you live in, a cellar's a storage space)
16:16:17 <AnMaster> ais523, not large
16:16:23 <AnMaster> but maybe half a meter high
16:16:28 <ais523> I think it's pretty rare to have a small space beneath the house in the UK
16:16:32 <AnMaster> you can't store stuff in it, nor live in it
16:16:32 <ais523> so we don't have a word for it
16:16:33 <pikhq> AnMaster: "Crawl space".
16:16:36 <AnMaster> pikhq, ah
16:16:38 <ais523> normally it's just the foundations straight underneath
16:16:41 <AnMaster> well "grund" in Swedish
16:16:47 <ais523> pikhq: that would be the general term, not for a place under a house in particular
16:16:48 <AnMaster> ais523, how do you inspect the foundations?
16:16:54 <AnMaster> then
16:16:54 <ais523> AnMaster: you don't?
16:16:56 <pikhq> ais523: Yes.
16:16:57 <AnMaster> huh
16:16:58 <ais523> or you dig up the floor, if you need to
16:17:22 <ais523> the ground temperature in the UK rarely gets so low that it freezes pipes, or that you have to insulate the house from it
16:17:49 <AnMaster> ais523, well we have a temp/humidity sensor in that crawl space in this house. The remote unit that you read the results on shows it as -1.2 C in there
16:17:57 <AnMaster> and there are water pipes around there somewhere
16:18:03 <AnMaster> :/
16:18:26 <AnMaster> it is rarely this cold for so long as it has been this winter
16:18:50 <AnMaster> if it hits -20 C or so around here, it is usually just for a day or two. Rather than several weeks
16:19:01 <ais523> it's been worse than usual here
16:19:08 <ais523> but worse than usual is just -3 or so at night, and snow most days
16:19:09 <AnMaster> there too? hm
16:19:13 -!- kar8nga has quit (Read error: 110 (Connection timed out)).
16:19:17 <AnMaster> ais523, -3 *at night*
16:19:38 <AnMaster> that's practically early spring!
16:19:51 <ais523> yep, this is why we don't need underground crawl spaces
16:20:03 <AnMaster> heh
16:21:16 -!- ehird has joined.
16:21:18 <AnMaster> ais523, anyway the weather has been strange this weekend. Warmest place was somewhere up near the polar circle, and coldest in mid-south
16:21:36 <ehird> Hi!
16:21:39 <AnMaster> ehird, hello
16:21:54 <ehird> #amend for talking about my text editor, btw.
16:21:58 <ehird> *for talking
16:22:02 <AnMaster> pikhq, do you americans have a specific name for that type of crawl spaces though?
16:22:10 <AnMaster> ehird, alter you mean?
16:22:16 <AnMaster> ehird, or how did the vote go?
16:22:24 <pikhq> AnMaster: No.
16:22:30 <AnMaster> ehird, amend sounds so religious ;P
16:22:35 <pikhq> It doesn't come up enough generally.
16:22:36 <ehird> Uh, I think it was 3:3:1.
16:22:45 <ehird> AnMaster: No it doesn't. Alter does, though - altar.
16:22:59 <ehird> Anyway, I prefer amend, so there.
16:23:02 <AnMaster> ehird, "amen(d) - the fundamental(ist) text editor"
16:23:05 <AnMaster> nice slogan?
16:23:15 <ehird> Not... really, no.
16:23:25 <ehird> Methinks I prefer "For the generalised transmogrifying of textual information." :-P
16:23:40 <AnMaster> ehird, which one is most memorable?
16:23:59 <ehird> Neither are memorable at all.
16:24:09 <ais523> ehird: did you logread before coming online, by the way?
16:24:12 <AnMaster> ehird, also amend sounds like it would be /etc/init.d/amend
16:24:15 <ehird> doing so
16:24:17 <AnMaster> as in: a daemon
16:24:50 <ehird> Yeah, and amarok is a daemon that amaros.
16:25:03 <AnMaster> ehird, what?
16:25:06 <ehird> 06:00:03 <ais523> ehird for the logs, here's a Perl6 code snippet for you: "subset Even of Int where { $_ % 2 == 0 }"
16:25:07 <AnMaster> k != d
16:25:08 <AnMaster> ..
16:25:10 <ehird> AnMaster: oops.
16:25:12 <ehird> XD
16:25:18 <ehird> ais523: yep, I know
16:25:42 <ais523> such a pity it doesn't do type inference
16:25:46 <AnMaster> ais523, that line gave me an idea btw: a mathematica/haskell/perl hybrid
16:25:52 <ais523> although, type inference on dependent types is probably TC or even uncomputable
16:25:59 <ais523> AnMaster: go away, that idea is inherently trolling
16:26:00 <ehird> od: the o daemon
16:26:05 <AnMaster> ais523, :D
16:26:16 <ehird> fold: the fol daemon
16:26:17 <AnMaster> ehird, well okay, not every such one
16:26:23 <AnMaster> ehird, ld: the l daemon
16:26:54 <AnMaster> ldd: the l daemon daemon
16:26:58 <ehird> Our editor, who art in /usr/bin,
16:27:03 <ehird> Hallowed by thy Name.
16:27:23 <ehird> Thy ubiquity come.
16:27:29 <ehird> Thy customisation will be done,
16:27:34 <ais523> I /do/ actually like the idea of amen for the editor, and amend for an associated daemon
16:27:36 <ehird> On Windows as it is in Linux.
16:27:43 <ehird> Give us this day our daily mail.
16:27:49 <ehird> And forgive us our permissions violations,
16:27:55 <ehird> As we forgive those who violate permissions against us.
16:28:02 <ehird> And lead us not into Emacs,
16:28:06 <ehird> But deliver us from vim.
16:28:15 <ehird> For thine is the transmogrification,
16:28:18 <ehird> and the power, and the glory,
16:28:21 <ehird> for ever and ever.
16:28:22 <ehird> Amend.
16:28:29 <AnMaster> ehird, that naming scheme doesn't follow: rpcbind: rpcbin daemon?. It is "rpcbind daemon"
16:28:37 <AnMaster> as in, the d is doing twice the work
16:28:46 <AnMaster> thus od could be the od daemon
16:29:01 <ehird> so, to anger AnMaster and confuse ais523: KDE 4 is pretty nice.
16:29:23 <ais523> theory: ehird actually likes all DEs
16:29:27 <AnMaster> ehird, I can imagine worse things than KDE4
16:29:33 <ais523> so far, it's consistent with the evidence
16:29:45 <AnMaster> but I can count them on the fingers of one hand
16:29:58 <ehird> also, shouldn't `subset Even of Int where { .% 2 == 0 }` work?
16:30:01 <ehird> this is Perl 6, after all
16:30:05 -!- Asztal has joined.
16:30:17 <ehird> ais523: no, I dislike OS X, and modern Windows, I think
16:30:21 <ais523> ehird: I don't think % is a legal method name
16:30:24 <ehird> also, I don't like GNOME as much as I used to.
16:30:33 <ehird> ais523: every operator should be a method too, duh
16:30:48 <ais523> ooh, maybe would
16:30:52 <ais523> implicit $_ feels so wrong in Perl6, though
16:30:58 <ais523> even though it's all over the place in Perl5
16:31:04 <ehird> it's not implicit, it's .
16:31:13 <ehird> it's much more Perl 6 than saying $_ imo
16:31:16 <ais523> well, that's an implicit left argument to .
16:31:19 <ais523> which is an operator
16:31:35 <AnMaster> <ehird> also, I don't like GNOME as much as I used to. <-- would you start liking it more if I said I thought KDE4 was better?
16:31:36 <ehird> actually, I'd call prefix . and infix . different operators
16:31:47 <ehird> AnMaster: Surprisingly enough, I don't care about your opinions.
16:31:59 <ehird> ais523: also, have you tried Quassel IRC? Kubuntu includes it instead of Konversation, it's rubbish
16:32:05 <ais523> no, I haven't
16:32:09 <ehird> doesn't feel KDE-ish at all, it just feels unpolished and crappy
16:32:15 <ehird> Konversation is much nicer
16:32:45 <ehird> 06:51:07 <ais523> the only real reason they added :1a to the language
16:32:47 <ehird> 06:51:15 <ais523> was so you could have a function with params called st, nd, and th
16:32:48 <ehird> 06:51:19 <ais523> and do :2nd
16:32:50 <ehird> Beautiful.
16:32:56 <ehird> ais523: are you sure they got rid of it ratehr than rakudo not implementing it?
16:32:59 <ais523> ooh, not sure
16:33:01 <AnMaster> I remember trying konversation some time ago. Was pretty limited back then
16:33:03 <ehird> also, you can do (2 nd) in Haskell
16:33:05 <ehird> *rather
16:33:06 <ais523> it could be that it just isn't implemented yet
16:33:09 <AnMaster> but yeah, it would have been before I even was on freenode
16:33:15 <AnMaster> probably the first irc client I used even
16:33:20 <ehird> instance Num ((Integer -> a) -> a) where
16:33:28 <ehird> fromInteger n f = f n
16:33:35 <ehird> so (2 nd) -> (nd 2)
16:33:47 <ais523> the first IRC client I used was Chatzilla
16:33:47 <AnMaster> hm no, ksirc or something like that... I think that was before konversation even
16:33:55 <ais523> which had loads of rough edges at the time, but was usable
16:34:24 <ehird> I had a rather ridiculous problem with the WiFi here
16:34:32 <pikhq> ehird: o.O
16:34:36 <ehird> It worked on the LiveCD, but activating the proprietary driver post-install just sat there and did nothing.
16:34:39 <ehird> The solution?
16:34:45 <ehird> # depmod -a
16:34:48 <ehird> # modprobe wl
16:34:50 <ehird> And do it again.
16:34:52 <ehird> Go figure.
16:35:13 <ais523> ehird: I had a very similar problem ages ago, trying to install NVidia graphics drivers on Linux
16:35:21 <ais523> when for some reason there wasn't a packaged version, or I couldn't use it
16:35:28 <ais523> (I think I might have been installing on a computer with no internet connection)
16:35:29 <ehird> GRUB (2, even) installation worked fine though, no manual tweaking. Although at first it didn't seem to work, that was just because I forgot to shut down and start up again, which was required for GRUB on Mac or something for some reason.
16:35:53 <ais523> the issue was that it had called its kernel module the exact same thing as one that already existed
16:36:10 <ehird> Compositing wasn't on by default, but I just had to click an "Enable desktop effects" checkbox.
16:36:11 <ais523> I think I fixed it by putting a modprobe in the startup scripts somewhere, to run with exactly the right timing to get the right module
16:36:25 <ehird> All in all, I'm pretty happy.
16:36:36 <ehird> ...apart from font rendering.
16:37:12 <ais523> ehird: which OS is it this time? KDE/Linux?
16:37:20 <ehird> Kubuntu.
16:37:53 * ehird wonders if the small default fonts are making him lean in, or whether he's just leaning in for no reason.
16:38:02 <ais523> you mean, there's a version of Kubuntu that /didn't/ screw up the packaging?
16:38:09 <ehird> Eh?
16:38:25 <ais523> the Ubuntu people have been consistently bad at packaging KDE, for some reason I don't really understand
16:38:34 <ehird> 06:55:41 <AnMaster> which is: if you can think of a single use case where it would be one letter shorter than current alternatives, implement the feature
16:38:37 <ehird> yawn, perl trolling
16:38:41 <ehird> how 1997
16:38:49 <ehird> ais523: It seems alright here
16:39:02 -!- kar8nga has joined.
16:40:07 * ehird tries to figure out how to tell Emacs to disable the fringe
16:40:47 <ehird> 08:07:45 <lieuwe> ais523: now that sounds like tho mother off all esolangs
16:40:50 <ehird> C-INTERCAL is, very literally, that.
16:40:58 <ais523> no, Princeton INTERCAL is
16:41:00 <ais523> C-INTERCAL came later
16:41:07 <ehird> Oops.
16:41:11 <ehird> /C-/d
16:41:53 <ais523> one of the few bits of surviving info about Princeton INTERCAL was that it internally represented numbers as their string representation, in binary
16:41:58 <ais523> probably explains why it was so slow
16:43:06 <ehird> 08:16:48 <AnMaster> ais523, how do you inspect the foundations?
16:43:08 <ehird> 08:16:54 <AnMaster> then
16:43:09 <ehird> 08:16:54 <ais523> AnMaster: you don't?
16:43:11 <AnMaster> <ehird> It worked on the LiveCD, but activating the proprietary driver post-install just sat there and did nothing. <-- what system is that?
16:43:14 <ehird> !qdb
16:43:28 <ehird> AnMaster: perhaps you could read a few lines on and see
16:43:44 <AnMaster> ehird, like you do when log reading?
16:43:53 <AnMaster> (hint: you don't)
16:45:15 <AnMaster> <ais523> the issue was that it had called its kernel module the exact same thing as one that already existed <-- hm. Why not move away the existing module somewhere else
16:45:45 <ais523> AnMaster: because it was being maintained by the package manager
16:45:55 <ais523> and I don't like messing with package-manager-maintained files
16:46:25 <AnMaster> ais523, well, to begin with I'm pretty sure the nvidia module is called "nvidia". Not sure what else would be called that
16:46:36 <ais523> another nvidia module, I assume
16:46:53 <AnMaster> ais523, also, modprobe wouldn't work, would it? insmod might
16:47:08 <AnMaster> unless modprobe does allow you to give the full path
16:47:08 <ehird> AnMaster -- telling you your anecdote is WRONG since 2007.
16:47:08 <ais523> hmm, not sure
16:47:15 <ehird> WRONG, I tell you! WRONG!
16:47:17 <AnMaster> was pretty sure it doesn't. Seems it does
16:47:29 <AnMaster> hm, maybe it was under 2.4 it didn't allow that
16:47:33 <ais523> anyway, I think it was a timing issue, more than giving the full path
16:47:48 <AnMaster> ais523, timing + mounting file systems then?
16:47:57 <ais523> yes, or maybe the initramfs
16:48:00 <AnMaster> ah
16:48:02 <AnMaster> could be
16:49:19 <ehird> Someone guess what my hostname is. :P
16:49:39 <AnMaster> 31.236.104.91.in-addr.arpa domain name pointer customer11288.pool1.Greenwich-GLN5000-BAS0001.orangehomedsl.co.uk.
16:49:42 <AnMaster> no need to guess
16:49:45 <ehird> No, my hostname.
16:49:50 <ehird> Not my domain name.
16:49:57 <AnMaster> well okay.
16:50:08 <AnMaster> ehird, any clues or hints?
16:50:11 * ehird wonders how to find what the default font rendering settings are if he's customised them
16:50:13 <ehird> AnMaster: nope.
16:50:16 <AnMaster> without that it is basically impossible
16:50:30 <ehird> Fine, I'll say warm/cold depending.
16:50:34 <ais523> you can try to guess the hostname of my current computer, too
16:50:42 <AnMaster> ehird, tux?
16:50:52 <ais523> I /think/ it's possible to determine it by having looked at my termcasts or something like that
16:50:52 <ehird> Freezing.
16:50:54 <soupdragon> what about the new quantum algorithm
16:50:57 <soupdragon> ?
16:51:04 <AnMaster> ehird, mac?
16:51:13 <ehird> Freezing.
16:51:15 <AnMaster> ehird, intercal?
16:51:17 <soupdragon> does linear algebra without Gaussian elimination or something
16:51:20 <ehird> Freezing.
16:51:27 <AnMaster> ehird, ehird?
16:51:30 <ehird> Freezing.
16:51:35 <ehird> I have more imagination than this, you know.
16:51:58 <ehird> Oh, I know, I can check the fonts.conf stuff on the CD.
16:52:00 <AnMaster> ehird, well, is it the name of some animal?
16:52:07 <ehird> No.
16:52:17 <AnMaster> hm
16:52:28 <AnMaster> ehird, is it related to programming?
16:52:39 <ehird> No. Science, though.
16:52:44 <AnMaster> ah hm
16:52:51 <AnMaster> ehird, chemistry?
16:53:07 <ehird> No. And I'm not going to do any more yes/nos now, back to cold/warm. :P
16:53:31 <AnMaster> Planck?
16:53:43 <ehird> Exactly middle temperature.
16:53:46 <AnMaster> Einstein?
16:53:52 <ehird> No, wait, Planck is lukewarm.
16:54:00 <ehird> Einstein is slightly sub-lukewarm.
16:54:05 <AnMaster> hm okay
16:54:10 <AnMaster> Feynman
16:54:19 <ehird> ais523: do you know where the root FS is on the Ubuntu CD roms?
16:54:20 <AnMaster> ehird, ?
16:54:23 <ehird> AnMaster: It's not a name.
16:54:25 <soupdragon> hellooooo
16:54:27 <AnMaster> oh
16:54:28 <soupdragon> algorithm here
16:54:32 <ais523> ehird: no, I don't
16:54:32 <ehird> soupdragon: Poop.
16:54:51 <ais523> I don't think I've ever actually looked at the CD ROM filesystem
16:54:57 <ais523> just installed/liveCDed from them
16:54:58 <AnMaster> ehird, well I give up
16:55:08 <ehird> AnMaster: Okay, fine: Physics. Not a name.
16:55:12 <AnMaster> hm
16:55:20 <AnMaster> ehird, electron?
16:55:27 <AnMaster> or not a name of a thing either?
16:55:40 <ehird> Hot.
16:55:47 <AnMaster> ehird, neutron?
16:55:59 <AnMaster> ehird, about root fs of cd: iirc it is a squashfs image there
16:56:09 <ehird> Can I do mount -t squashfs?
16:56:13 -!- Pthing has joined.
16:56:32 <AnMaster> ehird, no clue. Also it might have been some other compressed fs than squashfs.
16:56:42 <AnMaster> ehird, anyway the squashfs thing is a *file* on the cd
16:56:49 <pikhq> ehird: Yes, squashfs is in Linux.
16:56:51 <AnMaster> so you would need to do a loopback mount
16:56:54 <ehird> Yes
16:57:03 <ehird> autorun.inf dists isolinux pics preseed ubuntu
16:57:04 <ehird> casper install md5sum.txt pool README.diskdefines wubi.exe
16:57:09 <ehird> I'm just going to do du
16:57:12 <ehird> And find the biggest file
16:57:12 <AnMaster> ehird, well you never answered: "<AnMaster> ehird, neutron?"
16:57:15 <AnMaster> ehird, file *
16:57:19 <ehird> AnMaster: Hot.
16:57:19 <AnMaster> would tell you
16:57:24 -!- kar8nga has quit.
16:57:26 <AnMaster> ehird, positron?
16:57:35 <ehird> 676504 ./casper/filesystem.squashfs
16:57:36 -!- kar8nga has joined.
16:57:39 <ehird> AnMaster: Hot.
16:57:41 <AnMaster> ehird, proton?
16:57:44 <AnMaster> ehird, why casper?
16:57:53 <AnMaster> ehird, also "how hot"
16:58:00 <ehird> AnMaster: Hot hot hot hot hot.
16:58:04 <AnMaster> there are hell of a lot of elementary particles
16:58:07 <ehird> You are three steps away from the answer in conceptspace.
16:58:12 <ehird> It's not a single particle.
16:58:17 <AnMaster> ehird, boson?
16:58:32 <ehird> On fire
16:58:40 <AnMaster> fermion?
16:58:52 <ehird> Warm
16:58:59 -!- kar8nga has quit (Remote closed the connection).
16:58:59 <AnMaster> huh
16:59:01 <ehird> Okay, okay, fine: it's not a type of elementary particle.
16:59:05 -!- kar8nga has joined.
16:59:06 <ehird> It's a type of composite particle.
16:59:32 <AnMaster> ehird, but a proton is a composite one. Of 3 quarks iirc
16:59:40 -!- Slereah has joined.
16:59:44 <ehird> Oh, shut up.
16:59:46 <ehird> It's meson.
16:59:51 <AnMaster> oh
17:00:19 <soupdragon> hello
17:00:29 <AnMaster> ais523, what about your hostname then
17:00:34 <ehird> soupdragon: hi
17:00:36 <AnMaster> I think it is ehird's turn to guess now
17:00:37 <ehird> ais523:
17:00:38 <ehird> I intend, without three objections, to set the contestmaster of Enigma
17:00:40 <ehird> to 'none'.
17:00:41 <ehird> might wanna do something about that
17:00:44 <ais523> I noticed
17:00:45 <ehird> ais523: ais523-laptop
17:00:48 <ais523> ehird: no
17:00:51 <ehird> darn
17:00:56 <ais523> although that /is/ the default
17:01:03 <AnMaster> the default?
17:01:06 <ais523> this time I actually got to set one
17:01:08 <AnMaster> what do you mean the default
17:01:09 <AnMaster> ah
17:01:10 <ehird> ais523: can you give me warm/cold stuff?
17:01:11 <ehird> AnMaster: ubuntu
17:01:17 <ehird> $username-$computertype
17:01:18 <AnMaster> oh
17:01:19 <AnMaster> right
17:01:31 <ais523> ehird: not really, mostly because a) it takes effort, and b) it's the middle of winter anyway
17:01:34 <Deewiant> Ubuntu sets the hostname based on the username? That's a bit odd
17:01:41 <ais523> agreed
17:01:51 <ehird> Deewiant: Ubuntu is designed around regular single-user machines, and it uses the first name as username by default.
17:01:55 <AnMaster> Deewiant, ubuntu does not target multi user systems in 98% of the cases or so
17:02:00 <ehird> So you get "elliott-desktop", which is a reasonable-ish hostname.
17:02:17 <Deewiant> I suppose that makes sense
17:02:18 <ehird> ais523: then I won't guess :p
17:02:20 <AnMaster> btw, how do you detect if you are on a desktop, laptop or whatever
17:02:23 <ais523> ehird: fair enoguh
17:02:34 <AnMaster> ais523, hah at the second reason
17:02:36 <ais523> I'll make it a more interesting longterm challenge, see how long it is before I let everyone know by accident
17:02:48 <ais523> I won't be trying to hide it, but I won't be trying to drop clues either
17:03:06 <ehird> I will now promptly forget about that challenge
17:03:07 <Deewiant> I've already let everybody know my hostname by accident so I guess I've already lost
17:03:17 <AnMaster> oh and I think I mentioned my hostname(s) in here before.
17:03:24 <AnMaster> so pointless to ask anyone to guess
17:03:26 <ehird> Gee, isit tux
17:03:27 <ehird> *is it
17:03:36 <AnMaster> ehird, not any longer on desktop
17:03:38 <AnMaster> used to be
17:03:43 <ehird> Dragon?
17:03:44 <ehird> Poop?
17:03:51 <AnMaster> ehird, dragon is my laptop.
17:04:01 <Deewiant> And poop is your desktop?
17:04:05 <AnMaster> Deewiant, no
17:04:27 <ehird> ehird@meson:/mnt/poop/etc/fonts$ diff <(ls /etc/fonts/conf.d) <(ld conf.d)
17:04:31 <ehird> *ls conf.d
17:04:34 <AnMaster> Deewiant, poop must be that old p4 that broke down
17:04:39 <ehird> Empty diff; hmph.
17:04:49 <AnMaster> though it was just anmaster-desktop iirc XD
17:04:51 <ehird> Aha, I have ~/.fonts.conf.
17:05:00 <ehird> AnMaster: How Ubuntironic.
17:05:07 <AnMaster> ehird, well it wasn't using ubuntu
17:05:27 <AnMaster> ehird, it ran win xp, slackware, qnx, suse and gentoo during it's lifetime
17:05:29 <AnMaster> iirc
17:05:36 <AnMaster> probably some more distros
17:05:44 <ehird> You used QNX as a main OS?
17:05:59 <AnMaster> ehird, yes because it overwrote boot loader
17:06:03 * ehird rm .fonts.conf, reboot
17:06:08 <AnMaster> so until I had time to fix that
17:06:18 -!- ehird has quit (Remote closed the connection).
17:06:32 <AnMaster> also what is that metallish sound from my keyboard when I hit the key "g"
17:06:33 <Deewiant> And all of those had the same hostname? How boring
17:06:37 <AnMaster> it doesn't sound good at all
17:06:53 <AnMaster> Deewiant, well yes. it was back before I was on irc iirc
17:06:59 <AnMaster> had modem back then
17:07:07 <AnMaster> adsl near the end
17:08:47 -!- ehird has joined.
17:08:49 <AnMaster> anyway, no one up for guessing current hostname? it is temporarily assigned until I think of a better one
17:08:55 <AnMaster> that should give you some help
17:08:58 <ehird> Things look nice now. Yay!
17:09:02 <ehird> AnMaster: anmaster-desktop
17:09:04 <ais523> ehird: rebooted X?
17:09:06 <AnMaster> ehird, alas no
17:09:11 <AnMaster> ehird, freezing evne
17:09:12 <AnMaster> even*
17:09:17 <ehird> ais523: rebooted totally, because they removed ctrl-alt-backspace
17:09:22 <Deewiant> AnMaster: Whether you were on IRC or not doesn't change the fact that it's boring :-P
17:09:41 <soupdragon> quantum algorithm for linear equations
17:09:45 <ais523> ehird: there's a setting to turn it back on, but annoyingly they didn't say where it was
17:09:53 <ais523> and they got rid of dontzap in favour of a more general option
17:10:01 -!- Slereah_ has quit (Read error: 110 (Connection timed out)).
17:10:02 <ehird> "I'm looking for a bug-free, efficiently multithreaded real-time clock + infix calculator hybrid." --reddit
17:10:06 <AnMaster> ehird, so any more guesses?
17:10:11 <ehird> AnMaster: Nope.
17:10:36 <AnMaster> ais523, also what was your host name?
17:10:45 <AnMaster> ehird, tux-arch
17:10:46 <AnMaster> ;P
17:10:59 <ehird> AnMaster: You are boring.
17:11:06 <AnMaster> ehird, as I said: temporary
17:11:19 <AnMaster> ehird, I plan to rename it in the same style as the other ones
17:11:23 <ais523> ehird: oh, it's in the advanced tab under keyboard layouts in KDE, it seems
17:11:26 <ais523> what an obvious place to put it!
17:11:45 <ehird> ais523: I don't really care.
17:11:52 <ehird> It reboots pretty quickly. :P
17:12:01 -!- HackEgo has joined.
17:12:02 -!- EgoBot has joined.
17:12:05 <ais523> ehird: VM, or on the hardware?
17:12:09 <ehird> Hardware.
17:12:09 <ais523> ooh, hi HackEgo, EgoBot
17:12:20 <AnMaster> ehird, however, "kraken" just doesn't cut it. Because sv:kraken = en:"the weak person"/"the poor person"(not about money, more like "poor you", when someone is sick)
17:12:40 <ehird> Buy an old [34]86 and call it that
17:12:44 <AnMaster> ehird, :D
17:12:55 <ehird> Or 286, even
17:13:10 <ehird> It will be your friend and it will run and old version of Slackware and it will do the things you tell it to do, slowly.
17:13:14 <ehird> *run an old
17:13:42 <AnMaster> ehird, and I need a fitting name. Since phoenix actually was symbolic, it was recovered from someone going to throw it away due to broken onboard vga port/graphics chipset (not sure which, never figured that out)
17:13:45 <ehird> Hey, Konversation isn't set to join #amend by default. Let's fix that.
17:13:47 <AnMaster> so it runs headless
17:13:53 <ehird> That was easy.
17:14:00 <AnMaster> dragon, well that thinkpad is quite powerful
17:14:02 <ais523> ehird: right-click the tab, choose "Join on Connect"?
17:14:06 <ehird> ais523: yep
17:14:09 <AnMaster> ehird, it is usually easy for most irc client
17:14:11 <AnMaster> clients*
17:14:19 <ais523> there's a more longwinded way too, but no reason to use it
17:14:22 <ehird> That doesn't change the fact that it was easy.
17:14:32 <AnMaster> well, actually it is trivial for my bouncer, it automatically updates on join by default
17:14:44 <ais523> ehird, it wasn't meant to
17:14:45 <AnMaster> ehird, iirc xchat has the same feature
17:14:53 <AnMaster> ais523, ?
17:14:58 <ehird> ais523: I was talking to AnMaster.
17:15:06 <ais523> ah
17:15:12 <ais523> I was trying to parody AnMaster in my response, anyway
17:15:28 <ais523> ehird's harder to parody, he doesn't have any really obvious typing conventions
17:15:56 <ehird> My unpredictability is either a sign that I'm terribly interesting or simply too mundane to have patterns.
17:15:58 <AnMaster> ais523, what was the convention in question. A bit hard for me to spot as a non-native speaker.
17:16:04 <ehird> Anyone who isn't AnMaster is welcome to tell me which. :P
17:16:18 <AnMaster> ehird, and my answer is "mu"
17:16:23 <ais523> AnMaster: using , rather than : to highlight someone
17:16:27 * ehird reads "crawlspace" on reddit, goes argh
17:16:29 <ais523> it's not a native speaking thing, but an IRC thing
17:16:33 <AnMaster> ais523, that is due to irc client simply
17:16:40 <ehird> Talking to oerjan makes me experience synchronicity or something
17:16:41 <ais523> AnMaster: isn't it customizable?
17:16:44 <AnMaster> ais523, it is
17:16:46 <ais523> Chatzilla used , by default but I changed it
17:16:48 <AnMaster> ais523, but I prefer it this way
17:17:03 <ehird> , is grammatically incorrect.
17:17:08 <ehird> "Elliott, but I prefer it this way."
17:17:18 <ais523> it's not always grammatically incorrect
17:17:30 <ehird> Well, it reads differently than it's supposed to on IRC, at least.
17:17:30 <ais523> it's correct if used as "ais523, could you please go and implement Feather for me RIGHT NOW?"
17:17:34 <ehird> And a lot of the time it's grammatically incorrect.
17:17:38 <ais523> but incorrect when used for the normal IRC meaning
17:17:40 <ehird> I thought the imitation part of "ehird, it wasn't meant to" was "it wasn't meant to".
17:17:48 <ehird> That's the kind of thing AnMaster says a lot.
17:17:51 <ais523> the whole thing was an imitation
17:17:52 <AnMaster> ais523, would you do that?
17:17:53 <ais523> including that bit
17:17:57 <ais523> AnMaster: no, I'm busy
17:18:05 <AnMaster> ais523, also I never said right now
17:18:18 <ehird> that = "implement Feather for me RIGHT NOW".
17:18:22 <AnMaster> ais523, iirc I usually just ask about *if there has been* any progress
17:18:24 <ehird> So "would you do that" does indeed say "right now".
17:18:33 <ehird> </deliberate-misinterpretation>
17:18:46 <ehird> Sheesh, OS X lets me use C-a and C-e for start/end of line, but KDE doesn't.
17:18:46 <ais523> ehird: oh, that was the natural interpretation for me
17:18:50 <ehird> What has the world come to?
17:18:55 <ehird> ais523: I was unsure too.
17:19:18 <AnMaster> ais523, also that "would you do that" was a joke on what you said
17:19:23 <ais523> anyway, you do realise you just made everything ever said in #esoteric a deliberate misinterpretation?
17:19:36 <ehird> What?
17:19:42 <AnMaster> ais523, hahah
17:19:43 <soupdragon> oh my god
17:19:44 <ais523> <style> deliberate-misinterpretation { interpretation: correct !important; } </style>
17:19:47 <ais523> there, that's fixed it
17:19:49 <ehird> Oh.
17:19:57 <ehird> Who said I was using SGML/XML?
17:20:13 <AnMaster> ehird, what were you using instead?
17:20:27 <ehird> éß
17:20:33 <ehird> ë
17:20:37 <ais523> maybe Perl6
17:20:46 <ehird> Gödel
17:20:49 <ehird> Gödel
17:20:49 <ais523> where </deliberate-interpretation> would just be a literal '/deliberate-interpretation'
17:20:50 <AnMaster> ais523, what does that do in perl6? if anything at all?
17:21:06 <ehird> ais523: deliberate-*misinterpretation
17:21:06 <ais523> AnMaster: <> quotes like "", except that it treats whitespace as commas rather than preserving it
17:21:23 <AnMaster> ais523, but didn't you use <> to create a list or such before?
17:21:29 <ais523> yes, exactly
17:21:32 <ais523> I used <a b c>
17:21:35 <AnMaster> oh
17:21:37 <ais523> which is equivalent to ('a', 'b', 'c')
17:21:38 <AnMaster> right
17:22:02 <ais523> wait, no, <> quotes like '' except it treats whitespace as commas
17:22:10 <ais523> it's «» that quotes like ""
17:22:13 <ehird> Hey, I can type £ as Compose L.
17:22:17 <ehird> *Compose L -.
17:22:27 <ais523> shift-3 probably works better
17:22:33 <AnMaster> ais523, it wouldn't be perl if you couldn't escape whitespace inside <>
17:22:36 <AnMaster> so how do you do that?
17:22:40 <ehird> ais523: No, that's #.
17:22:47 <ais523> ehird: US keyboard? aargh
17:22:49 <ehird> ais523: I prefer the US layout, especially as I use # often - commenting, IRC, etc.
17:22:56 <ais523> AnMaster: using «» and backslashing it
17:22:56 <ehird> Also, " is a more common character than @.
17:22:57 <AnMaster> ehird, US or US international?
17:23:00 <AnMaster> ais523, where is # on UK?
17:23:01 <ehird> It should be in the letter area.
17:23:07 <ais523> AnMaster: to the left of return
17:23:09 <ais523> unshifted
17:23:09 <ehird> The UK layout is inferior in more or less every way, except perhaps \ placement.
17:23:13 <ehird> *\|
17:23:19 <AnMaster> ehird, tell me if you find out how to type pi using compose
17:23:23 <AnMaster> I would like to know
17:23:25 <AnMaster> never found it
17:23:45 <AnMaster> ehird, where are *\| placed?
17:23:50 <ais523> ehird: I think the UK layout's superior: it doesn't have one symbol on two different keys (except |, but that's technically two different symbols on Windows)
17:23:53 <AnMaster> since they are in 3 different corners here
17:23:59 <ais523> you can type # without using shift, and it's in an easy-to-press location
17:24:13 <AnMaster> ais523, you have | on two different keys!?
17:24:18 <ehird> I don't want to talk about the UK layout, anyway.
17:24:20 <ehird> http://www.modeemi.fi/~tuomov/b/2009/updates/Compose.txt
17:24:27 <ais523> AnMaster: altgr-`, shift-\
17:24:28 <ehird> No pi here, as far as I can tell.
17:24:30 <ehird> You could add it.
17:24:34 <ais523> although, they're different symbols in EBCDIC
17:24:39 <ais523> one has a broken bar, the other is continuous
17:24:40 <AnMaster> ais523, the former is ± here
17:24:48 <AnMaster> the later... well that is tricky
17:24:49 <ehird> <Multi_key> <p> <i> : "((pi symbol))" Uxxxx # UNICODE NAME
17:25:49 <AnMaster> ais523, wait, altgr-<forward accent, as in é, dead key> is ±, altgr+shift+<forward accent shifted to `> is ¬
17:25:57 <ehird> U03C0 # GREEK SMALL LETTER PI
17:26:06 <ehird> π
17:26:07 <ehird> So
17:26:10 <AnMaster> ais523, and \ is altgr-+ so ¿ for shift-altgr-+
17:26:23 <ehird> <Multi_key> <p> <i> : "π" U03C0 # GREEK SMALL LETTER PI
17:26:27 <ehird> Just append to your Compose file.
17:26:28 <ehird> You're welcome.
17:26:36 <AnMaster> ehird, Now to locate the compose file
17:26:47 <ehird> "locate Compose"
17:26:49 <BeholdMyGlory> AnMaster: Create ~/.XCompose
17:26:53 <ehird> /usr/share/X11/locale/(locale)/Compose
17:26:56 <ehird> Or what BeholdMyGlory said.
17:26:58 <AnMaster> ah
17:27:11 <AnMaster> /usr/share/X11/locale/compose.dir
17:27:11 <AnMaster> /usr/share/X11/xkb/symbols/compose
17:27:13 * ehird assigns the Windows keys to Compose.
17:27:14 <AnMaster> are the closest one
17:27:20 <ehird> BeholdMyGlory: Does that overwrite the global file or append?
17:27:26 <ais523> you mean you can create a compose shortcut for a Unicode snowman?
17:27:28 <AnMaster> none matches exactly what ehird suggested
17:27:33 <ehird> ais523: EXCELLENT IDEA
17:27:40 <ehird> Aww, sm is taken: ℠
17:27:42 * AnMaster agrees with ehird on this
17:27:44 <BeholdMyGlory> ehird: I don't know, I copied the global file to ~/.XCompose
17:27:58 <ehird> BeholdMyGlory: is there any command to activate it or do I have to restart X?
17:28:09 <BeholdMyGlory> No idea :P
17:28:16 <ehird> ais523: Perhaps sy, as in unicode Snowman for You.
17:28:22 <ehird> Or us, for Unicode Snowman.
17:28:38 <ais523> incidentally, the Ubuntu wiki recommends using the SAK for restarting X nowadays
17:28:47 <ehird> wow, DejaVu's snowman is brilliant
17:28:47 <ais523> because you can't hit it by mistake using accessibility shortcuts
17:28:48 <ehird> http://unicodesnowmanforyou.com/
17:28:57 <ehird> He's wearing a top hat, smiling, standing on a slope, and has snow around him
17:28:59 <ais523> ooh, it's bigger than I remember it
17:29:06 <ehird> SAK?
17:29:13 <ais523> alt-(sysrq+k)
17:29:14 <AnMaster> ostrange
17:29:16 <AnMaster> strange*
17:29:25 <AnMaster> my locale is not in /usr/share/X11/locale/
17:29:51 <AnMaster> would be sv_SE.UTF-8
17:30:18 <AnMaster> oh the mapping file
17:30:20 <AnMaster> en_US.UTF-8/Compose sv_SE.UTF-8
17:30:44 <ais523> sv_SE = Swedish Swedish?
17:30:53 <AnMaster> ais523, as opposed to sv_FI
17:31:05 <ais523> I'm just amused that it's a different abbreviation at each side
17:31:19 <AnMaster> ais523, I think SE is country code
17:31:27 <AnMaster> and sv is language code or suc
17:31:28 <AnMaster> such*
17:31:42 <ehird> I wonder what the name of the Unicode Snowman is.
17:31:48 <ehird> I need its name to add the Compose comment. :(
17:32:05 <Deewiant> ehird: 'SNOWMAN'
17:32:34 <ehird> Apparently include "%L" does something in .Xcompose.
17:32:40 <ehird> I bet L=locale=include locale's compose.
17:32:46 <ais523> why is there a snowman in Unicode anyway, by the way?
17:32:46 <AnMaster> how does one reload the compose file
17:32:50 <ehird> ais523: Why not?
17:32:54 <ehird> AnMaster: Restart X, I guess
17:33:00 <ais523> ehird: most things in Unicode are put there for a reason, I think
17:33:01 <AnMaster> ehird, man page says it means "your locale"
17:33:04 <AnMaster> %L that is
17:33:09 <ais523> it's not like Unicode magically gathers characters without people agreeing on them
17:33:12 <ehird> ais523: Perhaps a legacy character set
17:33:13 <ais523> so someone must have put it ther
17:33:15 <AnMaster> "and %L expands to the name of the locale specific Compose file (i.e., "/usr/share/X11/locale/<localename>/Com‐
17:33:15 <AnMaster> pose").
17:33:15 <AnMaster> For example, you can include in your compose file the default Compose file by using:
17:33:15 <AnMaster> include "%L""
17:33:15 <ais523> *there
17:33:20 <AnMaster> ugh the formatting
17:33:20 <ehird> AnMaster: Which man page?
17:33:26 <AnMaster> ehird, man Compose
17:33:27 <Deewiant> ehird: man 5 Compose
17:33:35 <AnMaster> Deewiant, hah, beat you
17:33:39 <ehird> I don't have it.
17:33:43 <Deewiant> I do wonder, though, what it means by that
17:33:44 <AnMaster> ehird, install it
17:33:44 <ehird> ais523: some Ubuntu package?
17:33:54 <ehird> Deewiant: That otherwrise it overwrites the locale's compose file.
17:33:56 <AnMaster> ehird, find it with apt-file
17:33:58 <ehird> *otherwise
17:33:59 <AnMaster> ehird, very useful tool
17:34:04 <ais523> ehird: either that's a really stupid comment, or I misunderstood the context of your sentence
17:34:06 <ais523> I suspect the second
17:34:09 <AnMaster> ehird, it allows you to search on files from not installed packages
17:34:13 <Deewiant> ehird: I mean, /usr/share/X11/locale contains no compose file for any of my locales
17:34:21 <ehird> Deewiant: Does for me.
17:34:27 <ehird> ais523: ?
17:34:31 <Deewiant> ehird: Well, what's your locale
17:34:35 <AnMaster> Deewiant, compose.dir
17:34:35 <Deewiant> C? :-P
17:34:38 <AnMaster> Deewiant, it has a mapping
17:34:45 <ais523> ehird: as in, an Ubuntu package wouldn't have put stuff in Unicode
17:34:48 <ehird> Deewiant: Dunno, either US or brit I guess
17:34:51 <AnMaster> see what I said about sv_SE -> en_US compose mapping above
17:34:53 <ehird> ais523: I meant X11 manpages
17:34:54 <Deewiant> AnMaster: Ah, indeed.
17:35:00 <Deewiant> Which locale value does it use, though?
17:35:04 <Deewiant> LANG? Something else?
17:35:08 <AnMaster> Deewiant, no clue
17:35:48 <ais523> ehird: I can find them in Japanese, but not English
17:35:52 <ehird> I imagine the US and UK Compose files are much the same.
17:35:59 <ehird> ais523: I'm just going to use apt-file
17:36:25 <Deewiant> Well, I suppose it won't be LC_NUMERIC, LC_TIME, LC_MONETARY, LC_PAPER, LC_ADDRESS, LC_TELEPHONE, or LC_MEASUREMENT
17:36:31 <ais523> that's crazy, why is there "xmanpages-ja - Japanese manual pages for X" but no "xmanpages"?
17:36:33 -!- EgoBot has quit (Remote closed the connection).
17:36:38 <Deewiant> So I can fairly safely change my .XCompose to use %L
17:36:45 <ais523> or anything else starting "xmanpages"?
17:36:53 -!- EgoBot has joined.
17:37:03 <AnMaster> ais523, use apt-file
17:37:17 <ehird> ehird@meson:~$ sudo apt-file update
17:37:18 <ehird> Downloading complete file http://gb.archive.ubuntu.com/ubuntu/dists/karmic/Contents-i386.gz
17:37:19 <ehird> Yawn.
17:37:24 <AnMaster> ehird, it takes a bit yes
17:37:49 <AnMaster> $ apt-file find /usr/share/man/man5/Compose.5.gz <-- no results. Maybe elsewhere on ubuntu?
17:38:16 <ehird> Maybe it just doesn't exist.
17:38:33 <ehird> Also, s/find/search/; use proper APT terminology, dammit.
17:38:43 <AnMaster> ehird, it is find for apt-file
17:38:48 <ehird> It's either.
17:38:49 <AnMaster> well both
17:38:53 -!- HackEgo has quit (Remote closed the connection).
17:38:54 <AnMaster> ehird, anything wrong with find
17:38:59 <ehird> search|find <pattern> Search files in packages
17:39:09 <AnMaster> ehird, find is shorter to type
17:39:11 <ehird> APT uses search, apt-file says "Search" as the verb and lists search first. You are a bad person :P
17:39:14 -!- HackEgo has joined.
17:39:31 <ehird> Deewiant: Does the man page say anything about how to load .XCompose without restarting X?
17:40:04 <AnMaster> ehird, alias qfile="apt-file find" alias qlist="dpkg -L" alias emerge="apt-get" ;P
17:40:10 <Gregor> There, now all my bots keep logs, so maybe I'll actually know WHY they quit :P
17:40:16 <AnMaster> (no I don't use that, but the gentoo commands are shorter)
17:40:18 <ehird> Compose doesn't have FOR ALL by default? Hmph
17:40:32 <AnMaster> ehird, give me the line for it
17:40:33 <Deewiant> ehird: Not that I can see
17:40:40 <ehird> It has ≥ and ≤, though.
17:40:46 <ehird> AnMaster: Give me the line for what?
17:40:56 <ehird> Okay, it doesn't even have ->
17:41:00 <ehird> That's bull fucking shit
17:41:04 <Deewiant> ehird: It does say something about cache directories, though, and "see also - mkcomposecache(1)"
17:41:07 <AnMaster> ehird, when you create the "for all" and "there exists" lines, give them to me
17:41:15 <AnMaster> ehird, → is on altgr-i
17:41:16 <Deewiant> Neither the directories mentioned nor that command exist here, though.
17:41:19 <AnMaster> no need to use compose for it
17:41:20 <AnMaster> :)
17:41:26 <ehird> Fuck altgr
17:41:31 <ehird> Compose is a far superior interface
17:41:33 <AnMaster> ehird, you don't have altgr?
17:41:41 <ehird> I have it, but I do not use it.
17:41:44 <ehird> Compose is a superior interface.
17:41:51 <ehird> Alt Gr is just Alt here.
17:41:52 <AnMaster> ehird, it is faster to use altgr than compose though
17:41:55 <ais523> couldn't you make altgr a compose key, leaving the windows-logo key for super?
17:41:58 <ehird> No, it is not.
17:42:01 <AnMaster> fewer key presses
17:42:05 <Deewiant> ehird: My compose has -> →
17:42:15 <ehird> Time(3k) - Time(2k) = Omega
17:42:21 <AnMaster> ehird, mine has -> to →
17:42:22 <AnMaster> as well
17:42:30 <ais523>
17:42:33 <ais523> is altgr-i for me
17:42:35 <soupdragon> ---> -> →
17:42:42 <ehird> (k = keypress)
17:42:44 <AnMaster> ais523, and does it work with compose?
17:42:54 <ais523> C-x 8 is all the compose I need
17:43:14 <AnMaster> ehird, you press altgr and i at about the same time. Not so for compose and then two separate keys
17:43:22 <ehird> You can do Compose+x y.
17:43:25 <AnMaster> ehird, compare shift-A and "shift, release, a"
17:43:46 <AnMaster> ehird, hm true, but do you have to release x there?
17:43:48 <ehird> And in fact, doing key combinations is not very ergonomic anyway.
17:43:55 <ehird> AnMaster: Nope.
17:44:07 <ehird> Wait, yes.
17:44:09 <ehird> But who cares.
17:44:11 <AnMaster> ehird, you do for -> at least
17:44:14 <ehird> I can type it just as fast, so I don't care.
17:44:55 * ehird wonders how to express <>> in compose format
17:45:05 <AnMaster> Deewiant, did you try pkgfile on mkcomposecache?
17:45:48 <Deewiant> What's pkgfile?
17:45:53 <ehird> poop ≠ dung
17:45:53 <AnMaster> why does man Compose on ubuntu open run-mailcap(1)
17:46:00 <AnMaster> that makes no sense whatsoever
17:46:12 <AnMaster> Deewiant, like apt-file for arch
17:46:15 <AnMaster> Deewiant, iirc you ran arch?
17:46:27 <AnMaster> Deewiant, pkgfile is in pkgtools package iirc
17:46:33 <Deewiant> I don't know what apt-file is either, but I suppose I can guess :-P
17:46:51 <Deewiant> Evidently yes, in pkgtools
17:47:05 <AnMaster> Deewiant, it's useful to find what package provides a given file. Also it installs a cronjob to update the db
17:47:10 <AnMaster> iirc
17:47:37 <Deewiant> Yes, it claims to have done so
17:47:53 <AnMaster> $ pkgfile /usr/bin/pkgfile
17:47:53 <AnMaster> community/pkgtools
17:48:12 <AnMaster> Deewiant, unlike apt-file, pkgfile is fairly slow. 5-10 seconds on my sempron system
17:48:20 <AnMaster> with next to no disk activity
17:48:33 <AnMaster> so I suspect very inefficient searching
17:49:16 <AnMaster> still useful though
17:49:23 <Deewiant> Nothing for mkcomposecache
17:49:34 <ehird> brb, restarting x
17:49:40 <ehird> ais523: what's that command to restart x again?
17:49:42 <ehird> sysrq+k?
17:49:49 <ais523> alt-sysrq+k
17:50:04 -!- ehird has quit (Remote closed the connection).
17:50:44 -!- ehird has joined.
17:50:53 <ais523> wb
17:51:00 <ehird> π
17:51:02 <ehird>
17:51:04 <ehird>
17:51:06 <ehird>
17:51:11 <ehird> I am happy now.
17:51:11 <AnMaster> ehird, you can enable that ctrl-alt-backspace again. In gnome go to keyboard settings -> layouts -> layout options. I suspect something similar is possible in KDE
17:51:19 <ehird> Wow, Kopete just notified me about every single online person after connecting.
17:51:22 <AnMaster> it is an xkb option thingy
17:51:23 <ehird> That was... interesting.
17:51:27 <ehird> AnMaster: I don't want to, though.
17:51:30 <ehird> Alt+Sysrq+K is just fine.
17:51:32 <ais523> ehird: what, everyone online in the entire world?
17:51:32 <AnMaster> ehird, ah okay
17:51:37 <ehird> ais523: Har har.
17:51:50 <ehird> π + 3 ≠ 6
17:52:03 <AnMaster> ehird, I interpreted it like ais..., but realised that was stupid, thus didn't say anything
17:52:12 * ehird ♥ Unicode
17:52:15 <AnMaster> an guessed it must be "friends" or something like that
17:52:22 * ehird ♥s Unicode, even
17:52:26 <AnMaster> ehird, where do you have µ
17:52:26 <ehird> AnMaster: People on my contact list, obviously.
17:52:35 <ehird> Kopete being an instant messenger (sp?).
17:52:41 <ehird> µ.
17:52:41 <ais523> wait, people actually use contact lists?
17:52:43 <ehird> Compose m u.
17:52:49 <ehird> ais523: how else are you meant to use IM?
17:52:51 <ais523> I just memorise the email addresses, or where to look them up
17:52:53 <AnMaster> ehird, yeah, see. I don't jump to insane conclusions. Unlike ais523
17:52:57 <ehird> >_<
17:53:10 <ais523> likewise for IM, although I don't use it much if at all
17:53:15 <AnMaster> ais523, in your mail client? you don't use any address book?
17:53:19 <AnMaster> -_-
17:53:20 <ais523> AnMaster: no
17:53:24 <AnMaster> wth
17:53:26 <ehird> I just use Gmail's email autocomplete
17:53:28 <ehird> But for IM
17:53:28 <AnMaster> ais523, paranoia?
17:53:29 <ais523> apart from my sent and received folders
17:53:34 <ais523> AnMaster: no, just too much effort
17:53:35 <ehird> Ignoring the idiocy of remembering a bunch of crappy email addresses vs making one or two clicks to talk to someone,
17:53:40 <ehird> That doesn't even tell me whether they're online or not.
17:53:53 <AnMaster> ehird, how does gmail's auto complete work. Previous people you sent to?
17:53:56 <ais523> ehird: why does it matter if they're online?
17:53:58 <ehird> AnMaster: Or sent to you.
17:54:03 <AnMaster> if so it is like auto collecting an address book
17:54:04 <ehird> ais523: Because if they're not online, I can't talk to them.
17:54:08 <ehird> AnMaster: Exactly.
17:54:12 <ais523> you mean you don't agree to talk to them in advance?>
17:54:16 <AnMaster> ehird, which my mail client does too
17:54:25 <ehird> ais523: How would I do that? By IMing them?
17:54:30 <ehird> "Hey, can I IM you?" "Sure."
17:54:32 <ehird> "Hi."
17:54:49 <ehird> Don't say "go up to them in person", I'm not about to go on a train or a plane every time I want to talk to someone.
17:55:11 <ais523> ehird: how do you find out how they are in the first place?
17:55:18 <ais523> all I can think of is Usenet or IRC
17:55:53 <AnMaster> ais523, for me, the auto collected addresses for incomming are only done from those not marked (or later manually marked) as spam. And are not "bulk" priority (thus filtering mailing lists). And they are placed in a different category
17:55:57 <ehird> I used to use forums quite a bit, so a lot of the contact list is degrees-of-separation'd from there.
17:56:01 <AnMaster> so it is easy to weed them out should that be required
17:56:10 <ehird> Admittedly I only talk to maybe 10 of the people on my list, but I'm way too lazy to strip it down.
17:56:43 <AnMaster> as for IM: I don't use it
17:56:44 <ais523> ehird: and they actually accept being IMed at random times just because they're online?
17:56:46 <AnMaster> irc and email for me
17:56:51 <ais523> sounds as bad as a mobile phone
17:56:51 <AnMaster> forums I avoid when possible
17:56:55 <ehird> ais523: If they have their IM client online, presumably they're willing to talk.
17:57:01 <ehird> You're being pretty idiotic; purposeful or not?
17:57:06 <ais523> ehird: maybe they're trying to talk to someone else?
17:57:18 <ehird> ais523: Most people can hold two separate conversations at once.
17:57:19 <AnMaster> ais523, how does "<ais523> ehird: and they actually accept being IMed at random times just because they're online?" differ from IRC?
17:57:24 <ehird> We do it often in this channel, you know.
17:57:24 <ais523> and slightly purposeful, I'm being far more combative than I need to be
17:57:34 <ais523> AnMaster: because nothing compels me to actually read IRC
17:57:42 <ais523> or to turn highlight on for a channel
17:57:42 <ehird> ais523: Or does it?
17:57:44 <ehird> ais523: I think it does.
17:57:49 <ehird> ais523: I think this compels you to read IRC.
17:57:53 <ehird> ais523: In exactly the same way as IM.
17:57:55 <ais523> ehird: I have unhighlighted a channel before now
17:58:00 <ais523> although, not this one
17:58:16 <ais523> but what I meant for talking to someone else is
17:58:23 <ais523> if you want to talk to person A, you have to set the IM client to online
17:58:34 <AnMaster> you do?
17:58:37 <ais523> even if you aren't open to person B talking to you
17:58:45 <ehird> Look, most people don't mind their friends striking up a conversation with them.
17:58:49 <AnMaster> ais523, can't you set it to busy?
17:58:49 <ehird> If you mind it, that's your problem.
17:59:01 <ehird> In fact, most people *like* it when their friends talk to them.
17:59:05 <AnMaster> as in, online but preocupied
17:59:07 <ais523> ehird: I don't see how most people ever get anything done, then
17:59:26 <ehird> ais523: Did you know that ~15 minute breaks every now and then actually make you more productive?
17:59:29 <ehird> And what AnMaster said.
17:59:32 <ehird> Put it on busy or offline.
17:59:33 <ais523> ehird: yes
17:59:42 <AnMaster> ehird, there is one difference to irc though. Well... to IRC channels. IRC /msg to a single person is more similar
17:59:44 <AnMaster> and that is
17:59:46 <ehird> If someone messages you, say "working, sorry".
17:59:49 <ehird> Simple.
17:59:51 <AnMaster> it is easier to just say "brb" or such
18:00:00 <AnMaster> and ignore the channel for a few hours
18:00:07 <AnMaster> (well "bbl" in that case I guess)
18:00:09 <ais523> hmm, so it's an Internet version of mobile phones, effectively
18:00:13 <AnMaster> when you need to do something else
18:00:20 <AnMaster> ais523, now imagine IM on phones
18:00:23 <ehird> Mobile phones don't have a busy status.
18:00:24 <ais523> probably explains a lot, I don't really understand why people use mobiles either
18:00:28 <ehird> AnMaster: "Imagine"? I have that.
18:00:39 <AnMaster> ehird, well but ais523 is stuck in old tech...
18:00:43 <AnMaster> ehird, I *know* it exists
18:00:52 <ais523> (I am actually angry at people using mobiles, because of the passive effects on the rest of us)
18:00:52 <AnMaster> I just wasn't sure ais523 did
18:00:58 <AnMaster> ...?
18:01:07 <ehird> AnMaster: I think ais523's internal model of social interaction is very, very different to the rest of us
18:01:15 <ais523> (in particular, the general collapse of payphones, and people getting phoned at inconvenient moments while they're meant to be having meetings with you)
18:01:15 <ehird> He seems to view starting a conversation with someone as rude
18:01:19 <ais523> ehird: I do
18:01:28 <ehird> Issues, I think is the word here.
18:01:34 <ehird> Issues.
18:01:46 <AnMaster> ehird, hey, I thought you considered my model of social interaction as different?
18:01:59 <ais523> everyone probably has a different model of social interaction
18:02:05 <ehird> AnMaster: Do you view starting a conversation as rude?
18:02:24 <SimonRC> this argument is stupid
18:02:38 <AnMaster> ehird, not unless it is a random idiot asking for "how do I get program y to work on vista?", for a program I'm just in the channel in
18:02:41 <ehird> AnMaster: Then you're not that crazy.
18:02:44 <AnMaster> I do get that type of /msg once in a while
18:02:49 <Deewiant> Such a view is a very Finnish attitude to have, actually.
18:02:52 <AnMaster> those are generally very irritating
18:02:56 <AnMaster> Deewiant, which view?
18:03:10 <AnMaster> SimonRC, was that self-referential?
18:03:10 <Deewiant> Viewing starting a conversation as rude.
18:03:17 <SimonRC> AnMaster: heh
18:03:17 <AnMaster> oh
18:03:28 <AnMaster> SimonRC, that was the only way I could read it though
18:04:04 <ehird> This channel is now: The official poop channel 2010
18:04:11 <AnMaster> no
18:04:20 <ehird> All non-poop-related discussion is banned, although esolang discussion will be ignored by the powers that be.
18:04:40 <AnMaster> sigh
18:04:41 <AnMaster> anyway
18:05:03 <ais523> ehird: err, arbitrarily changing the topic of a channel tends not to work if you aren't the founder, or at least an op
18:05:18 <AnMaster> ehird, tell me if you find a way to reload compose without restarting X
18:05:28 <AnMaster> otherwise I'm going to delay testing pi
18:05:30 <ais523> I should know, most of my attempts to change it to being about esolangs fail
18:05:30 <ehird> AnMaster: Stop being a pussy and press the keycombo.
18:05:40 <ehird> Or the ☃ will be sad.
18:05:44 <AnMaster> ?
18:05:53 <AnMaster> ehird, what? ctrl-alt-backspace you mean?
18:05:59 <ehird> Yes.
18:06:08 <AnMaster> well no thanks, I have some long running stuff I don't want to abort
18:06:13 <AnMaster> graphical ones
18:06:14 <ais523> ehird: I've kept this X session running for about 3 days now
18:06:23 <ais523> it's a bit annoying, though, because hibernate takes longer than shutting down
18:06:34 <ais523> and weirdly, also corrupts the icon cache
18:06:40 <AnMaster> ais523, hm. I usually keep X running for weeks
18:06:45 <AnMaster> ais523, what?
18:06:55 <ais523> AnMaster: the icons that show up when you press alt-tab
18:07:02 <ais523> for some reason, on this computer hibernation corrupts them
18:07:05 <ehird> I was pleasently surprised last night when suspend to RAM worked perfectly and quickly.
18:07:07 <AnMaster> ais523, they are cached?
18:07:08 <ais523> but has no visible other problems
18:07:11 <ehird> Resume took a bit longer than OS X, but it was nice.
18:07:23 <ais523> AnMaster: I assume so, otherwise htf could they change whilst leaving everything else the same?
18:07:25 <AnMaster> ais523, also if that happened, I wouldn't trust hibernation, who knows what else it may corrupt
18:07:37 <AnMaster> ais523, does restarting the program fix the icon?
18:07:40 <ais523> AnMaster: yes
18:07:44 <AnMaster> ais523, you used "htf"?
18:07:48 <AnMaster> YOU?
18:07:52 * AnMaster blinks
18:08:02 <ais523> AnMaster: yes, I don't see how it can be a swear word if it's that abbreviated
18:08:20 <AnMaster> how very.... aisish
18:08:32 <ais523> it has a meaning of its own
18:08:34 <ais523> like "lol"
18:08:40 <ais523> which is nowadays unusable for its original meaning
18:09:18 <AnMaster> ais523, no it isn't. I tend to use "haha" when I actually doesn't laugh out loud. And "lol" only if I do that. which is rare
18:09:38 <ais523> AnMaster: you're out of touch with modern usage, then
18:10:04 <AnMaster> ais523, correction: I rebel against the modern usage
18:10:05 <ais523> (also, usage differs by channel; for instance in pokemon IRC channels, it normally means "heh, someone sent out something laughably weak", or a similar build)
18:10:08 <ehird> ais523, calling someone out of touch
18:10:09 <ehird> classic
18:10:18 <ais523> ehird: depends on what I'm calling them out of touch /with/
18:10:23 <AnMaster> ehird, I was considering saying that. Then realised I was too
18:10:39 <AnMaster> ehird, I did not quite want you to have that much fun
18:10:51 <ehird> [18:08] <AnMaster> ais523, no it isn't. I tend to use "haha" when I actually doesn't laugh out loud. And "lol" only if I do that. which is rare
18:11:04 <ais523> hey, there's a grammar mistake there
18:11:05 <ehird> Yes, because it's not as if "haha" is an onomatapeeyuh (too lazy to spell) for out-loud laughter or anything.
18:11:09 <AnMaster> ais523, don't*
18:11:09 <ais523> and I only noticed the second time round
18:11:15 <ehird> You're so rebellacious and prescriptivist.
18:11:16 <AnMaster> ais523, the one I meant?
18:11:18 <ais523> what's wrong with me?
18:11:19 <ais523> AnMaster: yes
18:11:26 <AnMaster> ais523, I think I wrote it as /me first then changed my mind
18:12:01 <AnMaster> ehird, I never said I was consistent.
18:12:15 <ais523> another IRC spec issue: technically, aren't people breaking the spec by replying to /me with a non-CTCP privmsg rather than a CTCP-ACTION reply?
18:12:27 <AnMaster> ais523, NCTCP you mean
18:12:32 <AnMaster> or whatever
18:12:37 <ais523> not that there's anything wrong with that, I'm just amused at how far actual IRC usage differs from the spec
18:12:45 <ais523> AnMaster: "CTCP-ACTION reply"
18:12:52 <ais523> CTCP replies are notices
18:12:55 <ehird> AnMaster: *I don't actually laugh out loud
18:12:59 <ehird> sorry, had to fix it
18:13:05 <AnMaster> ehird, see above
18:13:07 <AnMaster> I fixed it
18:13:09 <ehird> *Sorry, had to fix it, even.
18:13:14 <ais523> I sometimes laugh out loud, and then it's really hard to express what I'm actually doing
18:13:20 <coppro> CTCP is a separate spec
18:13:25 <ais523> because "lol" is already taken, and typing it out is a pain
18:13:25 <ehird> "when I actually don't laugh out loud" is not valid.
18:13:27 <ais523> coppro: ok, point taken
18:13:29 <AnMaster> ais523, well, not sure about action. Since it is rather different from the other ctcp
18:13:30 <coppro> which is followed a lot less than the regular spec
18:13:32 <AnMaster> ctcps*
18:13:40 <ais523> ehird: yes it is
18:13:41 <AnMaster> ais523, for VERSION and such sure
18:13:45 <coppro> though the current iteration of IRC isn't exactly well-implemented either
18:13:53 <coppro> the worst, though, is colors
18:13:57 <coppro> no one implements CTCP colors
18:14:00 <ais523> hmm, ctcps sounds like some sort of secure ctcp
18:14:02 <ehird> mIRC does.
18:14:05 <AnMaster> coppro, ctcp colours?
18:14:06 <ais523> coppro: they exist?
18:14:06 <ehird> As does ChatZilla.
18:14:08 <AnMaster> what the heck is that
18:14:08 <ehird> As does X-Chat.
18:14:13 <ehird> Everyone implements IRC colours.
18:14:14 <ais523> ehird: I thought mIRC sent special character codes
18:14:18 <ehird> Oh.
18:14:19 <ais523> rather than doing a CTCP for them
18:14:22 <ehird> Okay then.
18:14:24 <coppro> no, everyone implements mIRC colors
18:14:26 <coppro> not CTCP ones
18:14:34 <AnMaster> so what are ctcp colours
18:14:41 <AnMaster> is*
18:14:51 <ais523> not sure, but I think they might be based on literal control-Cs
18:14:57 <ais523> like CTCP's based on literal control-As
18:15:02 <coppro> http://www.invlogic.com/irc/ctcp.html#3.6
18:15:37 <coppro> mIRC uses ^C
18:15:40 <ais523> my guess is that the reason nobody implements that is that nobody implements CTCPs inline in normal messages
18:15:45 <coppro> but CTCP uses ^FCA<color><color>
18:15:50 <ais523> which is strange
18:16:04 <coppro> same with other formats
18:16:10 <coppro> bold, for instance, is usually just ^B
18:16:13 <coppro> not ^FB
18:17:24 <AnMaster> coppro, what is the format of <color>?
18:17:35 <AnMaster> hey that spec is spelled properly
18:17:37 <AnMaster> <colour>
18:17:37 <lieuwe> almost done writing an overcomplicated bf->python converter...
18:17:46 <ehird> *spelt
18:17:53 <AnMaster> ehird, indeed
18:17:55 <coppro> trying to work that out
18:17:56 <ehird> lieuwe: Is it over 20 lines?
18:17:59 <coppro> ah, so it is
18:18:01 <coppro> yay
18:18:01 <lieuwe> ehird: yes
18:18:05 <fizzie> AnMaster: Ot0-F, an index into the usual-ish 16-colour palette.
18:18:07 <ehird> lieuwe: Rewrite it.
18:18:12 <AnMaster> coppro, ?
18:18:12 <ehird> :P
18:18:14 <fizzie> s/Ot/It's a hex digit in /
18:18:20 <coppro> either IX, where X is a hex digit
18:18:28 <coppro> or an #XXXXXX code
18:18:28 <ais523> fizzie: that's a pretty crazy typo
18:18:33 <lieuwe> ehird: it contains a tokenizer and a grammar analyzer, but the point is that you can write different langs for it...
18:18:48 <ehird> ṕóóṕ
18:18:57 <AnMaster> fizzie, is that for ctcp colour or mirc?
18:19:02 <lieuwe> ehird: you could write a anything->anything converter for it...
18:19:13 <AnMaster> oh it supports full also
18:19:15 <AnMaster> rigt
18:19:16 <AnMaster> right*
18:19:18 <ehird> An anything->anything converter enabler?
18:19:24 <ehird> You mean a language in which you can write compilers?
18:19:25 <ais523> Underlambda!
18:19:39 <AnMaster> ehird, over 20 lines is okay for optimising
18:19:40 <lieuwe> ehird: pretty much,
18:19:40 <ehird> ais523: Is Underlambda implemented yet?
18:19:44 * ais523 wants to write everything->underlambda and underlambda->everything
18:19:44 <AnMaster> with enough optimising I mean
18:19:45 <ais523> ehird: partially
18:19:50 <ais523> the spec isn't pinned down yet
18:20:06 <ais523> and derla, especially, is rather light on implemented commands
18:20:11 <fizzie> AnMaster: Right. The spec was a bit strange, since the part immediately before the color table says "Each colour will be an index, selected from the following table", but it indeed is either IX and #rrggbb.
18:20:18 <ais523> next jobs are probably pinning down I/O, and string handling
18:20:37 <AnMaster> fizzie, and where is the table?
18:21:04 <fizzie> AnMaster: In the spec coppro linked to.
18:21:04 <AnMaster> oh there
18:21:09 <AnMaster> not near the colour command at all
18:21:28 -!- kar8nga has quit (Remote closed the connection).
18:21:44 <AnMaster> fizzie, oh that is I<value from colour table>
18:21:47 <AnMaster> fizzie, as defined above
18:22:21 <fizzie> AnMaster: Yes, I know. That's why the text immediately above the table is a bit misleading.
18:22:36 <AnMaster> ais523, also everything->underlambda seems very ambitious. ;P
18:22:45 <AnMaster> ais523, for a single compiler at least
18:22:47 <ais523> AnMaster: maybe not directly
18:22:54 <ais523> and it would be loads of separate compilers
18:23:12 <ais523> maybe interp-bundling ones, I don't really care about efficiency for that bit
18:23:41 <AnMaster> ais523, write a generic framework for esolang compiling. Oh wait, that won't work. There will be lots of esolangs that won't fit in such a framework, almost by definition
18:24:18 <AnMaster> ais523, also, does underlambda support self modification?
18:24:32 <ais523> not directly, in that the syntax is always the same
18:24:46 <ais523> you can do some pretty heavy command redefinition with the preprocessor, but not at runtime
18:24:53 <AnMaster> ais523, I meant as in "befunge98 -> underlambda"
18:24:56 <fizzie> AnMaster: In any case CTCP's one messy spec. That particular document says it's an Internet Draft, valid for a maximum of six months; and it's from February 1997. The "original" spec from 1994 -- http://www.irchelp.org/irchelp/rfc/ctcpspec.html -- doesn't specify the text formatting codes at all.
18:25:08 <ais523> AnMaster: that's perfectly fine, you just bundle a befunge interp written in underlambda
18:25:15 <AnMaster> ais523, well give up on "everything" then. For compilers. Interpreters would work
18:25:23 <ais523> AnMaster: that is a compiler, technically
18:25:24 <AnMaster> ais523, well true, but that hardly counts as compiling really
18:25:33 <ais523> and the reason to do it like that is so that compilations can be chained
18:25:39 <ais523> so you can, say, compile Unlambda to Thue
18:26:07 <AnMaster> ais523, technically yes. But it isn't really in the spirit of compilation.
18:26:20 <ais523> it is in the spirit of cross-implementing all esolangs, though
18:26:25 <ais523> which is what Underlambda is for
18:26:54 <AnMaster> ais523, not in the spirit, rather "in the interest" would be better there
18:27:00 <lieuwe> i think i might have the most over-complicated hello world program in python here, 148 lines O.o
18:27:04 <ais523> AnMaster: spirit too
18:27:12 <ais523> lieuwe: you should see my hello world in brainfuck
18:27:16 <ais523> that's several megabytes long
18:27:22 <ais523> mostly stdlib overhead
18:27:36 <AnMaster> lieuwe, because it was generated by his C->BF gcc backend
18:28:15 <lieuwe> ais523: O.o, my hellow world was compiled from bf to python, imagine how long that one would be :-O
18:28:24 <AnMaster> ais523, also, what about banana-scheme->unlambda?
18:28:42 <AnMaster> ais523, and unlambda→<various slightly sub-TC languages>
18:29:02 <ais523> AnMaster: only cross-implementing TC langs
18:29:09 <ais523> and maybe sub-TC -> underlambda
18:29:13 <ais523> unlambda itself is a pain to compile out of
18:29:19 <ais523> so you'd want to go via underlambda
18:29:21 <AnMaster> ais523, and underlambda->super-tc?
18:29:33 <ais523> AnMaster: possibly, but it's so hard to test that I might not bother
18:29:45 <AnMaster> ais523, oh? you said you wanted underlambda should be used for cross implementing?
18:29:55 <AnMaster> if it is a pain to compile out of, then what is the point
18:30:11 <ais523> you are muddling Unlambda and Underlambda
18:30:15 <ais523> Unlambda = pain to compile out of
18:30:22 <AnMaster> ais523, also can you really implement befunge98 with all fingerprints required for fungot to run in underlambda
18:30:23 <fungot> AnMaster: ee ' /ignore foo all' maybe then. dunno, your fnord
18:30:26 <ais523> Underlambda = easy to interpret out of, and moderately difficult to compile out of
18:30:27 <AnMaster> ais523, typo then
18:30:40 <ais523> AnMaster: as I said, I/O isn't decided yet
18:30:48 <ais523> but nothing else should be problematic, given TCness and all
18:30:56 <AnMaster> ais523, sure it would. Since it uses SOCK
18:30:59 <AnMaster> for socket IO
18:31:12 <AnMaster> ais523, you thought fungot used netcat or something?
18:31:13 <fungot> AnMaster: are there any builtin plain string matching functions? i'm just using the windows standalone
18:31:51 <ehird> psox
18:32:02 <ais523> AnMaster: what's making you think that socket I/O isn't I/O?
18:32:02 <ehird> all you need is stdio + special semantics for io
18:32:04 <ais523> I don't get your reasoning here
18:32:12 <ehird> ais523: Sockets are MAGIC, dude!
18:32:19 <AnMaster> ais523, well, they are different from file IO
18:32:30 <AnMaster> on unix it isn't just opening a file
18:32:48 -!- coppro has quit (Read error: 54 (Connection reset by peer)).
18:32:50 <ehird> "I am the publisher of a now defunct and formerly popular avant-garde lifestyle magazine from the 70s and 80s. A magazine design enthusiast is now beginning to scan and post full copies of every issue of the magazine. Can anyone offer legal advice or a course of action to pursue (or provide me with a precedent that I can use against this guy)?"
18:32:52 <AnMaster> ais523, plus, SOCK supports listening to incomming connections to. Which means bind() accept() and such
18:32:57 <ehird> I like the part where he admits it's causing no damage whatsoever to him
18:33:01 <ais523> AnMaster: it is still, nevertheless, I/O
18:33:21 -!- ais523 has left (?).
18:33:24 <AnMaster> well true
18:33:34 <ehird> blah = cat /dev/foop
18:33:39 <ehird> blah == /dev/foop3 or w/e
18:33:41 <ehird> tada, listening
18:33:43 <AnMaster> hm?
18:33:57 <AnMaster> ehird, how do you mean.
18:34:41 <AnMaster> "accept incoming connection on port 5432 and return the handle for it"
18:34:57 * ehird wonders where the wastebasket is in kde 4
18:35:16 <ehird> AnMaster:
18:35:20 <ehird> open file /dev/listen
18:35:27 <ehird> write "5432"
18:35:31 <ehird> x = read
18:35:35 <ehird> print x --> /dev/foop
18:35:38 <ehird> open file x
18:35:40 <ehird> y = read
18:35:46 <ehird> print y --> /dev/foop47
18:35:49 <ehird> open file y
18:35:52 <ehird> ...use y as socket...
18:38:56 <lieuwe> after i've implemented bf what should i implement next?
18:39:21 <ehird> Underload!
18:39:37 -!- ais523 has joined.
18:39:40 <ehird> π³ ≠ 27. Hooray for Compose.
18:39:44 <SimonRC> re-implement CLC-INTERCAL?
18:39:46 <ehird> ais523: I thought you were working.
18:39:48 <ehird> SimonRC: ouch
18:39:49 <ais523> I am
18:39:54 <ais523> but I like keeping an eye on a channel
18:39:55 <AnMaster> ehird, sure, but the OS doesn't have it?
18:39:57 <ais523> I actually got something done, though
18:40:08 <ais523> I'm going to continue working nevertheless, and may have to leave again
18:40:11 <AnMaster> well, Plan9 does I guess
18:40:13 <AnMaster> but not linux
18:40:38 <lieuwe> ehird: implementing underload...
18:40:45 <ais523> yay, Underload
18:40:53 <ais523> lieuwe: compiling or interpreting?
18:41:14 <lieuwe> ais523: compiles to python, which is interpreted...
18:41:22 <ehird> Compiling Underload is fun.
18:41:28 <ehird> I pioneered that</ego>
18:41:47 <ais523> ehird: your optimised compiler is of a similar speed to derlo on large programs, I find
18:42:08 <ais523> and derlo's memory usage is a lot lower when faced with code like :*:*:*:*:*:*
18:42:11 <ehird> ais523: My compiler didn't optimise
18:42:18 <ais523> well, you used -O3
18:42:20 <ehird> Also, it would be "your optimising compiler".
18:42:22 <ais523> that's a form of optimising
18:42:22 <ehird> Oh.
18:42:29 <ehird> I see.
18:42:35 <ehird> ais523: It was just a proof of concept.
18:42:41 <ehird> I could write a better one if I wanted.
18:42:49 <ais523> derlo's more optimising, I hope to implement optimised integers at some point
18:42:50 <ehird> Nobody said the strings and the code had to match, after all.
18:42:54 <ehird> So you could do a good bit of optimising there.
18:42:58 <ehird> grr, (set-fringe-style 'left-only) doesn't work
18:43:06 <ais523> what is the fringe?
18:43:30 <ehird> The little grey border to the left and right.
18:43:34 <ehird> (X11 only.)
18:43:36 <ehird> Well, graphical only.
18:44:04 <ais523> ah, which shows you things like lines wrapping
18:44:36 <ehird> It's ugly at the right because the scrollbar is right next to it for me.
18:44:53 <ehird> Although I'd prefer it just be white, instead; having the text run right up against the scrollbar is ugly too.
18:45:19 <ehird> I wish I knew how to set faces without using customise.
18:45:21 <ehird> *customize
18:46:50 <ehird> grr, why can't you drag to rearrange in KDE's taskbar?
18:47:23 -!- lieuwe has quit ("Page closed").
18:47:27 <ais523> ugh, how do you do comments in LaTeX again?
18:47:34 <ehird> % Poop
18:47:45 <ehird> Or % Poop if you want
18:47:46 <ais523> hmm, I was wondering if it was \comment{}
18:47:46 <ehird> ...
18:47:49 <ehird> Or % Poop if you want
18:47:51 <ehird> ...
18:47:54 <ehird> Or %% Poop if you want
18:47:59 <ehird> Konversation does %% -> %...
18:48:04 <ais523> yes
18:48:12 <ais523> because % introduces escape codes
18:48:16 <ais523> %Atime%A
18:48:22 <ehird> %Atime%A
18:48:24 <ehird> No it doesn't
18:48:25 <ais523> hmm, although you can't do ctcps with it it seems
18:48:30 <ehird> poop
18:48:30 <ais523> %Bbold%B works
18:48:31 <ehird> poop
18:48:35 <ais523> but this channel is +c
18:48:36 <ehird> poop
18:48:41 <ehird> poop
18:48:52 <ais523> ehird: heh, %I = tab = italics
18:48:56 <ehird> Yeah.
18:49:02 <soupdragon> read it yet ehird
18:49:04 <ais523> (Konversation treats tab as toggle-italics, which can be annoying)
18:49:08 <ehird> soupdragon: Read what?
18:49:12 <ehird> ais523: that's the correct interpretation
18:49:12 <soupdragon> that buke
18:49:14 <fizzie> ehird: If you're talking about GNU Emacs, (set-fringe-style x) takes a cons cell as x, with car as the left fringe size in pixels and cdr as the right. The textual modes ("left-only" and so on) seem to only work if you use it interactively as M-x set-fringe-style.
18:49:16 <soupdragon> metamorphisi
18:49:19 <ehird> although some clients use it as invert
18:49:21 <ehird> soupdragon: no
18:49:24 <ehird> fizzie: Yes, I figured that out.
18:49:25 <soupdragon> foo!!!
18:49:27 <ehird> Thanks anyway.
18:49:32 <ehird> There should be a way to enable formatting but no colours.
18:49:44 <ehird> I like italics and bold but not red or green.
18:51:00 <ehird> The simplest Emacs Lisp function ever written:
18:51:03 <ehird> (defun run-frink ()
18:51:05 <ehird> (interactive)
18:51:05 <ais523> ehird: do you care enough to write a patch?
18:51:06 <ehird> (comint-run "frink"))
18:51:16 <ehird> ais523: What, to the ircd?
18:51:22 <ehird> I mean for +c and the like.
18:51:23 <ais523> oh, you mean in a channel?
18:51:29 <ehird> There should be +½c.
18:51:33 <ais523> I thought you meant to Konversation, to display only the colours you liked
18:51:37 <ehird> Naw.
18:51:42 <ais523> so you could allow, say, soothing lilac but not clashing orange
18:52:00 <ehird> ais523: you should join #amend. :|
18:52:08 <ais523> not while I'm busy
18:52:16 <ais523> stupid Research Skills course, it's the PhD version of PSE
18:52:18 <ehird> Hey, there's less talk in there than in here. :P
18:52:28 <ehird> ais523: lol
18:52:45 -!- kar8nga has joined.
18:52:59 <ais523> (for people outside the UK who don't know: PSE (sometimes PSHE) is a relatively useless subject (Personal Skills [and Health] education) that's mandatory in UK schools)
18:53:23 <ais523> (and is generally considered a waste of time; the syllabus theoretically includes potentially interesting areas, but the lessons never cover them)
18:53:28 <soupdragon> I don't speak Arabic. - لا أتكلم العربية - lā atakallamu al-ʿarabīyah
18:53:28 <ehird> I swear skills is a backronym from sex.
18:53:45 <ehird> No hablas Inglais or something.
18:53:48 <soupdragon> ehird I voted alter why is it not called alter?
18:54:01 <ais523> ehird: it mostly/entirely isn't even sex education
18:54:01 <ehird> soupdragon: turns out polls take more than one sample :D
18:54:02 <ais523> as you know
18:54:17 <ais523> ehird: what was the final result?
18:54:23 <ehird> ais523: You can't prove that they didn't create it just to avoid having a lesson named sex education. :P
18:54:28 <ehird> 3:3:1
18:54:46 <soupdragon> polls are wrong
18:54:47 <ehird> (Ørjan picked Other, but refused to specify.)
18:54:51 <Pthing> in primary school, before we had sex classes we got sealed brown envelopes to give to our parents
18:54:52 <fizzie> ais523: We have (in theory) this mandatory "introduction to postgraduate studies" course, which should be in the spring period... but the "course portal" website only speaks of the 2009 iteration, the actual course-enrollment-system doesn't find *anything* with the course code, and the preliminary schedules published before Christmas also have it completely missing.
18:54:54 <ais523> literacy! numeracy! computer-literacy!
18:55:03 <ais523> and three others which nobody ever remembers!
18:55:05 <ehird> soupdragon: Well, since it was a draw I just picked the one I liked best.
18:55:11 <Pthing> and the classroom rumour was "oh i heard of this! this is PSE and it means personal sex education"
18:55:16 <soupdragon> reading, riting, rithmetic, rogramming
18:55:17 <Pthing> half true
18:55:38 <ais523> oh, working with others, improving own learning and performance, and problem solvings
18:55:44 <ehird> Reeling and writhing, etc.
18:55:52 <ais523> *problem solving
18:55:55 <Pthing> Values
18:55:59 <Pthing> we had a class on Values
18:56:26 <ehird> with a capital V
18:56:26 <soupdragon> the four R's
18:56:31 <soupdragon> the four Rs*
18:56:34 <ais523> most of our PSE lessons were just incomprehensible
18:56:47 <ais523> there was one about a moon mission with a list of phrases to put into order
18:56:52 <ehird> XD
18:56:55 <ais523> to do with prioritisation, or something
18:57:02 <ais523> also, about half were spent teaching us how to fill out UCAS forms
18:57:03 <ehird> Are you sure it wasn't the LSD lesson?
18:57:14 <ehird> Oh, or the TPS lesson.
18:57:18 <ais523> which I suppose is really relevant to the school's results
18:57:22 <ais523> so it's important to them
18:57:42 <ais523> there were also a couple with an automated careers thing
18:57:53 <ais523> where you answered an 100-question questionnaire and it tried to guess which job you'd end up in
18:58:13 <ais523> I don't think it was all that reliable
18:58:20 <ehird> what did it say for you?
18:58:35 <ehird> also isn't that terribly demoralising
18:58:40 <ehird> "I want to be an astronaut!" "You will be a bin man"
18:58:45 <Pthing> yes
18:58:52 <ais523> ehird: computer games programmer, I think
18:58:52 <Pthing> marxchat
18:58:53 <fizzie> A bin man must be something related to binary.
18:58:57 <ehird> ais523: Close enough.
18:59:06 <ais523> ehird: yes, that was one of the closer ones
18:59:13 <Pthing> although the questions were things like
18:59:18 <ais523> I remember someone else in my class was told that they should become a croupier
18:59:21 <Pthing> "i like being ordered around to kill people"
18:59:26 <ais523> and my form teacher was supposed to be a gardnere
18:59:29 <ais523> *gardener
18:59:30 <Pthing> "i like doing scientific experiments"
18:59:46 <ehird> "I like being ordered around to kill people as part of scientific experiments"
18:59:52 <Pthing> we didn't get anything as firm as one thing, just a list of like 30 or so things
18:59:57 <AnMaster> ais523, still "working"?
18:59:59 <ais523> yes
19:00:09 <AnMaster> ais523, nice multitasking :)
19:00:57 <ehird> yay Frink accepts π as pi
19:01:19 <ais523> what is Frink?
19:01:26 <ehird> http://futureboy.us/frinkdocs/
19:01:27 <ais523> and why are you going on about it so much?
19:01:35 <ehird> I'm just setting it up in Linux.
19:01:45 <ehird> And tested that Compose worked with it.
19:01:54 <soupdragon> frink seems way cool
19:02:02 <ehird> it totally is. :|
19:03:42 <ais523> DSL designed for physical calculations?
19:04:18 <ais523> hmm, with hints of Mathematicaitis about it
19:04:25 <ais523> although, I suppose that sells to its target market
19:04:42 <ehird> It's not even remotely Mathematica-like.
19:04:53 <ehird> It's symbolic, yes, and it uses [] for function application because f(x) is f*x.
19:04:55 <soupdragon> it made me think of mathematica
19:04:56 <ais523> (I'm the sort of person who wonders why it should come with a historical exchange rate database rather than, say, having it as a library on a CPAN-alike)
19:05:00 <soupdragon> fwiw I don't program in either langauge
19:05:09 <ais523> (that's what I mean by Mathematicaitis in this case)
19:05:17 <ehird> ais523: Because it's a calculator, not a batch programming language.
19:05:28 <ehird> It does have non-core libraries, anyway: http://futureboy.us/fsp/frinklibs.fsp
19:05:35 <ais523> still, it feels wrong not having that data be separate
19:05:49 <ehird> Only if you think about it as a batch programming language.
19:06:30 <ais523> even as an interactive language
19:07:17 <ehird> Anyway, it's not just useful for physical calculations: it's also good for abstract calculations, regexp processing, screen scraping, translation, generating graphics, making simple web pages that can do calculations, and also calling out to Java if you like that kind of thing.
19:07:34 <ehird> ais523: see, when you say "historical exchange rates should be in a library", I see that as
19:07:39 <ehird> "regexp processing should be in a library in Perl"
19:07:48 <ehird> it isn't, because it's far more convenient and quick to access this way
19:07:54 <ehird> which is the intended use
19:08:15 <ais523> meh, you could even set it to load by default
19:08:29 <ais523> is Frink batch-usable even if that isn't the intended use?
19:09:06 <ehird> Yes.
19:09:33 <ehird> It's not so much unintended as not the main use.
19:09:50 <ehird> Anyway, I find it more convenient this way and I'm sure Alan Eliasen, the author, does too.
19:10:08 <ais523> Frink++ for the Junkyard Wars reference, anyway
19:10:13 <ais523> I used to love Scrapheap Challenge
19:10:25 <ais523> and the US version wasn't as ruined as the US versions of most gameshows are
19:11:00 <ehird> "fathoms water gravity barrel" is one of my favourite strings.
19:13:40 <ehird> So if one meter is 200 million beardseconds, why aren't we counting in 100 million beardseconds?
19:14:48 <ais523> ehird: what, exactly?
19:14:56 <ehird> ?
19:15:37 <ehird> I guess 100 million beardseconds is 1 hMbs (hecto-mega beardsecond.) :-D
19:15:49 <ais523> ehird: as in, does 100 million beardseconds = 0.5m exactly, or approximately?
19:15:58 <ehird> 1 beardsecond := 5 nm
19:16:03 <ehird> It's a novelty unit, not an actual measured thing.
19:16:18 <ais523> I guessed it was a novelty unit
19:16:23 <ais523> although presumably the beard has an actual purpose
19:16:30 <ehird> The beard-second is a unit of length inspired by the light year, but used for extremely short distances such as those in nuclear physics. The beard-second is defined as the length an average beard grows in one second. Kemp Bennet Kolb defines the distance as exactly 100 Ångströms,[3] while Nordling and Österman's Physics Handbook has it half the size at 5 nanometers.[4] Google Calculator supports the beard-second for unit conversions using the latter
19:16:32 <ehird> conversion factor.[5]
19:16:40 <ehird> I see 5 nm most often.
19:17:15 -!- lament has joined.
19:17:27 <ehird> So, the kilometer will be replaced with the khMbs.
19:17:31 <ehird> The kilo-hecta-mega beardsecond!
19:17:50 <ehird> aka the hecto-giga beardsecond
19:18:33 <soupdragon> http://www.google.co.ck/search?q=432+beard+seconds+in+attoparsecs
19:18:34 <soupdragon> NICE
19:19:15 <ehird> 432 beardseconds -> attoparsecs
19:19:17 <ehird> 0.000070000832656209624476
19:19:21 <ehird> Just to re-inject some Frink fanboyism into the discussion.
19:19:32 <ehird> (Admittedly I had to do beardsecond := 5 nm, but it defined the plural form for me automatically.)
19:19:43 <soupdragon> cool
19:21:07 <ais523> ehird: also, it gets commented on by Peter Norvig, which is also very cool
19:21:41 <AnMaster> ais523, who is that
19:21:52 <ehird> AnMaster: you are no longer welcome here →
19:22:15 <AnMaster> ehird, hey, ais523 didn't know who jwz was
19:22:24 <ais523> AnMaster: http://en.wikipedia.org/wiki/Peter_Norvig
19:22:39 <soupdragon> what's so good about Norvig?
19:22:40 <AnMaster> oh that guy at google
19:22:41 <ais523> I didn't actually know he worked for NASA/Google, though
19:22:42 <ehird> jwz is just a cool dude, not an excellent computer scientist
19:22:49 <ais523> I knew of him from his research
19:22:55 <soupdragon> I only read his PAIP book
19:23:14 <AnMaster> ais523, which part of it?
19:23:36 <ais523> AnMaster: it's all over the place
19:23:48 <ais523> as in, randomly searching for research you just think "oh, it's Norvig again"
19:23:50 <ais523> he's that good
19:24:14 <soupdragon> what did he do??
19:24:22 <soupdragon> I can't remember ever coming across his work :/
19:24:40 <ais523> soupdragon: then you're working in the wrong area
19:24:48 <soupdragon> what are should I be in
19:24:56 <ais523> the first time I saw his work it was some minor AI result
19:25:08 <soupdragon> I read his AI book PAIP
19:25:37 <soupdragon> to learn Lisp
19:30:40 <ehird> Grr, I really want to move these taskbar items.
19:32:21 <AnMaster> ehird, hm?
19:32:24 <AnMaster> reoder?
19:32:26 <AnMaster> re-order*
19:32:33 <ehird> Yes.
19:32:42 <AnMaster> ehird, from what, to what?
19:33:12 <ehird> I want to move a window entry.
19:33:25 <AnMaster> right
19:33:47 <AnMaster> ehird, as in, move it from alphabetical order to something else?
19:33:57 <ehird> It's not alphabetical, it's in opening order.
19:34:00 <ehird> I just want to move one entry, ffs.
19:34:06 <AnMaster> I se
19:34:08 <AnMaster> see*
19:34:19 <AnMaster> ehird, never heard of that feature
19:34:20 <ais523> can't you just drag them? that works in Gnome, I thought it worked in KDE too
19:34:27 <ehird> I thought it did too
19:34:28 <ehird> AnMaster: what????
19:34:32 <AnMaster> oh it does indeed
19:34:37 <ehird> [ Firefox poop ]
19:34:39 <ehird> Click, drag, drop.
19:34:41 <ehird> Moved.
19:34:44 <AnMaster> ehird, well in firefox yes
19:34:44 <ehird> This is really, really standard stuff.
19:34:47 <ehird> ...
19:34:49 -!- augur has joined.
19:34:50 <AnMaster> never tried in taskbar under gnome
19:34:50 <ehird> I MEANT A FIREFOX WINDOW
19:35:00 <AnMaster> pretty sure it didn't work in the taskbar of KDE
19:35:03 <AnMaster> on KDE 3.5
19:35:17 <AnMaster> ehird, oh I thought you meant system task bar
19:35:21 <ais523> ehird: only a couple of days ago I saw someone shouting at Microsoft for not implementing that until Win7 when every other common OS had done it for years
19:35:22 <ehird> I did.
19:35:25 <ais523> AnMaster: yes, system task bar
19:35:36 <AnMaster> ais523, heh
19:38:56 <oklofok> ehird: "I want to be an astronaut!" "You will be a bin man" <<< if a kid who initially wanted to be an astronaut decides to change his mind after getting the results, he probably didn't want it enough for it to have been a possibility anyway.
19:39:21 <ais523> well, some people become binmen, presumably they do it through choice
19:39:42 <soupdragon> oklofok good point !!!
19:39:44 <oklofok> not that it defeats your point, just attacking your example, for no reason
19:39:47 <ehird> oklofok: no shit
19:39:49 <ehird> it was a joke
19:40:09 <ais523> ehird: um, that's no reason not to take it seriously
19:40:12 <ais523> especially in /this/ channel
19:40:17 <ais523> half the on-topic stuff we discuss is jokes
19:40:24 <ehird> bah :P
19:41:47 <oklofok> nothing i see is either a joke or not, everything will be considered serious, and every answer will be considered a serious answer, while nothing at all is taken seriously at the same time.
19:42:25 <oklofok> this is what happens when environments are separated from the outer game, but made to look like it
19:42:38 <oklofok> oh my god the trees are beautiful
19:42:43 <oklofok> i was just outside again
19:42:47 <oklofok> and like... snow
19:42:53 <oklofok> and trees..... wow
19:43:03 <ais523> the canal's nice here, it's frozen over
19:43:03 <oklofok> my head hurts
19:43:06 <ais523> which is pretty rare
19:43:11 <oklofok> should read some measure theory, exam tomorrow
19:43:17 <soupdragon> woah measure theory
19:43:33 <oklofok> frozen masses of water look sorta boring usually
19:43:38 <oklofok> "woah"?
19:43:50 <soupdragon> woah
19:43:53 <oklofok> woah.
19:44:27 <Pthing> woajhhhhh
19:46:29 <oklofok> i already took the exam for the real analysis course following the measure theory course, and it wasn't too hard, by some logic this is probably even simpler.
19:46:57 <oklofok> i might even sleep a few hours tonight
19:47:02 <soupdragon> I would have thought real analysis is easier than measure theory
19:47:29 <augur> hey kiddles
19:47:33 <augur> soupdragon:
19:47:35 <augur> no :
19:47:43 <soupdragon> hello
19:48:06 <oklofok> our MT course was basically about lebesque and a few other measures, measurable functions, and basic results about lebesque integration
19:48:14 <ehird> Lesbianesque. (What?)
19:48:29 <oklofok> the RA course builds a lot of structures over the framework
19:49:04 <ehird> I want to write a spreadsheet program, but:
19:49:10 <ehird> - it'd be best as a mode in my editor
19:49:13 <ehird> - my editor isn't done yet.
19:49:14 <oklofok> but writing programs is annoying
19:49:14 <ehird> Hmph.
19:49:15 <oklofok> i know
19:49:23 <ehird> oklofok: Thankfully not :P
19:50:13 <oklofok> well it's a bit annoying! (?)
19:50:21 <ehird> I wish kioslaves worked with Firefox so I could use man:/ :(
19:50:24 <soupdragon> if you master all this stuff you can probably catch up with Terry Tao
19:50:44 <ais523> ehird: is there an extension for that?
19:50:57 <ehird> ais523: Probably not.
19:51:12 <oklofok> soupdragon: yes, the advanced courses of our university are so hard mastering their content makes you a supergenius
19:51:13 <ehird> What would work is a KIOSlave FUSE FS.
19:51:38 <ehird> Then you could rewrite it to file:///mnt/kioslaves/man:(1)
19:51:42 <ais523> yep, apparently not
19:51:49 <ais523> you'd expect someone to have written one by now
19:51:56 <ehird> It's impossible.
19:51:56 <AnMaster> <ehird> I wish kioslaves worked with Firefox so I could use man:/ :( <-- I thought you hated firefox?
19:52:01 <ehird> Extensions are just JavaScript.
19:52:01 <AnMaster> saying it was shit and such
19:52:05 <ehird> AnMaster: It is.
19:52:22 <ais523> ehird: no they aren't, they can get into the internals too
19:52:25 <ais523> e.g. vimperator
19:52:26 <oklofok> yeah ff is the shit
19:52:28 <AnMaster> <ehird> Extensions are just JavaScript. <-- in firefox? No you can load *.so
19:52:34 <pikhq> ehird: http://wiki.kde.org/tiki-index.php?page=KIO+Fuse+Gateway
19:52:36 <AnMaster> ehird, then why use it
19:52:36 <ehird> AnMaster: That's a plugin, not an extension.
19:52:44 <ehird> And Netscape API plugins are just for embedded content.
19:52:48 <pikhq> ... Argh.
19:52:51 <pikhq> Dead link.
19:52:59 <ehird> ais523: That's not getting into the internals.
19:53:06 <ehird> Firefox's UI is written in XUL and JavaScript.
19:53:13 <AnMaster> <ehird> AnMaster: That's a plugin, not an extension. <-- no, you can load *.so in extensions too. At least for thunderbird. Enigmail does it
19:53:13 <ehird> So of course JavaScript extensions can access it.
19:53:15 <ais523> you can mess with the XUL, at least
19:53:20 <AnMaster> I would be surprised if you can't in firefox too
19:53:20 * oklofok goes master stuff
19:53:22 <oklofok> ->
19:53:48 <ehird> Anyway, hooking into Firefox's actual URL-loading code and routing it to KDE sounds unfun.
19:53:56 <ehird> As in "huge pain in the arse" unfun.
19:54:31 <AnMaster> <pikhq> ehird: http://wiki.kde.org/tiki-index.php?page=KIO+Fuse+Gateway <-- 404
19:54:35 <AnMaster> oh said already
19:57:17 <ehird> They should just replace KDE with fullscreen Konqueror. It can split the screen, it can browse the web, it can manage files, it can run a terminal, it can do remote file management, it can look at audio CDs like encoded files, it can install packages...
19:57:23 <ehird> I see no issue with this!
19:57:55 <ais523> reminds me of Emacs
19:59:14 <soupdragon> augur, I am going to try and find a usage of the word 'and' in the non-conjunctive sense by searching the net.
20:00:02 -!- lieuwe has joined.
20:00:44 * ehird takes a deep breath, installs Flash.
20:00:49 <lieuwe> in underload, does the ^ operator insert the item into the program, or replace the next op, or does it truncate the program?
20:00:57 <augur> soupdragon: what you might want to consider is situations in which "X and Y do V" does not imply "X does V and Y does V"
20:00:58 <ehird> Insert the item into the program.
20:01:04 <ehird> lieuwe: You can think of (...) as a function.
20:01:05 <ehird> ^ is call.
20:01:11 <ehird> Or (...) is a string and ^ is eval.
20:01:30 <lieuwe> ehird: ah, so it inserts and then just continues with the rest off the program...
20:02:08 <ehird> Of course, (...) differs from functions in most languages because you can print their contents and concatenate them (which is actually function composition - fun(f) return (fun(g) return (fun(x) return f(g(x)))) - but whatever).
20:02:22 <ehird> lieuwe: Yeah; otherwise, complex control flow would be impossible.
20:02:27 <ehird> ...at least, I think so. ais523?
20:02:55 <ais523> lieuwe: basically, imagine characters removed from the program as they're executed
20:03:00 <ais523> because there's no way to go back to them anyway
20:03:04 <ehird> No, I meant
20:03:17 <lieuwe> does the s operator print a newline?
20:03:19 <ais523> ^ inserts the top stack element just after the current IP, without overwriting anything, it's an insert
20:03:20 <ehird> Is Underload turing-complete if ^ is "execute the top element on the stack, then quit"?
20:03:22 <ehird> lieuwe: No.
20:03:24 <ais523> lieuwe: no, S doesn't
20:03:27 <ais523> you can write (
20:03:28 <ais523> )S
20:03:30 <ais523> to print a newline
20:03:35 <lieuwe> ehird: ah, ok, thnx
20:03:46 <ais523> ehird: I think so, because that's Muriel's control-flow operator
20:03:52 <ais523> but it would be a different sort of language
20:04:29 <ehird> Well, let's try and write programs in it!
20:04:59 <ehird> Hmm. I just realised I don't have sound.
20:05:20 <ehird> Fixed.
20:05:22 <lieuwe> ais523: but if ^ truncates the program, it doesn't mean it quits there, the stack thingy could write to the program,(but that would be hard to program in :-p)
20:05:42 <ais523> ^ is the only way to write to the program, though
20:05:55 <ais523> you can see it in several different ways
20:06:03 <ehird> truncating ^
20:06:04 <ais523> a function call, an eval, or replacing the ^ with the top stack element
20:06:05 <ehird> hmm
20:06:07 * ehird writes an infinte loop
20:06:09 <ehird> *infinite loop
20:06:10 <ehird> (:^):^
20:06:12 <ais523> ehird: (:^):^
20:06:12 <ehird> Well that was easy
20:06:13 <ehird> No change there
20:06:30 <ehird> Gah, Flash on Linux is desynchronised from the audio as always.
20:06:53 <ehird> ais523: hmm... the problem is that there's not really any simple-but-non-trivial Underload programs
20:07:05 <ehird> because they're all either trivial, or mind-boggling
20:07:16 <ais523> the fibonacci's pretty simple
20:07:20 <ehird> well, actually
20:07:22 <ehird> I think we can write
20:07:26 <ehird> (x)^y
20:07:28 <ehird> as
20:07:41 <ais523> !ul (()(*))(~:^:S*a~^a~!~*~:(/)S^):^
20:07:44 <ehird> (x<get to y>^)(y)~^
20:07:45 <ehird> No?
20:07:48 <ais523> ^ul (()(*))(~:^:S*a~^a~!~*~:(/)S^):^
20:07:49 <fungot> */*/**/***/*****/********/*************/*********************/**********************************/*******************************************************/*****************************************************************************************/********************************************************************************* ...too much output!
20:07:55 <ehird> Although that'd make (!)^foo problematic.
20:07:56 <ais523> forgot EgoBot didn't do Underload...
20:08:00 <ehird> oh, wait!
20:08:02 <ehird> It's obvious
20:08:03 <ehird> (x)^y
20:08:05 <ehird> ->
20:08:08 <ehird> (x)(y)*^
20:08:16 <ais523> yes
20:08:32 <ais523> how do you handle (a^b)^c, though?
20:09:01 <ehird> (a(b)*(c)*^)^
20:09:19 <ehird> by doing these rewrites:
20:09:22 <ehird> (a^b)^c
20:09:31 <ehird> (a(b)*^)^c
20:09:37 <ais523> hmm, I'm not sure if that works if b manipulates the stack
20:09:38 <ehird> (a(b)*^)(c)*^
20:09:39 <ehird> oh
20:09:42 <ehird> There we go
20:09:46 <ehird> Easy
20:09:58 <ais523> ehird: easy, but wrong
20:10:13 <ais523> executing that gives (a(b)*^c)^
20:10:24 <ais523> = a(b)*^c
20:10:40 <ais523> and the c never runs because it's after an ^
20:10:47 <ehird> ah, of course
20:10:50 <ehird> Let me continue the rewriting then
20:10:54 <ehird> (a(b)*^)(c)*^
20:11:01 <ehird> (a(b)*^c)^
20:11:05 <ehird> (a(b)*(c)*^)^
20:11:16 <ehird> because (f)(g)* = (fg)
20:11:30 <ehird> and then we just apply the regular a^b = a(b)*^ rule
20:11:36 <ais523> what does (a)(^)*^b become?
20:11:47 <ehird> (a)(^)*^b
20:11:54 <ehird> (a)(^)*(b)*^
20:11:59 <ehird> (a^b)^
20:12:04 <ais523> ehird: you're evaluating the program, though
20:12:05 <ehird> (a(b)*^)^
20:12:12 <ehird> ais523: This isn't a machine translation
20:12:15 <ehird> This is for humans to do
20:12:19 <lieuwe> is the S command always uppercase?(does it HAVE to be, or is lowercase also fine?)
20:12:25 <ais523> ehird: but I mean, that process could go into an infinite loop
20:12:27 <ais523> lieuwe: has to be uppercase
20:12:30 <ais523> and a has to be lowercase
20:12:46 <ehird> ais523: So apply human ingenuity.
20:12:48 <lieuwe> ais523: :-p
20:12:59 <ehird> For most programs, it should be a relatively simple translation.
20:13:21 <ais523> ehird: I'm pretty sure it is TC, but that this isn't the way to go about a proof
20:14:22 <ehird> I wasn't trying to prove it turing-complete.
20:14:33 <ehird> I was trying to prove that it is quite a trivial variant of Underload for most programs.
20:14:48 <ais523> I wouldn't call having to execute most of the program to compile a trivial variant
20:15:00 <ais523> that's like, saying that replacing a program with its output is a trivial variant
20:16:08 <ehird> It's a trivial variant FOR HUMANS TO TRANSLATE MOST PROGRAMS TO.
20:16:12 <ehird> Jesus christ.
20:16:37 <ehird> I wish this mouse's left button was as easy to press as its right button.
20:17:50 <ehird> http://web11.twitpic.com/img/56256770-1eafd0a10499dc58601394e9fefa9c57.4b4a35c3-scaled.jpg Haskell's Tower of Babel
20:18:08 <ehird> s/$/./
20:18:10 <ais523> ehird: I don't see how it's trivial at all, for large programs
20:18:35 <lieuwe> almost done my implementation, only got ( and ) left to do...
20:20:08 <ehird> hmm
20:20:20 <ehird> Compose -> is → and Compose <- is ←, so what should up and down arrow be?
20:20:26 <ehird> ^| and v|?
20:21:21 <SimonRC> ehird: heh
20:22:04 <SimonRC> {-# LANGUAGE IncomprehensibleTypes #-}
20:22:24 <ais523> strangely, altgr seems to produce ←↓→ but not the other arrow
20:22:41 <lieuwe> oh, crap, found something stupid in my implementation, it pushes the raw ops on the stack, not the python equivalent, darnit... ah, well, i'll continue tomorow...
20:22:44 -!- lieuwe has quit ("Page closed").
20:22:57 <SimonRC> ew, get a real client
20:23:13 <ehird> if he pushes the python equivalent he's going to handily break S :)
20:23:17 <ehird> the pitfalls of underload
20:23:17 <ais523> I think lieuwe discovered the needing-to-store-two-representations issue
20:23:25 <ehird> It's not an issue for interpreters.
20:23:42 <ais523> it is in a way, just they use the same representation for both
20:24:16 <ehird> So you have a two-representation problem with only one representation.
20:24:19 <ehird> Uh-huh.
20:24:41 <SimonRC> how easy is it to analyse to see if only the string meaning or only the code meaning are needed?
20:24:47 <SimonRC> (in some cases at least)
20:25:22 <ehird> SimonRC: needs string meaning = calls S while it is on top of stack
20:25:30 <ais523> SimonRC: really difficult, in general
20:25:34 <ehird> needs code meaning = calls ^ while it is on top of stack
20:25:42 <ehird> "it" also includes being concatenated with another function
20:25:52 <ehird> = halting problem in the purest sense
20:26:12 <SimonRC> aye
20:26:50 <ais523> you might be able to trace control flow to rule out some common cases
20:27:32 <ehird> wtf, my compose doesn't have Compose - - = em-dash, either
20:27:36 * ehird makes note to add that
20:27:40 <ehird> "I used to be a Zen Buddhist, and myself used to search endlessly for a "bigger picture". Then I got hungry, had a burrito, and was enlightened." --reddit
20:28:26 <ehird> any opinions on compose combos for up and down arrow?
20:28:34 <ehird> ^| and v| are ugly imo :/
20:28:53 <ais523> ehird: use the arrow keys?
20:28:53 <SimonRC> I have been reading about some of factor's analysis. There was an almond-bread example that looked like over-HOFed stuff from Joy but translated into nice efficient machine code. Types were inferred all over the place and all the HOF-based control structures turned into loops and shit
20:29:12 <ehird> Factor's compiler is amazing.
20:29:15 <SimonRC> aye
20:29:36 <SimonRC> it does have an advantage over Smalltalk though
20:29:41 <SimonRC> binding is a bit later
20:29:52 <ais523> ehird: you could probably do that with Underload too
20:30:03 <ehird> SimonRC:, you mean.
20:30:09 <ehird> also, arrow keys could work, but combined with what?
20:30:11 <ehird> | up arrow?
20:30:17 <ehird> that's less efficient to type than | ^
20:30:21 <ais523> just the up arrow?
20:30:26 <ehird> This is Compose.
20:30:27 <ais523> or can you not have a one-char compose?
20:30:28 <ehird> It takes two keys.
20:30:29 <SimonRC> most words have to be declared before use, unlike smalltalk/ruby
20:30:35 <ais523> ehird: always exactly two? ugh
20:30:41 <ehird> ais523: Well, no, N.
20:30:50 <ehird> But if you have <Multi_key> x y, you can't have multi_key x
20:30:52 <ehird> or multi_key x y z
20:30:57 <ehird> for obvious reasons
20:31:00 <ais523> yep
20:31:06 <SimonRC> how about composing the up-arrow with itself?
20:31:12 <ais523> are you really going to use the arrow keys as the first part of a compose, though?
20:31:16 <ehird> SimonRC: I would expect that to give me Knuth's arrow.
20:31:22 <ehird> ais523: Perhaps someone else already did.
20:31:26 <SimonRC> is that not an up arrow?
20:31:32 <ehird> Two up arrows.
20:31:38 <ehird> Well.
20:31:42 <ehird> I guess that's just up arrow up arrow
20:31:52 <SimonRC> I meant, is Knuth's arrow different from the up arrow glyph you want?
20:31:53 <ais523> not for horizontal arrows
20:32:00 <ais523> as you can't stack vertically in regular text
20:32:04 <ais523> Unicode, you disappoint me
20:32:08 <SimonRC> I'd put Knuth arrow on ^^, because it is related to exponentiation
20:32:12 <ehird> Unicode, I am disappoint.
20:32:32 <ais523> you disappoint me with a literal lack of points
20:32:33 <ais523> codepoints, that is
20:32:35 <SimonRC> unless it isn't what I think it is
20:33:39 <ehird> Left, right, up, down, adding to the compose file la la la
20:34:08 <SimonRC> UUDDLRLRBASS
20:34:27 <ehird> So if mdash is -- what's endash? :P
20:34:30 <ehird> - space?
20:34:32 <ais523> ---
20:34:40 <ehird> endash is SHORTER.
20:34:43 <ehird> and besides, that's impossible
20:34:44 <ais523> and I know what you said about prefixes
20:34:44 <ais523> oh
20:34:47 <ehird> if you have xy you can't have xyz :P
20:34:49 <ais523> mdash is ---, ndash is --
20:34:55 <Deewiant> — and –
20:35:03 <Deewiant> (Completely identical in this monospaced font)
20:35:09 <ais523> look pretty differnt to me
20:35:14 <ehird> Deewiant: I'm trying to insert the Unicode character with the Compose key, you dolt
20:35:15 <ais523> but my ms are wider than my ns
20:35:19 <ehird> so obviously I can't use the Unicode chars directly
20:35:26 <ais523> ehird: I sort-of assumed compose would work like a modifier key
20:35:26 <Deewiant> ehird: Meh, altgr :-P
20:35:32 <ais523> you hold it down while you type what to compose, then let go
20:36:08 <SimonRC> how about m- and n-
20:36:12 <SimonRC> jsut how they sound
20:36:29 -!- ehird has quit (Remote closed the connection).
20:37:10 -!- ehird has joined.
20:37:48 <SimonRC> did you get that?
20:38:18 <ehird> compose should reflect the structure of the letters
20:38:25 <ehird> i.e. "o -> ö
20:38:27 <ehird> 'o -> ó
20:38:31 <ehird> `o -> ò
20:38:34 <HackEgo> No output.
20:38:36 <ehird> ss -> ß
20:38:46 <soupdragon> Sußman
20:38:47 <ais523> that's just to make it easier to remember
20:38:51 <ehird> http://www.fileformat.info/info/unicode/char/search.htm?q=less%20than&preview=entity ;; what a useless set of results
20:39:02 <ehird> ais523: I consider it a good design principle.
20:39:24 <ehird> Incidentally, I actually saw KDE refer to a daemon as a dæmon, and I facepalmed.
20:40:28 <ais523> why?
20:40:59 <ehird> Because the Unix term is daemon.
20:41:31 <ais523> arguably those are the same thing, though
20:41:45 <ais523> as in, different graphical representations of the same word
20:41:50 <ais523> æ is just kerning
20:41:54 <ehird> I disagræ.
20:42:23 -!- FireFly has quit ("Leaving").
20:42:55 -!- FireFly has joined.
20:45:48 <ehird> anyone know of a unicode browsing app?
20:48:25 -!- lament_ has joined.
20:49:40 <SimonRC> gnome-character-map ?
20:49:51 <pikhq> #define lambda(ret, body, ...) ({ ret __LAMBDA__ (__VA_ARGS__) { body }; __LAMBDA__; })
20:49:52 <ehird> Well, preferably not Gnome.
20:49:59 <pikhq> ... That kinda-sorta works.
20:50:17 <ehird> That's the best you can do?
20:50:19 <ehird> Behold:
20:51:08 * pikhq is anticipating Oleg's lambda. Which, though very much lambda, is not C. :P
20:51:09 <ehird> #define lambda(params, ...) ({ __typeof__(({ __VA_ARGS__; }))__LAMBDA__ params { return ({ __VA_ARGS__; }); }; __LAMBDA__; })
20:51:28 -!- lament has quit (Nick collision from services.).
20:51:28 -!- lament_ has changed nick to lament.
20:51:30 <pikhq> Okay, that's a good point.
20:51:33 <ehird> lambda((int x), x*2)
20:52:08 -!- soupdragon has quit (Nick collision from services.).
20:52:25 -!- soupdragon has joined.
20:53:42 <ehird> Bah.
20:53:55 <ehird> Anyone know what the codepoints of <, >, ^, and | are?
20:54:00 <ehird> *^ and
20:54:19 <pikhq> That doesn't work; __typeof__ strongly dislikes unknown variables...
20:54:34 <ehird> pikhq: Oh, does it not?
20:54:54 <ehird> #define lambda(params, ...) ({ __typeof__(lambda(params, ## __VA_ARGS__)) __LAMBDA__ params { return ({ __VA_ARGS__; }); }; __LAMBDA__; })
20:54:57 <ehird> XD
20:55:17 <pikhq> Thar.
20:55:22 <AnMaster> pikhq, what is __LAMBDA__ defined as?
20:55:26 <ehird> Nothing.
20:55:28 <pikhq> AnMaster: It isn't.
20:55:29 <ehird> That defines __LAMBDA__.
20:55:47 <pikhq> It's just a name that's not likely to be in use.
20:56:00 <AnMaster> oh ffs, gnu extensions
20:56:14 <ehird> pikhq: Hey, if we restrict it to one parameter, we can do the typeof
20:56:17 <ehird> By doing params; body
20:56:31 <pikhq> ehird: XD
20:56:40 <pikhq> ehird: And then, it's curry. Delicious curry.
20:56:52 <ais523> ehird: I thought you couldn't pass lambdas like that out of the block they were defined in
20:57:04 <ehird> ais523: No, it's out of the function.
20:57:05 <ehird> I think.
20:57:07 <ais523> at least in gcc
20:57:08 <ehird> And you can pass them upwards.
20:57:11 <ehird> Just not downwards.
20:57:12 <AnMaster> pikhq, as far as I can see it defines lambda() not __LAMBDA__, and what is __LAMBDA__ good for?
20:57:22 <ais523> ehird: that isn't passing it out, you're still inside the block
20:57:33 <ehird> AnMaster: *sigh*
20:57:34 <ehird> Learn C.
20:57:39 <pikhq> AnMaster: __LAMBDA__ is not defined in the C preprocessor.
20:57:46 <AnMaster> ehird, I know C. Just not GNU statement crap
20:57:55 <ehird> Nothing to do with GNU statement crap.
20:57:58 <AnMaster> or typeof
20:57:59 <ehird> You fail at the pre-processor.
20:58:05 <ehird> pikhq's didn't use typeof.
20:58:09 <AnMaster> pikhq, so why do you want it undefined
20:58:15 <ehird> >_<
20:58:33 <ais523> ({ }) is a GNU extension
20:58:36 <pikhq> In mine, __LAMBDA__ is defined as a function of type ret(*)(__VA_ARGS__).
20:58:37 <ais523> as is nested functions
20:59:02 <pikhq> The the statement: ret __LAMBDA__(__VA_ARGS__) {body};
20:59:06 <pikhq> s/The/By/
20:59:36 <pikhq> That's a function declaration. The following __LAMBDA__ makes the result of ({ }) be the address to that function.
20:59:39 <AnMaster> indeed. And I never bothered to learn any gnu extension apart from __attribute__, Because usually you can still compile the code with __attribute__ on other compilers (with relevant pre-processor code to just make it mean nothing)
20:59:47 <AnMaster> while for other ones you would have to write the code twice
20:59:53 <AnMaster> once for gnu and once for portable
20:59:54 <ehird> The part you failed at is not a GNU extension.
21:00:41 <AnMaster> pikhq, nasty, upper case name as a function name
21:01:11 <pikhq> AnMaster: It never escapes the ({ }) block.
21:01:29 <AnMaster> and what on earth are the semantics for that now again
21:01:32 <ais523> ehird: the part he may be failing at is defining functions inside other functions, which /is/ a GNU extension
21:01:35 <AnMaster> not that I will remember it tomorrow
21:01:43 <AnMaster> ais523, oh right that crap
21:01:44 <ais523> AnMaster: same as for do {} in Perl
21:01:54 <AnMaster> messes up with non-executable stacks too
21:01:59 <pikhq> AnMaster: Statement expression.
21:02:03 <AnMaster> due to the trampoline fail
21:02:39 <pikhq> A similar thing can be done in C++.
21:02:50 <pikhq> Unlike this, the lambda macro in C++ is valid C++.
21:03:11 <AnMaster> pikhq, which I don't really know much about, deciding to stop messing with C++ soon after I saw what templates could do
21:04:01 <ais523> wow, that language is powerful, I must stop using it!
21:04:33 <AnMaster> ais523, no, it was the messyness
21:05:17 <AnMaster> ais523, like, not being able to place the methods of a template in a *.c (functions won't be there when template is instantiated in another file
21:05:18 <AnMaster> and so on
21:05:40 <AnMaster> probably it might work if you create dummy instantiation of those in that source file
21:05:51 <AnMaster> but that is just ugly
21:06:23 <AnMaster> ais523, in fact, rather than rant here I just refer you to the C++ FQA
21:06:31 <ais523> read it already
21:07:56 <AnMaster> also, horribly long compile time. I have yet to see any C++ compiler that manages at the speed of even gcc. And gcc is hardly fast.
21:08:29 <AnMaster> and anything approaching the speed of tcc for c++? I'll believe it when I see it
21:09:42 <AnMaster> (I really prefer being able to test often when developing. With no optimisation it should IMO be fast to compile. Oh also please stop abusing operator overloading,)
21:11:26 <ais523> maybe someone could invent incremental compilation
21:11:30 <ais523> so it recompiles only what's changed?
21:11:48 <ais523> doing it at file-level is too coarse for C++, is the issue
21:13:33 -!- coppro has joined.
21:15:00 <ehird> hi
21:15:23 <AnMaster> ais523, well, I haven't seen that done for less than file level for C++. Well precompiled headers, but when I tried that I couldn't get it to work
21:15:44 <AnMaster> think I managed to trigger ICE in gcc. That was during 4.1 or so, so it may be better nowdays
21:15:46 <ais523> AnMaster: really? it's pretty easy
21:15:48 <ais523> gcc header.h
21:16:00 <SimonRC> "ICE"?
21:16:14 <AnMaster> SimonRC, ... Internal Compiler Error
21:16:30 <ehird> Sheesh, that guy doesn't know a jargon acronym I used!
21:16:40 <ehird> I must express my shock with an ellipsis.
21:17:01 <AnMaster> ais523, also it didn't work for more than one header. Nor if it wasn't the first header included
21:17:15 <ehird> pikhq: I have a working lambda with __typeof__
21:17:22 <AnMaster> or, if you defined anything before including it (in the source file)
21:18:04 <ehird> pikhq: http://sprunge.us/deGW
21:19:45 <ehird> pikhq: http://sprunge.us/RTgd This version handles multiple statements in the body
21:19:52 <ehird> I don't know how to fix the one-parameter-only issue, though.
21:20:15 <ehird> For the lulz, here's how it desugars:
21:20:17 <ehird> upto(10, ({ __typeof__( ({ int i; (void)printf("%d\n", i); }) ) __LAMBDA__(int i) { return ({ (void)printf("%d\n", i); }); }; __LAMBDA__; }));
21:24:18 <ehird> fn(int i, (void)printf("%d\n", i)) could also be written as fn(int i, printf("%d\n", i); return) :-D
21:24:56 <SimonRC> the multi-args problem can be "solved" with more parens
21:25:03 <ehird> Nope.
21:25:10 <ehird> Because __typeof__( ({ param; __VA_ARGS__; }) )
21:25:16 <ehird> param -> "int i;"
21:25:17 <ehird> but if
21:25:22 <ehird> params; -> "(int i, int j);"
21:25:25 <ehird> that wouldn't work as a declaration
21:25:26 <ehird> (would it?)
21:25:32 <SimonRC> hm
21:25:42 <SimonRC> that's... funky
21:26:19 <SimonRC> how about "fn(int i; char j, ... )"
21:26:22 <SimonRC> (ew)
21:26:28 <pikhq> ehird: Solution: K&R C params.
21:26:39 <ehird> http://sprunge.us/IOdM
21:26:41 <SimonRC> why are you putting the decls at the top of the block rather than doing typeof on the function itself anyway?
21:26:43 <ehird> Advanced lambdaology!
21:26:58 <ehird> SimonRC: erm
21:27:02 <SimonRC> ah, I see now
21:27:04 <ehird> does __typeof__(x) x = ... WORK?
21:27:13 <ehird> SimonRC: fn(int i; int j, ...) is unworkable because we need to put it in the function params
21:27:42 <SimonRC> oh bugger yes
21:27:54 <ehird> answer: no, __typeof__(__LAMBDA__) __LAMBDA__(...) doesn't work
21:28:03 <SimonRC> well I see that now
21:28:07 <pikhq> __typeof__( ({param_decl; __VA_ARGS__}) ) fn(params) param_decl
21:28:31 <ehird> pikhq: Does GNU C99 support K&R parameters?
21:29:00 <ehird> Anyway, you have to specify parameters like that in your actual FN usage that way.
21:29:05 <ehird> Which is lame-butt.
21:29:05 <SimonRC> you just need C1X-style type inference(!)
21:29:40 <pikhq> ehird: Yes.
21:29:44 <ehird> We could use X-Macros w/ PARAMS(PARAM(int,i),...) to generate a file with the prototype and a file with the argument list.
21:29:50 <ehird> Then #include that. :-D
21:30:13 <ehird> Anyway, who needs multiple parameters when you have currying?
21:30:19 <pikhq> ehird: It even works with -std=c99 -pedantic
21:31:13 * ehird proceeds to implement the lambda calculus standard library in C.
21:31:19 <ehird> Wait, no.
21:31:27 <ehird> We can't even do currying.
21:31:34 <ehird> Because you can't return a nested function.
21:31:39 <ehird> They expire if you shove 'em down the stack.
21:32:13 <pikhq> That's the main reason for Apple's blocks having explicit copying for them, yeah...
21:32:29 <ehird> I invoke Greenspun's Tenth Law and implement R5RS Scheme.
21:32:45 <ehird> *Tenth Rule
21:32:54 <ehird> Oh, wait, the Rule is for Common Lisp only.
21:32:57 <pikhq> Of course, you *could* implement a (stupid) copying scheme.
21:32:59 <ais523> what were the other 9 rules?
21:33:23 <ais523> also, I want to know which language Common Lisp is a badly designed implementation of half of
21:33:29 <SimonRC> they weren't
21:33:42 <SimonRC> ais523: itself
21:33:48 <pikhq> Just make sure the function ends with: { int end_func = UINT_MAX; }
21:33:53 <ehird> Yes, Morris's Corollary is "...including Common Lisp."
21:33:59 <ehird> The rule was written sometime around 1993 by Philip Greenspun. Although it is known as his tenth rule, there are in fact no preceding rules, only the tenth. The reason for this according to Greenspun: "Sorry, Han-Wen, but there aren't 9 preceding laws. I was just trying to give the rule a memorable name."[3]
21:34:03 <pikhq> And grep for UINT_MAX in your lambda copying function.
21:34:12 <ehird> pikhq: O_O
21:34:37 <pikhq> ehird: ... Did I happen to mention that this is almost sure to break?
21:34:55 <pikhq> Oh, make it volatile. Less likely to break.
21:34:56 <ehird> ("Every program attempts to expand until it can read mail. Those programs which cannot so expand are replaced by ones which can." --Zawinski's Law of Software Envelopment)
21:35:10 -!- oerjan has joined.
21:36:44 <SimonRC> s/read mail/post to twitter/ nowadays
21:37:05 <oerjan> <ehird> Talking to oerjan makes me experience synchronicity or something
21:37:12 <oerjan> well, naturally. also, what?
21:37:53 <ehird> what's ^'s codepoint?
21:38:03 <ehird> oerjan: What to call a house's crawl space was being discussed earlier
21:38:18 <SimonRC> ehird: in hex?
21:38:30 <ehird> Yes.
21:38:31 <SimonRC> "man ascii" says its 5e
21:38:34 <SimonRC> *it's
21:38:38 <ehird> Thanks.
21:38:40 <ais523> `c printf("%x",'^');
21:38:41 <HackEgo> No output.
21:38:44 * oerjan doesn't recall that discussion. or know what a crawl space is. i guess i'll find out when i get to reddit.
21:38:50 <ais523> !c printf("%x",'^');
21:38:53 <EgoBot> 5e
21:38:57 <ais523> helps to get the right bot...
21:38:57 <ehird> oerjan: It was in here.
21:39:17 <ehird> ^| for up arrow, but v| or |v for down arrow?
21:39:25 <SimonRC> how does !c work?
21:39:27 <AnMaster> <ehird> pikhq: http://sprunge.us/RTgd This version handles multiple statements in the body <-- did I actually manage to convince you to use something that I recommended?
21:39:39 <ais523> SimonRC: compiles and runs C, I think, adding an appropriate wrapper if necessary
21:39:42 <ehird> AnMaster: No?
21:39:50 <ais523> !c int main(void) { puts("Hello, world!"); }
21:39:59 <AnMaster> ehird, well I'm pretty sure it was me who recommended that pastebin to you
21:39:59 <ehird> !c puts("poop!")
21:40:00 <EgoBot> poop!
21:40:03 <SimonRC> ais523: massive security hole?
21:40:06 <ehird> AnMaster: No, I told you about it.
21:40:08 <ehird> SimonRC: plash'd.
21:40:11 <ehird> Go on; try and break it.
21:40:14 <ehird> God knows we have.
21:40:20 <soupdragon> !c *NULL
21:40:27 <SimonRC> ok
21:40:29 <soupdragon> broke it
21:40:30 <soupdragon> !!!
21:40:40 <ais523> soupdragon: just no output
21:40:45 <pikhq> Kinda hard to break Plash.
21:40:53 <soupdragon> that's just one interpretation ais :p
21:40:57 <SimonRC> !c int main(void) { for(;;); return 0 }
21:40:58 <EgoBot> Does not compile.
21:41:00 <SimonRC> !c int main(void) { for(;;); return 0; }
21:41:03 <AnMaster> oerjan, hi
21:41:04 <ais523> !c printf("a"); printf("%d",*(int*)NULL); printf("b");
21:41:09 <EgoBot> ./interps/gcccomp/gcccomp: line 52: 24519 Segmentation fault /tmp/compiled.$$
21:41:27 <oerjan> hi AnMaster
21:41:28 <pikhq> If you manage to break out of Plash's sandboxed libc, you find yourself in an empty chroot.
21:41:36 <SimonRC> !c int main(void) { for(;;){malloc(99999); return 0; }
21:41:37 <EgoBot> Does not compile.
21:41:44 <pikhq> With literally nothing but your program and ld.
21:41:44 <ais523> SimonRC: unmatched braces
21:41:46 <SimonRC> !c int main(void) { for(;;){malloc(9999);}; return 0; }
21:41:53 <AnMaster> oerjan, I do have to say the annotation today was quite nice
21:41:55 <ehird> v| or |v for down arrow? any opinions?
21:41:58 <ais523> that'll just be an infinite loop that silently terminates after a bit
21:41:59 <ais523> ehird: both
21:42:02 <ehird> Alright
21:42:04 <ais523> so you don't have to remember which
21:42:17 <SimonRC> shouldn't timeouts give a message?
21:42:19 <SimonRC> !c int main(void) { for(;;){fork();}; return 0; }
21:42:30 <ais523> !c for(;;) printf("x");
21:42:36 <ehird> !c puts("POOP")
21:42:39 <EgoBot> POOP
21:42:39 <ehird> !c puts("POOP");
21:42:41 * SimonRC is seeing what messages all the common stuff gives
21:42:42 <EgoBot> POOP
21:42:50 <ais523> !ps
21:43:18 <SimonRC> hmm
21:44:13 <SimonRC> ":39:53 < ehird> Go on; try and break it."
21:44:17 <SimonRC> hmmmmmmmmmmmmmmm
21:44:39 <SimonRC> !c for(;;) puts("beep");
21:44:40 <EgoBot> beep
21:44:47 <SimonRC> !c for(;;) puts("beep");
21:44:48 <EgoBot> beep
21:44:52 <SimonRC> huh
21:45:00 <ehird> It DCCs you the rest of the output.
21:45:13 <SimonRC> ehird: oh this will be fun
21:45:43 <ehird> Plash is well-tested, mature open-source software. Your chance of breaking it via an IRC bot is extremely low.
21:45:53 <SimonRC> true
21:45:59 <SimonRC> "* SimonRC is seeing what messages all the common stuff gives"
21:46:00 <ehird> Even if you do, your chance of breaking out of the empty chroot you will find yourself in is extremely low too.
21:46:22 <coppro> geordi has some pretty crazy sandboxing too
21:46:35 <coppro> for those of you who have used geordi
21:46:46 <ehird> SimonRC: Here's the vector of attack I would suggest: Make it download (it has functionality to do this) a statically-linked executable. Plash modifies the dynamically-linked glibc.
21:46:53 <AnMaster> SimonRC, also static binaries = no luck
21:46:54 <ehird> Then, try and break out through syscalls.
21:46:56 <AnMaster> I tried that in plash
21:47:04 <AnMaster> it worked up to a point
21:47:20 <pikhq> Though, then you need to hope for a kernel bug.
21:47:23 <SimonRC> !c for(int i = 1; i; i++) printf("%d", i);
21:47:36 <ehird> pikhq: No, just kernel functionality which Plash doesn't want you using.
21:47:48 <AnMaster> SimonRC, since it runs the process in an empty chroot with a preloaded libc replacement that calls a server outside the chroot for file IO and such...
21:47:55 <ehird> Admittedly, you then need a kernel exploit for the chroot.
21:48:03 <AnMaster> SimonRC, thus, static binary can't do anything
21:48:13 * ehird Alt+SysRq+K to reload .XCompose
21:48:17 -!- ehird has quit (Remote closed the connection).
21:48:32 <AnMaster> I did try direct syscalls
21:48:54 <SimonRC> hmm, I can't get it to spam me now
21:48:57 -!- ehird has joined.
21:48:59 <SimonRC> !c for(int i = 1; i; i++) printf("%d\n", i);
21:49:02 <EgoBot> 1
21:49:06 <ehird> Bah; its unworking is present.
21:49:06 <pikhq> Plash could start using ptrace for its sandboxing.
21:49:10 <SimonRC> aha, needed a \n
21:49:13 <ehird> ompose - -? No luck.
21:49:14 <pikhq> And then have direct control over the system calls.
21:49:15 <AnMaster> ehird, I do believe you could do mischeif with sockets though
21:49:22 <AnMaster> wouldn't allow break out
21:49:27 <ehird> Oh!
21:49:30 <AnMaster> but direct syscalls to directly work on sockets
21:49:30 <SimonRC> gives up after 3500 lines
21:49:32 <AnMaster> could be fun
21:49:56 <AnMaster> <pikhq> Plash could start using ptrace for its sandboxing. <-- planned feature iirc. And then all hope is lost
21:50:05 <SimonRC> we are assuming we run arbitrary machine code here, right?
21:50:10 <ehird> SimonRC: You can.
21:50:12 <ehird> !asm
21:50:17 <ehird> You can also do !asm ...url...
21:50:19 <ehird> or !c ...url...
21:50:23 <ais523> !c char* a="!c char*a =|%s%c%s%c%s|; char* c=strdup(a); for(char *b=a; *b;) if(*b++=='|') b[-1]=0; printf(a+12,a,34,c,34,a+23);"; char* c=strdup(a); for(char *b=a; *b;) if(*b++=='|') b[-1]=0; printf(a+12,a,34,c,34,a+23);
21:50:25 <EgoBot> ./interps/gcccomp/gcccomp: line 52: 25004 Segmentation fault /tmp/compiled.$$
21:50:28 <ais523> whoops
21:50:31 <AnMaster> ais523, what?
21:50:38 <AnMaster> how did you manage that
21:50:40 <pikhq> SimonRC: Not just "assuming". That's what Ptrace does.
21:50:53 <AnMaster> ais523, does the compiler crash locally on that for you?
21:50:56 <ais523> probably
21:51:00 <pikhq> It runs arbitrary machine code in a very safe way.
21:51:10 <ehird> # Dashes
21:51:12 <ehird> <Multi_key> <minus> <minus> <period> : "–" U2013 # EN DASH
21:51:14 <ehird> <Multi_key> <minus> <minus> <minus> : "—" U2014 # EM DASH
21:51:15 <ehird> Shoulda known it already had it.
21:51:17 <ehird>
21:51:19 <ehird>
21:51:28 <ais523> !c char* a="!c char*a =@%s%c%s%c%s@; char* c=strdup(a); for(char *b=a; *b;) if(*b++==64) b[-1]=0; printf(a+12,a,34,c,34,a+23);"; char* c=strdup(a); for(char *b=a; *b;) if(*b++==64) b[-1]=0; printf(a+12,a,34,c,34,a+23);
21:51:29 <EgoBot> ./interps/gcccomp/gcccomp: line 52: 25053 Segmentation fault /tmp/compiled.$$
21:51:34 <ehird> ais523: what are you trying to do?
21:51:34 <ais523> that fix is needed, at least
21:51:37 <ais523> ehird: quine
21:51:41 <ehird> heh
21:51:46 <AnMaster> ais523, you should file a bug if that happens outside plash
21:51:54 <ais523> against what?
21:52:06 <AnMaster> oh not gcc?
21:52:09 -!- ehird has quit (Remote closed the connection).
21:52:09 <AnMaster> ais523, misread the error
21:52:18 <AnMaster> ais523, thought it was gcc itself that segfaulted
21:52:50 -!- ehird has joined.
21:53:03 <ehird> ←→↑↓
21:53:05 <AnMaster> pikhq, anyway it doesn't currently use ptrace afaik
21:53:10 <ehird> I wonder what I'd do for the diagonals.
21:53:19 <AnMaster> pikhq, also I wonder how threads interact with this.
21:53:27 <AnMaster> as in, pthreads
21:53:32 <SimonRC> L/ \J r\ /7 ?
21:53:35 <coppro> ehird: Do you know of any way to get an alt-code-like setp on X?
21:53:37 <coppro> *setup
21:53:37 <AnMaster> anyone up for writing a short pthreads test program?
21:53:40 <ehird> I guess -^ for upleft, ^- for upright, v- for downleft and -v for downright.
21:53:44 <ehird> coppro: alt-code-like?
21:53:52 <coppro> where you type in a digit sequence
21:53:53 <SimonRC> or compose-uparrow-rightarrow ?
21:53:59 <ehird> SimonRC: can't do that, can you?
21:54:02 <coppro> in my case, I'd just want the Unicode codepoint
21:54:03 <SimonRC> dunno
21:54:05 <ehird> coppro: Ah.
21:54:10 <ais523> doesn't even compile, locally
21:54:10 <ehird> coppro: Don't; Compose is far superior. ;-)
21:54:17 <coppro> ehird: But less generic
21:54:21 <coppro> and not mutually exclusive either
21:54:43 <ehird> Look in System Settings → Region & Language → Keyboard Layout → Advanced
21:54:47 <ehird> There might be something there.
21:54:51 <ehird> s/Advanced$/Advanced./
21:55:18 <ehird> "Key sequence to kill the X server: [ ] Control + Alt + Backspace"
21:55:21 <ehird> A GUI for everything!
21:55:37 <coppro> heh
21:55:37 <ehird> coppro: Nope, nothing there.
21:55:52 <ehird> coppro: You could generate a Compose file with <Multi_key> <U> <plus> every codepoint.
21:55:59 <AnMaster> so lets see
21:56:04 <ehird> It'd be gigantic and X11 would take about five years to start, but it'd work.
21:56:25 <coppro> yeah :(
22:00:10 <AnMaster> ehird, downside of compose: no key repeat
22:00:10 <ais523> !c char a[]="!c char a[]=@%s%c%s%c%s@; char* c=strdup(a); for(char *b=a; *b;) if(*b++==64) b[-1]=0; printf(a+13,a,34,c,34,a+24);"; char* c=strdup(a); for(char *b=a; *b;) if(*b++==64) b[-1]=0; printf(a+13,a,34,c,34,a+24);
22:00:12 <EgoBot> !c char a[]="!c char a[]=@%s%c%s%c%s@; char* c=strdup(a); for(char *b=a; *b;) if(*b++==64) b[-1]=0; printf(a+13,a,34,c,34,a+24);"; char* c=strdup(a); for(char *b=a; *b;) if(*b++==64) b[-1]=0; printf(a+13,a,34,c,34,a+24);
22:00:13 <AnMaster> →→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→
22:00:15 <ais523> found my error
22:00:19 <AnMaster> long live altgr
22:00:23 <ais523> for some reason I was trying to write to a constant string
22:00:46 <AnMaster> ais523, turn on -Wwrite-strings ;P
22:00:52 <ais523> AnMaster: how, with egobot?
22:00:57 <ais523> also, easier just to fix the declaration
22:01:00 <AnMaster> ais523, well, that I don't know
22:01:04 <ais523> or write to c, fwiw
22:01:04 <AnMaster> ais523, what?
22:01:09 <AnMaster> that one warns you
22:01:09 <AnMaster> ...
22:01:44 <AnMaster> ais523, nice polygot. Now just make it output brainfuck or underload every other time
22:01:56 <AnMaster> so you can run fungot against egobot
22:01:57 <fungot> AnMaster: 1l 2l axo befunge bch bf8,16,32,64 fyb fybs glass glypho kipple lambda lazyk linguine malbolge pbrain rail sadol sceql udage01 unlambda whirl is that fnord
22:02:03 <ehird> "Polyglor"?
22:02:05 <ehird> *Polyglot
22:02:07 <ehird> It's a quine.
22:02:13 <AnMaster> ehird, err typo
22:02:15 <AnMaster> or rather
22:02:18 <AnMaster> I thought ahead
22:02:20 <ais523> !c char* a="!c char*a =@%s%c%s%c%s@; char* c=strdup(a); for(char *b=c; *b;) if(*b++==64) b[-1]=0; printf(c+12,c,34,a,34,c+23);"; char* c=strdup(a); for(char *b=c; *b;) if(*b++==64) b[-1]=0; printf(c+12,c,34,a,34,c+23);
22:02:21 <AnMaster> at the polygot
22:02:22 <EgoBot> !c char*a ="!c char*a =@%s%c%s%c%s@; char* c=strdup(a); for(char *b=c; *b;) if(*b++==64) b[-1]=0; printf(c+12,c,34,a,34,c+23);"; char* c=strdup(a); for(char *b=c; *b;) if(*b++==64) b[-1]=0; printf(c+12,c,34,a,34,c+23);
22:02:40 <AnMaster> <fungot> AnMaster: 1l 2l axo befunge bch bf8,16,32,64 fyb fybs glass glypho kipple lambda lazyk linguine malbolge pbrain rail sadol sceql udage01 unlambda whirl is that fnord <-- what
22:02:41 <fungot> AnMaster: you aren't using? it's not scheme! they look like cavemen." " if you like
22:02:51 <AnMaster> fizzie!! what the hell was that string from
22:02:54 <AnMaster> fungot itself?
22:03:06 <AnMaster> hm no
22:03:09 <AnMaster> possibly egobot
22:03:11 <ehird> Yes.
22:03:13 <ehird> EgoBot.
22:03:13 <ais523> !c char*a="!c char*a=@%s%c%s%c%s@;char*c=strdup(a);for(char*b=c;*b;)if(*b++==64)b[-1]=0;printf(c+11,c,34,a,34,c+22);";char* c=strdup(a);for(char*b=c;*b;)if(*b++==64)b[-1]=0;printf(c+11,c,34,a,34,c+22);
22:03:15 <EgoBot> !c char*a="!c char*a=@%s%c%s%c%s@;char*c=strdup(a);for(char*b=c;*b;)if(*b++==64)b[-1]=0;printf(c+11,c,34,a,34,c+22);";char*c=strdup(a);for(char*b=c;*b;)if(*b++==64)b[-1]=0;printf(c+11,c,34,a,34,c+22);
22:03:20 <ehird> fungot is going to have a bot change.
22:03:21 <fungot> ehird: rigght moving the stuff to colin.
22:03:21 <AnMaster> !fnord
22:03:25 <ais523> !c char*a="!c char*a=@%s%c%s%c%s@;char*c=strdup(a);for(char*b=c;*b;)if(*b++==64)b[-1]=0;printf(c+11,c,34,a,34,c+22);";char*c=strdup(a);for(char*b=c;*b;)if(*b++==64)b[-1]=0;printf(c+11,c,34,a,34,c+22);
22:03:28 <EgoBot> !c char*a="!c char*a=@%s%c%s%c%s@;char*c=strdup(a);for(char*b=c;*b;)if(*b++==64)b[-1]=0;printf(c+11,c,34,a,34,c+22);";char*c=strdup(a);for(char*b=c;*b;)if(*b++==64)b[-1]=0;printf(c+11,c,34,a,34,c+22);
22:03:33 <ais523> there we go
22:03:38 <ehird> He is changing from the bot gender of fungot to EgoBot.
22:03:39 <fungot> ehird: czech rock :d hope you're not disappointed, but i've never tried magic, so i'm supposed to be an atheist
22:03:42 <ehird> His new name will apparently be "colin".
22:03:49 <ehird> And he will be an atheist.
22:03:59 -!- kar8nga has quit (Read error: 104 (Connection reset by peer)).
22:04:00 * ehird nods head. Solemnly.
22:04:11 <ais523> of course, I think it's possible to do a much shorter C quine than that
22:04:20 <coppro> I think so too
22:04:27 <ais523> just, not right now, I have work to do that I really should be doing
22:04:35 <AnMaster> ais523, well yes. isn't there a zero byte one from IOCCC?
22:04:47 <coppro> the geordi quine is geordi: { char y(34); stringstream i("geordi: { char y(34); stringstream i(!); string t; getline(i, t, '!'); cout << t << y << i.str() << y << i.rdbuf(); }"); string t; getline(i, t, '!'); cout << t << y << i.str() << y << i.rdbuf(); }
22:05:01 <coppro> C will be a bit slower
22:05:02 <ais523> AnMaster: that doesn't count
22:05:07 <AnMaster> coppro that isn't C. That is C++
22:05:10 <coppro> I know
22:05:15 <AnMaster> ais523, well the one byte one then?
22:05:20 <ehird> int main(){char*x="printf(%c%s%c,34,x,34)";return printf(x,34,x,34);}
22:05:24 <ais523> AnMaster: that wasn't a quine
22:05:25 <ehird> ↑ C quine
22:05:38 <ehird> Nobody said it was C.
22:05:38 <ais523> ehird: how?
22:05:40 <ehird> geordi runs C++.
22:05:43 <ehird> ais523: How what?
22:05:44 <ais523> it doesn't print the char* or the int main
22:05:47 <ehird> Oops.
22:05:52 <soupdragon> !c char*x="printf(%c%s%c,34,x,34)";return printf(x,34,x,34);
22:05:53 <EgoBot> printf("printf(%c%s%c,34,x,34)",34,x,34)
22:06:05 <ehird> Oops, right.
22:06:08 <ehird> That's for the embedded version.
22:06:11 <ehird> Let's try again:
22:06:14 <soupdragon> !c return printf("printf(%c%s%c,34,x,34)",34,x,34);
22:06:15 <EgoBot> Does not compile.
22:06:37 <ehird> sec
22:07:20 <ehird> int main(x,y){y="int main(x,y){y=%c%s%c;return printf(y,34,y,34);}";return printf(y,34,y,34);}
22:07:28 <AnMaster> what languages allow you to read the program code from inside the program. I mean, non-esolangs
22:07:35 <ehird> Note my wonderful casting powers.
22:07:51 <AnMaster> without opening the source file (if compiled)
22:07:57 <AnMaster> anyway that made me thing of a short bash quine
22:08:05 <AnMaster> !bash echo "test, does this have bash?"
22:08:09 <AnMaster> !sh echo "test, does this have bash?"
22:08:09 <EgoBot> test, does this have bash?
22:08:12 <AnMaster> hm
22:08:12 <ehird> int main(int x,char**y){x="int main(int x,char**y){x=%c%s%c;return printf(x,34,x,34);}";return printf(x,34,x,34);}
22:08:16 <AnMaster> !sh echo "$0"
22:08:17 <EgoBot> /tmp/input.25413
22:08:18 <ehird> ↑ Valid C.
22:08:20 <AnMaster> !sh cat "$0"
22:08:21 <EgoBot> cat "$0"
22:08:23 <AnMaster> there
22:08:24 <ehird> Behold my evil.
22:08:26 <AnMaster> short bash quine!
22:08:45 <ehird> AnMaster: Anyone who thinks that is a quine is an idiot who has not seen it before.
22:08:45 <AnMaster> or shell one + cat
22:08:46 <AnMaster> hm
22:08:53 <ehird> Do you think you actually thought of that cheat yourself?
22:08:57 <fizzie> Colin is one of my computers, so that's probably something I said.
22:08:59 <AnMaster> ehird, no
22:08:59 <ais523> ehird: undefined behaviour, you need explicit casts to make it relevant
22:09:05 <ais523> !perl #!/usr/bin/cat
22:09:06 <EgoBot> Can't exec /usr/bin/cat at /tmp/input.25470 line 1.
22:09:10 <ais523> !perl #!/bin/cat
22:09:11 <EgoBot> #!/bin/cat
22:09:13 <AnMaster> ehird, but I haven't read about it. I assumed someone else must have thought of it before
22:09:13 <ais523> there we go
22:09:19 <ehird> int main(int x,char**y){x=(int)"int main(int x,char**y){x=%c%s%c;return printf(x,34,x,34);}";return printf((char*)x,34,x,34);}
22:09:22 <ais523> that's one of my favourite Perl quines just because it's so absurd
22:09:29 <ehird> ais523: You can do %s on an int because printf just has ...
22:09:49 <ais523> ehird: assuming int is the same size as a pointer, it's likely to work
22:10:05 <ais523> but it's undefined behaviour even if they're the same, as the interp can use any implementation-defined tricks it likes to cast int to pointer
22:10:09 <ais523> including changing the representation
22:10:15 <AnMaster> ais523, why would perl even consider it may be invoked on a non-perl program?
22:10:22 <ehird> int main(){char*x="int main(){char*x=%c%s%c;return printf(x,34,x,34);}";return printf(x,34,x,34);}
22:10:24 <ehird> Shorter, anyway.
22:10:42 <ehird> AnMaster: because you can do #!perl -w
22:10:48 <ehird> so it just executes the program mentioned
22:10:50 <ais523> AnMaster: so you can set perl as a generic command interpreter on a system that doesn't do shebangs
22:10:53 <ais523> and it emulates them for you
22:10:59 * SimonRC goes for food
22:11:00 <ehird> ais523: is that the real reason? wow
22:11:01 <ais523> ehird: no, that's an entirely different sort of magic
22:11:15 <ais523> if the name "perl" is in the string, it instead reads command-line options from it
22:11:20 <ehird> well
22:11:21 <ais523> ehird: according to the manpages, yes
22:11:21 <ehird> I meant more like
22:11:25 <ehird> #!/path/to/perl -w
22:12:15 <ais523> that has the word "perl" in, so it'll run under whichever perl you ran it with
22:12:23 <ais523> even more fun is "#!/bin/sh -- # -*- perl -*- -p"
22:12:28 <ais523> which is an actual example in the manual
22:13:04 <coppro> :D
22:13:08 <ais523> <perlrun> If the #! line does not contain the word "perl", the program name after the #! is executed instead of the Perl interpreter. This is slightly bizarre, but it helps people on machines that don't do #!because they can tell a program that their SHELL is /usr/bin/perl, and Perl will then dispatch the program to the correct interpreter for them.
22:13:13 <pikhq> o.O
22:13:23 <ais523> whoops, missed a space unwrapping that
22:13:28 <ais523> <perlrun> If the #! line does not contain the word "perl", the program name after the #! is executed instead of the Perl interpreter. This is slightly bizarre, but it helps people on machines that don't do #! because they can tell a program that their SHELL is /usr/bin/perl, and Perl will then dispatch the program to the correct interpreter for them.
22:13:37 <ehird> I like the "Hey, we added this so perl helps you do stuff, even if you don't code Perl that's okay, we're just here to help"
22:13:49 <ehird> "It was just a few lines of code and we like you guys, so, you know."
22:13:57 <ehird> "Set us as your command interpreter and whatnot."
22:13:58 <ais523> reminds me of DNA Maze
22:14:09 <ais523> version 2 ran the DOS equivalent of the UNIX command "reset" once it exited
22:14:16 <ais523> so I could use it to restore messed-up ttys
22:14:22 <ehird> :-D
22:14:34 <pikhq> XD
22:14:52 <ais523> (it was used for other purposes too; I once replaced the entire DRM of a C compiler with DNA Maze)
22:14:55 <ehird> http://simulacrum.dorm.duke.edu/allyourgoogle.svg
22:15:04 <ais523> (stop playing the game, you can use your compiler now)
22:15:09 <coppro> svg is awesome
22:15:12 <ehird> I never thought I'd stare at a functional Google homepage. Rotating.
22:15:25 <ehird> Very slow in Firefox, though. Let me try it in a WebKit browser.
22:15:32 <ehird> ais523: brilliant
22:15:44 <AnMaster> <ais523> AnMaster: so you can set perl as a generic command interpreter on a system that doesn't do shebangs <-- wouldn't it make more sense to have a special purpose such program
22:15:56 <ais523> AnMaster: Perl's a special purpose everything program
22:16:05 <ehird> AnMaster: no, because if it's the 90s you don't have that kind of bandwidth
22:16:21 <ais523> "swiss army chainsaw"
22:16:21 <ehird> and if installing Perl helps you run Perlish stuff, which usually comes with shebangs, all the better
22:16:49 <coppro> Perl is the antiunix
22:17:26 <AnMaster> ais523, heh
22:17:28 <ehird> On one tool for one job: "Those days are dead and gone and the eulogy was delivered by Perl." —Rob Pike
22:17:43 <AnMaster> ehird, it would be a 10-20 line C program anyway
22:17:54 <ehird> AnMaster: You don't have a C compiler.
22:18:09 <AnMaster> ehird, okay, the binary would still be tiny
22:18:15 <ais523> you probably have cc, given the time period in question
22:18:19 <ehird> But it's not such a huge big deal, it's just a nicety.
22:18:24 <ehird> Why bother to seek out such a program?
22:18:25 <AnMaster> sure
22:18:38 <ais523> perl programs traditionally do the reverse, too
22:18:43 <AnMaster> ehird, that quote by Rob Pike seems to be a good summary
22:18:44 <ais523> they're written as a perl/sh polyglot
22:18:53 <AnMaster> ais523, they are?
22:18:54 <ais523> so that systems that don't do #! re-invoke it under perl if it's run by sh by mistake
22:18:55 <AnMaster> how and why
22:19:08 <ehird> Like this:
22:19:10 <AnMaster> okay that answers why, how
22:19:11 <AnMaster> hm
22:19:11 <ais523> eval 'exec perl -wS $0 ${1+"$@"}'
22:19:12 <ehird> #!/usr/bin/perl
22:19:15 <ais523> if $running_under_some_shell
22:19:19 <ehird> ais523: ooh, synchronicity
22:19:27 <ehird> I added the first line for you to append to
22:19:30 <ais523> except I missed the seimcolon
22:19:36 <ehird> ;
22:19:37 <ehird> fixed
22:19:39 <ais523> also, my first line came before yours, rather runing the effect at my end
22:19:40 <AnMaster> that is out of order
22:19:45 <ehird> Bah
22:19:50 <ais523> #!/usr/bin/perl
22:19:53 <ais523> eval 'exec perl -wS $0 ${1+"$@"}'
22:19:57 <ais523> if $running_under_some_shell;
22:20:02 <ais523> there we go
22:20:09 <AnMaster> ah
22:20:13 <AnMaster> fun
22:20:18 <ais523> although, you'd want the -wS in the first line too, if you were using those options
22:20:29 <AnMaster> ais523, why -wS?
22:20:31 <ais523> sh has significant whitespace, so it never even looks at the third line
22:20:35 <ais523> AnMaster: in the example in the manual
22:20:43 <ais523> you could omit it, but -w is rather recommended
22:20:51 <AnMaster> ais523, and yes I know sh well enough to know newline ends command
22:20:55 <ehird> I guess the shebang should be #!/usr/bin/perl -wS
22:21:00 <ehird> ais523: ooh, ridiculous Perl feature idea:
22:21:01 <ais523> in Perl it doesn't, so it sees an if that fails
22:21:05 <ais523> and doesn't run the line before
22:21:11 <ais523> and eval is a valid Perl statement, so it parses
22:21:16 <ehird> it looks for any line starting with "exec perl" before any other non-comment lines
22:21:18 <ehird> and ignores it
22:21:19 <AnMaster> ais523, undefined variable is false?
22:21:24 <ehird> except, wait, no
22:21:27 <ais523> AnMaster: yes, or an error if use strict; is in use
22:21:32 <ehird> it looks for any line starting with "exec perl" before any other non-comment lines
22:21:36 <ais523> so for a strict program, it would be
22:21:39 <ais523> #!/usr/bin/perl -wS
22:21:46 <AnMaster> ais523, why the eval?
22:21:47 <ehird> and interprets all of the following arguments starting with - as arguments to Perl
22:21:49 <ehird> so
22:21:51 <ehird> #!/usr/bin/perl
22:21:51 <ais523> eval 'exec perl -wS $0 ${1+"$@"}'
22:21:53 <ehird> exec perl -wS
22:21:59 <ais523> if $::running_under_some_shell;
22:22:00 <ehird> erm
22:22:03 <ehird> exec perl -wS "$@"
22:22:07 <ehird> would be like #!/usr/bin/perl -wS, except working on non-shebang machines
22:22:09 <ais523> AnMaster: to hide the shellcode inside from Perl
22:22:12 <ehird> ais523: horrible and brilliant, methinks
22:22:16 <ais523> ehird: yes
22:22:19 <AnMaster> ehird, no it should be ${1+"$@"} most likely
22:22:24 <AnMaster> to deal with old shells
22:22:51 <ais523> anyway, perl sees what's effectively eval 'stuff in quotes' if 0;
22:22:55 <ais523> and doesn't run the command at all
22:24:04 <AnMaster> ais523, right
22:24:16 <AnMaster> ais523, couldn't that eval mess up things though
22:24:22 <ais523> AnMaster: no, because it /never runs/
22:24:30 <AnMaster> ais523, *for the shell*
22:24:38 <ais523> no, because the shell just evals what's inside it
22:24:44 <AnMaster> ais523, what if you pass some shell code as an argument. It looks improperly quoted
22:24:53 <ais523> it's properly quoted, it's in single quotes
22:25:03 <ais523> which just like in shells, don't need quoting of anything but ' inside them
22:25:08 <AnMaster> oh hm
22:25:11 <ais523> you can put literal anything but ' inside singlequotes, I think
22:25:11 <AnMaster> read it as ""
22:25:13 <AnMaster> well oaky
22:25:14 <AnMaster> okay*
22:25:17 <ais523> possibly even literal NUL, although I'm less sure of that
22:25:24 <AnMaster> ais523, it can fail if $0 contains spaces
22:25:28 <AnMaster> not the val
22:25:30 <AnMaster> eval*
22:25:34 <AnMaster> but the code after
22:25:49 <ais523> AnMaster: ooh, well noticed, report it as a bug to the Perl people
22:25:49 <AnMaster> ais523, as for literal NUL, those will cause bash at least to end the string there
22:25:57 <AnMaster> as they are null terminated internally
22:26:03 <ais523> AnMaster: yes, but there aren't any so it's irrelevant to this discussion
22:26:06 <AnMaster> ais523, oh? wouldn't this differ between shell scripts
22:26:15 <AnMaster> err
22:26:17 <AnMaster> perl scripts
22:26:21 <AnMaster> so it is up to each perl script
22:26:31 <AnMaster> ais523, or is it from some manual page of perl?
22:26:31 <ais523> yes, but they could fix the example in the manual
22:26:40 <AnMaster> ais523, indeed. where is the bug tracker?
22:26:41 <ehird> a2p does this:
22:26:45 <ehird> #!/usr/bin/perl
22:26:46 <ehird> eval 'exec /usr/bin/perl -S $0 ${1+"$@"}'
22:26:48 <ehird> if $running_under_some_shell;
22:26:50 <ehird> # this emulates #! processing on NIH machines.
22:26:51 <ehird> # (remove #! line above if indigestible)
22:27:02 <ehird> I have no idea what "indigestible" means.
22:27:06 <AnMaster> ehird, I have
22:27:08 <ais523> ehird: unable to be eaten
22:27:08 <soupdragon> you can't eat it
22:27:12 <ehird> ...
22:27:15 <ehird> I KNOW THAT
22:27:16 <ais523> so, it means the #! causes an error
22:27:25 <ais523> whereas it's a shebang to most shells, and a comment to most others
22:27:26 <AnMaster> ehird, yes, as in shell or system can't handle #!
22:27:29 <ais523> ofc, all this is no use on windows
22:27:30 <AnMaster> maybe # isn't a comment
22:27:43 <soupdragon> digest
22:27:45 <soupdragon> digestible
22:27:47 <soupdragon> indigestible
22:27:48 <ais523> hmm, someone write a perl / DOS batch file polyglot
22:28:02 <ehird> Okay.
22:28:03 <ais523> where the batch file runs the perl
22:28:04 <AnMaster> ais523, does perl use a mailing list or a bug tracker?
22:28:09 <ehird> AnMaster: they use rt
22:28:14 <AnMaster> ehird, rt?
22:28:15 <ais523> AnMaster: mailing list is perl5-porters, but it has a bug tracker too
22:28:37 <AnMaster> ais523, which manual page is it from?
22:28:41 <ais523> http://rt.perl.org/perlbug/
22:28:44 <ais523> and it's on "perlrun"
22:29:09 <ehird> ais523: is FOO = x; valid Perl?
22:29:17 <AnMaster> wth is up with the login
22:29:22 <ais523> ehird: no, there's no sigil
22:29:33 <ais523> AnMaster: bitcard does the accounts for all the perl stuff
22:29:40 <AnMaster> ais523, whatever that is
22:29:55 <ehird> AnMaster: an account.
22:29:56 <ais523> AnMaster: it's the accounts thing for Perl and CPAN
22:30:02 <ehird> ais523: ok, let me rephrase
22:30:11 <ehird> what can I put after FOO to make it a valid perl nop?
22:30:18 <ehird> I guess FOO; works, but eh
22:30:24 <ehird> FOO if 0; too
22:30:36 <AnMaster> ais523, bitcard certainly seems trustworthy: "You have requested an encrypted page that contains some unencrypted information. Information that you see or enter on this page could easily be read by a third party."
22:30:43 <ais523> hm, as long as FOO is purely alphanumeric and starts with a letter
22:30:47 <ehird> does %0 work for "this program" in DOS?
22:30:49 <ais523> AnMaster: isn't that IE's warning message?
22:30:50 <ehird> AnMaster: tons of pages do that
22:30:54 <AnMaster> ais523, firefox
22:30:55 <ehird> AnMaster: stop whining
22:31:01 <ehird> it's not like perl have some password-stealing conspiracy
22:31:08 <AnMaster> ehird, I know one no other login pages doing that
22:31:12 <AnMaster> or registration ones
22:31:16 <ais523> wikipedia's did for ages
22:31:18 <ehird> Nobody gives a fuck
22:31:20 <AnMaster> I do know of pages once you are logged in
22:31:26 <AnMaster> ehird, s/nobody/ehird/
22:31:27 <ais523> the point is, the bit you enter the password in is encrypted
22:31:33 <ehird> No, I don't give a fuck.
22:31:36 <AnMaster> err, doesn't*
22:31:38 <ais523> so unless you're really scared of someone trying to MITM-interface-spoof you...
22:31:39 <AnMaster> ehird, well
22:31:46 <AnMaster> point is you shouldn't speak for everyone
22:31:49 <ehird> I don't care, ais523 doesn't care, and you're the only person anal enough to care.
22:32:02 <ais523> ehird: I care to the extent that sort of message is actually a security risk
22:32:06 <ehird> I know ais523 doesn't care because he's explaining why it isn't a problem to you.
22:32:09 <ais523> which is, not very much
22:32:21 <ehird> so does %0 work in batch files as "this program"?
22:32:23 * AnMaster prepares mailinator
22:32:32 <ehird> AnMaster: ...
22:32:41 <ehird> Perl: Spammer extraordinaires
22:32:46 <ais523> ehird: I'm not sure, but I wouldn't be surprised if it didn't
22:32:51 <ehird> I'm pretty sure Larry Wall is too Christian to spam you
22:32:54 <AnMaster> ehird, are email addresses public
22:33:03 <ehird> ais523: can you use them in strings?
22:33:06 <AnMaster> as on bugzilla
22:33:11 <ehird> AnMaster: They're mangled, I believe.
22:33:13 <ehird> foo AT bar DOT org
22:33:15 <ehird> or whatever
22:33:17 <ais523> ehird: it interpolates fine, I think
22:33:24 <AnMaster> ehird, won't help much
22:33:26 <ais523> the issue is more getting things to not interpolate, in DOS
22:33:41 <ais523> there are quoting rules but they make no sense and I can't remember them
22:34:12 <ehird> REM ; if (0) {
22:34:14 <ehird> perl "%0"
22:34:15 <ehird> REM ; }
22:34:17 <ehird> print "Hello, world!\n";
22:34:18 <ehird> Tada.
22:34:34 <ehird> Now to make it work with a shebang and for shebangless systems.
22:34:44 <ehird> hmm...
22:34:51 <ais523> I think the perl "%0" might fail there in Perl
22:34:59 <ehird> ais523: it's in an if (0)
22:35:14 <ehird> to Perl, it looks like this:
22:35:15 <ehird> REM;
22:35:17 <ehird> if (0) {
22:35:19 <ais523> String found where operator expected at t.pl line 2, near "perl "%0""
22:35:20 <ehird> perl "%0" REM;
22:35:21 <ehird> }
22:35:25 <ehird> ais523: Huh.
22:35:27 <pikhq> qsort((int[]){5, 50, 1, 0}, 4, sizeof(int), lambda(int, (const void *x, const void *y), *x < *y?-1:*x > *y?1:0));
22:35:30 <pikhq> Whooo.
22:35:31 <ais523> followed by a missing semicolon error
22:35:31 <ehird> #!/usr/bin/env perl will just try to execute the program #!/usr/bin/env with argument perl in batch, right?
22:35:37 <ais523> ehird: it's parsing perl as "perl"
22:35:42 <ehird> pikhq: Now make it work with typeof, bitch.
22:35:45 <ais523> so you get "perl" "%0" REM
22:35:46 <ehird> ais523: Ah.
22:35:47 <ais523> which makes no sense
22:35:47 <ehird> Easy to fix.
22:36:03 <ehird> %{ is a string in perl, right?
22:36:04 <ehird> Or a list
22:36:11 <ais523> no, it's a dereferencing operator
22:36:15 <ehird> %q{ then
22:36:16 <ais523> for hash references
22:36:17 <ehird> to }
22:36:23 <ehird> REM ; %q{
22:36:25 <ehird> perl "%0"
22:36:26 <ais523> no, that's a slice of the hash called q
22:36:26 <ehird> REM %}
22:36:33 <pikhq> ehird: lambda((x, y), void *x; void *y;, *x < *y?-1:*x>*y?1:0)
22:36:36 <ais523> try without the % sign
22:36:40 <ais523> REM ; q{
22:36:44 <ais523> REM }
22:36:47 <ais523> that works I think
22:36:48 <ehird> REM ; q{
22:36:50 <ehird> perl "%0"
22:36:51 <ehird> REM }
22:37:01 <ehird> ais523: #!/usr/bin/env perl executes the program #!/usr/bin/env in batch, right?
22:37:06 <ais523> ehird: I think so
22:37:09 <ehird> pikhq: NO :|
22:37:21 <ais523> (is #! a legal DOS directory name?)
22:37:25 <pikhq> ehird: Only way for it to work with more than 1 argument that I can think of.
22:37:28 <ehird> ais523: Well, it'll error out anyway.
22:37:36 <ehird> ais523: does x || y work in batch?
22:37:39 <ehird> or do I need to do something else
22:37:42 <ais523> haha, you must be kidding
22:37:47 <ais523> first, you run a test command
22:37:51 <ais523> then you use "if errorlevel"
22:37:54 <pikhq> It's much nicer to just write the return type.
22:37:55 <ehird> yeah :P
22:37:58 <ehird> pikhq: BAH
22:38:04 <ehird> ok, forget shebangs, I'll just make it work in sh-doing systems
22:38:07 <pikhq> And... C-like.
22:38:08 <ehird> although, wait no
22:38:12 <ehird> that breaks if you don't run it from a shell
22:38:18 <pikhq> Well, as C-like as *lambda* can be.
22:38:34 <ehird> ais523: @echo off disables echoing future lines before executing them
22:38:45 <ehird> ais523: does that disable error messages too?
22:39:09 * ehird gets an idea
22:39:13 <ehird> does x;y work in batch?
22:39:45 <ais523> no, I don't think so
22:40:10 <ehird> @REM ; q{
22:40:11 <ehird> @perl "%0"
22:40:13 <ehird> }
22:40:14 <ehird> print "Hello, world!\n";
22:40:20 <ehird> ↑ A silent version of my batch-perl-spawner.
22:40:52 <pikhq> ehird: Huh. Nested functions aren't on the stack.
22:41:20 <pikhq> Erm. Not necessarily.
22:41:23 <pikhq> Though they might be.
22:41:28 <pikhq> :/
22:41:36 <ehird> What does perl -S do, anyway?
22:42:38 <ais523> not sure
22:42:59 <pikhq> GCC *claims* that if you call them after the containing function exits, all hell breaks loose.
22:43:03 <ehird> haha, I'm loving this
22:43:07 <ehird> this will be the best polyglot ever
22:43:24 <pikhq> The assembly it outputs sticks the nested functions inside the text section.
22:43:27 <pikhq> With mangled names.
22:43:31 <AnMaster> ehird, will you make it work for sh systems too?
22:43:48 <ehird> AnMaster: Shebang, sh, batch and perl will all be handled.
22:44:02 <ehird> Batch might output an error before running the program, though.
22:44:09 <ehird> Well, something like
22:44:11 <AnMaster> ehird, okay that's impressive. Can't think of how you will handle #! in batch
22:44:13 <ais523> the DOS side of it seems to work (thanks, DOSbox!)
22:44:13 <ehird> #!/usr/bin/env perl
22:44:15 <ehird> Command not found
22:44:17 <ais523> although I'm not sure about the %0
22:44:25 <pikhq> It *seems* that if you simply don't refer to things in the outer function, you've got proper (but horribly inefficient) lambda.
22:44:38 <ehird> pikhq: Meh.
22:44:40 <ais523> pikhq: no, because the function is stored on the stack
22:44:44 <AnMaster> ehird, that one doesn't pass on arguments with batch
22:44:45 <ehird> ais523: no it isn't
22:44:47 <AnMaster> as far as I can see
22:44:51 <pikhq> ais523: Not in the assembly I am looking at.
22:44:53 <ais523> ehird: oh, right, just the trampoline
22:45:01 <ehird> ais523: what's the batch for "all my arguments"?
22:45:20 <ais523> ugh, %* I think
22:45:22 <ais523> but I'm not sure
22:45:44 <ehird> hmm
22:45:50 <ehird> does eval "2+2", blah work in Perl?
22:45:57 <ehird> doesn't have to work at runtime, actually, so I'm sure it does work
22:45:57 -!- soupdragon has quit ("Leaving").
22:46:20 <ais523> not %* it seems
22:46:54 <AnMaster> gah I can't find where to file a bug at that rt.perl.org thingy
22:47:13 <ehird> ais523: ok, I need your help: can you make "@REM 2>/dev/null" (without the quotes) valid Perl without sacrificing its sh semantics?
22:47:17 <AnMaster> ais523, ^
22:47:33 <ais523> AnMaster: I'm not sure either
22:48:07 <pikhq> ais523: Here's how my GCC is pushing the address of a nested function: movl $comp_int.1972, %eax
22:48:16 <ais523> pikhq: ah, must be optimising
22:48:20 <AnMaster> well then, such a fucked up user interface, I'm not going to care
22:48:25 <ais523> but it's not much of a lambda if you're referring to outside the function
22:48:25 <ehird> ais523: it's for a greater good!!!
22:48:28 <ais523> ehird: I'm thinking
22:48:36 <ehird> *it's for the greater good
22:48:36 <pikhq> ais523: -O0.
22:48:43 <ais523> pity "null" isn't a legal regex modifier
22:48:49 <pikhq> And passing it to qsort.
22:48:51 <ehird> ah:
22:48:53 <ehird> -S
22:48:55 <ehird> makes Perl use the PATH environment variable to search for the program (unless the name of the program contains directory separators).
22:49:07 <ehird> ais523: can you try echo %0 in dosbox for me to see if %0 works?
22:49:31 <ehird> ais523: ooh, wait
22:49:32 <ais523> seems not, you get a literal %0
22:49:36 <ehird> @REM / 2>/dev/null
22:49:50 <ais523> what about this: @REM = q= 2/dev/null #=
22:49:58 <ais523> ehird: that isn't valid perl
22:50:12 <ehird> ais523: yes, but it's close
22:50:23 <ehird> ais523: that breaks the sh semantics
22:50:31 <pikhq> So, it's lambda, just not a closure.
22:50:34 <ais523> $ perl -ce '@REM = q= 2/dev/null #='
22:50:35 <ais523> -e syntax OK
22:50:35 <ehird> it must run a command starting with @REM and do 2>/dev/null
22:50:44 <ais523> ehird: it does do that
22:50:48 <ehird> "2/dev/null"
22:50:49 <ehird> No, it doesn't.
22:50:49 <ais523> oh, forgot the >
22:50:55 <ehird> Is it valid with the >?
22:50:58 <ais523> $ perl -ce '@REM = q= 2>/dev/null #='
22:51:00 <ais523> -e syntax OK
22:51:02 <ehird> Yay.
22:51:05 <ais523> yep, it's inside a string literal
22:51:13 <ais523> the entire statement is rather meaningless, but who cares
22:51:24 <ehird> doesn't matter
22:51:26 <ehird> wait
22:51:28 <ehird> that breaks in sh
22:51:32 <ehird> because of the trailing #=
22:51:36 <ais523> that's a comment in sh
22:51:40 <ehird> no, ;#= is
22:51:42 <ehird> but it's #=
22:51:45 <ais523> and you can put it on the next line if you prefer
22:51:49 <ehird> ais523: anyway, not acceptable; I need to have || right after it
22:51:56 <ehird> No I can't, every line must start with @REM
22:52:01 <ais523> in fact, you can just put the = in an arbitrary place later in the program
22:52:02 <AnMaster> ehird, # is a comment even on same line isn't it?
22:52:07 <ais523> @REM = q= 2>/dev/null
22:52:12 <ais523> followed by an = somewhere much later
22:52:17 <ehird> ais523: well, okay
22:52:19 <ais523> just so long as there are no other = signs in-between
22:52:20 <AnMaster> $ echo foo #bar
22:52:20 <AnMaster> foo
22:52:22 <AnMaster> ehird, ^
22:52:33 <ehird> ais523: that means I don't get to use my awesome hack though
22:52:38 <ais523> which is?
22:52:42 <ehird> eval 'exec perl blah;#',
22:52:47 <ehird> @REM if $running_under_some_shell;
22:52:55 <ais523> hahaha
22:53:05 <ais523> wouldn't the eval break under DOS?
22:53:08 <ais523> also, have fun with newline conventions
22:53:11 <ehird> no, because it's part of
22:53:18 <AnMaster> ais523, what does @REM mean to perl?
22:53:20 <ehird> @REM 2>/dev/null || eval ...
22:53:25 <ais523> AnMaster: the array called REM
22:53:25 <ehird> AnMaster: array variable REM
22:53:28 <AnMaster> ah
22:53:39 <ais523> or in perl5, to be precise, "these REM"
22:53:48 <ais523> because perl infers what sort of variable you mean from context
22:53:55 <ais523> so it's "something containing multiple elements REM"
22:54:01 <ais523> which in the abstract, must mean the array
22:54:02 <pikhq> ehird: So, yeah. I've got a non-closure lambda.
22:54:22 <AnMaster> pikhq, is that well defined behaviour?
22:54:22 <ehird> ais523: http://sprunge.us/LRfW
22:54:26 <AnMaster> for gcc
22:54:32 <ehird> if "%0" %* did what it should, this would work
22:54:41 <ehird> as a batch file
22:54:53 <ehird> it would output "#!/usr/bin/env perl" and then an error before running the program, however
22:54:54 <pikhq> AnMaster: It's *contrary to the documentation* when returning one of these lambdas.
22:54:54 <ais523> oh, I think the semantics of % are different inside and out, just for fun
22:54:58 <coppro> batch files are evil
22:55:01 <ehird> In sh, it should work perfectly
22:55:05 <pikhq> But it works perfectly according to the generated code.
22:55:07 <ehird> In perl, it should work perfectly
22:55:17 <AnMaster> pikhq, well then, bad idea, depending on platform
22:55:19 <ehird> Conclusion: I am a genius as soon as we can get "%0" and %* working.
22:55:31 <AnMaster> pikhq, iirc trampolines are messier on RISC in general
22:55:31 <pikhq> AnMaster: The documentation claims it's on the stack.
22:55:40 <AnMaster> pikhq, it might be
22:55:42 <ehird> ooh, it can be made shorter
22:55:48 <AnMaster> pikhq, if a trampoline is generated
22:55:51 <ais523> you can combine the two qs
22:56:00 <AnMaster> pikhq, a trampoline is on the stack. It may be that none is required
22:56:02 <ais523> get rid of lines 3 and 4, and change line 6 to =;
22:56:04 <pikhq> AnMaster: When would one be generated?
22:56:14 * pikhq would like to try to force on.
22:56:16 <ehird> #!/usr/bin/env perl
22:56:16 <pikhq> s/on/one/
22:56:17 <ehird> @REM =q= 2>/dev/null||exec /usr/bin/env perl -S $0 ${1+"$@"}
22:56:19 <ehird> @REM =;q{
22:56:20 <ehird> @perl -S "%0" %*
22:56:22 <ehird> }
22:56:23 <ehird> ais523: yep
22:56:26 <AnMaster> pikhq, either when it is needed, or always. I would suspect it may vary between versions
22:56:27 <ehird> oh
22:56:28 <ehird> you're right
22:56:30 <ais523> you do not need to change the q delimeter from = to {
22:56:36 <AnMaster> pikhq, so when you need a closure I believe
22:56:43 <pikhq> It certainly isn't "always"...
22:56:47 <ehird> #!/usr/bin/env perl
22:56:48 <AnMaster> pikhq, try using some variable from outside it
22:56:48 <ehird> @REM =q= 2>/dev/null||exec /usr/bin/env perl -S $0 ${1+"$@"}
22:56:50 <ehird> @perl -S "%0" %*
22:56:51 <ehird> =
22:56:53 <ehird> Beautiful
22:56:55 <ais523> I picked = as it has no special meaning to the shell, but's a legal delimiter for q
22:56:58 <AnMaster> pikhq, that isn't a compile time constant
22:56:59 <ehird> Problems to solve: - "%0" %* - Shebang not erroring
22:57:00 <ais523> and yes, is beautiful
22:57:02 <AnMaster> as in, it can't be optimised away
22:57:08 <pikhq> AnMaster: K.
22:57:11 <ais523> you need an @exit after that @perl line, though
22:57:24 <ehird> Other systems can't control that, and need a totally devious construct that will work under any of csh, sh, or Perl, such as the following:
22:57:26 <ehird> 1. eval '(exit $?0)' && eval 'exec perl -wS $0 ${1+"$@"}'
22:57:27 <ehird> 2. & eval 'exec /usr/bin/perl -wS $0 $argv:q'
22:57:29 <ehird> 3. if $running_under_some_shell;
22:57:30 <coppro> what are you two trying to do? provide a line that perl ignores but batch causes to be executed in perl?
22:57:30 <ehird> ais523: csh, eh?
22:57:31 * pikhq does s/1/argc/ in his test.
22:57:32 <AnMaster> pikhq, also, note that it might work differently on different targets. Like ARM, x86. x86-64, SPARC, PCC
22:57:33 <AnMaster> PPC*
22:57:39 <ehird> coppro: my current script will execute on:
22:57:41 <ais523> coppro: write a perl/sh/bat polyglot that runs the perl program
22:57:47 <ehird> ais523: also with a shebang!
22:57:49 <pikhq> Ahah.
22:57:50 * coppro cries
22:57:53 <pikhq> test.c:17: warning: generating trampoline in object (requires executable stack)
22:57:58 <ehird> ais523: also, add csh to that list
22:58:02 <ehird> I want to make it work in csh too
22:58:06 <ais523> yay csh
22:58:10 <ehird> YAY CSH
22:58:33 <ehird> this will end in beautiful, beautiful tears
22:58:44 <pikhq> So, it would appear that it is in the text segment if it doesn't close.
22:59:49 <ais523> are there any other notable shells?
23:00:24 <ais523> $ perl -mysw 'f$env("procedure")' 'p1' 'p2' 'p3' 'p4' 'p5' 'p6' 'p7' 'p8' !
23:00:25 <ais523> $ exit++ + ++$status != 0 and $exit = $status = undef;
23:00:35 <ais523> ^ perlrun's syntax on how to do the same thing under the VMS shell
23:00:35 <ehird> ais523: what the fuck
23:00:42 <ehird> oh god
23:00:57 <AnMaster> ehird, remember OS/1
23:00:57 <ehird> perl/bat/sh/csh/vms/shebang polyglot
23:00:59 <AnMaster> err
23:00:59 <ehird> I want to die now
23:00:59 <AnMaster> OS/2
23:01:02 <ais523> there's OS/2 too
23:01:06 <ehird> AnMaster: no, I'd prefer to forget it
23:01:11 <ehird> perl/bat/sh/csh/vms/os2/shebang polyglot
23:01:13 * ehird weeps
23:01:16 <ais523> it must be doable, surely
23:01:19 <ais523> if a little hard to test
23:01:24 <ehird> It must be doable, unfortuantely.
23:01:28 <ehird> *unfortunately
23:01:43 <AnMaster> ehird, what is your current one
23:01:52 <pikhq> C is a language with first-class functions that aren't closures. >:D
23:02:02 <ais523> <perlrun> This incantation is a bit much to remember, but Perl will display it for you if you say "perl "-V:startperl"".
23:02:09 <ais523> pikhq: no, it has first-class function pointers
23:02:10 <ehird> AnMaster: My current one is what I sprunged plus ais523's modifications
23:02:14 <ais523> the functions themselves are second-class
23:02:14 <ehird> I closed Emacs to kill the beast.
23:02:36 <ehird> Go has both first-class functions AND first-class function pointers.
23:02:38 <ehird> Take that.
23:02:44 <pikhq> ais523: But, but lambda(int, (int x, int y), x*y) !
23:02:44 <ais523> $ perl "-V:startperl"
23:02:45 <ais523> startperl='#!/usr/bin/perl';
23:02:48 <AnMaster> pikhq, what happened when using trampoline?
23:02:56 <ais523> boring
23:03:02 <AnMaster> ehird, I lost track of it
23:03:07 <ehird> AnMaster: ask ais523
23:03:12 <ehird> he can do the mods to my latest version
23:03:15 -!- ais523 has quit ("I need to go home").
23:03:16 <ehird> CAN'T HE AIS523
23:03:18 <ehird> :D
23:03:21 <pikhq> AnMaster: Oh, it works just fine so long as the lambda is only used when the defining function is on the stack.
23:03:34 <AnMaster> ehird, hm?
23:03:40 <pikhq> GCC also warns you when it generates a trampoline.
23:03:47 <AnMaster> well okay
23:05:27 <pikhq> A closure, hence, can easily be implemented in C: struct closure {void *function; void *free_variables}
23:06:25 <ehird> ok, wtf?
23:06:31 <ehird> bash is executing .bashrc but not .bash_profile
23:06:32 <AnMaster> ehird, don't forget MPW and MacPerl
23:06:37 * pikhq shall soon be writing some bloody crazy C code.
23:06:58 <AnMaster> ehird, see man bash. I end up sourcing files are required from each other -_-
23:07:14 <AnMaster> ehird, short story bash_profile is for login shells
23:07:18 <AnMaster> bashrc for normal ones
23:07:30 <AnMaster> suggestion: source .bashrc from .bash_profile
23:07:59 <AnMaster> further suggestion: if your distro doesn't do this, read man page to figure out how files in /etc/ are handled
23:08:17 <AnMaster> ehird, the relevant section is INVOCATION
23:08:30 <ehird> but I can't make bashrc include profile because profile includes bashrc
23:08:30 <ehird> AnMaster: But I want profile to be loaded
23:08:30 <ehird> when just bashrc would normally be
23:08:32 <ehird> My distro has . ~/.bashrc in .profile and no .bash_profile
23:09:11 <AnMaster> ehird, interactive shell?
23:09:44 <AnMaster> When bash is invoked as an interactive login shell, or as a non-interactive shell with the --login option, it first reads and executes com‐
23:09:44 <AnMaster> mands from the file /etc/profile, if that file exists. After reading that file, it looks for ~/.bash_profile, ~/.bash_login, and ~/.pro‐
23:09:44 <AnMaster> file, in that order, and reads and executes commands from the first one that exists and is readable.
23:09:54 <ehird> Maybe I'll just set up all the files so they all do . ~/.profile
23:09:54 <ehird> and have everything in there
23:09:55 <AnMaster> and
23:09:57 <AnMaster> When an interactive shell that is not a login shell is started, bash reads and executes commands from ~/.bashrc, if that file exists. This
23:09:57 <AnMaster> may be inhibited by using the --norc option.
23:10:10 <AnMaster> ehird, I have all mine read ~/.bashrc instead
23:10:52 <ehird> yeah, because bash is the only thing that could read ~/.profile.
23:11:21 <AnMaster> ehird, also it behaves differently if invoked as bash or as sh
23:11:35 <AnMaster> ehird, no, but I have bash specific code in ~/.bashrc
23:11:41 -!- FireFly has quit ("Leaving").
23:11:56 <ehird> ok, let me rephrase my question
23:12:15 <ehird> where should I put environment variables that are applicable outside of shells but should be defined in both login and non-login interactive shells?
23:13:02 <AnMaster> ehird, depends on how the distro is set up for sourcing other files
23:13:12 <AnMaster> and you *will* need to source some file for it
23:13:40 <AnMaster> ehird, anyway, if it is exported, that should solve it
23:14:01 <AnMaster> when you run startx, the env variables will be inherited I believe
23:14:17 <ehird> ehird@meson:~$ egrep '(bashrc|bash_profile|profile)' .bashrc .profile
23:14:18 <ehird> .bashrc:# ~/.bashrc: executed by bash(1) for non-login shells.
23:14:20 <ehird> .bashrc:# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
23:14:21 <ehird> .bashrc:# sources /etc/bash.bashrc).
23:14:23 <ehird> .profile:# ~/.profile: executed by the command interpreter for login shells.
23:14:24 <ehird> .profile:# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
23:14:26 <ehird> .profile:# the default umask is set in /etc/profile; for setting the umask
23:14:27 <ehird> .profile: # include .bashrc if it exists
23:14:29 <ehird> .profile: if [ -f "$HOME/.bashrc" ]; then
23:14:30 <ehird> .profile: . "$HOME/.bashrc"
23:14:32 <ehird> I wonder if Debian even thought about how to set it up nicely.
23:14:41 <AnMaster> ehird, it loads bashrc
23:14:42 <ehird> AnMaster: yeah, I'm just gonna kill X :-P
23:14:47 -!- ehird has quit (Remote closed the connection).
23:14:47 <AnMaster> ehird, hm?
23:14:52 -!- BeholdMyGlory has quit (Remote closed the connection).
23:15:41 -!- ehird has joined.
23:15:43 <AnMaster> do you even use startx? Not GDM/KDM or such?
23:15:47 <AnMaster> also, night
23:15:49 <ehird> I use KDM, yeah.
23:15:51 <ehird> AnMaster: wait,
23:15:52 <AnMaster>
23:15:54 <ehird> maybe I should just put them in bashrc
23:15:57 <ehird> if profile loads bashrc
23:16:09 <AnMaster> possibly. Night →→→
23:17:28 -!- ehird has quit (Remote closed the connection).
23:18:09 -!- ehird has joined.
23:21:26 -!- jix has quit (Read error: 110 (Connection timed out)).
23:38:42 -!- bsmntbombdood_ has joined.
23:41:26 <pikhq> test.c:8: error: void value not ignored as it ought to be
23:41:29 <pikhq> FFFUUUU.
23:41:36 -!- augur has quit (Read error: 113 (No route to host)).
23:42:14 <oerjan> if you look into the void, the void looks back into you
23:42:54 <pikhq> I am never using a void value that I can find...
23:43:21 <pikhq> Unfortunately, GCC's line numbers are monumentally unuseful when it comes to macros.
23:44:58 <ehird> run cpp on it :P
23:45:27 <pikhq> Not helpful at all.
23:45:37 <pikhq> Did you know that CPP omits newlines?
23:48:32 <ehird> Yes.
23:51:04 <ehird> pikhq: Behold: Go has both first-class functions and first-class function pointers. And they are both closures. http://sprunge.us/KHOM
23:51:17 <pikhq> Well, I have a somewhat unwieldy C closure definition.
23:51:28 <ehird> pikhq: Don't you wish you were programming in Go now?
23:51:29 <ehird> :P
23:51:31 <pikhq> (return type must be a pointer.)
23:51:55 <pikhq> (oh, and you need to be explicit about what you're closing. *Really* explicit.)
23:52:17 <ehird> S'ok, PHP 6 requires that too XD
23:52:27 <ehird> pikhq: Oi. Drool over http://sprunge.us/KHOM.
23:52:51 <pikhq> That is spiffy.
23:54:35 <pikhq> http://sprunge.us/UViC
23:54:44 -!- bsmntbombdood has quit (Read error: 110 (Connection timed out)).
23:54:51 <pikhq> It's a painful fib function!
23:55:25 <pikhq> http://sprunge.us/DUSj lambda.h
23:55:50 <ehird> I can see the C commitee accepting that as a standard heater for C11.
23:56:04 <ehird> But you'll have to rename it stdlam.h, and rename lambda to _LAMBDA.
23:56:09 <ehird> (It would be _Lambda, but it's a macro.)
23:56:11 <ehird> No wait.
23:56:12 <pikhq> Is that a compliment or an insult? :P
23:56:16 -!- bsmntbombdood__ has joined.
23:56:17 <ehird> isalpha is a macro too
23:56:19 <ehird> So, _Lambda
23:56:35 <ehird> And closure would have to become _Closure, but stdlam.h can do #define closure _Closure.
23:56:56 <ehird> call would have to become _Call, and it would be a macro.
23:57:02 <ehird> Wait, it is a macro.
23:57:03 <ehird> Whatever.
23:57:34 <ehird> pikhq: Make one that actually closes over something.
23:57:56 <pikhq> ehird: The example I pasted is closing over the fib closure.
23:58:23 <ehird> anyone know how to set an alarm with kde?
23:58:44 <pikhq> I could, of course, make its closing a bit more substantial. Un momento.
23:59:17 <ehird> Close over multiple variables in separate locations.
23:59:19 <ehird> I'll wait here.
23:59:38 <pikhq> A suggested (simple) example?
2010-01-11
00:00:35 -!- bsmntbombdood_ has quit (Read error: 60 (Operation timed out)).
00:02:42 <coppro> I'll be honest, blocks >>> that shit
00:03:05 <coppro> and I'm not a huge fan of blocks
00:03:10 <pikhq> coppro: Yes, blocks have syntax.
00:03:37 <coppro> what is __LAMBDA__ anyways?
00:05:07 <pikhq> A function.
00:05:26 <coppro> what function?
00:05:33 <coppro> what's the magic behind it?
00:06:11 <pikhq> Expand the macro.
00:09:05 <coppro> where's it defined?
00:09:28 <coppro> I do not see __LAMBDA__ anywhere; I only see it used in lambda.h
00:11:32 <ehird> coppro: __LAMBDA__ is defined as a function on that line.
00:11:36 <ehird> Why is this so hard for people to grasp?
00:11:51 <ehird> params = (int x)
00:11:55 <ehird> void* __LAMBDA__ (int x)
00:11:56 <coppro> oh
00:11:56 <ehird> {
00:11:58 <coppro> ok
00:11:58 <ehird> ...
00:11:59 <coppro> also, btw
00:11:59 <ehird> }
00:12:04 <coppro> __LAMBDA__ is reserved
00:12:05 <coppro> don't use it
00:13:36 <coppro> also, what if you don't want to take a closure in your lambda?
00:13:58 <coppro> also, does the closure actually close anything?
00:15:10 <ehird> it's a compiler extension, practically
00:15:14 <ehird> so he can use what he wants
00:15:16 <ehird> it only works on gcc
00:15:23 <ehird> thus it's non-portable code
00:15:30 <ehird> thus he can do whatever he wants as long as it compiles
00:15:39 <ehird> coppro: use my FN if you don't want to close
00:15:43 <ehird> yes
00:15:50 <ehird> it closes a single pointer
00:16:14 <coppro> the pointer to the closure itself
00:16:24 <ehird> That's just for fib, so it can call itself.
00:16:42 <ehird> Speaking of closures, I just thought of CONS Should Not CONS Its Arguments, Part II: Cheney on the M.T.A., and remembered it is cool.
00:16:56 <coppro> but how else can you invoke fib?
00:17:01 <coppro> other than by call(fib, args)
00:17:07 <coppro> which calls fib with fib as the first argument
00:17:32 <coppro> just give me cactus stacks in C
00:17:53 <coppro> and I'll be happy
00:18:29 <pikhq> ehird: http://sprunge.us/hFjH
00:18:32 <ehird> the closed variable is passed as an argument
00:18:32 <pikhq> A memoizing fib.
00:18:37 <ehird> well, closed pointer, really
00:18:44 <ehird> pikhq: yep, C standards committee material
00:19:10 <coppro> oh, ok
00:19:18 <pikhq> Ugly as all hell, but it is in fact lambda and closures.
00:19:32 <coppro> yep :(
00:19:45 <ehird> pikhq: Make a tail recursive fact.
00:19:46 <coppro> I'd disagree about that being C standards committee material
00:19:48 <ehird> >:D
00:19:49 <coppro> except it is
00:19:54 <coppro> for some evil and truly strange reason
00:20:11 <pikhq> ehird: Hrm.
00:20:31 <coppro> (Also, blocks have been proposed. I shudder to think of _Block)
00:20:51 * ehird decides to come up with a language like REBOL but even crazier in its parenlessness
00:20:59 <ehird> (All REBOL functions are fixed arity, so it's prefix notation without parens.)
00:21:01 <coppro> ehird: re our discussion about functional programming to me; I think it's simply because functional programming is higher-level than OOP (at least, in its purest form)
00:21:09 <coppro> and type systems are orthagonal to both
00:21:16 <ehird> But that excludes variadic functions.
00:21:21 <ehird> coppro: *orthogonal
00:21:23 <ehird> So:
00:21:50 <ehird> When we come across a function name, we execute it. The function can execute a certain primitive function, say NEXT-ARGUMENT, to cause another expression to be read.
00:22:33 <ehird> This doesn't let you have foo 1 and foo 1 2 and foo 1 2 3, but it does let you do printf.
00:22:42 <ehird> So it's as free-form as C variadic functions, which is good enough.
00:23:43 <coppro> AHHHH
00:25:55 <ehird> http://sprunge.us/beNe
00:26:23 <ehird> The great thing is that you could have CRAZY 1 2 3, and CRAZY takes either one, two or three arguments depending on a random number.
00:26:24 <pikhq> http://sprunge.us/EVHC
00:26:27 <ehird> :D
00:26:38 <coppro> no
00:26:42 <ehird> pikhq: Not tail recursive, you failure. :D
00:26:44 <coppro> that is not :D ehird
00:26:54 <ehird> coppro: Yes it fucking is! >:(
00:27:01 <pikhq> ehird: It would be tail recursive if I didn't need to use bloody pointers.
00:27:02 <coppro> and yeah, not tail recursive
00:27:09 <pikhq> ... Actually, I could cast to and from. XD
00:27:10 <ehird> And the cool thing is, since we just concatenate to sequence code, CRAZY 1 2 3 is actually either
00:27:19 <ehird> (crazy 1) 2 3 → 3
00:27:24 <ehird> (crazy 1 2) 3 → 3
00:27:32 <ehird> (crazy 1 2 3) → (crazy 1 2 3)
00:27:36 <coppro> doesn't that depend on what crazy returns?
00:27:43 <ehird> coppro: that isn't application
00:27:45 <ehird> that's just
00:27:47 <coppro> oh
00:27:47 <ehird> crazy(1);2;3
00:27:51 <ehird> I was using Scheme notation
00:27:53 <coppro> O_O
00:27:59 <coppro> that is crazy
00:28:02 <ehird> Anyway, so, add side effects to CRAZY, and we have the MOST AWESOMEST FUNCTION EVER.
00:28:21 <coppro> can't you do that in a currying language to some extent?
00:28:23 <ehird> Next, attempt to perform static analysis on this language.
00:28:51 <ehird> coppro: Well, sort of. But it'd still have to be using the function call syntax no matter what "arguments" it takes.
00:28:56 <ehird> With CRAZY, we could do this:
00:28:57 <pikhq> http://sprunge.us/eJcM
00:29:00 <ehird> CRAZY 1 2
00:29:03 <ehird> PRINT "Hello, world!"
00:29:06 <ehird> well
00:29:10 <ehird> let's assume crazy takes 1 or 2 arguments
00:29:12 <ehird> CRAZY 1
00:29:15 <ehird> PRINT "Hello, world!"
00:29:16 <coppro> pikhq: still fail
00:29:17 <ehird> this is either
00:29:21 <ehird> crazy(1); print("Hello, world!")
00:29:22 <ehird> or
00:29:25 <ehird> crazy(1, print("Hello, world!"))
00:29:27 <pikhq> coppro: How so?
00:29:37 <coppro> it's not tail recursive
00:29:41 <pikhq> ...
00:29:49 <ehird> You can't rely on GCC to do TCO, dude.
00:29:55 <ehird> :-)
00:29:58 <coppro> tail recursion requires return call(...)
00:30:07 <ehird> That also.
00:30:11 <ehird> But that also relies on GCC's TCO.
00:30:14 <ehird> Which is verboten.
00:30:22 <ehird> Inline assembly, however, is not.
00:30:27 <pikhq> Efff-you.
00:30:29 <ehird> JMP to that fucker!
00:31:26 <pikhq> Imma not tail recurse that.
00:31:36 <ehird> #define RECURSE(me) __asm__("jmp " # me)
00:32:06 <ehird> int fact(int n, int x) { if (n == 0) return x else { x *= n; RECURSE(fact); } }
00:32:17 <ehird> *return x;
00:32:36 <ehird> I wonder if that actually works.
00:35:18 <ehird> def fact n {
00:35:20 <ehird> if n < 2
00:35:21 <ehird> 1
00:35:23 <ehird> else
00:35:24 <ehird> n * fact n - 1
00:35:26 <ehird> }
00:35:28 <ehird> ↑ Factorial in my crazy REBOL-with-varargs!
00:35:36 <ehird> def is variadic; it keeps readin' and readin' arguments until it finds a code block.
00:35:54 <ehird> (Oh, didn't I mention? There's also NEXT-ARGUMENT-UNEVALUATED, which lets you write macro-esque things, except at runtime.)
00:36:15 <ehird> (Of course, if you have POOP + 2 2 it'll get +, 2, 2 if it doesn't evaluate them, since capturing the arguments requires calling the function.)
00:36:43 <ehird> n * fact n - 1 works because there's no operator precedence. :D
00:38:57 <ehird> Oh, and if you want a fun exercise: Implement tail-call elimination for this language.
00:39:01 <ehird> (I believe this is impossible.)
00:41:34 <ehird> You could implement it by transforming F A B C D into F [A B C D], where [] is a list.
00:41:42 <ehird> Then F does NEXT-ARGUMENT, making it into F A [B C D].
00:41:53 <ehird> At the end, F just evaluates its list argument as a continuation.
00:42:06 <ehird> I think that would work for tail-calls, as the continuation would be empty at the end.
00:59:36 <pikhq> And I've got a function that generates a memoizing fib with an array of a specified size...
00:59:39 -!- bsmntbombdood__ has changed nick to bsmntbombdood.
00:59:54 <pikhq> (for obvious reasons, now garbage-collected)
01:08:35 -!- zeotrope has quit (Read error: 110 (Connection timed out)).
01:13:05 -!- zeotrope has joined.
01:14:03 <pikhq> http://sprunge.us/cJAF
01:15:58 <ehird> Does not contain tail recursion; would not purchase again.
01:16:14 <pikhq> Shush you.
01:16:54 <coppro> also, I see no reason why pointers stop tail recursion
01:16:55 <coppro> just saying
01:19:09 <ehird> Tail recursion is impossible in C without inline assembly.
01:19:14 <pikhq> I'm pretty sure that, with how I've been writing this, GCC isn't going to tail recurse it, anyways. Since it'd be perfectly valid to replace the closed value in the lambda's closure, thereby making this not actually recurse...
01:20:26 <ehird> Constant folding.
01:20:52 <pikhq> Requires link-time optimisation.
01:21:28 -!- yodbot has joined.
01:22:32 <yodbot> what's shakin?
01:22:36 <yodbot> anyone chattin?
01:23:37 <ehird> >_<
01:23:43 <ehird> Do you know what this channel is about?
01:23:54 <yodbot> I'm guessing I do.... do you?
01:24:02 <ehird> What do you think this channel is about?
01:24:12 <yodbot> I figure esotericism
01:24:16 <yodbot> what about you?
01:24:35 <ehird> You are wrong.
01:24:42 <yodbot> do tell
01:24:49 <oerjan> at least he's not a markov bot :D
01:24:50 <ehird> Hint: Freenode is mainly for channels about programming.
01:24:50 -!- zzo38 has joined.
01:24:52 <ehird> Or open source projects.
01:25:01 <ehird> You would be unlikely to find an esotericism channel here.
01:25:22 <oerjan> not that you would be first to try, mind
01:25:45 <yodbot> well, they have linguistics, they have philosophy, etc., so clearly not just programming
01:26:00 <zzo38> I made a program called DDD based on a code on Microsoft's web-site. It is like SUBST but more advanced. Still, it wouldn't compile with Microsoft's compiler or GNU compiler, until I added in two lines and then it would compile on GNU, and it does work. Also, I did modify it a bit.
01:26:06 <ehird> I think the linguistics/philosophy/etc channels are accepted devians.
01:26:09 <ehird> *deviations
01:26:14 <ehird> Only because it'd spill into other channels otherwise.
01:26:26 <ehird> Anyway, this channel is about esoteric programming languages and, also, esotericism is bullshit.
01:26:34 <yodbot> perhaps you're overstating your point
01:26:41 <ehird> Sheesh, there's one born every five minutes... and they immediately come into here.
01:26:47 <yodbot> and maybe, just maybe, you're blowing hot air
01:26:47 <oerjan> ehird is the resident most militant atheist
01:26:48 <zzo38> I allows you to associate drive letters and DOS device names with NT device names, maybe they should make up something like this in ReactOS
01:26:58 <ehird> oerjan: Hey, I'm not.
01:27:05 <ehird> But esotericism *is* bullshit.
01:27:08 <zzo38> oerjan: I am agnostic though, but in a different way than other agnostic
01:27:23 * yodbot gives ehird something to hold in his gas
01:27:49 <ehird> ah, we do have an esotericism channel
01:27:54 <ehird> yodbot: /j #1,000
01:28:11 <yodbot> ehird /j #eatmyshorts
01:28:17 <ehird> dammit
01:28:23 <ehird> I WILL DEFEAT YOU :D
01:28:45 <ehird> yodbot: If /join and /part are in a boat and /join jumps out, who's left?
01:29:06 * yodbot tries to decide whether it's worth paying attention, and decides likely not
01:29:28 <ehird> Bah!
01:29:53 <ehird> I must clearly revert to the Nuclear Option, and _actually talk about esolangs_.
01:29:54 <pikhq> yodbot: If "C closures" have any meaning to you, then stick around. Otherwise, go elsewhere and enjoy your bullshit.
01:30:16 <ehird> oerjan: So hey, your Unlambda interpreter in INTERCAL.
01:30:20 <ehird> Does it have any restrictions?
01:30:30 <ehird> pikhq: Would the JMP tail recursion actually work with your closures?
01:30:35 <ehird> It's jmp *ptr, after all.
01:30:41 * yodbot yawns
01:30:44 -!- augur has joined.
01:30:46 <Gregor> !bf_txtgen We never actually talk about esoteric languages anymore :P
01:30:53 <EgoBot> 549 +++++++++++++++[>++++++++>++++++>++>+++++++<<<<-]>>---.++++++++++++++.>++.>+++++.<<.<--.>.<----.>>.>-------------.++.<<<++.+.>>>--.<<+++++++..<++++.>>.<<-----.>>>.<<.-.>.>.+.<<++++.++++++.-.>.>+++.<<-.----.<.>----------.<--.>>>++++.<<--.>.>+++.<+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.>++.<<++++.<+++.>>.<.--.<--.>---------------------------------------------------------------------.>.>.<<<++++++.------------.++.+++.-------
01:30:54 <ehird> yodbot: You can't yawn at us for being on-topic.
01:30:58 <pikhq> ehird: Hrm. Actually, yeah, it would.
01:31:00 <ehird> augur: Talk about esolangs! (NOT linguistics)
01:31:05 <ehird> This is urgent :D
01:31:06 <pikhq> If you can actually tail-recurse, that is.
01:31:11 <zzo38> Sometimes we do esolangs but not always
01:31:16 <ehird> pikhq: JMP thisfunction is tail recursion
01:31:21 -!- lament has quit.
01:31:21 <ehird> assuming you set the parameters right beforehand
01:31:27 <pikhq> ehird: Yes.
01:31:48 <augur> ehird
01:31:49 <augur> no
01:31:58 <ehird> augur: Well, okay.
01:32:04 <pikhq> It'd get compiled as (operations to fetch function pointer from closed); jmp $the_ptr
01:32:05 <augur> i want an eso lang that is nothing but special forms
01:32:14 <augur> which i suppose is what BF is
01:32:16 <pikhq> So it might just be a tail call rather than a tail recursion.
01:32:23 <ehird> augur: Shortest musing ever!
01:32:32 <oerjan> ehird: restrictions? well there is a memory limit, i don't quite recall but somewhere <= 32 bits
01:32:43 <ehird> pikhq: Generic tail calls wouldn't work
01:32:51 <ehird> oerjan: 32 bits or less of memory? yuk yuk
01:32:55 <zzo38> You were discussing linguistics and ambiguity, but maybe I should make up a text-adventure game based on ambiguous writing and you have to figure it out by trying different commands, it can be called "Ambiguity Game"
01:32:56 <ehird> pikhq: Because of the parameter locations
01:32:56 <pikhq> Of course, if you want to recurse, you can just call __LAMBDA__.
01:32:58 <ehird> well
01:33:00 <ehird> you could do
01:33:05 <ehird> myfirstparam=x;mysecondparam=y;
01:33:08 <ehird> as long as they were the same typs
01:33:10 <ehird> *types
01:33:13 <ehird> and that'd map to (x,y,
01:33:15 <ehird> I think
01:33:26 <oerjan> ehird: < 2^32 cells. sheesh.
01:33:54 <ehird> The beast has been crippled! It cannot talk.
01:33:55 <oerjan> except it's probably not exactly that, because of the weird addressing
01:33:59 <ehird> Great work, everyone.
01:34:10 <zzo38> Let's make ambiguous writing game!!
01:34:13 <ehird> zzo38: Let's!
01:34:56 <ehird> ...which is ambiguous in itself.
01:35:05 <ehird> It's either "let us", or "that which belongs to Let".
01:35:08 <zzo38> Yes
01:35:20 <zzo38> It can be, in that way
01:36:01 <zzo38> But I mean very ambiguous writing, such as: Charities for poor people and monsters with names starting with "A"
01:36:32 <ehird> My brain has hung in its parenthesisation routine.
01:36:36 <ehird> You broke my brain. :(
01:36:42 <zzo38> Sometimes you don't know how many things in the sentence each word refers to unless you put brackets or something like that
01:37:03 <zzo38> How can I break your brain if you can still write on here that it is broke?
01:37:41 <ehird> My brain is multitasking.
01:37:46 <zzo38> OK
01:37:48 <ehird> The other threads will die out soon enough, and I will with them too.
01:39:14 <oerjan> zzo38: these monsters are flying purple people eaters, i assume
01:39:40 <zzo38> You can assume whatever you want, when I wrote this sentence I had nothing specific in mind, I wrote it for the only purpose to be ambiguous
01:40:45 <zzo38> But that's a point too, if you want to know what the words in "flying purple people eaters" also can be refer to what group of other words, so therefore you can do that if you want
01:41:15 <oerjan> i think that's a *woosh* right there
01:41:22 <zzo38> OK
01:41:31 <ehird> oerjan: **whoosh*
01:42:02 <oerjan> dammit i was somehow thinking whoosh was incorrect, and correcting it
01:42:30 <zzo38> OK, if that's what you want
01:42:59 <oerjan> zzo38: anyway the point is my assumption is ambiguous too
01:43:17 <zzo38> Yes, that's OK too
01:43:43 <zzo38> Soon you are going to make it everything like Hofstadter wrote a GEB book with some things levels all mix and stuff
01:44:25 <zzo38> On another note: Finally I received a Washizu Mahjong Tiles
01:44:30 <oerjan> that would be assuming i wasn't too lazy, which is _rather_ far-fetched
01:44:51 <zzo38> OK
01:44:58 <oerjan> also i never finished GEB
01:45:05 <zzo38> OK
01:47:39 <ehird> I loved the ending dialogue of G.E.B.
01:47:42 <ehird> Worth reading for that alone.
01:48:41 <pikhq> ... Dear God I could break people's heads. I could write with continuation-passing style in C.
01:49:06 <pikhq> That would probably be very painful.
01:49:12 <pikhq> What with the "explicit closing" and all.
01:50:12 <oerjan> `addquote <pikhq> ... Dear God I could break people's heads. ...
01:50:16 <HackEgo> 110|<pikhq> ... Dear God I could break people's heads. ...
01:50:45 <ehird> pikhq: CPS in C is what Cheney on the M.T.A. does
01:50:52 <pikhq> ehird: MTA?
01:51:05 <oerjan> the prosecution rests.
01:51:16 <ehird> http://home.pipeline.com/~hbaker1/CheneyMTA.html
01:51:23 <ehird> Only the single most awesome Scheme→C compilation mechanism.
01:51:29 <ehird> "Appel's method avoids making a large number of small trampoline bounces by occasionally jumping off the Empire State Building."
01:51:48 <ehird> pikhq: tl;dr full TCO, uses C functions and arguments, call-with-current-continuation is O(1) due to using continuation-passing style
01:52:01 <ehird> also, function calls are fast
01:52:02 <ehird> no trampoline
01:52:50 -!- Asztal has quit (Success).
01:53:48 -!- oerjan has quit ("Reboot").
01:53:50 <pikhq> ehird: Ah, that.
01:54:04 <pikhq> Yes. That is totally awesome.
01:55:55 <ehird> http://home.pipeline.com/~hbaker1/cboyer13.c
01:56:02 <ehird> A hand-translated Scheme benchmark using that method.
01:56:11 <ehird> Choice quote: /* Closure types. (I don't trust compilers to optimize vector refs.) */
01:56:19 -!- oerjan has joined.
01:56:20 <ehird> (Circa 1994.)
01:56:32 <ehird> Includes a closure type pretty much exactly like yours.
01:57:16 -!- snaggle has joined.
01:57:52 <pikhq> So, basically what I've got, except with smarter code using it.
01:58:29 -!- yodbot has quit (Read error: 104 (Connection reset by peer)).
02:00:21 <ehird> /* Define tag values. (I don't trust compilers to optimize enums.) */
02:00:25 <ehird> now *that's* just paranoia
02:01:15 <zzo38> Now I should make up the program to retrieve the quotes in HackEgo, so tha I can make a list
02:02:17 <ehird> Sgeo did that.
02:03:02 <zzo38> I can make it up the macro in IRC, using CRISC
02:05:25 <zzo38> Like, PRIVMSG HackEgo :`quote and the number, and then check for the line with :HackEgo at the start and PRIVMSG zzo38 and then lgo those to a file
02:05:29 <ehird> Just parse the data file
02:05:30 <ehird> `help
02:05:31 <HackEgo> Runs arbitrary code in GNU/Linux. Type "`<command>", or "`run <command>" for full shell commands. "`fetch <URL>" downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert <rev>" can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/
02:05:40 <zzo38> Where is the data file
02:05:47 <zzo38> Is it at the URL given there
02:06:04 <ehird> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/393844a8543b/quotes/quote.db
02:06:07 <ehird> It's SQLite or something
02:06:09 <zzo38> OK
02:06:29 <zzo38> That would be more better
02:07:21 -!- jix has joined.
02:07:45 -!- jix has quit (Client Quit).
02:07:56 -!- jix has joined.
02:10:09 <zzo38> There, that was easy, just wget and then select * from quotes; and it work.
02:10:40 <zzo38> echo select * from quotes; | sqlite3 quote.db > quote.txt
02:11:37 <ehird> I was going to say "you're using Linux" now, but then I realised you had a ; outside of quotes.
02:11:40 <ehird> Must be a port.
02:11:47 <ehird> *"you're using Linux now?",
02:12:22 <zzo38> Yes it is the Windows command-line. Although I can still use bash, too, with MinGW
02:13:32 <Gregor> Windows command line. lulz
02:13:37 <zzo38> I do things like this too sometimes for downloading files from gopher, just echo|nc> is good enough and it works, both on Windows and on Linux
02:15:44 -!- snaggle has left (?).
02:16:59 <zzo38> `quote 111
02:17:00 <HackEgo> No output.
02:17:16 -!- adam_d has joined.
02:18:22 -!- MizardX has quit (Read error: 110 (Connection timed out)).
02:22:55 -!- adam_d has quit (Read error: 104 (Connection reset by peer)).
02:27:29 -!- zzo38 has quit (Remote closed the connection).
03:00:29 -!- ehird has quit (Read error: 60 (Operation timed out)).
03:04:14 -!- oerjan has quit ("Good night").
03:06:56 -!- uorygl has quit (farmer.freenode.net irc.freenode.net).
03:06:57 -!- Gracenotes has quit (farmer.freenode.net irc.freenode.net).
03:06:57 -!- puzzlet has quit (farmer.freenode.net irc.freenode.net).
03:07:10 -!- HackEgo has quit (farmer.freenode.net irc.freenode.net).
03:07:10 -!- SimonRC has quit (farmer.freenode.net irc.freenode.net).
03:07:10 -!- Ilari has quit (farmer.freenode.net irc.freenode.net).
03:07:11 -!- mtve has quit (farmer.freenode.net irc.freenode.net).
03:08:28 -!- HackEgo has joined.
03:08:28 -!- SimonRC has joined.
03:08:28 -!- mtve has joined.
03:08:28 -!- Ilari has joined.
03:09:46 -!- uorygl has joined.
03:09:46 -!- Gracenotes has joined.
03:09:46 -!- puzzlet has joined.
03:16:21 -!- zzo38 has joined.
03:16:35 <zzo38> The PDF format is all mixed up and has some bad ideas
03:17:09 <Gregor> zzo38 wins the obvious-statement-of-the-year award.
03:19:29 <zzo38> Some things that I think are bad in PDF include (but not limited to): Interactive content, animation, external hyperlinks, user/owner passwords, restrictioins, file attachments, authentication, and submitting information to web servers from viewing the document.
03:21:16 <zzo38> Therefore, a better format should be made. There are also other things, too, that could be improved with such formats
03:22:26 <zzo38> Some of the good features of PDF are: Bookmark list, and internal hyperlinks.
03:31:05 <zzo38> How do we fix it?
03:33:03 <coppro> DVI?
03:33:32 <coppro> also see http://simulacrum.dorm.duke.edu/allyourgoogle.svg
03:36:04 -!- jpc has joined.
03:36:20 <pikhq> zzo38: Take Postscript. Add hyprelinks and bookmarks.
03:36:21 <pikhq> Fin.
03:38:08 <zzo38> Can it be made a binary format? Also, can it be made not requiring full program language feature? (for simplification) And maybe other things might be add/remove too
03:38:54 <zzo38> DVI has many things missing such as colors and images and line drawings
03:39:17 <zzo38> While PDF has too many things added
03:39:28 <pikhq> Postscript can be made a binary format.
03:39:37 <pikhq> See: the Postscript subset of PDF.
03:40:00 <zzo38> OK, I can see
03:42:16 <zzo38> There are a few useful features of PostScript not in PDF, and also vice versa. Such as, tray selection, and object transparency, and also a proper font embedding
03:42:42 <zzo38> And there are too many formats for graphics and stuff in PDF, we need to select just a few of them
03:43:41 <zzo38> And there is one extra feature that might be good, is macros, which cannot call other macros themself, though.
03:43:49 <zzo38> And now it should be better
03:44:17 <zzo38> And maybe even some features shared in PostScript/PDF might not be needed, but I don't know everything about PostScript or about PDF
03:48:02 <zzo38> And I think this new format should have only one built-in font (instead of fourteen typefaces that PDF has). The only built-in font, is specified as a fixed-pitch ASCII font, and can be scaled to a given height/width on the page, but has no other specification than that.
03:58:41 -!- Warriphone has joined.
04:15:54 -!- Warriphone has changed nick to uoryfon.
05:10:12 -!- uoryfon has quit (Read error: 110 (Connection timed out)).
05:15:02 -!- zzo38 has quit (Remote closed the connection).
05:54:00 -!- Pthing has quit (Remote closed the connection).
05:55:02 -!- iamcal has joined.
06:09:44 -!- iamcal has quit.
06:11:49 -!- cal153 has quit (Read error: 113 (No route to host)).
06:27:09 -!- FireyFly has joined.
06:35:58 -!- zeotrope has quit (Read error: 110 (Connection timed out)).
06:53:20 -!- uoryfon has joined.
07:28:03 -!- FireyFly has quit ("Leaving").
07:35:14 -!- uoryfon has quit (Read error: 110 (Connection timed out)).
07:44:34 -!- soupdragon has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:01:06 -!- kar8nga has joined.
08:12:43 -!- kar8nga has quit (Remote closed the connection).
08:14:05 -!- MizardX has joined.
08:18:14 -!- Gracenotes has quit (Read error: 110 (Connection timed out)).
08:51:25 -!- soupdragon has quit ("Leaving").
08:54:40 -!- Guest12622 has joined.
08:56:56 -!- Guest12622 has quit ("Leaving").
08:58:50 -!- dbc has joined.
08:58:58 <dbc> 7297750236
09:36:37 -!- Gracenotes has joined.
09:50:59 -!- MizardX- has joined.
09:51:54 -!- MizardX has quit (Read error: 104 (Connection reset by peer)).
09:51:57 -!- MizardX- has changed nick to MizardX.
10:04:19 <AnMaster> dbc, ?
10:05:37 <AnMaster> <pikhq> Unfortunately, GCC's line numbers are monumentally unuseful when it comes to macros. <-- try clang or icc, I don't remember if they manage that better, but it is worth a try
10:18:22 <AnMaster> pikhq or ehird: next thing to implement in C after lambda would be call/cc :D
10:18:41 <AnMaster> anyone going to try that?
10:28:30 -!- jpc has quit ("I will do freaking anything for a new router.").
10:39:28 -!- ais523 has joined.
10:39:48 <ais523> good morning #esoteric
10:48:07 -!- uoryfon has joined.
10:49:01 <Gracenotes> morning, ais523
10:50:08 <ais523> hmm, so much coursework to do by tomorrow...
11:14:53 <AnMaster> ais523, hi
11:15:05 <ais523> hi
11:19:50 <ais523> wow, OOXML maintenance is adding the leap year bug back in to OOXML
11:20:42 <ais523> http://adaptux.com/standards/ooxml-wg4-leap-year-bug-unfix
11:25:24 <oklofok> i have to do nothing by tomorro
11:25:24 <oklofok> w
11:25:37 <oklofok> but i'm gonna! MWAHAHAHA
11:27:50 -!- oerjan has joined.
11:31:51 -!- uoryfon has quit (Read error: 110 (Connection timed out)).
11:49:53 <AnMaster> ais523, crazy
11:52:49 <cheater> ais523: why?
11:53:09 <ais523> for Excel compatibility, presumably
11:53:14 <ais523> it's easier to fix ISO than to fix Excel
11:56:19 <fizzie> Remarkably white weather here today. Even the local newspaper (well, their website, anyway) has a story about the "icy fog" that has coated everything with white fuzz.
11:58:08 <cheater> drama
12:08:38 <oklofok> it is, i can't help looking at the trees, and constantly tripping (pun intended)
12:08:57 <oklofok> but seriously, they are so beautiful, have i mentioned this?
12:11:26 <ais523> you have
12:11:30 <ais523> it's pretty pretty over here
12:11:35 <ais523> fizzie: "freezing fog" in English
12:11:49 <ais523> the nearby canal's mostly frozen over
12:11:57 <ais523> and there were ducks and geese standing on it looking confused
12:12:10 <ais523> then a bit further down there was a break in the ice, and loads of ducks happily swimming around in it
12:13:56 <fizzie> There's a warmed-in-winter "riverlet" of sorts near to where I used to live; in winter it's literally duck-covered. I think there's some sort of feeding thing going on there too.
12:14:56 <fizzie> And the field next to the parking area at the place I work currently looks like this: http://zem.fi/g2/d/9731-1/20100111_003.jpg
12:15:24 <ais523> ah, that's great
12:15:32 <ais523> looks uncannily like fields here in the UK, too
12:15:51 <ais523> I think most european countries look much the same in the countryside
12:16:03 <ais523> although, I don't recognise that sort of tree
12:16:29 <fizzie> Here's the road: http://zem.fi/g2/d/9728-1/20100111_002.jpg
12:17:08 <fizzie> And here are the shoes: http://zem.fi/g2/d/9725-1/20100111_001.jpg
12:18:17 * ais523 opens that in Firefox in Firefox
12:18:32 <oklofok> god those trees are beautiful
12:18:33 <ais523> (writing chrome://browser/content/browser.xul in the address bar appears to start a recursive browser instance...)
12:18:45 <oklofok> well they are rather boring in the pic
12:18:45 <ais523> I think the snow falling is beautiful too
12:18:47 <oklofok> but irc
12:18:49 <oklofok> *irl
12:18:52 <ais523> I was staring out of the window, watching the snowflakes fall
12:19:29 <ais523> beh, the menu in the inside browser opens things in the outside browser
12:19:40 <oklofok> i do that too, but there's not much structure to rain / snowfall
12:20:00 <oklofok> i can't really do anything to the beauty
12:20:17 <oklofok> unlike trees, i usually traverse the graph formed by the branches
12:21:32 <fizzie> In addition to the shoes there was a strange thing made out of metal wire in one of the lamp posts.
12:24:54 <fizzie> Heh, tomorrow's seminar thingie schedule has two 15-minute breaks in the morning half; they are labeled as "speculation breaks". (It is a bit unclear whether it means "take a break from all the unfounded speculation" or "a break from the presentations, during which it is possible to speculate".)
12:26:14 <fizzie> The schedule items also have the following times, in this sequence: 9:00, 9:15, 9:45, 9:15, 9:30, 10:00, 10:30, 10:45, 11:15, 11:45. I wonder how that works exactly.
12:27:08 <fizzie> Perhaps there's a time-warp backwards of one hour after the first three items.
12:28:31 <oerjan> 9:45: Time travel laboratory
12:29:12 <ais523> fizzie: switch to DST in the middle of them?
12:29:52 <fizzie> There shouldn't be. At least usually it happens at 03am here, and not in the middle of winter anyway.
12:30:50 <ais523> where's HackEgo's qdb?
12:31:44 -!- zeotrope has joined.
12:32:33 <fizzie> <fizzie> ais523: I think http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/quotes/quote.db is online in the sense that it's current, but it's a binary sqlite3 file, so that's maybe not convenient always.
12:32:48 <ais523> mrh, it shouldn't be too hard to parse
12:32:58 <ais523> also, why did you write that as a self-quote?
12:33:09 <fizzie> Because you asked this earlier, in 2009-11-16.
12:33:15 <fizzie> I just copy-pasted my answer from there.
12:33:18 <ais523> ah
12:33:24 <ais523> I don't remember back that long
12:33:33 <fizzie> <ais523> Gregor: is HackEgo's qdb online anywhere/
12:34:52 <fizzie> You had already gone elsewhere before my answer, also.
12:34:53 <oerjan> ais523: zzo38 did it yesterday, i believe
12:35:14 <ais523> did what?
12:35:15 -!- Asztal has joined.
12:35:36 <oerjan> extracted the quote database with sqlite (?)
12:36:32 <fizzie> With the sqlite command-line tool, it's pretty trivial. Or with any bindings to the sqlite library. Manually, maybe not quite so.
12:36:51 <ais523> sqlite> .restore quote.db sqlite> SELECT * FROM quotes;
12:36:59 <ais523> yep, works fine
12:37:25 <fizzie> CREATE TABLE quotes (id INTEGER PRIMARY KEY AUTOINCREMENT, quote TEXT); -- as far as databases go, it is not the most complicated one ever.
12:39:37 -!- oerjan has quit ("Later").
12:40:12 <oklofok> you and your fancy computer skills
12:41:28 <ais523> those quotes are mostly rubbish
12:41:34 <ais523> although some of the fungot ones are good
12:41:34 <fungot> ais523:... in bed." _ _ " i agree,
12:41:40 <ais523> ^style
12:41:40 <fungot> Available: agora alice c64 ct darwin discworld europarl ff7 fisher ic irc* jargon lovecraft nethack pa speeches ss wp youtube
12:42:09 <fizzie> fungot: I really have to doubt your prowess in bed.
12:42:09 <fungot> fizzie: that has the static linker had previously dealt with the models of what distinguishes a function.
12:51:56 <ais523> hmm, I don't /think/ this is meant to be an esolang, but: http://www.basis.uklinux.net/ursala/sudoku.fun
12:54:57 <ais523> it shows several esolang characteristics, such has having an extension that's completely unrelated to the name of the language
12:55:18 <ais523> and apparently random-looking strings of letters (which I /think/ are combinators)
12:55:46 <ais523> $ fun --main=" ̃&nSiiDPSLrlXS" --decompile
12:56:20 <ais523> main = compose(map field((0,&),(&,0)),compose(reduce(cat,0),map compose(distribute,compose(field(&,&),map field(&,0)))))
12:57:22 <ais523> also, it's whitespace-sensitive, how fun
12:59:13 <ais523> the syntax for variable names is to put them in double quotes
13:01:57 <oklofok> uni starts tomorrow! :)))))))))))))
13:02:07 <oklofok> yay
13:02:40 <ais523> "Recall that crt is the name of the user written library containing the binomial lattice functions, while flo and cop are standard libraries distributed with the compiler."
13:03:20 <oklofok> the name crt does make sense
13:03:31 <ais523> yes, but names are normally more descriptive
13:03:40 <oklofok> oh it does make sense? :P
13:03:41 <ais523> also, "crt" is already taken for "C runtime" on many systems
13:03:49 <ais523> oklofok: presumably, to someone
13:04:06 <oklofok> presumably
13:04:18 <ais523> this thing has an insanely mathematical standard library
13:04:28 <oklofok> cool
13:04:36 <oklofok> topology and algebra tomorrow! join my happiness!
13:04:50 <zeotrope> does it share anything with APL?
13:05:07 <oklofok> beautiful trees and math, could the year have a better beginning
13:05:22 <ais523> "It doesn’t take any deliberate contrivance to bump into an undecidable type checking problem. The “type” of the jacobian function is (Æ × Æ) → ((Êm → Ên ) → (Êm → Ên×m )) for the particular values of n and m given by the argument to the function, which needn’t be stated explicitly at compile time."
13:05:32 <ais523> zeotrope: the FAQ disclaims any connection
13:05:39 <ais523> although there are obvious similarities, or it wouldn't have to
13:05:52 <oklofok> are those R^n etc?
13:06:12 <ais523> N x N -> R^m x R^n, etc
13:06:18 <zeotrope> I'm tempted to learn it, still haven't seen a "killer feature"
13:06:54 <ais523> more incomprehensible than Perl?
13:07:01 <ais523> that's a great + in this channel
13:07:02 <zeotrope> I program in J :(
13:07:03 <oklofok> what jacobian function are we talking about?
13:07:32 <ais523> oklofok: the one that creates a jacobian matrix
13:07:47 <ais523> although it's actually higher-order, it maps a function to a function returning a matrix
13:08:22 <oklofok> oh
13:08:27 <ais523> also, possibly due to Greenspun's Tenth Law, they just embedded Lisp with a slightly different syntax pre-emptively
13:09:11 <ais523> "The current release (December 2009) features some notable enhancements, namely a signed integer primitive type, improved reification operators, and various improved implementations of standard library functions."
13:09:19 <ais523> I love the way a language can completely forget about signed integers, very eso
13:09:56 <zeotrope> "Ursala (UniveRSal Applicative LAnguage) is a functional programming language suitable for scientific and numerical computation"
13:09:59 <zeotrope> *cough*
13:10:15 <ais523> why the cough?
13:10:26 <zeotrope> no signed integers?
13:10:32 <ais523> they were added, last month
13:10:49 <ais523> before then, presumably it was all floats and unsigned
13:10:50 <oklofok> okay the type does make perfect sense, i interpreted the ->'s as x's because ->'s usually mean "failed character"
13:11:04 <oklofok> i mean i interpreted a few of them that way
13:12:26 <oklofok> as if you'd ever need integers in science
13:12:45 <ais523> you do sometimes
13:12:56 <ais523> in quantum physics, for instance
13:13:26 <oklofok> you can just put them in doubles
13:14:43 <oklofok> ...so wait, it computes derivatives?
13:14:53 <oklofok> the same way as mathematica or the same way as j
13:15:09 <ais523> probably the same way as j
13:15:38 <ais523> "Although a list reversal function is available already as a primitive operation, we can express one using this combinator and test it at the same time as follows. $ fun --main=" ̃&aˆ?( ̃&fatPRahPNCT, ̃&a) ’abc’" --cast %s"
13:15:47 <oklofok> well to be fair i'm not sure there's a general purpose derive in j, zeotrope can probably tell me.
13:15:50 <ais523> it's a bit reminicent of J, actually, but with a different philosophy
13:16:16 <oklofok> what's the philosophy, in 7 words or less
13:16:22 <zeotrope> tacit?
13:16:27 <ais523> I'm not entirely sure yet
13:16:49 <zeotrope> well in J theres 2 derivative operators
13:16:51 <zeotrope> d.
13:16:52 <zeotrope> and D.
13:16:58 <zeotrope> d. does symbolic derivation
13:16:59 <oklofok> is d. for "polynomials"
13:17:04 <oklofok> hmm
13:17:16 <zeotrope> yes but also general functions
13:17:26 <zeotrope> for example square is *: in J
13:17:30 <zeotrope> so *: d. 1
13:17:37 <zeotrope> is the first derivative of x^2
13:17:44 <zeotrope> which is 2x or +: in J
13:18:03 <oklofok> can you supply a derivative?
13:18:08 <oklofok> like you can supply obverse
13:18:31 <zeotrope> I dont understand what you mean?
13:18:35 <oklofok> oh err
13:18:47 <oklofok> when you make a function, can you tell it what its derivative is
13:18:50 <oklofok> you can do this for inverses
13:19:01 <zeotrope> oh sadly I dont think so
13:19:09 <zeotrope> I've actually been wanting such a feature
13:19:28 <oklofok> i like the idea of adding that sort of info to functions, but i think the way j does it is very unsatisfactory
13:19:54 <zeotrope> how do you add inverses to functions?
13:20:21 <oklofok> i don't remember, i just remember you can do it
13:20:22 <oklofok> err
13:20:25 <oklofok> well
13:20:37 <oklofok> if you have some function, that, when inversed, drops info
13:20:43 <zeotrope> hmm I've never come across it, it would be a good feature
13:20:53 <oklofok> then sometimes when you inverse it, j will add the info for you, in case you wanna invert back
13:21:23 <oklofok> it would, one of the things i love about j (not i've never used it) is the idea of applying an operation "under" another operation
13:21:24 <zeotrope> well I meant something more along the lines of manually specifying an inverse
13:21:30 <oklofok> this relies on being able to add inverse information
13:21:45 <oklofok> zeotrope: i mean if you make it show the func, you'll see how the obverse was stored
13:21:58 <zeotrope> oh
13:22:04 <oklofok> ("obverse" is the term i've seen used for it in j, in case that sounds weird)
13:22:40 <oklofok> so something like the inverse of prepending something is dropping something, but the inverse remembers what was dropped
13:22:41 <zeotrope> actually obverse is the correct term
13:23:15 <zeotrope> so that if you reinvert then it will go back to its original state?
13:23:21 <oklofok> try that if you know how to, i don't even remember how to add two numbers in j.
13:23:34 <oklofok> yeah
13:24:15 <zeotrope> I would like it to be able to manually add an inverse
13:24:31 <oklofok> and you can if you try that, and look at the function.
13:24:38 <zeotrope> currently only bijective functions work
13:24:42 <oklofok> i just don't remember the character requence
13:25:30 <oklofok> what do you mean?
13:26:19 <zeotrope> well I gotta catch up on my maths but only bijective functions may be inversed
13:26:50 <oklofok> obviously j can't invert functions in general, bijective functions are, in mathematics, needed for inverse, but in for instance the prepend example i mentioned, you have an injection, which is inverted, with stuff without actual preimage some "obvious" inverse
13:26:56 <oklofok> yes, that's true
13:27:10 <oklofok> *having some
13:27:20 <oklofok> in the case of prepending
13:27:32 <oklofok> we have a function that adds some preset element in the beginning of the list
13:27:39 <ais523> hmm, so the function which can be written naively as f("x","y") = "x" is expressed internally as (&,0) which is sugar for (((),()),()) and which is most idiomatically written as ~&l
13:27:41 <oklofok> the "obvious" inverse is to remove the first element
13:27:44 <ais523> what an utterly weird language
13:28:11 <zeotrope> thats an interesting idea
13:28:17 <zeotrope> but how would you add such info
13:28:17 <oklofok> now, "prepend x" is in fact a bijection from L to x:L, where L is the set of lists
13:28:23 <oklofok> but there's no such type in j
13:28:49 <oklofok> you just use L as the domain of the inverse, and have it remove any element from the beginning, even if it isn't x
13:28:52 <oklofok> (i think.)
13:29:16 <zeotrope> no I mean in the implementation of the language
13:29:33 <oklofok> you add the info for basic operations, and you add info for combinations of operations
13:29:33 <zeotrope> is this going to be implicit when defining all new functions?
13:30:28 <zeotrope> I believe J already does that
13:30:36 <oklofok> yes, i'm explaining what j does
13:30:37 <oklofok> :P
13:30:41 <zeotrope> but extending it to all the operators is tough
13:30:56 <oklofok> yes, computers might not share our definition of obvious in general.
13:31:07 <oklofok> and obviously inverting is undecidable in general
13:31:20 <zeotrope> yes thats what I was gonna say..
13:31:20 <zeotrope> :)
13:31:31 <zeotrope> does any other language have inversion
13:31:37 <zeotrope> I love J's power operator
13:31:44 <oklofok> well there are reversible languages
13:31:50 <zeotrope> can't believe so many good ideas are locked up in this language
13:32:46 <oklofok> j's high-level functions are pretty awesome
13:32:59 <ais523> hahahahaha
13:33:00 <zeotrope> the adverbs? yeah
13:33:06 <oklofok> i actually have a book about j, but i'll probably read it in the summer
13:33:12 <ais523> I love the way constructor/deconstructor precedence works in Ursula
13:33:12 <oklofok> yeah adverbs
13:33:17 <ais523> *Ursala
13:33:30 <zeotrope> how does it work?
13:34:02 <ais523> ~&httC = h (C (t, t)) in a more normal notation
13:34:17 <ais523> ~&httPC = C (h, t (t))
13:34:36 <ais523> basically, the constructors/deconstructors are either unary prefix, or binary postfix
13:34:47 <ais523> and P groups the two proceeding *constructors into one
13:35:10 <ais523> also, 2 = PP, 3 = PPP, etc
13:35:52 <ais523> also, it infers arguments to binary constructors if none were given
13:36:07 -!- BeholdMyGlory has joined.
13:36:13 <zeotrope> *over my head*
13:36:21 <zeotrope> but I'll be sure to read the manual
13:36:30 <zeotrope> looks like it has some pretty "interesting" ideas :)
13:36:51 <ais523> it also has the I constructor, which isn't really defined at all
13:37:10 <ais523> as in, the manual gives four expressions containing I and defining what they do
13:37:16 <ais523> and then stating, any other use is undefined behaviour
13:38:09 <oklofok> zeotrope: you don't happen to know how to show a function's "source code"?
13:38:34 <zeotrope> in J?
13:38:38 <oklofok> ya
13:38:45 <zeotrope> 5!5<'function name'
13:38:52 <oklofok> ais523: lol :D
13:39:04 <zeotrope> or just type the function name in the propmt without arguments
13:39:49 <zeotrope> woops, its 5!:5<'function name'
13:39:59 <zeotrope> missed the ":"
13:40:01 <oklofok> right, ofc
13:40:37 <oklofok> okay i don't know how to get it to actually evaluate the ^:_1 and then display
13:41:05 <oklofok> i know there's a way, in one of the labs they inverted some stuff and showed how cleverly j deduced inverses
13:41:22 <zeotrope> there is I was trying to remember it too
13:41:24 <zeotrope> one sec
13:42:45 <zeotrope> instead of ^:_1 you can use the builtin verb "inv"
13:42:51 <zeotrope> fyi
13:44:14 <zeotrope> cant figure it out
13:47:24 <ais523> "Writing complicated pointer expressions can be error prone even for an experienced user of Ursala. Learning to read the decompiled listings can be a helpful troubleshooting technique."
13:51:11 <ais523> sorry, seems everything's postfix
13:51:24 <ais523> as in, ~&rl is "left of right", not "right of left"
13:52:51 -!- bsmntbombdood_ has joined.
13:53:36 <ais523> I'll need to write an Underload interp in Ursala some time, I think
13:54:11 -!- bsmntbombdood has quit (Read error: 101 (Network is unreachable)).
13:55:00 <zeotrope> oklofok: figured out how to display inverses?
14:02:34 <oklofok> no, me and seven other finnish guys went to screw a lightbulb.
14:02:40 <oklofok> on
14:03:12 <oklofok> well maybe more like in
14:03:25 <oklofok> or up while we're at it
14:03:52 * uorygl ponders the best preposition to use.
14:04:06 <oklofok> "over" is pretty good
14:04:47 <uorygl> I like "against".
14:06:28 <fizzie> "around" is not too shabby in this case.
14:06:37 <fizzie> Oklofok and seven other guys, screwing around a lightbulb.
14:08:58 <uorygl> Seven other Finnish guys. That's important.
14:13:29 <zeotrope> any recommendations on books about asm?
14:21:46 <ais523> I learnt asm by compiling C to asm and seeing what I got
14:22:05 <ais523> (well, that's how I learnt x86 asm, I first learnt 6502 asm from a book called "Beyond BASIC")
14:23:10 <ais523> it was kind-of fun, the last example in that book was a 16-bit divide
14:23:25 <ais523> (ah, the joys of an 8-bit processor without multiplication or division)
14:24:56 <zeotrope> interesting, I'll give the C idea a try
14:25:32 <fizzie> The "Machine Language for Commodore 64 and other Commodore computers" book is available floating around in the interwebs. (It might be of an unclear legal status, though.) I think it goes a bit more beyond basic than Beyond BASIC.
14:26:37 <fizzie> 6502 asm might not be everyone's cup of tea, however, and the related hardware is a bit... dated.
14:27:00 -!- Sgeo has joined.
14:27:35 <ais523> fizzie: yes, my BBC Micro was sold for spare parts ages ago, because it was hardly working
14:27:55 <ais523> in particular, the B and Y keys on the keyboard were broken
14:28:45 <Sgeo> Sam Hughes makes a whitelisting HTML parser, which doesn't allow <b> and <i>, but allows <strong> and <em>. Hilarity Ensues: http://qntm.org/?parser
14:28:52 <fizzie> I have a C128 in the closet (it's better than having a skeleton there), and it was working fine when I last fed it some electrons; admittedly that ws some years ago.
14:28:55 <Sgeo> (Fine Structure spoiler in one of the comments)
14:29:13 <Sgeo> Specifically, Eskivole's comment and Sam's followup comment
14:31:56 <ais523> last time I tried to boot my windows 3.1 computer, I found that most of the binaries on it were corrupted
14:32:00 <ais523> apart from DOS for some reason
14:32:36 -!- FireFly has joined.
14:37:50 <oklofok> why isn't oerjan always here
14:38:17 <oklofok> as if he has anything better to do than answer my questions
14:44:29 <ais523> http://www.reddit.com/r/programming/comments/anp8l/anic_faster_than_c_safer_than_java_simpler_than_sh/c0ij3xy <--- some redditor go tell him about Perligata
14:44:41 <Sgeo> Perligata?
14:44:50 * Sgeo is a redditor >.>
14:45:46 <zeotrope> isn't that the perl latin dialect..
14:47:44 <zeotrope> septimum noni tertii primi unimatrixorum
14:48:00 <zeotrope> equivalent to $unimatrix[1][3][9][7]; in perl
14:48:00 <ais523> http://esolangs.org/wiki/Perligata
14:48:13 <ais523> zeotrope: yes
14:49:05 <zeotrope> is non positional syntax a good idea?
14:49:54 <ais523> it's different and unusual
14:50:00 <ais523> I'm not entirely sure it's a good idea, though
14:50:22 <ais523> it /does/ fit in with the philosophy of Perl, in a way (rearrange your commands to have the important bits first)
14:50:27 <ais523> but not really with programming in general
14:50:36 <ais523> ofc, as it's Latin, you'd put the important things last instead
14:50:40 <ais523> as that's what you do in Latin
14:51:11 <zeotrope> I've never programmed in perl, but there must be something special in it that facilitates such a language being built on top of it
14:51:40 <zeotrope> too lazy to read the paper..meh
15:00:02 -!- Slereah_ has joined.
15:00:45 <Sgeo> Oh, http://www.reddit.com/r/programming/comments/anp8l/anic_faster_than_c_safer_than_java_simpler_than_sh/c0ikw5t
15:02:03 <ais523> vaporware
15:02:11 <Sgeo> ?
15:03:29 <ais523> Sgeo: the lang in question hasn't actually been implemented yet
15:04:26 <Sgeo> Edited
15:06:20 <ais523> may as well say #esoteric on irc.freenode.net
15:06:29 <ais523> so that people know where to find the channel
15:08:20 <Sgeo> Done
15:09:11 <zeotrope> http://www.reddit.com/r/programming/comments/anp8l/anic_faster_than_c_safer_than_java_simpler_than_sh/c0ikw5t
15:09:18 <zeotrope> sorry..
15:09:29 <zeotrope> damn irssi
15:09:32 <pikhq> AnMaster: call/cc is easy when you've got lambda. So long as you can compile to continuation-passing style, that is.
15:09:55 -!- Slereah has quit (Read error: 110 (Connection timed out)).
15:11:20 <uorygl> call/cc with escaping continuations means the ability to say "oops".
15:11:26 <ais523> Sgeo: wrong
15:11:29 <ais523> Perligata's implemented, anic isn't
15:11:31 <ais523> fix your comment
15:11:33 <Sgeo> Oh
15:11:54 <Sgeo> Fixed
15:13:05 <ais523> no it isn't
15:13:23 <ais523> ah, now it is
15:13:24 <Sgeo> ?
15:13:25 <ais523> stupid caching
15:13:28 <Sgeo> lol
15:13:52 <ais523> the individual comment's still showing the problem, its parent isn't
15:20:31 <uorygl> ANI looks like kind of a vaguely-defined language.
15:24:52 <pikhq> It's a language that's not been implemented or specified.
15:25:02 <pikhq> Really, it amounts to an idea.
15:25:08 <pikhq> Interesting, sure, but an idea.
15:32:16 -!- lieuwe has joined.
15:33:52 <uorygl> Hmm. From the ANI tutorial:
15:33:54 <uorygl> "What? We just learned how to write a Hello, World program in this crazy new language, and the next step is building a real-time parallel clock/calculator? Yes, indeed! It would take a programmer new to C months to be proficient enough in the language to attempt such a thing (and even then, it would be virtually guaranteed to have bugs)."
15:34:16 <uorygl> If I agreed with that statement, I would conclude that C really, really, really sucks.
15:34:47 <oklofok> well it does
15:35:01 <coppro> it does
15:35:09 -!- augur has quit (Read error: 110 (Connection timed out)).
15:35:10 <coppro> welcome to the world of low- vs high-level programming
15:36:12 <oklofok> yeah, such high levels of abstraction make us brainfuck players vomit
15:36:20 -!- coppro has quit ("I am leaving. You are about to explode.").
15:36:59 -!- ehirdiphone has joined.
15:37:08 <uorygl> Replace the number of "really"s with the next Fibonacci number until you disagree, then.
15:37:08 <ehirdiphone> callcc in c has been done before. Easy.
15:37:29 <ehirdiphone> ais523: We have discussed and laughed at ursala before
15:37:45 <ehirdiphone> Also, eff you, the qdb is excellent
15:37:50 <pikhq> ehirdiphone: Yeah... You could hack it together with longjmp, even without lambda.
15:38:03 <oklofok> here comes ehirdiphone, and disagrees with the whole log
15:38:05 <ehirdiphone> I literally lol'd at it every second quote yesterday
15:38:13 <ehirdiphone> oklofok: :D
15:38:14 <oklofok> :D
15:38:20 <ehirdiphone> pikhq: Yep been done
15:38:40 <ehirdiphone> For prolog style backtracking too
15:38:46 <uorygl> ehirdiphone: did you laugh at the even ones or the odd ones?
15:39:03 <ais523> why would I want to use a multithreaded real-time clock and infix calculator anyway?
15:39:05 <ais523> I have Emacs for that
15:39:11 <ehirdiphone> uorygl: On average I laughed at every second quote.
15:39:27 <ais523> (not actually joking: I configured Emacs to show the current time on the modeline, so I had a clock readily available when I was working in xmonad)
15:39:36 <ehirdiphone> ais523: I love that example, it so perfectly reflects the language design
15:39:54 <ais523> ehirdiphone: anyway, Ursala is actually a really interesting lang I think
15:39:58 <ehirdiphone> "We couldn't think of an appropriate real problem!"
15:40:16 <ais523> that sort of multithreading is trivial in INTERCAL
15:40:24 <ais523> (1) PLEASE NOTE THIS IS THE LINE THAT CAUSES THE MULTITHREADING
15:40:26 <ais523> COME FROM (1)
15:40:27 <ais523> COME FROM (1)
15:40:32 <ehirdiphone> cheese is tasty
15:40:50 <oklofok> intercal <3
15:41:17 <ehirdiphone> Pfkkfnekvjejfjwkcjowkc
15:41:38 <ais523> ehirdiphone: heh, you even left out the implied lr at the start
15:41:48 <ehirdiphone> ??
15:41:54 * Sgeo should probably eat
15:41:59 <ehirdiphone> Oh ursala
15:42:00 <ais523> ehirdiphone: remember, I'm trying to learn Ursala
15:42:01 <oklofok> wow, i can actually attend all lectures except complex analysis
15:42:10 <ehirdiphone> Sgeo: eat some cheese
15:42:19 <ais523> I think most strings of random letters are syntactically correct (at least if preceded by &)
15:42:24 <ehirdiphone> ais523: The tacit thing is just one part
15:42:25 <oklofok> i don't think i've ever been able to attend more than like half of my courses
15:42:33 <ais523> because the grammar implies arguments into functions if you don't give them
15:42:48 <uorygl> oklofok: what's been keeping you?
15:42:53 <oklofok> other courses
15:43:02 <ehirdiphone> Klopklopklopklopklop
15:43:11 <oklofok> but this time they are perfectly scattered around the week
15:43:31 <ehirdiphone> ais523: Implying arguments is nice
15:43:31 <oklofok> the thing is usually people take one or two advanced courses at the time, so it's not really an issue if they are on top of each other
15:43:40 <ais523> hmm, I think Underlambda compiles into Ursala pretty neatly
15:43:41 <oklofok> so they use the same 2-hour slots
15:43:47 <oklofok> and i'm like fuck u
15:43:52 <ehirdiphone> I tried to beat REBOL once and had those
15:44:35 * oklofok mutters something about pennies, ais523 and underlambda/intercal
15:44:53 <uorygl> At your school, it's normal for classes to overlap?
15:44:57 <ais523> let's see... ^ is ~&htH, that was easy
15:44:57 <oklofok> yes
15:45:03 <oklofok> rather normal
15:45:04 <ais523> incidentally, H is an abstraction-inversion in Ursala
15:45:40 <ehirdiphone> I also had Perlish function lvalue thing
15:45:59 <ehirdiphone> You could do
15:46:12 <ehirdiphone> rot13 s = "poop"
15:46:17 -!- augur has joined.
15:46:29 <uorygl> augur: hi, nemesis.
15:46:33 <ehirdiphone> and that'd make rot13 s == "poop"
15:46:35 <ais523> * is ~&hthOttRC, or possibly ~&hthPttRC
15:46:35 <ehirdiphone> ie
15:46:43 <augur> uorygl: since when im i your nemesis? :|
15:46:45 <ais523> not entirely sure which way round the arguments would be, I'm confused thinking about it
15:46:46 <ehirdiphone> s = rot13 "poop"
15:46:52 <ehirdiphone> cool no?????
15:46:56 <oklofok> there's some coordination for stuff people usually take at the same time
15:47:03 <augur> am*
15:47:06 <ais523> <Ursala manual> A formal semantics for this operation is best left to compiler developers.
15:47:15 <ehirdiphone> ais523: 'ppreciate my lang
15:47:27 <ehirdiphone> What operation?
15:47:37 <ais523> O
15:47:39 <uorygl> augur: aww, I like having nemeses.
15:47:49 <ehirdiphone> Doing?
15:48:00 <ais523> composition
15:48:21 <ais523> wait, no
15:48:27 <ehirdiphone> composition is complicated in ursala?
15:48:28 <ais523> that's composing h and th themselves, not their values
15:48:35 <ais523> ehirdiphone: it has quoting issues
15:48:36 <ehirdiphone> wat
15:48:51 <ehirdiphone> ais523: PPRECIATE MY LANG
15:48:54 <ais523> no
15:49:16 <ehirdiphone> :(
15:49:21 <oklofok> :'(
15:49:24 <oklofok> crybaby.
15:49:27 -!- zeotrope_ has joined.
15:49:31 <ehirdiphone> :''(
15:49:40 * oklofok sleeps ->
15:49:54 <oklofok> i sleep like a baby, but i cry like a MAN
15:49:56 <ehirdiphone> oklofok: Wut
15:49:59 * uorygl watches the tears escalate.
15:50:00 <oklofok> i'm tired
15:50:05 <oklofok> i had an exam today
15:50:07 <ehirdiphone> It's 17:00 in fi
15:50:08 <oklofok> so i didn't sleep much
15:50:10 <oklofok> yeah
15:50:10 <ehirdiphone> xD
15:50:19 -!- kar8nga has joined.
15:50:19 <Deewiant> 17:49 but yeah
15:50:24 <ehirdiphone> oh
15:50:29 <ehirdiphone> +2?
15:50:37 <lieuwe> sh*t, having some trouble implementing underload...
15:50:42 <Deewiant> +2 or +3, yes.
15:50:52 <ehirdiphone> 15:48 here in TOTALLY UNADJUSTED TIMEZONE LAND
15:50:56 <ehirdiphone> ^____^
15:51:00 <oklofok> ^___________^
15:51:00 <uorygl> Actually, 15:50.
15:51:06 <oklofok> seriously ->
15:51:13 <uorygl> >.>
15:51:13 <ehirdiphone> lieuwe: Knew it
15:51:22 <lieuwe> ehirdiphone: why?
15:51:31 <ehirdiphone> Doing both ^ and S giving you trouble, right?
15:51:41 -!- augur has quit (Read error: 60 (Operation timed out)).
15:51:43 <lieuwe> ehirdiphone: nope, () giving me trouble
15:51:53 <ehirdiphone> o_O
15:51:55 <ehirdiphone> Howso
15:52:02 <ais523> ehirdiphone: it could be the same problem manifesting in a different way
15:52:09 <lieuwe> ehirdiphone: as that pushes stuff into the program, and i need to translate to python...
15:52:16 <ehirdiphone> I think so too ais523
15:52:22 <ehirdiphone> lieuwe: Kneeew it
15:52:29 -!- Pthing has joined.
15:52:38 <pikhq> 09:51 here in CENTRAL STANDARD TIME. AMERICA!
15:52:40 <ehirdiphone> You must store the code along with the python
15:52:43 <ais523> lieuwe: a hint: you need to store both a precompiled version of the code inside the (), and the original source
15:52:47 -!- Pthingg has joined.
15:52:55 <ehirdiphone> ais523: Or just do an interpreter.
15:53:06 <ais523> ehirdiphone: I mean, to do a compiler
15:53:10 -!- Pthingg has quit (Read error: 104 (Connection reset by peer)).
15:53:11 <ais523> an interp would work rather differently
15:53:17 <lieuwe> ehirdiphone: so i have a list of python commands as 'program' which i eval in order and insert stuff into, but i need to insert translated commands, and the translating is the problem
15:53:25 -!- ehirdiphone has quit (Remote closed the connection).
15:53:38 -!- ehirdiphone has joined.
15:53:49 <ehirdiphone> Sorry what was said after the last thing I said
15:53:57 <ais523> [15:52] <ais523> ehirdiphone: I mean, to do a compiler
15:54:00 <ais523> [15:52] <-- Pthingg has left this server (Read error: 104 (Connection reset by peer)).
15:54:00 <ais523> [15:52] <ais523> an interp would work rather differently
15:54:01 <ais523> [15:52] <lieuwe> ehirdiphone: so i have a list of python commands as 'program' which i eval in order and insert stuff into, but i need to insert translated commands, and the translating is the problem
15:54:08 <lieuwe> ah, well, at least i've got bf->python implemented, any other lang suggestions to implement?(prefferably not self modifing
15:54:10 * Sgeo was about to do that tprivately
15:54:24 <ais523> we should get one of the bots to do that
15:54:26 <ais523> via DC
15:54:28 <ais523> *DCC
15:54:29 <ehirdiphone> lieuwe: UL is not self modifying
15:54:49 <ais523> the point is, you can compile the code segments inside the () in advance
15:55:07 <ais523> then operations like a become repr, ^ becomes eval, * becomes string concatenation
15:55:13 <lieuwe> ais523: and thats where my troubles start... my lexer wont do that...
15:55:22 <ais523> lieuwe: ah, you probably need to improve the lexer then
15:55:31 <ehirdiphone> Your... Lexer is compiling?
15:55:36 <ais523> ( and ) can't be implemented as separate commands
15:55:54 <ehirdiphone> * isn't concatenative
15:55:57 <ehirdiphone> Isn't
15:56:00 <ehirdiphone> Convat
15:56:01 <ais523> ehirdiphone: I bet lieuwe's BF interp compiles [ to the equivalent of while(*p) { and ] to the equivalent of }
15:56:02 <lieuwe> ehirdiphone: not really, it's translating to python, but translating to machine code should be possible
15:56:18 <ehirdiphone> ais523: Probably
15:56:20 <lieuwe> ehirdiphone: actually, it doesnt do that
15:56:27 <ais523> lieuwe: could you pastebin what you've done so far?
15:56:55 <lieuwe> ais523: sure...
15:56:58 <ehirdiphone> ais523: How powerful is ursalas type system?
15:57:17 <ais523> ehirdiphone: depends on what you mean by "powerful", I think
15:57:24 <ais523> you know how BCPL's typing works?
15:57:33 <ehirdiphone> dependent types? TC type checking?
15:57:41 <ais523> it doesn't do type checking
15:57:51 <ais523> basically, instead of storing bitstrings, everything's based on lists of lists
15:57:56 <ehirdiphone> oh. Not a real language, then.
15:57:58 <ais523> like ((),()) which is the representation for true
15:58:10 <ais523> and arguments are just assumed to be of the right types, I think
15:58:20 <ehirdiphone> Utter crap
15:58:29 <ais523> at least, the equality comparison checks to see if both sides have the same representation, without looking at types
15:58:40 <ais523> it tries to infer types /from/ the representation, for output to the screen
15:58:53 <ais523> but there's a --cast option to tell it what the type actually is, for more complex types of outputs
15:58:54 <ehirdiphone> This language sounds shit.
15:59:02 <ais523> ehirdiphone: to me, it sounds very eso
15:59:03 <lieuwe> ais523: http://pastebin.com/d751dd8dc is my code, it's 3 files
15:59:11 <ais523> it's not going to be the next Haskell or anything like that
15:59:19 <ais523> but it makes quite a good esolang
15:59:25 <ais523> high-level, too
16:00:00 <ehirdiphone> lieuwe: You don't handle outputtibg invalid commands too
16:00:13 <ehirdiphone> Anyway don't try and compile UL
16:00:33 <ehirdiphone> It's tricky, trust me (I did it first)
16:00:36 <ais523> it can be compiled, but an interp's easier
16:00:39 <ehirdiphone> I suggest interpreting
16:00:45 <ehirdiphone> ais523: Vastly easier
16:00:58 <ais523> (Underlambda's designed to be much easier to compile; compiling it and interpreting it are similarly difficult)
16:01:09 <lieuwe> ehirdiphone: the lexer detects illegal commands, but the runtime isn't done yet, which should report that, anyhow, i'll just look for another lang to implement
16:01:35 <ehirdiphone> "This is challenging, I give up"?
16:01:48 <ehirdiphone> Why are you coding these if not for the challenge?
16:02:23 <ais523> <hinoe> n,A,C,E,s[1<<20],*r;main(c,X){char*p=s,*q=p-~read(0,p,s);for(r=X;c=*p++,A=c!=97,C=c==42,E=c==94,X=c==40,c*n?n+=X-=c==41,*q++=n?c:!++r,1:!A|C|E?q-=~sprintf(E?p=q:(*r=q),"(%s%s"+A,E[r-=C+E],E?p:C?*r:")"):c-33?r[1]=X?++n,q:c=='~'?X=*--r,*r++=r[1],X:c-58?X=c==83,c-60&&c|n&&printf(X?"%s":"\nErr'%c'",X?*r--:n?40:c),X:*r++:--r;);}
16:02:35 <ais523> now, /that's/ an impressive Underload interp
16:02:39 <ehirdiphone> ais523: We concluded http://esolangs.org/wiki/Qq was sub tc, right?
16:03:00 <ais523> ehirdiphone: I don't remember concluding it either way
16:03:13 <ehirdiphone> ais523: fuck me, it even does error checking. I am not worthy
16:03:27 * ehirdiphone bows to honor
16:03:29 -!- augur has joined.
16:03:31 <ehirdiphone> *hinoe
16:03:36 <augur> ok hello
16:03:57 <ehirdiphone> ais523: You sure? I swear we decided it wasn't tc
16:04:30 <lieuwe> ehirdiphone: yup, it's *too* challenging, if you'd like a challenge go ahead and implement it...
16:04:56 <Sgeo> In what universe is "Vivid dreams" a side-effect. Although I guess the page doesn't say it's a _negative_ side effect
16:04:58 <Sgeo> http://www.webmd.com/sleep-disorders/tc/melatonin-overview
16:05:35 <ais523> ehirdiphone: seems to segfault on the Fibonacci example
16:05:39 <ais523> I'm not entirely sure why
16:06:02 -!- soupdragon has joined.
16:06:20 <Sgeo> Also, uorygl, stop trusting the LessWrong.com posters 100%, kthx
16:06:24 -!- MigoMipo has joined.
16:06:58 <ais523> why isn't bsmnt_bot here?
16:06:58 <ehirdiphone> lieuwe: I wrote an Underload->C compiler with ais523, that's enough Underload for one lifetime imo
16:07:05 <ais523> I could have fun trying to do a Python oneliner that does underload
16:07:12 <soupdragon> why doesn't bsmntbombdude like me
16:07:25 <ehirdiphone> Sgeo: If someone says they're a rationalist, clearly they're always right!
16:07:36 <lieuwe> ehirdiphone: :-p but i assume that you had to write your own lexer/parser in c too?
16:07:44 <ehirdiphone> lieuwe: No
16:07:52 <ehirdiphone> Complete compilation
16:08:06 <lieuwe> ehirdiphone: ?
16:08:11 <ehirdiphone> To a linked list of C functions and strings
16:08:32 -!- zeotrope has quit (Read error: 110 (Connection timed out)).
16:08:35 <ehirdiphone> UL->C compiler written in R5RS Scheme
16:09:52 <ehirdiphone> I didn't need to "parse" anyway
16:10:12 <ehirdiphone> I just switched on characters and recursed on (
16:10:38 <lieuwe> ehirdiphone: ah, like so, any lang using my framework has to be lexed and parsed anyway, thats why my bf converter is so long :-P
16:11:18 <ehirdiphone> Heh
16:11:41 <soupdragon> Unlike the ordinary alphabet, the Shavian alphabet is designed to match the sounds of spoken English. When you read a word in Shavian, you know how to say it, and when you hear a word, you know how to spell it.
16:11:59 <soupdragon> 𐑑𐑴𐑛 = "toad"
16:12:24 <ehirdiphone> ais523: s/[+-]/*p&&;/g
16:12:31 <ehirdiphone> :D
16:12:43 <ehirdiphone> Or is it \&?
16:12:53 <ais523> $& in Perl
16:12:59 <ais523> just & in sed, though, I think
16:13:10 <augur> soupdragon: oh how sad it is that shavian fails then D:
16:13:17 <soupdragon> why
16:13:31 <augur> well for one, its got too few symbols!
16:13:38 <augur> for two, it only works for particular dialects of english
16:14:27 <ehirdiphone> ais523: In c does char*p=t,t[50]; work?
16:14:34 <ehirdiphone> Ptr before what it points to
16:14:40 <ais523> I don't think so
16:14:47 <ais523> but I don't know for certain
16:14:50 <soupdragon> 𐑕𐑴𐑐
16:14:56 <ehirdiphone> I have no c compiler here
16:14:58 <ehirdiphone> :(
16:15:01 <soupdragon> there's a nice symmetry to it
16:15:14 <Deewiant> Question marks are quite asymmetric
16:15:20 <soupdragon> 𐑒o𐑜
16:15:25 <soupdragon> cog
16:15:35 <ais523> #! /bin/bash \ q=`realpath "$0"` \ cd /home/ais523/research/bulky/rakudo/rakudo \ exec perl6 "$q" \ = if 0;
16:15:39 <augur> nevermind that its incorrectly called a "phonetic" alphabet
16:15:39 <ais523> where \ represents newline
16:15:44 <augur> when its really a phonological alphabet
16:15:46 <augur> but thats ok
16:15:56 <ais523> ehirdiphone: what do you think of that for the header of a perl6 program, when I don't even have perl6 installed and it won't run from any other directory?
16:16:23 <ais523> I love the q=`realpath $0` bit
16:16:28 <Deewiant> augur: The difference being?
16:16:33 <ais523> um, q=`realpath "$0"`
16:16:47 <soupdragon> phonological alphabet
16:16:54 <augur> the difference being that phonetics is about articulation, acoustics, etc. while phonology is about the language's sound system
16:17:01 <soupdragon> what's a phoenetic alphabet or is that a contradiction in terms?
16:17:09 <augur> english has only one t phoneme, but it has like half a dozen or more t phones
16:17:11 <soupdragon> ah I see
16:17:14 <ais523> soupdragon: an alphabet of phonemes, rather than letters
16:17:23 <ehirdiphone> ais523: cute
16:17:38 <augur> no ais523
16:17:44 <augur> a phonetic alphabet is an alphabet of phones
16:17:54 <augur> a phonemic/phonological alphabet is an alphabet of phonemes
16:18:02 <ais523> well, ok
16:18:05 <Deewiant> Phonetic alphabet: ☎ ☏ ✆
16:18:10 <augur> 8D
16:18:11 <soupdragon> lol
16:18:24 <augur> cue s lereah
16:18:26 <ais523> Deewiant: I was going to make that joke, but you did it better
16:20:39 <ehirdiphone> Does p?q work or must it be p?q:r
16:20:50 <ais523> you need both ? and :
16:20:56 <ais523> OTOH, you have p&&q
16:21:03 <ais523> which works fine apart from precedence issues and return value
16:22:40 <ehirdiphone> BEGIN{say"char*p=t,t[30000];int main(){"}s/[+-]/*p$&$&;/g;s/</p--;/g;s/>/p++/g;s/,/(*p=getchar())<0&&*p=0;/g;s/\./putchar(*p);/g;s/\[/while(*p){/g;s/\]/}/g;END{say"}"}
16:23:00 <ehirdiphone> ais523: Oh. One change
16:23:08 <ehirdiphone> 00] ->
16:23:19 <ehirdiphone> 00]={0}
16:23:25 <ais523> ah, perl5.10
16:23:39 <ehirdiphone> To zero out the tape
16:23:51 <ais523> you need a "use 5.10;" in there to get say
16:23:52 <ais523> I think
16:24:09 <ais523> (it's shorter than "use feature '5.10'")
16:24:10 <ehirdiphone> Usage:
16:24:38 <ehirdiphone> perl -M5.10.0 -pe'...'
16:25:10 <ehirdiphone> Or add first line #!perl -pM5.10.0
16:25:23 <ais523> ehirdiphone: perl -pE
16:25:29 <ais523> they actually thought of that for oneliners, and gave an abbreviation
16:25:41 <ais523> -E is like -e except it implies the newest version of use feature
16:25:42 <ehirdiphone> What does that do?
16:25:46 <ehirdiphone> Eh
16:25:58 <ehirdiphone> I prefer adding the shebang line to a file
16:26:15 <ais523> "behaves just like -e, except that it implicitly enables all optional features (in the main compilation unit). See feature."
16:26:20 <ehirdiphone> Anyway, prolly the smallest Perl bf to c compiler
16:26:38 <ehirdiphone> Thanks to the ={0} trick a
16:26:48 <ehirdiphone> nd the $& trick
16:26:59 <ehirdiphone> Oh change the string in the END to
16:26:59 <ais523> ehirdiphone: as a file-scope static, you don't need to explicitly zero
16:27:01 <ais523> it happens automatically
16:27:07 <ais523> it's autos that need explicit zeroing
16:27:08 <ehirdiphone> "return 0;}"
16:27:14 <ehirdiphone> ais523: Yay
16:27:24 <ehirdiphone> Still need the return, though
16:27:28 <ehirdiphone> No wait
16:27:29 <ehirdiphone> C99
16:27:33 <ehirdiphone> Her
16:27:37 <ehirdiphone> *Hee
16:27:48 <ehirdiphone> My original snippet was correct
16:28:28 <ehirdiphone> I deserve some sort of an award for writing that on an iPhone
16:31:07 <Sgeo> Puling something like my yield stuff in C#: Good idea or bad idea?
16:31:30 <ais523> can't C# do that already?
16:31:35 <ais523> I'd be surprised if it couldn't
16:32:03 <Sgeo> ais523, it has yield functionality similar to Python, but the programmer I'm working with is somewhat opposed >.>
16:32:17 <Sgeo> Then again, he was also opposed to the scheduler, which was a literal necessity
16:32:36 <Sgeo> (Although I did implement the scheduler slightly incorrectly, which caused a nasty bug, so)
16:33:14 <Sgeo> (Nasty in that it was tough finding it, not that it did something so terrible)
16:34:05 <Sgeo> Never assume that a TimeSpan's .Seconds == 0 means that the TimeSpan is for a 0 length of time >.>
16:37:37 <Sgeo> After I implement that, we'll be roughly where we were before I was fired as Sole Developer!
16:38:14 <Sgeo> (Ok, so the guy's not that bad. He did implement a framework for GUI-like stuff that I would have struggled with)
16:38:38 <Sgeo> And has a system for user data in place
16:38:57 <Sgeo> And other stuff that wasn't even on my radar before I was fired
16:39:05 <Sgeo> Whee! Chatkilling monologue!
16:39:53 -!- ehirdiphone has quit ("Get Colloquy for iPhone! http://mobile.colloquy.info").
16:40:10 -!- ehirdiphone has joined.
16:55:29 <ehirdiphone> http://www.reddit.com/r/programming/comments/ao1ev/happy_birthday_donald_knuth/c0iko29
16:55:41 <soupdragon> http://www.reddit.com/r/programming/
16:57:05 <ehirdiphone> Indeed
16:57:29 <ehirdiphone> Sgeo: All evidence points to the programmer you're working with being a complete idiot.
16:57:40 <ehirdiphone> So I wouldn't value his opinion much...
16:57:49 <soupdragon> just kill him
16:57:53 <soupdragon> nobody will even notice
16:58:59 -!- zeotrope_ has changed nick to zeotrope.
17:00:05 * Sgeo decides to try sugar in his coffee
17:00:19 <soupdragon> uggh
17:00:23 <soupdragon> what the hell
17:06:40 -!- lieuwe has quit ("Page closed").
17:18:53 <Deewiant> http://www.archhurd.org/
17:31:02 -!- ehirdiphone has quit (Read error: 54 (Connection reset by peer)).
17:31:06 -!- ehirdiphone has joined.
18:01:50 <AnMaster> Deewiant, ^_^
18:01:53 <AnMaster> that's crazy
18:02:05 <AnMaster> Deewiant, is it a joke?
18:05:01 <Deewiant> Does it look like one?
18:05:10 <AnMaster> no :(
18:40:54 <AnMaster> ehirdiphone, why back on your phone?
18:41:22 <soupdragon> we have a wonderful selection of church-turing cheeses.
18:43:28 <ehirdiphone> AnMaster: Won't be tomorrow.
18:46:32 * ehirdiphone muses on a Befunge 98 editing mode
18:46:52 <ehirdiphone> Interactive execution that syntax highlights as it goes? Why not.
18:47:07 <ehirdiphone> (Including updating the playfield)
18:47:50 <ehirdiphone> Cursor on fingerprint instruction shows fingerprint, stack effect and description? Yes!
18:48:21 <AnMaster> ehirdiphone, hm interesting
18:48:29 <ehirdiphone> also, typing a key moves the cursor in the current editing direction, not rightwards
18:49:21 <ehirdiphone> Breakpoint by pressing a key while the cursor is on the breakpoint spot? Yep.
18:49:25 <AnMaster> ehirdiphone, it would (like all befunge editing modes that are slightly useful) be a mix between a "classical" editor and an interpreter
18:49:43 <AnMaster> ehirdiphone, so go code it :)
18:49:48 <ehirdiphone> It'd hook into CCBI or cfunge or whatever, of course
18:50:06 <ehirdiphone> AnMaster: Sure... as an amend mode :)
18:51:32 <AnMaster> ehirdiphone, cfunge does have a trace option to output current instruction already, ccbi has a debugger, but you have to single step it to get a trace. Depending on what language the editor is in, calling D code could be rather a pain, or it could be trivial.
18:51:55 <ehirdiphone> I'd interface via stdio obviously
18:52:07 <AnMaster> ah okay, not as a library
18:52:17 <ehirdiphone> This is unix! :P
18:52:30 <AnMaster> ehirdiphone, UNIX*
18:52:41 <ehirdiphone> Unix.
18:52:52 <AnMaster> ehirdiphone, it doesn't look like "SPARTA" then
18:52:54 <AnMaster> :/
18:52:55 <ehirdiphone> UNIX is an error.
18:53:13 <ehirdiphone> It was originally smallcaps'd Unix.
18:53:22 <ehirdiphone> AnMaster: I was deliberately avoiding that
18:53:41 <ehirdiphone> 300 reference would be "This. Is. UNIX!"
18:53:49 <AnMaster> ehirdiphone, it was the first thing I came to think of anyway on that line
18:53:58 <ehirdiphone> Your mom.
18:54:08 <AnMaster> ehirdiphone, I haven't even seen the movie in question
18:54:58 <ehirdiphone> Tggggfgguggffghyfuggygugh
18:55:03 <AnMaster> ?
18:55:15 <AnMaster> iphone spell correction failure?
18:55:21 <ehirdiphone> Jfjwjcneovnjs.
18:55:29 <AnMaster> wrong language?
18:56:16 <soupdragon> Tggggfgguggffghyfuggygugh
18:56:17 <ehirdiphone> Vusjsjgf
19:06:41 <ehirdiphone> C
19:27:49 <ehirdiphone> I am bored.
19:43:22 -!- BeholdMyGlory has quit (Read error: 110 (Connection timed out)).
19:49:25 -!- BeholdMyGlory has joined.
19:51:18 -!- ais523 has quit (Remote closed the connection).
19:54:48 -!- kar8nga has quit (Remote closed the connection).
21:14:26 -!- AnMaster has quit (Remote closed the connection).
21:14:47 -!- AnMaster has joined.
21:18:28 -!- oerjan has joined.
21:19:53 <oerjan> <oklofok> why isn't oerjan always here <-- if i stay at the computer all day i get horribly aching neck and shoulders. at least that's one reason.
21:22:15 <oklofok> well get someone to massage you while you sit on the computer, sheesh
21:22:23 -!- augur has quit (Read error: 60 (Operation timed out)).
21:22:41 <oerjan> that would be a rather long-term plan, i'm afraid
21:23:06 <oklofok> why so
21:23:19 <ehirdiphone> Get better posture bitch
21:23:22 <oklofok> just go out with like a lasso, and kidnap someone
21:23:23 <ehirdiphone> BITCH
21:23:44 <oerjan> to get ahold of someone who would do that. not to mention i would probably then spend even less time on the computer.
21:23:57 <oklofok> :)
21:24:43 <oklofok> well anyway i suppose that's an okay excuse
21:25:36 -!- kar8nga has joined.
21:29:31 -!- kar8nga has quit (Remote closed the connection).
21:30:57 -!- poiuy_qwert has joined.
21:32:40 -!- augur has joined.
21:32:58 <augur> ohai
21:35:59 -!- ehirdiphone has quit (Read error: 54 (Connection reset by peer)).
21:36:35 -!- ehirdiphone has joined.
21:42:15 <ehirdiphone> Asdf
21:44:54 -!- augur has quit (Read error: 60 (Operation timed out)).
21:45:48 -!- ais523 has joined.
21:45:52 -!- MigoMipo has quit ("Page closed").
21:50:27 -!- pikhq has quit (Read error: 54 (Connection reset by peer)).
21:58:38 -!- soupdragon has quit ("Leaving").
22:10:35 <ehirdiphone> Hi ais523
22:10:44 <ais523> hi
22:11:31 <ais523> <Anonymous Coward> One of the errors said: &amp; did not start a character reference. (&amp; probably should have been escaped as &amp;amp;.)
22:11:45 <ais523> this seems to be some sort of recursive version of Muphry's Law
22:18:12 <oerjan> recruise version
22:44:23 -!- pikhq has joined.
22:45:19 -!- olsner has quit (Read error: 60 (Operation timed out)).
22:46:56 -!- ehirdiphone has quit ("Get Colloquy for iPhone! http://mobile.colloquy.info").
22:47:11 -!- ehirdiphone has joined.
22:47:22 <ehirdiphone> abc
22:47:59 <oerjan> def
22:53:41 -!- FireFly has quit ("Leaving").
23:00:43 -!- olsner has joined.
23:05:10 -!- ehirdiphone has quit ("Get Colloquy for iPhone! http://mobile.colloquy.info").
23:05:24 -!- ehirdiphone has joined.
23:05:46 <ehirdiphone> I have been thinking about ehirdOS!
23:09:27 <Gregor> Lies.
23:10:37 -!- ais523 has quit (Remote closed the connection).
23:11:05 <ehirdiphone> Gregor: wut.
23:11:12 <Gregor> LIES.
23:11:21 <ehirdiphone> Gregor: wut.
23:12:09 <oklofok> PIES.
23:12:36 <oerjan> FLIES.
23:12:37 <ehirdiphone> oklofok: put.
23:12:46 <ehirdiphone> oerjan: fut.
23:12:56 <ehirdiphone> *flut
23:13:18 * oerjan swats ehirdiphone for fluttering -----###
23:13:31 <ehirdiphone> oerjan: swut.
23:14:01 <oerjan> hut.
23:14:11 <ehirdiphone> oerjan: hut.
23:14:45 <oklofok> nut.
23:14:53 <oerjan> yay, i found an ehirdiphone quine
23:14:57 <ehirdiphone> oklofok: talk about oklOS so I can bask in ehirdOS' superiority. ut.
23:15:02 <ehirdiphone> oklofok: nut.
23:15:09 <ehirdiphone> oerjan: yut.
23:15:20 <oklofok> oklOS reads your mind and is what you want
23:15:42 <ehirdiphone> ok talk about the previous revision of oklOS :P
23:15:49 <ehirdiphone> (ut)
23:15:56 <ehirdiphone> ((oklut))
23:16:19 <oklofok> no. you're a nut.
23:16:29 <ehirdiphone> oklofok: nut.
23:16:36 <oklofok> nut.
23:16:45 <ehirdiphone> oklofok: nut.
23:17:23 -!- MizardX has quit (Read error: 60 (Operation timed out)).
23:17:25 <oklofok> you = nut
23:17:35 <ehirdiphone> oklofok: yut.
23:19:34 <oklofok> you's total nut
2010-01-12
00:02:30 -!- poiuy_qwert has quit ("This computer has gone to sleep").
00:06:12 -!- poiuy_qwert has joined.
01:10:28 <ehirdiphone> oklofok: yut.
01:16:39 <oklofok> no u r nut
01:17:59 <oerjan> a mad cadamia
01:21:02 <oerjan> or a loco coco
01:37:10 <ehirdiphone> oerjan: iwc :D
01:37:54 <ehirdiphone> NOW HOW CAN ANMASTER WIN
01:38:18 <oerjan> O_o
01:38:51 <oerjan> in case you didn't notice, we stopped that a while ago
01:39:04 -!- Asztal has quit (Read error: 110 (Connection timed out)).
01:39:35 <oerjan> also i didn't think today's was any special
01:40:35 <oklofok> did AnMaster grow up?
01:42:02 <oerjan> no i think he just got bored
01:43:09 <oklofok> i see, i see
01:49:34 <oklofok> he's a total nut
01:50:31 <oerjan> completely off the wal
01:50:42 <oklofok> :D
01:51:18 <oklofok> how do you come up with that stuff
01:51:59 <oerjan> magic.
01:53:28 <ehirdiphone> I didn't even rad the iwc
01:53:30 <ehirdiphone> Read
01:53:39 <oerjan> what a cheater
01:53:40 <ehirdiphone> I just wanteds
01:53:44 <ehirdiphone> Muffles
01:53:54 <ehirdiphone> Nifgle
01:54:04 <ehirdiphone> Sniffle
01:54:06 <ehirdiphone> I just
01:54:12 <ehirdiphone> I just wanted to win something in my life for once
01:54:12 <oerjan> Schnibble
01:54:14 <ehirdiphone> :(
01:54:59 <oerjan> how heartbreaking
01:54:59 <oklofok> :/
01:55:30 <ehirdiphone> I want to create an esolang called poop. It will be the poopiest language.
01:55:36 <oklofok> have you tried not sucking?
01:55:55 <oerjan> fecissima lingua
01:56:11 <oklofok> why adj first
01:56:19 <oklofok> oh wait
01:56:24 <oklofok> does latin always do that
01:56:43 <oerjan> no latin word order is pretty free
01:56:52 <oklofok> oh IC
01:57:26 <ehirdiphone> http://tunes.org/~nef/logs/esoteric/?C=S;O=A
01:57:32 <ehirdiphone> Our most spammy days.
01:57:58 <ehirdiphone> Yesterday is quite far up there at 204 KiB.
01:58:02 <oklofok> O=D
01:58:32 <ehirdiphone> That link sorts by size.
01:58:54 <ehirdiphone> Also that is a dude with a halo.
01:59:12 <ehirdiphone> A vertical halo.
01:59:18 <oerjan> dies spamissimae
01:59:42 <ehirdiphone> oklofok: Oic
01:59:48 <ehirdiphone> I had D
01:59:53 -!- ehirdiphone has quit (Remote closed the connection).
02:03:14 <oerjan> the top day seems to have a lot of bfjoust
02:04:09 <oerjan> um bottom actually, on that list
02:07:30 <oklofok> wait someone made bct in ///
02:07:41 <oerjan> you don't _say_
02:08:00 <oklofok> my point exactly, why didn't anyone tell me
02:08:03 * oerjan coughs discreetly
02:08:05 <oklofok> i thought it was an open problem
02:08:10 <oklofok> yeah i know it was you
02:08:34 <oklofok> well i didn't know, but you've shown interest for solving the infinite loop
02:08:46 <oerjan> yeah
02:08:46 <Sgeo> "You can erase all the key/value pairs within your Dictionary by using the Clear() method, which accepts no parameters. Alternatively, you can assign the variable to null. The difference between Clear and null is not important for memory, as in either case the entries are garbage-collected. Internally, I see that Clear calls Array.Clear, which is not managed code."
02:08:48 <oklofok> and it's in haskell
02:08:51 <Sgeo> http://dotnetperls.com/dictionary-keys
02:09:01 <Sgeo> Suddenly, I'm not so interested in reading the rest of this site
02:09:14 <oerjan> haskell is used like an assembler, there
02:09:17 <oklofok> OMG that's pretty :D
02:10:30 <oklofok> is there a simple trick?
02:10:36 <oerjan> it's much easier to program /// if you _don't_ try to use just / and \, incidentally :D
02:11:30 <oklofok> did you make the quine too?
02:11:33 <oklofok> i hate wikis
02:11:34 <oerjan> yes
02:11:37 <oklofok> i want names
02:11:47 <oklofok> i suppose that's not a general problem of wikis
02:11:58 <oklofok> but i hate them, so it seemed to fit.
02:12:21 <oklofok> is there a simple trick?
02:12:32 <oklofok> to programming it, did you have a revelation
02:12:40 <oklofok> did you see beneath the surface
02:12:44 <oklofok> did you touch its inner beast
02:12:53 <oerjan> well the _basic_ trick is that "quoting" thing, to find a way of encoding a character so you can _both_ copy the encoded version and unpack it
02:13:55 <oerjan> the "Simpler counter" section explains some things
02:14:08 -!- jpc has joined.
02:14:17 <oerjan> in the more readable style with free use of characters
02:15:55 <oerjan> that style is simple enough to be done by hand. i think i only used a few substitutions in vim to simplify the quoting/escaping, the rest is manual
02:16:48 <oerjan> the pure / \ style is far too verbose, unreadable, and too much to keep track of, so i used haskell to assemble it
02:17:20 <oklofok> yeah
02:18:12 <oerjan> in fact for that i had trouble keeping it under perl's 32K or so regexp recursion limit, i had to redesign my tokens several times to shorten it :D
02:18:46 <oerjan> (using my perl /// interpreter)
02:19:58 <oklofok> heh
02:20:04 <oerjan> but the main additional idea for that is to find a way to choose tokens consisting of only / and \ that nevertheless are unlikely to clash with the main scaffolding of the program
02:20:12 <oklofok> is it incredibly fast? i just uninstalled my perl interpreter yesterday
02:21:18 <oerjan> it's pretty naive perl, but perl's regexes are quite optimized, so it's still the fastest /// interpreter afaik
02:21:27 <oklofok> i mean the /// prog :P
02:21:35 <oerjan> oh that, heavens no
02:22:04 <oerjan> i suppose it could be faster with a less naive /// interpreter
02:22:20 <oklofok> but is it like 2^ or ^2
02:22:28 <oerjan> it takes several minutes to run the example code
02:22:39 <oerjan> oh i think it is polynomial at least
02:23:00 <oerjan> (at most)
02:23:00 <oklofok> right
02:23:08 <oklofok> yeah at least at most
02:23:26 <oerjan> there is nothing unary or anything, it's just that by the nature of /// it needs to recopy itself a lot
02:24:02 <oklofok> right, copying the program is polynomial stuff usually
02:25:16 <oerjan> and a single /// command is not exactly constant time either, it needs to scan through the entire rest of program every time
02:25:48 <oerjan> (this is one point where the interpreter could have been smarter, after a match it just starts again from the beginning)
02:26:13 <oerjan> (the perl interpreter)
02:26:25 -!- augur has joined.
02:26:32 <oklofok> by storing the program more sensibly, you could probably mostly just look-up where substitutions happen
02:26:47 <oerjan> hm perhaps
02:27:02 <augur> hayo
02:27:14 <oklofok> helloes
02:27:19 <oerjan> hi augur
02:27:44 <augur> hey
02:27:45 <augur> sup
02:34:39 <oerjan> oklofok: i also made some programs using the http://esoteric.voxelperfect.net/wiki/Itflabtijtslwi input extension
02:37:30 <oklofok> you're so awesome
02:37:34 <oklofok> i wish i was as awesome
02:38:49 <oerjan> now, now. if you also take a look at my BCT interpreter in Eodermdrome, i think you've pretty much exhausted all the esolanging i did last year. so maybe awesome, but definitely slow.
02:39:27 <oklofok> if you , you've exhausted all the esolanging *i* did last year
02:39:32 <oklofok> :P
02:39:38 <oerjan> (that one is untested, btw, since there isn't afaik any eodermdrome interpreter yet
02:39:39 <oklofok> at least i think
02:39:41 <oerjan> )
02:39:49 <oklofok> well i made an eodermdrome interp
02:39:50 <oerjan> could be
02:39:55 <oerjan> oh right...
02:40:03 <oklofok> but, well, i probably didn't put it anywhere.
02:40:18 <oklofok> so it's gone, all my hd's are broken
02:40:37 <oerjan> darn
02:41:12 <oklofok> but isn't it incredibly trivial to write one
02:41:50 <oerjan> not if you want it fast?
02:42:12 <oklofok> well it's graph rewriting, so...
02:42:26 <oklofok> i just mean for the purpose of testing
02:42:34 <oklofok> what does speed matter
02:43:08 <oerjan> maybe
02:44:47 <oklofok> i don't know how hard optimization is, since i don't know anything about the typical eo prog, but probably you'd just have to store a bit of info about where different kinds of subgraphs live atm
02:45:31 <oklofok> not that us mathematicians are allowed to think about such trivialities
02:46:08 <oerjan> right, right
02:46:29 <oklofok> 5 hours till lecture!
02:46:53 <oklofok> i better start preparing mentally
02:47:03 <oerjan> aka sleep?
02:47:21 <oerjan> or maybe it's too late for that
02:47:23 <oklofok> i actually didn't mean anything by that, realized seconds later i should've meant sleeping
02:47:34 <oklofok> so really i could've said "yes" here
02:48:23 <oerjan> food ->
02:48:25 <oklofok> i slept from like 18 to 22, which is why i'm not asleep yet
02:48:38 <oerjan> ah.
02:49:08 <oklofok> i was gonna suggest we go eat at a local restaurant, then realized you are not the one person i usually talk to.
02:49:37 <oklofok> (classy hamburger restaurant.)
02:50:08 <oerjan> heh
02:50:36 <oerjan> as for me, i'm going to my local bread drawer
02:51:26 <oklofok> i have bread + hunger, but i don't want to wake up the female pol
02:51:34 <oklofok> oh wait i'm a fok now
02:54:45 <oerjan> you are so foked
02:55:21 <oerjan> *munch*
02:55:53 <oklofok> :'(
02:56:25 <oerjan> i suppose a finnish famine is no joking matter
02:59:18 <oklofok> actually i think she's awake already
02:59:34 <oklofok> the typity type type makes noise
02:59:47 <oklofok> so.........
03:00:02 <oklofok> one more theorem, then i'll do it
03:09:47 -!- coppro has joined.
03:49:00 -!- lifthrasiir has joined.
03:54:14 -!- oerjan has quit ("Good night").
03:57:09 -!- jpc has quit ("I will do freaking anything for a new router.").
04:02:44 -!- augur has quit (Read error: 60 (Operation timed out)).
04:25:31 -!- coppro has quit ("Reconnecting…").
04:25:47 -!- coppro has joined.
05:40:08 -!- Cerise has quit (Remote closed the connection).
06:02:44 -!- BeholdMyGlory has quit (Remote closed the connection).
06:08:33 -!- bsmntbombdood_ has changed nick to bsmntbombdood.
06:27:25 -!- FireyFly has joined.
07:22:28 -!- FireyFly has changed nick to FireFly.
07:48:51 -!- poiuy_qwert has quit ("Leaving").
07:52:18 -!- Sgeo has quit (Read error: 110 (Connection timed out)).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:18:44 -!- FireFly has quit (farmer.freenode.net irc.freenode.net).
08:18:44 -!- zeotrope has quit (farmer.freenode.net irc.freenode.net).
08:18:45 -!- uorygl has quit (farmer.freenode.net irc.freenode.net).
08:18:45 -!- puzzlet has quit (farmer.freenode.net irc.freenode.net).
08:18:45 -!- mtve has quit (farmer.freenode.net irc.freenode.net).
08:18:45 -!- HackEgo has quit (farmer.freenode.net irc.freenode.net).
08:18:46 -!- SimonRC has quit (farmer.freenode.net irc.freenode.net).
08:18:46 -!- Ilari has quit (farmer.freenode.net irc.freenode.net).
08:21:13 -!- FireFly has joined.
08:21:13 -!- zeotrope has joined.
08:21:13 -!- puzzlet has joined.
08:21:13 -!- uorygl has joined.
08:21:13 -!- HackEgo has joined.
08:21:13 -!- SimonRC has joined.
08:21:13 -!- mtve has joined.
08:21:13 -!- Ilari has joined.
08:22:08 -!- FireFly has quit ("Leaving").
08:22:50 -!- FireFly has joined.
08:29:55 -!- FireFly has quit ("Leaving").
08:55:52 -!- Pthing has quit (Read error: 104 (Connection reset by peer)).
09:04:29 -!- ais523 has joined.
09:20:33 -!- coppro has quit ("I am leaving. You are about to explode.").
10:50:27 -!- BeholdMyGlory has joined.
10:56:02 -!- MigoMipo has joined.
11:07:17 -!- MizardX has joined.
11:09:38 -!- MizardX has quit (Connection reset by peer).
11:09:59 -!- MizardX has joined.
11:10:48 -!- MizardX has quit (Read error: 104 (Connection reset by peer)).
11:12:22 -!- MizardX has joined.
11:15:07 -!- MigoMipo has quit (Remote closed the connection).
11:33:30 -!- Asztal has joined.
12:19:04 <AnMaster> I hit an issue with efunge and ATHR
12:19:05 <AnMaster> which is
12:19:12 <AnMaster> reliable testing of thread handling
12:19:30 <AnMaster> btw, I'm on a unreliable wlan connection + ssh tunnel to my bouncer
12:20:03 <AnMaster> and I forgot to exit client at home, so no scrollback replayed, and won't happen if I lose connection from here
12:22:12 <ais523> AnMaster: does Erlang have testsuites for that sort of thing already?
12:22:29 <ais523> I can imagine a race-condition testsuite that puts delays in places systematically until it's checked all sequencings of thread interleaving
12:23:12 <AnMaster> ais523, well there is stuff, but the stuff I need to test is that I don't have race conditions
12:23:26 <ais523> exactly
12:23:31 <AnMaster> and that really is hard to check, since instrumenting stuff can change thing
12:23:34 <AnMaster> things*
12:23:47 <AnMaster> ais523, there nothing like helgrind afaik though
12:24:16 <ais523> maybe you could do it manually, using a sequence of mutexes or semaphores or something to force the threads to interleave in all possible orders
12:25:07 <AnMaster> ais523, well, since erlang is based on message passing it it has a server for locks, which means, it is implemented as message sending and waited underneath
12:25:19 -!- oerjan has joined.
12:25:30 -!- Sgeo has joined.
12:25:50 <AnMaster> ais523, also there are some settings for debugging to change length of time between context switches
12:26:07 <AnMaster> ais523, also there is the SMP issue. And message passing between OS level threads
12:26:08 <ais523> AnMaster: I think you're missing the point of what I'm saying
12:26:27 <AnMaster> and why did that line render as a bar-code lookalike for a moment there...
12:26:32 * AnMaster prods xchat.
12:26:40 <AnMaster> ais523, possibly
12:27:29 <AnMaster> ais523, anyway not only befunge instruction level interleaving, but what about the functions called in the erlang code
12:27:47 <AnMaster> what if it switches to another thread in the middle of io:format() for exampe
12:27:49 <AnMaster> example*
12:28:00 <ais523> AnMaster: ah, can't you instrument those as well?
12:28:03 <AnMaster> (I'm pretty sure that won't hurt, but you get the idea)
12:28:10 <ais523> I must get around to implementing DO INEVITABLY in INTERCAL
12:28:16 <AnMaster> ais523, well, up to a level. A bit to hard to inverleave
12:28:17 <ais523> so you can inject test code into other bits of code
12:28:42 <AnMaster> ais523, can you inject code in printf() ?
12:29:02 <ais523> AnMaster: you can inject it into 1010 and the other stdlib functions, yes
12:29:12 <AnMaster> hm
12:29:20 <AnMaster> ais523, well not the C standard library printf though
12:29:48 <ais523> no, but only because it isn't written in INTERCAL
12:29:57 <AnMaster> ais523, and correct usage of the erlang stdlib is the level I'm currently worried at.
12:31:17 <AnMaster> ais523, also it isn't just 2 threads at that level. For example, I have the following user space threads for 2 befunge threads: befunge1, befunge2, io_server, fspace_server, id_mapper, and a few more iirc
12:31:28 <AnMaster> and erlang has a host on it's own
12:31:35 <ais523> AnMaster: that's just more combinations to test
12:32:11 <AnMaster> ais523, the number to test grows quite rapidly. Especially with SMP where not only are they interleaved, but actually executing at once on different cores
12:32:23 <oerjan> it's no big matter, testing all combinations shouldn't take more than a handful of universe heat deaths anyway
12:32:29 <AnMaster> oerjan, :D
12:33:06 <AnMaster> though I believe the erlang system is probably reliable, I had to write a custom supervisor behaviour for the befunge threads
12:33:12 <AnMaster> the default one didn't cut it
12:33:49 <AnMaster> (a behaviour is a ready-made module for the "tricky" stuff, so you just implement callbacks, you could call using them a design pattern of erlang)
12:34:24 <AnMaster> (for example, generic server process, generic supervisor process, generic state machine, and iirc a few more)
12:35:15 <AnMaster> (and I'm quite worried about my own superrvisor, even though I based it on the one in erlang.)
12:36:21 <AnMaster> I have test cases to ensure that things work correctly for a single thread, and doesn't do completely incorrect for two threads. That takes me partway at least.
12:37:13 <AnMaster> ais523, anyway, thread race conditions and such is tricky to detect in any language. Even when there are tools to help you
12:37:36 <ais523> I should write an INTERCAL race-condition checker
12:37:52 <ais523> probably by checking different alignments in a loop, with a callback to report success or failure of the program
12:38:40 <AnMaster> ais523, testing all possible combinations becomes infeasible quite quickly. Well depends on how well defined the interleaving is
12:38:56 <ais523> you could just do random combinations
12:39:00 <ais523> you'll end up testing all of them eventually
12:39:15 <AnMaster> ais523, likely to find a few, but far from all. Something like klee but for threads sounds better
12:39:25 <AnMaster> not sure it can be done
12:39:31 <AnMaster> or if it even makes sense
12:40:17 <AnMaster> (since klee tries all possible paths through the program to detect bugs. And uses tricks such as calculating possible range of values a variable might have)
12:44:25 * oerjan notes that count dooku in D&D mangles even his _french_
12:44:36 <oerjan> "zut alors", indeed
12:44:58 <oerjan> or wait
12:45:06 * oerjan fails french
12:54:08 <AnMaster> I think the erlang manual for the event tracer is slightly old: "[..] by clicking (press and release the mouse button 1) on the event label text or on the arrow"
12:54:25 <AnMaster> either old, or just overly detailed :)
12:56:09 <cheater> lol
12:56:46 -!- augur has joined.
12:58:33 -!- ais523 has quit (Remote closed the connection).
13:00:07 -!- Slereah_ has quit (Read error: 60 (Operation timed out)).
13:01:12 -!- Slereah has joined.
13:10:57 -!- BeholdMyGlory has quit (Remote closed the connection).
13:41:34 <AnMaster> bbl
13:57:52 -!- lifthrasiir has quit (Read error: 60 (Operation timed out)).
14:08:28 -!- lifthrasiir has joined.
14:08:39 -!- oerjan has quit ("leaving").
14:18:46 <fizzie> "puts delays in places systematically until it's checked all sequencings of thread interleaving" sounds very much like Promela + Spin.
14:19:32 <fizzie> http://spinroot.com/spin/whatispin.html was used in our parallel systems course.
14:20:37 <fizzie> Doesn't really help with Erlang code, of course.
14:40:24 -!- Cerise_ has joined.
14:48:44 -!- augur has quit (Read error: 60 (Operation timed out)).
14:48:53 -!- anmaster_l has joined.
14:48:58 <anmaster_l> how very strange
14:49:18 <anmaster_l> my desktop locked up the moment I plugged in the usb mouse
14:49:50 <anmaster_l> I had just before unlocked it (I use slock)
14:50:02 <anmaster_l> and this is the second time that happens when I plug in the mouse
14:50:19 <anmaster_l> (I take the mouse with me, if I plan to work for extended periods on my laptop)
14:50:24 <anmaster_l> so: hardware issue?
14:50:31 -!- AnMaster has quit (Connection reset by peer).
14:52:25 -!- AnMaster has joined.
14:55:14 <anmaster_l> nothing relevant in system logs, sysrq didn't work
15:14:07 -!- augur has joined.
15:14:16 <augur> well hello there
15:20:46 <AnMaster> hi
15:49:58 -!- FireFly has joined.
16:11:16 -!- soupdragon has joined.
16:26:52 -!- ehird has joined.
16:27:18 <ehird> No ais523 :-(
16:29:25 <ehird> 04:54:08 <AnMaster> I think the erlang manual for the event tracer is slightly old: "[..] by clicking (press and release the mouse button 1) on the event label text or on the arrow"
16:29:26 <ehird> 04:54:25 <AnMaster> either old, or just overly detailed :)
16:29:28 <ehird> Two words: Emacs tutorial.
16:29:51 <AnMaster> ehird, oh?
16:29:54 <AnMaster> hm true
16:30:17 <ehird> Emacs commands generally involve the CONTROL key (sometimes labeled
16:30:19 <ehird> CTRL or CTL) or the META key (sometimes labeled EDIT or ALT). Rather than
16:30:20 <ehird> write that in full each time, we'll use the following abbreviations:
16:30:22 <ehird> C-<chr> means hold the CONTROL key while typing the character <chr>
16:30:23 <ehird> Thus, C-f would be: hold the CONTROL key and type f.
16:30:25 <ehird> M-<chr> means hold the META or EDIT or ALT key down while typing <chr>.
16:30:26 <ehird> If there is no META, EDIT or ALT key, instead press and release the
16:30:28 <ehird> ESC key and then type <chr>. We write <ESC> for the ESC key.
16:30:41 <AnMaster> "We write <ESC> for the ESC key." :D
16:30:43 <ehird> You can use the arrow keys, ← I'm surprised this isn't qualified with "if you have them"
16:30:53 <ehird> Each line of text ends with a Newline character, which serves to
16:30:55 <ehird> separate it from the following line. (Normally, the last line in
16:30:56 <ehird> a file will have a Newline at the end, but Emacs does not require it.)
16:30:57 <ehird> When you move past the top or bottom of the screen, the text beyond
16:30:59 <ehird> the edge shifts onto the screen. This is called "scrolling". It
16:31:01 <ehird> enables Emacs to move the cursor to the specified place in the text
16:31:02 <ehird> without moving it off the screen.
16:31:04 <AnMaster> ehird, about the arrow keys, it would have been if ais had written it
16:31:17 <ehird> You can also move the cursor with the arrow keys, if your terminal has
16:31:18 <ehird> arrow keys
16:31:26 <ehird> AnMaster: ding!
16:31:27 <ehird> bingo
16:31:33 <ehird> *arrow keys.
16:31:43 <ehird> If you are using a windowed display, such as X or MS-Windows, there
16:31:44 <soupdragon> One word: vimtutor
16:31:45 <ehird> should be a tall rectangular area called a scroll bar on one side of
16:31:46 <ehird> the Emacs window. (There are other tall rectangles on either side of
16:31:48 <soupdragon> (pwnd)
16:31:48 <ehird> the Emacs display. These "fringes" are used for displaying
16:31:49 <ehird> continuation characters and other symbols. The scroll bar appears on
16:31:51 <ehird> only one side, and is the outermost column on that side.)
16:31:52 <ehird> You can scroll the text by clicking the mouse in the scroll bar.
16:31:55 <ehird> If your mouse has a wheel button, you can also use this to scroll. ← Now that's modern!
16:32:02 <AnMaster> haha
16:32:14 <AnMaster> soupdragon, it is even worse then?
16:32:21 <ehird> No, vimtutor is reasonable.
16:32:24 <soupdragon> I need programming help
16:32:26 <ehird> Which makes it BOOOOOO-RING
16:32:31 -!- snowscape has joined.
16:32:32 <AnMaster> ehird, exactly
16:32:48 <ehird> In order to make the text you edit permanent, you must put it in a
16:32:49 <ehird> file. Otherwise, it will go away when your invocation of Emacs goes
16:32:51 <ehird> away. In order to put your text in a file, you must "find" the file
16:32:53 <ehird> before you enter the text. (This is also called "visiting" the file.)
16:32:54 <ehird> Finding a file means that you see the contents of the file within
16:32:56 <ehird> Emacs. In many ways, it is as if you were editing the file itself.
16:32:57 <ehird> However, the changes you make using Emacs do not become permanent
16:32:59 <AnMaster> ehird, iirc you used to have to change a setting to make the scroll wheel work in emacs
16:32:59 <ehird> until you "save" the file. This is so you can avoid leaving a
16:33:02 <snowscape> Has anyone got a font that looks like the output of a dot matrix printer? :-)
16:33:03 <ehird> half-changed file on the system when you do not want to. Even when
16:33:04 <soupdragon> is d as in dy/dx just like 0.00000000...00001 (some kind of infintesimal)?
16:33:05 <ehird> you save, Emacs leaves the original file under a changed name in case
16:33:07 <ehird> you later decide that your changes were a mistake.
16:33:09 <soupdragon> wait ill ask #math
16:33:10 <ehird> I think the fact that the Emacs tutorial is half Emacs tutorial, half "how computers work" totally cements the fact that Emacs is a wannabe OS.
16:33:18 <ehird> soupdragon: yeah i think so
16:33:43 <ehird> since you can approximate it better and better with 0.1,0.01,0.001,etc
16:33:50 <AnMaster> ehird, I more usually use µemacs rather than gnu emacs for file editing these days
16:33:51 <soupdragon> I'm trying to read about non-standard analysis but it seems to require stuff like ultrafilters
16:33:55 <AnMaster> and gnu emacs mostly for irc
16:34:02 <ehird> AnMaster: o_O
16:34:05 <ehird> AnMaster: What's happened to you?
16:34:15 <AnMaster> ehird, hm?
16:34:17 <ehird> lol@keeping GNU Emacs just for ERC, it isn't an *especially* good client :-)
16:34:34 <AnMaster> ehird, well there are a few other major/minor modes I find useful
16:34:53 <ehird> microEmacs doesn't do things like inferior/interaction modes, does it?
16:35:03 <AnMaster> ehird, not that I found anyway
16:35:03 <ehird> like interacting with lisp while editing a lisp program
16:35:14 <ehird> thus it's only Emacs in a very tenuous keybindings sense
16:35:19 <AnMaster> ehird, lisp is one of the things I edit in gnu emacs still
16:35:28 <ehird> you edit lisp?
16:35:45 <AnMaster> ehird, well, a bit, more often scheme than elisp though
16:35:55 <AnMaster> bbl
16:36:24 <ehird> AnMaster: Clearly you must use amend for everything.
16:36:32 <soupdragon> alter
16:36:49 <AnMaster> ehird, have you started coding on it yet?
16:36:55 <ehird> soupdragon: amend.
16:36:57 <ehird> AnMaster: no :P
16:37:03 <ehird> designs are percolating in my head
16:37:40 <AnMaster> ehird, what about your linux distro? your os? your <whatever else it was>
16:38:00 <ehird> I have thought about my OS as recently as yesterday, actually, and mentioned that fact.
16:38:06 <ehird> I do have a list of long-term projects, you know.
16:38:28 <AnMaster> ehird, well, yes, but due to adding new ones the old ones just seem to get pushed further and further back
16:38:35 <ehird> My OS, if it is ever incarnated in a form good enough to be worthy of being called my original vision, will most likely take something like ten years.
16:38:36 -!- snowscape has quit ("ChatZilla 0.9.86 [Firefox 3.5.7/20091221164558]").
16:38:46 <ehird> Not once was it intended as a short-term project.
16:39:03 <AnMaster> ehird, well sure. What about the editor
16:39:16 <oklofok> DEATH TO INFIDELS
16:39:18 <ehird> My Linux distro I'm undecided on. Kubuntu seems to be annoying me a little enough amount that I might just stick with it; Linux is crap in general anyway. :P
16:39:22 <ehird> AnMaster: The editor? You mean amend?
16:39:27 <ehird> That would be what I am talking about now.
16:39:28 <AnMaster> ehird, well yeah
16:39:39 <AnMaster> ehird, well yes. But I mean, do you have any time scale for it
16:39:43 <AnMaster> 1 year? 10 years?
16:39:50 <ehird> Yes, in fact.
16:39:50 <oklofok> 2 weeks or so
16:39:50 <AnMaster> or somewhere in between
16:39:52 <ehird> Lemme check my logs.
16:40:27 <ehird> [Monday 11 Jan 2010] [01:17:09] <ehird> Well, given design, general toolkit mumbling and procrastination, I'll probably start serious coding on it in 1.5 to 2 weeks. Let's say another week or two, so 1.5, to get something that can do the most basic of editing tasks. Two more to get modes working alright.
16:40:29 <ehird> [Monday 11 Jan 2010] [01:17:20] <ehird> And another one and a half weeks to do polishing up.
16:40:30 <ehird> [Monday 11 Jan 2010] [01:17:46] <ehird> So about 7 weeks; maybe less, maybe more.
16:40:31 <ehird> [Monday 11 Jan 2010] [01:17:53] <ehird> Hopefully less.
16:40:33 <ehird> [Monday 11 Jan 2010] [01:17:55] <ehird> I can code like hell.
16:40:35 <ehird> [Monday 11 Jan 2010] [01:18:10] <ehird> So let's say 5-7 weeks; most likely around 5.5-6.
16:40:36 <ehird> [Monday 11 Jan 2010] [01:18:31] <ehird> coppro: But if you can deal with oft-brokenness, you could start using it in, like, 3.5 weeks.
16:40:56 <oklofok> so about 2 weeks, give or take 5
16:41:00 <ehird> That's for the earliest version you're likely to want to use.
16:41:06 <ehird> oklofok: Yuk yuk yuk.
16:41:08 <AnMaster> hm
16:41:14 -!- BeholdMyGlory has joined.
16:41:24 <AnMaster> ehird, assuming you don't become preoccupied by other things
16:41:38 <ehird> Of course, if you want something even remotely as complete or stable as any half-popular editor, or don't want to code to get things working, well, come back in a year or so.
16:41:42 <oklofok> or actually just give
16:41:48 <ehird> AnMaster: Indeed. Is anybody waiting for my editor with every breath?
16:41:59 <ehird> Well, coppro seems to want it quite a bit, but nobody else, really.
16:42:20 <oklofok> what? i'm basically basing my whole future on your editor
16:42:23 <ehird> I'm a hobbyist programmer, I'm not getting paid for this. If I don't find a project fun, of course I'll code something else instead.
16:42:23 <AnMaster> ehird, well, I will probably try it out, and if I like it, who knows
16:42:29 <ehird> oklofok: I'll have it done yesterday
16:42:36 <ehird> AnMaster: That isn't waiting for it with every breath :P
16:42:36 <oklofok> it's like a father to me
16:42:41 <AnMaster> also I find that time schedule slightly unrealistic, some bits overly optimistic and other parts overly pessimistic
16:42:52 <ehird> AnMaster: Hopefully those cancel out, eh.
16:42:56 <AnMaster> like basic editing would take as long as modes
16:43:07 <ehird> It would if you want a decent structure.
16:43:07 <AnMaster> somehow I think modes will take longer
16:43:12 <oklofok> what are modes
16:43:13 <AnMaster> ehird, hm maybe
16:43:30 <ehird> You need to come up with the right structure for the text so you can e.g. delete a character in the middle without shifting the rest of the buffer.
16:43:36 <AnMaster> oklofok, define: says: "a particular functioning condition or arrangement; "switched from keyboard to voice mode" "
16:43:40 <AnMaster> amonst other things
16:43:45 <ehird> You need to come up with decent keybindings and a general editing philosophy.
16:43:52 <ehird> You need to write UIs for things like incremental searching.
16:44:00 <AnMaster> oklofok, or more precise, think like modes in emacs
16:44:02 <ehird> Heck, you need to implement incremental searching; not the easiest thing ever.
16:44:08 <ehird> oklofok doesn't know Emacs.
16:44:14 <AnMaster> <ehird> You need to come up with the right structure for the text so you can e.g. delete a character in the middle without shifting the rest of the buffer. <-- surely this has already been solved
16:44:18 <oklofok> hey i even had emacs installed
16:44:20 <ehird> AnMaster: Of course.
16:44:20 <AnMaster> how do current editors do it
16:44:24 <ehird> AnMaster: Multiple times, which is the whole point.
16:44:24 <oklofok> although i did uninstall it a few days ago
16:44:40 <oklofok> i think i've like saved a file or something in it
16:44:42 <ehird> oklofok: c-mode is for editing C, python-mode is for editing Python, python-interaction-mode is for using Python's >>> console while editing an associated file.
16:44:51 <oklofok> oh
16:44:51 <ehird> irc-mode is for wasting time.
16:44:51 <AnMaster> <ehird> You need to write UIs for things like incremental searching. <-- I'm quite fond of how emacs does that.
16:45:12 <ehird> AnMaster: Yes, but you can't say "be case sensitive" or "use regexps" in an Emacs C-s without doing something else.
16:45:32 <ehird> My idea is the same as Emacs' UI, except it pops up a tiny embedded UI in the bottom of the screen with the text entry, and:
16:45:32 <AnMaster> good point.
16:45:47 <ehird> [X] Case insensitive [ ] Regular expression [ Next ] [ Previous ]
16:45:49 <AnMaster> ehird, this won't be GUI right?
16:45:51 <ehird> and each of those having a keyboard shortcut
16:45:55 <AnMaster> as in, it will work in terminal
16:46:02 <AnMaster> won't need GTK or QT or such
16:46:08 <ehird> AnMaster: No, it won't. Not unless you want to port Tk to ncurses.
16:46:13 <ehird> Curses is retarded anyway. Get a windowing system.
16:46:33 <AnMaster> Tk? How can you like how it looks?
16:46:44 <ehird> I was hoping you'd say that!
16:46:51 <ehird> http://tktable.sourceforge.net/tile/screenshots/unix.html
16:46:58 <ehird> Tk 8.5 onwards have a new theming engine.
16:47:07 <ehird> Note how Default, Revitalized and Clam aren't bad.
16:47:11 <oklofok> didn't you already tell AnMaster once to look at that if he thinks tk is ugly
16:47:12 <ehird> Also note that it uses freetype and the like.
16:47:16 <ehird> So antialiased fonts, too.
16:47:19 <ehird> oklofok: prolly
16:47:25 <AnMaster> ehird, hm okay
16:47:35 <AnMaster> ehird, btw I use a bitmap font in emacs when I use it in X mode
16:47:35 <ehird> Besides, it's not as if the editor will have many GUI widgets showing 99% of the time.
16:47:44 <ehird> AnMaster: Well, it might work.
16:47:54 <ehird> UI and code fonts are different things, though. :P
16:48:07 <AnMaster> well yes
16:48:16 <ehird> In fact, there might even be the possibility of setting the text font vs the code font.
16:48:19 <oklofok> one standard monospaced font for all purposes
16:48:23 <ehird> So you could read emails and IRC proportionally.
16:48:26 <ehird> If you want.
16:48:27 <oklofok> and death to infidels
16:48:29 <AnMaster> ehird, iirc openmotif supports fontconfig these days even.
16:48:41 <ehird> Freetype, you mean.
16:48:45 <AnMaster> oh maybe that was it
16:48:45 <ehird> Fontconfig is just the configuramotron.
16:48:50 <AnMaster> well, ttf fonts anyway
16:48:56 <AnMaster> that look antialiased and stuff
16:48:57 <ehird> Xft, you mean, then.
16:49:12 <oklofok> anyway this has been most educational, tell me when the editor has tetris
16:49:16 <AnMaster> ehird, well, I don't remember the details. Point was "not just X fonts any more"
16:49:17 * oklofok goes ->
16:49:56 <ehird> anyway, so, I think I've changed my original stance on pritners
16:50:00 <AnMaster> ehird, so did you decide on a language for amend?
16:50:01 <ehird> ("I don't believe in printing")
16:50:10 <AnMaster> ehird, oh?
16:50:17 <ehird> i'm sort of craving a black and white laser printer to, like, print papers on and stuff
16:50:27 <AnMaster> ehird, there is no such thing as a printer
16:50:29 <ehird> never inkjet though, i will never put myself through that horror ever again
16:50:44 <ehird> If I need colour, I'll go and raise lots of money and buy a colour laser printer
16:50:46 <ehird> but NEVER inkjet
16:50:47 <AnMaster> ehird, notice I have a black fleece jacket and I'm a man. (never mind the blue jeans)
16:50:47 <ehird> NEVER
16:50:58 <ehird> AnMaster: ...okay?
16:51:03 <AnMaster> ehird, sorry, bad joke
16:51:05 <ehird> That was... completely non-sequiturish.
16:51:08 <AnMaster> ehird, no
16:51:19 <AnMaster> ehird, "<AnMaster> ehird, there is no such thing as a printer" "<AnMaster> ehird, notice I have a black fleece jacket and I'm a man. (never mind the blue jeans)" <-- MIB
16:51:35 <ehird> >_<
16:51:36 <ehird> ANYWAY
16:51:46 <ehird> As far as language, I'm honing in on various possibilities.
16:51:49 <ehird> Only a few, actually.
16:52:08 <AnMaster> why laser rather than inkjet btw?
16:52:35 <ehird> AnMaster: Laser is: Quieter. Doesn't do that stupid fucking thing where it prints, like, half of the page because one of your colours is low.
16:52:43 <ehird> The toner *doesn't* cost more than the printer.
16:53:18 <ehird> And they're far more reliable.
16:53:21 <AnMaster> ehird, well, iirc Kodak made a product line where the printer was expensive and the ink cheap
16:53:32 <AnMaster> I may have dreamt this
16:53:47 <ehird> Also, laser printers are for hardcore geeks who love network printers.
16:53:52 <ehird> And dammit, I love the idea of network printers.
16:54:01 <ehird> So, as I was saying.
16:54:02 <AnMaster> I haven't seen a laser able to print on photo paper yet
16:54:14 <ehird> That's okay. With a black-and-white laser, all I'll be printing is text.
16:54:19 <ehird> And that is absolutely fine by me.
16:54:22 <ehird> Tcl was a consideration because of closeness to Tk but the general fuckedupness of that language and underscore_naming_convention made me ditch that idea.
16:54:36 <AnMaster> ehird, lots of languages have tk bindings
16:54:38 <ehird> Scheme is a consideration, because I like Scheme.
16:54:49 <ehird> AnMaster: Yes, but they're not close to Tk in a fits-in-with-the-language way.
16:54:55 <AnMaster> true
16:54:58 <ehird> And also because Scheme is good for extending syntax and stuff for e.g. mode definition and the like.
16:55:10 <ehird> Also, lexical fucking scope! I would beat elisp to a feathery pulp.
16:55:24 <ehird> C is also some sort of consideration because, well, it's C.
16:55:33 <AnMaster> ehird, you would probably have to patch the interpreter you used somewhat to fit the editor better
16:55:44 <ehird> Go is also a consideration because it'd be like C without the memory management, and also I could spawn parallel jobs easily.
16:55:49 <ehird> Which I guess could be useful... for something...
16:56:06 <ehird> Of course, C and Go leave the "extension language" problem open.
16:56:17 <ehird> AnMaster: Doubtful. Edwin gets fine with just stock MIT Scheme.
16:56:18 <AnMaster> if you don't want tcl and you do want tk you will have to live with those language bindings in any case
16:56:23 <ehird> Admittedly, it's written by the MIT Scheme people.
16:56:25 <ehird> I know that.
16:56:33 <ehird> But it's an advantage Tcl has.
16:57:03 <ehird> http://code.google.com/p/chromium/issues/detail?id=31482
16:57:14 <ehird> Uh oh, serious goat teleportation issues with Chrome
16:57:21 <AnMaster> ehird, so why not go for erlang: it has tk bindings, it has concurrency, you could do the extension language as erlang itself (though I'm not sure how easy this would be, probably slightly more complex than for scheme)
16:57:31 <AnMaster> and erlang has lexical scope
16:57:50 <ehird> Well, I don't know Erlang, for one. But assuming I do:
16:58:06 <ehird> Tk bindings, sure, but does it have bindings to the ttk part of Tk 8.5, i.e. the part that lets you use the themed widgets, i.e. not be hideous?
16:58:29 <AnMaster> ehird, for ttk: I'm not sure. What should I look for (I never used those bindings)
16:58:32 <ehird> Concurrency, yes, but using Erlang for a task that has concurrency only as a small part seems... weird.
16:58:40 <ehird> AnMaster: Link me to the docs, I guess.
16:58:43 <AnMaster> sec
16:59:04 <AnMaster> http://erlang.org/doc/apps/gs/index.html
16:59:05 <ehird> The extension language as Erlang itself would work, but it doesn't let you define your own syntax, so things like mode definition would be a little awkward.
16:59:15 <AnMaster> though I believe the focus nowdays is on wxgtk bindings
16:59:20 <ehird> Unsurprising.
16:59:27 <ehird> I mean, there's no problem with Erlang, I just don't see why I should particularly choose it over another language.
16:59:47 <ehird> AnMaster: wow, that's a really bare-bones binding
16:59:50 <ehird> Nope, no ttk.
16:59:54 <AnMaster> ah
17:00:01 <ehird> How nice are the gtk bindings?
17:00:06 <AnMaster> ehird, wxgtk
17:00:09 <ehird> ???
17:00:12 <AnMaster> so it is wxwidgets
17:00:15 <ehird> wxWidgets except it only works with GTK? :P
17:00:15 <AnMaster> you probably know of it
17:00:18 <AnMaster> ehird, no
17:00:28 <ehird> I'm mainly avoiding the big toolkits because their API is hideously complex and sucks to use.
17:00:29 <AnMaster> ehird, afaik it works with all wxwidgets ports
17:00:31 <ehird> And makes me want to kill myself.
17:00:39 <AnMaster> but on linux it is wxgtk that exists
17:00:41 <AnMaster> afaik
17:00:58 <ehird> http://erlang.org/doc/apps/wxgtk/index.html ← 404
17:01:01 <AnMaster> http://erlang.org/doc/apps/wx/index.html <-- hideously complex seems nice
17:01:13 <AnMaster> nice desc*
17:01:27 <ehird> Oh, yes, and the other reason that I forgot: Bah, objects!
17:01:29 <AnMaster> probably you don't need to use all those functions
17:01:30 <ehird> I poop on them.
17:01:38 <AnMaster> ehird, mostly erlang doesn't have them
17:01:41 <AnMaster> if that is what you meant
17:01:49 <ehird> But wx, gtk and qt are all OOP.
17:01:55 <AnMaster> oh true
17:02:04 <ehird> One thing I need to be able to do is have modes arbitrarily insert their own GUIs. Easy enough with Tk, I believe, but with the others? Hmm.
17:02:07 <AnMaster> ehird, doesn't tcl have objects of some sort?
17:02:17 <ehird> It's an addon thing.
17:02:26 <ehird> Like a Scheme package implementing objects.
17:02:47 <AnMaster> ehird, it could certainly be done with qt at least, there are loadable plugins in kate
17:02:53 <ehird> Of course it's doable.
17:03:02 <ehird> But I have a deadline, here :D
17:03:06 <AnMaster> probably easier with tk
17:03:29 <AnMaster> ehird, also with the new NIF stuff, I believe writing a better tk wrapper wouldn't be too hard
17:03:35 <AnMaster> assuming you can call it in a C like way
17:03:53 <ehird> You can, I believe, but I'd rather have to maintain an editor rather than an editor and a Tk binding.
17:03:58 <AnMaster> of course NIFs were added only in the last release, and is subject to change
17:04:00 <ehird> s(int*a,int*b){for(int*c=b,t;c>a;)if(t=*c--,*c>t)c[1]=*c,*c=t,c=b;} ← It sorts arrays!
17:04:23 <AnMaster> ehird, still, I think a lisp or scheme is somehow more appropriate
17:04:44 <soupdragon>
17:04:46 <ehird> The problem with writing a powerful editor with some Emacs heritage is that you get branded as "Emacs in $LANGUAGE". :-)
17:04:59 <ehird> Edwin is Emacs-in-Scheme, that Perl editor is Emacs-in-Perl, etc.
17:05:01 <soupdragon> who cares if you get branded just ignor them
17:05:08 <ehird> But yes, a lisp is probably the best choice.
17:05:22 <ehird> Almost certainly for the extension language.
17:05:26 <soupdragon> why don't you use an esolang
17:05:27 <ehird> Dunno about the implementation language.
17:05:30 <AnMaster> ehird, how easy is it to interface native code from it
17:05:34 <ehird> soupdragon: That would be... difficult :-P
17:05:38 <ehird> AnMaster: From what; Lisp or Scheme?
17:05:40 <AnMaster> ehird, I suspect you will need it for some tiny bits
17:05:43 <AnMaster> ehird, scheme
17:05:46 <AnMaster> but lisp as well
17:05:50 <AnMaster> with lisp as common lisp
17:05:54 <ehird> Impossible. R5RS has no facility for doing that.
17:06:04 <ehird> Nor, I believe, for performing tasks such as "deleting a file".
17:06:10 <ehird> Ditto for Common Lisp.
17:06:13 <AnMaster> ehird, what about Tk then
17:06:14 <ehird> Also, networking and threading is impossible in both.
17:06:24 <ehird> Of course, nobody actually *obeys* the standard...
17:06:25 <AnMaster> you will need to rely on custom extensions I guess
17:06:29 <ehird> No shit :P
17:06:30 <ehird> I was joking
17:06:41 <AnMaster> ehird, if you go for a lisp, which one?
17:06:42 <AnMaster> sbcl?
17:06:48 <ehird> Probably not Common Lisp.
17:06:50 <ehird> I prefer Scheme.
17:06:54 <AnMaster> well okay
17:06:57 <AnMaster> what scheme then
17:07:26 <AnMaster> I would doubt you go for mzscheme, since it is r6rs wannabe these days isn't it?
17:07:40 <ehird> (Actually, the only Emacs-alike I've seen that hasn't been branded as Emacs-in-language is http://armedbear-j.sourceforge.net/, probably because (a) it's written in Java; nobody would say "Emacs-in-Java", it's too silly and (b) it uses a real Common Lisp as its extension language.)
17:07:46 <ehird> AnMaster: Maybe I'll write my own! :P
17:07:57 <ehird> But, eh, maybe Gauche or something.
17:08:06 <AnMaster> ehird, what about the tk bindings?
17:08:15 <AnMaster> you said you didn't want to maintain tha
17:08:17 <AnMaster> that*
17:08:34 <ehird> Then I could use the circa-1995 STk!
17:08:54 <AnMaster> never heard of that. And I doubt it has ttk bindings then
17:08:55 <ehird> Okay, okay, not that old.
17:08:57 <ehird> Circa-1999.
17:09:07 <ehird> AnMaster: Well, it's been obsoleted by STklos since, like, 2001.
17:09:09 <ehird> So... yeah.
17:09:27 <AnMaster> ehird, what is STklos then
17:09:50 <AnMaster> oh it uses GTK
17:09:53 <ehird> Yeah.
17:09:55 <ehird> And objects.
17:09:58 <ehird> 'Nuff said.
17:10:14 <AnMaster> ehird, so I guess you will have to maintain your own Tk bindings for scheme if you are to use it
17:10:40 <ehird> Probably, yes.
17:10:54 <ehird> There doesn't appear to be a simple solution to all this.
17:11:25 <AnMaster> ehird, there is always tcl
17:11:30 <ehird> Maybe I'll think about something simple and fun, like my poop language or SECRET-ESOLANG-PROJECT.
17:11:41 <ehird> AnMaster: Crazy semantics, very imperative, meh.
17:11:51 <AnMaster> well good point
17:12:06 <AnMaster> how hard would writing Tk bindings be
17:12:18 <ehird> Dunno.
17:12:25 <ehird> Not *too* hard, but not trivial either.
17:12:36 <ehird> It essentially amounts to writing a Tcl binding, and then a sugar layer over that.
17:12:45 <AnMaster> considering emacs runs a tcl process and uses stdin/stdout to talk to it
17:12:48 <AnMaster> in the gs bindings
17:12:49 <ehird> Tcl has a good C API, but...
17:12:54 <ehird> AnMaster: *erlang
17:12:57 <AnMaster> err yeah
17:12:58 <AnMaster> typo
17:13:09 <ehird> [17:11] <ehird> Maybe I'll think about something simple and fun, like my poop language or SECRET-ESOLANG-PROJECT.
17:13:12 <ehird> :|
17:13:13 <ehird> :P
17:13:33 <AnMaster> ehird, then that schedule for your editor just went down the ditch ;P
17:13:41 <ehird> No it didn't.
17:13:53 <ehird> poop is, like, a day-long project and SECRET-ESOLANG-PROJECT just needs ais.
17:14:03 <ehird> ("poop is, like, a day-long project" —me. You can quote me on that.)
17:14:15 <ehird> ((har har poop joke))
17:16:02 <AnMaster> ehird, sbcl's extensions seems very nice
17:16:09 <AnMaster> ehird, ooh new idea for language: mathematica
17:16:15 <ehird> AnMaster: I am killing you.
17:16:20 <AnMaster> haha
17:16:21 <ehird> Common Lisp is crufty, anyway.
17:16:25 <ehird> I don't feel like using it.
17:16:30 <AnMaster> fair enough
17:16:43 <AnMaster> what about java?
17:16:45 <ehird> (SECRET-ESOLANG-PROJECT will totally make this channel LIVE ONCE MORE.)
17:17:00 <ehird> AnMaster: Completely ignoring the fact that I'd have to use JNI to make Tcl bindings...
17:17:00 <soupdragon> explain SECRET-ESOLANG-PROJECT
17:17:01 <ehird> ...no.
17:17:13 <AnMaster> ehird, befunge98?
17:17:13 <ehird> soupdragon: No, Gregor will just go and implement it before I can :D
17:17:23 <ehird> AnMaster: "LCT"(...)
17:17:24 <AnMaster> ehird, not if you implement it fast enough
17:17:24 <ehird> Yes!
17:17:29 <AnMaster> also, is it a new language
17:17:33 <ehird> AnMaster: Sort of.
17:17:33 <AnMaster> ehird, actually that is a good idea
17:17:38 <AnMaster> Tk bindings for befunge98
17:17:53 <ehird> If by good, you mean horrible and excellent!
17:17:54 <AnMaster> maybe I'll do that when I have more time
17:18:05 <AnMaster> ehird, "good idea" + "befunge" = what you said
17:18:19 <ehird> Make sure to do Tcl bindings to handle additions to Tk
17:18:32 <AnMaster> hm
17:18:38 <ehird> and have an additional fingerprint, TK, that provides sugar over it for common Tk operations
17:18:39 <ehird> :D
17:18:40 <AnMaster> ehird, I certainly need to read up on the tcl api first
17:18:56 <AnMaster> ehird, also there is a limited number of instructions per fingerprint you know
17:19:02 <ehird> You could do the stdin/stdout method; a lot of things seem to do that.
17:19:04 <AnMaster> you have to pick carefully
17:19:11 <ehird> AnMaster: Well, exactly.
17:19:15 <ehird> Which is why TK is a separate fingerprint.
17:19:18 <ehird> You'd do:
17:19:25 <AnMaster> ehird, well for erlang there are good reasons. Mainly that loading native extensions into the vm is a fairly new feature
17:19:29 <ehird> "KT"(...oops I need some more stuff than it provides "LCT"(...)...)
17:19:31 -!- ais523 has joined.
17:19:34 <AnMaster> certainly much newer than the gs module
17:19:34 <AnMaster> hi ais523
17:19:35 -!- augur has quit (Read error: 110 (Connection timed out)).
17:19:36 <ehird> AnMaster: Also that it's easier.
17:19:38 <ehird> ais523: Just in time!
17:19:55 <ais523> for what?
17:19:56 <AnMaster> ehird, what? ais523 isn't bytecode...
17:20:09 <ehird> ais523: I need to discuss an esolang project with you related to one of yours :|
17:20:20 <ais523> I just came out of a meeting with two of the university's FPGA experts
17:20:33 <AnMaster> ais523, TCL/TK bindings for befunge. Opinion?
17:20:34 <ais523> who were busy talking about how all FPGA development environments were rubbish
17:20:42 <ais523> AnMaster: bindings to anything is good
17:20:45 <ais523> even if it's something ridiculous
17:20:46 <AnMaster> :D
17:20:49 <ehird> *Tcl/Tk
17:20:53 <ehird> You fail at capitalisation.
17:20:59 <ais523> I wouldn't even be against .NET bindings
17:21:05 <ais523> or even ActionScript bindings
17:21:08 <AnMaster> ais523, what about java ones?
17:21:18 <AnMaster> ais523, or cobol.
17:21:32 <AnMaster> oh and I think I have half a spec somewhere for the fingerprint SQL
17:21:38 <AnMaster> never finished the details
17:21:44 <ais523> ehird: anyway, conversation pop
17:21:49 <ehird> A web servlet/Swing Befunge IRC client?
17:21:52 <ehird> ais523: see /msg
17:21:56 <AnMaster> ehird, wow
17:22:13 <ehird> AnMaster: that is, usable from both the web and on the desktop
17:22:15 <ehird> :D
17:22:25 <AnMaster> ehird, well, to begin with I would have to learn java
17:22:29 <ehird> If you run it locally it starts both, so assuming you configure your firewall right, you can just punch in your IP on the go to use your IRC client
17:22:31 <ehird> In Befunge!
17:22:33 <AnMaster> same goes for tk of course
17:22:34 <ehird> AnMaster: no, just JNI :D
17:22:59 <AnMaster> ehird, oh right, I used the python C API before I used python
17:23:03 <AnMaster> so I guess that is doable
17:23:17 <ais523> btw, could someone check the most recent edit to Esolang for me?
17:23:22 <ais523> I need a second opinion
17:23:29 <ais523> ingenious spam, trolling, or a legit edit?
17:24:12 <AnMaster> ais523, one of the former two I would say
17:24:27 -!- MigoMipo has joined.
17:24:43 * ehird looks
17:25:01 <AnMaster> and it is ridiculous
17:25:12 <ehird> Custom Research Paper Writing Service
17:25:13 <ehird> A research paper is a type of academic writing that needs more theoretical, significant and methodical level of inquiry than most other written assignments. In order to complete a research paper, you will have to spend a lot of time, study a lot of information resources, come up with a suitable approach and crystallize and summarize all your knowledge in a proper format. Sounds like a lot of work, doesn’t it?
17:25:17 <ehird> Yet another we-write-your-papers-for-you spam.
17:25:26 <ehird> Revert and ban with extreme prejudice.
17:25:30 <AnMaster> yes
17:25:35 <ehird> also, s/the (Wikipedia)/$1/, please
17:25:41 <ais523> I'll do a revert with wording that makes it sound like he didn't do anything wrong, and see what happened
17:26:03 <ais523> *what happens
17:26:08 <ais523> I'm interested to see if it's remade
17:27:53 <AnMaster> ais523, btw are there any bindings for befunge you *would* be against?
17:27:57 <AnMaster> just curious
17:28:19 <AnMaster> also what about the secret esolang project that ehird said he needed you for
17:28:21 <ehird> bindings to the DS9K network protocol
17:28:29 <ehird> we are strictly pacifist in this channel!
17:28:37 <ais523> AnMaster: illegal ones, and ones that actually caused bodily harm or similar issues
17:28:38 <AnMaster> ah I got an idea: befunge bindings for befunge
17:28:47 <AnMaster> XD
17:28:58 <ais523> *actually cause
17:29:01 <AnMaster> ais523, I can't think of any in either category
17:29:21 <AnMaster> ehird, link me to the spec!
17:29:56 <AnMaster> bbl food
17:29:57 <ehird> http://dspace.dial.pipex.com/town/green/gfd34/art/
17:30:04 <ehird> You'll have to purchase it
17:30:10 <ehird> s/it$/it./
17:32:50 * Sgeo is somewhat disoriented by the way that Fark headlines appear days after the article was in Reddit
17:33:05 <ehird> So don't read Fark. Fark is crap.
17:36:14 * soupdragon just spent about 20 mins reading douglas adams inspired 404 page
17:36:51 <ehird> which one? that one that's everywhere and continually displays messages about how sorry it is for not loading the page?
17:36:56 <soupdragon> yes
17:39:36 <soupdragon> hy I wanna poll your um
17:39:39 <soupdragon> whatever it's called
17:39:48 <soupdragon> principle of least surprise or something:
17:39:54 <soupdragon> int a = 1; var f = x=> a+x; a = 2; int b = f(0); what is the value of b ?
17:40:17 <ehird> x=>y being a function, presumably
17:40:29 <ehird> soupdragon: it really depends on the type of language
17:40:42 <ehird> if it's trying to be a cool functional dude, I'd probably expect 1
17:40:43 <soupdragon> no that's the point
17:40:44 <Sgeo> I 3
17:40:45 <Sgeo> 3
17:40:48 <ehird> but almost all conventional languages do 2
17:40:50 <ehird> Sgeo: what.
17:40:56 <Sgeo> ^ kidding
17:41:10 <soupdragon> Sgeo reads it as some esolang :P
17:41:40 <Sgeo> There should totally be a language where the about makes b = something other than 1 or 2
17:41:49 <soupdragon> ehird well I said it should be 2 but he said no.. and I was like all languages except yours would give 2... and he said no not really
17:41:55 <soupdragon> so I'm like huh?
17:42:00 <ehird> soupdragon: tell him he's a retard
17:42:12 <soupdragon> I don't think that would be very nice
17:42:13 <ehird> list of languages that do it that way
17:42:14 * ehird breaths in
17:42:16 <ehird> Lisp
17:42:18 <ehird> Scheme
17:42:19 <ehird> Ruby
17:42:20 <soupdragon> no
17:42:21 <ehird> Python
17:42:22 <soupdragon> no no no
17:42:22 <ehird> C#
17:42:26 <soupdragon> list the ones that DON'T
17:42:27 <ehird> *breathes
17:42:31 <ehird> soupdragon: ()
17:42:33 <soupdragon> if you can get more than zero I'll be impressed
17:42:37 <ehird> At least, that I know of.
17:42:44 <ehird> And I know of quite a lot of languages.
17:42:54 <soupdragon> <bartwe_> think about this: foreach(x in y) list.add(z=>z+x);
17:42:54 <soupdragon> <bartwe_> you want to capture the value of x, not the slot
17:43:11 <soupdragon> :(
17:43:37 <soupdragon> <bartwe_> nope, 1
17:43:38 <soupdragon> <bartwe_> for pluk atleast, in some other languages it may be 2
17:43:38 <soupdragon> <soupdragon> like lisp and javascript and so on
17:43:38 <soupdragon> <soupdragon> (and ... every langauge :P)
17:43:38 <soupdragon> <bartwe_> no, not really
17:43:55 <soupdragon> so am I in the wrong there
17:44:34 <Sgeo> Wait, I'm confused
17:45:00 <ehird> soupdragon: you are totally correct
17:45:12 <ehird> that's a common closure pitfall, expecting them to work like that
17:45:31 <ehird> soupdragon: basically
17:45:36 <ehird> the problem is that his variables are mutable
17:45:39 <ehird> in e.g. haskell
17:45:49 <ehird> map (\x -> (\z -> z+x))
17:45:52 <ehird> x is a new variable each time
17:45:56 <ehird> so we get the expected behaviour
17:46:00 <ehird> the "x" in each function is the element
17:46:04 <ais523> in Perl, you can get either behaviour
17:46:07 <ehird> but since his variables are mutable and x is always the same variable
17:46:08 <ehird> he's fucked
17:46:17 <ehird> and this is why mutable state is bullshit.
17:46:23 <Sgeo> http://codepad.org/1iagmDfc
17:46:29 <ais523> ehird: what do you think of the OCaml method?
17:46:37 <soupdragon> I don't think mutable state is "bullshit" but it is something to do with mutation
17:46:46 * Sgeo is actually confused by this now
17:46:56 <ehird> ais523: how does it do it?
17:47:18 <soupdragon> ocaml is very explicit (in a good way)
17:47:45 <ais523> ehird: I'm writing a paste now
17:48:01 <soupdragon> ehird you must make a mutable cell in ocaml
17:48:04 <ais523> http://codepad.org/YzQtEiid
17:48:11 <ehird> soupdragon: ah, right
17:48:14 <ehird> ais523: it=ocaml
17:48:16 <ehird> the ocaml method
17:48:23 <ehird> anyway the ocaml method is just haskell's iorefs then :P
17:48:29 <ehird> or strefs
17:48:34 <soupdragon> I'm rreally jelous of ais' perl skills
17:48:42 <soupdragon> but I'd never admit it
17:48:45 <ais523> oh, in ocaml everything's an immutable value
17:48:46 <ehird> ais523: yeah that's basically because %a becomes a new variable
17:48:48 <ehird> each iteration
17:48:49 <ehird> erm
17:48:51 <ais523> you can have an explicit pointer to a memory location, though
17:48:52 <ehird> to use the foreach example
17:48:54 <ais523> in which case the pointer is the value
17:48:55 <ehird> *$a
17:48:59 <ehird> which is basically what i said
17:49:07 <soupdragon> ais my $a = $a kinda cheating :P
17:49:08 <ais523> ehird: yes, you have to mark it with a lexicaliser
17:49:12 <soupdragon> you might as well write
17:49:18 <ais523> soupdragon: no, because it's how you do that in Perl
17:49:29 <soupdragon> my $z = $a ... [$a/$z]
17:49:52 <ais523> soupdragon: yes, you might, and that would be fine too
17:50:02 <Sgeo> .... $a = $a has an effect in Perl?
17:50:04 * Sgeo cries
17:50:05 <ais523> the point is, the value of $a is stored in the closure because it's been lexicalised
17:50:06 <ais523> Sgeo: no
17:50:14 <ais523> the bracketing is (my $a) = $a
17:50:26 <ais523> and in perl5, my doesn't create the new variable name until the end of the statement
17:50:27 <soupdragon> hehehe
17:50:47 <ehird> $a=$a is just mutating $a
17:50:50 <ehird> but my $a declares a var
17:50:59 <ehird> sgeo won't get this because he codes python, and python is stupid and has no variable declarations
17:51:03 <ehird> thus leading to the wonderful "global" kludge
17:51:05 <ais523> in fact, I think you can get away with just "my $a" which means the same thing
17:51:12 <ehird> and the wrapping-a-variable-in-an-array-to-mutate-it-in-a-nested-function kludge
17:51:21 <ais523> ah no, it initialises to undef
17:51:44 <soupdragon> global awesome
17:51:47 <soupdragon> lol python
17:51:49 -!- augur has joined.
17:52:15 <soupdragon> hiya augur,
17:52:23 <Sgeo> Who calls "ti" "si"?
17:52:29 <augur> hey soupdragongirly
17:52:30 <augur> sup
17:53:14 -!- kar8nga has joined.
17:54:16 <soupdragon> just pwning some noobs u?
17:55:52 <augur> playing around with DNF-expression k-sat
17:57:18 <soupdragon> did you implement prolog yet
17:57:49 <augur> i have a semi-working version, yeah. :)
18:03:57 <soupdragon> cool
18:04:20 <soupdragon> what strategy did you use
18:04:23 <soupdragon> is it streams or stack or what?
18:09:55 <AnMaster> ehird, okay idea: why not use a language with a history of about the same length as that of Lisp for amend?
18:13:18 <ehird> Fortran?
18:13:46 <ais523> fortran's awful at text processing
18:14:12 <AnMaster> ehird, yes
18:14:16 <AnMaster> ehird, or asm
18:15:46 <AnMaster> about "<soupdragon> int a = 1; var f = x=> a+x; a = 2; int b = f(0); what is the value of b ?" in erlang. That would be: http://codepad.org/RWtT11n8
18:16:17 <soupdragon> hey AnMaster thanks!
18:16:23 <soupdragon> btw
18:16:23 <ehird> x86 asm doesn't have as long a history as Fortran.
18:16:36 <ehird> soupdragon: AnMaster cheated
18:16:36 <AnMaster> soupdragon, well for a start, it throws an exception trying to assign to the same variable twice
18:16:38 <soupdragon> if you did that in one erlang statement, or like, in one erlang function -- you couldn't use A twich could you
18:16:39 <soupdragon> ?
18:16:40 <AnMaster> if the values differ
18:16:44 <soupdragon> so it's just a REPL thing?
18:16:47 <ehird> "A=2" was pattern matching
18:16:48 <AnMaster> ehird, not x86 no
18:16:49 <ehird> or whatever
18:16:51 <ehird> not assigning
18:16:56 <ehird> so it isn't actual mutation
18:16:56 <AnMaster> ehird, well that is how erlang *does* assign
18:16:59 <ehird> and A was still 1
18:17:03 <ehird> so it didn't change, QED
18:17:10 <AnMaster> there no no actual concept of assigning apart from pattern match
18:17:11 <AnMaster> ehird, ^
18:17:15 <ehird> exactly
18:17:19 <ehird> i.e. no mutable variables
18:17:21 <AnMaster> soupdragon, and yes it is a repl
18:17:25 <ehird> i.e. that wasn't an actual demonstration
18:17:26 <AnMaster> soupdragon, and variables are not mutable
18:17:28 <ais523> idea: is it possible to use URL-shorteners as free webhosting by using data:// URLs?
18:17:35 <AnMaster> ais523, old
18:17:37 <ehird> ais523: some of them, yes, iirc
18:17:39 <ehird> I did it with tinyurl
18:17:44 <AnMaster> ais523, I have already seen a tinyurl
18:17:47 <AnMaster> that did it
18:17:51 <ehird> i.e. AnMaster was doing his regular "har-har-mine-doesn't-work-like-that" misleadingness
18:18:04 <soupdragon> AnMaster but I mean -- peculiar to the REPL
18:18:09 <AnMaster> soupdragon, eh?
18:18:10 <ais523> "TinyURL was created as a free service to make posting long URLs easier, and may only be used for actual URLs"
18:18:21 <AnMaster> soupdragon, in a normal function, it depends on if you catch that exception or not
18:18:31 <ais523> hey, that means that if you put the leading http:// on, it violates the TOS
18:18:37 <ais523> because then it's a URI not a URL
18:18:38 <AnMaster> soupdragon, if you don't, well it won't continue past that point. If you do catch it, well depends on what you do
18:18:44 <ehird> no
18:18:45 <soupdragon> huh
18:18:46 <ehird> URI superset-of URL
18:19:03 <ais523> I thought URLs couldn't specify the protocol, though
18:19:05 <soupdragon> AnMaster what I mean is: is this a valid program?
18:19:09 <AnMaster> soupdragon, erlang does not have assignment. It only has pattern matching.
18:19:18 <ehird> soupdragon: no, it threw an error
18:19:21 <soupdragon> test -> A = 1; F = fun(X) -> A + X; A = 2; B = F(0); B
18:19:25 <ehird> the pattern-matching, not assignment "A=2" failed
18:19:28 <soupdragon> I think it's not because we used A twice
18:19:35 <AnMaster> soupdragon, and it would have been written differently outside the repl. For a start it would all have had to be in a function.
18:19:45 <AnMaster> soupdragon, A *can not be changed in erlang*
18:19:57 <AnMaster> it is *invalid* to change the value of a variable once you set it
18:19:59 <ehird> soupdragon: it was AnMaster's idea of a joke
18:20:00 <AnMaster> soupdragon, get that
18:20:03 <AnMaster> ?
18:20:05 <soupdragon> what it a joke?
18:20:06 <ais523> what's the GNU internationalisation package called
18:20:10 <ais523> that normally uses a macro called _?
18:20:11 <AnMaster> ais523, gettext?
18:20:13 <ehird> ais523: gettext
18:20:13 <ais523> thanks
18:20:19 <ehird> "Please type or paste a valid web address into the input box."
18:20:22 <ehird> I'm trying all sorts of shorteners
18:20:36 <AnMaster> ehird, you managed with data:// didn't you?
18:20:42 <ehird> dunno, maybe
18:20:45 <soupdragon> AnMaster well it's sort of inexpressible in erlang then.. unless you do it like ocaml I guess
18:20:54 <ehird> Firefox can't find the server at data.
18:20:55 <ehird> so close
18:20:56 <AnMaster> soupdragon, how does ocaml do it. I don't know ocaml
18:21:23 <ais523> AnMaster: OCaml has the type pointer-to-mutable-data, effectively
18:21:25 <AnMaster> soupdragon, also in the repl, I think variables are actually stored in a dict between the lines. Since you can use a command to forget all bound variables there.
18:21:30 <ehird> src="http://data:
18:21:31 <ais523> the pointer itself is immutable, but you can mutate what it points to
18:21:32 <ehird> fffuuu
18:21:34 <ehird> hmm wait
18:21:34 <AnMaster> ais523, erlang does not
18:21:36 <ehird> does anyone know a service
18:21:42 <ehird> http://foo/poop?url=...
18:21:45 <ehird> that just redirects to ...
18:21:46 <ehird> aha
18:21:47 * ehird idea
18:21:50 <AnMaster> soupdragon, okay you could store it in the database engine of erlang. mnesia
18:21:52 <ais523> ehird: anonym.to?
18:21:56 <ehird> yep
18:21:58 <ehird> that's what I thought of
18:22:01 <AnMaster> soupdragon, but that would be ridiculous
18:22:03 -!- augur has quit (Read error: 110 (Connection timed out)).
18:22:06 <soupdragon> heh
18:22:19 <ais523> ehird: that's a ridiculous idea, I like it
18:22:37 <ehird> aww, it truncates it :(
18:22:48 <ais523> what, anonym.to?
18:22:48 <ehird> I will store this jpeg whether it's the last thing I do
18:22:51 <ehird> yep
18:22:56 <ais523> what's it a jpeg of, anyway?
18:23:14 <ehird> truthfully? the non-goatse at goatse.cx
18:23:18 <ehird> (it was changed a while ago)
18:23:20 <ehird> (it's SFW)
18:23:25 <ehird> just looks like goatse, if you know what goatse looks like
18:23:52 <ais523> hmm, a fake goatse, what a weird concept
18:23:58 <AnMaster> soupdragon, or a dict. But then the dict would be a different one. Since erlang is in effect single assignment it create a new dictionary (sharing most parts of course, the gc will collect the no longer referenced bits later on)
18:24:12 <ais523> I only ever fell for a goatse link once, and it loaded so slowly I guessed it was goatse by the top 20 or so pixels and navigated away
18:24:24 <soupdragon> oh that's interesting AnMaster
18:24:25 <ehird> it's just a goatse parody
18:24:25 <ais523> so I've seen maybe about 5% of goatse, the harmless part
18:24:28 <soupdragon> can you write that as a proc??
18:24:35 <soupdragon> if you are like bored or something
18:24:41 <AnMaster> soupdragon, as a proc?
18:24:45 <soupdragon> nr
18:24:47 <soupdragon> function
18:24:48 <ehird> Request-URI Too Large
18:24:49 <ehird> The requested URL's length exceeds the capacity limit for this server.
18:24:51 <soupdragon> whatever erlang calls it
18:24:51 <ehird> asdfgjkl;
18:25:37 <AnMaster> soupdragon, well there is function. The fun I used on that line is like lambda in scheme (closure style that is)
18:25:39 <ehird> omg
18:25:41 <ehird> that one almost worked
18:25:50 <AnMaster> soupdragon, normally you don't use that syntax in source files
18:25:56 <AnMaster> well, a similar syntax
18:26:01 <ehird> except it prepended http:// :(
18:26:20 <AnMaster> soupdragon, also write *what* bit as a function
18:26:49 <ehird> ais523: well this'll certainly be a rather robust image host :-D
18:26:58 <soupdragon> the one using the dicts
18:27:01 <ehird> anyone who visits the image has a never-expiring token to share it
18:27:10 <ais523> you could even bookmark it
18:27:17 <ais523> ooh, insane idea
18:27:24 <ais523> an entire website made out of data: urls
18:27:28 <ais523> presumably, mostly generated via JS
18:27:34 <ais523> each page on it stores the entire site
18:27:35 <ehird> ais523: omg
18:27:37 <ehird> it could quine
18:27:40 <ais523> so you can just bookmark any of them
18:27:41 <ehird> so you can go back to the index page
18:27:42 <ais523> it /has/ to quine
18:27:50 <ehird> ais523: wow, I think I want to marry you
18:27:51 <ehird> just for that idea
18:27:55 <ehird> that's brilliant
18:28:00 <ehird> quining URIs
18:28:07 <ais523> practically useful, too
18:28:32 <ais523> it could have an auto-update via AJAX
18:28:41 * ehird settles for pasting the image via pastebin.ca
18:28:43 <ehird> http://pastebin.ca/raw/1748566
18:28:52 <ehird> it's like tinyurl's preview-the-url service, except more work and uselses
18:28:54 <ehird> *useless
18:28:56 <ehird> but by gum, it works
18:29:11 <ehird> ais523: ajax to *where*, exactly?
18:29:16 <ehird> the whole point would be that it was decentralised
18:29:19 <ehird> ooh, my
18:29:22 * ehird just had an awful idea
18:29:27 <AnMaster> soupdragon, oh well, that would be like:
18:29:29 <ehird> it could be a forum, right
18:29:40 <ehird> and posting a message would post a specially formatted paste to one of a list of pastebin services
18:29:45 <ehird> and it'd scan those to find the posts
18:29:56 <ais523> wow, that is an awful idea
18:30:01 <ais523> especially when the pastebin operators find out
18:30:02 <ehird> it's awful *and* wonderful
18:30:09 <ehird> ais523: eh, you're allowed to paste plaintext in 'em
18:30:12 <ais523> although, cross-domain security requirements might stop that working
18:30:16 <ehird> and people post conversation snippets in pastebins anyway
18:30:22 <AnMaster> soupdragon, http://codepad.org/i8ZzmGPl
18:30:30 <AnMaster> soupdragon, that is REPL again, too lazy to write it in a module
18:30:46 <soupdragon> AnMaster, I need in a module or it's just as bad at the first paste you did :[
18:30:48 <AnMaster> soupdragon, since F can't reference the new dict (unless you make it a parameter)
18:30:57 <ehird> what about process tables
18:31:01 <soupdragon> and by bad I mean an evil trick
18:31:04 <AnMaster> ehird, you mean get/put?
18:31:07 <AnMaster> hm forgot about that
18:31:22 <AnMaster> ehird, I thought you didn't know erlang?
18:31:32 <AnMaster> and, it would be evil.
18:31:54 <AnMaster> soupdragon, the normal way to keep state in erlang is to make a thread/process that act as a server, which you talk to
18:32:03 <AnMaster> soupdragon, since erlang is based on message passing concurrency this is trivial
18:32:34 <ehird> AnMaster: just do it
18:32:38 <ehird> it's exactly the original problem
18:32:54 -!- Pthing has joined.
18:32:54 <AnMaster> well then I believe it would return 2 there.
18:33:23 <soupdragon> really
18:33:23 <soupdragon> ?
18:33:30 <soupdragon> I'd be glad if it returns 2 :P
18:33:30 <ehird> just do it :P
18:33:31 <ehird> not hard
18:33:34 <soupdragon> because then I would be right!
18:33:37 <ehird> soupdragon: it'd be the only one that actually mutates
18:33:45 <soupdragon> but if it returns 1 then that's cool too because having counterexamples is good
18:34:16 <AnMaster> soupdragon, well there http://codepad.org/cPjBrzF3
18:34:32 <AnMaster> soupdragon, and that is bad programming practise
18:34:36 <AnMaster> of course, C would do the same.
18:34:45 <ehird> nobody cares about whether it's idiomatic
18:34:49 <ehird> we care about the results :P
18:35:08 <AnMaster> ehird, you could use state in haskell to do this I believe
18:35:12 <AnMaster> if you really wanted it to
18:35:17 <AnMaster> just a hunch
18:35:35 <ehird> yes, you could
18:35:38 <ehird> soupdragon: IORefs or ST?
18:35:40 <ehird> I guess ST
18:35:46 <ehird> since this problem isn't IO-related in any way
18:35:48 <ehird> State also
18:35:49 <ehird> I'll do both
18:35:59 <AnMaster> ehird, can't you do it with IORefs as well?
18:36:08 <ehird> yes, but ST = IO with only IORefs
18:36:10 <ehird> except they're STRefs
18:36:23 <ehird> soupdragon: lazy or strict state? :D
18:36:28 <ehird> I'll go for lazy, since it's more haskelly
18:36:33 <AnMaster> ehird, why not eager state?
18:36:41 <ehird> you mean strict
18:37:20 <AnMaster> ehird, oh? wouldn't eager be on the other side?
18:37:29 <AnMaster> at least the way I thought of "eager" in programming
18:37:54 <AnMaster> of course it doesn't make much sense for state here
18:38:44 <ehird> soupdragon: hmm
18:38:50 <ehird> is passing in the mutable reference that is a to f acceptable?
18:38:53 <ehird> can't do it any other way w/ haskell
18:39:02 <ehird> I'll just do
18:39:04 <soupdragon> passing a mutable ref is fine, that's like ocaml
18:39:07 <ehird> let foo = f a
18:39:08 <ehird> right
18:39:10 <AnMaster> well if you could do that. then using a dict in erlang would work
18:39:14 <AnMaster> just pass the dict along to it
18:39:18 <soupdragon> it seems like in every SANE language that the result is 2
18:39:19 <AnMaster> of course, a different dict
18:39:26 <soupdragon> so it's funy that guy thinks 1 is acceptable
18:39:32 <AnMaster> wth
18:39:59 <ehird> soupdragon: lazy or strict state?
18:40:04 -!- cal153 has joined.
18:40:26 -!- zeotrope has quit (Connection reset by peer).
18:40:27 <AnMaster> ehird, would scheme give 1 or 2, well depends on what you mean by it
18:40:43 <ehird> (define a 1)
18:40:48 <ehird> (define (f x) (+ a x))
18:40:51 <ehird> (set! a 2)
18:40:52 <soupdragon> ehird they both give the same answer here
18:40:57 <ehird> (f 0) → 2
18:41:00 <ehird> soupdragon: thought so
18:41:09 <ehird> import Control.Monad.ST.Lazy
18:41:09 <soupdragon> ehird well don't take my word for it
18:41:10 <ehird> import Data.STRef.Lazy
18:41:12 <ehird> f a x = do
18:41:13 <soupdragon> I just guessed that
18:41:13 <ehird> a' <- readSTRef a
18:41:15 <ehird> return (a' + x)
18:41:16 <ehird> foo = do
18:41:16 <AnMaster> ehird, ah but what if you changed set! to define?
18:41:18 <ehird> a <- newSTRef 1
18:41:19 <ehird> let f' = f a
18:41:21 <ehird> writeSTRef a 2
18:41:22 <ehird> return (f' 0)
18:41:24 <ehird> ↑ st version
18:41:25 <ehird> state is trivially the same
18:41:27 <ehird> AnMaster: invalid
18:42:13 <AnMaster> it's funny. 1) arch only has guile it seems. 2) it seems to be built without readline
18:42:32 <ehird> guile is shit
18:42:37 <AnMaster> ehird, exactly
18:42:45 <ehird> use scheme48 or chicken or sisc or mit scheme
18:42:55 <ehird> sisc is java but standards compliant in the most anal way imaginable
18:42:58 <AnMaster> there is one called "bigloo" too
18:43:02 <ehird> scheme48 is kinda cool and also compliant
18:43:07 <ehird> chicken is sorta deviant and practical but alright
18:43:10 <AnMaster> oh mzscheme is under drscheme
18:43:14 <ehird> mit scheme is totally old school man (and written in mit scheme)
18:43:19 <ehird> mzscheme is acceptable if put in r5rs mode, but meh
18:43:21 <ehird> bigloo is shit
18:43:49 <AnMaster> wth, it is 230 MB
18:43:52 <soupdragon> I like chicken
18:43:53 <AnMaster> drscheme that is
18:43:59 <AnMaster> ehird, is chicken open source?
18:44:21 <ehird> Who said it wasn't?
18:44:28 <AnMaster> well, I don't know
18:44:30 <AnMaster> I asked you
18:44:34 <ehird> Chez Scheme is the one that's closed-source.
18:44:39 <ehird> AnMaster: why did you assume it might not be?
18:44:50 <AnMaster> 42,56 MB for download... 230,30 installed size
18:44:55 <AnMaster> quite nice compression ratio
18:45:03 <AnMaster> (please place docs in a separate package)
18:46:06 <AnMaster> ehird, wth: http://codepad.org/iVQeluXu
18:46:13 <AnMaster> that isn't supposed to happen is it?
18:46:23 <ehird> You use DEFINE in an invalid manner.
18:46:27 <ehird> Your program is not correct.
18:46:33 <ehird> Thus, its behaviour is undefined.
18:46:38 <ehird> I refuse to comment on it, as it is not an R5RS program.
18:46:39 <AnMaster> ah undef. Right
18:46:49 <ehird> Allow me to quote the definition of DEFINE:
18:46:59 <AnMaster> pastebin if long
18:47:28 <ehird> Eh, just read http://www.schemers.org/Documents/Standards/R5RS/HTML/r5rs-Z-H-8.html#%_sec_5.2
18:47:32 <ehird> Technically
18:47:34 <ehird> At the top level of a program, a definition
18:47:35 <ehird> (define <variable> <expression>)
18:47:37 <ehird> has essentially the same effect as the assignment expression
18:47:38 <ehird> (set! <variable> <expression>)
18:47:40 <ehird> but that changes inside a function
18:47:42 <ehird> and functions are where the meat is, so.
18:47:48 <ehird> Definitions may occur at the beginning of a <body> (that is, the body of a lambda, let, let*, letrec, let-syntax, or letrec-syntax expression or that of a definition of an appropriate form). Such definitions are known as internal definitions as opposed to the top level definitions described above. The variable defined by an internal definition is local to the <body>. That is, <variable> is bound rather than assigned, and the region of the binding is the
18:47:50 <ehird> entire <body>. For example,
18:47:57 <ehird> Keyword "at the beginning".
18:48:57 <AnMaster> ehird, plt-r5rs accepted it too.
18:48:59 <AnMaster> just fyi
18:49:25 <ehird> Your program is in fact correct, but only because the REPL is top-level.
18:49:31 <AnMaster> ehird, well yes
18:49:32 <ehird> If it simulated being inside a function body it would be incorrect.
18:49:40 <ehird> But DEFINE is really only useful like that if you can use it after the start.
18:49:47 <ehird> Anyway, don't use the REPL to test Scheme behaviour.
18:49:50 <ehird> Try it in a (define (main) ...).
18:49:55 <AnMaster> sure
18:50:28 <AnMaster> anyway I dislike soupdragon suggestion that only insane languages return 1 for it
18:50:33 <AnMaster> it seemed to be what he said above
18:50:44 <AnMaster> Hm I wonder
18:50:47 <AnMaster> what does mathematica do
18:51:46 <AnMaster> mathematica returns 2
18:51:53 <AnMaster> 1 wouldn't have surprised me
18:52:04 <AnMaster> what does make do
18:52:11 <ehird> make does not have variable mutation.
18:52:15 <AnMaster> (and how does one define a *function* in it)
18:52:21 <AnMaster> ehird, oh?
18:52:24 <AnMaster> gnu make here
18:52:38 -!- ais523 has quit (Remote closed the connection).
18:52:42 <AnMaster> gnu makes supports both "evaluate on use" and "evaluate on assignment"
18:52:46 <AnMaster> = is the former
18:52:48 <AnMaster> := is the latter
18:53:03 <AnMaster> if it has user definable functions I don't know
18:54:04 <soupdragon> AnMaster excuse me??
18:54:20 <soupdragon> how about his, name one sane language that gives 1?
18:54:47 <ehird> !bfjoust isthisthingon >((+)*127>(-)*127)*8>((-)*128[-.]>(+)*128[+.])*21
18:54:57 * ehird prods EgoBot
18:55:03 <ehird> Gregor: ↑
18:55:04 <EgoBot> Score for ehird_isthisthingon: 15.1
18:55:07 <ehird> ah
18:55:17 <ehird> I did upsettingly badly :(
18:55:19 <ehird> anyone wanna play?
18:55:20 <soupdragon> what's that??
18:55:24 <ehird> brainfuck joust dude
18:55:28 <ehird> http://esolangs.org/wiki/BF_Joust
18:55:36 <ehird> we play with ais523's revised one with egojoust
18:55:38 <soupdragon> FFFFFFFFFFFFFFFFF
18:55:41 <ehird> see http://codu.org/eso/bfjoust/report.txt
18:55:54 <ehird> and http://codu.org/eso/bfjoust/in_egobot/ for program sources
18:55:58 <ehird> well, warrior sources
18:57:10 <ehird> our busiest day ever, http://tunes.org/~nef/logs/esoteric/09.05.28, with a 417 KiB log, was spent playing BF Joust :D
18:57:17 <ehird> but it died down and that ensaddens me
18:57:36 <AnMaster> !bfjoust whataboutthis [+-]+
18:57:48 <EgoBot> Score for AnMaster_whataboutthis: 7.8
18:57:48 <AnMaster> well
18:57:51 <AnMaster> hah
18:58:15 <AnMaster> why does main() in C take argc, argv rather than argc, ...
18:58:20 <AnMaster> as in, stdarg.h
18:58:31 <ehird> because that predates stdarg, and stdarg is a bitch to use
18:58:39 <AnMaster> oh good points
18:59:19 <AnMaster> ehird, beats me why they didn't do stdarg properly, which would be to map it to a void* params[] in the function
18:59:36 <ehird> !bfjoust isthisthingon >(+)*127<+>>(-)*126<<->>>(+)*125<<<+>>>>>>>>>>[[-]>+]
18:59:46 <EgoBot> Score for ehird_isthisthingon: 2.9
18:59:51 <ehird> AnMaster: because that is not how the system stack works.
18:59:52 <AnMaster> ehird where is the result page for it
19:00:01 <soupdragon> how do you play this?????
19:00:02 <ehird> I linked that a second ago.
19:00:04 <AnMaster> ehird, too high level I guess
19:00:11 <AnMaster> oh there
19:00:11 <ehird> !bfjoust isthisthingon >((+)*127>(-)*127)*8>((-)*128[-.]>(+)*128[+.])*21
19:00:19 <EgoBot> Score for ehird_isthisthingon: 14.1
19:00:23 <soupdragon> what's the game ??
19:00:28 <ehird> soupdragon: i fucking linked you
19:00:35 <ehird> [18:55] <ehird> http://esolangs.org/wiki/BF_Joust
19:00:36 <soupdragon> yeah thanks
19:00:36 <ehird> [18:55] <ehird> we play with ais523's revised one with egojoust
19:00:37 <ehird> [18:55] <soupdragon> FFFFFFFFFFFFFFFFF
19:00:39 <ehird> [18:55] <ehird> see http://codu.org/eso/bfjoust/report.txt
19:00:41 <ehird> [18:55] <ehird> and http://codu.org/eso/bfjoust/in_egobot/ for program sources
19:00:42 <ehird> [18:55] <ehird> well, warrior sources
19:00:43 <soupdragon> <ehird> [18:55] <soupdragon> FFFFFFFFFFFFFFFFF
19:00:43 <ehird> [18:56] <ehird> our busiest day ever, http://tunes.org/~nef/logs/esoteric/09.05.28, with a 417 KiB log, was spent playing BF Joust :D
19:00:45 <ehird> >_<
19:00:48 <ehird> yes.
19:00:48 <soupdragon> key part of the discourse
19:00:51 <ehird> what about it?
19:00:54 <ehird> you can't read?
19:01:00 <soupdragon> oh
19:01:05 <soupdragon> esolangs server is up now
19:01:07 <ehird> !bfjoust discourse [++]
19:01:10 -!- kar8nga has quit (Remote closed the connection).
19:01:15 <EgoBot> Score for ehird_discourse: 5.4
19:02:14 <AnMaster> "(+-)*5 expands to +-+-+-+-+- (and likewise for other sets of commands inside the parens, and other decimal numbers; but square brackets inside the parens must be matched) " <-- why matched
19:02:15 <AnMaster> why not
19:02:26 <ehird> For interpretation efficiency. Use %
19:02:29 <AnMaster> ([)*2 ]]
19:02:39 <AnMaster> ehird, "meh"
19:02:48 <ehird> I'm not very interested in talking about BF Joust to you since last time we played it you fucked up the hill
19:03:00 <ehird> !bfjoust discourse ((+)*127(-)*127))*394
19:03:04 <AnMaster> ehird, you mean, by writing several programs?
19:03:06 <EgoBot> Score for ehird_discourse: 0.0
19:03:15 <ehird> AnMaster: As I said, I am not interested in discussing this.
19:03:25 <ehird> It only encouraged you then and it will only do the same now.
19:04:11 <AnMaster> ehird, yeah so I wrote more than one program. And some of them got up the hill. The source is still around. I fail to see why you didn't like me on the high score list
19:04:21 <AnMaster> I guess it is just because you dislike me so
19:04:25 <AnMaster> very nice of you
19:04:33 <ehird> You will note that the other players got pissed off too, as evidenced by the log.
19:04:55 <ehird> By the way, submitting many trivial variations of the same program so that they all draw and, due to a scoring edge-case, stay on the hill for ages, is not playing the game.
19:04:59 <AnMaster> ehird, sure. So everybody who got pushed off the hill hates me. Bad loosers.
19:05:08 <soupdragon> I don't understand the rulse
19:05:14 <AnMaster> ehird, bbl
19:05:20 <ehird> I see you still thought you actually made an achievement, rather than setting up a bunch of programs that drew each other.
19:05:30 <ehird> They then dropped off the hill and you accused Gregor of removing them.
19:06:08 <ehird> I think you have serious issues regarding this; you seem to be unable to believe that you pissed other people off for a reason, subverted the rules of the game, or even that your programs were somehow anything less than great warriors that stayed on the hill because they beat other programs, which they did not.
19:06:14 <ehird> soupdragon: why not
19:06:28 <soupdragon> well I didn't really read them
19:06:33 <ehird> you're at one end of the tape
19:06:35 <ehird> the opponent is at the other
19:06:38 <ehird> > means closer to opponent
19:06:41 <ehird> < means further away
19:06:44 <soupdragon> oh but you don't know how long?
19:06:47 <ehird> tape is random from 10-30 items
19:06:51 <ehird> if you run off the tape, you die
19:06:51 <soupdragon> ok
19:06:53 <ehird> at each end is a flag
19:06:56 <ehird> at your end is your flag
19:06:59 <ehird> the other end, the opponent's
19:07:03 <ehird> if your flag is 0 for two cycles, you lose
19:07:07 <ehird> both programs run simultaneously
19:07:14 <ehird> also, ] takes up a cycle
19:07:15 <ehird> so [-]
19:07:17 <Sgeo> ehird, goatse.cx might be NSFW if your employer's seen goatse before
19:07:17 <ehird> goes [-]-]-]
19:07:22 <ehird> so -(it's zero)](the other guy loses)
19:07:24 <ehird> erm
19:07:25 <ehird> yeah
19:07:30 <ehird> because it's 0 for two cycles
19:07:44 <ehird> soupdragon: your job is to avoid your flag being zeroed and avoid going off the tape, while making your opponent do those things
19:07:50 <ehird> there are various strategies you can use; I won't go into them.
19:07:57 <ehird> (x)*n is x, repeated n times.
19:08:10 <ehird> (x{y}z)%n is x, repeated n times; y; z, repeated n times.
19:08:12 <soupdragon> !bfjoust add [+]
19:08:12 <AnMaster> ehird, exploiting loopholes in game rules is part of the fun of games. Even better if you can make them change the rules. I believe it was fairly common in IOCCC for example
19:08:14 <ehird> In ({}), you can use [].
19:08:17 <AnMaster> bbl again
19:08:21 <ehird> To do ()*n for loops.
19:08:31 <EgoBot> Score for soupdragon_add: 5.5
19:08:40 <ehird> AnMaster: Yes, but then when everyone says "stop it, you are ruining our game", you continued to act haughty and holier-than-thou.
19:08:48 <ehird> It is understandable, then, that we wanted you to fuck off and stop ruining our game.
19:08:59 <soupdragon> stop :(
19:08:59 <ehird> *when everyone said
19:09:27 <ehird> soupdragon: don't worry, AnMaster is shit at bfjoust and has no idea how to make warriors, and minutes before flooding the hill he talked a lot about how he dislikes programming war games anyway
19:09:35 <ehird> I don't believe this flamefest will interrupt the game.
19:09:55 <Sgeo> Fix the edge case?
19:10:15 <ehird> Sgeo: it didn't matter much in practice so it was a low-priority issue once AnMaster's programs fell off the hill
19:11:48 <AnMaster> Sgeo, that would be the correct way yes.
19:11:55 <AnMaster> fixing bugs is always better than making a silly work around for them
19:12:18 <AnMaster> ehirds suggestion is like "the correct way to fix beeps on shutdown is to blacklist the pc speaker module"
19:12:28 <AnMaster> which is how ubuntu "fixed" it
19:13:18 -!- MizardX has quit (Read error: 104 (Connection reset by peer)).
19:13:19 <ehird> Silly work around as in "we get your point, stop exploiting it now so we can have fun"
19:13:34 <ehird> It's called social interaction and the instance we experienced there was known as "being an asshole".
19:13:45 <soupdragon> this argument between you two is stupid :P
19:13:45 <AnMaster> silly workaround as in not fixing the underlying issue in the code
19:13:53 <AnMaster> soupdragon, agreed
19:14:09 <AnMaster> if ehird could just stop going on about it
19:14:10 <ehird> <ehird> yes, I'm obviously right
19:14:14 <ehird> <AnMaster> yes, I'm obviously right
19:14:30 <AnMaster> ehird, har
19:14:51 <ehird> AnMaster: I didn't "go on about it"; I said I wsa not interested in discussing BF Joust with you because of it — the very opposite of "going on about it" — and you then whined about it.
19:15:15 <AnMaster> ehird, after that you did. And I do not intend to discuss this further
19:15:25 <AnMaster> lets just see if they fixed that issue I remember
19:15:32 <AnMaster> !bfjoust invalid <
19:15:38 <EgoBot> Score for AnMaster_invalid: 0.0
19:15:45 <AnMaster> maybe it wasn't that issue then
19:15:54 <AnMaster> there was one that crashed it I remember
19:17:00 <ehird> cool, C-x C-v RET works to reload a file in Emacs
19:17:52 -!- MizardX has joined.
19:26:40 -!- Gregor-L has joined.
19:26:44 <Gregor-L> Oh, I do delete things from the hill.
19:26:46 <Gregor-L> All the time.
19:26:48 <Gregor-L> That's how I roll.
19:27:14 -!- Sgeo has changed nick to PrimeIntellect.
19:27:35 <ehird> Sgeo: not egotistical whatsoever
19:27:38 <soupdragon> augur do you know feature terms?
19:27:47 <ehird> Gregor-L: I'm totally working on my BF Joust implementation again.
19:28:03 <ehird> Gregor-L: It's written in Go, so there's not a chance in hell of you using it, but that's okay because I'm writing my own IRC code too :P
19:28:03 <Gregor-L> Are you? Totally? Really and totally and truly and totally?
19:28:07 <ehird> Absolutely.
19:28:11 <ehird> Definitely totally.
19:28:16 -!- PrimeIntellect has changed nick to Sgeo.
19:28:24 <soupdragon> oh my god
19:28:29 <Gregor-L> If there's a Go package in Debian, I'd be willing to install it into EgoBot *shrugs*
19:28:39 <ehird> Gregor-L: There isn't, but I can give you a binary. :P
19:28:56 <Gregor-L> Bleh @ binaries :P
19:29:17 <soupdragon> augur (it's an example in these CHR notes, but apparently comes from linguistics)
19:29:22 <ehird> Well, those are your two choices :P
19:30:52 * Gregor-L goes and implements it himself instead.
19:30:53 <Gregor-L> OH WAIT
19:30:56 <Gregor-L> :P
19:31:03 <ehird> lawls
19:31:04 <soupdragon> hm it looks like a synonym for feature structures
19:31:04 -!- upbeatsarcastic has joined.
19:32:11 -!- upbeatsarcastic has left (?).
19:33:17 <ehird> "Our central database master, mysql.agni, is currently running on an 8-core Xeon E5450 with 64 gigs of RAM"
19:33:21 <ehird> ok, I want to work for Linden Labs now
19:34:03 <ehird> Gregor-L: anyway installing go into a directory takes like... three commands
19:34:09 <ehird> i guess that would TAINT YOU HORRIBLY though
19:34:21 <soupdragon> I hate second life
19:34:22 <ehird> I *could* run it thorugh a Go→C compiler, after inventing one
19:34:31 <soupdragon> the programming language they use is such a fucking disgrace
19:34:31 <ehird> soupdragon: xeon with 64 fucking GiB of RAM
19:34:34 <ehird> want, no matter what
19:34:35 <AnMaster> ehird, even though they use mysql?
19:34:35 <soupdragon> it makes me so angry
19:34:57 <ehird> AnMaster: i'm sorry did you hear
19:34:58 <soupdragon> they could have designed such a good language for this and it would be a real inspiration for a lot of young people
19:34:58 <ehird> sixty-four
19:35:00 <ehird> gibi-bytes
19:35:09 <ehird> soupdragon: no it wouldn't because they'd be too dumb to understand it
19:35:18 <soupdragon> you are so clueless ehird
19:35:21 <ehird> i know rite
19:35:26 <AnMaster> ehird, no it must be GB, otherwise the would have said "gibis" not "gigs"
19:35:44 <soupdragon> or joking
19:35:54 <ehird> half-joking
19:36:29 <soupdragon> it's just like a huge opportunity wasted
19:36:37 <soupdragon> and it really upsets me to think about it
19:36:44 <ehird> you're overreacting
19:36:51 <soupdragon> I'm not acting at all
19:37:27 <ehird> Gregor-L: if i code it so that you can plumb into individual matches to see why they were lost (tape boundary error, flag being zeroed) and after how many cycles is that cool
19:37:27 <fizzie> ehird: The not-for-any-serious-computing-use mostly-irssi-screens shell server -- the one that's visible in the interwebs for remote logins -- of the university is, coincidentally, also an 8-core Xseon E5450 box with 64 GiB of RAM.
19:37:41 <ehird> fizzie: ok i'd much rather work at your university
19:37:51 <ehird> how big is it to need that many gs of ram
19:37:55 <ehird> the uni tat is
19:37:57 <ehird> *that
19:38:27 <soupdragon> ehird you have used the SL language right?
19:38:27 <ehird> hmm
19:38:29 <fizzie> I think we have some 10k "active" students?
19:38:33 <ehird> soupdragon: i've seen snippets
19:38:34 <fizzie> I don't really recall.
19:38:39 <ehird> hmm
19:38:44 <ehird> what's the term X where tape X = under/overflow
19:38:47 <ehird> i.e. it means either
19:38:50 <ehird> tape flow? :P
19:38:51 <soupdragon> ehird well I guess if you haven't actually programmed in it then it's hard to understand what I am trying to get across
19:38:56 <ehird> tape boundary oversteppingness?
19:40:05 <fizzie> (811 screen sessions.)
19:41:38 <AnMaster> ehird, out of bounds error?
19:41:57 <ehird> AnMaster: OutOfBounds would work.
19:42:04 <fizzie> I'm not sure it actually needs that whole 64 GiB; "free -m" says used 31864, free 30943, cached 19907; the "corrected" memory-use value on the second line is 11238.
19:42:05 <AnMaster> assuming it doesn't wrap around
19:42:07 <ehird> I guess I'll leave it as separate for under/overflow, though, just for the statistics porn.
19:42:39 <AnMaster> hm
19:43:01 <AnMaster> !bfjoust test ([.]+)*99999
19:43:02 <ehird> const (
19:43:03 <ehird> TapeUnderflow WinReason = iota
19:43:05 <ehird> TapeOverflow
19:43:06 <ehird> FlagZeroed
19:43:08 <ehird> )
19:43:09 <ehird> type MatchResult struct {
19:43:11 <ehird> Winner Warrior
19:43:12 <ehird> Reason WinReason
19:43:14 <ehird> Cycles int
19:43:15 <EgoBot> Score for AnMaster_test: 7.8
19:43:15 <ehird> }
19:43:17 <ehird> most. statistics. applied. to. brainfuck. evar!
19:43:55 <fizzie> Actually for the last 12 days we've been part of the new three-universities-combined thing, so... 16472 students using the 2008 statistics.
19:43:57 <AnMaster> how did it manage to win against ais523_vibration.bfjoust
19:43:59 <AnMaster> that is strange
19:44:16 <AnMaster> !bfjoust test (+)*99999
19:44:33 <ehird> fizzie: ugh, is it "Wave" university now?
19:44:39 <ehird> i don't want to work here any more
19:44:40 <ehird> *there
19:44:47 <fizzie> ehird: Yes. Wave it like you just don't care!
19:44:48 <EgoBot> Score for AnMaster_test: 7.8
19:45:19 <AnMaster> !bfjoust test >+>+>>+<<+<<(+)*99999
19:45:19 <ehird> fizzie: i guess google wave will be used for all official communications :)
19:45:21 <ehird> :D
19:45:41 <ehird> In January 2010 all Finnish universities will operate under a new Universities Act. This law separates universities further away from the state apparatus at least in legal and accounting terms. The state will remain the main source of funding, but universities are urged or forced to find new sources of money, especially donations from the industry. One purpose of the reform is to make university governance more clearly based on managerial ideals, adopted
19:45:43 <ehird> from the business world.
19:45:45 <ehird> Sounds ghastly.
19:45:50 <EgoBot> Score for AnMaster_test: 3.6
19:45:58 <ehird> Bloody free market idiots
19:46:12 <AnMaster> !bfjoust test >+<(+)*99999
19:46:19 <ehird> fizzie: so en:wave == fi:alto?
19:46:26 <fizzie> fi:aalto.
19:46:29 <ehird> erm right
19:46:31 <ehird> http://www.aalto.fi/fi/
19:46:33 <ehird> "A?"
19:46:34 <ehird> what a retarded logo
19:46:36 <ehird> did i mention
19:46:37 <ehird> RETARD
19:46:40 <EgoBot> Score for AnMaster_test: 3.6
19:46:42 <fizzie> That's not the only logo.
19:46:50 <fizzie> "A!" and 'A"' are also the logo.
19:46:59 <AnMaster> !bfjoust test (-)*99999
19:47:09 <ehird> "External expectations towards the new Aalto University are high. It is supposed to be of "world-class quality" and fame by the year 2020."
19:47:10 <fizzie> They're supposed to be used quasi-randomly and in a uniformly distributed way.
19:47:12 <ehird> That's some deadline.
19:47:23 <ehird> Only ten years!
19:47:33 <EgoBot> Score for AnMaster_test: 7.8
19:47:54 <fizzie> I'm pretty disappointed that (discounting my latex-beamer slides) most of the places where I've seen the logo use a single variant with no randomization.
19:48:09 <fizzie> At least my beamer template rerandomizes the logo (color + character) for each slide separately.
19:48:44 <ehird> make one that's A(unicode :( )
19:48:45 <AnMaster> fizzie, that would be distracting
19:48:51 <ehird> aka "A fuck this logo"
19:48:51 <Gregor-L> http://www.soundcreationsinc.com/tech/splendid/grand._collection.html <-- SWEET Piano soundfont
19:49:00 <ehird> SWEET penis soundfont
19:49:05 <AnMaster> Gregor-L, argh not free
19:49:16 <ehird> yes it is
19:49:16 <Gregor-L> Free 72MB version
19:49:20 <ehird> Free 72 MB Version
19:49:24 <ehird> Gregor-L: snap
19:49:26 <AnMaster> oh there
19:49:40 <AnMaster> how the heck to open sfark
19:49:47 <Gregor-L> sfArk is annoying :(
19:49:53 <ehird> hmm they quote the bible in their jpeg header, their non-rolled-over ARTISTS menu item is a broken image and they have "PraiseTracks" which are :jesus:
19:49:54 <fizzie> ehird: There's a 50-page "guideline" for using the logo; it absolutely forbids using just any character there. You can only use the specific typeface designed for the logo, and ("for now", they ominously say) it contains only those three official punctuation characters.
19:49:54 -!- augur has joined.
19:49:56 <ehird> lulz.
19:50:01 <Gregor-L> There is a (non-F/OSS) extractor for Linux though.
19:50:08 <AnMaster> Gregor-L, 32-bit only iirc
19:50:23 <Gregor-L> AnMaster: Yup.
19:50:26 <AnMaster> Gregor-L, is the spec closed?
19:50:28 <ehird> fizzie: Dude, the typeface just looks like modified Helvetica to me.
19:50:30 <ehird> Pretty much.
19:50:32 <Gregor-L> Anyway, once it's extracted you never need sfArk again.
19:50:41 <Gregor-L> OK, so the WEB SITE is stupid :P
19:50:51 <Gregor-L> Ignoring that, the soundfont is awesome.
19:50:53 <ehird> fizzie: Just do it in a font that looks similar; then they can't sue you because they can't copyright (black A)(sad smiley face in blue) :-P
19:51:04 <ehird> Gregor-L: AND THE PEOPLE WHO MADE IT ARE STUPID :P
19:51:09 <ehird> Because they like Jesus, you see.
19:51:16 <Gregor-L> ehird: Yes.
19:51:17 <fizzie> Yes, well, I guess you could use it, as long as you don't claim it as the Aalto logo.
19:51:18 <ehird> What they should do, instead, is LOVE Jesus!
19:51:21 <ehird>
19:51:26 <ehird> I love how Compose <3 works
19:51:53 <ehird> fizzie: so the Aalto logo is a single logo, except it's quantumly superpositioned?
19:51:54 <ehird> cool
19:52:08 <ehird> make a program that accesses the user's webcam
19:52:15 <ehird> and only fills in the second character when they look at it
19:52:23 <ehird> aalto's logo is <blink>not</blink> dead
19:52:46 <AnMaster> ehird, why doesn't compose :( work
19:52:48 <AnMaster> hm
19:53:06 <AnMaster> and why doesn't the pi compose work, even though I restarted X since then
19:53:07 -!- sebbu2 has joined.
19:54:14 <ehird> Paste your .XCompose line
19:54:21 <AnMaster> sec
19:54:24 <ehird> Smiley faces would be nice, I should add those
19:54:31 <AnMaster> include "/usr/share/X11/locale/en_US.UTF-8/Compose"
19:54:31 <AnMaster> <Multi_key> <p> <i> : "π" U03C0 # GREEK SMALL LETTER PI
19:54:41 <AnMaster> that's all
19:54:43 <ehird> Replace the first line with include "%L"
19:54:46 <ehird> That way it's portable across locales
19:54:51 <ehird> Also shorter, and less path-dependent
19:54:53 <AnMaster> ehird, okay, but ignoring that?
19:55:01 <AnMaster> since other compose combos works
19:55:02 <AnMaster> work*
19:55:04 <ehird> <Multi_key> <p> <i> : "π" U03C0 # GREEK SMALL LETTER PI
19:55:09 -!- Phantom_Hoover has joined.
19:55:09 <ehird> Did you save it in ~/.XCompose?
19:55:12 -!- Asztal has quit (Read error: 60 (Operation timed out)).
19:55:21 <AnMaster> ehird, that is the file
19:55:36 <ehird> No clue
19:55:39 <AnMaster> $ cat ~/.XCompose
19:55:39 <AnMaster> include "%L"
19:55:39 <AnMaster> <Multi_key> <p> <i> : "π" U03C0 # GREEK SMALL LETTER PI
19:55:40 <ehird> Try a full reboot :P
19:55:42 <AnMaster> is what the file reads at
19:55:44 <AnMaster> as*
19:55:50 <ehird> Maybe that path doesn't exist
19:55:51 <AnMaster> ehird, I did that, unintentionally
19:55:55 <ehird> Although that's unlikely, I guess
19:56:02 <ehird> But maybe "%L" will work and your old version won't
19:56:04 <ehird> So try restarting X now
19:56:09 <AnMaster> ehird, the full reboot was forced due to hardware lockup
19:56:20 <AnMaster> when plugging in an usb device
19:56:24 <AnMaster> second time in a few weeks
19:56:27 <AnMaster> and different usb devices
19:56:35 -!- Asztal has joined.
19:56:36 <AnMaster> I believe the mobo is getting glitchy
19:56:42 <AnMaster> ehird, even sysrq was *dead*
19:57:08 <ehird> Wow.
19:57:16 <ehird> Why not just use your laptop and hook it up to your display/keyboard/mouse?
19:57:27 <Phantom_Hoover> The sysrq key?
19:57:34 <ehird> Alt+SysRq.
19:57:36 <ehird> Linux magic key.
19:57:40 <ehird> Lets you talk directly to the kernel.
19:57:42 <AnMaster> ehird, becuase laptop is unable to get the resolution of the of the monitor
19:57:47 <AnMaster> it can do widescreen high res
19:57:51 <AnMaster> but only lower res for 4:3
19:57:54 <ehird> Alt+SysRq+{R,E,I,S,U,B} does a soft reboot even if your keyboard isn't being listened to by X11.
19:57:54 <AnMaster> don't ask me why
19:57:56 <Phantom_Hoover> I don't seem to have that... I feel inadequate.
19:58:01 <AnMaster> ehird, it just refuses to handle 1400x1050
19:58:04 <ehird> Phantom_Hoover: It's the Print Screen key.
19:58:05 -!- sebbu has quit (Read error: 60 (Operation timed out)).
19:58:09 <AnMaster> ehird, also, the harddrive is smaller in it
19:58:31 <ehird> AnMaster: Buy a hard drive enclosure and extract the disk from the desktop
19:58:32 <AnMaster> ehird, and the sound is worse than my sb live 5.1 in my desktop
19:58:42 <ehird> Meh
19:59:05 <AnMaster> ehird, and there is the issue of the nvidia geforce 7600 card. Anyway I guess I will have to get a new (quieter) desktop soon
19:59:24 <AnMaster> since I don't believe you can get a new mobo with this socket any more
20:03:03 <AnMaster> ehird, what do you call percent humdity as in the air
20:03:06 <AnMaster> as in
20:03:11 <ehird> humidity
20:03:13 <AnMaster> the thing you measure with that unit
20:03:14 <ehird> 30% humidity
20:03:14 <AnMaster> ah
20:03:27 <AnMaster> ehird, 11% indoors is horribly dry btw
20:03:34 <fizzie> Misread somehow "<AnMaster> I don't believe in humidity".
20:03:54 <AnMaster> fizzie, tell me what the hamming distance is for that one
20:04:28 <fizzie> I'm not sure what the source was. I guess it must be a combination of the "don't believe" from one line and "humdity" (hum-ditty?) from the next.
20:04:30 <ehird> It's a mangling of two lines.
20:04:43 <ehird> Cue oklofok; "i don't believe in humidity".
20:04:55 <AnMaster> humidity*
20:04:57 <Phantom_Hoover> Who?
20:05:31 <AnMaster> Phantom_Hoover, who what?
20:05:48 <Phantom_Hoover> Who oklofok?
20:05:53 <ehird> Phantom_Hoover: …
20:05:55 <ehird> GTFO :|
20:06:05 <Phantom_Hoover> Why...?
20:06:10 <ehird> Darn newbs, not knowing who oklofok is 'n shizz :P
20:07:01 <AnMaster> oh Phantom_Hoover is new here
20:07:14 <AnMaster> Phantom_Hoover, look in the output of /names
20:07:15 <AnMaster> that oklofok
20:08:35 <ehird> Gregor-L: The Go problem might not actually exist, since I think BF Joust's ultra-shared-memory architecture is disagreeing with Go's message-passing :P
20:10:18 -!- oerjan has joined.
20:10:49 <AnMaster> ehird, "go problem"?
20:10:51 <AnMaster> oerjan, hi there
20:11:12 <oerjan> hi AnMaster
20:11:20 <ehird> AnMaster: Go as in Go the language.
20:14:20 <ehird> I'd write it in Haskell, but that sounds horrible. :)
20:19:09 -!- Gregor-L has quit (Read error: 110 (Connection timed out)).
20:22:09 <AnMaster> ehird, yes
20:22:15 <AnMaster> ehird, but why is Go a problem?
20:22:35 <ehird> no debian packages, and gregor hates go so him installing it is unlikely :)
20:22:40 <AnMaster> ah
20:22:41 <ehird> (without an easy package)
20:22:50 <ehird> probably not all that unlikely but ehh
20:23:18 <AnMaster> ehird, I'll install it when I need an app that wants to use go
20:23:28 * ehird tries to remember what = vs := does
20:23:41 <AnMaster> ehird, compare vs assign (pascal)
20:23:47 <ehird> AnMaster: if you just want to test joust warriors without spamming the hill you could just download a binary
20:23:53 <ehird> that is if you trust binaries me or gregor made
20:23:56 <ehird> AnMaster: "compare"?
20:23:58 <ehird> I mean in make
20:23:59 <ehird> :P
20:23:59 <AnMaster> ehird, I don't
20:24:04 <AnMaster> ehird, oh I told you that above
20:24:14 <AnMaster> ehird, the first doesn't evaluate the value at assignment
20:24:16 <AnMaster> such that
20:24:21 <ehird> i recall something vaguely similar… yesterday
20:24:26 <AnMaster> CFLAGS = $(SET_LATER)
20:24:30 <AnMaster> SET_LATER = -O2
20:24:30 <ehird> AnMaster: ok, so it should be CC = gcc, not CC := gcc? :P
20:24:37 <AnMaster> means that CFLAGS expands to -O2
20:24:49 <AnMaster> ehird, in that case it wouldn't make any difference
20:24:59 <AnMaster> ehird, well a bit of difference
20:25:06 <AnMaster> ehird, with overriding CC on command line
20:25:16 <AnMaster> iirc it won't work for the latter
20:25:22 <AnMaster> but not completely sure about that
20:25:35 * ehird wonders how bad it is to do #include "lance.c" in main.c to avoid writing an .h
20:25:36 <AnMaster> ehird, since you probably want make CC=icc to work, the former
20:25:39 <ehird> methinks "very bad"
20:25:47 <AnMaster> ehird, depends on your goals
20:26:14 <ehird> AnMaster: what should I do if I want CFLAGS=foo make to append my cflags to foo, but make CFLAGS=foo to override them entirely?
20:26:19 <ehird> CFLAGS +:=? :P
20:26:32 <AnMaster> ehird, I have no clue
20:26:39 <ehird> I'll just do =
20:26:48 <ehird> lamers who want their own cflags can do make CFLAGS=…
20:26:50 <AnMaster> ehird, += would append for both
20:26:59 <ehird> AnMaster: yeah which sucks
20:27:01 <ehird> if you don't want that
20:27:08 <AnMaster> ehird, also isn't := gnu specific
20:27:11 <ehird> don't care
20:27:17 <AnMaster> iirc autotools screams about it if you use it
20:27:21 <AnMaster> which is funny
20:27:29 <ehird> good thing I don't use autotools
20:27:51 <AnMaster> ehird, well the funny thing is that GNU automake tells you not to use gnu make specific syntax
20:28:39 <AnMaster> !bfjoust x .
20:28:55 <AnMaster> did you loose if program ended?
20:28:57 <AnMaster> I forgot
20:28:57 <EgoBot> Score for AnMaster_x: 7.8
20:29:23 <ehird> don't recall
20:29:41 <AnMaster> !bfjoust x (+)*999999999999999999999999999999999
20:29:49 <ehird> I hate how gmake's default rules do
20:29:53 <ehird> $(CFLAGS) $(CPPFLAGS) ...
20:29:55 <EgoBot> Score for AnMaster_x: 7.8
20:29:55 <ehird> so that you get tons of spaces
20:30:00 <AnMaster> ehird, why?
20:30:05 <ehird> because it irritates me
20:30:06 <AnMaster> there is a single space between them
20:30:11 <AnMaster> in your paste
20:30:13 <ehird> ehird@meson:~/src/lance$ make
20:30:14 <ehird> cc -O3 -c -o lance.o lance.c
20:30:16 <ehird> cc -O3 -c -o main.o main.c
20:30:18 <AnMaster> well
20:30:20 <ehird> $(CFLAGS) $(CPPFLAGS) $(LDFLAGS)
20:30:20 <AnMaster> that is a tab
20:30:21 <AnMaster> but
20:30:21 <ehird> etc
20:30:24 <ehird> since I only use cflags...
20:30:24 <AnMaster> <ehird> $(CFLAGS) $(CPPFLAGS) ...
20:30:27 <ehird> it isn't a tab
20:30:28 <AnMaster> there is a singe space ther
20:30:29 <AnMaster> ah
20:30:29 <ehird> it's a space
20:30:32 <ehird> well
20:30:34 <ehird> spaces
20:30:43 <AnMaster> ehird, well any -I and -D should be CPPFLAGS
20:30:49 <ehird> yes, I know
20:30:51 <ehird> but all I do is -g or -O3
20:30:54 <AnMaster> any -Wl, or -l or -L should be LDFLAGS
20:30:56 <ehird> depending on if DEBUG is set
20:31:01 <AnMaster> ehird, so you want to break it for everyone else
20:31:06 <ehird> or it could just do
20:31:12 <ehird> $(if foo, spacefoo)
20:31:13 <ehird> or whatever
20:31:15 <ehird> :|
20:31:23 <AnMaster> ehird, would be messy
20:31:23 <AnMaster> also
20:31:26 <ehird> nobody uses the default rules anyway precisely because of all the spaces
20:31:26 <AnMaster> just do: make -s
20:31:28 <AnMaster> iirc
20:31:33 <ehird> that removes helpful output
20:31:37 <AnMaster> ehird, I use the default rules
20:31:39 <AnMaster> in fact
20:31:44 <ehird> no you don't, you use cmake
20:31:52 <AnMaster> ehird, not always
20:31:57 <AnMaster> it depends on how large the project is
20:32:05 <AnMaster> I sometimes use a simple:
20:32:14 <AnMaster> all: foo bar
20:32:17 <AnMaster> clean:
20:32:22 <AnMaster> ...
20:32:27 <ehird> you forgot .PHONY
20:32:29 <AnMaster> .PHONEY: all clean
20:32:31 <ehird> also, -O2
20:32:32 <ehird> *PHONY
20:32:34 <ehird> also, "all"?
20:32:37 <ehird> don't you mean "executablename"
20:32:41 <AnMaster> ehird, well there were two names there
20:32:53 <AnMaster> ehird, and that is enough with the implicit rules
20:33:00 <ehird> not if any program has more than one file
20:33:03 <AnMaster> ehird, true
20:33:08 <AnMaster> ehird, I said for simple projects
20:33:18 <ehird> lol if i do
20:33:21 <ehird> lance: main.o
20:33:24 <ehird> cc -O3 -c -o main.o main.c
20:33:25 <ehird> cc -O3 lance.c main.o -o lance
20:33:31 <AnMaster> ehird, XD
20:33:47 <ehird> lance: lance.o main.o works though
20:33:49 <AnMaster> ehird, do lance: lance.o main.o
20:33:51 <AnMaster> yeah
20:33:54 <ehird> hmm
20:34:00 <ehird> gmake should be able to automatically create a clean :(
20:34:22 <ehird> clearly the solution is for me to write Yet Another Makefile Generator :D
20:34:34 <AnMaster> ehird, also I use makefiles for stuff like: *.dia -> *.svg -> *.pdf
20:34:47 <AnMaster> or *.dot for that matter
20:35:02 <AnMaster> *.pdf for embedding in pdftex output
20:35:23 <ehird> that's what make is designed for
20:35:24 <AnMaster> you can embed pdf in pdf, unlike most other formats
20:35:27 <AnMaster> ehird, indeed
20:35:30 <ehird> automating file transformation
20:35:49 * ehird realises he doesn't actually need clean, axes it
20:35:54 <AnMaster> ehird, C -> executable is also such a transformation
20:35:57 <ehird> yes.
20:36:00 <AnMaster> ehird, I find clean useful if I change the Makefile
20:36:03 <AnMaster> but you can do
20:36:11 <AnMaster> lance: lance.o main.o Makefile
20:36:12 <AnMaster> I guess
20:36:25 <ehird> yeah i guess
20:36:27 <AnMaster> erhm no
20:36:34 <AnMaster> lance.o wouldn't depend on Makfile there
20:36:39 <AnMaster> Makefile*
20:36:43 <ehird> %.o: Makefile
20:36:47 <AnMaster> good point
20:37:02 <ehird> also rm *.o works quite well :P
20:37:19 <AnMaster> ehird, rm *.o lance you mean
20:37:21 <ehird> CFLAGS = -O3
20:37:23 <ehird> lance: lance.o main.o
20:37:25 <ehird> there that's nice and small
20:37:26 <ehird> AnMaster: well yes
20:37:36 <ehird> (debug compile: make CFLAGS=-g :P)
20:37:50 <ehird> oh wait
20:37:53 <ehird> I'm using Emacs
20:38:05 <ehird> c-mode has the worst indentation defaults ever
20:38:06 <ehird> halp
20:38:15 <AnMaster> ehird, sec
20:38:29 <AnMaster> ehird, I suspect ais likes the defaults ;P
20:38:30 <ehird> lance: lance.o main.o
20:38:31 <ehird> lance.o main.o: lance.h
20:38:33 <ehird> I hope this works
20:38:50 <ehird> AnMaster: no, he uses mixed tabs and spaces, 2-space indent, and this brace style:
20:38:51 <ehird> void f(){
20:38:53 <ehird> ...;
20:38:55 <ehird> ...;}
20:38:57 <AnMaster> -*- mode: C; coding: utf-8; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*-
20:38:59 <ehird> (really)
20:39:03 <AnMaster> ehird, there is a modline for you
20:39:09 <ehird> AnMaster: I'd prefer to just set it in my .emacs rather than clutter my files
20:39:17 <AnMaster> meh
20:39:43 <ehird> how does it go again
20:39:47 <ehird> add-hook 'c-mode-hook
20:39:57 -!- Azstal has joined.
20:39:58 <AnMaster> (custom-set-variables
20:39:58 <AnMaster> '(standard-indent 4)
20:39:58 <AnMaster> '(tab-width 4))
20:40:02 <ehird> fuck custom
20:40:12 <ehird> also, I want it only for C
20:40:19 <AnMaster> ehird, meh
20:40:40 <AnMaster> ehird, one you might like:
20:40:40 <ehird> (c-set-style 'k&r)
20:40:42 <AnMaster> (setq inhibit-startup-message t)
20:40:43 <ehird> or is it "k&r"
20:40:45 <ehird> yeah the latter
20:40:47 <ehird> AnMaster: old hat, of course I have that
20:40:53 <AnMaster> ehird, good
20:41:06 <ehird> and (blink-cursor-mode -1) and (tool-bar-mode -1) and (menu-bar-mode -1)
20:41:16 <ehird> and the long snippet to move #foo# and foo~ files out of the way
20:41:44 <AnMaster> ehird, I like my *~
20:42:28 <ehird> I don't.
20:42:46 <ehird> (add-hook 'c-mode-hook
20:42:48 <ehird> (lambda ()
20:42:49 <ehird> (setq indent-tabs-mode t)
20:42:51 <ehird> (c-set-style "k&r")))
20:42:52 <ehird> Oops, that uses tabs.
20:42:54 * ehird untabify
20:43:22 <ehird> oh sweet
20:43:29 <ehird> C-x C-f ~/src/lance/*.c works
20:43:51 <ehird> ugh, my c-mode-hook didn't work
20:44:11 <ehird> and k&r still uses dumbfuck 5-space indentation
20:44:57 <Ilari> And two idents would be 1 tab and 2 spaces?
20:45:04 <ehird> believe so
20:45:14 <ehird> emacs' way of thinking about tabs/spaces is pretty stupid
20:45:58 * ehird tries c-set-style linux
20:46:14 <ehird> Much better.
20:46:15 <AnMaster> ehird, anything wrong with tabs?
20:46:24 <ehird> ???
20:46:34 <AnMaster> <ehird> Oops, that uses tabs.
20:46:42 <ehird> In elisp, yes.
20:46:47 <ehird> Because you don't always indent by a fixed amount.
20:46:54 <AnMaster> ehird, well yes
20:46:54 <ehird> You align, and lambda gets two spaces, but
20:46:56 <ehird> (f
20:46:57 <ehird> x)
20:46:59 <ehird> gets one
20:47:00 <ehird> etc
20:47:02 <ehird> Thus, tabs are retarderated.
20:47:05 <AnMaster> but I thought that was in C?
20:47:17 <ehird> [20:42] <ehird> (add-hook 'c-mode-hook
20:47:18 <ehird> [20:42] <ehird> (lambda ()
20:47:20 <ehird> [20:42] <ehird> (setq indent-tabs-mode t)
20:47:21 <ehird> [20:42] <ehird> (c-set-style "k&r")))
20:47:22 <AnMaster> ah
20:47:23 <ehird> [20:42] <ehird> Oops, that uses tabs.
20:47:24 <ehird> Read closer.
20:48:17 <AnMaster> actually it didn't look like that here
20:48:22 <AnMaster> <ehird> (add-hook 'c-mode-hook
20:48:22 <AnMaster> <ehird> (lambda ()
20:48:23 <AnMaster> vs.
20:48:27 <AnMaster> <ehird> [20:42] <ehird> (add-hook 'c-mode-hook
20:48:27 <AnMaster> <ehird> [20:42] <ehird> (lambda ()
20:48:32 <ehird> Yes, Konversation erased them on paste or something.
20:48:44 <AnMaster> huh
20:48:55 <ehird> Ehh, c-mode's electric mode is rubbish.
20:49:01 <ehird> It doesn't add spaces after commas or anything.
20:49:08 <AnMaster> ehird, what was that electric mode, I don't remember
20:49:14 <AnMaster> C is a language I use µemacs for
20:49:16 <ehird> int main(){
20:49:18 <ehird>
20:49:19 <ehird> int main()
20:49:21 <ehird> {
20:49:22 <ehird> automatically
20:49:24 <ehird> just by typing {
20:49:25 <AnMaster> NO!
20:49:27 <AnMaster> int main() {
20:49:29 <ehird> It would be nice, if it worked.
20:49:32 <AnMaster> in fact
20:49:36 <AnMaster> int main(void) {
20:49:40 <ehird> AnMaster: that's pointless, it gets changed automatically you idiot
20:49:40 <AnMaster> is the only True Way
20:49:43 <ehird> that's what electric-mode does
20:49:47 <AnMaster> ehird, right
20:49:52 <ehird> also, you cannot call _anything_ that K&R did not do the True Way
20:49:53 -!- augur has quit (Read error: 110 (Connection timed out)).
20:50:08 <ehird> i mean, come the fuck on, Unix was the first C software
20:50:10 <AnMaster> ehird, True Way by Committee!
20:50:12 <ehird> if ANYTHING is the true way it's what it did
20:50:23 <ehird> AnMaster: actually very few corporate things are written like that
20:50:28 <ehird> mostly they use Allman style, is my impression
20:53:41 <AnMaster> allman?
20:53:53 <ehird> Google it.
20:55:15 -!- Asztal has quit (Connection timed out).
20:55:38 -!- Asztal has joined.
20:55:57 -!- augur has joined.
20:55:58 <ehird> Gah, Emacs is not nearly hyper enough.
20:56:05 <Sgeo> Is AnMaster turning into me?
20:57:34 -!- Asztal has quit (Read error: 60 (Operation timed out)).
20:57:38 <ehird> ?
20:57:45 <ehird> No, AnMaster has never googled for things.
20:59:02 <Phantom_Hoover> People are dropping left and right...
20:59:50 * ehird drops
20:59:58 <ehird> Phantom_Hoover: who are you, anyway?
21:00:00 <ehird> witch!
21:00:15 <oklofok> New Now Know How sounds familiar
21:00:20 -!- Asztal has joined.
21:00:31 <oklofok> oh
21:00:55 <oklofok> nm
21:01:23 <oklofok> i must be turning into ehird, i googled it.
21:01:29 <Phantom_Hoover> ehird: I'm just zis guy, you know?
21:01:34 <ehird> chatzilla default message :P
21:01:37 <oklofok> yes
21:01:49 <ehird> Phantom_Hoover: right right. wait, you're not the guy who made Esme, are you? just checking.
21:01:54 <Phantom_Hoover> Esme?
21:01:58 <ehird> good
21:02:03 <ehird> Phantom_Hoover: the worst esolang ever created
21:02:12 <ehird> http://esolangs.org/wiki/Esme
21:02:17 <ehird> if it can even be considered a language
21:02:21 <ehird> meaningless as it is
21:02:53 <ehird> " This article is a stub, which means that it is not detailed enough and needs to be expanded. Please help us by adding some more information." now now, I don't think that page needs expanding at *all*
21:03:19 <Phantom_Hoover> What the hell does it do?
21:03:31 <ehird> EXACTLY
21:03:32 <ehird> We don't know
21:03:36 <ehird> Pretty sure he's just a troll
21:03:42 <ehird> But it's amazing how... informationless... he made it
21:03:54 <ehird> You literally cannot infer a single thing from the page
21:04:23 -!- Azstal has quit (Success).
21:04:38 <ehird> Sweet, installing manpages-posix-dev makes `man foo.h` work.
21:04:52 <Phantom_Hoover> Hashes makes little more sense...
21:06:04 <AnMaster> wow, rosegarden depends on kdialog for export/import
21:06:07 <AnMaster> that is just crazy
21:07:23 <ehird> ugh, i hate getopt_long's api
21:08:47 * ehird just writes a manual loop rather than futz with it
21:09:14 <AnMaster> ehird, don't use getopt_long
21:09:16 <AnMaster> use getopt
21:09:21 <ehird> No; I want long options.
21:09:23 <AnMaster> it's more portable
21:09:26 <AnMaster> ehird, fine
21:09:28 <ehird> Don't give a fuck.
21:09:51 <ehird> Actually, I wish there was an option parser that also did argument parsing.
21:09:57 <ehird> That would be nice.
21:11:19 <ehird> Seems like http://argtable.sf.net/ does that, but I don't like the syntax.
21:13:24 <AnMaster> Gregor, that soundfont was indeed good
21:13:33 <ehird> "BUT NOT ANY MORE!"
21:13:48 <AnMaster> har
21:13:58 <ehird> Hey, you could have things like:
21:14:09 <ehird> OPTION(name)
21:14:15 <ehird> that did __typeof__(name), say char *
21:14:19 <ehird> to infer what kind of argument it is
21:14:26 <ehird> *does
21:14:28 <ehird> and generates --name
21:14:32 <AnMaster> ehird, gcc has it's own language just to describe command line options iirc
21:15:13 <ehird> Perhaps if it did the declaration too
21:15:21 <ehird> FLAG(int, verbose)
21:15:24 <ehird> OPTION(char *, name)
21:15:30 <ehird> OPTION_DEFAULT(char *, name, "fred")
21:16:36 <soupdragon> This paper presents a method for creating formally correct just-in-time (JIT) compilers
21:16:38 <soupdragon> woah
21:16:49 <Phantom_Hoover> ?
21:16:54 <ehird> Ooh, it could even let you pass a function as the third argument to OPTION_DEFAULT.
21:17:02 <ehird> no, wait
21:17:06 <ehird> types are post-cpp, darn
21:17:44 <AnMaster> Gregor, know any way to load more than one sound font at once into sb live cards?
21:17:57 <AnMaster> Gregor, so I can get non-piano from another soundfont
21:18:32 -!- Asztal has quit (Read error: 110 (Connection timed out)).
21:21:55 <AnMaster> argh too little ram to load both at once
21:30:05 <ehird> God I hate C's string handling.
21:30:47 <ehird> Even writing (dirname(argv[0]) ~ "/hill"), where ~ = string concatenation, is a pain in the arse!
21:31:33 <ehird> Do the basename, strlen it, add strlen("/hill") to it, allocate a new string, strcpy them in.
21:31:34 <ehird> FML
21:34:14 <AnMaster> FML?
21:34:19 <ehird> Fuck My Life
21:34:26 <ehird> you know, in other languages, writing the command-line interface is nice relaxing busywork before tackling the real problems
21:34:26 <AnMaster> oh thought it was "language"
21:34:30 <ehird> in C it's the opposite!
21:34:32 <ehird> AnMaster: also that XD
21:34:47 <ehird> int main(int argc, char *argv[])
21:34:48 <ehird> {
21:34:50 <ehird> return 0;
21:34:51 <ehird> }
21:34:53 <ehird> that will do for now
21:34:58 <AnMaster> ehird, what does the app do?
21:35:06 <ehird> BF Joust
21:35:13 <ehird> Sieve and Kettle are back! Polarity FUCK YEAH!
21:35:34 <AnMaster> why are you doing dirname(argv[0]) ~ "/hill"
21:35:44 <AnMaster> ehird, 1) argv[0] may or may not contain the path
21:35:59 <AnMaster> 2) whats wrong with current working directory
21:36:09 <ehird> 1) bah, you're right
21:36:14 <ehird> 2) because that isn't what i want
21:36:32 <ehird> "lance prog" battles prog against the entire hill; you can set that with --hill
21:36:38 <AnMaster> 1) of course I'm right
21:36:39 <ehird> but by default it's that directory
21:36:51 <ehird> "lance prog1 prog2" battles the two, and ignores the hill, so it doesn't matter there
21:36:57 <ehird> I guess lance prog1 prog2 prog3... will work too
21:37:36 <AnMaster> ehird, if you are linux specific:
21:37:56 <ehird> Maybe I'll do Go but ignore the concurrency part
21:38:02 <ehird> It has string concatenation!
21:38:06 <AnMaster> /proc/self/exe
21:38:13 -!- soupdragon has quit ("Leaving").
21:38:25 <ehird> AnMaster: lol.
21:38:26 <Phantom_Hoover> !help languages
21:38:26 <EgoBot> languages: Esoteric: 1l 2l adjust asm axo bch befunge befunge98 bf bf8 bf16 bf32 boolfuck cintercal clcintercal dimensifuck glass glypho haskell kipple lambda lazyk linguine malbolge pbrain perl qbf rail rhotor sadol sceql trigger udage01 underload unlambda whirl. Competitive: bfjoust fyb. Other: asm c cxx forth sh.
21:38:28 -!- soupdragon has joined.
21:38:34 <AnMaster> ehird, hm?
21:38:45 <ehird> AnMaster: because the code to open and read that file will be *even bigger*
21:40:01 <Phantom_Hoover> !help
21:40:02 <EgoBot> help: General commands: !help, !info, !bf_txtgen. See also !help languages, !help userinterps. You can get help on some commands by typing !help <command>.
21:40:17 <Phantom_Hoover> !help userinterps
21:40:17 <EgoBot> userinterps: Users can add interpreters written in any of the languages in !help languages. See !help addinterp, delinterp, show | !userinterps. List interpreters added with !addinterp.
21:40:18 <AnMaster> ehird, it's a symlink
21:40:38 <ehird> AnMaster: x_x
21:40:38 <Phantom_Hoover> !userinterps
21:40:38 <EgoBot> Installed user interpreters: aol austro b1ff bc bct bfbignum brit brooklyn bypass_ignore chef chiqrsx9p choo cockney ctcp dc drawl dubya echo eehird ehird fudd funetak google graph gregor hello id jethro kraut num ook pansy pirate plot postmodern postmodern_aoler redneck reverse rot13 sadbf sfedeesh sffedeesh sffffedeesh sffffffffedeesh slashes svedeesh swedish valspeak warez yodawg
21:40:40 <ehird> crazy
21:40:46 <AnMaster> ehird, what?
21:40:54 <ehird> Well, okay, not crazy.
21:41:07 <AnMaster> I believe you can use stat()
21:41:08 <ehird> Maybe I should write yet another string library for C. You know, because I hate myself :P
21:41:14 <ehird> AnMaster: readlink(), rather
21:41:35 <AnMaster> ehird, ah yes that is it
21:41:40 <AnMaster> stat(1) does it iirc
21:42:16 <Phantom_Hoover> !help
21:42:16 <EgoBot> help: General commands: !help, !info, !bf_txtgen. See also !help languages, !help userinterps. You can get help on some commands by typing !help <command>.
21:42:20 <Phantom_Hoover> !info
21:42:20 <EgoBot> EgoBot is a bot for running programs in esoteric programming languages. If you'd like to add support for your language to EgoBot, check out the source via mercurial at https://codu.org/projects/egobot/hg/ . Cheers and patches (preferably hg bundles) can be sent to Richards@codu.org , PayPal donations can be sent to AKAQuinn@hotmail.com , complaints can be sent to /dev/null
21:42:26 <AnMaster> readlink("/proc/self/exe", "/", 1) = 1
21:42:26 <AnMaster> readlink("/proc/self/exe", "/u", 2) = 2
21:42:26 <AnMaster> readlink("/proc/self/exe", "/usr", 4) = 4
21:42:26 <AnMaster> readlink("/proc/self/exe", "/usr/bin", 8) = 8
21:42:26 <AnMaster> readlink("/proc/self/exe", "/usr/bin/stat", 16) = 13
21:42:30 <AnMaster> how inefficient
21:43:56 <AnMaster> also it doesn't null terminate
21:44:03 <Phantom_Hoover> !help help
21:44:03 <EgoBot> help: General commands: !help, !info, !bf_txtgen. See also !help languages, !help userinterps. You can get help on some commands by typing !help <command>.
21:44:11 <Phantom_Hoover> !help interp
21:44:11 <EgoBot> Sorry, I have no help for interp!
21:44:17 <Phantom_Hoover> !help bf
21:44:17 <EgoBot> Sorry, I have no help for bf!
21:44:36 <Phantom_Hoover> !languages
21:44:55 <AnMaster> !help userinterps
21:44:55 <EgoBot> userinterps: Users can add interpreters written in any of the languages in !help languages. See !help addinterp, delinterp, show | !userinterps. List interpreters added with !addinterp.
21:44:59 <AnMaster> !help languages
21:45:00 <EgoBot> languages: Esoteric: 1l 2l adjust asm axo bch befunge befunge98 bf bf8 bf16 bf32 boolfuck cintercal clcintercal dimensifuck glass glypho haskell kipple lambda lazyk linguine malbolge pbrain perl qbf rail rhotor sadol sceql trigger udage01 underload unlambda whirl. Competitive: bfjoust fyb. Other: asm c cxx forth sh.
21:45:13 <Phantom_Hoover> !lazyk
21:45:15 <EgoBot> Couldn't fork sub-program.
21:45:22 <AnMaster> Phantom_Hoover, you need to give it code
21:46:01 <Phantom_Hoover> Yeah, but the cat program in Lazy K is an empty file.
21:46:16 <AnMaster> Phantom_Hoover, hm report a bug to Gregor
21:46:21 <AnMaster> or use the url variant
21:46:27 <AnMaster> to link to an empty file
21:47:01 <ehird> !sh cat /dev/null >butt
21:47:01 <EgoBot> /tmp/input.11852: line 1: butt: Permission denied
21:47:03 <ehird> !sh cat butt
21:47:04 <EgoBot> /bin/cat: butt: No such file or directory
21:47:05 <ehird> dammit
21:47:08 <ehird> !sh cat /dev/null | lazyk
21:47:09 <EgoBot> /tmp/input.11907: line 1: lazyk: command not found
21:47:10 <ehird> aw
21:47:20 <Phantom_Hoover> !sh ls
21:47:21 <EgoBot> interps
21:47:27 <Phantom_Hoover> !sh ls ..
21:47:27 <EgoBot> multibot_cmds
21:47:28 <AnMaster> `echo "try this"
21:47:28 <HackEgo> "try this"
21:47:32 <AnMaster> ehird, ^
21:47:51 <AnMaster> !sh pwd
21:47:51 <EgoBot> /home/egobot/egobot.hg/multibot_cmds
21:48:00 <AnMaster> !sh ls ~
21:48:01 <EgoBot> egobot.hg
21:48:05 <AnMaster> !sh ls /
21:48:05 <EgoBot> bin
21:48:24 <AnMaster> !sh ls / | tr -d $'\n'
21:48:25 <EgoBot> bindevetchomeliblib64proctmpusr
21:48:25 <ehird> Ego != Hack
21:48:30 <AnMaster> !sh ls / | tr $'\n' ' '
21:48:31 <EgoBot> bin dev etc home lib lib64 proc tmp usr
21:48:33 <ehird> !sh ls
21:48:33 <EgoBot> interps
21:48:36 <ehird> !sh ls interps
21:48:37 <EgoBot> 1l
21:48:40 <AnMaster> !sh ls | tr $'\n' ' '
21:48:41 <EgoBot> interps lib slox
21:48:45 <ehird> !sh ls interps/lazyk
21:48:46 <AnMaster> !sh ls ~ | tr $'\n' ' '
21:48:47 <EgoBot> USED_VERSION
21:48:47 <EgoBot> egobot.hg
21:48:58 <AnMaster> !sh ls interps/lazyk | tr $'\n' ' '
21:48:59 <ehird> !sh interps/lazyk/lazy
21:48:59 <EgoBot> USED_VERSION lazy lazy.cpp primes.lazy
21:49:08 <ehird> !sh interps/lazyk/lazy --help | tr $'\n' ' '
21:49:09 <EgoBot> usage: lazy [-b] { -e program | program-file.lazy } * -b puts stdin and stdout into binary mode on systems that care (i.e. Windows) -e program takes program code from the command line (like Perl's -e switch) program-file.lazy name of file containing program code If more than one -e or filename argument is given, the programs will be combined by functional composition (but in Unix pipe order,
21:49:09 <AnMaster> ehird, note it gives you only one line
21:49:15 <AnMaster> indeed
21:49:16 <Phantom_Hoover> !lazyk
21:49:16 <EgoBot> Couldn't fork sub-program.
21:49:17 <Phantom_Hoover> `k``s``si`k``s`k```sii``s``s`kski``s``s`ksk``s``s`ksk```s``siii``s``s`kski`k``s``si`k``s``s`ksk```s``s`kski``s`k``s``s`kski``s``s`ksk```sii``s``s`kski`k``s``si`k``s`k```sii``s``s`kski```sii``s``s`ksk``s``s`kski`k``s``si`k``s`k```sii``s``s`kski```sii``s``s`ksk``s``s`kski`k``s``si`k``s``s`ksk``s`k``s``s`kski``s``s`ksk``s`k``s``s`kski```sii``s``s`ksk``s``s`kski`k``s``si`k````s``s`ksk```s``siii``s``s`
21:49:18 <ehird> !sh interps/lazyk/lazy -e '' | tr $'\n' ' '
21:49:18 <HackEgo> No output.
21:49:19 <Phantom_Hoover> kski`s``s`ksk```sii``s``s`ksk``s``s`kski`k``s``si`k``s`k``s``s`kski```s``siii``s``s`kski`k``s``si`k``s`k``s``s`ksk``s`k``s``s`kski
21:49:21 <Phantom_Hoover> ``s``s`ksk``s``s`kski``s``s`ksk```s``siii``s``s`kski`k``s``si`k``s``s`ksk``s`k``s``s`kski``s``s`ksk``s`k``s``s`kski```sii``s``s`ksk``s``s`kski`k``s``si`k``s`k``s``s`kski``s``s`ksk``s`k``s``s`kski``s``s`ksk```sii``s``s`ksk``s``s`kski`k``s``si`k``s`k```sii``s``s`kski```sii``s``s`ksk``s``s`kski`k``s``si`k```s``s`kski``s`k``s``s`kski``s``s`ksk```sii``s``s`kski`k``s``si`k``s``s`ksk``s`k``s``s`kski```s`
21:49:22 <HackEgo> No output.
21:49:22 <Phantom_Hoover> `siii``s``s`kski`k``s``si`k``s`k``s``s`kski``s``s`ksk```sii``s``s`kski`k``s``si`k```sii```sii``s``s`kski`k```sii```sii``s``s`kski
21:49:23 <HackEgo> No output.
21:49:24 <ehird> Phantom_Hoover: sigh.
21:49:26 <ehird> noobs.
21:49:27 <ehird> pastebin.ca
21:49:29 <ehird> use it
21:49:33 <ehird> then !lazyk url
21:49:38 <soupdragon> siisii!
21:49:53 <AnMaster> soupdragon, :D
21:50:26 <Phantom_Hoover> !lazyk http://pastebin.ca/1748851
21:50:28 <EgoBot> Couldn't fork sub-program.
21:50:41 -!- oerjan has quit ("Reboot").
21:51:03 <ehird> you must link to the raw version
21:51:17 <ehird> !lazyk http://pastebin.ca/raw/1748851
21:51:18 <EgoBot> Couldn't fork sub-program.
21:51:21 <ehird> borken
21:51:27 <Phantom_Hoover> !sh ls
21:51:28 <EgoBot> interps
21:51:33 <Phantom_Hoover> !sh ls interps
21:51:33 <EgoBot> 1l
21:51:58 -!- MigoMipo has quit.
21:52:13 <Phantom_Hoover> !sh ls interps/lazyk
21:52:13 <EgoBot> USED_VERSION
21:52:46 <Phantom_Hoover> !sh ls interps/lazyk/lazy -e "`k``s``si`k``s`k```sii``s``s`kski``s``s`ksk``s``s`ksk```s``siii``s``s`kski`k``s``si`k``s``s`ksk```s``s`kski``s`k``s``s`kski``s``s`ksk```sii``s``s`kski`k``s``si`k``s`k```sii``s``s`kski```sii``s``s`ksk``s``s`kski`k``s``si`k``s`k```sii``s``s`kski```sii``s``s`ksk``s``s`kski`k``s``si`k``s``s`ksk``s`k``s``s`kski``s``s`ksk``s`k``s``s`kski```sii``s``s`ksk``s``s`kski`k``s``si`
21:52:47 <EgoBot> /tmp/input.12798: line 1: unexpected EOF while looking for matching `"'
21:52:48 <Phantom_Hoover> k````s``s`ksk```s``siii``s``s`kski`s``s`ksk```sii``s``s`ksk``s``s`kski`k``s``si`k``s`k``s``s`kski```s``siii``s``s`kski`k``s``si`k``s`k``s``s`ksk``s`k``s``s`kski``s``s`ksk``s``s`kski``s``s`ksk```s``siii``s``s`kski`k``s``si`k``s``s`ksk``s`k``s``s`kski``s``s`ksk``s`k``s``s`kski```sii``s``s`ksk``s``s`kski`k``s``si`k``s`k``s``s`kski``s``s`ksk``s`k``s``s`kski``s``s`ksk```sii``s``s`ksk``s``s`kski`k``s``s
21:52:49 <Phantom_Hoover> i`k``s`k```sii``s``s`kski```sii``s``s`ksk``s``s`kski`k``s``si`k```s``s`kski``s`k``s``s`kski``s``s`ksk```sii``s``s`kski`k``s``si`k``s``s`ksk``s`k``s``s`kski```s``siii``s``s`kski`k``s``si`k``s`k``s``s`kski``s``s`ksk```sii``s``s`kski`k``s``si`k```sii```sii``s``s`kski`k```sii```sii``s``s`kski"
21:52:56 <ehird> stop it
21:52:58 <ehird> for fuck's sake
21:53:01 <ehird> it won't fit on one irc line
21:53:02 <Phantom_Hoover> Sorry!
21:53:05 <ehird> xD
21:53:07 <ehird> don't mind me
21:53:09 <ehird> i'm just grumpy
21:53:15 <ehird> i'm in a grumpytacular mood
21:53:17 -!- Phantom_Hoover has quit ("ChatZilla 0.9.86 [Firefox 3.5.7/20100106054534]").
21:53:26 <ehird> although I'm not now, because I read the word grumpytacular
21:53:30 <ehird> hey i never said you should leave
21:53:35 <ehird> now i'm grumpy again
21:54:20 * Sgeo wants to un-grumpify ehird, but I tend to make ehird grumpy, I think
21:55:33 <ehird> Sgeo: make a haskell program and i'll be happy
21:55:35 <ehird> i like haskell programs
21:56:14 -!- oerjan has joined.
21:56:34 <soupdragon> haskell = "sucks"
21:56:36 <soupdragon> hapy???
21:57:02 <ehird> soupdragon: that is not a haskell program
21:57:03 <ehird> also, you suck
21:57:12 <soupdragon> how is that not a haskell program?
21:57:56 <oerjan> no main function
21:58:24 <Sgeo> There's a function that I forgot the name and type of
21:58:34 <oerjan> Sgeo: how useful
21:58:52 <Sgeo> main = <something-that-starts-with-c> id
21:59:01 <Sgeo> Is a cat program, iirc
21:59:32 <oerjan> interact
21:59:41 <Sgeo> Yes. And obviously it doesn't start with c
21:59:56 * Sgeo 's memory is obviously broken
22:00:06 <oerjan> scrambled, possibly
22:00:08 <ehird> interact :: (String → String) → String
22:00:16 <oerjan> no
22:00:20 <ehird> erm
22:00:21 <Sgeo> http://www.haskell.org/hoogle/?hoogle=interact
22:00:21 <ehird> → IO ()
22:00:26 <ehird> should have made :: the unicode character, but my Compose doesn't have it
22:00:47 <Sgeo> Does Haskell actually accept arrows like that? I doubt it
22:01:18 <oerjan> i understand ghc has some unicode extensions
22:01:38 <ehird> Sgeo: yes
22:01:46 <ehird> if you enable it
22:03:11 <ehird> cool ]{}[ isn't registered :D
22:09:30 <ehird> info ]
22:09:30 <ehird> opos
22:09:30 <ehird> oops
22:09:30 <ehird> http://community.haskell.org/~ndm/cmdargs/ ← this is super-rad
22:09:30 -!- Deewiant has quit (Read error: 60 (Operation timed out)).
22:09:30 -!- Deewiant has joined.
22:09:30 -!- augur has quit (Read error: 110 (Connection timed out)).
22:09:30 <ehird> Deewiant: is coadjute abandoned?
22:10:28 <Deewiant> All my Haskell stuff has been semi-abandoned lately
22:10:28 <Deewiant> Why?
22:10:55 <ehird> Just curious
22:10:56 <ehird> (Why?)
22:11:59 <ehird> s(int*a,int b){int t=*a;--b?s(a+1,b),a[(*a=1[a])<t]=t,s(++a,b):0;}
22:12:00 <ehird> C sort
22:12:34 <soupdragon> "defining command line parsers" sounds.. boring..
22:12:48 <ehird> soupdragon: stfu, it uses type magic
22:12:55 <ehird> and type magic is always sweet
22:12:56 <soupdragon> :(
22:12:59 <soupdragon> don't make me stfu
22:13:09 <ehird> besides, boring things can be interesting
22:13:18 <Deewiant> s(a,b)int*a;{int t=*a;--b?s(a+1,b),a[(*a=1[a])<t]=t,s(++a,b):0;}
22:13:38 <ehird> hmm
22:13:43 <ehird> is it valid without the return type declaration?
22:13:44 <ehird> i guess not
22:13:46 <ehird> so why not even
22:13:47 <ehird> s(a,b){...}
22:14:04 <Deewiant> There is no return type declaration?
22:14:10 <ehird> exactly
22:14:12 <ehird> is it valid without it
22:14:16 <Deewiant> There never was one
22:14:17 <ehird> if not, then we don't have to define param types anyway
22:14:19 <ehird> as we're not valid c
22:14:25 <Deewiant> Sure it's valid
22:14:31 <Deewiant> Isn't it?
22:14:34 <ehird> don't you need to say "void"...
22:14:54 <Deewiant> Doesn't it default to int
22:15:05 <ehird> is that standard?
22:15:27 <Deewiant> main(){puts("hello, world");} and all that
22:16:09 <ehird> s(a,b)int*a;{int t=*a;--b&&s(a+1,b),a[(*a=1[a])<t]=t,s(++a,b);}
22:16:12 <ehird> One character saved
22:16:14 <Deewiant> But in any case, that doesn't return anything
22:16:15 <ehird> or does a&&b,c not work?
22:16:17 <ehird> guess not
22:16:20 <ehird> Deewiant: That isn't valid
22:16:29 <Deewiant> What isn't?
22:16:52 <ehird> hmm
22:16:54 <ehird> perhaps it is
22:17:02 <ehird> Deewiant: I thought int-default-return was just a K&R relic
22:17:12 <Deewiant> Of course it's a K&R relic :-P
22:17:16 <Deewiant> Doesn't make it invalid
22:17:56 <Deewiant> Anyhoo, I think we want to make it void since it doesn't return
22:18:10 <Sgeo> int-default-return ?
22:19:07 <Deewiant> ehird: I think your && breaks stuff
22:19:27 <ehird> Deewiant: Yeah, I guessed as much
22:19:32 <Deewiant> a ? b,c,d : e has to parse as a ? (b,c,d) : e
22:19:50 <Deewiant> But , has the lowest precedence of everything
22:20:17 <Deewiant> So your a && b,c,d becomes (a && b), c, d
22:20:43 <pikhq> ehird: It's invalid in C99.
22:21:24 <ehird> Hmm
22:21:34 <ehird> Exchange sorts probably suck for this, because swapping a var in c is quite verbose
22:21:58 <ehird> int z=x;x=y;y=z; or x^=y;y^=x;x^=y;
22:22:24 <ehird> Also, recursion is a nice property here
22:23:22 <ehird> s(int*a){*a&&*a>a[1]?z=a[1],*a=a[1],a[1]=z:s(a+1);}
22:23:32 <ehird> does a&&b?c:d work?
22:23:35 <ehird> as a&&(b?c:d)
22:23:38 <ehird> even with commas
22:23:50 <Deewiant> ?: has lower precedence
22:23:52 <Deewiant> So no
22:24:05 <ehird> What about a?b?c:d:0 :P
22:24:11 <Deewiant> That works
22:24:15 <ehird> As what?
22:24:19 <ehird> a?(b?c:d):0?
22:24:21 <Deewiant> As the only thing it can work as
22:24:29 <ehird> True that.
22:24:37 <ehird> s(int*a){*a?*a>a[1]?z=a[1],*a=a[1],a[1]=z:s(a+1):0;}
22:24:43 <ehird> This has one flaw: It fails on "0".
22:24:46 <ehird> But who uses that number?
22:24:51 <ehird> Oh wait.
22:24:58 <ehird> s(int*a){~*a?*a>a[1]?z=a[1],*a=a[1],a[1]=z:s(a+1):0;}
22:25:02 <ehird> Okay, now it can't sort the maximum integer.
22:25:12 <ehird> Apart from that it's pea-chy
22:25:30 <Deewiant> You need to declare that z methinks
22:25:38 <ehird> Tru dat
22:25:54 <ehird> Hmm, and I can't use C99-style declarations either
22:25:56 <ehird> Because
22:26:00 <ehird> int z=a[1],...
22:26:02 <ehird> It'd have to be
22:26:06 <ehird> (int z=a[1]),...
22:26:34 <AnMaster> from make output: ./compiletex font.tex font.h font
22:26:36 <Deewiant> Declarations aren't expressions :-P
22:26:38 <AnMaster> really confused me that
22:26:43 <AnMaster> then I realised tex = texture
22:26:47 <AnMaster> not TeX
22:26:48 <ehird> Deewiant: Tru dat
22:26:57 <ehird> Hey, I just realised the xor swap must work in thiscase.
22:27:01 <ehird> Because > therefore !=.
22:27:16 <ehird> And it's three chars shorter than declaring a variable
22:27:35 <ehird> Wait, two.
22:27:39 <ehird> No wait, 1.
22:27:56 <ehird> s(int*a){*~a?*a>a[1]?*a^=a[1],a[1]^=*a,*a^=a[1]:s(a+1):0;}
22:27:58 <ehird> Oops
22:28:01 <ehird> s(int*a){~*a?*a>a[1]?*a^=a[1],a[1]^=*a,*a^=a[1]:s(a+1):0;}
22:29:24 <Deewiant> How's that going to sort {3,4,1,2}?
22:29:41 <Deewiant> ({3,4,1,2,~0})
22:29:51 <AnMaster> ehird, too tired to work it out, what does it do?
22:29:58 <ehird> Deewiant: Oh, you're right
22:30:02 <ehird> I have to recurse even if I do swap
22:30:05 <ehird> AnMaster: No cookie for you
22:30:17 <Deewiant> It does one pass of bubble sort or suchlike
22:30:19 <AnMaster> ehird, fine *half asleep*
22:30:44 <ehird> s(int*a){~*a?*a>a[1]?*a^=a[1],a[1]^=*a,*a^=a[1]:0,s(a+1):0}
22:31:14 <ehird> Assuming that a?b?c,d:e,f:g parses as a?((b?(c,d):e),f):g
22:31:15 -!- kar8nga has joined.
22:31:18 <ehird> Which it probably… doesn't.
22:31:19 <Deewiant> You just changed the :s(a+1) case to :0,s(a+1)?
22:31:32 <ehird> s(int*a){~*a?(*a>a[1]?*a^=a[1],a[1]^=*a,*a^=a[1]:0),s(a+1):0;}
22:31:36 <ehird> There, properly parenised.
22:32:02 <ehird> Deewiant: Rather, if we're not at the end of the list, we always go on one
22:32:07 <ehird> regardless of our swapping
22:32:16 <Deewiant> Since you need those parens it'll probably be shorter with an if
22:32:24 <ehird> Hmm wait
22:32:28 <ehird> What if ~*a but ~a[1]
22:32:29 <Deewiant> ehird: That's still O(n) :-P
22:32:31 <ehird> Better make it ~a[1]
22:32:39 <ehird> Deewiant: Gah, you're right
22:32:40 <Deewiant> You aren't going to sort anything in O(n)
22:32:51 <Deewiant> Well, not with comparisons anyway.
22:32:57 <ehird> http://en.wikipedia.org/wiki/Bubble_sort
22:33:03 <ehird> I was just stupidly copying wp's pseudocode
22:33:04 <ehird> without, you know
22:33:06 <ehird> reading it
22:33:10 <Deewiant> >_<
22:33:17 <ehird> Maybe I'l do pigeonhole sort
22:33:18 <ehird> *I'll
22:33:21 <Deewiant> Do selection sort or something instead, bubble sort sux
22:33:26 <ehird> Or whatever
22:33:32 <ehird> Deewiant: I'm not concerned about performance
22:33:37 <ehird> CONCISION IS EVERYTHING
22:33:42 <Deewiant> Neither am I
22:34:03 <Deewiant> I can never remember how bubble sort works but selection sort can be described in less than five words
22:34:07 <ehird> int foo[max value in array], when you find n do foo[n]++, reassemble array
22:34:12 <ehird> Ehh, too much overhead
22:34:24 <ehird> Deewiant: Do so, then :D
22:34:59 <Deewiant> "Repeatedly fetch the minimum" conveys the point well enough
22:35:34 <AnMaster> Deewiant, merge sort for the win
22:36:02 <AnMaster> split, recurse, swap, merge
22:36:28 <Deewiant> Swap?
22:36:48 <AnMaster> Deewiant, innermost layer
22:37:21 <AnMaster> well I guess you could split into 1, and then merge those
22:37:23 <Deewiant> No, there's no swap
22:37:29 <Deewiant> Exactly
22:48:11 -!- soupdragon has quit ("Leaving").
22:49:56 -!- soupdragon has joined.
22:50:32 -!- soupdragon has quit (Remote closed the connection).
22:58:59 -!- coppro has joined.
22:59:56 <oklofok> Deewiant: while not sorted, loop through array, swapping adjacent pairs in correct order.
23:00:30 -!- BeholdMyGlory has quit (Remote closed the connection).
23:01:11 <oklofok> maybe slightly harder to remember than bubble sort, but i'm not sure it's a great argument that it's hard to remember how it works
23:01:40 <Deewiant> It wasn't really an argument for anything
23:01:49 <oklofok> i suppose, neither was mine
23:02:20 <oklofok> so i win
23:02:22 <ehird> that is bubble sort
23:02:27 <ehird> "slightly harder to remember than bubble sort"
23:02:29 <ehird> YOU MADE AN ERROR
23:02:31 <ehird> you lose
23:02:34 <oklofok> :D
23:02:42 <oklofok> i suppose
23:02:58 <oerjan> you now have only 13096 tries left
23:03:39 <oklofok> so i win.
23:03:50 <oerjan> that remains to be seen
23:04:39 <coppro> oklofok: yeah, that is exactly bubble sort
23:04:46 <coppro> at least it's not bogosort
23:05:48 <oklofok> although you need to specify the direction of looping, if you want multiple bubbles, you will need to loop from end to beginning
23:05:49 <ehird> holy shit
23:05:51 <ehird> if you use wall(1) in kde
23:05:54 <ehird> it comes up in the notification area
23:05:56 <ehird> :D
23:06:14 <oklofok> otherwise it's basically selection
23:07:20 <oklofok> err wait it's symmetric
23:07:51 <oklofok> so nevermind that. in any case it is quite similar to selection sort
23:08:03 <oklofok> err... no
23:08:17 * oklofok stops failing at philosophy of sorting algorithms
23:08:47 -!- oerjan has quit (farmer.freenode.net irc.freenode.net).
23:08:47 -!- Sgeo has quit (farmer.freenode.net irc.freenode.net).
23:08:47 -!- comex has quit (farmer.freenode.net irc.freenode.net).
23:08:48 -!- fungot has quit (farmer.freenode.net irc.freenode.net).
23:08:48 -!- yiyus has quit (farmer.freenode.net irc.freenode.net).
23:08:48 -!- Deewiant has quit (farmer.freenode.net irc.freenode.net).
23:08:49 -!- FireFly has quit (farmer.freenode.net irc.freenode.net).
23:08:49 -!- anmaster_l has quit (farmer.freenode.net irc.freenode.net).
23:08:49 -!- lifthrasiir has quit (farmer.freenode.net irc.freenode.net).
23:08:49 -!- olsner has quit (farmer.freenode.net irc.freenode.net).
23:08:49 -!- bsmntbombdood has quit (farmer.freenode.net irc.freenode.net).
23:08:49 -!- dbc has quit (farmer.freenode.net irc.freenode.net).
23:08:49 -!- EgoBot has quit (farmer.freenode.net irc.freenode.net).
23:08:49 -!- mycroftiv has quit (farmer.freenode.net irc.freenode.net).
23:09:16 <coppro> ehird: write too
23:09:37 <coppro> though since it goes a message per line, it's not great
23:10:37 -!- Deewiant has joined.
23:10:37 -!- FireFly has joined.
23:10:37 -!- anmaster_l has joined.
23:10:37 -!- lifthrasiir has joined.
23:10:37 -!- olsner has joined.
23:10:37 -!- bsmntbombdood has joined.
23:10:37 -!- dbc has joined.
23:10:37 -!- EgoBot has joined.
23:10:37 -!- mycroftiv has joined.
23:11:13 -!- oerjan has joined.
23:11:13 -!- Sgeo has joined.
23:11:13 -!- comex has joined.
23:11:13 -!- fungot has joined.
23:11:13 -!- yiyus has joined.
23:11:34 <ehird> whoa.
23:11:39 <ehird> I wish the fish shell had less flaws :<
23:11:43 <ehird> i hate using traditional shells
23:19:59 <AnMaster> ehird, what flaws?
23:20:18 <ehird> well, for instance, setting a variable for the duration of one command is a bitch
23:20:25 <ehird> iirc
23:20:32 <ehird> you have to do env x=y ...
23:20:34 <ehird> i believe
23:20:48 <ehird> woot, J works nicely on Kubuntu
23:20:53 <ehird> *in Kubuntu, I guess.
23:21:41 <oerjan> under Kubuntu
23:26:35 <ehird> oh god, J comes with a package browser for all kinds of stuff
23:26:38 <ehird> awesome
23:26:45 <ehird> there's even updates of the base library
23:30:58 <ehird> I should do some sort of specifying of the poop language.
23:31:40 <ehird> Pathological Objects Osomething Psomething.
23:32:33 <oerjan> Pathological Object Oriented Programming
23:32:52 <ehird> actually, that'd be a good one; it isn't OOP in the slightest, but it has "objects"
23:32:56 <ehird> and the language is oriented around them
23:33:07 <ehird> I guess it's similar to what my impression of DOBELA is given only Deewiant's probing about it
23:35:53 -!- anmaster_l has quit (Read error: 110 (Connection timed out)).
23:35:54 -!- augur has joined.
23:37:37 <ehird> basically, you have little particles that go in directions, and there are mirrors they can bounce off
23:37:48 <ehird> and if two particles collide, they shoot off some different particles
23:37:56 <ehird> and there are sinks and stuff that they can fall into to do things
23:43:49 <oklofok> and nothing makes sense
23:44:39 <ehird> poop makes sense
23:45:24 <ehird> coppro: what's the gesture that does the exposé-type thing in kde
23:45:27 <ehird> i keep doing it by mistake
23:45:41 <ehird> ah go to top-left and scroll mouse
23:45:43 <ehird> obvious :P
23:45:49 <coppro> O_o
23:45:57 <coppro> I just use the screen edges
23:46:06 <ehird> oh, I just didn't hit the edge fast enough
23:46:10 <ehird> except when scrolling
23:46:13 <ehird> as an entirely incidental thing
23:53:21 <oerjan> Particles Out Of Place
23:54:54 -!- augur has quit (Read error: 104 (Connection reset by peer)).
23:55:01 <ehird> maybe it can have multiple expansions!
23:59:56 -!- augur_ has joined.
2010-01-13
00:06:02 <ehird> frantk
00:07:26 -!- FireFly has quit ("Leaving").
00:07:27 <oerjan> frantically frank
00:08:21 <ehird> Pants, Orifice, Ogle, Petunias
00:08:40 <ehird> Path Only Ousted Pathetically
00:09:06 <ehird> Parenthically, Oxygen-Oxen Pack
00:26:34 -!- augur_ has changed nick to augur.
00:28:55 <oerjan> Pint of Oil Pellets
00:37:29 -!- ehird has quit (Remote closed the connection).
00:53:09 -!- kar8nga has quit (Remote closed the connection).
01:25:49 -!- augur_ has joined.
01:28:42 -!- augur has quit (Read error: 104 (Connection reset by peer)).
01:36:00 -!- augur_ has quit (Read error: 104 (Connection reset by peer)).
01:40:04 -!- augur_ has joined.
02:01:50 -!- jpc has joined.
02:05:41 -!- oklofok has quit (Read error: 60 (Operation timed out)).
02:16:21 -!- oklofok has joined.
03:30:17 -!- oerjan has quit ("Good night").
04:05:39 -!- iamcal has joined.
04:12:55 -!- cal153 has quit (Read error: 60 (Operation timed out)).
04:21:20 -!- coppro has quit ("I am leaving. You are about to explode.").
04:25:30 -!- augur_ has quit (Read error: 110 (Connection timed out)).
04:52:49 -!- augur has joined.
05:05:46 -!- calamari_ has joined.
05:06:03 -!- coppro has joined.
05:22:14 -!- coppro has quit ("I am leaving. You are about to explode.").
06:33:58 -!- coppro has joined.
06:51:36 -!- jpc has quit (Read error: 110 (Connection timed out)).
06:53:56 -!- calamari_ has quit ("Leaving").
07:20:58 -!- FireFly has joined.
07:44:17 -!- Guest52322 has joined.
07:49:22 -!- Guest52322 has quit ("Ex-Chat").
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:02:52 -!- MizardX has quit (Read error: 110 (Connection timed out)).
08:03:43 -!- FireFly has quit ("Leaving").
08:45:52 -!- Pthing has quit (Remote closed the connection).
09:01:14 -!- anmaster_l has joined.
09:09:10 -!- coppro has quit ("I am leaving. You are about to explode.").
09:18:39 -!- kar8nga has joined.
09:48:17 -!- ais523 has joined.
10:47:52 -!- soupdragon has joined.
10:59:33 -!- somebody_ has joined.
10:59:41 -!- somebody_ has quit (Remote closed the connection).
11:00:19 -!- soupdragon has quit (Nick collision from services.).
11:00:35 -!- soupdragon has joined.
11:01:36 -!- Slereah_ has joined.
11:13:23 -!- Slereah has quit (Read error: 110 (Connection timed out)).
11:16:15 -!- ais523 has quit (Remote closed the connection).
11:20:42 -!- iamcal has quit (Read error: 104 (Connection reset by peer)).
11:28:13 -!- ais523 has joined.
11:41:00 -!- fizziexn900 has joined.
11:41:23 <fizziexn900> (Had to test this Maemo X-Chat port.)
11:43:12 <fizziexn900> It looks as if they haven't really bothered much with the ports; seems to be pretty close to the usual X-Chat ui.
11:44:23 <ais523> does that work well on a Maemo?
11:45:19 <fizziexn900> Not very. Of course it's a bit maemoized by the system itself.
11:46:49 <fizziexn900> It's rather stylus-only like this, though. All scrolling is with tiny scrollbars that are not finger-friendly at all.
11:48:04 <fizziexn900> It really should have the kinetic scrolling used in everywhere else. (Except all the other places where it's missing.)
11:50:46 <fizzie> I'm not so sure about those default colors either: http://www.cis.hut.fi/htkallas/maemo-xchat.png
11:51:20 <fizzie> Maybe I'll stick with xterm and SSH.
11:51:34 <ais523> wow, that's insane
11:51:51 -!- fizziexn900 has quit ("it is no good!").
11:53:44 * ais523 wonders why the easter egg found in Chrome is so nonsensical
12:22:47 <fizzie> Is it that "goats teleported" thing? That seems to be the new thing.
12:24:56 <ais523> yes
12:25:18 <ais523> I mean, why are goat teleportation stats meant to be funny? surely they could have thought up a better one than that...
12:30:17 <fizzie> What, and it's just a randomly incrementing number?
12:30:22 <fizzie> That's not fun.
12:30:29 -!- oerjan has joined.
12:39:25 <AnMaster> ais523, isn't it memory stat or such?
12:39:31 <AnMaster> hidden under a nonsensical name
12:39:51 <AnMaster> the bug report is pretty funny though
12:42:05 <Deewiant> No, they just add rand()%4096 IIRC
12:42:13 <Deewiant> (Don't know when or how often)
12:43:21 <ais523> ugh, the should be taking the /high/ bits of rand
12:43:23 <ais523> *they
12:46:09 <Deewiant> http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/task_manager.cc grep ceGoats
12:50:50 <fizzie> That has apparently changed, since http://www.sorcerers-isle.net/article/goats_teleported.html lacks the &4095.
12:51:45 <fizzie> (And is a bit different in other respects too.)
13:11:33 -!- oerjan has quit ("leaving").
13:14:10 <AnMaster> ais523, if rand isn't random enough in the low bits, it is a broken implementation
13:14:46 <AnMaster> ais523, also I heard suggestions that the mid-bits were even better
13:14:48 <AnMaster> forgot where
13:16:20 -!- Sgeo_ has joined.
13:17:21 -!- Sgeo_ has quit (Read error: 104 (Connection reset by peer)).
13:25:54 <Deewiant> http://www.dina.kvl.dk/~abraham/religion/one-true-editor.html
13:26:43 <ais523> I don't think people normally get into holy wars about individual versions of Emacs...
13:26:46 <ais523> (also, seen it before)
13:33:41 <Deewiant> I was wondering if there was any precedent for that
13:34:23 -!- Sgeo has quit (Read error: 110 (Connection timed out)).
13:38:42 -!- kar8nga has quit (Remote closed the connection).
13:39:53 -!- soupdragon has quit ("Leaving").
14:05:01 -!- augur has quit (Read error: 60 (Operation timed out)).
14:35:14 -!- kar8nga has joined.
14:42:22 -!- soupdragon has joined.
14:54:44 -!- MizardX has joined.
15:23:21 -!- AnMaster_ has joined.
15:23:41 -!- AnMaster has quit (Connection reset by peer).
15:28:13 -!- AnMaster_ has changed nick to AnMaster.
16:00:02 -!- FireFly has joined.
16:03:47 -!- MizardX- has joined.
16:03:52 -!- MizardX has quit (Read error: 104 (Connection reset by peer)).
16:04:23 -!- MizardX- has changed nick to MizardX.
16:10:28 -!- fadein has joined.
16:10:43 -!- fadein has left (?).
16:45:51 -!- BeholdMyGlory has joined.
16:52:42 -!- cheater has quit ("Verlassend").
17:00:43 -!- MigoMipo has joined.
17:07:48 -!- kar8nga has quit (Remote closed the connection).
17:26:48 -!- pikhq has quit (Connection reset by peer).
17:36:58 -!- pikhq has joined.
17:44:26 <fizzie> Heh, that compose + < + 3 → ♥ thing made me go look at that default Compose file; the one immediately above that rule is equally frivolous: <Multi_key> <C> <C> <C> <P> : "☭" U262D # HAMMER AND SICKLE
17:58:44 -!- cal153 has joined.
18:10:49 -!- ais523_ has joined.
18:14:22 -!- kar8nga has joined.
18:21:52 -!- ais523 has quit (Nick collision from services.).
18:21:54 -!- ais523_ has changed nick to ais523.
18:55:13 -!- ehirdiphone has joined.
18:55:18 <ehirdiphone> taxonomy
18:56:19 <ais523> taxostrophe
18:57:48 <ehirdiphone> Ghzxxx
18:58:03 <ehirdiphone> Ehirdos would solve world hunger.
18:58:17 -!- ehirdiphone has quit (Client Quit).
18:58:32 -!- ais523 has quit (Remote closed the connection).
18:58:34 -!- ehirdiphone has joined.
19:01:01 <ehirdiphone> tax ass trophy
19:01:09 -!- ehirdiphone has quit (Client Quit).
19:21:12 -!- MigoMipo has quit ("co'o rodo").
19:22:05 <soupdragon> noobs are fucking lol
19:22:13 <soupdragon> I wish I was a noob
19:29:49 -!- sebbu2 has changed nick to sebbu.
19:41:05 -!- kar8nga has quit (Remote closed the connection).
19:42:16 <soupdragon> anyone into semiotics
19:42:28 <soupdragon> I'm trying to find a word for something..
21:42:36 -!- augur has joined.
21:43:19 -!- kar8nga has joined.
22:01:23 -!- madbr has joined.
22:01:33 <madbr> http://pastebin.com/f50b6b4b0 <- anouncing Ainor computer/console design compo
22:09:09 -!- ehird has joined.
22:09:44 <ehird> Patio.
22:10:34 <ehird> 03:50:46 <fizzie> I'm not so sure about those default colors either: http://www.cis.hut.fi/htkallas/maemo-xchat.png
22:10:37 <ehird> Wow; how high DPI is that thing?
22:13:38 -!- augur has quit (Read error: 54 (Connection reset by peer)).
22:13:55 -!- augur has joined.
22:14:11 <pikhq> map_(gen_list(0, num), do_print);
22:14:21 <pikhq> I DISBELIEVE IN C FOR LOOPS!
22:14:39 <soupdragon> I don't beleive in c
22:14:55 <ehird> soupdragon: or spelling.
22:18:56 <ehird> pikhq: http://hackage.haskell.org/package/base-unicode-symbols
22:18:59 <ehird> Awesome, or awesome?
22:20:37 <ehird> Especially:
22:20:40 <ehird> (⊥) ∷ α
22:20:41 <ehird> (⊥) = undefined
22:21:23 <pikhq> ehird: I'm going with "awesome".
22:21:54 <ehird> Note how that :: is the relevant Unicode symbol, and that alpha really is an alpha.
22:22:05 <soupdragon> ??
22:22:16 <soupdragon> sucks to have to write (⊥) rather than ⊥
22:22:30 <ehird> Well, the operators are rather more practical.
22:22:32 <ehird> But it's still awesome.
22:22:48 <ehird> Also, do you have to do that if you just do "foo = ⊥"? I guess so.
22:22:49 <ehird> Still.
22:25:13 <fizzie> ehird: 266 DPI; 800x480 in 3.5 inches diagonal.
22:25:16 <ehird> The only issue is adding all these wonderful symbols to compose. :-)
22:25:23 <ehird> fizzie: Okay, I want to buy an N900 now.
22:25:34 <ehird> fizzie: And it can just run any old GTK app and it transmogrifies to be sort-of-phone-usable?
22:26:02 <fizzie> Well, you probably have to do *some* hacking while compiling, but pretty much so.
22:26:29 <ehird> Is the phone fast?
22:26:38 <ehird> 600 MHz ARM is good, but any crappy lag or whatever?
22:26:54 <ehird> "Input Resistive touchscreen"
22:26:57 <ehird> Never mind; I don't want it.
22:27:13 <fizzie> I think we talked about the resistiveness at some point.
22:27:32 <fizzie> The screen itself is not unique in "high-end" phones; the Motorola Droid has a 3.7" 854x480 (that's ~16:9 aspect ratio) which ends up being about the same thing; it's probably capacitive too. Of course that's Android.
22:27:41 <ehird> But Android is shit.
22:27:43 -!- kar8nga has quit (Remote closed the connection).
22:28:16 <ehird> How's the keyboard?
22:29:11 <fizzie> Well, I like it, but it's obviously a bit cramped. The only-three-rows design also means there's not so many keys; numbers and letters overlap. (Of course you can lock the "fn" key that produces numbers by double-pressing it.)
22:29:38 <ehird> Any oleophobic magic to remove smudges?
22:30:15 <fizzie> No. But I hear they released fingerprint-hating stick-on plastic covers with NANOTECH few days ago.
22:30:28 <fizzie> Maybe not "released" but at least said they were going to.
22:30:39 <fizzie> "They" in this case is some company whose name I've forgotten.
22:31:20 <ehird> I guess you mostly use the stylus.
22:31:25 <fizzie> An unmodified GTK app ends up with tiny menus -- about the same size as the scrollbars there -- that are only usable with the stylus (or a long fingernail, I guess); so it doesn't really automagically convert GTK apps to use the thumb-friendly "Hildon" UI.
22:32:02 <fizzie> Well, I'm a filthy stylus lover. In general it's a lot more finger-friendly than the previous tablets, though.
22:32:02 <ehird> There's a Unicode character for >>=, right?
22:32:09 <ehird> TeX has something for it.
22:32:14 <ehird> http://upload.wikimedia.org/math/3/7/e/37ec8941ea59dc16a9cfdb172cea75e3.png
22:32:27 <fizzie> Maemo 6 devices will do capacitive multitouch, or that's the rumour anyway.
22:33:31 <fizzie> That doesn't look very pretty; the ≫ and = parts seem to overlap a bit uglily.
22:34:06 <madbr> http://pastebin.com/f6530df28 <- ainor contest (now with NTSC and VGA timing suggestions)
22:34:27 <ehird> fizzie: Oh, maybe it's just italic (≫=).
22:34:34 <ehird> Which is perfectly doifiable in HASKELL THE ULTIMATE
22:35:06 <ehird> The Haskell the Ultimate papers: Haskell the Ultimate Functional Language, Haskell the Ultimate Imperative Language, Haskell the Ultimate Logical Language, Haskell the Ultimate Toaster
22:36:08 <fizzie> My font is lacking most of the "supplemental mathematical operators" block; there could be that sign there.
22:36:36 <fizzie> Can't seem to notice it in http://www.unicode.org/charts/PDF/U2A00.pdf though; but there's a whole pile of otherwise silly ones.
22:36:45 <fizzie> There's that "::=" single-character thing.
22:37:11 -!- madbr has quit ("Radiateur").
22:37:25 <fizzie> And a three-line variant of #, and some sort of '<<<<' except all the angles are inside, and one with four integral signs put together.
22:38:12 <fizzie> 2A97 "slanted equal to or less-than with dot inside".
22:38:16 <ehird> xD
22:39:26 <fizzie> One has to wonder what exactly the "less-than above greater-than above double-line equal" sign is used for.
22:39:51 <ehird> What's ++ in Unicode? I know it has a symbol.
22:41:00 <fizzie> Not sure; U+29FA DOUBLE PLUS is in fact a single horizontal line with two vertical strokes: ⧺ (that's even in my font).
22:41:32 <fizzie> ⧺... now I just need "ungood".
22:41:38 <ehird> wat
22:42:24 <fizzie> Doubleplusungood. Newspeak, you know.
22:43:38 <ehird> Kragen Sitaker has an XCompose repository; wonder if it has goodise.
22:43:41 <ehird> *goodies
22:43:43 <ehird> fizzie: harhar
22:44:31 <fizzie> I wonder why the :) and :( compositions don't work; that /usr/share/X11/locale/en_US.UTF-8/Compose file I think it's using by default does have <Multi_key> <colon> <parenright> : "☺" U263A.
22:44:46 * pikhq should try and make a fixed-point combinator for C.
22:46:40 <ehird> Why oh why would you espy Y?
22:47:23 <pikhq> Makes recursing lambdas cleaner.
22:48:09 <soupdragon> how do you do lambda in C
22:48:24 <pikhq> Just a moment.
22:49:27 <pikhq> http://sprunge.us/DUSj
22:49:39 <soupdragon> ah okay
22:49:50 <soupdragon> doesn't it create a lot of garbage?
22:49:56 <soupdragon> which is never returned?
22:50:04 <ehird> #ifndef LAMBDA_H
22:50:05 <ehird> #define LAMBDA_H
22:50:07 * ehird kicks pikhq
22:50:08 <ehird> http://doc.cat-v.org/bell_labs/pikestyle
22:50:12 <ehird> Read until understanded.
22:50:33 <ehird> soupdragon: I don't see why
22:50:40 <ehird> it doesn't cons
22:50:45 <soupdragon> because lambda is recursive..
22:51:06 <ehird> (pikhq: Specifically, read the last section.)
22:52:26 <pikhq> ehird: "ROB PIKE SAYS INCLUDE GUARDS ARE BAD THEREFORE YOU SHOULD STOP FOLLOWING A C CONVENTION. ALSO IMMA KICK YOU."
22:53:05 <ehird> You will note that linking to a page with justification is not argument by authority.
22:53:31 <ehird> Include guards are an unneccessary hack, and "C convention" is a laughable phrase; very few exist, and some of them are rubbish.
22:53:46 <ehird> Not following this convention makes code more understandable, removes a hack, and speeds up compilation.
22:54:01 <ehird> So I see absolutely no part of the argument that is an appeal to authority.
22:54:06 <ehird> It's just sanity.
22:54:17 -!- BeholdMyGlory has quit (Read error: 104 (Connection reset by peer)).
22:54:51 <pikhq> And doesn't deal with any of the reasons for the hack.
22:55:16 <ehird> Notable is that Plan 9 follows this anti-convention throughout.
22:55:35 <ehird> It doesn't have any issues at all with includes.
22:57:28 <pikhq> Would you be happier with #pragma once?
22:57:50 <ehird> No; it is unneccessary if you simply follow the rule in Pike's document.
22:58:08 <ehird> And, also, unportable, whereas following The Rule™ works, well, everywhere.
22:58:44 <pikhq> ... I'm relying on undocumented behavior of a GCC extension. I don't think portability is an issue.
22:58:57 <ehird> Yes, but this is a matter of general style.
22:59:11 <ehird> Why would you use an unportable solution in only unportable code when a portable solution works always?
23:01:37 <ehird> http://github.com/leoboiko/pointless-xcompose
23:01:38 <ehird> http://canonical.org/~kragen/setting-up-keyboard.html
23:01:41 <ehird> http://github.com/kragen/xcompose
23:01:43 <ehird> So many choices!
23:02:20 <ehird> 6. Restart your apps (and perhaps X the first time) — XCompose
23:02:22 <ehird> settings only apply for new windows. I do suspect you need an
23:02:23 <ehird> UTF-8 locale set, though I didn’t test.
23:02:28 <ehird> Ah; that explains it.
23:04:17 <ehird> ⪔ U+2A94 GREATER-THAN ABOVE SLANTED EQUAL ABOVE LESS-THAN ABOVE SLANTED EQUAL
23:07:07 -!- iamcal has joined.
23:08:46 <Gregor> ehird: Useful.
23:08:52 <ehird> Quite so.
23:09:00 <ehird> After I set this up I will be a unicode monster!
23:09:17 <Gregor> I guess that symbol does mean that they're not incomparable.
23:09:17 <ehird> And be able to write (≫=) ∷ Monad m ⇒ m α → (α → m β) → m β COMPLETELY UNAIDED
23:09:59 <ehird> Compose :: Monad m Compose => m Compose *a Compose -> etc.
23:10:09 <ehird> I should probably swap [] and () while I'm at it.
23:14:46 -!- oerjan has joined.
23:14:57 <ehird> Good MORNING oerjan
23:15:57 -!- FireFly has quit ("Leaving").
23:16:28 <oerjan> well, technically, maybe
23:19:16 <oerjan> also, i had the vague impression >>= came from a _single_ math symbol, the kleisli star
23:19:59 <oerjan> although i see the first google hit for kleisli star uses the phrase "its Haskell counterpart »="
23:20:27 <ehird> ≫= is more correct for >>=
23:20:35 <ehird> but if there's a single symbol, sign me up!
23:21:01 <ehird> -- A generalised variant of the Kleisli star (flip bind, or
23:21:02 <ehird> -- concatMap).
23:21:11 <ehird> ⋆ is the symbol it uses
23:21:13 <ehird> (Agda library)
23:23:23 <ehird> Unicode has a character called GNABORRETNI, I am so happy
23:24:19 <oerjan> eek
23:25:12 -!- cal153 has quit (Read error: 113 (No route to host)).
23:25:19 <ehird> “Why is «“» typed as «<Multi_key> <less> <quotedbl>»? Don’t these X11-tards know ANYTHING? Clearly it should be «<Multi_key> <backtick> <backtick>».” —ehird
23:25:33 <ehird> That took far too long.
23:26:15 <Gregor> Hm, it really ought to be ``...
23:26:32 <Gregor> “Foobar”
23:26:34 <ehird> Yeah.
23:26:52 <ehird> I'm halfway to just ignoring the stock Compose files and writing my own collection of meticulously-crafted entries.
23:26:57 <ehird> They're not very good quality.
23:27:34 <ehird> I wish there was a way to make it break typing flow less, though; for some reason it seems to with me.
23:28:37 <ehird> Things that it is Impossible to Search the Web For, Part n: swap [] and () x11
23:28:44 <ehird> Solution: http://canonical.org/~kragen/setting-up-keyboard.html
23:36:58 <ehird> hmm
23:37:08 <ehird> all malloced pointers are aligned to even addresses
23:37:13 <ehird> but what about calloc and the like?
23:37:56 <ehird> it would be nice if you could align things to odd addresses, instead, so that you can represent small integers as nnn0 and you can use arithmetic operations directly
23:38:10 <ehird> only dividing when outputting etc
23:40:22 <ehird> Gregor: btw in case you don't know (I didn't), posix-manpages-dev lets you do `man foo.h`
23:40:27 <oerjan> isn't even addresses for > 1 byte word lengths required by the underlying efficient machine code instructions? only my vague impression though, not that i actually _know_
23:40:32 <ehird> and it works! (albeit gives POSIX results, not system-specific)
23:40:39 <ehird> oerjan: dunno, perhaps
23:41:22 <ehird> By default, Linux follows an optimistic memory allocation strategy.
23:41:24 <ehird> This means that when malloc() returns non-NULL there is no guarantee
23:41:25 <ehird> that the memory really is available. This is a really bad bug.
23:41:27 <ehird> I thought it was considered a feature.
23:42:11 <oerjan> it's a feature until someone depends on it actually being available
23:48:56 <pikhq> ehird: Is that man page written by a Linux dev, or someone else? ;)
23:49:02 <ehird> pikhq: Linux dev.
23:49:09 <pikhq> Huh.
23:49:09 <ehird> It's malloc(3).
23:49:21 <ehird> The first bug ever to have a configuration setting to turn it off :)
23:49:24 <pikhq> Yeah, that's a Linux man page.
23:58:24 <ehird> http://hackage.haskell.org/package/empty-9
23:58:26 <ehird> Nice version bump there
23:58:32 <ehird> It's even a proper upgrade; it got more empty
2010-01-14
00:01:16 <oerjan> empty set 9.1
00:01:29 <soupdragon> haskell
00:01:30 <soupdragon> LOL
00:02:03 <ehird> soupdragon: your "haskell → make comment about haskell sucking" rule is becoming very boring very quickly.
00:02:29 <soupdragon> that's just because your a haskell sympathizer
00:02:50 <soupdragon> I use a real language (LISP) which can do more than just compute factorials
00:03:11 <pikhq> soupdragon: ... You call that a real language? It's not even functional!
00:03:12 <oklofok> why would anyone want that
00:03:50 <soupdragon> functional programming Doesn't Work, see the popular blog post by popular blogger
00:04:30 <pikhq> soupdragon: Said popular blogger is dumber than a a sack of bricks.
00:04:33 <ehird> pikhq: soupdragon likes agda, he's just trolling you
00:04:39 <ehird> incredibly successfully
00:04:40 <pikhq> And just as willfully ignorant.
00:04:42 <soupdragon> I would never use agda!!!
00:04:51 <pikhq> Alright, then.
00:04:52 <soupdragon> I'm strictly into dynamic languages
00:04:55 <pikhq> Imma go back to my functional C.
00:05:04 <soupdragon> functional C is a myth.
00:05:17 <soupdragon> the only thing C is good for is computing kernels
00:05:50 <soupdragon> that didn't work quite as wel :(
00:05:54 <pikhq> No, no, no. For loops are a myth.
00:06:05 <soupdragon> if you use for loops you are educated evil
00:06:17 <pikhq> Good thing I don't.
00:06:40 <soupdragon> real languages have a simulataneous for-loop recursion combinator
00:07:05 <pikhq> Like... Map?
00:08:06 <ehird> It would be fun having a language which enforces parallelism
00:08:11 <ehird> i.e. its map is strictly parallel map
00:10:02 <ehird> it would be perfect for implementing a bug-free, efficiently multithreaded real-time clock + infix calculator hybrid application
00:10:13 <soupdragon> woah
00:11:32 <ehird> i just broke soupdragon's BRAIN
00:12:05 <soupdragon> yeah that was like when the guy went through the worm hole and it turned out the planet of the apes was earth
00:12:31 <soupdragon> everything just turned upside down and inside out
00:12:49 <soupdragon> for an instant everything was one
00:14:17 <ehird> deep, man
00:14:19 <ehird> deep
00:14:26 <soupdragon> deepseq
00:14:31 <soupdragon> (lol)
00:22:09 <ehird> actually
00:22:18 <ehird> you could achieve that just by making all the base functions parallel
00:22:22 <ehird> like, if (:) is parallel
00:22:26 <ehird> then the basic map definition is too
00:22:42 <soupdragon> that's clever
00:22:57 <ehird> so as long as you don't offer seq, you have a totally parallel language
00:23:10 <ehird> of course, io becomes a "little" difficult
00:24:07 <pikhq> ehird: Eh, main :: InputStream -> OutputStream.
00:24:27 <ehird> pikhq: heh, that has the amusing consequence that all the program's computation is done in parallel in the background
00:24:31 <ehird> unless it depends on IO
00:24:37 <pikhq> Heheh.
00:24:38 <ehird> in which case it starts as soon as the relevant variable is available
00:24:41 <ehird> actually, that's kinda cool
00:24:45 <ehird> optimal use of cpu
00:29:55 <ehird> I ought to spec poop sometime.
00:41:18 <oerjan> ehird: making _everything_ parallel has the slight disadvantage that threading overhead completely eats up any performance gain
00:41:37 <ehird> oerjan: well, a sufficiently smart compiler will sequentialise small expressions.
00:41:43 <ehird> QED
00:41:59 <pikhq> A sufficiently smart compiler will replace your program with a constant expression.
00:42:07 <ehird> not if it depends on user input!
00:42:11 <oerjan> also, those sufficiently smart compilers are impossible to make
00:42:28 <ehird> oerjan: ask Omega to write them.
00:42:29 <pikhq> A sufficiently smart compiler will force user input to allow for this.
00:42:29 <oerjan> at current technology anyway
00:42:32 <ehird> Problem solved by virtue of singularity
00:45:06 -!- soupdragon has quit ("Leaving").
00:53:21 -!- augur has quit (Read error: 110 (Connection timed out)).
01:01:51 -!- coppro has joined.
01:15:45 -!- coppro has quit (Remote closed the connection).
01:16:12 -!- coppro has joined.
01:20:50 -!- oklofok has quit (Read error: 54 (Connection reset by peer)).
01:28:18 <ehird> Someone ask me about ehirdOS!
01:28:19 -!- Pthing has joined.
01:29:58 <pikhq> ehird: About ehirdOS?
01:30:45 <ehird> I did not enquote that!
01:33:29 <pikhq> Fine, fine.
01:33:29 <pikhq> ehird: ehirdOS?
01:34:00 <ehird> pikhq: ehirdOS! Be more specific, that's like saying "X." to Prolog.
01:34:29 <pikhq> ehird: What, exactly, is there about ehirdOS that is making you state "Someone ask me about ehirdOS!"?
01:34:46 <ehird> It's awesome and revolutionises computation and yeah.
01:35:02 <pikhq> Anything new regarding the matter?
01:35:25 -!- augur has joined.
01:37:25 <ehird> pikhq: Well, I thought about it more and changed my mind a bit and stuff.
01:37:28 <ehird> Nothing too specific. :P
01:39:28 <pikhq> ehird: Details, por favor?
01:42:20 <ehird> pikhq: About ehirdOS or the changes?
01:42:31 <ehird> Bear in mind that it's ephemeral enough that it never really changes, only its... location in... concept... space.
01:42:34 <pikhq> Regarding the changes.
01:43:35 <ehird> You are a tricksy, difficult fellow.
01:43:41 <ehird> Can't you ask me something general and timeless? :P
01:44:03 <pikhq> How many roads must a man go down?
01:44:56 <ehird> I really want to shoot you sometime.
01:44:59 <ehird> *you now
01:45:12 <pikhq> :P
01:45:20 <ehird> (↑ This is your brain trying to degeneralise types.)
01:45:22 <ehird> (Any questions?)
01:46:02 <pikhq> I point my gun at your foot. I pull the trigger.
01:46:12 <pikhq> I will, in a bit, observe your foot.
01:46:17 <pikhq> Expect pain.
01:47:15 * pikhq observes ehird's foot
01:47:39 * pikhq hears the evaluation of pullTrigger :: Gun -> IO a
01:47:41 <ehird> let foot' = shoot foot in foot' `seq` ()
01:49:46 <coppro> I love freenode's infinite timeouts
01:50:24 -!- augur_ has joined.
01:50:36 <ehird> I love your mom
01:50:40 <ehird> :|
02:04:17 <ehird> okay SOMEONE ask about ehirdOS
02:04:22 <ehird> :|
02:05:17 <ehird> Even if it's augur_
02:05:27 <ehird> Not coppro though, I don't feel like _defending_ it :D
02:05:27 <augur_> no.
02:06:55 <coppro> :D
02:09:45 -!- coppro has quit ("I am leaving. You are about to explode.").
02:10:08 -!- coppro has joined.
02:11:48 -!- augur has quit (Read error: 110 (Connection timed out)).
02:14:17 -!- anmaster_l has quit (Read error: 60 (Operation timed out)).
02:17:53 -!- Slereah_ has quit.
02:18:45 <coppro> I'm so weird
02:18:56 <coppro> I'm finally done with school for the semester and I feel nothing less than an urge to do more math
02:19:04 <coppro> (actual schoolwork math, not fun math)
02:20:19 -!- augur_ has quit (Read error: 104 (Connection reset by peer)).
02:20:24 -!- augur has joined.
02:27:53 <ehird> coppro: okay fine ask me about ehirdOS
02:27:56 <ehird> I DEAL WITH WHAT I CAN GET
02:28:26 <oerjan> but that is not schoolwork math, so clearly he is not interested
02:28:27 <coppro> ehird: How much time is it taking away from Amend?
02:28:49 <ehird> coppro: Brain time, a fair amount. Coding time? You're kidding me; no way is it ready for coding yet.
02:28:57 <ehird> ehirdOS is the first known instance of the First System Syndrome.
02:28:57 <coppro> :P
02:29:08 <ehird> My roadmap includes terms like "in ten years".
02:29:15 <ehird> (imaginary insofar as it's only in my head)
02:29:24 <ehird> coppro: also, *amend
02:29:31 <coppro> oh ok
02:43:57 -!- augur has quit (Read error: 104 (Connection reset by peer)).
02:44:19 -!- augur has joined.
03:31:06 -!- MizardX has quit (Connection timed out).
04:05:01 -!- augur has quit (Read error: 54 (Connection reset by peer)).
04:05:41 -!- augur has joined.
04:18:09 -!- coppro has quit ("I am leaving. You are about to explode.").
04:46:39 -!- augur has quit (Read error: 60 (Operation timed out)).
05:06:22 -!- Slereah has joined.
05:22:08 -!- ehird has quit (Read error: 60 (Operation timed out)).
05:23:22 -!- augur has joined.
05:46:35 -!- coppro has joined.
05:58:52 -!- oerjan has quit ("Good night").
06:32:41 -!- coppro has quit (Remote closed the connection).
07:06:27 -!- kar8nga has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:48:15 -!- Pthing has quit (Remote closed the connection).
09:02:26 -!- Slereah_ has joined.
09:04:28 -!- ais523 has joined.
09:12:22 -!- Slereah has quit (Read error: 110 (Connection timed out)).
09:39:57 -!- Pthing has joined.
09:47:07 -!- comex has quit (Read error: 110 (Connection timed out)).
10:05:25 -!- anmaster_l has joined.
10:16:09 -!- rodgort has quit (Client Quit).
10:17:50 -!- rodgort has joined.
11:22:06 <ais523> wow, /Evince/ has crash recovery?
11:22:15 <ais523> that's unexpected, it makes hardly any sense for a document /reader/
11:27:31 -!- BeholdMyGlory has joined.
11:35:33 -!- MizardX has joined.
11:37:03 <ais523> <AceTetra> oh no, i gave someone a terminal size virus
11:55:05 <fizzie> Is that a terminal (size virus) or a (terminal size) virus?
12:02:01 <ais523> (terminal size) virus
12:02:15 <ais523> basically, someone was playing a terminal game via dgamelaunch with an 80x26 terminal
12:02:25 <ais523> other people who wanted to watch them therefore also had to set their terminal to 80x26
12:02:33 <ais523> because it was so similar to 80x24, they forgot to set it back
12:02:40 <ais523> so when playing games themselves, they also used 80x26
12:02:42 <ais523> etc
12:13:15 <AnMaster> ais523, what? really?
12:13:20 <AnMaster> about crash recovery that is
12:13:25 <ais523> AnMaster: yes
12:13:37 <ais523> I think it remembers where in the page you'd scrolled to
12:13:43 <ais523> so you don't lose your place in a long document if your computer crashes
12:14:06 <AnMaster> <ais523> because it was so similar to 80x24, they forgot to set it back <-- 80x25 you mean?
12:14:30 <ais523> AnMaster: 80x24 is standard terminal size on Unices
12:14:32 -!- Pthing has quit (Remote closed the connection).
12:14:33 <ais523> 80x25 is a DOS size
12:14:47 <AnMaster> ais523, linux vt is 80x25 by default iirc?
12:15:00 <ais523> AnMaster: VT102 is 80x24
12:15:02 <ais523> and that's what everyone emulates
12:15:05 <AnMaster> assuming VGA console, not framebuffer one (which is usually much higher)
12:15:24 <AnMaster> ais523, everyone uses a much larger terminal window though in practise
12:15:31 <ais523> not for everything
12:15:43 <ais523> I use 80x24 when termcasting, to make it easier for other people to watch
12:15:45 <AnMaster> my konsole is 150x40 or so usually
12:15:48 <AnMaster> on my laptop
12:15:53 <AnMaster> a bit taller on my destkop
12:15:58 <AnMaster> desktop*
12:16:09 <AnMaster> ais523, termcasting?
12:16:21 <AnMaster> how do you do that
12:16:26 <ais523> AnMaster: streaming a termrec so that other people can watch what you're doing
12:16:36 <AnMaster> hm
12:16:41 <ais523> it's mostly done by roguelike players and developers, for some reason
12:16:48 <ais523> probably they're used to using ttys rather than GUI programs
12:16:52 <AnMaster> ais523, is that how it works on NAO?
12:16:53 <ais523> *streaming a ttyrec
12:16:55 <ais523> AnMaster: yes
12:17:39 <AnMaster> mhm
12:18:13 <AnMaster> ais523, also, how well does ttyrec work with ncurses programs?
12:18:24 <AnMaster> (does nethack use ncurses?)
12:18:24 <ais523> as well as with anything else
12:18:33 <AnMaster> ais523, even with ncurses mouse support being used?
12:18:36 <ais523> so long as the person who wrote the program doesn't call refresh() all the time
12:18:42 <ais523> AnMaster: that's an input
12:18:49 <ais523> termcasting streams only output
12:18:51 <AnMaster> ais523, what does refresh() do in ncurses now again
12:19:01 <ais523> actually updates the screen
12:19:04 <ais523> most other commands just update memory
12:19:18 <ais523> ttyrecs get very big if the screen is redrawn repeatedly, rather than in batches
12:19:32 <ais523> as to your question a while back, NetHack might or might not use curses depending on the build
12:19:37 <AnMaster> one reason to not use ncurses: common function names used with no ncurses-specific prefix
12:19:41 <AnMaster> bad API basically
12:19:42 <ais523> there are three different terminal drivers there, and I think only one uses curses
12:19:46 <AnMaster> a lot of them are even macros
12:23:03 <fizzie> Speaking of the curses API and Nethack; win/tty/terminfo.c from Nethack: http://pastebin.com/m42a4a870
12:23:12 <fizzie> A snippet of it, anyway.
12:24:43 -!- kar8nga has quit (Remote closed the connection).
12:25:33 -!- nodd has joined.
12:46:56 -!- kar8nga has joined.
12:50:48 -!- FireFly has joined.
12:59:11 -!- Pthing has joined.
13:16:41 <ais523> fizzie: I think that file isn't always used in a standard compile, though
13:16:44 <ais523> just to add to the fun
13:19:59 <Deewiant> ais523: "ttyrecs get very big if the screen is redrawn repeatedly" — is it completely uncompressed or something?
13:20:10 <ais523> yes
13:20:21 <ais523> it is completely uncompressed
13:20:21 <Deewiant> That's a bit unfortunate
13:20:31 <ais523> ttyrecs normally get bz2's later
13:20:38 <ais523> much like tarballs are .tar.gz
13:20:46 <ais523> let one format worry about representing the data, the other about making it small
13:21:20 <Deewiant> Well yes, so does the bigness matter much if you can stream it straight to a compressor
13:22:29 <ais523> it matters because when termcasting, ttyrecs are streamed uncompressed
13:22:49 <Deewiant> Yes, see, and that's the unfortunate bit :-P
13:23:09 <ais523> hmm, probably termcasting should be done with ssh rather than telnet
13:23:18 <ais523> it rarely uses a specialist program to receive the stream, you see
13:23:26 <ais523> and ssh can send compressed, telnet can't
13:23:32 <Deewiant> lYep
13:23:35 <Deewiant> -l
13:24:48 <AnMaster> <ais523> much like tarballs are .tar.gz <-- .tar.bz2 is equally common
13:24:54 <AnMaster> at least, since a few years
13:25:03 <ais523> well, same point applies
13:25:21 <Deewiant> .tar.Z isn't seen much these days
13:25:27 <AnMaster> Deewiant, indeed
13:25:33 <AnMaster> .tar.lzma is getting more common
13:25:38 <AnMaster> still not very common yet
13:26:29 <AnMaster> and only place I have seen pax in is ick
13:27:06 <AnMaster> <ais523> let one format worry about representing the data, the other about making it small <-- so you suggest websites should use .bmp.bz2?
13:27:15 <AnMaster> rather than gif or png or such
13:27:23 <ais523> AnMaster: that's effectively what formats like gif or png are, though
13:27:24 <AnMaster> well, some other format would be needed for transparency
13:27:32 <AnMaster> ais523, not really for png I would say
13:27:41 <ais523> but yes, .bmp.bz2 would be a reasonable image format if bmp didn't have truly awful headers
13:28:00 <AnMaster> ais523, png encoding is complex to say the least.
13:28:15 <AnMaster> I'm pretty sure 4 bit grayscale is possible
13:28:16 <ais523> it makes sense to use a compression format designed specifically for images, too
13:28:26 <ais523> rather than something generic like bz2
13:28:27 <AnMaster> 8 bit grayscale + 8 bit alpha too
13:28:32 <ais523> and that requires information about what you're compressing
13:28:52 <ais523> so if you have an image format and compression algo that basically need to be used together, why not give it a single filename
13:28:59 <AnMaster> ais523, hm. I believe png does use deflate after doing various delta encoding
13:30:18 <AnMaster> ais523, also, tiff supports deflate. It even supports row-diff encoding. krita supports saving as the latter, but gimp does not (as far as I have found). Gimp can still open row-diff encoded tiff
13:30:35 <ais523> AnMaster: you're starting to sound like zzo38, stop it
13:30:47 <AnMaster> ais523, what bit was like zzo?
13:30:54 <Deewiant> ais523: Re. "why not give it a single filename", exactly, why not do ttyrec like this ;-)
13:31:01 <ais523> the line above the one I made
13:31:05 <ais523> Deewiant: you could, I suppose
13:31:13 <AnMaster> ais523, I meant, what part of it
13:31:21 <ais523> more to the point is that ttyrec shows signs of having been written in about 10 minutes, and was good enough for the job
13:31:26 <AnMaster> sentence structure? Word choice?
13:31:33 <ais523> AnMaster: sentence structure, I think
13:31:42 <AnMaster> ais523, I can't pinpoint the issue in it
13:31:44 <ais523> and the semantic relations between the sentences there
13:31:58 <AnMaster> hm okay
13:32:25 <AnMaster> anyway, krtia is painful to use I find, still, it is better than gimp due to actually supporting what I need
13:33:07 <AnMaster> (which is: 16-bit integer per channel and 32-bit floating point per channel)
13:33:22 <AnMaster> and non-sRGB of course
13:33:28 <AnMaster> gimp supports that partly
13:33:31 <AnMaster> but not very well
13:33:56 <AnMaster> ais523, ^
13:34:09 <ais523> me, v
13:34:11 <AnMaster> ais523, btw did you see the news about google in china
13:34:26 <ais523> AnMaster: everyone in the country's seen the news about google in china, I think
13:34:31 <AnMaster> ais523, ah
13:34:32 <ais523> probably everyone in the world but some of the Chinese
13:34:38 <ais523> it's all over the tech news, all over the non-tech news
13:34:40 <AnMaster> s/some/most/
13:34:49 <AnMaster> ais523, it was in the morning newspaper today
13:34:55 <ais523> exactly
13:35:06 <AnMaster> didn't reach the front page due to the earth quake in Haiti
13:35:35 <AnMaster> (is that how it is spelt in English too?)
13:35:44 <ais523> yes, it is
13:36:03 <AnMaster> also why isn't it spelled, or even spellt?
13:37:53 <ais523> irregular verb, most languages have them
13:37:58 <ais523> and they rarely follow a pattern
13:38:01 <AnMaster> ais523, yes, still irritating
13:38:12 <ais523> in this case, it's most likely "spelt" because that's close to how the verb in question would be conjugated in German
13:38:25 <AnMaster> oh? interesting
13:38:42 <ais523> English has stolen grammar as well as words from all sorts of other languages
13:38:58 <ais523> but German's one of the more common inspirations
13:39:04 <AnMaster> is there any laptop where the built-in speakers are actually of decent quality?
13:40:45 <ais523> probably not, given that speaker quality is mostly a function of size
13:40:55 <ais523> and it's hard to fit a large speaker into a small laptop
13:41:33 <AnMaster> hm
13:41:48 <AnMaster> ais523, if that is so, how comes there are headphones that are very good quality
13:41:57 <AnMaster> I mean, studio headphones
13:41:58 <Deewiant> "spelled" is valid
13:42:10 <ais523> Deewiant: but unusual, and I think it might even have a different meaning from "spelt"
13:42:15 <ais523> English is weird
13:42:32 <AnMaster> oh yeah there was some other word like that I ran across recently
13:42:33 <Deewiant> No, I'm pretty sure it's just the US style
13:42:48 <ais523> ah yes: "I spelt the word 'wierd' but I was wrong", vs. "my name is spelled 'ais523'"
13:42:53 <ais523> I think, at least
13:42:54 <AnMaster> the other meaning was as some tool for making paper (historical, not used nowdays iirc)
13:42:58 <AnMaster> forgot what word it was
13:43:20 <ais523> a clue is technically a small wooden ball used to help with making clothes from wool
13:43:26 <Deewiant> ais523: wiktionary at least confirms my thoughts that they're equivalent but led is US and t is UK
13:43:26 <ais523> presumably, if you were clueless, it was substantially harder
13:43:33 <ais523> Deewiant: ah
14:21:18 -!- oerjan has joined.
14:28:03 <AnMaster> snowing again
14:28:05 <AnMaster> sigh
14:28:26 <oerjan> <ais523> in this case, it's most likely "spelt" because that's close to how the verb in question would be conjugated in German
14:28:41 <oerjan> i would suspect s/German/Anglo-Saxon/
14:28:42 <ais523> oerjan: is this going to be an insightful comment or a terrible pun?
14:28:46 <ais523> ah, insightful comment
14:29:05 <oerjan> hey, even i get to make those on occasion
14:29:17 <ais523> I'm talking about Old German here, probably before it was split into Low German and High German
14:29:20 <oerjan> they _are_ both descended from proto-Germanic, after all
14:29:26 <ais523> Anglo-Saxon was based on Low German, I think
14:29:33 <oerjan> hm maybe
14:29:49 <ais523> so for all I know, we're both right
14:29:58 <ais523> I'm slightly disappointed at the lack of a terrible pun, though
14:30:12 <ais523> although one of the headlines in the paper a couple of days ago was so a pun so bad it physically hurt
14:30:40 <oerjan> on the other hand, Norwegian frequently varies between -t and -d as ending, for supposedly regular verbs
14:31:27 <oerjan> (sometimes -a to, i think that was -ad originally)
14:31:35 <AnMaster> what is the English name for those (most commonly yellow) vehicles that aren't used to dig in the ground, but to load sand and such into trucks
14:31:47 <oerjan> but then so does english, when you look at pronunciation
14:32:04 <ais523> AnMaster: most commonly known by the brand name of the major manufacturer, JCB
14:32:08 <ais523> I'm not entirely sure what the generic name is
14:32:11 <oerjan> hm it's still -ad/-ade in swedish isn't it
14:32:16 <AnMaster> hm
14:32:21 <Deewiant> Backhoe?
14:32:21 <AnMaster> oerjan, what is?
14:32:31 <oerjan> past verb endings
14:32:35 <oerjan> for some verbs
14:32:55 <fizzie> Deewiant: You do dig ground with a backhoe.
14:33:09 <fizzie> As far as I know, anyway.
14:33:47 <fizzie> JCB's listed in wiktionary as a case of trademark erosion: http://en.wiktionary.org/wiki/JCB
14:33:50 <oerjan> ais523: what was that pun in the paper
14:34:07 <AnMaster> ais523, there is one clearing away all the snow that has ended up on the sidewalks after being cleared away from the streat. Filling up trucks (that operate in a round robin fashion, that is to say, one is being filled up while the other two are being driven to/from wherever they dump the snow)
14:34:08 <ais523> oerjan: it was an article about a Cher impersonator
14:34:13 <ais523> called "Cher and Cher-alike"
14:34:30 <AnMaster> I guess you don't need to clear away the snow in UK to prevent flooding when it melts
14:34:32 <ais523> I have a feeling that they thought up the headline first, then tried to engineer a story to apply it to
14:34:40 <AnMaster> considering how little snow there usually is there ;P
14:34:44 <oerjan> ...oh... does that even make sense to a non-geek :D
14:35:02 <ais523> oerjan: yes, but it contains a cultural reference you possibly missed
14:35:07 <AnMaster> <oerjan> for some verbs <-- well yes
14:35:07 <oerjan> hm?
14:35:12 <ais523> AnMaster: we do get flooding when it melts, but we get flooded quite a lot anyway, with rain
14:35:21 <AnMaster> hah
14:35:25 <ais523> so I think the efforts go more towards dealing with all the water when it's in water form rather than snow form
14:35:40 <AnMaster> right
14:36:11 <oerjan> ais523: well cher-alike = share-alike is what i thought, which is afaik license terminology
14:36:27 <AnMaster> about 15 meters (length along sidewalk that is) worth of snow seems to fill up one truck
14:36:28 <ais523> oerjan: "share and share alike" is an English phrase
14:36:33 <oerjan> oh
14:36:37 <ais523> I think the licence name is a reference to the same phrase
14:36:51 <oerjan> ok then
14:37:38 <AnMaster> actually not just the sidewalk, the street is considerably wider after they cleared it away
14:37:52 <AnMaster> (the snow, not the street)
14:38:48 <ais523> "sidewalk" is a US term, the UK equivalent is "pavement"
14:38:58 <ais523> annoyingly, "pavement" has a US meaning too, making it rather ambiguous
14:39:33 <oerjan> AnMaster: it _is_ nice to actually be able to walk on the sidewalk rather than in the middle of the road too, so i'm not sure it is just flooding :D
14:40:24 <oerjan> although without a flooding issue it might very well be an easier target for those inevitable cost-cuttings
14:41:35 <oerjan> which it already is, around here
14:43:56 <oerjan> one advantage of the really cold weather we've got now is that the snow stays mostly as is rather than turning into the ice that makes everyone complain about bad clearing
14:49:33 <AnMaster> oerjan, it is nice to be able to actually have two cars meet on the road
14:49:45 <AnMaster> as in, the snow was (almost) preventing that
14:51:14 * oerjan might have remembered that if he actually drove a car :)
14:51:52 <oerjan> well, i guess busses actually have that problem even worse
14:52:09 <ais523> it seems people have been walking on the canal over here, judging by the footprints
14:52:28 <oerjan> ais523: no mysterious breaks in the ice at the end?
14:52:33 <ais523> although, some people got arrested for reckless driving after trying to drive a car down a canal, with the ice breaking beneath them
14:52:35 <ais523> oerjan: not for the people
14:53:57 <AnMaster> ais523, there are winter roads over lakes in Sweden
14:54:11 <AnMaster> well, some years. This year definitely
14:54:32 <AnMaster> ais523, also getting arrested for that doesn't seem like their largest issue
14:54:45 <fizzie> Lake-ice-roads exist here too.
14:54:58 * oerjan sees Steve has found something to wrestle
14:55:18 <ais523> AnMaster: well, they survived
14:55:22 <fizzie> Though I'm not aware of any here in southern Finland; but there's one across Pielinen.
14:55:25 <AnMaster> ais523, did the car?
14:56:12 <ais523> AnMaster: it's still in the canal, as far as I know
14:57:25 <AnMaster> ais523, well, that seems like a pretty large issue
14:57:48 <fizzie> Coincidentally, they've apparently just (Jan 10th) checked the ice for that particular road; seems there's 23-31 cm of ice there right now.
14:57:49 <ais523> I think the jailtime / large fine is likely to be just as large
14:58:09 <AnMaster> hm
14:58:48 <AnMaster> fizzie, there is one to an island in Hjälmaren. in north/south direction it would be slightly south of stockholm (but near the middle of the country in east/west direction at that point
14:58:55 <AnMaster> (roughly))
14:59:14 <fizzie> (It's quite a shortcut: the road-distance from the nearby skiing resort thing to the geographically-closest town shrinks from 76 km to 14 km when they open the (7 km) road.)
15:01:00 <fizzie> It doesn't seem to be open right now; they open it when the ice thickness reaches 40 cm. And there are all kinds of restrictions; maximum vehicle weight 3000 kg, minimum distance between vehicles 50 m, no overtaking or stopping.
15:02:32 <AnMaster> fizzie, and low speed I assume
15:02:35 -!- sebbu2 has joined.
15:02:51 <fizzie> 50 km/h, I think. So yes.
15:03:04 <fizzie> Here's also a photo, although it's spectacularly boring: http://www.tiehallinto.fi/pls/julia/docs/9679.JPG
15:03:12 <AnMaster> I think the lake roads here are at 40 km/h or such
15:03:13 <fizzie> I mean, it's just flat snowy field.
15:03:31 <AnMaster> fizzie, there is even a tree there
15:03:36 <AnMaster> are you sure it is correct?
15:03:54 <fizzie> Yes, they stick branches to the snowbanks to mark the road a bit.
15:03:59 <fizzie> That's not much of a tree.
15:04:01 <AnMaster> ah
15:04:28 <AnMaster> fizzie, you get trees of that size if you go far enough north in Sweden
15:05:22 -!- kar8nga has quit (Remote closed the connection).
15:08:51 -!- sebbu has quit (Read error: 60 (Operation timed out)).
15:08:52 -!- sebbu2 has changed nick to sebbu.
15:09:18 <fizzie> Oh, a colleague from work had photographed those snowy trees better; the university campus has some outdoor tree-lighting going on. http://ouzo.kuvat.fi/kuvat/Muuta/Talvi10/Otaniemi1201-007.jpg for example.
15:10:20 <fizzie> Actually http://ouzo.kuvat.fi/kuvat/Muuta/Talvi10/Otaniemi1201-013.jpg was the one I *meant* to give as an example.
15:10:39 <fizzie> Because it has that "facility management and security" sign in a spooky-ish environment.
15:17:06 -!- zeotrope has joined.
15:30:46 <AnMaster> fizzie, nice they added Swedish text too
15:30:55 -!- soupdragon has joined.
15:31:30 <fizzie> Well, it's an official sort of a language.
15:31:49 <fizzie> We have mandatory Swedish exams as a part of the university degree and all.
15:45:47 -!- Cerise_ has changed nick to Cerise.
15:46:07 -!- oerjan has quit ("leaving").
15:46:17 -!- Cerise has changed nick to Guest32065.
16:16:41 -!- soupdragon has quit ("Leaving").
16:28:16 -!- ehird has joined.
16:36:45 <ehird> "Helpful hint: Every time you think the answer to a practical question is the Halting Problem, you are most likely wrong.
16:36:46 <ehird> No, really. Every time."
16:39:42 -!- nodd has quit ("( www.nnscript.com :: NoNameScript 4.2 :: www.regroup-esports.com )").
16:45:18 <Ilari> Also, NP-complete. NP-complete is only about the worst cases, the best and usual cases can be clearly subexponential.
16:48:09 -!- nodd has joined.
16:48:15 -!- Pthing has quit (Remote closed the connection).
16:50:13 -!- nodd has quit (Read error: 54 (Connection reset by peer)).
16:50:33 -!- nodd has joined.
16:51:17 -!- kar8nga has joined.
16:59:53 <AnMaster> <ehird> No, really. Every time." <-- how do you mean?
17:00:08 <ehird> 1. It's a quote, thus the quote marks.
17:00:15 <ehird> 2. What do you mean, "how do you mean"?
17:00:18 <AnMaster> oh right splot over two lines
17:00:23 <AnMaster> split*
17:00:38 <AnMaster> didn't notice that the quote didn't end with the first line
17:02:09 <AnMaster> ehird, as in, I'm pretty sure that "you can't parse all perl (perl 5 at least) code without executing it" seems like a good example of a practical problem where the answer is a result of the halting problem
17:02:40 <ehird> That's not a practical problem. After all, people *do* parse and manipulate Perl source code, or rather Perl documents (I think that's the right terminology).
17:03:00 <AnMaster> perl documents XD
17:03:18 <ehird> [[The purpose of PPI is not to parse Perl Code, but to parse Perl Documents. By treating the problem this way, we are able to parse a single file containing Perl source code "isolated" from any other resources, such as libraries upon which the code may depend, and without needing to run an instance of perl alongside or inside the parser.]]
17:03:21 <AnMaster> ehird, and esolangs in general is not a practical problem by that definition
17:03:25 <ehird> And people actually use it.
17:03:32 <ehird> AnMaster: Of course esolangs aren't practical...
17:03:51 <AnMaster> ehird, *some* esolang are almost practical
17:03:57 <ehird> Not really.
17:04:33 <AnMaster> befunge98 comes to mind as being one of the almost practical ones
17:05:22 <AnMaster> hm btw, has anyone considered a 2D intercal. While I admit I'm not certain about how, I do have a few vague ideas.
17:05:48 <AnMaster> (it would probably be non-deterministic
17:05:58 <AnMaster> )
17:06:01 <ais523> AnMaster: there's IFFI
17:06:11 <AnMaster> ais523, well I meant in intercal itself
17:06:27 <ais523> befunge + iffi works pretty intercal-like
17:06:32 <ais523> at least, it has the same control structures
17:06:41 <ehird> Befunge98 is barely esoteric, though.
17:06:48 <AnMaster> ais523, the interpreter would execute the code either horizontally or vertically, possibly alternating between lines/columns
17:06:50 <AnMaster> hm
17:06:57 <ehird> *Befunge-98
17:07:01 <AnMaster> needs more work I admit
17:07:02 <ehird> It's hideously complex, like ALGOL 68.
17:07:09 <ehird> And it's certainly not easy to use.
17:07:17 <ehird> But it doesn't really have any weirdly esoteric features.
17:07:33 <AnMaster> ehird, nothing wrong with complexity. Not every esolang has to be a tarpit
17:07:49 <ehird> I never said that.
17:07:56 <ehird> I was just saying that its complexity is not an esoteric aspect.
17:08:20 <ehird> It's just a hideously complex language that isn't all that comfortable to code in. All its esotericness is inherited from Befunge-93.
17:08:33 <ehird> So I'd call Befunge-93 an esolang, but Befunge-98 more of an... honorary esolang extension.
17:08:38 <ehird> The things it adds to -93 aren't esoteric.
17:08:39 <AnMaster> ehird, isn't k pretty esoteric?
17:08:51 <ehird> Okay, k, granted. Lots of languages have strange features, though :P
17:08:56 <AnMaster> considering it can do 0,2,3,4,... repeats
17:08:59 <AnMaster> but not 1
17:09:03 <AnMaster> and there are all the other issues with it
17:09:05 <ehird> *though.
17:09:09 <ehird> AnMaster: Yes, but that's just spec issues.
17:09:11 <ehird> Meh.
17:09:21 <ehird> I just don't see -98 as bringing anything particularly esoteric to the table given -93.
17:09:26 <ehird> Confusion, yes, but not esotericness.
17:09:36 <AnMaster> ehird, you could put down at least a number of "issues" with intercal to the spec
17:09:43 <AnMaster> INTERCAL*
17:09:55 <ehird> Yes, but INTERCAL has plenty of oddities besides.
17:10:00 <AnMaster> well yes
17:10:12 <ehird> I'm not saying -98 is a boring language or anything.
17:10:19 <AnMaster> ehird, also what about TOYS?
17:10:25 <ehird> I just don't think that the things it adds to -93 are sufficiently esoteric for it to count as esoteric apart from its -93 heritage.
17:10:31 <ehird> AnMaster: That's not part of the language.
17:10:40 <AnMaster> ehird, it is a catseye fingerprint
17:10:51 <ehird> So?
17:11:21 <AnMaster> ehird, you could say it is a standard extension
17:11:36 <AnMaster> but sure, if you don't count fingerprints it is more limited
17:11:39 <ehird> Keyword extension.
17:11:54 <ehird> Python's stdlib could have a change_the_entire_semantics_of_the_language() function; that doesn't make Python esoteric.
17:12:00 <ehird> (Although it makes the stdlib maintainer insane.)
17:12:26 <AnMaster> ehird, what about {} for python. Isn't that a pretty esoteric usage of python?
17:12:43 <AnMaster> and if you consider that, perligata and so on...
17:13:00 <ehird> ais523: can you explain to AnMaster the difference between an esolang and an esoteric abuse of a language, please?
17:13:02 <ehird> thanks
17:13:20 <AnMaster> ehird, of course I know the difference
17:13:27 <ais523> ehird: looks like I don't have to
17:13:34 <ais523> "esoteric usage" is quite different from "esolang", of course
17:13:54 <ais523> although if there are rules to the usage, it's possible that you can make an esolang that's a subset of a real lang
17:14:12 <AnMaster> ehird, anyway befunge98 is esoteric IMO. Sure, not as much as INTERCAL is. brainfuck isn't very esoteric either. Sure it is a tarpit, but it doesn't really have any features not found in other languages
17:14:25 <ehird> Scheme with CALL-WITH-CURRENT-CONTINUATION, DYNAMIC-WIND, WITH-VALUES, VALUES and a LAMBDA restricted to make it sub-TC.
17:14:33 <ehird> With the subset as a whole being TC.
17:14:35 <ehird> *That* would be fun.
17:14:59 <ehird> AnMaster: Brainfuck gets its esotericness out of sheer programmer pain, I think. It isn't very esoteric, though.
17:15:03 <ehird> Anyway, yes, -98 is an esolang.
17:15:13 <ais523> it's tarpitty, which is normally considered separately from esotericness
17:15:13 <ehird> But, if you took just the -98 parts, and ignored what it inherits from -93? Nah.
17:15:16 <ais523> and has an eso syntax
17:15:19 <ehird> So I think -93 is what deserves the credit there.
17:15:29 <ais523> ehird: that would be /very/ eso, the flow control would be nicely weird, etc
17:15:40 <ais523> imagine Befunge without < > ^ v or any of the other 93 commands
17:15:47 <AnMaster> ehird, befunge is quite painful to code in too. I definitely agree that brainfuck is worse though
17:15:55 <ehird> "EVOM"(...)
17:16:01 <ehird> It lets you move around!
17:16:09 <AnMaster> heh
17:16:28 <AnMaster> ais523, actually you could use x still
17:16:32 <ais523> yes, I suppose so
17:16:40 <AnMaster> ais523, but testing would only be with w
17:16:41 <ais523> or [ and ]
17:16:45 <AnMaster> and you couldn't do a logical not
17:16:47 <ais523> or were they 93 too?
17:16:48 <AnMaster> ais523, or that
17:16:52 <AnMaster> ais523, they weren't iir
17:16:53 <AnMaster> iirc*
17:17:06 <ehird> logical not can be emulated with other operators
17:17:07 <ehird> how does w work?
17:17:11 <ehird> i.e. what does it do?
17:17:40 <AnMaster> ehird, pop a and b, compare, do like ] or [ if the differ (depending on which is greatest. Just go straight ahead if they are the same
17:17:53 <ehird> What do ] and [ do?
17:18:13 <AnMaster> ehird, [ turns pi/2 radians counter-clockwise
17:18:18 <AnMaster> ] does the same but clockwise
17:18:33 <ehird> I think you mean π½.
17:18:39 <AnMaster> ehird, this becomes quite confusing if the IP isn't traveling cardinally
17:18:52 <ehird> Anyway, hmm
17:18:56 <ehird> So not is just == false
17:19:00 <ehird> 0 is false, right?
17:19:13 <ehird> So 0w is not.
17:19:15 <ehird> Well.
17:19:18 <ehird> Rather, something like
17:19:20 <AnMaster> ehird, hm no
17:19:23 <ehird> 0w(it's false, so push true)
17:19:25 <AnMaster> it is "is different or same as 0"
17:19:37 <AnMaster> ehird, also there is nothing that says 0 is false afaik
17:19:39 <ehird> ?
17:19:58 <ehird> Okay, what's false?
17:20:03 <ehird> Anyway, what does "is different or same as 0" mean?
17:20:05 <ehird> That's a tautology.
17:20:26 <AnMaster> ehird, as in, I don't believe boolean-ess is used much by the befunge core functions. Apart from logical not
17:20:35 <AnMaster> ehird, at least not if you remove the 93 part
17:20:55 <AnMaster> but yes 0 is false in the 93 part. if that is what you meant
17:21:03 <ehird> So, what is the semantics of "not"?
17:21:07 <ehird> Bitwise not, do you mean?
17:21:17 <ehird> *what are the semantics
17:21:33 <AnMaster> ehird, logical not. But *as I said* it is befunge93, and wouldn't exist in this "98 added features only" subset
17:21:50 <AnMaster> I thought we were discussing that subset, no?
17:22:06 <ehird> Yes.
17:22:13 <ehird> I was talking about implementing logical not in the subset.
17:22:19 <ehird> Does 98-only have a way to compare?
17:22:22 <ehird> Can you use w to do ==?
17:22:29 <AnMaster> ehird, 98-only to compare is w
17:22:44 <Deewiant> w is the three-way compare, you can do anything with it
17:22:44 <AnMaster> and as I said it goes straight ahead if equal
17:22:44 <ehird> Right, well, (x==false) is not
17:22:50 <ehird> So use w to do ==false, like I said
17:23:04 <ehird> If it does the true branch, push true
17:23:07 <ehird> If it does the false branch, push false
17:23:09 <ehird> Done
17:23:21 <AnMaster> ehird, there is no addition or substraction in this 98-only subset
17:23:29 <ehird> You don't need it...
17:23:32 <AnMaster> nor multiplication, division or modulo
17:23:36 <ehird> So?
17:23:40 <AnMaster> and the numbers 0-9 doesn't exist
17:23:42 <AnMaster> only a-f
17:23:52 <AnMaster> so 0w won't work
17:23:54 <Deewiant> Sure they do
17:23:58 <Deewiant> '<NUL>
17:24:03 <AnMaster> Deewiant, good point
17:24:32 <ehird> See, we just totally esoed up.
17:24:50 <AnMaster> ehird, still you claiming that this subset isn't very esoteric is quite wrong. It is possibly more esoteric than 93 was. Considering it will have SGML spaces in stringmode, but not have an actual string mode for example
17:25:35 <ehird> This subset on its own is highly esoteric.
17:25:42 <AnMaster> ehird, indeed
17:25:43 <ehird> My point is that in 98 = 93 + 98subset,
17:25:50 <ehird> the 98subset doesn't contribute much to the overall esotericness of 98.
17:26:34 <AnMaster> actually, someone should totally make an 98subset interpreter
17:26:34 <Deewiant> The 98subset can't do much without fingerprints
17:27:00 <ehird> Why not
17:27:02 <AnMaster> would be a couple of minutes worth of adding #ifdef to cfunge to do it for example
17:27:08 <AnMaster> Deewiant, well yes
17:27:14 <ehird> It's probably TC
17:27:17 <AnMaster> with fingerprints it isn't very eso any longer
17:27:21 <ehird> Due to k and # and all that kind of thing
17:27:25 <Deewiant> No #
17:27:26 <AnMaster> ehird, # isn't there
17:27:28 <ehird> Er, right
17:27:33 <ehird> Okay, due to k and w, and, stuff.
17:27:33 <Deewiant> No stdio makes it a pain
17:27:34 <ehird> Do you mean IOwise?
17:27:35 <AnMaster> k is yes
17:27:45 <ehird> Just have a real-time view of the stack :P
17:27:49 <Deewiant> No math is a pain
17:27:50 <AnMaster> there is no stdio
17:27:56 <AnMaster> there is file io however
17:27:56 <AnMaster> :D
17:28:03 <ehird> AnMaster: So open /dev/stdout
17:28:05 <ehird> And /dev/stdin
17:28:05 <Deewiant> No p and g is a pain
17:28:06 <ehird> Problem solved
17:28:10 <ehird> Deewiant: Who needs 'em
17:28:28 <Deewiant> People who don't enjoy pain
17:28:30 <AnMaster> ehird, alas it won't work that way, since it open (truncate mode), writes, closes
17:28:41 <ehird> Do it do /dev/tty then
17:28:43 <AnMaster> ehird, for input it will lock up until ctrl-d
17:28:49 <ehird> Deewiant: Why are they coding Befunge
17:28:53 <AnMaster> since it reads the whole file
17:28:59 <ehird> *Do it to
17:29:00 <Deewiant> Because Befunge is fun
17:29:01 <ehird> AnMaster: Oh well
17:29:03 <ehird> Just only do batch input
17:29:08 <ehird> Deewiant: Then use something other than Befunge-98subset
17:29:36 <AnMaster> ehird, I also have some doubts about /dev/tty, but I'm not certain about that
17:29:37 <Deewiant> Like all of 98? ;-P
17:29:47 <AnMaster> Deewiant, :D
17:29:47 <ehird> Deewiant: Precisely
17:30:08 <ehird> AnMaster: Relying on w so much will be fun
17:30:11 <ehird> Spiral programs!
17:30:17 <AnMaster> ehird, anyway, the fact that there is no math without fingerprints for 98subset makes me wonder what you can actually compute
17:30:35 <ehird> Well, we have branching (w)
17:30:36 <AnMaster> and that you can only read/write one char ahead of yourself to funge-space now
17:30:37 <ehird> Do we have looping?
17:30:51 <AnMaster> Deewiant, s jumps over right?
17:30:51 <ehird> Can you do w and [/] to get back to where you started?
17:30:55 <ehird> Geometrically
17:31:02 <Deewiant> AnMaster: yes
17:31:03 <Deewiant> ehird: yes
17:31:07 <AnMaster> ehird was that [, /, ] ?
17:31:09 <ehird> Then you have conditional loops.
17:31:11 <ehird> AnMaster: [ and ]
17:31:13 <AnMaster> right
17:31:18 <ehird> So we have branches, loops, and we can push things to the stack.
17:31:25 <AnMaster> ehird, btw I don't believe there is pop stack any more
17:31:30 <AnMaster> nor swap
17:31:32 <Deewiant> n
17:31:35 <AnMaster> there is "clear all" though
17:31:39 <AnMaster> Deewiant, I was getting to that
17:31:44 <AnMaster> but pop is "pop one"
17:32:03 <ehird> So, branching, loops and constants. What about manipulation; we need some sort of arithmetic-like operation.
17:32:04 <Deewiant> With u and a lot of messing around it's probably possible to do the basic stack ops
17:32:04 <ehird> Ah.
17:32:06 <ehird> y
17:32:07 <ehird> :D
17:32:11 <ehird> y could be useful
17:32:12 <Deewiant> Wasting a lot of memory and CPU in the process
17:32:12 <ehird> Somehow
17:32:18 <AnMaster> Deewiant, that hurts to think about
17:32:22 <ehird> Wasting? I call it putting to good use
17:32:24 <Deewiant> You'll be shuffling lots of stacks
17:32:29 <AnMaster> Deewiant, indeed
17:32:33 <ehird> We really need a compiler for this to work out where to place everything for w :P
17:32:43 <Deewiant> This is why lack of p and g is also a pain
17:32:58 <ehird> We fucking get it, Deewiant.
17:33:00 <ehird> 98subset is a pain.
17:33:03 <ehird> That's the whole point. :P
17:33:05 <Deewiant> No temporaries, you only have a stack of stacks of which you can access the top
17:33:06 <AnMaster> indeed
17:33:19 <ehird> We have r
17:33:20 <Deewiant> The topmost element of the topmost stack, that is
17:33:21 <ehird> r might be useful
17:33:30 <Deewiant> I find r completely useless
17:33:32 <AnMaster> Deewiant, there is s and ', but making use of that would require approaching the code one way to set the variable and another way for reading it
17:33:37 <ehird> Hahaha
17:33:39 <ehird> We don't have space
17:33:44 <Deewiant> You have ;
17:33:47 <Deewiant> Same difference
17:33:48 <ehird> We do have z though
17:33:56 <Deewiant> Yeah, that too
17:34:10 <ehird> The programs will be very sleepy.
17:34:13 <ehird> zzzzzzzzzz
17:34:19 <Deewiant> AnMaster: That's true... but not necessarily useful
17:34:24 <AnMaster> oh btw we have fungespace, but not inside a 80x25 area from origo
17:34:31 <Deewiant> :-D
17:34:31 <AnMaster> as in, we would have a hole there
17:34:32 <ehird> AnMaster: Okay, now that's ridiculous.
17:34:37 <Deewiant> All programs have to be outside the initial 80x25 area
17:34:41 <ehird> Befunge-98 completely redefines Funge-Space itself.
17:34:51 <ehird> By that argument, Befunge-98 doesn't have an IP
17:34:53 <AnMaster> ehird, yes, but we can't use the 93 area in it
17:34:57 <ehird> Because -93 had one too
17:35:00 <ehird> Erm
17:35:05 <ehird> *-98subset
17:35:06 <AnMaster> ehird, oh indeed, it only has one after the first t
17:35:07 <Deewiant> -93 had a PC
17:35:08 <AnMaster> XD
17:35:10 <Deewiant> -98 has an IP
17:35:13 <AnMaster> and what Deewiant said
17:35:16 <Deewiant> (Or more IPs)
17:35:25 <ehird> Befunge-93 had stacks
17:35:27 <ehird> QED
17:35:31 <AnMaster> ehird, "stack"
17:35:32 <AnMaster> it had a single
17:35:35 <ehird> Yes
17:35:38 <ehird> And Befunge-98 has a stack, too
17:35:40 <ehird> In fact, it has many
17:35:41 <Deewiant> -93 had a stack, -98 has a stack stack
17:35:42 <ehird> All of them must go
17:35:45 <ehird> We must do all operations using only stack stacks.
17:35:49 <AnMaster> ehird, no, only the first one
17:35:56 <AnMaster> ooh that is better
17:35:58 <ehird> They're all stacks identical to -93's.
17:36:03 <ehird> THEY MUST BE ABOLISHED
17:36:25 <AnMaster> so we have a stack of non-existent stacks
17:36:30 <AnMaster> existent? existant?
17:36:34 <AnMaster> spelling?
17:36:39 <ehird> So how do we do bits on the stack
17:36:44 <ehird> WhatStack stack that is
17:36:48 <Deewiant> Extant
17:37:31 <ehird> Deewiant: Shush you
17:37:36 <AnMaster> Deewiant, sure? existent seems to mean what I meant according to define:
17:37:40 <ehird> AnMaster: non-existent
17:37:40 <AnMaster> same for extant though
17:37:48 <ehird> Deewiant is just concising
17:37:57 <AnMaster> still in existence; not extinct or destroyed or lost; "extant manuscripts"; "specimens of graphic art found among extant barbaric folk"- Edward ...
17:37:57 <AnMaster> wordnetweb.princeton.edu/perl/webwn
17:37:57 <ehird> He probably thinks his editor automatically inserts indention at the start of code lines, too
17:38:09 <ehird> WordNet is not an acceptable dictionary.
17:38:14 <AnMaster> ehird, why not?
17:38:22 <AnMaster> Still in existence; Currently existing; not having disappeared; Still alive; not extinct
17:38:23 <AnMaster> en.wiktionary.org/wiki/extant
17:38:25 <AnMaster> and a lot more too
17:38:35 <ehird> Because it takes an awful lot of people to make a good dictionary. WordNet does many non-dictionary things and does not have an awful lot of people.
17:38:42 <ehird> Nor does it profit solely because of its dictionary activities.
17:38:50 <AnMaster> ehird, there is still http://en.wiktionary.org/wiki/extant
17:39:15 <ehird> I didn't say the definition was incorrect.
17:39:20 <AnMaster> :D
17:40:09 <AnMaster> anyway if we do have stack and complete funge space
17:40:32 <ehird> Let's say that the rule is that only *commands* in Befunge-93 are removed.
17:40:42 <ehird> The spec doesn't really make sense without Befunge-93's infrastructure.
17:40:46 <AnMaster> ehird, the funge space hole *is* funny though
17:40:52 <ehird> Yes, yes :P
17:41:02 <ehird> It would work as a good garbage collector
17:41:13 <ehird> All cells of funge-space are continually drawn to that whole
17:41:14 <AnMaster> the only stack operation we have is "clear stack" (that is, as listed in the section "Stack Manipulation" of the 98 spec)
17:41:18 <ehird> If you want to use data, you have to pull it back
17:41:22 <ehird> Tada, funge GC
17:41:25 <AnMaster> pop, duplicate and swap are all gone
17:41:36 <AnMaster> ehird, heh
17:41:36 <ehird> Also a completely ecologically friendly method of waste disposal
17:42:03 <ehird> What about n
17:42:05 <ehird> Isn't n some fancy thingy
17:42:10 <AnMaster> n is clear stack
17:42:30 <AnMaster> just removes all item on the current stack
17:43:10 <ehird> *items
17:43:14 <ehird> Simple solution, then
17:43:16 <ehird> Pop is just
17:43:24 <ehird> Move all items except the top one to another stack
17:43:25 <AnMaster> ehird, we do still have = which is basically system() (and behaviour is equally implementation defined to system(). spec says it could be system() or it could be something else)
17:43:26 <ehird> Clear stack
17:43:29 <ehird> Pop stack
17:43:32 <ehird> Or whatever
17:43:35 <AnMaster> ehird, hm
17:43:42 <ehird> AnMaster: Clearly = should execute Befunge-93 code
17:43:47 <AnMaster> haha
17:44:12 <Deewiant> aaaaaaaaaab{a} is $ I think
17:44:22 <Deewiant> For a non-empty stack
17:44:22 <ehird> Deewiant: ...:D
17:44:27 <AnMaster> Deewiant, that many a?
17:44:28 <ais523> it should execute unefunge
17:44:40 <ehird> Deewiant: Best code snippet ever
17:44:44 <Deewiant> Well, alternatively '<0x1>{'<NUL>}
17:44:45 <AnMaster> ais523, unefunge-98subset?
17:44:50 <ehird> Deewiant: That's better :P
17:45:01 <ehird> No, let's keep to printable characters here. :P
17:45:05 <Deewiant> But if you want to stick to ASCII, 10*a it is
17:45:08 <ehird> *let's stick
17:45:26 <ehird> Deewiant: That only works on 32-bit funges, doesn't it?
17:45:39 <AnMaster> ehird, how so?
17:46:00 -!- ais523 has quit (Remote closed the connection).
17:46:05 <AnMaster> I can't figure out how it couldn't work in 64-bit too
17:46:26 <ehird> Doesn't it rely on integer overflow to get 1?
17:46:33 <AnMaster> ehird, no
17:46:38 <Deewiant> Not at all?
17:46:45 <ehird> I thought by '<0x1> you meant it was equivalent
17:46:46 <ehird> But okay
17:46:51 <AnMaster> ehird, well it does the same
17:46:58 <Deewiant> '<0x1> means ' followed by the byte 0x1
17:47:08 <ehird> Yes, I know.
17:47:09 <AnMaster> ehird, the first one pushes a lot of crap values on the stack so you can pop them
17:47:15 <AnMaster> since you can't pop just one
17:47:16 <Deewiant> I don't see where overflow is implied
17:47:16 <ehird> Ah, I see.
17:47:28 <Deewiant> abcdeabcdeb{a}
17:47:29 <ehird> Deewiant: I thought you were using a/b to make a really big number then push it over the edge, so that it pushes 1
17:47:31 <Deewiant> Maybe that's easier to type
17:47:32 <ehird> same as '<0x1>
17:47:42 <AnMaster> ehird, you can't do that
17:47:44 <Deewiant> To combine numbers I'd need something like *
17:47:48 <Deewiant> Which we don't have :-P
17:47:49 <ehird> I know
17:47:49 <AnMaster> ehird, since you can't combine them
17:47:49 <AnMaster> yeah
17:47:51 <ehird> I was just guessing
17:47:53 <ehird> ]
17:47:56 <ehird> d
17:48:01 <ehird> (That d deleted that line; shut up.)
17:48:12 <AnMaster> oh I was just about to say we have both ] and d still
17:48:17 <Deewiant> We can always specify unicode to make life simpler
17:48:22 <Deewiant> 'ä to push 228
17:48:56 <AnMaster> Deewiant, ä is in ISO-whatever too?
17:49:07 <ehird> Deewiant: With our control flow, life will never be simple.
17:49:10 <ehird> Stop breaking the spec :P
17:49:15 <AnMaster> btw we can't actually use x instead of <>v^
17:49:16 <AnMaster> well
17:49:22 <AnMaster> we can but only for useless deltas
17:49:35 <AnMaster> since we can't get 1 on stack without non-printable stuff
17:49:37 <Deewiant> AnMaster: Sure, but that breaks once you go over 255 :-P
17:49:42 <AnMaster> Deewiant, true
17:49:47 <Deewiant> ehird: Unicode is easy to support
17:49:55 <AnMaster> Deewiant, we wouldn't want that
17:50:01 <AnMaster> makes things too easy
17:50:07 <ehird> Deewiant: But it's not spec.
17:50:23 <Deewiant> It's quasispec
17:50:24 <ehird> s/not/not in the/
17:50:27 <ehird> Deewiant: Don't care.
17:50:50 <Deewiant> I can see you don't
17:50:53 <AnMaster> ehird, as I said, we do have x to set delta to a dx/dy pair. But we can't set it to any useful delta
17:50:57 <Deewiant> I'm just saying, it can be done if you want to.
17:51:00 <AnMaster> I find this quite amusing for some reason
17:51:29 <Deewiant> And since you can't reset the delta in any way except with another x, you're screwed if you end up on that road
17:51:35 <Deewiant> Since ][ just rotate
17:52:01 <ehird> Just never do it, then
17:52:14 <ehird> We only need 2D for w, and [ and ] to branch back :P
17:52:14 <Deewiant> Pretty much, yep
17:52:20 <AnMaster> ehird, like file IO can only write 10-15 * 10-15 bytes. (those are ranges, not minus)
17:52:29 <ehird> Fine by me!
17:53:02 <Deewiant> AnMaster: We're allowing ASCII so ' can give you some other values
17:53:07 <AnMaster> well you can write less since it strips trailing whitespace
17:53:11 <AnMaster> Deewiant, oh good point
17:53:14 <AnMaster> forgot that
17:53:26 <AnMaster> still, rather limited I fear
17:53:32 <ehird> This is the best esolang ever
17:53:39 <AnMaster> hrrm wait, how are we supposed to set binary/text mode?
17:53:44 <ehird> Don't.
17:53:45 <AnMaster> we can't push either 0 or 1 there
17:53:53 <AnMaster> so thus we can't do output
17:53:58 <AnMaster> since the parameter won't be valid
17:54:04 <Deewiant> 0 is gettable with an empty stack
17:54:13 <AnMaster> Deewiant, well depends on order
17:54:14 <Deewiant> But difficultly
17:54:19 * AnMaster checks the spec
17:54:27 <Deewiant> Let's see here
17:54:31 <AnMaster> Deewiant, stack stack?
17:54:43 <AnMaster> Deewiant, the flag is in the middle
17:54:46 <Deewiant> abcdeabcdea{b} pushes 0... maybe
17:55:03 <AnMaster> "Also, if the least significant bit of the flags cell is high, o treats the file as a linear text file; that is, any spaces before each EOL, and any EOLs before the EOF, are not written out. The resulting text file is identical in appearance and takes up less storage space. "
17:55:04 <AnMaster> hm
17:55:11 <AnMaster> well okay looks like we can get it
17:55:12 <Deewiant> No, wait
17:55:14 <AnMaster> since it is a bitmask
17:55:34 <ehird> This is basically abcde{}lang
17:55:35 <ehird> :P
17:55:36 <AnMaster> f for example is 1 in LSB isn't it?
17:56:00 <AnMaster> and e would be 0 in LSB
17:56:01 <AnMaster> so yeah
17:56:08 <AnMaster> strange parameters for the flag, but it would work
17:56:25 <AnMaster> also, hrrm does cfunge actually only check that bit *looks*
17:56:52 <Deewiant> abcdeabcdea{b}abcdeabcdeb{a}abcdeabcdeb{a}abcdeabcdeb{a}abcdeabcdeb{a}abcdeabcdeb{a}abcdeabcdeb{a}abcdeabcdeb{a}abcdeabcdeb{a}abcdeabcdeb{a}abcdeabcdeb{a}
17:56:55 <Deewiant> That pushes 0
17:56:58 <ehird> :D
17:56:59 <ehird> I love you.
17:57:17 <Deewiant> There's probably an easier way
17:57:19 <AnMaster> ah it does
17:57:20 <AnMaster> textfile = (bool)(stack_pop(ip->stack) & 1);
17:57:21 <AnMaster> there
17:57:22 <AnMaster> :D
17:57:29 <Deewiant> Certainly once you have a zero already
17:57:30 <AnMaster> (why did I explicitly cast it??)
17:57:51 <ehird> Deewiant: I expect my98sbst.98s ASAP
17:58:04 <AnMaster> Deewiant, also I can't follow in that code
17:58:06 <ehird> (MYcology 98 SuBSeT . 98 Subset)
17:58:44 <AnMaster> ehird, I doubt it. It would require completely restructuring and rewriting almost everything
17:59:15 <AnMaster> Deewiant, can you get a 4?
17:59:18 <Deewiant> ehird: Trivial enough: implement all of 98 passing mycology.b98, then enable subset mode and run through mysubsan.98s (MYcology SUBset SANity.98 Subset), which just checks that the 93 ones reflect
17:59:23 <AnMaster> otherwise you would be unable to use almost all fingerprints
17:59:26 <Deewiant> AnMaster: No
17:59:30 <AnMaster> well okay
17:59:34 <Deewiant> I don't think, anyway
17:59:38 <AnMaster> so no currently existing fingerprints
17:59:39 <AnMaster> ehird, ^
17:59:50 <AnMaster> since you can't push the 4 for number of bytes used for it
17:59:56 <Deewiant> AnMaster: Yes you can
17:59:59 <Deewiant> It's modular arithmetic
18:00:08 <AnMaster> Deewiant, it is bitshift iirc?
18:00:10 <Deewiant> You don't have to use "AMOR"4
18:00:30 <AnMaster> Deewiant, well yes
18:00:32 <Deewiant> You can use "FOOBARBAZQ"a or whatever that happens to give the same result
18:00:52 <ehird> Deewiant: It'd check that crazy a/b/{/} combos work, though.
18:00:55 <AnMaster> Deewiant, are you certain it isn't bitshift?
18:01:07 <AnMaster> Deewiant, if so, you need to do something about mycology:
18:01:09 <AnMaster> while (fpsize--) {
18:01:09 <AnMaster> fprint <<= 8;
18:01:09 <AnMaster> fprint += stack_pop(ip->stack);
18:01:09 <AnMaster> }
18:01:16 <AnMaster> is my code to pop the fingerprint it seems
18:01:31 <Deewiant> Same difference
18:01:40 <Deewiant> fprint is still not a bigint, it wraps
18:01:47 <AnMaster> true
18:01:54 <Deewiant> AnMaster: And nope: it's "multiply by 256"
18:02:01 <Deewiant> That's just your premature optimization there
18:02:21 <AnMaster> Deewiant, bitshift by 8 would the the same though
18:02:37 <Deewiant> Yes, it does, and your compiler realizes that as well :-P
18:02:53 <AnMaster> Deewiant, I found the bitshift an easier way to think about it
18:03:26 <AnMaster> Deewiant, also are you certain? tcc only does constant folding, nothing else
18:03:26 <Deewiant> I find it easier to do what the spec says :-P
18:03:52 <AnMaster> (not that tcc handled some of the C99 constructs last time I checked, which was over a year ago iirc)
18:03:56 <Deewiant> s/your compiler/your optimizing compiler/
18:04:17 <AnMaster> right
18:04:47 <AnMaster> Deewiant, that would qualify gcc. gcc is optimising. But using it in -O0 is not
18:05:27 <AnMaster> anyway
18:05:45 <AnMaster> ooh I know how you could get low numbers
18:05:49 <AnMaster> not reliably though
18:05:51 <AnMaster> from y
18:06:04 <ehird> Yes, I said that before.
18:06:07 <ehird> (that y would be useful)
18:06:09 <AnMaster> Deewiant, by careful testing with w you could probably locate a 4 in there
18:06:17 <Deewiant> Yay, you get a random low number and you can't inspect what it is :-D
18:06:26 <AnMaster> Deewiant, you can compare it to a and 0
18:06:37 <Deewiant> Yes, exactly
18:06:39 <AnMaster> and then if you find 9 numbers in between
18:06:40 -!- MigoMipo has joined.
18:06:40 <Deewiant> "I have a number between 1 and 9"
18:06:45 <AnMaster> then you can sort them relative each other
18:06:54 <AnMaster> and establish which is which
18:07:02 <AnMaster> of course you might not find all those
18:07:10 <Deewiant> Hmm, actually, it's much easier than that isn't it
18:07:16 <Deewiant> Since y gives stuff like stack size
18:07:20 <AnMaster> oh
18:07:21 <AnMaster> right
18:08:00 <AnMaster> Deewiant, it would be a lot more interesting if you had to guess them though
18:08:13 <ehird> this is brilliant
18:08:13 <AnMaster> and, what number is stack size at
18:08:25 <AnMaster> I mean, are you certain you can actually *reach* the stack size?
18:08:31 <Deewiant> Easily enough
18:08:33 <Deewiant> We have $
18:08:38 <AnMaster> Deewiant, not $ iirc?
18:08:45 <AnMaster> isn't $ in 93?
18:08:53 <ehird> He showed an implementation of it.
18:08:56 <ehird> Using a/b/{}.
18:08:58 <AnMaster> oh right
18:08:59 <Deewiant> abcdeabcdea{b}
18:09:00 <AnMaster> indeed
18:09:01 <AnMaster> true
18:09:53 <AnMaster> Deewiant, I think abcdefabcde{b} looks nicer
18:10:02 <Deewiant> But that doesn't work.
18:10:05 <AnMaster> oh true
18:10:09 <Deewiant> You need a on TOS when you do {
18:10:12 <AnMaster> the last a has to be the same
18:11:42 <AnMaster> Deewiant, the 23rd item is number of items on the stack
18:11:44 <AnMaster> I think
18:12:29 <ehird> New challenge: Write 23
18:12:51 <AnMaster> ehird, y then pop 22 items. then s to store that value somewhere
18:12:59 <AnMaster> and use that
18:13:03 <ehird> Pop?
18:13:06 <ehird> With that really long snippet?
18:13:08 <AnMaster> ehird, yes
18:13:11 <AnMaster> 22 times
18:13:15 <ehird> Biggest hello world EVAR
18:13:20 <AnMaster> ehird, no
18:13:25 <AnMaster> hello world would be:
18:13:58 -!- augur has quit (Connection timed out).
18:14:10 <AnMaster> 'd'r'o'w' 'o'l'l'e'H followed by some file IO stuff
18:14:20 <AnMaster> since you can't do stdio
18:14:23 <AnMaster> or rather
18:14:48 <AnMaster> just use o on Hello world somwhere in the funge space
18:14:57 <AnMaster> placed at an accessible position of corse
18:14:59 <AnMaster> like 10,10
18:15:36 <ehird> *course
18:15:52 <AnMaster> indeed
18:16:36 <Deewiant> The 10th y element is the IP's x-position
18:16:38 <AnMaster> we still have ;; and j don't we?
18:16:50 <Deewiant> That's an easy way to get many things
18:16:58 <AnMaster> Deewiant, oh nice. Would work as to find out 23 and then more easily work from there
18:17:17 -!- jpc has joined.
18:17:30 <AnMaster> since actually creating a lookup table just with that would take quite a bit of space
18:17:54 <AnMaster> ehird, btw, we have threads, and quit. But we do not have exit
18:18:06 <AnMaster> exit (@) is from befunge93
18:18:17 <AnMaster> ehird, this means we can never exit a thread once we started it
18:18:18 <Deewiant> That actually sucks ass :-D
18:18:20 <ehird> AnMaster: q
18:18:25 <AnMaster> ehird, q ends program yes
18:18:26 <Deewiant> ehird: Quit the program
18:18:28 <ehird> Ah.
18:18:28 <AnMaster> but @ ends thread
18:18:35 <ehird> Oh well, just make it do nothing forever
18:18:42 <AnMaster> or use a thread pool
18:18:53 <AnMaster> parking them in some loop
18:19:00 <Deewiant> And releasing them how exactly
18:19:09 <Deewiant> With p? Oh wait WE DON'T HAVE THAT
18:19:09 <Deewiant> :-P
18:19:15 <AnMaster> Deewiant, s?
18:19:35 <Deewiant> Then you have to go there yourself
18:19:44 <Deewiant> And park them all in somewhat direction locations
18:19:46 <AnMaster> Deewiant, not from the same direction
18:19:47 <Deewiant> Hmm, what
18:19:50 <Deewiant> Different locations*
18:20:22 -!- kar8nga has quit (Remote closed the connection).
18:20:37 <AnMaster> Deewiant, what about something like:
18:20:39 <AnMaster> ] ]
18:20:39 <AnMaster> s]'
18:20:39 <AnMaster> ] ]
18:20:44 <AnMaster> if they travel clockwise
18:20:50 <Deewiant> s/ /z/g
18:20:55 <AnMaster> Deewiant, well yes
18:20:58 <AnMaster> but you get the idea
18:21:17 <Deewiant> You'll end up with two threads in the same place
18:21:29 <AnMaster> Deewiant, depends on timing
18:21:31 <Deewiant> But that works, I suppose
18:22:01 <AnMaster> Deewiant, the second thread could use another s to fork one off to another direction then overwrite that s with a z
18:22:03 <Deewiant> But how will you close the pool behind you? :-P
18:22:18 <Deewiant> Meh, tricky
18:22:29 <AnMaster> Deewiant, have a non-cardinal thread to overwrite it with a z?
18:22:31 <AnMaster> or something
18:22:47 <Deewiant> :-D
18:22:58 <AnMaster> Deewiant, you could have it bounce between two r or such
18:23:16 <AnMaster> so it overwrites it every... uh... hrrm no
18:23:24 <AnMaster> you need to make it loop
18:23:27 <AnMaster> it can't bounce
18:23:34 -!- kar8nga has joined.
18:23:35 <AnMaster> or it would overwrite it's 'z
18:23:39 <AnMaster> in 'zs
18:24:23 <AnMaster> Deewiant, however I'm unsure how you would do: #^t thing
18:24:26 <AnMaster> since you don't have #
18:24:35 <AnMaster> ^ can easily be replaced
18:24:40 <AnMaster> oh wait
18:24:41 <AnMaster> we have j
18:24:44 <AnMaster> that works
18:25:34 <AnMaster> ehird, Deewiant: I suspect 98s would result in very sparse code in part, and very very dense in other parts. Verbose everywhere though
18:26:20 <ehird> JavaFunge
18:26:29 <AnMaster> hah
18:26:37 <AnMaster> Deewiant, 93 has ? right?
18:26:43 -!- soupdragon has joined.
18:26:43 <AnMaster> if so we wouldn't have any randomness
18:26:44 <Deewiant> Yep
18:26:57 <AnMaster> well actually
18:26:59 <AnMaster> we could
18:27:04 <AnMaster> we have y and y has date/time
18:27:12 <AnMaster> just code our own PRNG from that in 98s
18:27:19 <AnMaster> ehird, will you implement that? ;P
18:27:37 <ehird> You can, certainly
18:27:47 <ehird> A bad RNG is really easy, anyway
18:28:12 <AnMaster> ehird, I was about to suggest mersenne twister
18:28:58 <Deewiant> ehird: Without +-*/%?
18:29:09 <ehird> Deewiant: Well, you'll need those elsewhere anyway
18:29:12 <AnMaster> Deewiant, btw, how does [ and ] work with respect to trefunge?
18:29:36 <AnMaster> Deewiant, ignoring the z component?
18:29:51 <ehird> A simple PRNG will use code something like R = (A * R1 + B) mod(C): R1 = R: R = R / C. Primes are usually used for constants A, B, and C. Most languages have provisions for placing a seed value in R1 before calling the PRNG but it isn't needed and some PRNGs may not bother with the additive constant B.
18:29:51 <Deewiant> AnMaster: Always rotate on the z axis
18:29:55 <AnMaster> oh right
18:29:56 <AnMaster> there
18:30:11 <ehird> Put the date/time into R1, pick some nice primes for A, B and C (steal from mersenne twister or something), and we're done
18:30:36 <AnMaster> ehird, we don't have *+/ or modulo though
18:30:39 <AnMaster> in 98s
18:30:49 <ehird> So implement them
18:30:56 <AnMaster> hm, lookup table?
18:30:57 <ehird> You're gonna need them sometime anyway
18:31:03 <ehird> Heh, I was going to suggest using a power of two for C
18:31:05 <ehird> So you could bitshift
18:31:06 <ehird> But, uh, prime
18:31:13 <ehird> AnMaster: Think simpler
18:31:16 <AnMaster> ehird, no bitshift in core 98
18:31:16 <ehird> + is just xor with overflow
18:31:20 <AnMaster> nor 93
18:31:22 <AnMaster> so well
18:31:24 <ehird> * is just + loop
18:31:31 <ehird> / is just repeated minusing
18:31:36 <Deewiant> ehird: Where will you get xor
18:31:37 <ehird> Well, / and mod actually
18:31:38 <AnMaster> ehird, there is no - either though
18:31:38 <ehird> together
18:31:42 <ehird> Deewiant: Don't know, that's your problem
18:31:48 <Deewiant> Yeah, see, and that's a problem. :-P
18:31:56 <AnMaster> ehird, step 1: implement xor in 98s
18:32:09 <AnMaster> not even full 98 has it except in some fingerprint
18:32:18 <AnMaster> and that is an mkry fingerprint isn't it?
18:32:27 <AnMaster> unless ORTH or TOYS had it
18:32:30 <Deewiant> Yeah, one of his has it. (If not two.)
18:32:52 <ehird> (a xor b) is just ((a and not b) or ((not a) and b))
18:32:58 <ehird> I've already said how to do not with w
18:33:03 <ehird> and/or are up to you
18:33:06 <Deewiant> Bitwise not with w?
18:33:09 <ehird> Also, we need a way to extract the lowest bit from a number
18:33:15 <AnMaster> it was logical not
18:33:17 <ehird> Deewiant: Adding just xors one bit
18:33:19 <AnMaster> not bitwise not
18:33:21 <ehird> which is the same as logical operations
18:33:24 <ehird> Then we check if it overflows
18:33:27 <ehird> And if so, go on to the next bit
18:33:37 <Deewiant> Yeah, if you could extract the lowest bit
18:33:40 <Deewiant> Which you can't
18:33:44 <AnMaster> actually, why not represent numbers in a different way. Like size of stacks
18:33:51 <Deewiant> Hmm, actually, haha
18:34:03 <Deewiant> As we established, o's binary mode depends on the lowest bit
18:34:06 <ehird> AnMaster: Yeah, I was thinking that
18:34:08 <ehird> Deewiant: ...:D
18:34:10 <ehird> Deewiant: I love you.
18:34:12 <AnMaster> Deewiant, oh my
18:34:20 <AnMaster> Deewiant, o + i?
18:34:20 <Deewiant> So write something with o, read it back with i, and see whether there's a trailing space
18:34:26 <AnMaster> indeed
18:34:26 * ehird dies laughing
18:34:37 <AnMaster> Deewiant, that's a wonderful way
18:34:46 <AnMaster> just beware of race conditions with t
18:34:49 <Deewiant> Best way to get number % 2 ever
18:34:51 <AnMaster> have one file per thread
18:34:53 <ehird> This is the most beautiful language I've ever seen.
18:35:33 <AnMaster> Deewiant, however that might not work
18:35:39 <AnMaster> remember, i and o are optional
18:35:51 <AnMaster> you can check them with 1y however
18:35:53 <AnMaster> but
18:36:03 <AnMaster> checking that bitmask of 1y would be a problem
18:36:15 <AnMaster> probably easier to check for i and o reflecting
18:36:29 <AnMaster> Deewiant, r isn't in 93 is it?
18:36:43 <AnMaster> if it is, then r would be unimplemented and thus reflect
18:36:51 <AnMaster> if it isn't then r would be implemented as reflect
18:37:02 <AnMaster> which is quite ridiculous
18:37:09 <Deewiant> Yes, r is useless, as said. :-P
18:37:25 <AnMaster> Deewiant, well, it is more like "reserved to always reflect"
18:37:30 <AnMaster> in normal 98
18:38:22 <Deewiant> Yes, r is useless, as said. :-P
18:38:30 <AnMaster> mhm
18:39:34 <AnMaster> Deewiant, was unimplemented defined to reflect in 93?
18:39:40 <Deewiant> Not sure
18:39:49 <FireFly> What language are you discussing?
18:39:53 <ehird> *Main> html head_ body
18:39:54 <ehird> <html><head/><body/></html>
18:39:56 <ehird> *Main> html head_ head_
18:39:58 <ehird> (type error)
18:39:59 <ehird> Woot.
18:40:05 <Deewiant> Befunge-98's subset without Befunge-93 instructions
18:40:15 <FireFly> Ah
18:40:16 <ehird> This is going to be the first HTML generation engine that makes liberal use of type theory.
18:40:20 <AnMaster> Deewiant, if so, then one could argue that r was implemented in 93 too (even if it wasn't explicitly) and thus should not be in 98s. Instead if should be unimplemented in 98s and reflect
18:40:21 <AnMaster> ;D
18:40:31 -!- augur has joined.
18:40:42 <Deewiant> Well, there's a minor distinction in that interpreters can warn on unimplemented instructions
18:40:45 <AnMaster> ehird, don't you agree?
18:40:50 <AnMaster> Deewiant, oh indeed good point
18:41:12 -!- augur has quit (Read error: 104 (Connection reset by peer)).
18:41:16 <ehird> Attributes are going to be a bitch, I wonder how to do attributes
18:41:21 <ehird> Ooh, perhaps those dynamic variable things
18:41:25 <ehird> Wait, nah
18:41:27 <ehird> They have sucky syntax
18:41:40 -!- augur has joined.
18:41:47 <AnMaster> ehird, downside is that everyone will use the same code snippet at the start of 98s programs
18:41:55 <ehird> It'd be (let ?title = "Poop land"; ?width = 34 in magic [])
18:42:11 <AnMaster> ehird, which will be: get 4 using y. Load various fingerprints to make life simpler
18:42:14 <ehird> (let ?src = "http://..." in img)
18:42:18 <ehird> AnMaster: NO
18:42:20 <ehird> No fingerprints :(
18:42:22 <ehird> Fingerprints suck
18:42:26 <AnMaster> ehird, fingerprints aren't in 93
18:42:30 <AnMaster> so they have to be in 98s
18:42:33 <ehird> Yes, but it's bad style to use them.
18:42:41 <ehird> Besides, all the defined fingerprints are 98 fingerprints.
18:42:44 <ehird> 98s isn't 98.
18:42:48 <ehird> Therefore they aren't 98s fingerprints.
18:42:50 <ehird> I rest my case.
18:43:03 <AnMaster> ehird, well actually using crazy fingerprints should be okay in 98s
18:43:10 <AnMaster> for a suitable value of crazy
18:43:54 <Deewiant> Nothing too useful
18:44:01 <AnMaster> Deewiant, hm?
18:44:26 <AnMaster> Deewiant, ROMA would be very useful for 98s (instead of almost completely useless in 98)
18:44:49 <AnMaster> I find that fits with the language
18:45:01 <AnMaster> useless stuff becomes useful, useful stuff becomes useless
18:45:13 <AnMaster> it seems to be a good summary of the differences between 98 and 98s
18:45:19 <Deewiant> Not really
18:45:22 <Deewiant> FIXP gives you math
18:45:28 <Deewiant> As do FPSP, FPDP
18:45:28 <pikhq> http://sprunge.us/ONFI I can't believe it's not a very poor functional language!
18:45:37 <Deewiant> BOOL as well, if it's defined as bitwise and not logical
18:45:42 <AnMaster> Deewiant, I didn't say it applied to everything
18:45:43 <Deewiant> IMTH
18:45:48 <soupdragon> so you do use a gc
18:45:49 <AnMaster> also I don't implement BOOL
18:45:53 <AnMaster> Deewiant, which one is IMTH?
18:45:59 <ehird> soupdragon: for his lists, yes
18:45:59 <Deewiant> Integer MaTH
18:46:07 <Deewiant> LONG also does
18:46:09 <AnMaster> Deewiant, don't think I implement that one either
18:46:14 <Deewiant> ICAL as well
18:46:15 <AnMaster> and LONG I definitely don't implement
18:46:19 <soupdragon> what if you make lists out of lambda?
18:46:19 <ehird> pikhq: there's actually a certain elegance to that code
18:46:23 <AnMaster> ICAL I don't remember if I did
18:46:25 <ehird> what soupdragon said
18:46:33 <Deewiant> SETS does, if you like peano arithmetic
18:46:33 <ehird> cons = \x.\y.\f.f x y
18:46:41 <ehird> can lambdas return lambdas?
18:46:45 <ehird> I guess so
18:46:47 <pikhq> Sure.
18:46:55 <AnMaster> Deewiant, again, I don't implement that
18:46:59 <Deewiant> I don't think I mentioned CPLI
18:47:02 <AnMaster> Deewiant, I probably will when I have time
18:47:05 <Deewiant> Who cares what you implement? :-P
18:47:05 <AnMaster> CPLI I implement
18:47:11 <pikhq> I could replace all those functions with closures.
18:47:18 <AnMaster> Deewiant, will ccbi support a 98s mode?
18:47:21 <Deewiant> I'm just saying that lots of fingerprints make 98s "practically 98"
18:47:27 <ehird> pikhq: that technically could break, right?
18:47:39 <pikhq> ehird: *Technically*, yes.
18:47:40 <Deewiant> Would be easy enough to add
18:47:56 <pikhq> Though it's unlikely: this is all working because my lambdas have no need for a trampoline.
18:47:59 <AnMaster> Deewiant, cool. Don't remember to remove string mode but keep the SGML spaces!
18:48:10 <AnMaster> err
18:48:11 <AnMaster> XD
18:48:13 <Deewiant> That doesn't matter
18:48:13 <AnMaster> "don't forget"
18:48:13 <pikhq> GCC isn't about to start doing trampolines for everything.
18:48:20 <Deewiant> Spaces don't exist
18:48:30 <ehird> pikhq: Do I have to do { return x; } or can I just do x?
18:48:35 <ehird> (Do you accept patches?)
18:48:57 <AnMaster> Deewiant, in ' they do
18:49:10 <pikhq> ehird: I'm pretty sure both are valid.
18:49:12 <AnMaster> Deewiant, also, elsewhere they reflect
18:49:14 <Deewiant> Yes, and SGMLness doesn't apply there
18:49:26 <AnMaster> Deewiant, you didn't get the joke did you?
18:49:31 <soupdragon> this uses some new extention? inline functions?
18:49:32 <Deewiant> Also, because of spaces reflecting it's a bit trickier to add
18:49:34 <ehird> Is it ({ or is it just ( {?
18:49:36 <soupdragon> not inline..
18:49:39 <ehird> i.e. does the spacing matter
18:49:41 <ehird> soupdragon: nested
18:49:41 <Deewiant> Spaces aren't handled as instructions
18:49:42 <ehird> it's old
18:49:44 <ehird> very old
18:49:58 <Deewiant> AnMaster: Spaces reflecting removes wraparound, bw
18:49:59 <Deewiant> btw*
18:50:00 <pikhq> ehird: Where?
18:50:02 <ehird> pikhq: also, "void* _" grr.
18:50:03 <ehird> void *_
18:50:05 <pikhq> Both are in use.
18:50:06 <ehird> Also, I just mean in general
18:50:07 <AnMaster> Deewiant, oh right
18:50:08 <ehird> in gcc
18:50:10 <ehird> is (
18:50:11 <AnMaster> that's seems like a major issue
18:50:11 <ehird> {
18:50:13 <ehird> }
18:50:14 <ehird> )
18:50:16 <ehird> acceptable
18:50:20 <Deewiant> Not really
18:50:28 <AnMaster> ehird, your opinion
18:50:28 <AnMaster> ?
18:50:34 <Deewiant> You can use ; still, it just means that by default you bounce off edges
18:50:36 <ehird> There's no space
18:50:48 <pikhq> ehird: Yeah.
18:50:49 <AnMaster> ehird, then there is no wrap around
18:50:49 <ehird> Also, what Deewiant said
18:50:53 <AnMaster> that's the point
18:50:55 <AnMaster> hm
18:50:59 <AnMaster> Deewiant, ah yes
18:51:17 <AnMaster> anyway cfunge implements space as an instruction that skips forward to the next non-space
18:51:20 <pikhq> ehird: Oh, right. void *_ instead of void *THROW it is.
18:51:35 <AnMaster> (handling t interaction correctly)
18:51:50 <ehird> I mean void* __LAMBDA__
18:51:58 <pikhq> Ah. That.
18:52:00 <ehird> pikhq: I'm implementing a variation on yours that's more awesome and also uses the GNU coding conventions just to make it even more ridiculouser
18:52:05 <AnMaster> however this would mess up k handling
18:52:09 <ehird> GNU coding conventions? Lispers scared.
18:52:14 <ehird> This? Haskellers scared!
18:52:30 <AnMaster> pikhq, THROW?
18:52:42 <pikhq> AnMaster: Throwaway argument.
18:52:47 <AnMaster> pikhq, oh right
18:53:07 <pikhq> The first argument of a lambda is the closed variable, even if you don't close any variables.
18:53:16 <ehird> What's the GNU convention for a type name?
18:53:17 <ehird> Foo?
18:53:32 <AnMaster> ehird, you think any of us here use that convention?
18:53:36 <ehird> AnMaster: :D
18:53:43 <ehird> pikhq: Actually, I'd make your code C++
18:53:48 <ehird> Then you can do (, char *s)
18:53:49 <ehird> :D
18:53:52 * pikhq looks at info standards
18:53:55 <AnMaster> ehird, oh?
18:53:56 <pikhq> ehird: Heheheh.
18:53:59 <ehird> Or just, you know, do ()void *_, char *s
18:54:02 <AnMaster> ehird, what does that do in C++
18:54:06 <ehird> *(void *_, char *s)
18:54:07 <ehird> AnMaster: in C++,
18:54:14 <AnMaster> yes?
18:54:20 <ehird> /*int argc*/, int foo, /*char **argv*/
18:54:22 <ehird> works
18:54:30 <ehird> so that the arguments stay the same and you can uncomment it, but you ignore some
18:54:31 <AnMaster> okay...
18:54:54 <AnMaster> ehird, do they take up a space with respect to calls to the function?
18:55:07 <pikhq> ehird: It appears that it's just type_name_t for the GNU convention.
18:55:18 <AnMaster> as in, will foo(myargc, myfoo, myargv)
18:55:20 <AnMaster> still work
18:56:19 <AnMaster> pikhq, that's a poor choice. Isn't *_t semi-reserved for future C standards?
18:57:42 <ehird> What's the GNU convention for argument continuations?
18:57:47 <ehird> AnMaster: Yes, that's the point (re: C++)
18:57:54 <ehird> Erm
18:57:56 <ehird> Not argument continuations
18:57:59 <ehird> macro continuations
18:58:01 <ehird> As in, what column?
18:58:16 <AnMaster> pikhq, shouldn't you implement foldl/foldr?
18:58:43 <pikhq> ehird: "Undefined".
18:58:47 <pikhq> AnMaster: Probably. Just haven't.
18:58:53 <AnMaster> pikhq, ah
18:58:58 <AnMaster> pikhq, what is that header called?
18:59:16 <pikhq> AnMaster: "lambda.h"?
18:59:21 <AnMaster> and: I challenge you to make a portable version of it, using just c99 (+ gc I guess)
18:59:28 <ehird> Impossible.
18:59:37 <AnMaster> ehird, sure?
18:59:41 <pikhq> The lambda definition is impossible.
18:59:44 <ehird> pikhq: Uh, I had a question but I've almost forgotten it.
18:59:46 <ehird> AnMaster: Absolutely.
18:59:46 <AnMaster> hm okay
18:59:51 <ehird> pikhq: Oh yeah.
18:59:55 <ehird> pikhq: Does it say anything about whether to use
18:59:55 <AnMaster> ehird, no horrible macro tricks
18:59:56 <AnMaster> ?
18:59:56 <ehird> (
18:59:57 <pikhq> You can make the closures portably, though.
18:59:59 <ehird> AnMaster: stfu for a sec
19:00:00 <ehird> (
19:00:02 <ehird> {
19:00:03 <ehird> ...
19:00:05 <ehird> }
19:00:06 <AnMaster> pikhq, oh?
19:00:06 <ehird> )
19:00:08 <ehird> or
19:00:09 <ehird> ({
19:00:13 <ehird> ...
19:00:15 <ehird> })
19:00:17 <ehird> AnMaster: Closure is just function + pointer.
19:00:22 <AnMaster> oh good point
19:00:29 <AnMaster> just will be more verbose
19:00:57 <pikhq> ehird: No mention.
19:01:51 <AnMaster> ehird, isn't ({ one symbol there? as in += isn't + =
19:02:00 <ehird> AnMaster: Yeah, I asked pikhq but he said it was two.
19:02:05 <AnMaster> strange
19:03:05 <pikhq> It's just a compound statement enclosed in parens.
19:03:32 * ehird goes for ({
19:03:33 <ehird> Less ugly.
19:03:43 <pikhq> It appears that's the unstated convention.
19:05:32 <ehird> So is foo_t just the typedef of struct foo in the GNU conventions?
19:05:36 <ehird> They're so complicated...
19:05:56 <pikhq> Kinda.
19:05:56 <AnMaster> 98s instructions (summary): '();=[]abcdefhijklmnoqrstuwxyz{} and A-Z
19:06:00 <AnMaster> space is not part of it
19:06:20 <AnMaster> did I miss any?
19:06:24 <ehird> Heh, it actually calls function definitions defun.
19:06:27 <ehird> Lisp on the brain!
19:06:39 <pikhq> Heheh.
19:06:52 <ehird> void * (*func)();
19:06:53 <ehird> This should be
19:06:56 <ehird> void *(*func)(...);
19:07:04 <ehird> No?
19:07:20 <pikhq> Yeah.
19:07:21 <AnMaster> ehird, try indent(1) with gnu settings
19:07:31 <ehird> Erm, how do you save-buffer-as in Emacs?
19:07:33 <ehird> AnMaster: Good idea.
19:07:42 <AnMaster> ehird, not sure how much it does inside macros
19:07:57 <AnMaster> ehird, what about M-x save-buffer-as RET ?
19:08:04 <AnMaster> (assuming that command is called that)
19:08:09 <ehird> Does not exist.
19:08:29 <ehird> struct fib_close_t *fib_close = xgc_malloc(sizeof(fib_close));
19:08:34 <ehird> pikhq: why not simply make struct closure end in
19:08:38 <ehird> void *closed[0];
19:08:39 <ehird> ?
19:08:46 <ehird> That way, you don't need malloc at all.
19:08:52 <ehird> And can cast a struct in.
19:09:07 <pikhq> ehird: C-x C-w
19:09:08 <AnMaster> ehird, using C-h k and then the menu in emacs it tells me that <menu-bar> <file> <write-file> runs the command write-file
19:09:11 -!- kar8nga has quit (Remote closed the connection).
19:09:13 <pikhq> Also, tempting.
19:09:16 <AnMaster> that is for save as
19:09:36 <AnMaster> (write-file filename &optional confirm)
19:09:47 <AnMaster> hm
19:09:57 <AnMaster> bound to C-x C-w
19:09:59 <AnMaster> ehird, ^
19:10:29 <AnMaster> it would have been easy to find out by yourself
19:10:38 <AnMaster> (enabling menu bar temporarily as I did)
19:11:30 <ehird> But the menu bar sucks.
19:11:49 <pikhq> I just pulled out my dead-tree Emacs manual.
19:11:50 * ehird wonders whether the alignment should be
19:11:53 <ehird> FN(...,
19:11:55 <soupdragon> my whole life is just a failure continuation
19:11:57 <ehird> {
19:11:58 <ehird> or
19:12:00 <ehird> FN(...,
19:12:01 <ehird> {
19:12:11 <pikhq> ehird: Second.
19:12:11 <ehird> (i.e., is it considered part of the call, or a function definition and thus a control structure?)
19:12:17 <ehird> pikhq: But we're extending C! :'(
19:12:19 <AnMaster> pikhq, you have such a manual?
19:12:24 <AnMaster> heh
19:12:24 <pikhq> AnMaster: Yes.
19:12:25 <ehird> It's more like rms' beloved Lisp now!
19:12:31 <AnMaster> pikhq, old?
19:12:34 <ehird> Okay, what about the return then
19:12:35 <ehird> return FN(...
19:12:37 <ehird> or
19:12:38 <pikhq> ehird: Hmm.
19:12:39 <ehird> return
19:12:40 <ehird> FN(...
19:12:41 <ehird> I think the latter
19:12:44 <pikhq> AnMaster: Emacs 22.
19:13:05 <AnMaster> pikhq, not that old then. I didn't know you could get such manuals
19:13:06 <AnMaster> and why
19:13:16 <ehird> pikhq hates trees.
19:13:33 <AnMaster> pikhq, does it include anything the online docs is missing?
19:13:36 <pikhq> AnMaster: Part of being an FSF member.
19:13:41 <pikhq> And no.
19:14:02 <AnMaster> pikhq, good thing you aren't member of some "save the forests" group as well
19:14:09 <pikhq> Heheh.
19:14:09 <AnMaster> also huh @ you being an FSF member
19:14:10 <ehird> I already made that joke.
19:14:36 <ehird> pikhq: Any opinions on the return indentation?
19:14:40 <ehird> return LAMBDA(...)
19:14:41 <ehird> or
19:14:43 <ehird> return
19:14:44 <pikhq> ehird: Not really.
19:14:44 <ehird> LAMBDA(...)
19:14:47 <ehird> I'd read the GNU style guide, but ugh
19:14:48 <AnMaster> ehird, no? you were that he hates trees. I joked that "good your interest didn't conflict then"
19:14:49 <ehird> I hate it
19:15:03 <ehird> AnMaster: That's... the same joke.
19:15:12 <Deewiant> ehird: Just write code and then run indent on it
19:15:13 <pikhq> ehird: The GNU style guide isn't even all that detailed.
19:15:14 <AnMaster> ehird, isn't it "return LAMBDA ()"
19:15:16 <AnMaster> in gnu style
19:15:28 <AnMaster> I thought they did space between function and parameter list
19:15:39 <AnMaster> except for _() in gettext
19:15:44 <AnMaster> maybe I misremember
19:15:45 <ehird> AnMaster: It's a macro.
19:15:48 <ehird> You can't do that with macros.
19:15:53 <ehird> Deewiant: Alright.
19:15:56 <AnMaster> ehird, oh good point
19:16:12 <AnMaster> Deewiant, indent iirc doesn't do much reformatting inside macros
19:16:25 <pikhq> The GNU style guide also "conveniently" prevents replacing a function with a macro. :P
19:16:39 <ehird> pikhq: http://sprunge.us/YLOS Are you *sure* you prefer the indented version?
19:16:50 <AnMaster> pikhq, oh? that's crazy
19:17:07 <AnMaster> ehird, yeargh
19:17:12 <pikhq> ehird: Yeargh.
19:17:15 <ehird> AnMaster: Using different naming conventions for functions and macros: THAT'S CRAZY
19:17:18 <ehird> Yeargh!
19:17:23 <ehird> pikhq: Which is more GNU-like, is the question, though.
19:17:24 <ehird> I think the latter.
19:17:25 <AnMaster> pikhq, stop copying me
19:17:50 <AnMaster> ehird, oh I thought he meant you weren't allowed to do #define FOO somefunction
19:17:53 <pikhq> ehird: Emacs gives me the first when set for GNU.
19:18:23 <ehird> pikhq: Yes, but we're adding a new control structure here.
19:18:26 <ehird> So there's a conflict of sorts.
19:18:40 <pikhq> Erm. s/first/second/ thinko.
19:19:17 <ehird> Oh wait, the params should be on the next line
19:19:20 <ehird> GNU style, after all.
19:19:26 <ehird> pikhq: Erm, right, switch what I said too.
19:19:41 <pikhq> ehird: Just go with the second.
19:19:46 <pikhq> It feels most GNU.
19:20:00 <ehird> I'm just gonna Go With Indent, because I can't be arsed to think about this stuff. :P
19:20:06 <pikhq> Hahah.
19:20:14 <AnMaster> ehird, which one is indent of those two?
19:20:20 <ehird> I don't know; haven't run indent yet.
19:20:31 <ehird> Btw, C-x C-v RET is useful for reloading a file.
19:20:35 <AnMaster> ehird, on linux or os x? iirc os x has *bsd indent
19:20:38 <AnMaster> which is different
19:20:41 <pikhq> By the way, your definition of cons there won't work.
19:20:42 <AnMaster> iirc
19:20:54 <ehird> pikhq: Yeah, no closing
19:21:00 <ehird> Hmm
19:21:02 <pikhq> ehird: Yeah.
19:21:05 <ehird> If you have a structure ending in a [0] array
19:21:06 <ehird> Can you do
19:21:12 <ehird> struct foo = { ..., {1,2,3} };
19:21:17 <ehird> and have it automatically allocate the right space on the stack?
19:21:27 <AnMaster> ehird, why [0]. GCC manual recommends one uses [] from C99 instead
19:21:35 <ehird> AnMaster: Okay, fine, [].
19:21:43 <pikhq> ehird: I'm pretty sure you can.
19:21:47 <ehird> pikhq: Sweet.
19:21:58 <AnMaster> pikhq, really? that surprises me
19:22:05 <ehird> This will be the WORST C FILE EVER
19:22:31 <pikhq> Actually, not "pretty sure". 100% positive. That's a GNU extension to compound literals.
19:22:44 <pikhq> AnMaster: GCC does many a surprising thing.
19:22:44 <AnMaster> pikhq, oh so it won't work in pure c99?
19:22:53 <ehird> It's like I'm programming in the worst functional language ever invented
19:22:53 <AnMaster> that bit I meant
19:22:56 <ehird> And I love it
19:23:01 <pikhq> AnMaster: Probably not.
19:23:03 <pikhq> ehird: Heheheh.
19:23:06 <ehird> pikhq: Wait a second.
19:23:07 <AnMaster> pikhq, hm
19:23:10 <ehird> Your thing doesn't have typed return values.
19:23:13 <ehird> That is lame fuck.
19:23:17 <ehird> I'm adding them to my thing.
19:23:27 <pikhq> ehird: Yeah, it's all void *.
19:23:33 <ehird> Hmm.
19:23:39 <ehird> Then again, that would require that I make a macro that defines a structure.
19:23:41 <pikhq> I had a very, very hacked together thing.
19:23:42 <AnMaster> ehird, but then a lambda that returns a+b won't work for both float and int will it?
19:23:42 <ehird> That isn't very GNU at all.
19:23:56 <ehird> AnMaster: It won't with (void *), either.
19:24:01 <AnMaster> ehird, good point
19:24:25 <pikhq> AnMaster: It's still "typed", the compiler just *can't* do any type checking on it.
19:24:40 <AnMaster> ah like that you mean
19:24:41 <AnMaster> right
19:24:52 <AnMaster> I was thinking "like tgmath.h"
19:26:15 <ehird> pikhq: You know, I should probably make this closure_t *.
19:26:26 <ehird> Currently, a cons cell is passing around three machine words. Everywhere.
19:26:34 <ehird> (The function pointer and the car and cdr pointers.)
19:27:07 <pikhq> ehird: Yeah, probably should.
19:27:23 <ehird> But that'd make things inconvenient, so I won't.
19:27:43 <pikhq> Mmm. Oh, the malloc'ing you'd have to do.
19:28:03 <ehird> Incidentally, with mine, this works:
19:28:15 <ehird> LAMBDA(NULL, (), printf("foo"); printf("bar\n"))
19:28:21 <ehird> Look ma, no braces!
19:28:32 <pikhq> Works with mine, too.
19:28:39 <ehird> Nope.
19:28:48 <ehird> Because it won't return the value the latter printf returns.
19:28:49 <ehird> :)
19:28:50 <pikhq> lambda(NULL, (void*_, int *x), x && printf("%i ", *x))
19:29:27 <pikhq> Sure it will. It will then get treated as a void*.
19:29:35 <ehird> Sorry, no.
19:29:53 <pikhq> ... Explain yourself?
19:29:54 <ehird> {\
19:29:55 <ehird> __VA_ARGS__;\
19:29:57 <ehird> };\
19:29:59 <ehird> No "return", see?
19:30:04 <ehird> I do "return ({ __VA_ARGS__; });".
19:30:18 <ehird> Actually, body, not __VA_ARGS__.
19:30:19 <pikhq> And that prevents you from returning within the lambda.
19:30:19 <ehird> But whatever.
19:30:28 <ehird> Who said it does?
19:30:43 <AnMaster> ehird, wait, why does a cons cell need a closure? Isn't it *only* car and cdr in general?
19:30:47 <pikhq> return inside of a return borks.
19:30:52 <ehird> AnMaster: I'm implementing cons cells as closures.
19:30:56 <ehird> >:)
19:30:57 <AnMaster> ehird, aha
19:30:59 <pikhq> That's the only reason I *don't* have the lambda in a return ({ }).
19:30:59 <AnMaster> crazy
19:31:16 <ehird> Hey, it's common... in the lambda calculus.
19:31:21 <ehird> pikhq: Alright then.
19:31:30 <AnMaster> ehird, correction: "crazy for C"
19:31:37 <ehird> AnMaster: This whole thing is crazy for C. :P
19:31:40 <AnMaster> well yes
19:31:46 <AnMaster> it is crazy for most lisps too
19:32:16 <pikhq> ehird: Also, I'm pretty sure GCC implicitly returns the last value.
19:32:18 <ehird> Hmm... What happens if you use NULL in place of a void *[]?
19:32:26 <pikhq> Erm. Value of the last statement.
19:32:39 <AnMaster> pikhq, in statement expressions?
19:32:55 <AnMaster> or, in general?
19:33:13 <pikhq> AnMaster: In general.
19:33:25 <AnMaster> the later would be batshit insane while still not breaking the C standard (since not using return to return from a non-void function is undef
19:33:49 <ehird> *latter
19:33:56 <AnMaster> inded
19:33:58 <AnMaster> indeed*
19:34:03 <pikhq> What's so batshit insane about it, other than that you *really* shouldn't rely upon it?
19:34:05 <AnMaster> ehird, cold fingers doesn't help spelling
19:34:13 <ehird> [19:31] <ehird> Hmm... What happens if you use NULL in place of a void *[]?
19:34:16 <ehird> I guess breakage.
19:34:33 <AnMaster> pikhq, because it breaks if the types are incompatible
19:34:53 <pikhq> AnMaster: Why yes, yes it does.
19:34:55 <AnMaster> what if you have something that has the value 4 but you should return a struct on the stack (not even a pointer to a struct)
19:35:11 <pikhq> Then clearly you're going to break shit.
19:35:22 <pikhq> If the return value is not ignored.
19:35:25 <AnMaster> pikhq, with no different warning that not using return at all
19:35:33 <AnMaster> afaik
19:35:40 <ehird> So don't do that.
19:36:18 <AnMaster> ehird, my point was that implicit return won't warn for such issues other than the usual about falling of end of non-void func
19:36:54 <pikhq> ehird: ... Yes. What else would it do?
19:36:56 <pikhq> Erm.
19:36:58 <pikhq> AnMaster:
19:37:52 <pikhq> "I'm warning you that the following is a dumb idea!: struct foo bar = *((struct foo*)((void *)&4));"
19:39:12 <AnMaster> pikhq, was that a gcc warning?
19:39:28 <pikhq> ... No.
19:39:28 -!- nooga has joined.
19:39:33 <AnMaster> pikhq, why the quotes
19:39:36 <pikhq> I'm asking you "what the hell do you expect, *that*?"
19:40:02 <AnMaster> pikhq, I doubt that &4 would even compile
19:40:16 <AnMaster> what the hell does it mean to take the address of an integer literal
19:40:19 <pikhq> Probably not.
19:40:31 <pikhq> &({int x=4;}), however.
19:40:41 <AnMaster> (unless it is implicitly cast to a pointer)
19:40:42 <ehird> Whoa, lots of errors.
19:40:48 <AnMaster> pikhq, hm what is that?
19:41:03 <AnMaster> pikhq, taking the address of a statement expression I see
19:41:06 <AnMaster> but what the hell does that do
19:41:08 <ehird> closure.c:46:6: error: macro "LAMBDA" passed 4 arguments, but takes just 3
19:41:11 <ehird> ffffffffffff
19:41:12 <ehird> uuuuuuuuuuuuuuuu
19:41:20 <AnMaster> ...
19:41:23 <pikhq> Same thing as ({int x=4;&x;})
19:41:27 <ehird> ({ void * __function (void *_, closure_t list, closure_t closure) { { return ({ closure_t __closure = (list); __closure.function (__closure.closed, ({ void * __function (void **_) { { return nil; } } (closure_t) { __function, ({ }) }; }), ({ void * __function (void **_, void *car, void *cdr) { { return ({ closure_t __closure = (cons); __closure.function (__closure.closed, ({ closure_t __closure = (closure); __closure.function (__closure.closed, car); }),
19:41:28 <ehird> ({ closure_t __closure = (map); __closure.function (__closure.closed, cdr); })); }); } } (closure_t) { __function, ({ closure }) }; })); }); } } (closure_t) { __function, ({ }) }; });
19:41:33 <AnMaster> ehird, spam!
19:41:33 <ehird> This is going to be fun to debug.
19:41:37 <ehird> AnMaster: Two lines.
19:41:40 <nooga> ehird: i've installed plan9 in qemu but i can't start rio ;[ any ideas?
19:41:44 <AnMaster> ehird, I didn't mean line count
19:41:48 <AnMaster> ehird, I meant what was in it
19:41:51 <ehird> nooga: see the plan 9 wiki for common problems, other than that, too vague
19:41:54 <ehird> AnMaster: Don't care.
19:41:58 <pikhq> ehird: Oh dear.
19:42:00 <AnMaster> ehird, also try indent on that from the error
19:42:11 <ehird> AnMaster: But then the line numbers won't match up.
19:42:14 <AnMaster> it should help split it over lines
19:42:28 <AnMaster> ehird, well then, split it on several lines some other way before the error
19:42:34 <ehird> Aha, indent exposed the error. :D
19:42:34 <AnMaster> maybe take gcc -E output
19:42:37 <AnMaster> and use that directly
19:42:43 <AnMaster> ehird, my suggestion worked then :P
19:42:44 <ehird> Well. Sort of.
19:42:50 <ehird> indent appears to... balk... on my macros.
19:42:51 <nooga> ehird: i've read that wiki ;p
19:42:58 <AnMaster> ehird, wow
19:43:08 <ehird> As in "holy mother of fuck why is intending so much".
19:43:13 <ehird> struct cons_closed {
19:43:15 <ehird> void *car;
19:43:16 <ehird> void *cdr;};
19:43:18 <ehird> struct
19:43:19 <ehird> cons_closed *
19:43:21 <AnMaster> :D
19:43:21 <ehird> cell =
19:43:22 <ehird> Yeah, see, that bit of nesting ended, indent.
19:43:24 <AnMaster> wonderful
19:43:33 <ehird> It gets so awesome near the end
19:43:39 <ehird> Literally 3 letters of text
19:43:54 <nooga> what is that code?
19:44:00 <ehird> http://sprunge.us/AHFC
19:44:03 <ehird> Behold... the INDENTOFAIL.
19:44:06 <AnMaster> ehird, it reminds me of how the C99 construct: struct x y = { .foo = 1, .bar = 2 } messes up astyle
19:44:07 <ehird> nooga: My version of pikhq's closures in C.
19:44:12 <AnMaster> well it has to be split over several lines for it
19:44:17 <ehird> Good god it's so pretty.
19:44:18 <AnMaster> it goes something like:
19:44:21 <AnMaster> struct x y = {
19:44:23 <ehird> ); closure_t map = LAMBDA (
19:44:25 <ehird> {
19:44:25 <AnMaster> .foo = 1,
19:44:26 <ehird> }
19:44:28 <ehird> ,
19:44:29 <ehird> (void
19:44:31 <ehird> *_,
19:44:33 <AnMaster> .bar = 2}
19:44:36 <AnMaster> iirc
19:44:36 <ehird> I don't think indent actually has any idea what my code is.
19:44:46 <AnMaster> ehird, agreed
19:44:52 <pikhq> Ahahah.
19:44:56 <pikhq> It seems that indent sucks.
19:45:04 <ehird> I think I'll try AnMaster's beloved astyle :P
19:45:05 <AnMaster> ehird, try astyle with gnu setting
19:45:06 <pikhq> Use Emacs' indent routines. They're... Maintained.
19:45:23 <AnMaster> ehird, unless you use .foo in struct initialisers it works well
19:45:27 <ehird> I had to indent my macros manually :(
19:45:32 <ehird> Emcas tried to make them flat and linear
19:45:33 <nooga> what do you mean closures in C?
19:45:42 <ehird> nooga: No, nooga, it is not something that should actually be used.
19:45:43 <pikhq> nooga: Just that.
19:45:51 <ehird> don't encourage him :|
19:45:55 <nooga> .....
19:45:59 <AnMaster> link him to the code
19:46:03 <ehird> NO, DON'T
19:46:06 <nooga> oh, yes, please
19:46:08 <ehird> I might end up maintaining what he barfs out
19:46:16 <AnMaster> nooga, <ehird> http://sprunge.us/AHFC
19:46:17 <nooga> i'm just curious
19:46:22 <AnMaster> ehird, what?
19:46:24 <ehird> That's not working code, though
19:46:31 <AnMaster> ehird, exactly
19:46:32 <ehird> That's my 50-thousand-compile-errors code
19:46:34 <ehird> :P
19:46:43 <AnMaster> ehird, yes I tried to help you
19:46:43 <AnMaster> -_-
19:46:50 <pikhq> http://sprunge.us/ONFI
19:46:53 <AnMaster> nooga, use logs if you want to find working code
19:46:54 <AnMaster> meh
19:46:57 * AnMaster glares at pikhq
19:47:01 <pikhq> If you're going to write anything like that, DONT USE C.
19:47:16 <AnMaster> pikhq, this should go to IOCCC
19:47:20 <pikhq> That there code will break if I squint at it wrong.
19:47:23 <AnMaster> after some obfuscating
19:47:25 <AnMaster> oh wait
19:47:28 <AnMaster> not portable
19:47:30 <AnMaster> forget it
19:47:40 <ehird> Most flagrant violation of the rules, yeah?
19:47:49 <ehird> Okay, astyle only breaks, instead of breaking horribly.
19:47:53 <nooga> yeah, AnMaster is right about that IOCCC
19:47:53 <ehird> closure_t cons =
19:47:54 <ehird> LAMBDA( { },
19:47:56 <ehird> (void *_, void *car, void *cdr),
19:47:57 <ehird> {
19:48:01 <ehird> Unless that's actually how it should be indented.
19:48:03 <AnMaster> ehird, it has to be portable C code for IOCCC
19:48:06 <AnMaster> so it won't work indeed
19:48:11 <ehird> AnMaster: Yes, and plenty of people break the IOCCC rules.
19:48:15 <ehird> There's even an award for breaking the rules.
19:48:26 <AnMaster> oh true
19:48:37 <pikhq> And the "portable C" bit is a judging criteria, not a rule.
19:48:40 <AnMaster> ehird, wait, wasn't the award for "having to change the rules for the next year"?
19:48:45 <ehird> No.
19:48:49 <ehird> That was just one occasion.
19:48:51 <AnMaster> ah
19:49:24 <ehird> struct cons_closed {
19:49:26 <ehird> void *car;
19:49:27 <AnMaster> ehird, I didn't say astyle was perfect. It just seems to manage fairly well on my code.
19:49:27 <ehird> void *cdr;
19:49:29 <ehird> };
19:49:32 <ehird> Thanks for pointing out my error, astyle.
19:49:35 <ehird> No thanks for not fixing it.
19:49:45 <AnMaster> ehird, it can't possibly fix it
19:49:56 <AnMaster> it isn't supposed to change the semantics
19:50:01 <ehird> I mean the { on the same line.
19:50:04 <ehird> ); closure_t map = LAMBDA (
19:50:06 <ehird> {
19:50:07 <ehird> }
19:50:09 <ehird> ,
19:50:10 <ehird> (void
19:50:12 <ehird> *_,
19:50:13 <ehird> Erm
19:50:15 <ehird> closure_t nil =
19:50:16 <ehird> LAMBDA( { },
19:50:17 <AnMaster> ehird, what?
19:50:18 <ehird> (void *_, closure_t nil_closure, closure_t cons_closure),
19:50:19 <ehird> {
19:50:23 <ehird> Now that thar is a bug.
19:50:27 <ehird> ({ being at column 0)
19:50:28 -!- coppro has joined.
19:50:29 <ehird> inside a function
19:50:48 <AnMaster> ehird, well yes. But I don't think it ever says it supports GCC extensions specifically
19:51:36 <AnMaster> ehird, I really don't blame any tool for failing at this lambda code
19:51:52 <pikhq> AnMaster: ... Brackets inside of the arguments to a macro is not a GCC extension.
19:52:06 <AnMaster> pikhq, oh that I thought he meant ({
19:52:10 <AnMaster> he said he did
19:52:14 -!- ehird_ has joined.
19:52:15 <pikhq> int main(int argc, char **argc) { {printf("Hello, world!\n");} }
19:52:23 <ehird_> "char **argc"
19:52:23 <pikhq> ^ That's valid C90.
19:52:26 <ehird_> wat.
19:52:31 <pikhq> ... Thinko.
19:52:32 <ehird_> no it's not :P
19:52:34 <pikhq> int main(int argc, char **argv) { {printf("Hello, world!\n");} }
19:52:43 <ehird_> You forgot the return 0;
19:52:46 <ehird_> :D
19:52:52 <AnMaster> indeed
19:52:58 <pikhq> int main(int argc, char **argv) { {printf("Hello, world!\n");}; return 0; }
19:53:03 <pikhq> Or just:
19:53:07 <ehird_> ehird@meson:~/src/c-closures$ gcc -E closure.c | cat -n | astyle --style=gnu
19:53:09 <ehird_> Time to get to work.
19:53:10 <pikhq> int main(int argc, char **argv) { {return printf("Hello, world!\n");} }
19:53:11 <AnMaster> pikhq, also maybe astyle thinks it is a function call?
19:53:19 <AnMaster> pikhq, just a guess
19:54:08 <AnMaster> ehird_, btw I think http://sprunge.us/AHFC looks that insane partly due to trying to keep inside 80 columns
19:54:18 <ehird_> ); closure_t nil = LAMBDA (
19:54:20 <ehird_> No excuse for that
19:54:24 <ehird_> The definition ended and it didn't realise it
19:54:25 <pikhq> And partly because it never denests.
19:54:26 <pikhq> Ever.
19:54:30 <ehird_> No it does
19:54:39 <ehird_> (nil_closure);}
19:54:40 <ehird_> ); closure_t map = LAMBDA (
19:54:42 <ehird_> See?! :P
19:54:57 <ehird_> Also, that code actually breaks my code, because LAMBDA is a macro. :D
19:55:06 <nooga> Ð
19:55:11 <nooga>
19:55:19 <AnMaster> ehird_, then why are you writing that?
19:55:27 <nooga> yay, rio works
19:55:32 <ehird_> AnMaster: I'm not.
19:55:34 <ehird_> indent is.
19:55:37 <pikhq> ehird_: Apparently they can't be assed to write a parser.
19:55:46 <AnMaster> ehird_, you mean it modified the meaning of the source?
19:55:46 <pikhq> And instead, just write a tokeniser.
19:56:02 <AnMaster> it is possible it doesn't parse it into an AST
19:56:11 <AnMaster> (or similar)
19:56:17 <pikhq> It most definitely isn't parsing it.
19:56:17 <AnMaster> instead just going on simpler rules
19:56:25 <AnMaster> pikhq, hm yeah
19:56:32 <AnMaster> well, what about emacs indention
19:56:42 <AnMaster> didn't someone say it did better?
19:56:47 <AnMaster> does it parse it, or just tokenize it?
19:56:51 <AnMaster> tokenise*
19:57:01 <pikhq> Emacs' indentation seems to work just fine on my lambda stuff.
19:57:01 <ehird_> closure.c:47:6: error: macro "LAMBDA" passed 4 arguments, but takes just 3
19:57:06 <ehird_> Okay, so this is the pre-preprocessed line number.
19:57:45 <AnMaster> ehird_, I would be surprised if line numbers didn't became messed up with the lambda macro in errors
19:57:50 <AnMaster> become*
19:58:08 <ehird_> No, because the preprocessed output does not have that many lines.
19:58:09 <ehird_> QED.
19:58:15 -!- ehird has quit (Read error: 60 (Operation timed out)).
19:58:25 -!- BeholdMyGlory_ has joined.
19:58:26 <ehird_> return LAMBDA;
19:58:30 <ehird_> Thanks for pinpointing my error, gcc.
19:58:32 -!- ehird_ has changed nick to ehird.
19:59:02 <pikhq> ehird: Tried using clang?
19:59:06 <ehird> lol :P
19:59:10 <ehird> can it handle these extensions?
19:59:18 <ehird> No but really, it did pinpoint my error.
19:59:22 <pikhq> Yes.
19:59:29 <pikhq> clang supports most of GNU C.
19:59:41 <ehird> Keyword most :P
20:00:22 <pikhq> Argh. Nested functions aren't supported by clang.
20:00:37 <pikhq> (yet)
20:01:18 -!- BeholdMyGlory has quit (Nick collision from services.).
20:01:23 <pikhq> However, clang has lambda.
20:01:41 <ehird> Your mother has lambda.
20:01:51 <ehird> TOUCHE METHINKS
20:02:06 <ehird> But... gcc, I only pass three arguments there.
20:02:08 <ehird> Wait, is (foo,
20:02:10 <ehird> bar)
20:02:11 <ehird> not one argument in cpp?
20:02:14 <ehird> (With the parens in the argument)
20:02:35 <pikhq> "# clang does not support nested functions; this is a complex feature which is infrequently used, so it is unlikely to be implemented anytime soon."
20:03:02 <pikhq> ehird: I think it is...
20:03:08 <pikhq> My code doesn't work *without* that...
20:03:45 <ehird> But I mean, with the newline.
20:04:23 <ehird> http://sprunge.us/CLDg
20:04:28 <ehird> How on earth does this pass four arguments to LAMBDA?
20:04:40 <pikhq> Ah. I dunno.
20:05:21 <pikhq> ehird: Y'know, when you've got this working, you should make it so that it can also conditionally use blocks instead.
20:05:57 <pikhq> And... I dunno how it thinks that's four args.
20:06:22 <pikhq> ... { car, cdr } // That might be it.
20:06:46 <ehird> But... why?
20:06:48 <ehird> >_<
20:07:17 <pikhq> I dunno.
20:08:00 <ehird> Anyway, it's the only call that does it
20:08:06 <ehird> Hmm
20:08:11 <ehird> It's the only call closing over more than one variable
20:09:53 <ehird> ({ car, cdr }) fixes it.
20:12:27 <ehird> closure.c:57: error: non-static initialization of a flexible array member
20:12:29 <ehird> pikhq: Poop.
20:12:30 <pikhq> Huh. Clang has the option -fcatch-undefined-behavior.
20:13:14 <pikhq> ehird: :/
20:13:32 <ehird> closure.c:29: warning: initialization from incompatible pointer type
20:13:33 <ehird> Abuh?
20:14:02 <nooga> hahaaaaaaa! it works1!1!
20:14:03 <pikhq> Abuh?
20:16:29 <ehird> closure.c:57: error: incompatible types when returning type ‘closure_t’ but ‘void *’ was expected
20:16:32 <ehird> >_<
20:16:32 -!- BeholdMyGlory_ has changed nick to BeholdMyGlory.
20:17:40 <pikhq> ehird: I think you need a pointer.
20:17:52 <ehird> Or I could just give up
20:18:30 <pikhq> Also true.
20:20:22 * pikhq suggests making LAMBDA malloc
20:21:51 <ehird> I might.
20:29:19 <AnMaster> argh why did the cold folding thing in kate suddenly turn a kind of brownish orange
20:29:20 <pikhq> main.c:125: error: incompatible type for argument 3 of ‘range’
20:29:22 <pikhq> FFFUUUUU
20:29:51 * pikhq wonders when closure* and closure* became incompatible types
20:30:06 <AnMaster> pikhq, what did you change?
20:30:26 <pikhq> AnMaster: I made lambda malloc.
20:30:42 <AnMaster> pikhq, ah
20:30:50 <AnMaster> pikhq, gc_malloc ?
20:30:53 <AnMaster> or whatever it was called
20:30:56 <pikhq> Yeah.
20:31:06 <AnMaster> pikhq, can you return a closure yet?
20:31:33 <pikhq> AnMaster, I already could.
20:31:34 <AnMaster> pikhq, also <pikhq> Huh. Clang has the option -fcatch-undefined-behavior. <-- sounds nice, does it work well?
20:31:47 <AnMaster> pikhq, how? doesn't trampolines mess it up?
20:32:02 <pikhq> I write my nested functions so as to avoid the usage of trampolines.
20:32:03 <coppro> AnMaster: It catches some stuff; not a ton
20:32:25 <AnMaster> coppro, mhm. Is this in the last release? Or only in svn?
20:32:33 <AnMaster> clang version 1.0 (https://llvm.org/svn/llvm-project/cfe/branches/release_26 )
20:32:39 <AnMaster> says my version from arch repos
20:32:49 * AnMaster looks the docs
20:32:56 <coppro> AnMaster: not sure
20:33:12 <AnMaster> not in man page or --help at least
20:33:38 <coppro> documentation doesn't exactly get update on a regular basis
20:33:53 <coppro> not in my manpage either
20:33:56 <AnMaster> coppro, you could auto generate man page docs from the option parsing code
20:33:57 <AnMaster> as in
20:33:57 <coppro> and I'm on trunk
20:34:17 <AnMaster> you have them defined somewhere, include a short help string in there
20:34:32 <AnMaster> then generate the options section in the man page from it
20:34:37 <coppro> feel free to submit a patch
20:35:15 <AnMaster> coppro, I believe gcc does this. Also I don't have the time currently at least.
20:35:20 <AnMaster> (for the next few months)
20:35:38 <coppro> AnMaster: if we did everything GCC did, we'd use macros instead of a type system
20:36:00 <AnMaster> coppro, is it in --help for you?
20:36:12 <coppro> no
20:37:14 <AnMaster> i = i++ - ++i; <-- that is undef iirc?
20:37:20 <Deewiant> Yes
20:37:25 <AnMaster> coppro, does it catch it?
20:37:38 <AnMaster> if so then my clang silently ignores that flag
20:38:32 <coppro> AnMaster: it does not, but that's not the purpose of the flag
20:38:38 <coppro> the flag adds runtime checks
20:38:41 <AnMaster> ah
20:38:53 <coppro> GCC has it too
20:38:54 <AnMaster> well, clang-cc doesn't accept it
20:38:59 <AnMaster> and clang ignores it silently
20:39:23 <AnMaster> coppro, no "-fcatch-undefined-behavior" in my man gcc
20:39:29 <AnMaster> or what did you mean
20:39:48 <coppro> AnMaster: it may be a 4.5 thing
20:40:07 <coppro> but I remember the revision log note said it came from GCC
20:40:08 <AnMaster> coppro, last I tried 4.5 it produced a broken executable at -O0 for cfunge iirc.
20:40:15 <AnMaster> that was a few months ago
20:40:28 <AnMaster> also iirc I found a matching bug report about it
20:41:08 <AnMaster> (it was after lto branch had been merged, I know that, since it was the reason I tried out 4.5)
20:42:39 <AnMaster> ehird, is it possible to use both web and irc at the same time on iphone? I guess it is, since it is such an advanced phone.
20:43:07 <coppro> no
20:43:15 <AnMaster> coppro, what?
20:43:18 <AnMaster> that's broken
20:43:24 <coppro> you can only run one application at once
20:43:36 <ehird> Yes, actually.
20:43:42 <ehird> Most IRC apps include their own browser. :P
20:43:43 <AnMaster> coppro, broken, can't most other high end smart phones do it?
20:43:47 <AnMaster> ehird, -_-
20:43:47 <coppro> you can pop out for some functions, but if you start a new application, it closes the old one
20:43:49 <ehird> Anyway, IRC is not an intended use of the iPhone.
20:43:52 <ehird> It's an edge case.
20:43:55 <coppro> I was just going to mention the possibility of a client with a browser
20:43:58 <Deewiant> Even my not-so-high-end phone can multitask
20:44:08 <ehird> Almost all usecases don't require multitasking apps and it makes things simpler. Yes, it's a sore need
20:44:12 <coppro> but I know that this has been the subject of much costernation at work (we have an iPhone app)
20:44:14 <ehird> but it rarely comes up in practice i find
20:44:24 <AnMaster> my old nokia can't, but well, it isn't a smartphone.
20:45:38 <AnMaster> but then, won't you have 20 different browser UIs that all look differently and use different bookmarks?
20:45:58 <AnMaster> plus a lot of coding effort
20:46:11 <AnMaster> and code duplication, and buggy web browsers
20:46:27 <AnMaster> ehird, what about IM though
20:46:33 <AnMaster> that can't be too rare on iphone
20:46:57 <ehird> AnMaster: IM and IRC are the only cases
20:47:00 <ehird> And they're pretty much identical
20:47:01 <ehird> So IM
20:47:03 <ehird> is the only case
20:47:10 <ehird> And they just include a browser; a non-optimal, but functional, hack.
20:47:13 <ehird> Apart from that... basically never used.
20:47:18 <ehird> Also, they all reuse Safari's core.
20:47:22 <AnMaster> ah that helps
20:47:22 <ehird> Which basically does everything but the URL bar for them.
20:47:42 <ehird> Admittedly you don't get URL completion or bookmarks, but... it's mostly just for tapping links that people say.
20:48:28 <AnMaster> also, I wanted multi tasking more than once on my phone
20:48:42 <AnMaster> like checking the schedule while editing an sms
20:48:49 <AnMaster> without having to store it as a draft
20:49:05 <AnMaster> just flip over to the calendar would be nice
20:49:51 <AnMaster> ehird, that is another use case, see?
20:50:57 * AnMaster adds an entry on his mental list of "reasons to not buy an iphone"
20:52:44 <ehird> Nobody cares
20:53:15 <AnMaster> I do
20:53:54 -!- coppro has quit (Remote closed the connection).
20:57:55 <augur> did i ever tell you guys about that time i got into an argument with some numbskull who insisted that it's impossible to detect any sort of non-termination in a computer program?
20:59:52 <pikhq> augur: So, you've solved the halting problem?
20:59:54 <pikhq> Amazing.
21:00:06 <augur> no :|
21:00:15 <augur> not a generate detector of non-termination
21:00:30 <augur> but something that can, for at least one non-terminating program, tell that its not terminating
21:00:36 <pikhq> Ah.
21:00:59 <soupdragon> augur can you tell me about it
21:01:02 <augur> e.g., say, the javascript non-terminating-program-detector: program == "while (true) {}"
21:01:13 <pikhq> So, something that can say "this terminates", "this doesn't terminate", or "fuck if I know".
21:01:21 <augur> and shazam, it detects precisely one non-terminating program
21:01:33 -!- coppro has joined.
21:01:33 <pikhq> Yeah, that's pretty trivial to write. Bit more difficult to make one that's even vaguely useful, but hey.
21:01:34 <augur> he was arguing with me that its impossible to detect ANY non-terminating programs
21:01:45 <soupdragon> augur what about the guy what was he saying
21:01:55 <augur> ^^^
21:02:16 <augur> he said that to detect a specific kind of non-termination was to solve the halting problem
21:02:30 <augur> he didnt relize that the halting problem was about detecting arbitrary non-termination
21:03:12 <augur> and that since humans could detect some kinds of non-termination, we therefore are super-turing-complete
21:03:51 <soupdragon> so you think he didn't undertand halting problem
21:04:09 <soupdragon> did you manage to break through it
21:04:22 <augur> no :(
21:04:35 <soupdragon> how did you try
21:05:06 <augur> i just tried to explain to him that the halting problems is the problem of deciding, for all programs, whether or not they halt
21:05:28 <augur> and that being able to tell if _one particular program_ halts is not a solution to the halting problem
21:05:35 <augur> we were talking about dependent types, i think
21:05:51 <soupdragon> you see this one: program == "while (true) {}"
21:05:55 <augur> this was before i realized i was talking about dependent types
21:06:19 <augur> and i was talking about the idea of a program error finder that would be able to tell you, prior to execution, that your program would have certain kinds of errors
21:06:23 <soupdragon> maybe he was thinking about extensionally equivalent to this (which would be solving halting problem), but you were meaning intensional (which would not solve halting problem)
21:06:25 <augur> and he was like LOL HALTING PROBLEM DUMMY
21:06:59 <soupdragon> hm how does dependent types relate?
21:07:28 <augur> well, it would involve partially tracing through evaluation paths
21:07:44 <augur> to find places where they could lead to an error
21:08:06 <augur> and you'd want to basically avoid circular traces, and he thought that doing this would require that you solve the halting problem
21:08:42 <soupdragon> this is getting way too complex for me to follow
21:08:57 <augur> :P
21:08:57 <pikhq> Looks to me like you'd only solve the halting problem for a certain finite-state machine. Which is not merely possible, but rather easy.
21:09:13 <pikhq> Well, except that the state might be hard to store. :P
21:09:15 <augur> yeah it was a really stupid discussion
21:09:18 <augur> he was an idiot.
21:09:48 <soupdragon> are you sure
21:10:13 <augur> yes.
21:10:16 <soupdragon> okay
21:12:11 <augur> tgrep, btw.
21:12:17 <soupdragon> >_<
21:12:24 <augur> what?
21:12:26 <augur> you dont like tgrep?
21:12:56 <soupdragon> augur
21:13:02 <augur> what? :|
21:13:10 <soupdragon> if dependent types came into it he was probably talking about something more refined
21:13:18 <augur> no, he wasnt.
21:13:32 <augur> was i arguing with you? i dont think i was. so stop trying to defend this person. :|
21:13:32 <soupdragon> but it seems weird that he would say "LOL HALTING PROBLEM DUMMY" because that suggests he already knew the answer
21:14:12 <soupdragon> I don't think I am defending them
21:14:17 <augur> you really are
21:14:23 <augur> YOU'RE A LITTLE EICHMANN
21:14:39 <soupdragon> lol.,.,.
21:14:43 <augur> :p
21:14:49 <augur> tgrep!
21:15:08 <soupdragon> ><
21:15:16 <augur> what?
21:15:21 <augur> tgrep is cool!
21:15:30 <soupdragon> augur, I'm just interested in these discussions
21:16:02 <soupdragon> like, when someone is wrong but they know they are right
21:19:51 <soupdragon> it's a very interesting phenomena to me, when its genuine
21:20:11 <soupdragon> phenomenon
21:20:43 -!- Guest32065 has changed nick to Cerise.
21:22:24 <augur> anyway
21:22:25 <augur> TGREP! :D
21:22:33 <soupdragon> ;_;
21:22:57 <augur> http://www.stanford.edu/dept/linguistics/corpora/material/tgrep1-intro.pdf
21:30:09 * pikhq tried converting that lambda example to use GMP.
21:30:23 <pikhq> I then found out that GMP doesn't much care for garbage collection.
21:30:39 <pikhq> You can force it to, but it just seems wrong...
21:34:57 <AnMaster> <augur> and i was talking about the idea of a program error finder that would be able to tell you, prior to execution, that your program would have certain kinds of errors <-- ITYM static analysis?
21:35:10 <soupdragon> :/
21:35:16 <augur> AnMaster: maybe
21:35:18 <soupdragon> I don't think he meant static analysis
21:35:26 <AnMaster> augur, then what if not that?
21:35:51 <AnMaster> of course it depends on how you define static analysis
21:36:32 <AnMaster> trying to work out types in a dynamically typed language and then finding contradiction? The erlang static analyzer "dialyzer" does that.
21:36:48 <AnMaster> soupdragon, would you included that in your definition of static analysis?
21:37:18 <soupdragon> AnMaster: i don't mean that
21:37:27 <soupdragon> actually what he said IS static analysis
21:38:07 <AnMaster> soupdragon, you don't consider what I described as static analysis?
21:38:25 <soupdragon> I'm not worried about whether or not it's static analysis
21:38:39 <soupdragon> the point is it doesn't make sense to say ITYM like that
21:39:04 <soupdragon> because it wasn't like he said "fledermaus" and meant "baseball bat"
21:40:10 <AnMaster> soupdragon, what is a "fledermaus"? It sounds like the Swedish word "fladdermus" which is en:bat
21:40:14 <AnMaster> as in the animal
21:40:28 <soupdragon> it means bat :p
21:40:40 <AnMaster> so considering things, I'm guessing German or similar language
21:40:47 <soupdragon> yes
21:41:39 -!- dbc has quit (Client Quit).
21:42:40 <AnMaster> <augur> tgrep <-- what is tgrep? A variant of grep(1) I guess. but can't find it in the package repo
21:42:44 <augur> tree grep
21:43:07 <AnMaster> <soupdragon> like, when someone is wrong but they know they are right <-- we usually call it "being misinformed"
21:43:16 <soupdragon> :/
21:43:20 <AnMaster> augur, interesting
21:43:31 <AnMaster> augur, how does it work and on what file format
21:43:49 <AnMaster> augur, btw it isn't in ubuntu either
21:43:54 <AnMaster> augur, do you have a link?
21:43:55 <soupdragon> it's not being misinformed
21:44:14 -!- dbc has joined.
21:44:31 <AnMaster> soupdragon, oh? so you claim that won't be the symptoms of being misinformed?
21:44:49 <soupdragon> it's related but more specific and not the same thing
21:45:08 <AnMaster> soupdragon, what is it then. (max three irc lines)
21:45:18 <nooga> uuuuuuuuuuuh
21:45:34 <soupdragon> I already wrote a description
21:45:45 <soupdragon> then you tried to summarize it and lost some of the detail
21:45:47 <AnMaster> soupdragon, yes, but what is it called
21:45:54 <nooga> plan9 is awesome but bizzare
21:45:57 <AnMaster> and what else than being misinformed can it be
21:46:01 -!- MigoMipo has quit (Read error: 104 (Connection reset by peer)).
21:46:10 <AnMaster> as in, list one (1) other subset
21:46:18 <AnMaster> that is disjoint
21:46:31 <AnMaster> from being misinformed
21:48:06 <AnMaster> very well, ignore it then
21:48:12 <AnMaster> soupdragon, ^
21:48:14 <soupdragon> ignore what?
21:48:43 <AnMaster> soupdragon, what else than being misinformed can it be. I asked for you to list one other thing it can be
21:49:17 <AnMaster> that doesn't overlap with being misinformed
21:49:18 <soupdragon> you can call this misinformed like you can call a breezy meadow of poppies 'pretty' but you lose information when you do this
21:49:41 <AnMaster> soupdragon, that isn't an answer
21:50:06 <AnMaster> or rather, it is a nonsensical answer
21:50:21 <soupdragon> really
21:51:32 <AnMaster> yes.
21:51:52 <AnMaster> soupdragon, how hard can it be to list a case or example of that thing you described that isn't "being misinformed"
21:55:12 <soupdragon> I can't explain this
21:55:51 <soupdragon> AnMaster if you had a terrible nightmare about ghouls and ghosts and everyone was a zombie except you in the whole world and there is this whole long story that means so much to you
21:56:00 <soupdragon> AnMaster, then you tell your mom and she goes "oh you had a nightmare"
21:56:08 <soupdragon> but 'nightmare' doesn't explain it because it was so much more
21:56:13 <soupdragon> do you know what I mean ?
21:56:16 <AnMaster> soupdragon, no
21:56:23 <AnMaster> nightmare is a good summary of it
21:56:29 <AnMaster> also, I'm grown up
21:56:33 <AnMaster> not some 7 year old
21:56:36 <soupdragon> you said no way too fast
21:56:43 <soupdragon> you are just responding to me without thinking
21:56:45 <AnMaster> soupdragon, as in, I never experienced that
21:56:48 <AnMaster> and yes I was considering it
21:56:57 <soupdragon> it's a hypothetical situation you didn't have to live through it
21:57:08 <AnMaster> soupdragon, I had nightmares
21:57:20 <AnMaster> I know that they can be nasty especially when you are young
21:57:35 <soupdragon> this isn't about nightmares
21:57:37 <AnMaster> but nightmare still explains the issue. You might need to add a modifier like "really bad"
21:57:40 <AnMaster> in front
21:57:45 <AnMaster> but apart from that, it is a good summary
21:59:26 <AnMaster> soupdragon, and providing a counter example where the summary in question doesn't fit is all that you need to convince me
22:00:13 -!- augur has quit (Read error: 110 (Connection timed out)).
22:01:58 <AnMaster> soupdragon, besides (considering this in a set theory way), you originally said it was a disjoint phenomenon "<soupdragon> it's related but more specific and not the same thing" then later you seemed to indicate it was a proper subset "<soupdragon> then you tried to summarize it and lost some of the detail"
22:02:31 <soupdragon> this is not set theory
22:03:10 <AnMaster> soupdragon, true. but considering (possibly overlapping) classes of things using set theory works in my experience
22:03:52 <AnMaster> I found it a useful "tool" in understanding how things are related.
22:03:59 <soupdragon> ok
22:05:44 <coppro> yay, I managed to keep a high average in calculus!
22:07:04 <AnMaster> coppro, the joke I thought of that line would be too long winding and far fetched
22:07:14 <AnMaster> so I'm not going to mention it
22:07:19 <AnMaster> s/mention/say/
22:07:31 <AnMaster> coppro, instead I wonder if you refer to marks in some course
22:07:41 <coppro> I do
22:08:10 <AnMaster> coppro, hey you are supposed to ask what the joke was
22:08:19 <coppro> not gonna!
22:08:26 <AnMaster> then I'll tell it anyway
22:08:29 <AnMaster> well the idea
22:08:50 <AnMaster> about it being the average value in some specific problem in a calculus assignment
22:09:17 <AnMaster> like, say, average of a function in a given interval or whatever.
22:09:27 <AnMaster> coppro, ^
22:09:38 <soupdragon> what do you mean by calculus
22:09:48 <soupdragon> coppri
22:09:58 <coppro> soupdragon: high school calculus
22:10:03 <soupdragon> oh ok
22:10:14 <soupdragon> what can you integrate
22:10:59 <coppro> well, officially I haven't gotten there yet
22:11:06 <soupdragon> ok
22:11:18 <soupdragon> can you do epsilon-delta proofs?
22:11:25 <AnMaster> soupdragon, rotational bodies?
22:11:33 <AnMaster> I remember that being quite fun
22:11:41 <AnMaster> from back in the equiv of high school
22:11:43 <soupdragon> yeah
22:11:47 <coppro> soupdragon: I understand the epsilon-delta definition, but I haven't tried to apply it
22:11:51 <AnMaster> fun as in "a hell of a task"
22:11:55 <AnMaster> ;P
22:12:25 <soupdragon> coppro so basically differentiating expressions made from +,-,*,/,x,numbers,various primitive functions and composition??
22:12:41 <coppro> soupdragon: yeah, that's about as far as I've actually gotten
22:12:44 <AnMaster> that would be high school level
22:12:49 <soupdragon> wow I could program a computer to do that
22:12:58 <coppro> (note that I can do better than this; I'm just talking about where I am in the course)
22:12:59 <soupdragon> so could you I'm sure
22:13:01 <AnMaster> the epsilon-delta stuff is more like university level isn't it?
22:13:05 <AnMaster> soupdragon, ^
22:13:13 <AnMaster> at least in Sweden it is
22:13:13 <AnMaster> iirc
22:13:27 <soupdragon> AnMaster, yeah you are right I guess so
22:13:29 <AnMaster> coppro, where you from UK or US?
22:13:36 <coppro> AnMaster: .ca
22:13:38 <AnMaster> ah
22:14:37 <ehird> most mathematics education is like "here is how to do this thing... in case you absolutely need to apply this and there is no computer ANYWHERE"
22:14:42 <ehird> which is... pointless
22:14:42 <coppro> this course goes about as far as integration by parts, plus an optional unit on differentiation and integration of exponential/logarithmic functions
22:14:49 <coppro> no, it's not pointless
22:15:01 <coppro> you need to know what the computer does
22:15:08 <coppro> this is why so many people are bad programmers
22:15:34 <soupdragon> ehird I'm really curious about the possibility of a mathematics course that assumed you were a skilled programmer
22:15:36 <ehird> What the computer does is not what you are taught to do mentally
22:15:47 <ehird> That is because the algorithms you use mentally are only useful for trivial examples and are also shit
22:15:52 <ehird> Therefore they are useless
22:15:57 <coppro> no, but you need to understand how to get from point a to b
22:16:00 <soupdragon> ehird, like what if you could just not learn any of the crap like differentation and multiplication -- program it into the computer and see what's left
22:16:10 <ehird> coppro: an asinine phrase without an associated argument, signifying nothing.
22:16:12 <soupdragon> you know? the real creative stuff that matters - what you can't put into code
22:16:26 <soupdragon> maybe people are scared because they might find out there's nothing left
22:16:35 <ehird> soupdragon: I assume you didn't mean multiplication as a separate thing there :P
22:16:41 <ehird> "2*2? Um, let me get my iPhone."
22:16:49 <soupdragon> ehird, no that's exactly what I mean
22:16:55 <coppro> a person should know how to do basic math
22:16:59 <coppro> even if they never have to use it
22:17:02 <soupdragon> Just hypotheticall, a context where there's no reason you should bother working out 2*2 yourself
22:17:04 <ehird> I'm shit at mental arithmetic, I'm just really slow at it
22:17:14 <ehird> and I refuse to spend hours listening to a times table
22:17:16 <FireFly> I hope you're fast with 2*2
22:17:19 <ehird> yes :P
22:17:24 <FireFly> Great, you pass
22:17:45 <ehird> i love how if you ever question "why do i need to be able to multiply such large numbers in my head" they say something like "hurr finances"
22:17:54 <ehird> because calculators will be BANNED by the time you grow up, sonny boy
22:17:57 <ehird> BANNED
22:18:10 <ehird> what is the point of finances if not as a fun mental arithmetic exercise
22:18:11 <coppro> multiplying large numbers in your head seems unnecessary
22:20:19 <soupdragon> hellooo
22:21:11 <coppro> but knowing how to differentiate elemental functions is important
22:21:20 <soupdragon> :(
22:21:44 <ehird> coppro: I don't think so.
22:21:52 <coppro> ehird: then you are wrong
22:22:34 <ehird> Nice to know you've abandoned attempting to reappropriate asinine phrases as arguments; I'd prefer it were replaced with arguments, though, instead of the lack of them.
22:22:52 <soupdragon> ehird, how can you argue against "THOU HAST WRONG"
22:23:10 <coppro> ehird: fun fact: this is exactly what you do in arguments
22:23:20 <coppro> anyways, you don't learn things you don't understand
22:23:23 <soupdragon> ehird you should think about my idea :(
22:23:40 <coppro> it is vital that you understand the basics of something before moving on to the advanced stuff
22:23:46 <coppro> or else it doesn't stick
22:24:11 <soupdragon> ehird, I want to know what it would be like if computers were sort fo like a fundamental part of peoples unconcious thinking -- instead of programming your brain to do these menial tasks we could program an on board computer, and just focus on the real mathematics .. do you know what I mean here?
22:25:37 <ehird> brains are computers
22:25:50 <ehird> coppro: You can learn how differentiation works by programming the algorithm, and stepping through it.
22:25:58 <soupdragon> ehird -_-
22:26:09 <ehird> soupdragon: i'm just trolling you.
22:27:58 <soupdragon> come on
22:28:01 <soupdragon> this is a cool idea
22:28:20 <soupdragon> you read ekhads geometry book?
22:28:25 <ehird> no
22:28:37 <soupdragon> oh yeah I forgot you can't read, sorry
22:28:50 <ehird> indeed.
22:28:56 <soupdragon> http://www.math.rutgers.edu/~zeilberg/GT.html
22:29:15 <soupdragon> ehird im just kidding because you still haven't read metamorphosis :P
22:29:20 <ehird> i know
22:29:46 <ehird> cool it's an acronym
22:29:54 <ehird> PGAETBSBEXIVC2050BDZ
22:30:13 <soupdragon> um I don't see what it is for?
22:30:25 <soupdragon> Plane Geometry An Elementry ..?
22:30:33 <ehird> yep!
22:30:36 <ehird> look at the big letters in the title
22:30:38 <ehird> it's elementary.
22:30:51 <soupdragon> I don't get it :(
22:31:00 <ehird> some of the letters are big, see
22:31:04 <ehird> and when I expand an acronym like
22:31:06 <ehird> POOP =
22:31:12 <ehird> Posh OOgs Pallating
22:31:13 <ehird> see?
22:31:15 <soupdragon> you're not good at being cool
22:31:15 <ehird> it's hilarious
22:31:16 <ehird> laugh, btich
22:31:18 <ehird> *bitch
22:31:22 <ehird> was I trying to be cool
22:31:25 <ehird> I usually aim for incoherent
22:31:33 <soupdragon> I'll find someone else to talk to
22:31:40 <soupdragon> (probably not actually)
22:35:44 <soupdragon> ehird that sucked actually
22:36:00 <soupdragon> why did you do that
22:36:26 * coppro wanders off to do a unit on trig functions
22:37:18 <ehird> soupdragon: stop whining
22:37:45 <soupdragon> ehird: that doesn't answer my question
22:38:07 <soupdragon> ehird: you are making me feel like you are just some kind fo haskell fanboy
22:38:33 <coppro> soupdragon: welcome to the world of ehird
22:38:41 <ehird> soupdragon: what are you even talking about, what did I do
22:38:46 <ehird> what did I do that's so bad?
22:39:04 <coppro> that I don't know
22:39:07 <soupdragon> ehird I was trying to talk about something I actually care about and you are just trolling me, probably because I don't often say serious things
22:39:53 <ehird> soupdragon: the problem with talking to you is that everything has to be serious if you care about something
22:40:02 <ehird> random side jokes are equated to being a dick
22:40:20 <ehird> and you get all upset about trolling and then turn around later and do it yourself
22:41:08 <coppro> except that it's difficult to tell if stuff like [15:25:25]<ehird>coppro: You can learn how differentiation works by programming the algorithm, and stepping through it. is sarcastic or not on the Internet
22:41:09 <soupdragon> ehird fuck off all you did was take the piss out of me for 100 lines of chat
22:41:10 <coppro> it happens
22:41:34 <soupdragon> ehird, that's not "everything has to be serious for queen soupdragon" that's just being an ass
22:42:09 <ehird> soupdragon: i did not take the piss out of you for 100 lines
22:42:12 <soupdragon> anyway I give up you're obviously just going to continue trolling to save face
22:42:15 <coppro> actually, scratch that
22:42:20 <coppro> I'm going to pick up a marksheet
22:42:23 <ehird> I don't know what's wrong with you but you're massively overreacting to things I didn't do
22:42:23 <coppro> then do more math
22:42:24 <soupdragon> there's no way you are going to suddenly start acting okay after this
22:42:28 <ehird> and talking is not going to help anything
22:42:34 <soupdragon> <ehird> cool it's an acronym
22:42:35 <soupdragon> <ehird> PGAETBSBEXIVC2050BDZ
22:42:36 <ehird> I'm pretty sure you're either a total troll or mentally unstable
22:42:39 <soupdragon> <ehird> brains are computers
22:42:48 <soupdragon> incase you didn't realize what you were saying
22:43:01 <ehird> 2 random lines I joked about when seeing the page, and 1 that I immediately said I was kidding after.
22:43:06 <ehird> Does that equate to 100 lines of cold-blooded trolling?
22:43:27 <coppro> first 2 were definitely a sarcasm
22:43:32 <soupdragon> okay then
22:43:38 <soupdragon> I take back what I said about 200 lines
22:45:17 <ehird> you said 100 lines.
22:48:53 <AnMaster> <ehird> most mathematics education is like "here is how to do this thing... in case you absolutely need to apply this and there is no computer ANYWHERE" <-- it might happen, post-catastrophe. Plus someone has to know how to implement it all
22:49:22 <ehird> I never said don't teach them the algorithm
22:49:32 <ehird> Plus, that's irrelevant to initial education
22:49:45 <ehird> You think a typical schoolkid could survive a post-apocalyptic world?
22:49:47 <ehird> pff
22:51:31 <soupdragon> I don't think anyone can survive apocalyptic
22:51:42 <soupdragon> not even a typical schoolkid
22:54:23 <AnMaster> ehird, good point
22:54:57 * pikhq shakes a fist at OSCAR
22:55:13 <ehird> I'm applying existential quantification, flexible contexts, multiple-parameter type classes, flexible instances and functional dependencies to the problem of generating HTML.
22:55:15 <AnMaster> ehird, also, what about when you need to check that you didn't get short changed while in a ship
22:55:15 <soupdragon> what's OSCAR?
22:55:17 <AnMaster> shop*
22:55:18 <AnMaster> XD
22:55:22 <ehird> I am a true Haskell programmer.
22:55:31 <soupdragon> yeah I can see that you are a haskell programmer
22:55:34 <ehird> AnMaster: Yep, that involves differentiation...?
22:55:34 <AnMaster> that seems like a reasonable example of having to know basic arithmetic
22:55:36 <soupdragon> typical haskell programmer
22:55:43 <AnMaster> ehird, oh I thought you said "initial"
22:55:48 <soupdragon> sorry that was mean
22:55:49 <ehird> soupdragon: Hey, it's verified that the document is valid at compile-time.
22:55:53 <ehird> That's valuable. :P
22:55:53 <AnMaster> meaning, up to 10 years old or such
22:56:03 <ehird> I did say initial
22:56:06 <ehird> meaning like pre-university
22:56:09 <AnMaster> ehird, ah
22:56:17 <AnMaster> I thought more like primary or whatever you call it
22:57:11 <ehird> I'm going to make a preprocessor to generate this code
22:57:13 <ehird> It is rather gnarly
22:57:23 <AnMaster> ehird, what about having to figure out how fast the water level will raise in the bath if the tap is broken. So you know how much time you have to get hold of a plumber
22:57:25 <ehird> And I only have three tags implemented :P
22:57:31 <AnMaster> that would be a differential eqation
22:57:33 <AnMaster> equation*
22:57:37 <ehird> AnMaster: lol
22:57:54 <AnMaster> ehird, assume also that electricity failed or such
22:59:20 <AnMaster> though by the time you figured it out you could instead have gone down and turned off the main <thingy I don't know English word for> where the pipes goes into the house...)
22:59:45 <ehird> Quite.
22:59:46 <AnMaster> ehird, what do you call that thing?
22:59:58 <ehird> I don't know. Boiler?
22:59:59 <AnMaster> it's the same word as "tap" in Swedish
23:00:02 <AnMaster> ehird, no
23:00:11 <ehird> I didn't really read your sentence.
23:00:13 <AnMaster> ehird, I meant the cut off of cold water
23:00:21 <ehird> "tap", apparently.
23:00:28 <AnMaster> there is a thing to cut it off where the water pipes goes into the house yeah
23:00:44 <AnMaster> ehird, hm okay
23:00:46 -!- BeholdMyGlory has quit (Remote closed the connection).
23:00:48 <AnMaster> ehird, found it with google?
23:00:52 <ehird> yeah
23:00:54 <ehird> google translate
23:00:55 <ehird> hahahahahaha it works
23:00:57 <ehird> excellent
23:01:19 <AnMaster> ehird, well it is "kran" for both in Swedish
23:01:39 <AnMaster> but that doesn't mean both meanings have the same word in English
23:01:48 <ehird> Apparently cock is one of the meanings of kran in Swedish
23:01:54 <AnMaster> is it?
23:01:55 <ehird> Type-safe HTML generation with existential quantification, flexible contexts, multiple-parameter type classes, flexible instances, functional dependencies and undecidable instances. It works!
23:02:01 <ehird> AnMaster:
23:02:01 <AnMaster> ehird, kran is also slang for nose I know
23:02:02 <ehird> 1. CRANE
23:02:04 <ehird> 2. TAP
23:02:05 <ehird> 3. FAUCET
23:02:07 <ehird> 4. COCK
23:02:08 <ehird> 5. STOPCOCK
23:02:10 <ehird> 6. BIBCOCK
23:02:11 <ehird> 7. CRAB
23:02:13 <AnMaster> ...?
23:02:15 <AnMaster> where is that from
23:02:16 <AnMaster> hm
23:02:24 <ehird> google translate
23:02:30 <AnMaster> it lists alternatives?
23:02:35 <AnMaster> didn't know that
23:05:42 <AnMaster> ehird, apperently "BIBCOCK" and "STOPCOCK" are plumbing related
23:06:53 <ehird> Oh.
23:06:55 <AnMaster> ehird, "cock" can also be a sort of valve
23:06:56 <AnMaster> it seems
23:07:02 <ehird> I thought bibcock was like a bib, but you put it on your penis.
23:07:05 <AnMaster> apart from being a bird I mean
23:07:11 <ehird> To keep your penis clean, I guess.
23:07:22 <ehird> OBVIOUS ISN'T IT
23:07:23 <AnMaster> ehird, bib being short for bibliography?
23:07:30 <ehird> Short for bib :P
23:07:35 <AnMaster> whatever bib is
23:08:28 <AnMaster> "# Ballcock, a mechanism for filling water tanks" <-- the innuendo potential is extreme
23:09:09 <ehird> "I was just putting my ballcock in the water tank, but it broke, so I took it out."
23:09:15 <ehird> "Then I put it in again. And in, and out, in, out, in, out."
23:09:21 <ehird> "Why are you looking at me funny?"
23:09:27 <AnMaster> ehird, it is the thing that is used in toilets I think
23:09:32 <AnMaster> to make them stop when it is filled up
23:09:55 <AnMaster> see http://en.wikipedia.org/wiki/Ballcock
23:10:45 <AnMaster> the talk page mentions it
23:11:57 -!- oerjan has joined.
23:12:18 <AnMaster> oerjan, do you usually log read? I forgot
23:12:19 <AnMaster> also hi
23:12:56 <oerjan> i usually search for my nick in the logs. i only log read if it's fairly short (which it isn't today)
23:13:00 <ehird> fuckityfuckityfuck, I think my whole architecture is broken
23:13:00 <oerjan> and hi
23:13:33 <AnMaster> ehird, for what?
23:13:40 <AnMaster> ehird, OS? Editor? Something else?
23:13:42 <oerjan> i find no instances of my nick between my leaving and joining today, fwiw
23:14:01 <ehird> oerjan: do you know how to fix problems that involve a complex intertwining of existential quantification, flexible contexts, multiple-parameter type classes, flexible instances, functional dependencies, undecidable instances and impredicative types?
23:14:09 <ehird> AnMaster: actually, I'm just trying to generate HTML.
23:14:16 <AnMaster> ehird, oh
23:14:19 <oerjan> words to the effect of "no"
23:14:22 <ehird> the HASKELL way!
23:14:25 <pikhq> ehird: No more crazy C lambda?
23:14:25 <nooga> plan9 plan9 plan9 plan9 plan9
23:14:37 <ehird> pikhq: c lambda is like a pinch, this is like being bludgeoned
23:14:39 <ehird> or something
23:14:42 <pikhq> Ah.
23:15:00 <ehird> the end goal is something that'll let you use HTML literals in haskell source code and it'll be totally type-safe
23:15:02 <ehird> like
23:15:07 <AnMaster> oerjan, how many ballcocks are there in your house/apartment?
23:15:16 <ehird> XD
23:15:16 <oerjan> what is a ballcock
23:15:26 <AnMaster> oerjan, what do you think?
23:15:35 <ehird> foo path = do (w,h) <- imageInfo path; return <img src={path} width={w} height={h}/>
23:15:53 <ehird> pikhq: and it'll be foo :: FilePath -> Element IMG
23:15:55 <AnMaster> oerjan, I would assume at least one
23:15:59 <oerjan> it _sounds_ dirty, but that could be misleading. and even if it _is_ dirty i wouldn't know precisely what it means
23:15:59 <AnMaster> possibly more
23:16:01 <ehird> where "w" and "h" there actually have to be integers
23:16:05 <ehird> it'd desugar to something like
23:16:07 <AnMaster> oerjan, "Ballcock, a mechanism for filling water tanks"
23:16:12 <AnMaster> oerjan, used in toilets
23:16:19 <oerjan> indeed...
23:16:21 <AnMaster> well, gravity operated ones
23:16:29 <ehird> return (img ! src path ! width w ! height h)
23:16:49 <ehird> and if any of the html or compositions of html in your entire program resulted in any invalidity it'd go beep and be sad.
23:17:18 <AnMaster> oerjan, it sounds like the perfect innuendo
23:18:38 <oerjan> well my apartment has 1 toilet. perhaps the hot water tanks? there are two.
23:18:40 <oerjan> no idea what kind of design any of them use
23:18:41 <oerjan> so i assume <= 3
23:19:13 <AnMaster> oerjan, not sure about them either
23:19:18 <AnMaster> oerjan, also tanks?
23:19:28 <AnMaster> isn't there usually just one?
23:20:04 <AnMaster> oerjan, btw me making an actual dirty remark like that is almost zero
23:20:06 <pikhq> AnMaster: There exists more than one toilet.
23:20:16 <AnMaster> pikhq, in the world? yes certainly
23:20:43 <AnMaster> pikhq, otherwise there would be infinite problems with a long queue
23:20:58 <oerjan> ehird: btw i did see some functional language for typesafe xml or whatever somewhere
23:20:59 <pikhq> If there were only one water tank, one would say "ballcock, a mechanism for filling the water tank".
23:21:04 <ehird> oerjan: yeah cduce
23:21:10 <ehird> the annoying thing is i've *done* this in haskell before
23:21:13 <pikhq> Because there exists more than one, one says "ballcock, a mechanism for filling water tanks".
23:21:19 <AnMaster> pikhq, I quoted that from wikipedia
23:21:33 <AnMaster> pikhq, if you mean <AnMaster> oerjan, "Ballcock, a mechanism for filling water tanks"
23:21:44 <pikhq> Yes, and you were wondering why "water tanks" rather than "water tank".
23:22:20 <pikhq> Or I should stop IRCing while getting up every few seconds.
23:22:33 <oerjan> there might be more than one such language
23:22:38 <AnMaster> pikhq, heh?
23:22:56 <pikhq> Should definitely stop IRCing while getting up every few seconds.
23:23:03 <AnMaster> pikhq, it was on the disambig page for "cock"
23:23:14 <pikhq> Heh.
23:23:15 <oerjan> AnMaster: i am not sure why there are two tanks. _possibly_ one is for the landlady, i don't know if she has any tank elsewhere
23:24:10 <AnMaster> anyway cock has so many meanings that there are lots of possible ways to use it for innuendo
23:24:27 <AnMaster> anyone has a non-digital wrist watch in here?
23:24:51 -!- augur has joined.
23:24:52 * oerjan raises hand
23:24:56 <nooga> faen
23:25:15 <AnMaster> oerjan, "may contain cocks"
23:25:17 <oerjan> nooga: fy, ikke bann i kanalen
23:25:20 <AnMaster> in this case
23:25:38 <AnMaster> " * A part of a clock or watch used to support an outrigger bearing for a gear or lever
23:25:38 <AnMaster> * Balance cock, supports the balance wheel in a watch"
23:25:52 <AnMaster> I don't think http://en.wikipedia.org/wiki/Bracket_clock applies here
23:26:00 <nooga> oh
23:26:09 <nooga> i'm sorry
23:26:34 <AnMaster> oerjan, fan också. får man inte säga en djävla svordom?
23:27:13 <nooga> yea?
23:27:20 <AnMaster> nooga, ?
23:27:37 <nooga> AnMaster: i had the same question
23:27:51 <AnMaster> (bracket clocks apparently have/had "fly cocks")
23:28:37 <oerjan> AnMaster: nei for pokker
23:29:19 <nooga> ............
23:29:37 <AnMaster> oerjan, pokker?
23:29:44 <oerjan> AnMaster: btw is it optional whether or not to spell djävla with a d?
23:29:47 -!- iamcal has quit (Read error: 104 (Connection reset by peer)).
23:29:57 <AnMaster> oerjan, I may have typoed it
23:30:02 <AnMaster> it could be jävla
23:30:09 <AnMaster> I don't normally write it
23:30:12 <oerjan> heh
23:30:20 <oerjan> pokker is a swear word, of course
23:30:32 <AnMaster> oerjan, it is "djävulen" though
23:30:33 <nooga> is javla something like 'damn' ?
23:30:44 <oerjan> or mostly, "for pokker" is a swear phrase
23:30:51 <AnMaster> nooga, "djävulen" = "the devil"
23:31:12 <AnMaster> oerjan, "poker"?
23:31:19 <oerjan> for pokker means something like dammit i think
23:31:21 <AnMaster> oerjan, there is nothing like it in Swedish
23:31:33 <coppro> woohoo, I've already done two parts of this assignment already
23:31:39 <AnMaster> oerjan, dammit being more mild?
23:31:40 <AnMaster> or?
23:31:52 <coppro> not actually done them, but two sections are stuff I already took
23:31:53 <oerjan> i think it's related to pox, the disease
23:31:58 <AnMaster> ah
23:32:19 <oerjan> (kopper in norwegian but may have been pokker historically?)
23:32:25 <AnMaster> oerjan, don't think there is anything similar in Swedish
23:32:37 <coppro> ehird: for what it's worth to you, I do think that putting calculus and the other high-level math course side-by-side so that there's lots of duplication between them is dumb
23:32:39 <AnMaster> koppor in Swedish iirc
23:33:00 <nooga> how about errr.... fjandin ?
23:33:06 <nooga> is there such word?
23:33:14 <AnMaster> nooga, negatory for Swedish
23:33:24 <oerjan> AnMaster: i'm not sure if my watch contains a cock, i expect it contains only minimal mechanical parts
23:34:18 <AnMaster> nooga, the closest word I can think of is "fjantig" which isn't a swear word at all, rather it means ~silly (not exactly though)
23:34:30 <nooga> oh
23:34:33 <AnMaster> oerjan, battery driven? These modern people
23:34:59 <AnMaster> oerjan, when I was young it was uphill both ways along the pendulum!
23:35:32 <AnMaster> in a snowstorm!
23:35:52 <AnMaster> See also:
23:35:52 <AnMaster> * Cock (surname)
23:35:52 <AnMaster> * Cocks (surname)
23:35:59 <AnMaster> ouch
23:36:08 <ehird> Cockburn especially.
23:36:42 <AnMaster> ehird, what? really?
23:36:45 <AnMaster> as a name?
23:36:51 <ehird> Pronounced "cohburn".
23:37:22 <AnMaster> hah
23:38:48 <AnMaster> ehird, how is "cox" pronounced
23:38:48 <oerjan> nooga: fjandin looks similar to fienden (the enemy), could it be an old norse word?
23:39:02 <nooga> uhm, let me see
23:39:13 <ehird> AnMaster: Cocks.
23:39:24 <oerjan> and it also looks similar to fanden/faen, meaning the devil, quite possibly they all have that as origin...
23:39:26 <ehird> YES! IT WORKS!
23:39:41 <AnMaster> ehird, poor Alen Cox...
23:39:44 <ehird> *Main> :t decompose (html head_ body)
23:39:45 <ehird> decompose (html head_ body)
23:39:47 <ehird> :: (String, [Attribute HTML], [Element])
23:39:48 <ehird> AnMaster: *Alan
23:39:50 <AnMaster> Alan*
23:39:50 <ehird> Also Russ Cox
23:39:52 <AnMaster> ehird, yeah
23:40:04 <AnMaster> ehird, who?
23:40:12 <ehird> Plan 9 dude.
23:40:19 <ehird> Wrote plan9port, also had a large part in Go.
23:40:22 <AnMaster> ah
23:40:25 <ehird> swtch.com
23:40:36 <AnMaster> no wp article on him
23:41:20 <ehird> so?
23:41:21 <AnMaster> oh "cocktail" that would have high innuendo potential if it wasn't such a well known word
23:41:25 <oerjan> nooga: also old norse ~= icelandic, so could be that too
23:41:32 <ehird> he also wrote the popular article http://swtch.com/~rsc/regexp/regexp1.html
23:41:41 <nooga> http://www.youtube.com/watch?v=s7uw5bXzE7I#t=0m43s
23:41:51 <nooga> actually you're right
23:41:58 <nooga> it was icelandic
23:42:04 -!- cal153 has joined.
23:42:45 <oerjan> http://en.wiktionary.org/wiki/hver_fjandinn
23:42:49 <AnMaster> huh
23:42:56 <AnMaster> ehird, 20 seconds for that regex in perl?
23:43:03 <AnMaster> how the heck did he write it...
23:43:48 <oerjan> basically the same as norwegian "hva faen", i take
23:44:14 <ehird> AnMaster: RTFA
23:44:17 <AnMaster> hm
23:44:36 <oerjan> also, http://en.wiktionary.org/wiki/fjandi
23:44:56 <ehird> the disadvantage of NFAs is that you can't do backreferences in the regexp
23:44:59 <ehird> i.e. (foo)...\1...
23:45:06 <AnMaster> ehird, can it be expanded with all the features of PCRE and such though? I'll bookmark it for tomorrow. going to sleep now
23:45:09 <ehird> but by the time you use one of those... whip out a parser, dude
23:45:11 <ehird> AnMaster: no.
23:45:23 <AnMaster> ehird, ah, that's a minor issue.
23:45:26 <ehird> Not really
23:45:31 <ehird> Most uses of regexps are much simpler
23:45:37 <ehird> Most of the other uses are abuses
23:45:51 <AnMaster> ehird, I often use lookahead and lookbehind at least
23:46:01 <AnMaster> both negative and positive
23:46:50 <AnMaster> and back references is common too
23:47:08 <AnMaster> still, using the fastest one possible would be nice
23:49:33 -!- Pthing has joined.
23:55:44 -!- augur has quit (Read error: 110 (Connection timed out)).
2010-01-15
00:14:13 <ehird> Imaginary-base arithmetic is not much different from negative-base arithmetic, since an imaginary-base number may be considered as the interleave of its real and imaginary parts; using INTERCAL-72 notation,
00:14:15 <ehird> x(2i) + (2i)y(2i) = x(2i) ¢ y(2i).
00:14:16 <ehird> —Wikipedia
00:14:21 <ehird> wow, INTERCAL actually used in a serious example
00:14:25 <coppro> O_o
00:14:31 <ehird> :D
00:14:35 <ehird> we've finally made it, guys
00:14:37 <ehird> we're mainstream!
00:14:38 <coppro> that isn't INTERCAL-72 notation
00:14:39 <coppro> though
00:14:50 <coppro> it would be more like DO .1 <- ALSDFJSALDFJO@I#U$L!@JOUQE(W
00:14:57 <ehird> it's using its notation for interleave.
00:15:00 <ehird> also, intercal is not line noise.
00:15:06 <coppro> it's pretty close
00:15:08 <coppro> I've coded in it
00:31:20 <AnMaster> <ehird> we're mainstream! <-- then what to do now
00:32:19 <ehird> shit this is so fucking difficult
00:32:22 <ehird> I'm gonna try gadts
00:32:29 -!- comex has joined.
00:32:35 <AnMaster> coppro, also ¢ is Princeton syntax for interleave. Isnot $ it for more modern?
00:32:41 <ehird> "-72"
00:32:56 <AnMaster> ehird, yes I said that
00:33:01 <AnMaster> "Princeton syntax"
00:33:05 <AnMaster> very clearly there
00:33:12 <ehird> Wikipedia says "using INTERCAL-72"
00:33:18 <ehird> Therefore what you are saying about more modern syntax is irrelevant
00:33:28 <coppro> AnMaster: most modern compilers will accept $, but ¢ is the canonical operator
00:33:28 <AnMaster> ehird, I was just trying to remmeber
00:33:29 <AnMaster> plus
00:33:38 <AnMaster> <coppro> it would be more like DO .1 <- ALSDFJSALDFJO@I#U$L!@JOUQE(W <-- you used $ there
00:33:45 <coppro> oh
00:33:45 <ehird> >_<
00:33:47 <coppro> that was incidental
00:33:48 <ehird> He was writing line noise
00:34:01 <AnMaster> ehird, true, doesn't change that he included it
00:34:11 <AnMaster> and intercal is different line nose IME
00:34:14 <AnMaster> more " for a start
00:34:26 <ehird> I was disagreeing with that before—god, this is fruitless.
00:34:44 <AnMaster> ehird, I know you were
00:34:44 <AnMaster> ...
00:35:04 <ehird> Your mom.
00:36:00 <ehird> The irrelevance of integralosity
00:37:50 -!- augur has joined.
00:38:13 <ehird> I wanna be CDATA'd
00:38:18 <AnMaster> ehird, that's what she said
00:38:27 <ehird> I do hope you got my pun.
00:38:38 <AnMaster> it was on <ehird> The irrelevance of integralosity
00:38:43 <AnMaster> not the last line
00:38:48 <ehird> Oh.
00:38:53 <ehird> It's much better if you read it as the last line.
00:38:55 <AnMaster> I already started typing when you wrote it
00:39:08 <AnMaster> ehird, hm?
00:39:28 <ehird> I wanna be CDATA'd → I wanna be sedated (reference to http://en.wikipedia.org/wiki/I_Wanna_Be_Sedated)
00:39:33 <ehird> "I wanna be sedated" "That's what she said"
00:39:43 <AnMaster> XD
00:39:53 <ehird> Thus implying that the sexual prowess of the butt of the joke is so limited that women ask to be sedated so that they will not feel it as much.
00:39:57 <ehird> Just call me joke explainer
00:40:47 <AnMaster> ehird, you are claiming that title? then you will have to duel Ryan North first
00:41:52 <ehird> Woot it worked
00:41:55 <ehird> I'm so happy
00:42:02 -!- soupdragon has quit ("Leaving").
00:42:38 <AnMaster> ehird, what did
00:43:06 <ehird> This Haskell code
00:43:27 <AnMaster> plan9port switched to hg?
00:44:39 <ehird> From?
00:44:43 <AnMaster> ehird, cvs
00:44:51 <ehird> I think it's always been hg.
00:44:52 <nooga> there's no ghc for p9, but there's hugs
00:45:00 <ehird> hugs sucks
00:45:08 <AnMaster> ehird, they why is there .cvsignore in there still
00:45:08 <nooga> yea
00:45:19 <AnMaster> ehird, and lots of related cvs files
00:45:21 <ehird> AnMaster: Dunno, then.
00:46:19 <ehird> My brain just exploded.
00:46:21 <ehird> I can't handle pattern bindings for existential or GADT data constructors.
00:46:22 <ehird> Instead, use a case-expression, or do-notation, to unpack the constructor.
00:46:23 <ehird> —GHC
00:47:07 <AnMaster> ehird, XD
00:47:20 <AnMaster> ehird, are most that funny?
00:47:31 <ehird> No, most of them are just technical and very confusing.
00:47:41 <AnMaster> ehird, very confusing. Like?
00:47:47 <ehird> You end up patternmatching on the first words and the structure of the error message to debug problems.
00:47:53 <ehird> AnMaster: sec
00:47:58 <ehird> I'll get a good one
00:48:28 <AnMaster> at least gcc errors are usually not very cryptic. Unless you are doing lambda ;P
00:48:32 <ehird> Inferred type is less polymorphic than expected
00:48:34 <ehird> Quantified type variable `me' escapes
00:48:35 <AnMaster> g++ on the other hand...
00:48:35 <ehird> When checking an existential match that binds
00:48:37 <ehird> x :: Element me BODY
00:48:38 <ehird> The pattern(s) have type(s): WrapElem BODY
00:48:40 <ehird> The body has type: Element me BODY
00:48:41 <ehird> In a case alternative: WrapElem x -> x
00:48:43 <ehird> In the expression:
00:48:44 <ehird> case
00:48:46 <ehird> (decompose (BODY [WrapElem (CDATA "poop")] :: Element BODY HTML))
00:48:47 <ehird> of {
00:48:51 <ehird> WrapElem x -> x }
00:48:53 <ehird> Admittedly, that's when doing crazy code
00:49:00 <AnMaster> ehird, nonense to me
00:49:07 <AnMaster> nonsense*
00:49:23 <ehird> It's a rather specialised error. :)
00:49:58 <AnMaster> ehird, what does it mea
00:50:00 <AnMaster> mean*
00:50:19 <ehird> We have:
00:50:21 <ehird> data WrapElem a = forall me. WrapElem (Element me a)
00:50:25 <ehird> So basically, you can have e.g.
00:50:25 <AnMaster> ehird, also is there no line number there?
00:50:30 <ehird> That's on the previous line
00:50:31 <ehird> [WrapElem Foo]
00:50:33 <ehird> You can have that
00:50:38 <ehird> And that means that you can have
00:50:44 <AnMaster> mhm
00:50:52 <ehird> [WrapElem (something whose me type variable is Blah), WrapElem (something whose me type variable is Baggo)]
00:50:53 <ehird> And it works
00:51:02 <ehird> So it lets you do heterogenous lists of a sort, yeah?
00:51:07 <ehird> The problem is, what I did is basically
00:51:09 <AnMaster> I see
00:51:11 <ehird> Take the first element of that list
00:51:17 <ehird> and extract the innards from the WrapElem
00:51:19 <ehird> The problem is
00:51:23 <ehird> The type of that list is [WrapElem Something]
00:51:26 <ehird> So
00:51:33 <ehird> We don't know what type "me" will be from that
00:51:42 <ehird> So it's breaking the abstraction of WrapElem, and letting you break things, if it lets you get the value out
00:51:43 <AnMaster> Something being like void* ?
00:51:52 <ehird> AnMaster: No, being irrelevant to the issue
00:51:58 <AnMaster> ah
00:52:03 <ehird> —Because the inner type variable "me" would have to escape and leak from WrapElem.
00:52:07 <ehird> So you can't do it.
00:52:15 <ehird> Of course, this is... not so common to do.
00:52:23 <AnMaster> ehird, is there a way to get at the value then?
00:53:04 <AnMaster> also what does WrapElem do?
00:53:14 <ehird> Sure; if all the values inside the WrapElems share a typeclass (and this is in the type signature), you can extract it to use methods of that type class on it
00:53:16 <ehird> So we can do
00:53:23 <ehird> data Showable = forall a. (Show a) => a
00:53:30 <ehird> (show is the class of values that can be given a good string representation)
00:53:32 <AnMaster> ah
00:53:33 <ehird> *Show is
00:53:34 <ehird> and then
00:53:42 <ehird> [Showable 1, Showable "butt", Showable [1,2,3]]
00:53:44 <ehird> erm
00:53:49 <ehird> data Showable = forall a. (Show a) => Showable { unShowable :: a }
00:53:52 <ehird> then [Showable 1, Showable "butt", Showable [1,2,3]]
00:53:54 <ehird> and we can do
00:54:00 <ehird> map (show . unShowable) thatList
00:54:04 <AnMaster> ah
00:54:08 <ehird> unShowable extracts the value of type (Show a) => a from the list
00:54:15 <ehird> and then we call show on it
00:54:17 <ehird> and we get back
00:54:18 <AnMaster> but not possible in generic?
00:54:20 <ehird> ["1", "butt", "[1,2,3]"]
00:54:24 <ehird> AnMaster: ?
00:54:30 <ehird> It's not possible without a typeclass.
00:54:33 <AnMaster> ah
00:54:35 <ehird> Or, well, a function that works on values of any type.
00:54:39 <ehird> Like id :: a -> a :P
00:55:00 <ehird> Basically a lot of this stuff is because we want a useful feature of the type system, but there's some hole that lets us break the type system with it
00:55:02 <ehird> So we just plug that hole
00:55:03 <AnMaster> ehird, that would be a useless non-transformation in general
00:55:14 <ehird> id is useful sometimes in Haskell
00:55:17 <AnMaster> oh?
00:55:32 <AnMaster> well I imagine as a parameter to not map but similar funcs
00:55:36 <AnMaster> it could be useful
00:55:48 <ehird> Prelude> :t foldr id
00:55:49 <ehird> foldr id :: b -> [b -> b] -> b
00:55:51 <ehird> So:
00:55:57 <AnMaster> :t?
00:56:03 <ehird> show-me-the-type-of
00:56:05 <AnMaster> ah
00:56:07 <ehird> foldr 3 [succ, succ, pred] → 4
00:56:09 <ehird> Erm
00:56:11 <ehird> foldr id 3 [succ, succ, pred] → 4
00:56:25 <ehird> Whereas foldr in general is foldr :: (a -> b -> b) -> b -> [a] -> b
00:56:25 <AnMaster> I guess ti would get you the tail of the list you are folding?
00:56:28 <AnMaster> oh foldr
00:56:31 <AnMaster> well the head then
00:56:35 <ehird> ??
00:56:41 <ehird> So id is just a → a
00:56:42 <AnMaster> nvm
00:56:45 <ehird> But since our list contains functions
00:56:51 <ehird> It turns into (a → b) → (a → b)
00:56:55 <ehird> Which is the same as
00:57:01 <ehird> (a → b) → a → b
00:57:11 <ehird> Well
00:57:15 <ehird> They have to be monomorphic but
00:57:20 <ehird> it's (a → a) → a → a
00:57:22 <AnMaster> ehird, wouldn't fold* require a function that takes both accumulator and current value from list
00:57:22 <ehird> get it?
00:57:24 <ehird> So the second argument, a, becomes the type of foldr's next argument
00:57:33 <ehird> AnMaster: it does.
00:57:39 <ehird> I was trying to explain it but you're not listening so I won't bother
00:57:39 <AnMaster> ehird, id does that??
00:57:46 <AnMaster> I was listening
00:57:49 <AnMaster> trying to
00:58:27 <AnMaster> ehird, also yes I see what you mean there I think
00:58:28 <ehird> Okay, we need lambdabot in here
00:58:30 <ehird> Frsrs
00:58:32 <ehird> To explain
00:58:44 <ehird> Basically
00:58:52 <ehird> Prelude> :t foldr
00:58:53 <ehird> foldr :: (a -> b -> b) -> b -> [a] -> b
00:58:54 <ehird> Prelude> :t id
00:58:56 <ehird> id :: a -> a
00:58:57 <ehird> So, if we pass id as the first argument of foldr
00:59:02 <ehird> It must be of type (a → b → b)
00:59:06 <ehird> That's the same as
00:59:07 <oerjan> EgoBot can do some haskell
00:59:09 <ehird> a → (b → b)
00:59:11 <AnMaster> aha
00:59:14 <ehird> Now
00:59:19 <ehird> id's first argument must have the same type as its second
00:59:21 <ehird> So this turns into
00:59:24 <AnMaster> so it is basically optimising it?
00:59:27 <ehird> (b → b) → (b → b)
00:59:34 <ehird> AnMaster: What?
00:59:40 <ehird> That sentence makes no sense whatsoever.
00:59:43 <AnMaster> ehird, well, optimising the type
00:59:49 <AnMaster> to make it as simple as possible
00:59:51 <ehird> It's not optimising... It's specifying
00:59:55 <ehird> Making it less general
00:59:57 <ehird> So anyway
01:00:00 <AnMaster> well okay
01:00:03 <ehird> We have id :: (b -> b) -> (b -> b)
01:00:04 <AnMaster> bad word choice
01:00:09 <ehird> Because of that specification
01:00:11 <ehird> Right?
01:00:13 <AnMaster> yes
01:00:17 <AnMaster> makes perfect sense
01:00:17 <ehird> This is the same as
01:00:20 <ehird> (b -> b) -> b -> b
01:00:29 <ehird> (when we want two arguments in haskell we just curry it)
01:00:30 <AnMaster> makes kind of sense yes
01:00:39 <ehird> So, since
01:00:46 <ehird> foldr :: (a -> b -> b) -> b -> [a] -> b
01:00:51 <ehird> Our next parameter is b, which as we can see in our id signature is b.
01:00:54 <ehird> So that's any value.
01:00:55 <oerjan> !haskell foldr id 1 [(+1), (*10), (+1)]
01:01:00 <ehird> oerjan: i explained that
01:01:03 <ehird> plz don't interrupt my explanation
01:01:07 <ehird> AnMaster: So, the list.
01:01:09 <EgoBot> 21
01:01:11 <AnMaster> ehird, it does make kind of sense yes
01:01:13 <ehird> Well, what's the "a" in our id type?
01:01:15 <ehird> (b -> b).
01:01:26 <ehird> So we give it a list of functions of b -> b.
01:01:45 <AnMaster> oerjan, oh *now* I see how it can be useful too
01:01:48 <AnMaster> very cool
01:01:57 <ehird> Here's how that evaluates:
01:02:13 <AnMaster> ehird, in his defence oerjan's example *did* help a lot
01:02:18 <ehird> Alright
01:02:29 <ehird> (+1) `id` ((*10) `id` ((+1) `id` 1)))
01:02:34 <ehird> The last 1 because we're at the end of the list
01:02:36 <AnMaster> right
01:02:38 <ehird> So we take foldr's second parameter
01:02:43 <ehird> Now, we can just eliminate the ids there; they do nothing.
01:02:45 <ehird> So we get
01:02:55 <ehird> (+1) ((*10) ((+1) 1))
01:02:58 <AnMaster> ehird, foldr starts at head and goes to tail? Or was it the reverse
01:02:59 <ehird> In more common terms,
01:03:04 <ehird> ((1+1)*10)+1
01:03:06 <ehird> AnMaster: yes
01:03:10 <ehird> not the reverse, you got it
01:03:13 <AnMaster> right
01:03:16 <ehird> foldr is the same, but it nests leftwards instead of rightwards
01:03:22 <ehird> foldr has the nice property that you can use it on infinite lists
01:03:23 <AnMaster> so foldl is the reverse?
01:03:25 <ehird> ooh, I wonder if this works
01:03:28 <ehird> no
01:03:35 <ehird> AnMaster: they're identical in behaviour apart from when given infinite lists
01:03:40 <ehird> mostly, foldl is faster
01:03:42 <ehird> but foldr works on infinite lists
01:04:02 <AnMaster> ehird, foldr would be tail recursive in scheme, but foldl wouldn't? Or isn't it cons style list?
01:04:16 <ehird> It is.
01:04:19 <ehird> Let me show you the source
01:04:25 <oerjan> no, the other way around
01:04:30 <ehird> [01:04] <ehird> @src foldl
01:04:31 <ehird> [01:04] <lambdabot> foldl f z [] = z
01:04:33 <ehird> [01:04] <lambdabot> foldl f z (x:xs) = foldl f (f z x) xs
01:04:35 <ehird> [01:04] <ehird> @src foldr
01:04:36 <ehird> [01:04] <lambdabot> foldr f z [] = z
01:04:38 <ehird> [01:04] <lambdabot> foldr f z (x:xs) = f x (foldr f z xs)
01:04:39 <ehird> No need to understand Haskell
01:04:41 <ehird> Just look at where the parens are in the recursion structure
01:04:47 <AnMaster> hm
01:04:50 <ehird> You can see there why foldl doesn't work on infinite lists
01:04:52 <ehird> but foldr grows the stack
01:04:58 <AnMaster> foldr looks tail recursive indeed
01:05:02 <AnMaster> or wait no
01:05:06 * oerjan realizes he should have used a list that wasn't its own reverse...
01:05:07 <AnMaster> meh
01:05:08 <AnMaster> misread
01:05:14 <AnMaster> oerjan, :D
01:05:15 <oerjan> !haskell foldr id 1 [(+1), (*10), (+2)]
01:05:16 <EgoBot> 31
01:05:23 <ehird> oerjan: here's a fun example for you: foldr id [] $ cycle [(1:)]
01:05:29 <ehird> for AnMaster:
01:05:33 <ehird> cycle [x] is an infinite list of x
01:05:36 <ehird> [x,x,x,x,...]
01:05:40 <ehird> also, (:) is cons
01:05:44 <ehird> so (1:) [3,4] is [1,3,4]
01:05:51 <AnMaster> ehird, so foldl is tail recrusive, but foldr is not?
01:05:52 <ehird> So we have an infinite list of functions which, when given a list, prepend 1 to them
01:06:00 <ehird> You know how foldr id works
01:06:03 <ehird> So we start with []
01:06:05 <AnMaster> yep
01:06:06 <AnMaster> saw it
01:06:10 <ehird> And, each element of the infinite list, we run (1:) on it
01:06:13 <ehird> The result?
01:06:15 <ehird> [1,1,1,1,...
01:06:18 <ehird> And this *actually works*.
01:06:24 <AnMaster> hm right
01:06:25 <ehird> You can run it in GHCi and see the 1s appearing as fast as your CPU will let them.
01:06:34 <ehird> (f $ x is just f x)
01:06:42 <ehird> except sometimes when you would have to do f (blah) you can do f $ blah
01:06:47 <AnMaster> ehird, well it makes sense to not compute the list until it is required
01:06:48 <ehird> just an aid
01:06:53 <ehird> AnMaster: yep
01:06:54 <AnMaster> seems like a lazy feature
01:06:57 <ehird> Indeed
01:07:06 <AnMaster> ehird, nothing mind boggling in that
01:07:13 <ehird> It's just so cool that you can say things like "Apply this infinite list of functions to this empty list" and get something back
01:07:16 <ehird> Something relevant
01:07:24 <ehird> AnMaster: Fine, want something more interesting?
01:07:31 <oerjan> AnMaster: for scheme, the foldl equivalent is tail recursive. for haskell, lazy evaluations makes everything a lot more fishy
01:07:34 <AnMaster> ehird, it is just very functional and high level. I would expect a CAS to be able to do it as well
01:07:39 <ehird> Prelude> take 10 $ foldr id [] $ map (:) [1..]
01:07:40 <ehird> [1,2,3,4,5,6,7,8,9,10]
01:07:49 <AnMaster> oerjan, yeah
01:07:50 <ehird> So map (:) [1..] turns into [(1:),(2:),...]
01:07:52 <ehird> etc
01:07:53 <oerjan> which is why there is foldl' to force evaluation at each step
01:08:15 <AnMaster> ehird, but why can't foldl work on infinite lists
01:08:21 <AnMaster> you can stop at the step you need, no?
01:08:25 <ehird> [01:04] <ehird> [01:04] <ehird> @src foldl
01:08:26 <ehird> [01:04] <ehird> [01:04] <lambdabot> foldl f z [] = z
01:08:28 <ehird> [01:04] <ehird> [01:04] <lambdabot> foldl f z (x:xs) = foldl f (f z x) xs
01:08:29 <ehird> Trace the evaluation
01:08:37 <ehird> foldl f z (1:xs) = foldl f (f z x) xs
01:08:39 <AnMaster> lets see
01:08:40 <ehird> erm
01:08:43 <ehird> wait
01:08:47 <ehird> let's say z = 0
01:08:56 <ehird> foldl f 0 (1:xs) = foldl f (f 0 1) xs
01:09:01 <nooga> uhm
01:09:03 <AnMaster> ehird, is z the accumulator?
01:09:06 <ehird> Yes
01:09:10 <ehird> So we do foldl f (f 0 1) xs
01:09:14 <AnMaster> ehird, those short variable names really confuses me
01:09:17 <ehird> etc etc etc etc
01:09:20 <ehird> Until we reach f z []
01:09:22 <ehird> And then we return z
01:09:26 <ehird> We never build anything up
01:09:31 <ehird> We compute it all via tail recursion, then return the accumulator
01:09:31 <AnMaster> oh
01:09:40 <AnMaster> right
01:09:43 <ehird> AnMaster: The short variable names are only confusing in hyper-abstract code
01:09:51 <ehird> Which you don't have to write very often :)
01:09:52 <AnMaster> ehird, why not use map for that thing
01:09:58 <ehird> Er, how?
01:10:03 <AnMaster> I mean
01:10:07 <AnMaster> that infinite list
01:10:16 <AnMaster> mapping over infinite list makes sense
01:10:23 <ehird> I did
01:10:28 <AnMaster> right
01:10:32 <ehird> [01:07] <ehird> Prelude> take 10 $ foldr id [] $ map (:) [1..]
01:10:33 <ehird> [01:07] <ehird> [1,2,3,4,5,6,7,8,9,10]
01:10:35 <ehird> [01:07] <ehird> So map (:) [1..] turns into [(1:),(2:),...]
01:10:38 <AnMaster> ah there
01:10:38 <oerjan> ehird: that foldr id [] $ cycle [(1:)] could use undefined or anything at all of the right type instead of [], since it is never actually used
01:11:04 <ehird> oerjan: indeed
01:12:07 <ehird> Haskell is wonderful once you know it
01:12:17 <ehird> The problem is that Haskell makes you want to do abstract, awesome code
01:12:29 <ehird> And by doing so, you run into difficulties
01:12:31 <ehird> And this makes it seem like Haskell is difficult
01:12:41 <ehird> It's just that the language's awesome power encourages people to do crazy things :-)
01:12:50 <coppro> s/power/purity/
01:13:18 <AnMaster> # pacman -Ss tdb
01:13:18 <AnMaster> extra/tdb 1.2.0-1
01:13:18 <AnMaster> A Trivia Database similar to GDBM but allows simultaneous commits
01:13:26 <AnMaster> what the hell is a "Trivia database"
01:13:29 <oerjan> map f = foldr ((:).f) [] iirc
01:13:42 <AnMaster> something for "in popular culture" sections on wikipedia?
01:14:06 <ehird> AnMaster: also http://foldr.com/
01:14:08 <ehird> (enable js)
01:14:30 <AnMaster> ehird, why is there no foldl?
01:14:34 <AnMaster> as in
01:14:36 <AnMaster> foldl.com
01:14:37 <ehird> it used to exist
01:14:41 <ehird> but it expired or something
01:15:13 <AnMaster> ehird, it shows "The web page you tried to visit might have been trying to steal your personal information. That page was removed after being identified as a "phishing" web page."
01:15:14 <AnMaster> wth
01:19:44 <ehird> I want to write a Scheme→C compiler.
01:19:53 <ehird> So I will.
01:20:49 <pikhq> ehird: And your implementation method?
01:21:04 <ehird> CPS-transform followed by Cheney on the M.T.A.
01:21:07 * pikhq is going to guess the awesome one.
01:21:11 <ehird> Simple, beautiful, performant!
01:21:20 <ehird> Implemented in Haskell, because dammit I want to write some Haskell.
01:21:36 <ehird> pikhq: You guessed right :P
01:21:38 <pikhq> Heheh.
01:21:39 <AnMaster> ehird, and read that paper on regex. Of course I knew that regex were equiv with NFA and DFA. They teach that sort of thing at university
01:21:47 <AnMaster> + I knew it before
01:21:56 <ehird> AnMaster: Yes, but it's a practical paper about practical implications.
01:22:04 <ehird> And also a guide to implementing NFAs efficiently.
01:22:12 <ehird> (for regexps)
01:22:19 <AnMaster> ehird, yes indeed. I would have gone to DFA instead
01:22:35 <ehird> The argument is advocating NFA, so that's unlikely.
01:23:07 <AnMaster> ehird, hm? as in, since I didn't know about the efficient NFA algorithm
01:23:25 <ehird> Ah, I see.
01:23:32 <AnMaster> but I did know it was equiv with DFA and DFA was fast
01:23:39 <ehird> That algorithm is implemented by the inventor of computer regxps. :)
01:24:05 -!- FireFly has quit ("Leaving").
01:24:09 <AnMaster> ehird, for practical purposes I would have said "argh I can't back ref"
01:24:23 <ehird> Meh :P
01:24:47 <AnMaster> I actually use back ref quite often
01:25:00 <AnMaster> sure not all the time
01:25:08 <ehird> Is there any sort of guarantee in a regular C program that the first N memory locations won't be allocated?
01:25:12 <ehird> I guess there is, up to a point.
01:25:37 <ehird> #f = 0, #t = 1, '() = 2, ASCII characters = 3 to 259.
01:25:44 <AnMaster> ehird, you mean near NULL?
01:25:46 <ehird> Apart from that, lower bit is 1 means that it's a fixnum.
01:25:49 <ehird> Otherwise, it's a pointer.
01:25:59 <AnMaster> ehird, if you mean the first page of memory: "no"
01:26:00 <ehird> AnMaster: I need memory locations 0 to 259 to be free, to be specific.
01:26:07 <AnMaster> ehird, not in generic
01:26:21 <ehird> Hmm, pointers to variables on the stack end with 0, right?
01:26:45 <AnMaster> ehird, on linux "most likely" page 0 won't be mapped since it kernel usually forbids it
01:26:53 <ehird> Good enough for me
01:26:57 <AnMaster> dosemu (or was it dosbox) depends on it though
01:27:04 <AnMaster> so does sheepshaver
01:27:15 <AnMaster> ehird, as for ending on zero
01:27:17 <AnMaster> depends
01:27:33 <AnMaster> ehird, it will likely be aligned
01:27:37 <AnMaster> so a 4 byte integer yes
01:27:45 <AnMaster> a char? maybe not
01:27:59 <AnMaster> ehird, not guarantee though
01:28:20 <AnMaster> all implementation defined and could in theory vary between runs
01:28:38 <ehird> /*
01:28:39 <ehird> Anatomy of a value:
01:28:40 <ehird> 0 #f
01:28:42 <AnMaster> or between calls
01:28:42 <ehird> 1 #t
01:28:43 <ehird> 2 ()
01:28:45 <ehird> 3 to 258 \0-\255
01:28:47 <ehird> Otherwise, if the low bit is 1, it's a fixnum. Otherwise, it's a
01:28:48 <ehird> pointer to a tag.
01:28:50 <ehird> */
01:28:51 <ehird> AnMaster: What about calloc, I wonder?
01:28:56 <AnMaster> ehird, ?
01:28:58 <ehird> (Cheney on the M.T.A. is basically oriented around putting most values on the stack.)
01:29:01 <AnMaster> ehird, it will zero the bytes
01:29:03 <AnMaster> what about it
01:29:11 <ehird> AnMaster: I mean, will calloc return an even pointer?
01:29:13 <ehird> Probably, I guess.
01:29:27 <AnMaster> ehird, not guaranteed afaik
01:29:55 <AnMaster> ehird, in practise on linux: yes
01:30:10 <AnMaster> but not even guaranteed on posix iirc
01:31:19 <AnMaster> ehird, btw I will probably get 24 mbit/s ADSL. Will considering distance to exchange reach probably around 18 mbit/s
01:31:21 <ehird> Well, either it does that or it breaks.
01:31:22 <ehird> Not my issue.
01:31:33 <ehird> AnMaster: Move and get 100 Mb/s.
01:31:43 <AnMaster> I'm currently on ADSL2 but artificially capped
01:31:48 <AnMaster> at 8 mbit down
01:32:02 <AnMaster> ehird, yeah, three blocks iirc
01:32:04 <AnMaster> :P
01:32:28 <AnMaster> ehird, would be useless however
01:32:41 <ehird> Meh
01:32:41 <AnMaster> since most other places can't keep up with that
01:32:46 <ehird> ???
01:32:48 <ehird> Yes they can
01:32:56 <AnMaster> ehird, mirrors I mean
01:32:58 <ehird> BitTorrent, kernel.org, ... basically everywhere download speed matters.
01:33:05 <AnMaster> hm really?
01:33:06 <AnMaster> meh
01:33:06 <ehird> You saw how fast Deewiant downloaded that kernel.
01:33:11 <ehird> Less than 20 seconds
01:33:15 <AnMaster> what kernel?
01:33:16 <ehird> For the entire kernel source
01:33:21 <AnMaster> and I didn't
01:33:26 <ehird> AnMaster: You did, you commented on it
01:33:30 <ehird> When we were trying to strip down Linux
01:33:35 <AnMaster> oh then
01:33:36 <AnMaster> right
01:33:37 <ehird> 2.6.3x for some x
01:33:41 <AnMaster> thought you mean recently
01:33:43 <ehird> Like 60 megs in under 20s
01:34:20 <AnMaster> ehird, was it fizzie's system?
01:34:20 <AnMaster> or Deewiant?
01:34:22 <AnMaster> I forgot
01:34:31 <ehird> Deewiant
01:35:31 <ehird> #define is_boolean(v) ((v) < 2)
01:35:32 <ehird> #define is_nil(v) ((v) == 2)
01:35:34 <ehird> #define is_char(v) (((v) > 2) && ((v) < 259))
01:35:36 <ehird> La dee dah
01:36:22 <ehird> Before AnMaster says "evaluated twice", let me say "compiler output".
01:36:34 <AnMaster> ehird, I didn't plan to
01:36:49 <AnMaster> ehird, also what did you need the low mem locations for?
01:37:21 <ehird> /*
01:37:23 <ehird> Anatomy of a value:
01:37:24 <ehird> 0 #f
01:37:25 <ehird> 1 #t
01:37:26 <AnMaster> ye
01:37:27 <ehird> 2 ()
01:37:28 <AnMaster> yes*
01:37:28 <ehird> 3 to 258 \0-\255
01:37:29 <AnMaster> I saw that
01:37:30 <ehird> Otherwise, if the low bit is 1, it's a fixnum. Otherwise, it's a
01:37:31 <ehird> pointer to a tag.
01:37:33 <ehird> */
01:37:38 <ehird> This way, I have inline storage of booleans, nil, characters and small integerss.
01:37:39 <AnMaster> I just don't know how it fits in
01:37:41 <ehird> *integers
01:38:01 <AnMaster> oh
01:38:02 <ehird> Leaving big integers, other numbers, symbols, pairs, procedures and a handful of other types boxed.
01:38:03 <AnMaster> right
01:38:32 <AnMaster> ehird, sure all the masking required will be faster?
01:38:45 <ehird> Sure.
01:38:50 <AnMaster> ehird, also which gc will you use?
01:38:52 <ehird> AnMaster: masking of what?
01:38:55 <ehird> exactly
01:39:02 <ehird> Also, gonna write my own.
01:39:12 <AnMaster> ehird, masking to test every time you want to number chrunch a cons style list
01:39:14 <ehird> Trivial stop-the-world, noncompacting mark and sweep.
01:39:22 <ehird> *crunch
01:39:28 <AnMaster> yeah
01:39:36 <ehird> AnMaster: Faster than dereferencing a pointer and checking it for equality, which is what you'd have to do anyway.
01:40:04 <AnMaster> mhm true
01:40:08 <AnMaster> ehird, what about vectors?
01:40:51 <AnMaster> ehird, how will you store vectors
01:41:09 <ehird> Boxed.
01:41:19 <ehird> Scheme isn't a language with efficient representation, you know.
01:41:29 <AnMaster> ehird, it could be in theory
01:42:08 <ehird> Only with heuristics.
01:42:58 <AnMaster> ehird, well yeah, there should be some "I will not redefine -+*/ lambda, define + a few more" option
01:43:29 <AnMaster> to allow proper constant folding and so on
01:43:38 <ehird> That's not Scheme.
01:43:45 <AnMaster> ehird, actually it could work without it
01:43:46 <AnMaster> JIT it
01:43:53 <ehird> Doesn't help.
01:43:59 <AnMaster> and if those are overridden, just recompile it
01:44:03 <AnMaster> ehird, doesn't it?
01:44:08 <ehird> lol, well, okay, that could work
01:44:36 <AnMaster> ehird, 80% at least of the programs won't actually redefine those
01:45:04 <AnMaster> probably 98% or something
01:45:45 * ehird wonders if multiple *v in the same expression will be optimised away
01:45:54 <ehird> after all, theoretically the value could change between them
01:46:13 <AnMaster> ehird, depends on if the compiler can say it won't
01:46:20 <AnMaster> is it volatile?
01:46:24 <ehird> No.
01:46:36 <ehird> #define tag_of(v) \
01:46:37 <ehird> (is_boolean(v) ? tag_boolean : \
01:46:38 <ehird> is_nil(v) ? tag_nil : \
01:46:40 <ehird> is_char(v) ? tag_char : \
01:46:41 <ehird> is_fixnum(v) ? tag_fixnum : \
01:46:43 <ehird> is_symbol(v) ? tag_symbol : \
01:46:44 <AnMaster> then it most likely will be optimised away, unless it is global and other functions are called
01:46:45 <ehird> is_pair(v) ? tag_pair : \
01:46:46 <ehird> panic("Invalid tag %d (%x, %b)", *v, *v, *v))
01:46:47 <ehird> Yay.
01:46:48 <AnMaster> in betweem
01:46:51 <AnMaster> between*
01:46:58 <AnMaster> or other such edge case
01:47:30 <AnMaster> ehird, does it need to check the tag all the time
01:47:35 <ehird> Yes.
01:47:45 <ehird> It's fast enough.
01:47:53 <AnMaster> ehird, not really in the case of: (+ 4 2 (- 2 4))
01:48:15 <ehird> That's a problem almost all Scheme implementations share. Stop bugging me about it.
01:48:20 <AnMaster> ehird, since it just got the value it knows the type
01:48:30 <AnMaster> ehird, yes but why not write it *better*
01:48:42 <AnMaster> it would be fun
01:48:42 <ehird> Because I'm just trying to have fun, not deal with gnarly edgecases.
01:48:45 <AnMaster> ah
01:48:57 <pikhq> Since it's compiling to C, GCC can compile away a lot of the more stupid things.
01:49:02 <AnMaster> ehird, is there any scheme implementation that won't
01:49:06 <AnMaster> won't* do that
01:50:05 <ehird> Stalin almost certainly doesn't.
01:50:22 <AnMaster> eh...?
01:50:30 <ehird> Google it. It's a Scheme compiler.
01:50:30 <AnMaster> ehird, chicken?
01:50:33 <ehird> R4RS.
01:50:41 <AnMaster> ah
01:50:46 -!- jpc has quit (Remote closed the connection).
01:50:47 <AnMaster> ehird, any R5RS?
01:50:57 <AnMaster> and what are the major diffs between R4RS and R5RS?
01:51:01 <ehird> I don't know. I don't want to think about it. Also, I need to go to the toilet soon.
01:51:05 <ehird> AnMaster: Some stuff.
01:51:13 <ehird> Stalin only works on a subset of R4RS, anyway.
01:51:21 <ehird> But it's faster than hand-written C programs for number-crunching.
01:51:35 <AnMaster> ehird, that's impressive
01:51:36 <AnMaster> how
01:51:43 <ehird> Very good compilation.
01:52:15 <ehird> skeleton.c:55: warning: comparison between pointer and integer
01:52:18 <ehird> Repeat 7945983459345 times.
01:52:23 <ehird> I wonder what the flag to disable that warning is.
01:52:39 <AnMaster> ehird, cast one
01:52:49 <AnMaster> ehird, also be wary of integer and pointer size
01:52:53 <ehird> No, a compiler flag.
01:52:53 <AnMaster> you want intptr_t
01:52:55 <ehird> Also, it has to be equal.
01:53:09 <AnMaster> ehird, you use intptr_t not int then?
01:53:14 <ehird> I use void *.
01:53:21 <AnMaster> ehird, and for integers?
01:53:25 <ehird> void *
01:53:29 <AnMaster> ouch :D
01:53:32 <ehird> with the low bit being 1
01:53:39 <ehird> AnMaster: that's the standard implementation technique
01:53:43 <ehird> all schemes do it, even ruby does it
01:53:50 <AnMaster> ehird, the C way of doing it is intptr_t in C
01:53:54 <ehird> Don't care.
01:53:59 <AnMaster> also you invoke undef behaviour I believe
01:54:04 <ehird> skeleton.c:55: error: invalid operands to binary & (have ‘void *’ and ‘int’)
01:54:07 <ehird> Oh, fuck off you stupid compiler.
01:54:22 <AnMaster> ehird, intptr_t is the answer
01:54:28 <ehird> Shut up.
01:54:36 <AnMaster> just trying to be helpful
01:54:41 <ehird> I'll just cast.
01:54:59 <AnMaster> ehird, to?
01:55:21 <AnMaster> if you say "int" well you just dropped x86_64 compatibility
01:55:27 <ehird> I never say that.
01:55:30 <ehird> I always use pointers. Always.
01:55:31 <AnMaster> good
01:55:35 <AnMaster> meh
01:55:35 <ehird> Even when doing arithmetic.
01:55:56 <AnMaster> ehird, gcc can optimise less then possibly. Not sure
01:56:09 <ehird> skeleton.c:55: error: invalid operands to binary & (have ‘void *’ and ‘void *’)
01:56:11 <ehird> >_<
01:56:17 <AnMaster> ehird, see. I told you so
01:56:24 <ehird> #define cast(v) ((long) v) it is
01:56:32 <AnMaster> ehird, :P
01:56:35 <pikhq> ehird: s/long/intptr_t/.
01:56:36 <ehird> *(v)
01:56:44 <ehird> pikhq: This will break if sizeof void* != sizeof long anyway
01:56:46 <ehird> So why bother
01:56:46 <pikhq> intptr_t is guaranteed to be the same size as a pointer.
01:56:51 <AnMaster> pikhq, indeed
01:57:05 <ehird> Name one architecture where sizeof void * != sizeof long but has intptr_t
01:57:09 <ehird> I'll wait here.
01:57:20 <AnMaster> ehird, what is wrong with intptr_t though
01:57:26 <AnMaster> why do you hate it
01:57:28 <ehird> It doesn't solve my casting woes, for one.
01:57:35 <ehird> I don't hate it, it's just not a solution to any of my problems.
01:57:37 <ehird> So stop suggesting it.
01:57:38 <AnMaster> it does as well as long does
01:57:41 <pikhq> ehird: Doesn't Win64 have 32-bit longs? :P
01:57:42 <ehird> Exactly.
01:57:44 <ehird> And no better.
01:57:46 <AnMaster> pikhq, yes it does
01:57:48 <ehird> pikhq: I depend on POSIX.
01:57:49 <AnMaster> iirc
01:58:14 <ehird> Slight disadvantage of using macros here is that all of my errors point to the same line :P
01:58:15 <pikhq> ehird: Just use intptr_t. It can only break by not existing.
01:58:37 <ehird> I officially rename this channel #intptr_t
01:58:43 <ehird> intptr_t is c99 only, anyway
01:59:11 <AnMaster> is it? so what?
01:59:34 <AnMaster> ehird, by depending on POSIX you will have a C99 compiler
01:59:34 <pikhq> And if something's sufficiently braindead to not offer stdint.h, it can fuck off.
01:59:48 <AnMaster> in fact you might not have a c89 one iirc
01:59:49 <ehird> I bet that number-of-platforms-supporting-C99-and-intptr_t < number-of-platforms-not-supporting-C99-but-having-sizeof-long-be-sizeof-void-pointer
01:59:49 <AnMaster> ehird, ^
01:59:50 <AnMaster> :P
02:00:26 <pikhq> ehird: intptr_t is "correct". Assuming sizeof(long) == sizeof(void*) is "retarded".
02:00:37 <pikhq> And will make a Win64 porter kick you in the balls.
02:00:46 <ehird> can you shut the fuck up and let me code how i like because it's for fun thx
02:01:01 <AnMaster> ehird, also since you depend on POSIX, number-of-platforms-supporting-C99-and-intptr_t == 100% of your goal
02:01:15 <ehird> Turns out POSIX support doesn't mean total POSIX support.
02:01:20 <ehird> It just means "not Windows".
02:01:32 <AnMaster> ehird, MacOS classic?
02:01:48 <AnMaster> ehird, also internix
02:01:56 <ehird> sigh
02:03:49 <ehird> brb
02:08:25 * pikhq should design an architecture with: 16-bit shorts, 32-bit ints, 64-bit longs, 128-bit long longs, and 256-bit pointers.
02:13:31 <AnMaster> night →
02:13:57 <ehird> pikhq: Fine. intptr_t it is.
02:14:10 <ehird> I would like to note that Cheney on the M.T.A. is unportable anyway.
02:14:19 <ehird> It depends on calloc, which is not specified by either C or POSIX.
02:14:33 <ehird> (Unless you want to malloc everything, but that'd be painful.)
02:15:05 -!- anmaster_l has quit (Read error: 110 (Connection timed out)).
02:16:31 <ehird> Also, the gc will have to look at the C stack.
02:16:35 <ehird> Or did neither of these things cross your mind?
02:16:42 <pikhq> http://www.opengroup.org/onlinepubs/000095399/functions/calloc.html There's the calloc spec.
02:17:26 <ehird> Sorry, I meant the Single UNIX Specification.
02:17:28 <ehird> [3] Maximally portable implementations may shun alloca, since it is not required by either ANSI C or Unix.
02:17:32 <ehird> And I mean alloca.
02:17:44 <ehird> I doubt POSIX has alloca, either.
02:17:58 <pikhq> Yeah, POSIX isn't ANSI C or POSIX.
02:18:03 <pikhq> Erm.
02:18:04 <pikhq> alloca.
02:18:11 <ehird> Or SUS.
02:18:17 <ehird> And, since my gc will have to inspect the C stack...
02:18:21 <ehird> I'm already pretty damn unportable.
02:20:52 <pikhq> You could, of course, just use variable-length automatic arrays.
02:20:56 <pikhq> Which are C99.
02:21:46 <ehird> And the GC?
02:22:14 <pikhq> The best that can be done with that is make it not *too* unportable.
02:22:21 <pikhq> (see: Boehm GC)
02:24:13 <ehird> Anyway, why do I need intptr_t? If I never use an integer type and do arithmetic on the (void *) it's irrelevant.
02:24:16 <ehird> And that would give me total support
02:24:18 <ehird> s/$/./
02:25:35 <pikhq> Except that you're casting from void * to long for some of the arithmetic.
02:26:39 -!- nooga_ has joined.
02:27:46 <ehird> pikhq: Am I?
02:28:00 <ehird> I only did that for ((v)&1), which I'm sure could be written in another way.
02:28:19 -!- nooga has quit (Read error: 60 (Operation timed out)).
02:28:24 <ehird> skeleton.c:57: error: invalid type argument of ‘unary *’ (have ‘int’)
02:28:29 <ehird> Woot, now I get to cast in the other direction
02:29:00 <pikhq> ... int to void*? I MURDER YOU.
02:29:36 <ehird> intptr_t to (void *).
02:29:47 <ehird> What's that? You hate the fact that the compiler choose a value for it? Oh how cute.
02:29:52 <ehird> STFU.
02:30:09 <pikhq> Argh. Right. Damned GCC, expanding the typedefs. :P
02:30:33 <ehird> http://sprunge.us/hSje
02:30:34 <ehird> Whoa.
02:30:45 <ehird> This is your brain on macros.
02:31:06 <ehird> http://sprunge.us/TSXD
02:31:09 <ehird> This time, through indent
02:31:24 <ehird> oh lol
02:31:31 <ehird> it's erroring because *(void *) is-a void
02:31:39 <pikhq> Hahaha.
02:31:48 <ehird> i hate c's integer/pointer model :(
02:31:53 <ehird> why can't we just have a type
02:31:55 <ehird> "word"
02:32:00 <ehird> *word is-a word
02:32:05 <ehird> and you can do arithmetic on it
02:32:07 <ehird> and that's it
02:32:23 <ehird> Hmm, seems that *wasn't* the issue
02:32:29 <ehird> I'm halfway to making these inline functions
02:32:43 <ehird> Tada
02:34:17 <ehird> wait, does panic() actually exist in linux c compilations as in the kernel panic?
02:34:19 <ehird> and just not work?
02:34:21 <ehird> lol
02:34:24 * ehird changes the name of panic
02:34:52 <pikhq> I'm pretty sure that Linux's panic() function is kernelspace-only.
02:35:01 <pikhq> It definitely doesn't have a man page.
02:35:16 <ehird> right, it was just complaining about tag_name and wrong but not panic not existing
02:35:25 <pikhq> Huh.
02:37:20 -!- MizardX has quit (Read error: 110 (Connection timed out)).
02:38:30 * ehird restructures his tag functions.
02:38:35 <ehird> /me restructures his tag functions.
02:38:36 <ehird> #define tag_of(v) \
02:38:38 <ehird> ((v) < 2 ? tag_boolean : \
02:38:39 <ehird> (v) == nil ? tag_nil : \
02:38:41 <ehird> (v) < 259 ? tag_char : \
02:38:42 <ehird> (v) & 1 ? tag_fixnum : \
02:38:44 <ehird> *(enum scm_tag *)(v))
02:38:45 <ehird> #define check_tag(v,t) \
02:38:47 <ehird> (tag_of(v) == (t) \
02:38:49 <ehird> || (wrong("Expected type %s, but received %s", \
02:38:50 <ehird> tag_name(t), tag_name(tag_of(v))), 0))
02:38:52 <ehird> That's simpler.
02:39:16 <ehird> (((((scm_value) 3+('g'))) < 2 ? tag_boolean : (((scm_value) 3+('g'))) == ((scm_value) 2) ? tag_nil : (((scm_value) 3+('g'))) < 259 ? tag_char : (((scm_value) 3+('g'))) & 1 ? tag_fixnum : *(enum scm_tag *)(((scm_value) 3+('g')))) == (tag_boolean) || (wrong("Expected type %s, but received %s", tag_name(tag_boolean), tag_name(((((scm_value) 3+('g'))) < 2 ? tag_boolean : (((scm_value) 3+('g'))) == ((scm_value) 2) ? tag_nil : (((scm_value) 3+('g'))) < 259 ?
02:39:18 <ehird> tag_char : (((scm_value) 3+('g'))) & 1 ? tag_fixnum : *(enum scm_tag *)(((scm_value) 3+('g')))))), 0));
02:39:20 <ehird> Damn common subexpressions.
02:39:27 <ehird> I'ma rewrite check_tag as an inline function.
02:41:11 <ehird> There. It's simple now.
02:41:26 <ehird> http://sprunge.us/IMfG
02:41:37 <ehird> (That long line and the first argument to check_tag being macro results, obviously.)
02:41:51 <ehird> The former is tag_of(v), the latter is char('g'), although come to think of it that needs renaming.
02:43:02 <ehird> Oops; s/scm_tag/enum scm_tag/.
02:43:38 <ehird> pikhq: __attribute__((noreturn)), yeah?
02:45:24 <ehird> "Your program is wrong and you should feel bad." is, I think, a good error message.
02:46:25 <ehird> pikhq: Ooh, I just had a ridiculous idea.
02:46:39 <ehird> Do # "foo.scm" line in the generated C source, then use __FILE__ and __LINE__ in the error messages.
02:46:41 <ehird> I like it!
02:49:37 <pikhq> ehird: Heheh.
02:49:57 <ehird> inline void _wrong(char *file, int line, char *fmt, ...) __attribute__((noreturn)) {
02:50:00 <ehird> Apparently this is wrong and/or invalid.
02:50:09 <ehird> (Erm, why did I specify inline?)
02:50:25 <ehird> Ah, it works if I put noreturn before void.
02:50:37 <ehird> Or just after void, which I prefer.
02:50:52 <ehird> Heh, slight issue
02:51:01 <ehird> Internal functions have to call _wrong instead of wrong
02:51:05 <ehird> To propagate the lines
02:51:32 <pikhq> Stick noreturn in the function declaration, not the definition.
02:51:37 <ehird> ???
02:51:39 <ehird> Where?
02:51:44 <ehird> Oh, I see what you mean.
02:51:47 <ehird> I have no function declarations, sir/
02:51:49 <ehird> *sir.
02:51:52 <ehird> Well, for user functions, yes.
02:51:54 <ehird> For internal functions, no ned.
02:51:56 <ehird> *need
02:52:23 <pikhq> Okay, then.
02:53:37 -!- zzo38 has joined.
02:53:52 -!- jpc has joined.
02:55:02 <ehird> ehird@meson:~/src/scm2c$ ./skeleton
02:55:03 <ehird> ERROR: Expected a boolean, but received a char
02:55:05 <ehird> in skeleton.c, around line 83
02:55:07 <ehird> ehird@meson:~/src/scm2c$
02:55:08 <ehird> ^_^
02:58:30 <ehird> pikhq: Here's a fun thing stolen from the Cheney on the M.T.A. example:
02:58:53 <ehird> blahtype symbol_foo = {tag_symbol, "foo"};
02:59:01 <ehird> scm_value quote_foo = &symbol_foo;
02:59:13 <ehird> Then the only time you need to cons for a symbol is when (string->symbol) is called.
02:59:54 <zzo38> Today at the Free Geek, I was on testing scanners. It was not too difficult to figure out, but I HAD TO INSTALL TWO PACKAGES IN ORDER TO DO SO, and I still couldn't find the 12V cord for some of the scanners. What is wrong with these people?
03:00:35 <ehird> They want to infest your system with bloatware. Isn't it obvious?
03:00:40 <ehird> Although I think the cord thing is just a global conspiracy.
03:03:15 <zzo38> No, it was the computer there, it was meant for printer testing but they do scanner testing at that station, too.
03:03:27 <zzo38> They have cords for all sorts of other voltages, but not 12 volts
03:03:40 <ehird> Programs writing programs?
03:03:41 <ehird> …How perverse.
03:03:44 <ehird> ^ an actual comment on a site
03:03:46 <ehird> >_<
03:03:51 <ehird> And so the idiot discovers compilers
03:04:27 <pikhq> ehird: Which site?
03:04:37 <ehird> http://hackaday.com/2009/12/31/coffeescript-like-aspirin-for-javascript/
03:04:43 <ehird> Was linked from somewhere that was linked from somewhere etc
03:05:08 <pikhq> Argh. Hack A Day usually has smarter people...
03:07:53 <pikhq> So much stupid there.
03:08:15 <ehird> The language itself is pretty nice, it's like JavaScript turned into something that looks like a functional language.
03:08:21 <ehird> Which is, uh, exactly what it is.
03:08:41 <ehird> "Generally it seems to be a language based on definitions instead of assignments and such. This reduces the number of lines needed in many cases and makes the program simpler to debug."
03:08:45 <ehird> ENGLISH OPTIMISER RUNNING
03:08:49 <ehird> "It seems like a functional language."
03:08:58 <zzo38> I think a function should be like: (x;x*x) or like {x;return x*x;} depend how you wanted it
03:09:29 <pikhq> Yeah, Coffeescript looks like a decent strict functional language.
03:09:40 <ehird> zzo38: (\x -> x*x)
03:09:42 <ehird> That acceptable?
03:09:59 <ehird> pikhq: It borrows postfix-conditions from Perl. I like postfix-conditions.
03:10:08 <ehird> update-alternatives: using /usr/bin/scheme-r5rs.scheme48 to provide /usr/bin/scheme-r5rs (scheme-r5rs) in auto mode.
03:10:10 <ehird> update-alternatives: using /usr/bin/scheme-srfi-7.scheme48 to provide /usr/bin/scheme-srfi-7 (scheme-srfi-7) in auto mode.
03:10:15 <ehird> Debian is so... generic.
03:10:25 <zzo38> OK, but I was just saying there is many good thing in Mozilla Javascript, but now I think we should have some short functions too, and a few other things, such as backward exceptions, and other things
03:10:44 <pikhq> ehird: Postfix conditions aren't bad. Tiny bit quirky, but not bad.
03:10:54 <pikhq> Make a decent number of things look nice.
03:11:06 <ehird> print item foreach item in list if verbose
03:11:23 <pikhq> Yeah, that's the sort of thing that looks nice.
03:11:27 <ehird> If we go Perl-like and have implicit $_, and rename "foreach" to "each"...
03:11:31 <ehird> print each item in list if verbose
03:11:33 <ehird> Or even
03:11:37 <ehird> if verbose print each item in list
03:11:50 <zzo38> I don't like that kind of postfix conditions because the condition has to be calculate first and therefore should be written at first
03:12:12 <pikhq> zzo38: ...
03:12:14 <ehird> zzo38: code is for humans first, machines second
03:12:27 <pikhq> Why should evaluation order have anything to do with your syntax?
03:12:53 <pikhq> What ehird said.
03:13:25 <zzo38> The Forth programming language does it correctly, in my opinion
03:13:43 <ehird> print item/42, beep for each item in list if verbose and beepy
03:14:07 <pikhq> The Forth programming language does not have syntax for humans.
03:14:12 <ehird> Yes it does.
03:14:18 <ehird> (Sorry; I like Forth.)
03:14:28 <ehird> ("for", "each" and "for each" being equivalent.)
03:14:30 <pikhq> It has syntax for machines that humans don't have too much trouble with.
03:15:06 <ehird> (So you can also write: beep, print "The number is " number, beep for each number in 1 to 10.)
03:17:10 <ehird> pikhq: Okay, crazy naturally-reading feature idea:
03:17:19 <ehird> "until foo ...", where foo is undefined, sets foo to no.
03:17:26 <ehird> "while foo ...", where foo is undefined, sets foo to yes.
03:17:29 <ehird> Both on the first iteration.
03:17:37 <ehird> So you can write "until stop ..." without declaring it.
03:18:45 <ehird> Other crazy feature: "a; b" is actually "calculate a, calculate b, return a".
03:18:49 <ehird> Use-case?
03:18:53 <ehird> verbose: no; flag "Show lots of debug output."
03:20:00 <pikhq> Heh.
03:20:27 -!- zzo38 has quit (Remote closed the connection).
03:20:51 <ehird> "say sorted parameters"
03:20:55 <ehird> This would be a fun language, actually
03:21:29 <ehird> pikhq: Okay, is this going to far? "for each foo" → "for each foo in foos".
03:21:39 <ehird> Does proper pluralisation; "for each person" → "for each person in people".
03:21:42 <ehird> *too far
03:22:09 <ehird> If it's not going too far, then I declare "say contents for each parameter" to be the most readable cat(1) ever written.
03:22:46 <pikhq> Seems fun, if hard to implement.
03:23:09 <pikhq> Probably end up being the best language with an English-ish syntax.
03:23:20 <ehird> Well, the transformation is
03:23:27 <ehird> say contents for each parameter
03:23:42 <ehird> say contents for each _ in parameters
03:23:46 <ehird> say contents _ for each _ in parameters
03:23:53 <ehird> for each x in parameters,
03:23:55 <ehird> say contents x
03:24:00 <ehird> for x in parameters,
03:24:04 <ehird> say contents(x)
03:24:05 <ehird> and finally
03:24:09 <ehird> for x in parameters,
03:24:12 <ehird> say(contents(x))
03:24:44 <ehird> pikhq: Actually, it's not really Englishy so much as allowing free word order and implying variables.
03:25:22 <pikhq> ehird: Thus why it's the best. It doesn't suck. ;)
03:25:30 -!- nooga has joined.
03:25:38 <ehird> Also, bare keyword arguments.
03:25:54 <ehird> For instance, "with file named filename" is with (file(named=filename)).
03:26:13 <ehird> "with file myfile named filename" is with (file(myfile, named=filename))
03:26:23 <ehird> (Of course, the function would have metadata specifying what the keyword arguments are.
03:26:26 <ehird> s/$/)/
03:28:57 <ehird> I wish C identifiers were more flexible
03:29:17 <pikhq> The more I read about CoffeeScript, the more I like it.
03:29:21 <pikhq> It pattern matches.
03:29:46 <pikhq> Screw Javascript.
03:30:04 <ehird> define_symbol(symbol_x2D_x3E_string, "symbol->string");
03:30:07 <ehird> Yay, name mangling!
03:31:28 <ehird> Pattern matching you say?
03:31:29 <ehird> list is
03:31:31 <ehird> (): say "Empty."
03:31:32 <ehird> (one): say "One item."
03:31:34 <ehird> (one,two): say "Two items."
03:31:35 <ehird> otherwise: say "Some items."
03:32:26 <ehird> pikhq: Unfortunately, my C code will be rather inefficient. :(
03:32:27 <pikhq> ehird: Heheh.
03:32:33 <pikhq> Sadly.
03:32:51 <ehird> Even just recursing will be "look up name in current environment, handle errors, check type, call function pointer".
03:34:03 <ehird> I think I'll omit arity checking, though.
03:34:09 <ehird> Correct me if I'm mistaken but can't the compiler do arity checking?
03:35:14 <pikhq> Arity checking is mandatory in ISO C if the function has defined arity.
03:36:00 <ehird> Oh, of course, gcc will do my arity checking.
03:36:03 <ehird> Thanks, gcc!
03:36:06 <ehird> struct procedure {
03:36:07 <ehird> enum scm_tag tag;
03:36:09 <ehird> scm_value (*fn)();
03:36:10 <ehird> scm_value closure[];
03:36:12 <ehird> };
03:36:19 <ehird> I guess that's a closure, not a procedure, technically.
03:36:22 <pikhq> fn doesn't have defined arity.
03:36:30 <ehird> ...oh, of course.
03:36:42 <ehird> Meh
03:36:45 <ehird> Let it burn
03:36:51 <pikhq> Hah.
03:38:31 * ehird notes that if he uses C global variables to model Scheme toplevel definitions, he doesn't need to make every function a closure.
03:38:35 <ehird> After all, they won't close on anything.
03:38:51 <ehird> ...so, wait, I don't have to look up in an environment. Sweet.
03:38:53 <ehird> Thank you, C!
03:40:00 <pikhq> Heheheh.
03:40:26 <ehird> Now I have to implement some basic functions.
03:40:31 <pikhq> Meanwhile, I've added global closures to my functional C.
03:40:39 <ehird> Sweet.
03:40:46 <ehird> We should merge projects :P
03:40:50 <pikhq> (onerr is a global closure, which can be replaced with a different closure)
03:41:12 <pikhq> :P
03:41:18 <ehird> Now remove all non-closure-defining functions apart from main.
03:41:25 <ehird> All you will have is closures, and main.
03:41:29 <pikhq> Heheheh.
03:41:35 <ehird> Also: you must implement cons with lambda, not as a C structure.
03:41:36 <ehird> GO FOR IT
03:41:39 <ehird> GOFER IT
03:41:43 <ehird> Or Scheme it.
03:41:48 <ehird> yuk yuk
03:41:51 <pikhq> Removing all non-main closures will be easy.
03:42:02 <pikhq> Implementing cons with lambda will by somewhat annoying.
03:42:09 <pikhq> But only somewhat.
03:42:17 <pikhq> After all, lambda now mallocs.
03:42:51 -!- nooga_ has quit (Read error: 110 (Connection timed out)).
03:44:28 <ehird> void proc_recurse(scm_proc cont) noreturn {
03:44:29 <ehird> return proc_recurse(cont);
03:44:31 <uorygl> So, C isn't Turing-complete, I guess. C-except-where-pointers-can-be-infinite is, though, right?
03:44:31 <ehird> }
03:44:35 <ehird> Hand compiled Scheme procedure, that.
03:44:40 <ehird> (define (recurse) (recurse))
03:44:44 <ehird> *Hand-compiled
03:44:47 <ehird> uorygl: No.
03:44:49 <ehird> There is no such C.
03:44:54 <ehird> Because of sizeof.
03:45:10 <ehird> Well.
03:45:13 <ehird> sizeof returns in multiples of char
03:45:13 <pikhq> ehird: sizeof is in multiples of char.
03:45:16 <ehird> If you have a bignum char...
03:45:18 <ehird> Then yes, C is TC.
03:45:23 <pikhq> If char could be infinite, then it could be TC.
03:45:34 <pikhq> *However*, char must have a maximum value.
03:45:37 <ehird> Most ridiculously overblown char type EVAR
03:45:40 <ehird> pikhq: Ah, right.
03:45:45 <ehird> Hmm.
03:45:51 <pikhq> This is a C99 restriction.
03:45:53 <ehird> pikhq: What if some bit pattern was reserved for "infinity"?
03:45:55 <uorygl> The word "except" is omnipotent; it can do whatever it takes to make things work.
03:46:10 <pikhq> C90 makes no such restriction.
03:46:12 <ehird> And (infinity-X) is, for X, infinity->0, _->infinity
03:46:18 <pikhq> Thus, C90 is TC.
03:46:19 <ehird> infinity+X is infinity, etc
03:46:26 <ehird> Does C99 forbid you having such a magical value?
03:46:30 <uorygl> So let's assume that it removes sizeof or something.
03:46:33 <ehird> If so, just make 0 = infinity internally
03:46:35 <uorygl> Or turns it into C90.
03:46:36 <ehird> and 1 = 0, etc
03:46:42 <ehird> No?
03:46:48 <ehird> Then CHAR_MAX is INFINITY.
03:47:08 <pikhq> Hmm. That... Is actually entirely valid.
03:47:17 <uorygl> data FancyInteger = FI Integer | PosInfinity
03:47:17 <ehird> skeleton.c:99: warning: function declared ‘noreturn’ has a ‘return’ statement
03:47:19 <uorygl> :P
03:47:19 <ehird> >_<
03:47:23 <ehird> I'm trying to help you, compiler!
03:47:51 * ehird wonders how to disable it
03:47:53 <pikhq> ehird: Nuke the return or the noreturn. ;)
03:48:18 <ehird> pikhq: No; it's "noreturn" and defined to nothing if not GNUC.
03:48:36 <pikhq> Ah.
03:48:40 <ehird> And "return" helps dumb compilers know that we don't need to set up things to remember our values.
03:48:45 <ehird> So I'll just ignore the warnings.
03:49:00 <pikhq> ... #define return
03:49:01 <pikhq> :P
03:49:07 <ehird> XD
03:49:15 <ehird> I wonder if gcc does totally ignore them if you do noreturn anyway
03:50:13 <ehird> pikhq: http://sprunge.us/WMZV
03:50:19 <ehird> I think "unmitigated failure" is an appropriate term here.
03:50:22 <ehird> (This is with -O3.)
03:50:36 <uorygl> So, who wants to figure out how a stripped-down version of Haskell could be turned into something looking like assembler code?
03:50:39 <pikhq> *call proc_recurse*.
03:50:42 <pikhq> *facepalm*
03:51:00 <ehird> pikhq: Oh ha, I didn't even notice that
03:51:04 <ehird> pikhq: I was thinking more of the SEVENTY BAJILLION movls beforehand
03:51:32 <pikhq> ehird: Heheh. Yeah...
03:51:51 <uorygl> (This is Haskell where the entire program is one expression built out of these primitives: case ... of {... -> ...}, \... -> ..., ... ..., let ... = ... in ..., and constructors)
03:51:55 <pikhq> uorygl: Haskell->Core->STG->Asm, I believe, is the transformation path.
03:52:03 <ehird> skeleton.c:103: error: non-static initialization of a flexible array member
03:52:04 <ehird> skeleton.c:103: error: (near initialization for ‘(anonymous)’)
03:52:06 <ehird> Dude, I specified {}.
03:52:07 <ehird> Fuck off.
03:52:23 <pikhq> uorygl: And you just described Core right there.
03:53:12 <ehird> pikhq: Well, making it static completely eliminated it from the assembly. XD
03:53:19 <ehird> I think static unless the user specifies to export it is a good idea.
03:53:35 <ehird> Especially since every function call will result in calling a function.
03:53:49 <pikhq> ehird: static __attribute__((used)) will force it to be compiled in, BTW.
03:53:54 <ehird> ehird@meson:~/src/scm2c$ ./skeleton
03:53:56 <ehird> Segmentation fault
03:53:57 <pikhq> Though, you probably don't want that...
03:53:57 <ehird> That... you...
03:53:59 <ehird> You just fail.
03:54:09 <ehird> You should fuck a pig, because you fail that much, gcc.
03:54:18 <ehird> pikhq: BTW, actually, I don't _want_ tail call optimisation.
03:54:30 <ehird> Cheney on the M.T.A. relies on the stack getting too big often...
03:55:16 <ehird> ehird@meson:~/src/scm2c$ ./skeleton
03:55:17 <ehird> poop
03:55:19 <ehird> poop
03:55:20 <ehird> Segmentation fault
03:55:22 <ehird> I would appreciate more than two calls, however.
03:55:24 <pikhq> Sorry, but GCC does TCO on all -O levels.
03:55:33 <uorygl> pikhq: great. Now consider an assembly language where you have a "put this data structure on the heap" instruction. And stuff.
03:55:36 <pikhq> ... Except 0.
03:55:36 <ehird> pikhq: Except not on noreturn functions.
03:55:40 <ehird> Or something.
03:55:53 <pikhq> ehird: Really. That's odd.
03:55:56 <ehird> pikhq: Well...
03:55:58 <ehird> I pasted you that asm.
03:56:03 <ehird> http://sprunge.us/WMZV
03:56:06 <ehird> That was with -O3.
03:56:06 <pikhq> True.
03:56:14 <ehird> Simply
03:56:17 <ehird> void noreturn proc_recurse(scm_proc *cont) {
03:56:18 <ehird> return proc_recurse(cont);
03:56:19 <ehird> }
03:56:21 <pikhq> Compare without the noreturn?
03:56:48 <ehird> .globl proc_recurse
03:56:49 <ehird> .type proc_recurse, @function
03:56:51 <ehird> proc_recurse:
03:56:52 <ehird> pushl %ebp
03:56:54 <ehird> movl %esp, %ebp
03:56:55 <ehird> .L7:
03:56:57 <ehird> jmp .L7
03:56:59 <ehird> So... noreturn tells GCC "be really dumb-fuck retarded about tail calls".
03:57:11 <ehird> Now, if it didn't _also_ do a billion movls, that'd be great.
03:57:15 <pikhq> Apparently.
03:57:20 <uorygl> ehird: well, it gave you a busy loop; what did you want?
03:57:39 <pikhq> uorygl: The tightest loop.
03:57:50 <ehird> uorygl: I want a recursive call.
03:57:53 <ehird> It *should* overflow the stack.
03:57:55 <ehird> -foptimize-sibling-calls
03:57:57 <ehird> Optimize sibling and tail recursive calls.
03:57:58 <ehird> Enabled at levels -O2, -O3, -Os.
03:58:00 <ehird> Kerching
03:58:14 <pikhq> So, -fno-optimize-sibling-calls, et viola.
03:58:18 <uorygl> Well, then, have it calculate proc_recurse(cont) and then do something before returning.
03:58:18 <ehird> Yep.
03:58:28 <ehird> uorygl: No; because it should not try and save things like it did.
03:58:30 <ehird> Because that's retarded.
03:58:46 <uorygl> Why do you want a stack overflow?
03:58:54 <pikhq> So the garbage collector runs.
03:59:08 <ehird> T.28:
03:59:10 <ehird> pushl %ebp
03:59:11 <ehird> movl %esp, %ebp
03:59:13 <ehird> popl %ebp
03:59:14 <ehird> ret
03:59:16 <ehird> .size T.28, .-T.28
03:59:17 <ehird> .p2align 4,,15
03:59:19 <ehird> Question. How the fuck does this recurse?
04:00:22 <pikhq> ehird: ... What the fuck?
04:00:26 <pikhq> Just... What the fuck?
04:00:46 * ehird adds puts("poop") in there to try and make sense of it
04:00:57 <ehird> gcc needs a "do all your regular TCO stuff except say call, not jmp" option :P
04:01:25 <ehird> Hmm.
04:01:35 <ehird> It seems that the sttrategy it uses is...
04:01:39 <ehird> pikhq: I see the issue.
04:01:47 <ehird> noreturn+return = gcc makes fals assumptions
04:01:51 <ehird> *false
04:01:58 <ehird> Conclusion: Pick one.
04:01:58 <pikhq> That'd do it.
04:02:00 <pikhq> #define return
04:02:01 <ehird> I pick removing noreturn.
04:02:08 <ehird> It's just counterproductive.
04:02:25 <ehird> pikhq: Doesn't work
04:02:29 <ehird> "noreturn" appears to break recursion too.
04:03:15 <ehird> Yay!
04:03:17 <ehird> It does what I want now.
04:03:31 <ehird> ...no, it doesn't.
04:03:36 <ehird> pikhq: Does -O3 normally break code this wantonly?
04:04:36 -!- jpc has quit (Read error: 110 (Connection timed out)).
04:04:43 <Gregor> No, but when it DOES break code, it does so that wantonly.
04:04:51 <ehird> Argh, -O2 breaks it too
04:04:53 <ehird> WHY OH WHY
04:05:01 <ehird> static void proc_recurse(scm_proc *cont) {
04:05:03 <ehird> return proc_recurse(cont);
04:05:04 <ehird> }
04:05:07 <ehird> There is NO excuse for not compiling that properly.
04:05:37 <ehird> -O0 produces the best code of all
04:05:39 <ehird> proc_recurse:
04:05:41 <ehird> pushl %ebp
04:05:42 <ehird> movl %esp, %ebp
04:05:44 <ehird> subl $24, %esp
04:05:45 <ehird> movl 8(%ebp), %eax
04:05:47 <ehird> movl %eax, (%esp)
04:05:48 <ehird> call proc_recurse
04:05:50 <ehird> leave
04:05:51 <ehird> ret
04:06:12 <ehird> Is there, like, an __attribute__((recurses)) I can use?
04:09:02 <ehird> pikhq: The really fucking retarded solution? If you give it a non-void return type, it works fine.
04:09:11 <ehird> Hurr void expressions on their own are useless
04:09:11 <pikhq> ehird: AAAAGH.
04:09:12 <ehird> Nobody has side effects
04:09:18 <pikhq> SO FEKING RETARDED.
04:09:26 <ehird> *FUCKING
04:09:31 <ehird> I think this is definitely a sweary occasion.
04:10:18 * ehird decides to write some nice library functions to take his mind off the pain
04:11:02 <pikhq> BTW, I'm having trouble getting code as retarded as what you're getting.
04:11:13 <ehird> gcc (Ubuntu 4.4.1-4ubuntu8) 4.4.1
04:11:16 <ehird> Linux 32-bit
04:11:24 <ehird> -O3 -S
04:11:32 <ehird> also -fno-optimize-sibling-calls sometimes
04:11:43 <pikhq> gcc (Gentoo 4.3.4 p1.0, pie-10.1.5) 4.3.4
04:11:52 <pikhq> x86_64, with -O3 -m32 -S
04:12:26 <pikhq> Compiling void proc_recurse(void *c){return proc_recurse(c);}
04:12:49 <pikhq> I think it's your compiler that's borked.
04:13:03 <ehird> Maybe 4.4 regressed.
04:13:18 <ehird> Anyway, it's the default Ubuntu compiler.
04:14:54 <pikhq> http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=445536 Well, here's an *old* bug doing the same thing.
04:17:00 <pikhq> Not finding any regressions.
04:18:16 <pikhq> http://sprunge.us/XWTH That's with -O3 -m32 -fno-optimize-sibling-calls -S
04:19:07 <ehird> pikhq: va_end should be right before the }, right?
04:19:11 <pikhq> http://sprunge.us/RDdL And that's with the __attribute__((noreturn)) added.
04:19:12 <ehird> Even if it will never be reached?
04:19:34 <ehird> pikhq: Ugh, your code is so much nicer.
04:19:44 <ehird> Also, I count old=2003 or earlier. :P
04:19:48 <ehird> **old*
04:19:53 <ehird> old=2005 or earlier.
04:20:14 <ehird> No, va_end comes before return. Right.
04:20:25 <pikhq> va_end needs to be after you are done using va_arg.
04:20:52 <ehird> There, I wrote +.
04:20:57 <ehird> Properly variadic and all.
04:21:09 <ehird> Only does fixints, though, but that's all I have.
04:21:15 <ehird> Even checks for integer overflow.
04:21:27 <pikhq> I strongly suspect your compiler is just borked. Build a new one.
04:21:38 <ehird> Ubuntu's and therefore Debian's stock compiler?
04:21:39 <ehird> Broken?
04:21:41 <ehird> Hahaha. No.
04:22:37 <ehird> static void cons(scm_proc *cont, scm_value car, scm_value cdr) {
04:22:38 <ehird> scm_pair p = { tag_pair, car, cdr };
04:22:40 <ehird> return cont->fn(cont->closure, &p);
04:22:41 <ehird> }
04:22:42 <pikhq> But it's generating code that doesn't even recurse.
04:22:43 <ehird> I hope that's... valid.
04:22:48 * ehird adds inline to that
04:22:54 <pikhq> That's fekking borken.
04:23:21 <ehird> I love the part where there's no malloc in my program
04:23:26 <ehird> It's so relaxing.
04:23:41 <pikhq> Also, 4.4.1 is not the stock Debian compiler. It was the compiler in Debian unstable for a while.
04:23:50 <uorygl> Oh, I think I meant to ask a question.
04:23:51 <pikhq> s/unstable/testing/
04:24:10 * ehird realises that his architecture doesn't work if you redefine a function at the top level.
04:24:14 <ehird> Bah. I'll fix it later.
04:24:17 <ehird> pikhq: Ubuntu.
04:24:23 <ehird> Ubuntu would not ship a broken compiler, man.
04:24:31 <ehird> That's Apple's forte.
04:24:36 <pikhq> ehird: Ubuntu has before.
04:25:00 <ehird> static inline void proc_car(scm_proc *cont, scm_pair *p) {
04:25:06 <ehird> I like the part where I get some type-checking for free.
04:25:31 <uorygl> Hmm, but now I know the answer to my question, so I'd have to ask a different question, if any at all.
04:26:03 <pikhq> "Ubuntu would not ship a broken compiler" "But it's producing incorrect code!" "Not. Broken."
04:26:10 <pikhq> I'd file a bug report, honestly.
04:26:14 <ehird> I mean not broken because of Ubuntu
04:26:16 <ehird> Eh, I might
04:26:20 <ehird> I might just build my own gcc, too
04:26:24 <ehird> Unless it breaks that too :P
04:26:28 <ehird> static inline void proc_cons(scm_proc *cont, scm_value car, scm_value cdr) {
04:26:30 <ehird> scm_pair p = { tag_pair, car, cdr };
04:26:31 <ehird> return cont->fn(cont->closure, &p);
04:26:33 <ehird> }
04:26:34 <ehird> Cool implication of this:
04:26:52 <ehird> If you do (cons 1 2), and pass it to a function: That function gives you a reacharound. By which I mean it accesses a pointer on your stack to read the pair.
04:27:04 <pikhq> GCC is actually rather hard to break.
04:27:09 <ehird> Scheme: Perfect if you're gay for programming languages.
04:27:46 <ehird> pikhq: I think it's just a pathological case
04:28:09 <pikhq> ... Which functions correctly on my older compiler.
04:30:06 <ehird> Yes.
04:30:16 <ehird> Look, if you want I'll give you ssh and you can compile gcc for me.
04:31:13 * ehird just remembered an sf story soupdragon should read
04:31:18 * ehird links it here for later linkage: http://docs.google.com/Doc?id=ddv7939q_20gw8h9pcx
04:36:54 <ehird> pikhq: Sweet: thanks to gcc, unused core library functions will be automatically removed from the result.
04:37:56 <ehird> pikhq: also, it only breaks with "static" in front
04:38:00 <ehird> try it with static in front
04:38:01 <ehird> bet it breaks
04:42:43 <pikhq> I get null with "static". :P
04:42:57 * pikhq defines a main
04:43:26 <ehird> __attribute__((used))
04:43:31 <ehird> or, yeah, call it in main
04:43:34 <ehird> and watch the fail
04:43:37 <pikhq> Doesn't break.
04:43:52 <ehird> ...you should compile gcc for me :P
04:44:37 <pikhq> Though I'm not entirely sure why it's doing subq $8, %rsp;call proc_recurse
04:47:01 <pikhq> It's the __attribute__((noreturn)) that makes it slightly weird.
04:48:07 <ehird> Right.
04:48:31 <pikhq> But... Correct.
04:48:31 <ehird> What gives the optimal results (least saving-variables before the call, but still an actual call instruction)?
04:48:46 <ehird> Without noreturn, using "return foo" and the -fno-...?
04:48:54 <pikhq> __attribute__((noreturn)).
04:49:50 <pikhq> -fno-... leaves around "leave;ret".
04:50:24 <ehird> But does that not cause TCO?
04:50:28 <ehird> Oh, wait, noreturn stops TCO.
04:50:58 <pikhq> I don't know why it does, but it does.
04:51:01 <ehird> pikhq: static noreturn works for you?
04:51:07 <pikhq> Yes.
04:51:24 <ehird> god damn you :P
04:52:40 <pikhq> Gentoo: it has correct compilers. :P
04:52:41 <ehird> pikhq: Do those static noreturns have a "return" statement in them?
04:52:51 <pikhq> Yes.
04:53:08 <pikhq> The generated code is the same without.
04:53:21 <ehird> right, so leave it in for dumb compilers
04:53:26 <pikhq> Right.
04:54:00 <ehird> My library has cons, car, cdr and +.
04:54:11 <ehird> What else, I wonder?
04:54:17 <ehird> (Simple stuff.)
04:54:42 <ehird> Incidentally, behold my + implementation! http://sprunge.us/egVj
04:54:56 <ehird> Whether it could actually be any more complicated is open to debate.
05:08:01 <ehird> pikhq: Hmm, that actually doesn't impose all that much penalty over a non-variadic version, does it?
05:08:04 <pikhq> Sure it could!
05:08:07 <pikhq> Make it idiomatic C++.
05:08:19 <pikhq> ehird: Not much at all.
05:09:00 <ehird> http://www.josbuivenga.demon.nl/calluna.html
05:09:01 <ehird> My god; the typeface, it is beautiful.
05:09:05 <pikhq> And since it's static, GCC will helpfully unroll it if it would make sense to.
05:09:12 <ehird> pikhq: XD
05:09:52 <pikhq> Calluna is a good-looking font.
05:09:53 <ehird> I sort of want to buy Calluna. Sure, I have the regular face, but damn it's pretty.
05:10:00 <ehird> On the other hand...
05:10:01 <ehird> $119.
05:10:08 <ehird> I don't really have that much money to spend on a typeface.
05:10:45 -!- jpc has joined.
05:12:26 * ehird imagines an italic &c glyph in Calluna, gets sad because he can't have it.
05:12:35 <ehird> Why do I torture myself so?
05:13:49 <oerjan> karma. it's all that book burning you did in a previous life.
05:14:05 <ehird> I must have been a dick.
05:35:52 -!- ehird has quit (Read error: 60 (Operation timed out)).
05:54:46 -!- oerjan has quit ("Good night").
07:01:47 -!- FireFly has joined.
07:03:03 -!- Slereah has joined.
07:03:21 -!- coppro has quit (Read error: 60 (Operation timed out)).
07:05:19 -!- coppro has joined.
07:06:12 -!- coppro has quit (Remote closed the connection).
07:13:17 -!- Slereah_ has quit (Read error: 110 (Connection timed out)).
07:16:39 -!- coppro has joined.
07:27:31 -!- coppro has quit ("I am leaving. You are about to explode.").
07:29:24 -!- coppro has joined.
07:42:33 -!- coppro has quit ("I am leaving. You are about to explode.").
07:46:38 -!- coppro has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:10:12 -!- coppro has quit (farmer.freenode.net irc.freenode.net).
08:10:13 -!- fungot has quit (farmer.freenode.net irc.freenode.net).
08:10:13 -!- yiyus has quit (farmer.freenode.net irc.freenode.net).
08:10:14 -!- Pthing has quit (farmer.freenode.net irc.freenode.net).
08:10:14 -!- rodgort has quit (farmer.freenode.net irc.freenode.net).
08:10:14 -!- Deewiant has quit (farmer.freenode.net irc.freenode.net).
08:10:14 -!- lifthrasiir has quit (farmer.freenode.net irc.freenode.net).
08:10:14 -!- olsner has quit (farmer.freenode.net irc.freenode.net).
08:10:15 -!- mycroftiv has quit (farmer.freenode.net irc.freenode.net).
08:10:15 -!- bsmntbombdood has quit (farmer.freenode.net irc.freenode.net).
08:10:15 -!- EgoBot has quit (farmer.freenode.net irc.freenode.net).
08:10:15 -!- zeotrope has quit (farmer.freenode.net irc.freenode.net).
08:10:16 -!- uorygl has quit (farmer.freenode.net irc.freenode.net).
08:10:16 -!- puzzlet has quit (farmer.freenode.net irc.freenode.net).
08:10:16 -!- comex has quit (farmer.freenode.net irc.freenode.net).
08:10:16 -!- dbc has quit (farmer.freenode.net irc.freenode.net).
08:10:16 -!- sebbu has quit (farmer.freenode.net irc.freenode.net).
08:10:17 -!- mtve has quit (farmer.freenode.net irc.freenode.net).
08:10:17 -!- HackEgo has quit (farmer.freenode.net irc.freenode.net).
08:10:17 -!- SimonRC has quit (farmer.freenode.net irc.freenode.net).
08:10:17 -!- Ilari has quit (farmer.freenode.net irc.freenode.net).
08:10:18 -!- cal153 has quit (farmer.freenode.net irc.freenode.net).
08:10:18 -!- nodd has quit (farmer.freenode.net irc.freenode.net).
08:10:18 -!- Gregor has quit (farmer.freenode.net irc.freenode.net).
08:10:19 -!- fizzie has quit (farmer.freenode.net irc.freenode.net).
08:12:24 -!- coppro has joined.
08:12:24 -!- comex has joined.
08:12:24 -!- Pthing has joined.
08:12:24 -!- cal153 has joined.
08:12:24 -!- dbc has joined.
08:12:24 -!- nodd has joined.
08:12:24 -!- zeotrope has joined.
08:12:24 -!- sebbu has joined.
08:12:24 -!- rodgort has joined.
08:12:24 -!- yiyus has joined.
08:12:24 -!- fungot has joined.
08:12:24 -!- mycroftiv has joined.
08:12:24 -!- EgoBot has joined.
08:12:24 -!- bsmntbombdood has joined.
08:12:24 -!- olsner has joined.
08:12:24 -!- lifthrasiir has joined.
08:12:24 -!- Deewiant has joined.
08:12:24 -!- Ilari has joined.
08:12:24 -!- mtve has joined.
08:12:24 -!- SimonRC has joined.
08:12:24 -!- HackEgo has joined.
08:12:24 -!- uorygl has joined.
08:12:24 -!- puzzlet has joined.
08:12:24 -!- Gregor has joined.
08:12:24 -!- fizzie has joined.
08:29:40 -!- FireFly has quit ("Leaving").
08:33:02 -!- nooga has quit (Read error: 110 (Connection timed out)).
08:41:51 -!- jpc has quit ("I will do anything (almost) for a new router.").
08:55:30 <AnMaster> <ehird> It depends on calloc, which is not specified by either C or POSIX. <pikhq> Yeah, POSIX isn't ANSI C or POSIX. <-- Happy typo day!
08:56:46 <AnMaster> <ehird> This is your brain on macros. <-- since a compiler will generate it, will it matter?
09:02:18 <AnMaster> <ehird> say contents for each parameter <-- end tell
09:03:37 <coppro> lol
09:04:24 <AnMaster> <ehird> If you have a bignum char... <-- then what would CHAR_BIT be?
09:05:06 -!- ais523 has joined.
09:09:11 <AnMaster> <ehird> So... noreturn tells GCC "be really dumb-fuck retarded about tail calls". <-- it could be a side effect of what it actually tells gcc. Which is "this function won't return, so you can know that any code after the call to it is dead, and you don't need to handle it actually returning ever, no need for a function epilogue either there!"
09:11:26 <AnMaster> <ehird> pikhq: The really fucking retarded solution? If you give it a non-void return type, it works fine. <-- returning a value from a void function is undefined isn't it?
09:11:50 <AnMaster> oh wait it isn't that. Still that line is strange. I'm not sure it is well defined indeed
09:12:28 <coppro> link?
09:13:17 <fizzie> Speaking of the N900, there's a rather funky package in the repository: easy-deb-chroot. It installs a 1.5G Debian (lenny) image you can chroot into; there's Iceweasel w/ Java, Gimp and the full OpenOffice.org suite installed by default, but you can obviously install anything in the Debian arm port.
09:13:40 <AnMaster> <ehird> Unless it breaks that too :P <-- --enable-bootstrap
09:15:10 <AnMaster> <pikhq> Gentoo: it has correct compilers. :P <-- unsurprising
09:17:05 * AnMaster gets to end
09:17:05 <AnMaster> coppro, link to?
09:17:33 -!- Pthing has quit (Remote closed the connection).
09:18:15 <coppro> AnMaster: the source file he's discussing
09:18:30 <AnMaster> hm
09:18:45 <AnMaster> coppro, there was only snippets, mostly inline in irc
09:18:58 <AnMaster> <ehird> static void proc_recurse(scm_proc *cont) {
09:18:58 <AnMaster> <ehird> return proc_recurse(cont);
09:18:58 <AnMaster> <ehird> }
09:19:01 <AnMaster> maybe you meant that
09:19:35 <coppro> oh
09:19:53 <coppro> why is it messing with noreturn then?
09:19:53 <AnMaster> coppro, there were multiple versions of it, would be easier to check logs yourself. Instead of me repasting it all
09:20:43 <coppro> :(
09:20:48 * coppro is too lazy
09:22:35 <AnMaster> coppro, he is implementing a scheme->C compiler
09:22:40 <coppro> oh
09:22:40 <AnMaster> ehird that is
09:22:52 <coppro> how's he doing call-cc?
09:23:01 <AnMaster> coppro, I don't think he got there yet
09:23:24 <coppro> might as well start there once you have your data structures
09:23:29 <coppro> if you can't to call-cc, no point
09:23:51 <ais523> AnMaster: he's likely at school, considering the day of the week, time of the day, his age and the fact that it's termtime
09:24:02 <AnMaster> right
09:24:16 <AnMaster> coppro, s/to/do/ ?
09:24:26 <AnMaster> ais523, oh hi there
09:24:27 <coppro> yes
09:24:33 <AnMaster> ais523, and probably, but he log reads
09:24:41 <AnMaster> I did notice he wasn't in channel
09:24:55 <coppro> ehird, school? Does not happen!
09:25:04 <fizzie> Does not compute.
09:25:08 <AnMaster> coppro, was that a reference to Nation?
09:25:11 <coppro> yeppers
09:25:25 <coppro> I use that all the time now
09:25:26 <AnMaster> also it looks like fizzie didn't spot it.
09:26:03 <AnMaster> coppro, didn't they make an play or opera or Nation iirc? Think I read about that somewhere.
09:26:04 <fizzie> Well, I haven't read it. Too new, you see.
09:26:19 <coppro> AnMaster: s/or N/of N/?
09:26:26 <AnMaster> coppro, indeed
09:26:50 <coppro> dunno
09:26:50 <coppro> wouldn't surprise me
09:27:52 <AnMaster> also lag spikes
09:28:45 <AnMaster> very irritating
09:28:45 <AnMaster> jumps between 2 and 30 seconds of lag
09:28:45 <AnMaster> only on freenode
09:29:27 -!- cal153 has quit (Read error: 60 (Operation timed out)).
09:31:58 -!- SimonRC_ has joined.
09:32:05 -!- SimonRC has quit (Broken pipe).
09:39:42 -!- cal153 has joined.
09:47:15 -!- anmaster_l has joined.
09:58:49 -!- Pthing has joined.
10:06:20 <Ilari> Heh... Lag reading is frozen at 104s lage...
10:08:31 <AnMaster> Ilari, 0.1 atm for me. And yes I had similar issues a moment ago
10:12:00 <ais523> lagging a lot for me too every now and then
10:12:25 <anmaster_l> ah
10:12:43 <ais523> [470] #freenode ##overflow Forwarding to another channel Forwarding to another channel
10:12:43 <ais523> ok, /that's/ unusual
10:13:02 <ais523> looks like loads of people are rushing over to #freenode to see what's going on
10:13:02 <anmaster_l> ais523, not really
10:13:02 <anmaster_l> ais523, it does happen after lots of joins
10:13:02 <anmaster_l> oh wiat
10:13:02 <anmaster_l> wait*
10:13:24 <anmaster_l> you mean the double message
10:13:38 <anmaster_l> *that* is strange
10:13:38 <anmaster_l> why was forwarding repeated
10:13:38 <anmaster_l> ais523, also no, just lots of spambots joining and then directly being banne
10:13:38 <anmaster_l> banned*
10:14:06 <anmaster_l> this connection seems unlaggy though
10:14:24 <anmaster_l> lindbohm.freenode.net
10:14:33 <anmaster_l> hm seems to be in Sweden
10:14:40 <ais523> and ##overflow is a pretty pointless channel, seeing as it's moderated and has no ops
10:14:44 <ais523> it only exists for the message in the topic, I think
10:14:47 <ais523> anmaster_l: no, I mean the channel ##overflow itself is pretty pointless
10:14:49 <ais523> (lag at 79s for me...)
10:14:59 <anmaster_l> <ais523> anmaster_l: no, I mean the channel ##overflow itself is pretty pointless
10:15:00 <anmaster_l> err what
10:15:05 <anmaster_l> <anmaster_l> hm seems to be in Sweden
10:15:05 <anmaster_l> <ais523> and ##overflow is a pretty pointless channel, seeing as it's moderated and has no ops
10:15:05 <anmaster_l> <ais523> it only exists for the message in the topic, I think
10:15:05 <anmaster_l> <ais523> anmaster_l: no, I mean the channel ##overflow itself is pretty pointless
10:15:12 <ais523> anmaster_l: it's moderated, and has no ops, therefore nobody can be voiced
10:15:14 <anmaster_l> that is what it reads like here
10:15:15 <anmaster_l> ....
10:15:20 <anmaster_l> I don't know what you replied to
10:15:54 <anmaster_l> ais523, issue: There is nothing that "<ais523> anmaster_l: no, I mean the channel ##overflow itself is pretty pointless" matches up to on my end
10:16:02 <ais523> <anmaster_l> I don't know what you replied to <-- neither do I, this lag is making regular conversation pretty much impossible, we're going to have to start quoting I think
10:16:51 <anmaster_l> 01 ais523, "<ais523> <anmaster_l> I don't know what [...]" Or use serial numbers. I use odd, you even
10:17:02 <anmaster_l> 03 and no it isn't octal
10:17:30 <ais523> 01 ais523, "<ais523> <anmaster_l> I don't know what [...]" Or use serial numbers. I use odd, you even <--- that still makes no sense because it would be unclear what people were replying to
10:18:30 <anmaster_l> 05 (in reply to ais 01, which should have been 02 in fact) how so?
10:19:41 <anmaster_l> 07 ais523 it works like threads on mailing lists. that "in reply to" header whatever the spelling was (in-reply-to?)
10:19:55 <ais523> <anmaster_l> 05 (in reply to ais 01, which should have been 02 in fact) how so? <-- because the arrow method of quoting gives more context (you don't need to quote a quote, so it doesn't get ridiculously long), and doesn't have a message 100 problem
10:20:30 <ais523> <anmaster_l> 07 ais523 it works like threads on mailing lists. that "in reply to" header whatever the spelling was (in-reply-to?) <-- and I'm not really sure about in-reply-to just because I set my email client not to do threads (threads are just a poor substitute for proper quoting)
10:21:06 <anmaster_l> 09 ais523, in reply to "message 100 problem", well we could just add a third digit, in fact I don't know why I added a 0 to begin with
10:21:33 <ais523> <anmaster_l> 09 ais523, in reply to "message 100 problem", well we could just add a third digit, in fact I don't know why I added a 0 to begin with <-- also, the whole odd/even thing fails as soon as anyone else wants to talk
10:21:59 <anmaster_l> 11 ais523 in reply to "email client not to do threads" <-- what the heck. It is still useful on high traffic lists where you only want to follow some discussions
10:22:57 <ais523> <anmaster_l> what the heck. It is still useful on high traffic lists where you only want to follow some discussions <-- but it fails utterly as soon as a discussion forks; forcing people to reply to the most recent message all the time is no way to do a conversation
10:23:31 <anmaster_l> 13 ais523, in reply to "odd/even thing fails", well then what about using the first digit as a person id, the the remaining (variable count) as a message id. Or generate something like an UUID for every message (a7bc5039-c606-4956-9cd6-22c560783927)
10:24:06 <ais523> <anmaster_l> well then what about using the first digit as a person id, the the remaining (variable count) as a message id. Or generate something like an UUID for every message (a7bc5039-c606-4956-9cd6-22c560783927) <-- you're seriously overthinking this
10:24:10 <anmaster_l> 15 ais523, it doesn't fail utterly in that case. It works fine to keep two forks.
10:24:35 <anmaster_l> 17 in reply to "overthinking", yes it was a joke
10:24:44 <ais523> <anmaster_l> it doesn't fail utterly in that case. It works fine to keep two forks. <-- it doesn't work fine to keep 80 to 100 forks, which is what a high traffic discussion should become
10:25:13 <anmaster_l> 19, in reply to "80 to 100 forks" works, for 5 forks or such it works.
10:25:27 <anmaster_l> 21 which is what I consider a high traffic list
10:25:44 <anmaster_l> 23 even on lkml I doubt you hit 80 to 100 forks
10:26:07 <anmaster_l> 25 and yes some quoting is useful. but >>>>>>>>>>>>>>>>>>>>>>>>> is really irritating
10:26:13 <anmaster_l> 27 two levels work fine
10:26:44 <anmaster_l> 29 maybe up to 3 or 4 at most. More than that and you end up with wrapping issues and what not
10:27:32 <anmaster_l> 31 ais523 ^
10:28:09 <ais523> <anmaster_l> even on lkml I doubt you hit 80 to 100 forks <-- pretty much half of messages end up as forks if people reply to the message they actually should reply to, rather than the most recent one
10:28:47 <ais523> <anmaster_l> and yes some quoting is useful. but >>>>>>>>>>>>>>>>>>>>>>>>> is really irritating <-- have you never heard of an indentation reset?
10:29:08 <anmaster_l> 33 (in reply to ais523 replying to msg 19), sure, but most of those won't get replies in my experience.
10:29:27 <anmaster_l> 35 (in reply to ais523 replying to msg 25), no I haven't
10:29:31 <ais523> <ais523> have you never heard of an indentation reset? <-- or, fwiw, simply editing out the messages you aren't responding to
10:29:46 <anmaster_l> plus ping is low enough atm
10:29:50 <anmaster_l> so we don't need it
10:30:07 <anmaster_l> right now at least
10:31:28 <anmaster_l> ais523, anyway, did you get into #freenode?
10:31:39 <ais523> I haven't tried for a while
10:31:41 <ais523> trying again now
10:31:51 <ais523> nope, went to ##overflow again
10:32:03 <anmaster_l> ais523, flood option is 15.3
10:32:06 <anmaster_l> err
10:32:08 <anmaster_l> 15,3
10:32:18 <anmaster_l> so it means 3 clients per 15 seconds I believe
10:32:27 <anmaster_l> ais523, try again every few seconds for a while
10:32:41 <anmaster_l> since the quota is filled up with spambots very fast
10:32:46 <ais523> anmaster_l: respond to a channel being DOSed by DOSing it?
10:32:58 <anmaster_l> ais523, no. But that is the only way to get in
10:33:07 <anmaster_l> it isn't dosing it
10:33:10 <anmaster_l> just retrying the opteration
10:33:35 <anmaster_l> ais523, for ever 4 spambots about one real user is getting in
10:33:53 <ais523> ah, got in this time
10:34:06 <anmaster_l> ais523, quite quiet atm.
10:34:20 <ais523> yes, surprisingly so
10:34:36 <anmaster_l> ais523, wasn't a while ago
10:37:54 <AnMaster> ais523, those like "urcahnqk" look like those spambot thingies
10:41:56 -!- oerjan has joined.
10:45:24 -!- MizardX has joined.
10:47:57 <AnMaster> oerjan, hi there
10:48:04 <oerjan> hi AnMaster
10:48:26 <anmaster_l> ais523, getting lag issues again on my other connection. Sigh
10:48:43 <AnMaster> ah now it showed up here finally
10:48:45 <AnMaster> took a while
10:52:20 <AnMaster> oerjan, ais523: does either of you understand xkcd today
10:52:27 <AnMaster> I don't
10:52:52 <AnMaster> do either* ?
10:57:38 <Pthing> it is a robot battle
10:57:42 <Pthing> apparently
10:58:15 <fizzie> Based on the last frame, it might be some sort of a soccer-style game the robots are supposed to play.
10:58:44 <fizzie> They do that sort of stuff quite a lot.
10:59:31 <fizzie> There's http://en.wikipedia.org/wiki/RoboCup for example; though I have no idea if they do anything that'd involve >1 ball in the game at the same time.
11:03:00 <AnMaster> hm okay
11:09:26 -!- oerjan has quit ("Lost terminal").
11:23:36 <ais523> wow: http://blogs.perl.org/users/cpan_testers/2010/01/msnbot-must-die.html
11:23:54 <ais523> it seems that Microsoft DOSed the CPAN testers, probably by accident
11:28:54 <AnMaster> hm
11:29:01 <AnMaster> did he mail them about the issue?
11:29:12 <AnMaster> he/she*
11:34:30 <ais523> not sure, there isn't much info on the page
11:34:41 <AnMaster> true
11:44:19 -!- Pthing has quit (Remote closed the connection).
11:45:16 <fizzie> he/she/it* -- stop with the discrimination against genderless AI entities.
11:45:43 <AnMaster> hm good point
13:17:25 -!- FireFly has joined.
13:23:34 -!- soupdragon has joined.
14:23:22 <AnMaster> ais523, how goes esoteric projects atm?
14:23:35 <ais523> on hold while I do RL work
14:23:42 <AnMaster> right
14:24:38 -!- kar8nga has joined.
14:35:00 -!- ineiros has quit (Read error: 110 (Connection timed out)).
14:50:53 -!- ineiros has joined.
14:57:18 -!- nooga has joined.
15:18:06 -!- BeholdMyGlory has joined.
15:23:15 -!- anmaster_l has quit (Read error: 60 (Operation timed out)).
15:52:03 <augur> ais523: what kind of rl work? :o
15:53:37 <ais523> augur: teaching, and research
15:53:46 <augur> WAT
15:53:48 <augur> how old are you :|
15:53:50 <ais523> I just came back from teaching Java
15:53:52 <ais523> augur: 22
15:53:56 <augur> oh ok
15:53:59 <augur> TAing?
15:54:01 <ais523> yep
15:54:16 <augur> where are you a TA?
15:54:31 <augur> whats your gradschool, that is
15:54:43 <AnMaster> TA?
15:54:43 <augur> not "The CS Dept. x3" that would be a bad answer :|
15:54:46 <AnMaster> what does that for
15:54:48 <augur> teaching assistant
15:54:56 <AnMaster> ah
15:55:03 -!- anmaster_l has joined.
15:55:05 <augur> a far more complex program than a proof assistant!
15:55:21 <ais523> AnMaster: it's probably the #1 most popular job done by postgraduate students in order to gain extra money
15:55:35 <ais523> but I'm doing it simply to give me an extra year for my research
15:55:38 <augur> ais523: where do you go to gradschool?
15:56:27 <ais523> augur: Birmingham University
15:56:31 <augur> cool cool
15:57:13 <nodd> yeah ais523 is not just a pretty face
15:57:19 -!- nodd has changed nick to oklopol.
15:57:33 <augur> nodnol!
15:57:47 <AnMaster> ais523, sounds reasonable. But don't you need to take a course^Wmodule in pedagogy then?
15:58:01 <augur> TAing doesnt require that, no
15:58:04 <AnMaster> hm
15:58:08 <augur> because its not for like
15:58:10 <augur> highschool
15:58:12 <ais523> as a result, most TAs are rather rubbish
15:58:12 <augur> its for universities
15:58:16 <AnMaster> I know I would be a bad teacher, it isn't like I can explain thing
15:58:27 <augur> i can explain things SO WELL OMG
15:58:31 <augur> :P
15:58:32 <oklopol> i've been told i should be a teacher
15:58:37 <AnMaster> well, not to someone who doesn't know most of it already
15:58:45 <soupdragon> me neither
15:58:56 <augur> im also teaching a pseudo-class this upcoming semester on intro programming for some fellow ling grads
15:59:09 <augur> which makes me want to ask -- if anyone has suggestions, do tell
15:59:23 <augur> i'd love to know what you think i should do. im going to try and do it like SICP
16:00:14 <AnMaster> augur, isn't it specified what the class should be about?
16:00:21 <AnMaster> like which language and such
16:00:27 <augur> no, because im the one who made the class up
16:00:42 <augur> its just for some fellow grad students who recently realized "hey, i should learn to program"
16:00:57 <AnMaster> augur, as for lisp, in general most people who aren't really good at the concepts it uses tend to have way easier to learn an imperative language first
16:01:06 <AnMaster> just to get the idea of "control flow" and such
16:01:13 <AnMaster> and "function"
16:01:25 <augur> well, im going to cover a lot of basis, but people here i think understanding recursion well enough
16:01:30 <oklopol> yeah you learn functions much better from non-functional programming
16:01:36 <augur> we have lots of people who do semantics, lambda calculus all over the place, etc
16:01:45 <pikhq> I'd imagine linguists would have an easier time with a Lisp than with anything else.
16:01:45 <AnMaster> at least that is my observation. If they are math students then Lisp might in fact be easier
16:02:06 -!- soupdragon has quit ("Leaving").
16:02:23 <AnMaster> oklopol, not really, but lisp is quite hard as a concept, python would possibly be a good start if you hadn't done *any* programming before
16:03:58 <oklopol> maybe so, i don't really want to think about hard problems like these
16:05:35 <augur> ok im off
16:05:36 <augur> bye guys
16:06:17 <Slereah> bai
16:06:49 <oklopol> bie
16:08:09 <uorygl> buy
16:08:13 * uorygl coughs.
16:13:01 -!- soupdragon has joined.
16:14:03 -!- nooga has quit (Read error: 104 (Connection reset by peer)).
16:16:56 -!- soupdragon has quit (Client Quit).
16:18:30 -!- soupdragon has joined.
16:24:39 -!- augur has quit (Read error: 110 (Connection timed out)).
16:44:12 -!- ehird has joined.
16:45:29 <ehird> yodelling absolutely puts yodelling
16:45:59 <ehird> so, we're getting insanely active
16:46:03 <ehird> two >200 KiB logs in five days
16:46:33 <ehird> 01:02:18 <AnMaster> <ehird> say contents for each parameter <-- end tell
16:46:44 <ehird> Hey, at least mine has sane semantics and is more of a translation of Perl to lighter-weight syntax.
16:46:51 <ehird> say foreach @ARGV is how that works in Perl, after all.
16:46:59 <ehird> foreach → for each is obvious, and @ARGV → parameters too.
16:47:14 <ehird> 01:09:11 <AnMaster> <ehird> So... noreturn tells GCC "be really dumb-fuck retarded about tail calls". <-- it could be a side effect of what it actually tells gcc. Which is "this function won't return, so you can know that any code after the call to it is dead, and you don't need to handle it actually returning ever, no need for a function epilogue either there!"
16:47:16 <ehird> Exactly
16:47:18 <ehird> That's true :P
16:47:33 <ehird> I want it to do that, but still CALL
16:47:38 <ehird> I]t seems my gcc is broken
16:47:39 <ehird> *It
16:47:41 <AnMaster> ehird, I'm not surprised that noreturn messes up if you *do* in fact return
16:47:45 <ehird> since pikhq compiled it
16:47:46 <ehird> with 4.3
16:47:50 <ehird> and it worked perfectly
16:47:53 <ehird> exactly how i wanted it
16:47:55 <pikhq> In every which way.
16:47:56 <ehird> AnMaster: It isn't just noreturn
16:47:58 <pikhq> I never got it to break.
16:48:00 <ehird> it messes up with just static
16:48:00 <AnMaster> ehird, it could be that it just happened to work but it shouldn't
16:48:01 <AnMaster> ah
16:48:01 <ehird> with no noreturn
16:48:11 <AnMaster> okay that's strange
16:48:22 <pikhq> Gentoo's GCC vs. Ubuntu's.
16:48:36 <pikhq> I'm going with Gentoo's being correct; that sucker gets tested a lot.
16:48:51 <ehird> 01:23:24 <coppro> might as well start there once you have your data structures
16:48:53 <ehird> 01:23:29 <coppro> if you can't to call-cc, no point
16:48:55 <ehird> Cheney on the M.T.A.
16:48:56 <ehird> 'nuff said.
16:51:13 * pikhq finds that his C lambdas close much more nicely when you implement the closures as a void*[].
16:51:24 <ehird> That's what I'm doing, heh.
16:51:46 <ehird> I'm considering going with the Cheney on the M.T.A. hand-translated style, though, and just defining closure[0-n]
16:51:51 <ehird> for easier allocation
16:51:54 <ehird> (alloca is kinda meh)
16:51:58 <pikhq> Much nicer than creating a bunch of structs.
16:54:24 -!- SimonRC_ has changed nick to SimonRC.
16:54:32 <pikhq> *c = (void*[]){xgc_malloc(sizeof(unsigned int) * (n+1)), &f};
16:54:39 <pikhq> Now *that's* how you close.
16:54:39 <pikhq> :P
16:54:43 <ehird> pikhq: Of course, my case is rather different to yours...
16:54:48 <ehird> Being that malloc() is pretty much verboten.
16:54:53 <ehird> (Unless I really need a *big* data structure.)
16:55:02 <pikhq> Whereas I feel free to just use malloc everywhere.
16:55:07 <pikhq> And never, ever, ever free.
16:55:16 <pikhq> (that's Boehm GC's job!)
16:55:28 <ehird> pikhq: Yeah, but you can't use a struct initialiser and then return a reference to it.
16:55:58 <pikhq> Not really.
16:56:10 <pikhq> Pity, too.
16:56:32 <ehird> pikhq: But I can!
16:57:10 * pikhq mutters
16:59:07 <ehird> pikhq: I love how I barely have to implement any scoping.
16:59:36 <ehird> If we declared a variable and haven't gone to a new continuation, use it directly. Otherwise, fetch it from our environment.
16:59:44 <ehird> (which is just env->varname.)
17:00:53 <ehird> If I add global function pointers so you can redefine top-level functions, then the additional logic is just "if there's no lexical bindings of this before the top level, assign to the pointer named global_whatever or something."
17:01:41 <pikhq> ehird: Yeah, that's about as simple as it gets.
17:03:11 <ehird> pikhq: btw, I know Linux won't allocate anything below at least (void *)259, most likely, but do you know about other OSs?
17:03:13 <ehird> BSDs?
17:03:26 <ehird> #define F ((scm_value) 0)
17:03:27 <ehird> #define T ((scm_value) 1)
17:03:29 <ehird> #define nil ((scm_value) 2)
17:03:30 <ehird> #define tag_char(x) ((scm_value) 3+(x))
17:03:32 <ehird> #define tag_int(x) ((scm_value) (x<<1)+1)
17:03:33 <ehird> is what I have
17:03:47 <ehird> So I depend on: pointers' low bit is 0, no pointer is <259
17:04:19 <ehird> I could, of course, make it 1, 3, 5 for F/T/nil, but that breaks the fact that you can do if (foo) to detect #f.
17:04:36 <ehird> and I could also spread out the chars so they have low bit 1, but I think this way is nicer
17:04:38 <ehird> easier unpacking
17:04:47 <pikhq> ehird: Most UNIXs won't allocate the first page.
17:05:02 <ehird> Know of any that do?
17:05:07 <pikhq> No.
17:05:11 <ehird> hmm, wait, I know that 0 won't be allocated
17:05:17 <ehird> so it could be 0, 1, 3 for F/T/nil
17:05:20 <ehird> and that preserves the if
17:05:29 <pikhq> It's generally not allocated so that NULL is guaranteed to segfault.
17:05:30 <ehird> pikhq: then again, even pointers isn't mandatory either is it?
17:05:54 <pikhq> ehird: Not mandatory, just common.
17:06:46 <ehird> then i'll just leave it as is because i'm depending on common behaviour anyway
17:06:55 <ehird> I should just call it a Scheme compiler for x86 Linux
17:07:00 <ehird> c is just my assembly :P
17:07:29 <pikhq> I think even Boehm GC assumes even pointers.
17:07:35 <pikhq> ... And Boehm GC runs everywhere.
17:07:51 -!- augur has joined.
17:07:52 <ehird> 03:45:16 <fizzie> he/she/it* -- stop with the discrimination against genderless AI entities.
17:08:04 <ehird> Or, you know, genderless humans.
17:08:11 <ehird> Rather more likely :P
17:10:08 -!- jpc has joined.
17:13:52 <ehird> 08:00:57 <AnMaster> augur, as for lisp, in general most people who aren't really good at the concepts it uses tend to have way easier to learn an imperative language first
17:13:54 <ehird> false
17:15:42 <AnMaster> ehird, well, it is based on observation about average people. Not on observation of those in this channel
17:16:23 <AnMaster> also yes it is not a scientifically rigours study
17:16:27 <AnMaster> yes,*
17:16:33 <ehird> It is still false; imperative programming is only intuitive because that's how it's taught.
17:16:47 <ehird> Certainly perhaps a "man on the street" could understand a list of instructions but not a simple mathematical function, but
17:16:50 <AnMaster> ehird, so both are equally easy to learn?
17:16:56 <ehird> 1. This man is not, will never be, and is not suitable to be a programmer.
17:17:01 <ehird> 2. These are linguists we're talking about.
17:17:10 <ehird> You know the curry-howard isomorphism? Programming is logic?
17:17:17 <ehird> Types are statements and values are proofs?
17:17:25 <ehird> There's one of those for linguistics and logic.
17:17:26 <AnMaster> ehird, oh right linguists. That probably means some fancy language will be easier indeed
17:17:30 <ehird> And thus linguistics and (functional) programming.
17:17:45 -!- augur_ has joined.
17:17:55 <ehird> I would say that functional programming has a higher learning curve, but much fewer stubbed toes after the initial climb.
17:18:16 <pikhq> Most definitely.
17:18:41 <ehird> And beginning programmers have a *lot* of stubbed toes, because writing understandable, reliable imperative code is almost impossible.
17:18:42 <pikhq> Much agony results from debugging imperative code.
17:19:00 <pikhq> Especially in low-level languages, where a bug can readily rewrite the stack...
17:19:32 <soupdragon> what's this about curry howard for linguistics
17:19:37 <AnMaster> * pikhq finds that his C lambdas close much more nicely when you implement the closures as a void*[]. <-- as a array of void pointers? Why?
17:19:40 <AnMaster> an*
17:21:04 <ehird> soupdragon: i don't remember where I saw it, but it was on lambda the ultimate or something, also, augur has said it
17:21:20 <ehird> basically your linguist notation is the typed lambda calculus, iirc
17:21:22 <pikhq> AnMaster: void **c=xgc_malloc(sizeof(void*)*2);c[0] = foo;c[1]=&bar; vs. struct the_closure_t {int *a;int *b} *c=xgc_malloc(sizeof(struct the_closure_t));c=(struct the_closure_t){foo, bar};
17:22:22 <soupdragon> link?
17:22:23 <pikhq> BTW, that struct declaration has file scope.
17:22:40 <AnMaster> <ehird> Or, you know, genderless humans. <-- that exists?
17:22:49 <ehird> soupdragon: "i don't remember where I saw it"
17:23:03 <ais523> AnMaster: occasionally but very rarely
17:23:26 <ehird> AnMaster: Probably. Gender is fluid: you have transgendered people, people who's gender identity is basically in-between, etc.
17:23:32 <ehird> (If I meant "sexless humans" I would have said that.)
17:23:34 <AnMaster> "because writing understandable, reliable imperative code is almost impossible." <-- for new programmers only you mean?
17:23:41 <ehird> No.
17:23:45 <ehird> I mean it very literally.
17:24:03 <AnMaster> ehird, for experienced programmers I find it "hard" instead of "almost impossible"
17:24:11 <ehird> If you disagree, then you don't have a strict enough definition of reliable.
17:24:13 <ais523> I agree with ehird; I can write relatively understandable imperative code, and sometimes it even ends up reliable, but it's nowhere near as good as equivalent functional code would be
17:24:17 <ais523> unless it's very simple
17:24:25 <ehird> Coding in a functional language makes you totally rethink how reliable things can be.
17:25:04 <ehird> Heck, Dijkstra spent the entire life of a genius trying to figure out how to write understandable, reliable imperative programs.
17:25:10 <ehird> He... sort of succeeded.
17:25:19 <soupdragon> what's the point in even saying this
17:25:24 <AnMaster> ehird, I think Unix managed fairly well considering that tools like valgrind didn't even exist back then.
17:25:25 <soupdragon> not ever program is a function
17:25:32 <soupdragon> not every program is a function*
17:25:35 <pikhq> soupdragon: But every program is a function.
17:25:36 <AnMaster> and indeed
17:25:40 <ehird> AnMaster: Unix was not reliable and it has never been reliable.
17:25:45 <AnMaster> I didn't say imperative was better than functional
17:25:50 <soupdragon> that's ridiculous pikhq, that's like saying everything is made from atoms
17:26:00 <pikhq> soupdragon: Heheh.
17:26:00 <ehird> And you think the original Unix code was understandable? Wow.
17:26:01 <AnMaster> I just said it wasn't quite as unreliable as ehird wanted to suggest
17:26:22 <pikhq> The original Unix code used fixed size buffers for a huge number of things.
17:26:24 <AnMaster> ehird, I'm well aware of that parts of it wasn't
17:26:27 <ehird> AnMaster: you haven't even programmed in any purely functional programming languages, let alone programming seriously in one, so it's understandable you would think that.
17:26:34 <AnMaster> also what about modern *nix
17:26:38 <AnMaster> like FreeBSD
17:26:40 <ehird> But Unix's code was definitely not understandable; it was a mess. And it was extremely unreliable.
17:26:43 <AnMaster> I read parts of freebsd kernel
17:26:47 <AnMaster> fairly understandable
17:27:01 <pikhq> Y'know the term "buffer overflow"? The Unix opinion on them was "Why would you want to make the buffer overflow, anyways?"
17:27:02 <ehird> AnMaster: you have no idea how reliable code can be because you've only ever used impure languages
17:27:07 <ehird> there's not really any way to explain it
17:27:24 <AnMaster> ehird, I coded in scheme quite a bit. I don't mention everything in this channel. Far from everything is esolang related
17:27:37 <pikhq> ... Scheme's not purely functional.
17:27:39 <ehird> Scheme is not a purely functional language.
17:27:43 <ehird> Neither is Erlang.
17:27:43 <AnMaster> pikhq, I was getting to that
17:27:51 <AnMaster> I'm aware of neither being pure
17:27:57 <ehird> The gap between functional and purely functional is immense, and it is where the immense reliability emerges.
17:28:12 <AnMaster> I'm also aware of that both give better results than imperative languges
17:28:37 <pikhq> The Haskell code I have written *can only fail if the compiler or the kernel have bugs*.
17:28:39 <AnMaster> however, haskell does have a steep learning curve. I only went up it a tiny bit
17:28:46 <pikhq> (or, of course, you run out of memory)
17:28:50 <soupdragon> pikhq how do you know that?
17:29:00 <ehird> AnMaster: It only has that learning curve because you are used to other kinds of code.
17:29:06 <pikhq> soupdragon: It's fairly trivial to see.
17:29:08 <AnMaster> pikhq, or logic errors.
17:29:15 <ehird> pikhq: that's false; you cannot ensure that without dependent types
17:29:17 <soupdragon> pikhq what sort of programs are you thinking about then?
17:29:18 <ehird> but it's close to the truth
17:29:22 <ehird> AnMaster: the type system helps you guarda gainst those, too.
17:29:35 <ehird> Anyway, I'm not interested in debating this , really.
17:29:40 <pikhq> AnMaster: That's the only way for almost *any* Haskell code to fail.
17:29:42 -!- augur has quit (Read error: 110 (Connection timed out)).
17:29:44 <AnMaster> ehird, I have always said I wanted strong typing, that being one of the things I really miss in erlang
17:29:46 <ehird> pikhq: false
17:29:56 <ehird> AnMaster: Strong typing as you know it is a waste of time.
17:30:11 <AnMaster> ehird, if the compiler does it automatically it isn't
17:30:18 <ehird> It is utter folly and makes programs incredibly inexpressive until you get to around the H-M + typeclasses level.
17:31:35 <soupdragon> you can express a C-like language in haskell (using a monad) and then writing programs in this is equally hard as writing them directly in C -- functional programming doesn't help anything
17:31:40 <AnMaster> also it helps catch some bugs certainly. erlang has optional type annotations. Using those I found very useful. Such as the system can tell that it is possible to pass something that won't work somewhere
17:31:41 <AnMaster> or suc
17:31:44 <AnMaster> such*
17:31:57 <ehird> soupdragon: Let me borrow a term from Conal, then: denotational programming is more reliable.
17:31:58 <AnMaster> and I understood that haskell has a very useful type system, I assume thus it is even better
17:32:02 <pikhq> soupdragon: And then you're not doing functional programming, you're making Haskell into the ultimate imperative language.
17:32:15 <ehird> Anyway, I'm very bored about this because AnMaster has no hope in hell of understanding.
17:32:18 <ehird> So let's talk about something else.
17:32:26 <pikhq> AnMaster: Learn Haskell, and be enlightened.
17:32:34 <ehird> pikhq: he said he tried to bugt gave up
17:32:34 <AnMaster> pikhq, what about other pure languages
17:32:44 <AnMaster> ehird, no I said I tried and put it on hold
17:32:45 <soupdragon> pikhq I still want to know what programs you wrote that are obviously correct
17:32:47 <ais523> hmm, I'd like something like the Splint dialect of C, but with a less cumbersome syntax and that actually works
17:32:50 <ehird> AnMaster: aka gave up
17:33:01 <AnMaster> ehird, like you and most of your projects?
17:33:04 <AnMaster> well I'm not like that
17:33:06 <ehird> Anyway, please let's not tell AnMaster to learn Haskell; I Might End Up Maintaining His Code™.
17:33:12 <ehird> AnMaster: you're boring
17:33:16 <ais523> soupdragon: even versions of true in commercial UNIX have had bugs found in them before
17:33:24 <AnMaster> ehird, what has that got to do with anything
17:33:24 <pikhq> soupdragon: Whole lot of relatively trivial ones.
17:33:27 <ehird> soupdragon: pikhq was exaggerating
17:33:46 <pikhq> The non-trivial ones are merely *most likely* correct. I've not bothered proving it.
17:34:02 <soupdragon> Some people realize "functional programming languages are great for functional programming, most programs are functions" but they express it in an odd way, saying stuff like "SET! makes programming impossible, object orientation is broken, ocaml sucks - the only way to get any real programming done is to use foldr in haskell"
17:34:27 <AnMaster> <AnMaster> pikhq, what about other pure languages
17:34:32 <AnMaster> pikhq, still waiting for an answer
17:34:39 <pikhq> AnMaster: ... Which other ones?
17:34:43 <soupdragon> pikhq I got that you didn't prove it but if you can just tell by inspection that they are correct that's pretty cool -- but I guess you don't want to show me any of these for some reason?
17:34:44 <ehird> Miranda and Gofer!!!!!11
17:34:44 <AnMaster> pikhq, that is what I'm wondering
17:34:52 <AnMaster> ehird, are those the only ones?
17:34:53 <pikhq> There's Haskell, and a handful of Haskell-oids...
17:34:57 <pikhq> And... ?
17:35:03 <ehird> AnMaster: very few practical ones.
17:35:10 <AnMaster> why so few?
17:35:27 <ehird> Because they're subtle and require intelligence to create and compile.
17:35:32 <AnMaster> hm
17:35:41 <pikhq> soupdragon: http://sprunge.us/ETYc
17:35:41 <ehird> Compare to, say, Python, which was whacked together in a few days based on a few vague ideas and a lot of C.
17:35:54 <pikhq> soupdragon: cat.
17:36:01 <ehird> main = interact id
17:36:03 <ehird> cat.
17:36:10 <ehird> cat does not have options, btw.
17:36:33 <AnMaster> why not make something like haskell but with a simpler syntax and less steep learning curve?
17:36:40 <ehird> AnMaster: The syntax is simple.
17:36:40 <pikhq> ehird: /bin/cat does.
17:36:45 <pikhq> AnMaster: ... Haskell has a rather simple syntax.
17:36:45 <soupdragon> AnMaster because it would still suck
17:36:48 <AnMaster> ehird, I meant "simple as lisp"
17:36:48 <ehird> Removing the learning curve would make it suck.
17:36:53 <ehird> AnMaster: Liskell. (It sucks.)
17:37:14 <ehird> AnMaster: why not make something like c but with compiler-enforced safety and no memory management?
17:37:20 <AnMaster> ehird, also I didn't intend it as a production language. Rather as a language like scheme, for learning mostly
17:37:24 <AnMaster> rather than for performance
17:37:24 <ehird> it has to be just as fast and low-level
17:37:27 <ehird> and incur no run-time overhead
17:37:41 <ehird> AnMaster: I don't intend mine as a production language, either!
17:37:57 <ehird> It's just for learning. So can I have this safe, no-memory-management C that is fast, low-level and has no runtime penalty for its features tomorrow?
17:37:59 <AnMaster> ehird, so you are saying that scheme is impossible or such?
17:38:05 <ehird> Scheme is not purely functional.
17:38:10 <AnMaster> that's true
17:38:13 <ehird> pikhq: btw you should use http://community.haskell.org/~ndm/cmdargs/ for command line args :P
17:38:23 <pikhq> ehird: Probably.
17:38:23 <ehird> it's all type system and shizz
17:38:24 <AnMaster> but it is the same vs other more advanced lisps really
17:38:29 <ehird> pikhq: TYPE SYSTEM
17:39:37 <soupdragon> pikhq okay I guess I see what you mean -- you are programming at such a high level that there's no confusion about what's going on here
17:39:53 <ehird> pikhq: btw it should be putStr not putStrLn
17:39:59 <AnMaster> plus I have yet to find a good haskell tutorial.
17:40:14 <pikhq> ehird: Dankon.
17:40:26 <ehird> AnMaster: if neither Learn You a Haskell nor Real World Haskell get you understanding haskell, it is merely your imperative mindset that is broken.
17:40:53 <AnMaster> ehird, the former I just found silly, the latter I don't remember seeing
17:40:57 * AnMaster googles
17:41:10 <AnMaster> oh was it book only?
17:41:10 <ehird> "Waah, it's silly. It sucks and Haskell sucks and you suck."
17:41:13 <ehird> No.
17:41:13 <AnMaster> rather than website
17:41:24 <ehird> Look, I'm really uninterested in talking about this, so please don't highlight me about it again.
17:41:25 <soupdragon> AnMaster, it's meant to be silly so its' fun to read
17:41:27 <AnMaster> <ehird> "Waah, it's silly. It sucks and Haskell sucks and you suck." <-- never said that.
17:41:35 <soupdragon> I recommend that book it's good
17:41:35 <ehird> I said don't highlight me about it again.
17:41:41 <AnMaster> what I said is, I found it silly and not fun at all
17:41:50 <AnMaster> thus it didn't work for me
17:41:53 <ehird> pikhq: btw - for stdin is baad
17:41:54 <soupdragon> maybe you just don't want to know haskell
17:42:10 <ehird> it breaks the uniform identifierspace that is the filesystem and requires every program to do additional processing
17:42:15 <ehird> when /dev/stdin is a perfectly good name :(
17:42:17 <pikhq> ehird: Yes, but 'tis the standard.
17:42:21 <AnMaster> soupdragon, I don't have the money to pay for books currently except course literature. That is expensive as it is
17:42:21 <ehird> bah
17:42:23 <ehird> you can do better!
17:42:36 <ehird> AnMaster: it's published online you dumbfuck
17:42:40 <ehird> there's a whole link on the homepage to read it
17:42:44 <ehird> you're being deliberately obstructive
17:42:44 <soupdragon> AnMaster not sure what that has to do with it
17:42:53 <AnMaster> ehird, hm then I misread the result
17:43:09 <pikhq> Real World Haskell is *also* available online.
17:43:19 <AnMaster> ehird, first result was amazon.com you see
17:43:46 <AnMaster> then o'reilly
17:43:57 <ehird> yeah, no books are both online and sold
17:44:00 <AnMaster> the site for the book was only at the 7th place
17:44:02 <ehird> http://diveintopython.org/ is a LIE
17:44:06 <AnMaster> ehird, well it didn't say near the top
17:44:11 <AnMaster> and stop being silly
17:44:21 <ehird> I'M VERY SERIOUS NOW :|
17:44:32 <AnMaster> ehird, everyone just looks at the top few results at google usually
17:45:13 <ehird> After I just said "it's not just a book"?
17:45:19 <ehird> You're just wasting our time.
17:45:37 <soupdragon> anyway
17:45:40 <soupdragon> what was I saying
17:46:43 <AnMaster> ehird, hm? where? If you mean "<ehird> AnMaster: it's published online you dumbfuck" then it was afterwards
17:46:56 -!- nooga has joined.
17:46:56 <ehird> no
17:46:56 <AnMaster> anything before that I must have missed
17:46:59 <ehird> before
17:47:46 <AnMaster> ehird, well unable to locate it, but I don't really care. Won't make you change your mind anyway. *shrug*
17:47:46 <ehird> pikhq: ohai
17:47:51 <ehird> i done rewrite your program as oneliner
17:47:58 <ehird> main = putStr =<< (fmap concat $ getArgs >>= mapM readFile)
17:48:07 <ehird> ok technically "cat" on its own a nop
17:48:11 <ehird> but i'm paid by the anticharacter!
17:48:18 <AnMaster> <AnMaster> oh was it book only?
17:48:19 <AnMaster> <ehird> "Waah, it's silly. It sucks and Haskell sucks and you suck."
17:48:19 <AnMaster> <ehird> No.
17:48:22 <AnMaster> oh you mean that no?
17:48:28 <ehird> [17:40] <AnMaster> oh was it book only?
17:48:29 <ehird> [17:40] <ehird> No.
17:48:31 <soupdragon> import UnixInOneLine
17:48:31 <ehird> [17:40] <AnMaster> rather than website
17:48:36 <AnMaster> ehird, see order here
17:48:36 <soupdragon> cat = unix id
17:48:45 <AnMaster> it looked like it was connected to that quoted line
17:49:00 <ehird> soupdragon: is unix "interact but with file arguments" :P
17:49:07 <AnMaster> ehird, like trying to point out the sarcasm in a very clear way
17:49:25 <AnMaster> ehird, please do remember the timing issues with irc.
17:49:37 <ehird> Fix your massive lag.
17:49:45 -!- augur_ has quit (Read error: 110 (Connection timed out)).
17:49:48 <AnMaster> ehird, 0.1 seconds yes
17:49:53 <AnMaster> that is what my meter shows
17:49:59 <ehird> meh.
17:50:41 <AnMaster> ehird, * Ping reply from ehird: 1.01 second(s)
17:50:49 <AnMaster> either most of the lag is on your end or between servers
17:50:52 <ehird> 182 ms here.
17:51:00 <AnMaster> ehird, well then between servers
17:51:00 <pikhq> ehird: cat was one of my earlier Haskell programs.
17:51:05 <AnMaster> not much I can do about that
17:51:35 <ehird> meh
17:51:44 <ehird> echo time!
17:52:04 <pikhq> main = putStr =<< getArgs
17:52:05 <ehird> main = putStrLn =<< (unwords <$> getArgs)
17:52:13 <ehird> pikhq: type error.
17:52:19 <pikhq> Ah, right.
17:52:35 <pikhq> Yeah, getArgs :: IO [String]. Need some unwords.
17:53:13 <ehird> main = putStr =<< (fmap (reverse . concat) $ getArgs >>= mapM readFile)
17:53:28 <ehird> ohai i turned you into tac
17:53:33 <ehird> (Except it's character-based tac, not line-based.)
17:53:38 <ehird> (Also, it prints the last argument first.)
17:53:54 <pikhq> main = interact $ unlines . map reverse . lines
17:54:00 <pikhq> stdio-only tac.
17:54:03 <pikhq> Whoo.
17:56:54 * ehird decides that a good compilation strategy is transforming the Scheme program into an sexp form of C.
17:57:05 <ehird> ...although I don't want to implement macros right now.
17:59:38 <ehird> lol, OS X ehird:staff shows up in linux as 501 dialout
18:01:14 -!- kar8nga has quit (Remote closed the connection).
18:02:12 <AnMaster> ehird, what distro?
18:02:21 <AnMaster> on arch iirc users start below 1000
18:02:23 <ehird> kubuntu
18:02:26 <ais523> probably Snow Leopard
18:02:33 <AnMaster> well yeah users would start about 1000 there
18:02:34 <ehird> "shows up in linux as"
18:02:34 <AnMaster> ais523, -_-
18:02:45 <ais523> (sorry, I'm in a misinterpetitive mood at the moment)
18:02:51 <ehird> I didn't actually get around to upgrading to Snow Leopard
18:02:56 <AnMaster> ais523, also that would be version, not distro
18:03:10 <ehird> Well, technically Snow Leopard is a distribution of Darwin. :P
18:03:17 <AnMaster> ais523, it's like saying jaunty is a different ubuntu distro than karmic
18:03:24 <ehird> With its own, proprietary windowing system and applications.
18:03:29 <AnMaster> ehird, note "technically"
18:03:35 <ais523> AnMaster: sometimes it feels like that!
18:04:03 <ehird> where can I list all the fs types i can mount?
18:04:05 <AnMaster> ais523, it requires a mind bending definition of distro though
18:04:13 <AnMaster> ehird, atm? somewhere in /proc
18:04:20 <AnMaster> /proc/filesystems
18:04:22 <ehird> The argument following the -t is used to indicate the file system type. The file system types which are currently sup‐
18:04:23 <ehird> ported include: adfs, affs, autofs, cifs, coda, coherent, cramfs, debugfs, devpts, efs, ext, ext2, ext3, ext4, hfs, hfs‐
18:04:25 <ehird> plus, hpfs, iso9660, jfs, minix, msdos, ncpfs, nfs, nfs4, ntfs, proc, qnx4, ramfs, reiserfs, romfs, smbfs, sysv, tmpfs,
18:04:26 <ehird> udf, ufs, umsdos, usbfs, vfat, xenix, xfs, xiafs. Note that coherent, sysv and xenix are equivalent and that xenix and
18:04:28 <ehird> coherent will be removed at some point in the future — use sysv instead. Since kernel version 2.1.21 the types ext and
18:04:31 <ehird> xiafs do not exist anymore. Earlier, usbfs was known as usbdevfs. Note, the real list of all supported filesystems depends
18:04:31 <AnMaster> ehird, however, loading more modules may change which ones are available
18:04:34 <ehird> on your kernel.
18:04:36 <ehird> or just man mount
18:04:38 <ehird> hfs-plus then
18:04:43 <ehird> ehird@meson:/media$ sudo mount -t 'hfs-plus' -o user=ehird,group=ehird /dev/sda2 Macintosh\ HD
18:04:45 <ehird> mount: unknown filesystem type 'hfs-plus'
18:04:47 <AnMaster> ehird, "note the real list"
18:04:48 <ehird> *look of disapproval*
18:05:00 <ehird> ok, it's really "hfsplus"
18:05:03 <ehird> thanks, misleading man page
18:05:04 <ehird> I love you
18:05:04 <AnMaster> ehird, yes see.
18:05:16 <ais523> ehird: "hfsplus" on my manpage
18:05:24 <ais523> it's nroff you should probably hate, rather than the manpage itself
18:05:34 <AnMaster> ehird, it is just line broken there
18:05:42 <ehird> eh didn't work giving -o uid=ehird,gid=ehird ;(
18:05:46 <ehird> *:(
18:05:50 <ehird> ais523: yar
18:06:06 <AnMaster> wth
18:06:12 <AnMaster> man mount give me the plan9 page
18:06:24 <AnMaster> okay only that shell
18:06:25 <AnMaster> whatever
18:07:10 <ais523> ehird: those are filesystem-specific options, and hfsplus has no specific options it seems
18:07:26 <ehird> >_<
18:07:32 <ehird> I'll just have to chown the directroy then
18:07:34 <ehird> *directory
18:07:36 <ehird> NUCLEAR OPTION
18:07:44 <ehird> read only filesystem
18:07:45 <ehird> fml
18:07:48 <ehird> fine then
18:07:52 <ehird> I'll just copy all the files
18:07:59 <ehird> ehird@meson:/media/Macintosh HD/Users/ehird$ cd Music/
18:08:00 <ehird> bash: cd: Music/: Permission denied
18:08:06 <ehird> FFFFFFFUUUUUUUUUUUU
18:08:07 <ais523> try sudo cd
18:08:10 <AnMaster> ehird, wonderful
18:08:11 <ehird> ais523: lol
18:08:14 <ais523> I know
18:08:19 <ais523> (try starting a root shell, then cding)
18:08:21 <ehird> sudo sucks for being a program
18:08:22 <AnMaster> ais523, that... XD
18:08:27 <ehird> I do "sudo foo >bar" all the time
18:08:29 <ehird> and get bar: permission denied
18:08:38 <AnMaster> ehird, I do sudo su -
18:08:38 <ehird> and then realise GOD DAMMIT SUDO SHOULD BE HANDLED BY THE SHELL
18:08:42 <ehird> AnMaster: aka sudo -s.
18:08:47 <AnMaster> ehird, there is a difference
18:08:53 <AnMaster> ehird, sudo -s doesn't reset umask
18:08:58 <ehird> Sometimes I do "sudo cp /dev/stdin bar"
18:09:09 <ehird> I guess "sudo cp <(sudo ...) bar" would also work
18:09:18 <AnMaster> ehird, which really matters since mine is set to not allow world any permissions by default
18:09:26 <AnMaster> thus I need a reset umask from a login shell
18:09:29 <ehird> you use umasks?
18:09:30 <ehird> you're crazy.
18:09:32 <AnMaster> for some reason I haven't got it to work
18:09:35 <AnMaster> in any other way
18:09:36 <AnMaster> ehird, what?
18:09:45 <AnMaster> there is *always* a default umask
18:09:47 <ehird> fairly sure even ais523 will agree here
18:09:57 <AnMaster> 0022 usually
18:09:57 <ehird> AnMaster: yes, but seting it yourself
18:10:04 * ehird cp -R iTunes\ Music ~
18:10:05 <ais523> umask is as far as I can tell only useful in shellscripts
18:10:07 <AnMaster> ehird, why not? it's what it is meant for
18:10:17 <ehird> oh dear
18:10:21 <ehird> that's 21 gibibytes
18:10:32 <ais523> AnMaster: it makes more sense to deny world-execute and world-read to your home dir, then it does to mess with the umask
18:10:40 <ehird> ais523: *than
18:10:47 <ais523> err, yes, *than
18:10:49 <ais523> I should get more sleep
18:11:03 <AnMaster> ais523, well yes but that messes up ~/public_html
18:11:12 <AnMaster> ais523, since web server can't access it any more
18:11:12 <ehird> Filesystem Size Used Avail Use% Mounted on
18:11:14 <ehird> /dev/sda3 61G 4.0G 54G 7% /
18:11:21 <ehird> ais523: how long do you think copying 21 gibibytes from one partition to another will take?
18:11:40 <AnMaster> ais523, thus I need only that to be world read and execute in my home dir. keeping the rest out
18:11:49 <ais523> ehird: I'm actually not sure
18:11:58 <ehird> let's find out
18:12:05 <ehird> Go go gadget cp -R
18:12:19 <ehird> *time cp -R
18:12:22 <ais523> it took me maybe about an hour to copy 1 gigabyte from one computer to another via compressed rsync and an Ethernet cable
18:12:33 <ehird> root@meson:/media/Macintosh HD/Users/ehird/Music/iTunes# time cp -R iTunes\ Music ~
18:12:36 <ehird> dun dun dun dun
18:12:37 <ehird> dun dun dun dun
18:12:39 <ehird> dun DUN
18:12:44 <AnMaster> ais523, gbit or 100 mbit?
18:12:46 <ehird> ais523: ethernet is slower than disk methinks
18:12:53 <ais523> ehird: agreed
18:12:56 <ehird> well, I mean
18:12:57 <ehird> ethernet+disk
18:12:58 <ais523> I was just giving that as a comparison
18:13:03 <ehird> I should be getting, like, 100 mbit/s, sustained
18:13:08 <ehird> so —whips out Frink—
18:13:16 <ais523> ehird: actually, slowest was probably trying to compress and decompress stuff on a netbook
18:13:28 <ais523> AnMaster: not sure; it's gigabit on one computer, but I don't know about the other one
18:13:32 <ais523> and the slower connection would be used
18:13:33 <ehird> 21 gibibytes / (100 megabits/s) -> minutes
18:13:34 <ehird> 58720256/1953125 (exactly 30.064771072)
18:13:37 <ehird> About half an hour.
18:13:42 <AnMaster> ehird, you will find this crazy: when I need fast transfer between my laptop (has gbit ethernet) and my desktop (100 mbit only) I use ethernet over wirewire instead
18:13:49 <AnMaster> that give me about 4 times as fast as 100 mbit
18:13:49 <ehird> Wirewirewire.
18:14:00 <AnMaster> err
18:14:02 <AnMaster> firewire*
18:14:06 <AnMaster> obviously
18:14:53 <AnMaster> thing is, desktop firewire hardware is kind of buggy, it doesn't work after you unplug the cable until next reboot again. that pci card is *really* old though
18:15:00 <AnMaster> since 2003 or so I think
18:15:08 <AnMaster> maybe 2002?
18:15:16 <AnMaster> well early firewire times anyway
18:15:21 <ehird> ais523: is amarok still okay?
18:15:26 <ehird> guess you wouldn't know
18:15:40 <ehird> it was superb back in the kde 3 days, kde 4 seems to have messed up the button layout so i don't know what more they'll change
18:15:43 <ehird> (they overlap weirdly now)
18:15:51 <ais523> ehird: it was rather screwed-up when I last tried it
18:16:03 <AnMaster> <ehird> 21 gibibytes / (100 megabits/s) -> minutes <-- that ignores protocol overhead
18:16:03 <ais523> but then, I've been having trouble with Phonon for a while
18:16:07 <AnMaster> there is ip then tcp
18:16:10 <ehird> http://static.kdenews.org/jr/amarok-2-beta-3.jpg
18:16:14 <ehird> behold the fucked up buttons
18:16:15 <ais523> also, it doesn't really fit what I want from a media player, I'm using Totem at the moment to play music
18:16:16 <ehird> AnMaster: disk to disk.
18:16:22 <ais523> and it serves a different purpose from Amarok
18:16:23 <ehird> specifically, partition to partition
18:16:38 <AnMaster> ehird, ah well then you have to consider seek time
18:16:41 <ehird> ais523: yeah i usually just put my whole library on shuffle and skip liberally
18:16:43 <AnMaster> since it needs to seek back and forth
18:16:46 <AnMaster> between the partitions
18:16:46 <ehird> it's the last fuss
18:16:57 <ais523> ehird: I have a bunch of .pls files
18:17:05 <ais523> and Totem set to play them in random order repeatedly
18:17:09 <ais523> and also skip liberally
18:17:10 <ehird> AnMaster: true, but every album by itself should be continuous on disk i think
18:17:17 <ehird> so it shouldn't be too bad
18:17:28 <ehird> ais523: yes, but if i just drag all my music into amarok i don't need to set up pls files
18:17:31 <ais523> (I used to use the media buttons for that, but this computer doesn't have them, so I use super-F, super-B, super-P as forwards, back, play/pause)
18:17:37 <AnMaster> ehird, you defragged your hfsplus disk recently
18:17:43 <AnMaster> I doubt it is continuous
18:17:45 <ehird> AnMaster: hfs doesn't do defragging.
18:17:46 <ehird> neither does ext
18:17:53 <AnMaster> ehird, hfs did under classical
18:17:54 <ehird> AnMaster: but i copy the albums in blocks, obvs
18:17:59 <ais523> you can defrag offline using tar, IIRC
18:17:59 <AnMaster> ehird, well, not apple tool
18:18:15 <AnMaster> ais523, there was "norton utilities 6.0" with "speed disk"
18:18:19 <AnMaster> err
18:18:20 <AnMaster> ehird, ^
18:18:23 <ehird> ais523: music libraries let me have a very streamlined piracy process, get torrent → download → put into music library → fiddle with tags a bit → it comes up in shuffle
18:18:49 <ais523> I have a very streamlined process for legitimately adding legitimately obtained music to my playlists, to
18:18:50 <ais523> *too
18:18:57 <AnMaster> ehird, saying that to ais is like, well, I can't think of the right word
18:19:03 <ehird> yes, but obtaining legitimate music is slower
18:19:06 <ais523> totem can edit playlists GUI-wise, but I mostly just open them in Emacs and add the new file in
18:19:07 <ehird> AnMaster: wholly intentional
18:19:14 <AnMaster> ehird, I realised that.
18:19:19 <ehird> :D
18:19:24 <ais523> ehird: it's mostly from computer games I own legally
18:19:32 <ais523> either that, or music I wrote
18:19:50 <AnMaster> my music is mostly *.flac from cds I own legally
18:19:58 <AnMaster> I rip those I listen to often
18:20:02 <AnMaster> the rest I keep on cd
18:20:13 <ehird> ais523: aargh, thanks for the earworm
18:20:29 <ais523> ugh, what have I done now?
18:20:42 <ais523> Perceptively Chilly Sonata?
18:20:42 <ehird> ais523: made me think of video game music
18:20:52 <ais523> ehird: heh, I actually like video game music
18:20:53 <AnMaster> because, even in *.ogg it would fill over 70 GB, (based on taking average compression of a few of the cds and then multiplying by number of cds)
18:20:55 <ehird> haha wow, i forgot all about gregor's
18:21:01 <ais523> and have deliberately tried to get it stuck in my head at will
18:21:03 <ehird> i loved my onerous cake-eating festival one
18:21:05 <ehird> it was so chaotic
18:21:07 <AnMaster> most are 60-70 minutes long so no great variance there
18:21:09 <ais523> I used to sing it from memory in long car journies
18:21:21 <ehird> ais523: yes, but you made me get the earworm of ambient background music that lasts 20 minutes
18:21:28 <oklopol> AnMaster: 70GB is a lot?
18:21:33 <ehird> which is just irritating unless you're actually playing a game
18:21:38 <AnMaster> oklopol, for music yes on a 350 GB disk
18:21:45 <ais523> ehird: I'm trying pretty hard to not burst out laughing now
18:21:53 <oklopol> huh. then what do you use it for?
18:22:03 <oklopol> you don't play games, and you don't watch movies
18:22:14 <AnMaster> oklopol, I prefer to keep it in cd form for all but the top favourites
18:22:22 <oklopol> so it's not a lot?
18:22:25 <AnMaster> oklopol, source code checkouts
18:22:28 <oklopol> you just like cd's
18:22:32 <AnMaster> oklopol, what?
18:22:54 <oklopol> checkouts surely can't take that much?
18:23:01 <AnMaster> oklopol, compiled code
18:23:09 <AnMaster> oklopol, also photos
18:23:26 <AnMaster> oklopol, I have a good camera. Raw format. Creating HDR panoramas is fun
18:23:40 <AnMaster> that may easily end up at 1-2 GB working directory for one panorama
18:23:43 <oklopol> yeah
18:23:48 <oklopol> okay i believe you
18:23:58 <oklopol> this time.
18:24:17 <AnMaster> oklopol, the data to keep around when done is: the panorama, the raw images, and scripts with settings. Which is maybe 150-200 MB
18:24:25 <AnMaster> the scripts being tiny, a few kb or so
18:24:58 <oklopol> obviously if a human writes it, its size is not significant
18:25:13 <AnMaster> oklopol, hm? Well most of them are auto generated, describing used settings
18:25:16 <oklopol> no one could ever fill 350 GB
18:25:22 <AnMaster> like "this white point and blah blah"
18:25:34 <AnMaster> oklopol, how do you mean, panoramas do fill a lot
18:25:49 <oklopol> by typing shit, a human could never fill 350 GB
18:26:10 <AnMaster> oklopol, system stuff takes a few gb. around 10 for /usr /var / and such (in total)
18:26:16 <AnMaster> swap is at 2 gb
18:26:20 <ehird> oklopol: AnMaster manually types in his os binarise
18:26:24 <ehird> *binaries
18:26:26 <ehird> true story
18:26:35 <AnMaster> then home is the rest, and that is more than 75% filled
18:26:52 <AnMaster> oklopol, also I said that most was images
18:27:11 <oklopol> if you live for a hundred years, and during each second type like 100 characters, then you get close
18:27:13 <ehird> ais523: 14 GiB out of 21 GiB copied, it's going quickly
18:27:26 <oklopol> AnMaster: i believed you ages ago, i just said "yeah, scripts can't take much".
18:28:03 <AnMaster> oklopol, exactly. Well there is that few hundred kb description of matching control points in the images for the panorama. Ask fizzie about hugin
18:28:12 <AnMaster> I'm too lazy to describe details
18:28:13 <ehird> (100 bytes/s) * 100 years -> gigabytes
18:28:15 <ehird> 315.569259746784
18:28:17 <ehird> (GB, not GiB.)
18:28:45 <ehird> Slightly more accurate:
18:28:49 <oklopol> yeah, i did actually calculate it
18:28:53 <ehird> (500 bytes/minute) * 80 years -> gigabytes
18:28:53 <ehird> 21.0379506497856
18:28:59 <ehird> 500 bytes/min being 100 wpm
18:29:01 <oklopol> hmm
18:29:03 <ehird> ofc that assumes no sleep
18:29:15 <AnMaster> oklopol, anyway what if you record exact time stamp for each key press?
18:29:17 <ehird> food could be via a tube
18:29:24 <ehird> also, you've gotta be like 10 to type that fast at least
18:29:27 <AnMaster> oklopol, and how the hand moved
18:29:36 <ehird> so, sleep, let's say tesla pattern all your life
18:29:41 <nooga> i wonder if chinese would like that job
18:29:48 <ehird> so
18:30:09 <ehird> that's 80 minutes of sleep a day
18:30:18 <nooga> it can't be done
18:30:30 <ehird> what, the tesla pattern?
18:30:34 <ehird> http://tesser.org/sleep/teslapattern/
18:30:35 -!- kar8nga has joined.
18:30:40 <oklopol> yeah and it's such a great pattern we can assume 100 years lifespan
18:30:41 <ehird> it is done.
18:30:46 <ehird> oklopol: no :P
18:30:51 <ehird> anyway so
18:30:58 <ehird> 80 minutes a day
18:31:14 <ehird> (80 minutes/day) * 80 years -> years
18:31:15 <ehird> 4.4444444444444444444
18:31:16 <nooga> it must be extremely unhealthy
18:31:22 <ehird> nooga: it is not
18:31:24 <ehird> polyphasic sleep is fine
18:31:33 <ehird> well, tesla is experimental
18:31:39 <ehird> but uberman seems to have little to no long term effects
18:31:45 <ehird> and tesla is just more hardcore uberman
18:32:20 <ehird> (500 bytes/minute) * (80 years - 14.4444 years) -> gigabytes
18:32:22 <ehird> 17.239443470213560991
18:32:28 <oklopol> nothing you do in no way affects how long you live, or how healthy you are
18:32:30 <oklopol> everyone knows this
18:32:37 <ehird> oklopol: so if you do the tesla pattern all your life, live for 80 years, get fed via a tube,
18:32:48 <ehird> and spend all your time after age 10 either sleeping or typing at 100wpm
18:33:01 <ehird> and make no fluctuations in speed, ever
18:33:12 <ehird> you can produce about 17.23 GB of text.
18:33:20 <ehird> (again, gigabytes not gibibytes)
18:33:20 <oklopol> heh
18:33:22 <ehird> fin
18:33:37 <AnMaster> ehird, what is it in gibibytes?
18:33:43 <ehird> less.
18:33:43 <Deewiant> ehird: What if you do shift-home,end,shift-insert all the time when it gets profitable
18:33:48 <Deewiant> Er, forgot to copy
18:33:48 <AnMaster> ehird, how much less
18:33:49 <Deewiant> But anyway
18:33:51 <ehird> Deewiant: left to the reader
18:33:54 <ehird> AnMaster: work it out yourself
18:33:57 <ehird> root@meson:/media/Macintosh HD/Users/ehird/Music/iTunes# time cp -R iTunes\ Music ~
18:33:59 <ehird> real 21m5.663s
18:34:00 <ehird> user 0m0.784s
18:34:02 <ehird> sys 1m30.970s
18:34:03 <ehird> faster than 100 mbit/s, great
18:34:23 <Deewiant> Well, it'll grow exponentially so it'll be a shit-tonne more. Fin
18:34:28 <AnMaster> ehird, that time interesting
18:34:41 <AnMaster> what is there missing from real
18:34:43 <AnMaster> as in
18:34:47 <ehird> Deewiant: but that's not human creation
18:34:49 <AnMaster> what isn't covered by user and sys
18:34:53 <ehird> AnMaster: disk.
18:34:54 <AnMaster> waiting?
18:35:05 <AnMaster> ehird, but that would be sys iirc?
18:35:17 <AnMaster> hm maybe not waiting for it to finish
18:35:17 <ehird> waiting for disk, rather.
18:35:22 <AnMaster> yeah
18:36:27 <AnMaster> Deewiant, shift-home and shift-insert in emacs?
18:36:38 <ehird> No. Not in Emacs.
18:36:58 <AnMaster> ehird, it could be vim, which I don't really remember all the details in
18:37:07 <ehird> It could be a regular text field.
18:37:28 <AnMaster> ehird, oh in X?
18:37:29 <AnMaster> right
18:37:35 <ehird> Sigh.
18:37:39 <ehird> stfu.
18:38:08 <AnMaster> Deewiant, shift-home moves to the top of the history in X apps I tried ?
18:38:33 <AnMaster> well depends on program
18:39:11 <nooga> ehird: are you fluent in acme?
18:39:32 <ehird> nooga: I can use it.
18:39:55 <nooga> do you like it?
18:40:22 <ehird> Let's see if Amarok can do ALAC.
18:40:23 <ehird> nooga: Yes.
18:41:28 <nooga> it's weird but has some awesome solutions
18:42:58 <nooga> plan9 is awesome, it makes you read manpages
18:44:32 <AnMaster> nooga, iirc ehird more than once said that most programs shouldn't require documentation to understand
18:44:44 <ehird> ah yes, AnMaster, always trying to incite conflict
18:44:47 <AnMaster> as in, easy to figure out user interface
18:45:02 <AnMaster> ehird, just quoting you
18:45:11 <ehird> for no purpose other than to incite conflict.
18:45:51 <AnMaster> ehird, no because I considering you an authority on "usable user interfaces for other people than me"
18:46:28 <nooga> uhhhhh
18:46:31 <nooga> no, i mean it
18:47:15 <nooga> it's exotic
18:47:50 <ehird> nooga: just ignore AnMaster, he's just trying to get me riled up.
18:48:22 <AnMaster> I'm not. I'm just interested in *if* that will happen or not
18:48:36 <AnMaster> my goal is not to make it happen, but rather to see if it will happen
18:48:39 <nooga> ...and then you'll get infuriated and i'll be called idiot again
18:48:55 <AnMaster> nooga, hey he will get angry at me not you
18:49:14 <nooga> but i'm near this time ;(
18:49:19 <ehird> HatfulOfHollow can't work fast enough.
18:49:43 <AnMaster> ehird, a band or artist?
18:50:06 <ehird> http://www.bash.org/?4281
18:50:38 <AnMaster> ehird, ah thought it was about music, since that was recently discussed
19:01:21 <nooga> http://www.frappr.com/?a=mygroups&id=4644452 average eso hacker
19:02:09 <soupdragon> llol
19:02:10 <ehird> Just another esoteric hacker,
19:02:36 <ais523> hmm... maybe TAEB should have been called JAPH
19:02:36 <ehird> whut
19:02:39 <ehird> frappr's going down?
19:02:44 * ehird exports it
19:02:54 <ehird> we are compiling a lot of content for this request, thanks for being patient, please only click the link once.
19:02:55 <ehird> okay...
19:02:56 <AnMaster> I wonder why vlc prints "[0x23bbfa8] main input error: ES_OUT_RESET_PCR called" once every time a file is played
19:03:07 <ehird> Well, I saved the kml
19:03:09 <AnMaster> the hexdecimal number varies
19:03:11 <ehird> Don't know if it has the photos, probably not
19:03:31 <ais523> what's frappr?
19:03:37 <ehird> ais523: a map site thing
19:03:40 <ehird> ais523: the esolang map is on it
19:03:47 <ehird> (see chanserv line when you come in)
19:03:51 <ais523> ah, yes
19:03:54 <ehird> it's going down, apparently, so I backed it up
19:03:57 <ais523> I forgot all about the esolang map
19:03:58 <ehird> not with photos i think, it was a small file
19:04:09 <ehird> but probably the locations and names, maybe the text
19:04:21 <AnMaster> hm
19:04:22 <nooga> what for?
19:04:43 <AnMaster> I don't remember such a chanserv line
19:05:02 -!- anmaster_l has left (?).
19:05:02 -!- anmaster_l has joined.
19:05:03 <ehird> AnMaster: /cycle.
19:05:11 <ehird> nooga: why not
19:05:31 <AnMaster> ehird, well yes I did as anMaster_l
19:05:47 -!- augur has joined.
19:05:51 <AnMaster> anmaster_l*
19:06:02 <AnMaster> ehird, missing plugin...
19:06:17 <ehird> js afaik
19:06:24 <ehird> flash for the little scrolly thing
19:06:31 <ehird> but that's not mandatory
19:06:37 <AnMaster> ehird, I enabled js
19:06:43 <ehird> well, it's the map.
19:06:51 <ehird> maybe it needs flash to cycle through things
19:07:01 <AnMaster> there is no map on there. As in no actual map
19:07:30 <AnMaster> ehird, swfdec didn't work, nor did gnash
19:07:31 <ehird> enable flash and try
19:07:35 <ehird> adobe flash
19:07:37 <nooga> i hate facebook
19:07:40 * ehird gets popcorn
19:07:41 <AnMaster> ehird, I'm not crazy
19:07:51 <ehird> yeah evil frappr security holes
19:09:12 <nooga> ...
19:10:26 <nooga> damn
19:10:39 <ehird> what
19:10:46 <ehird> found out acme doesn't have syntax highlighting? :P
19:10:59 <nooga> my irssi is broken, page down does not work after i press page up
19:11:02 -!- nooga has left (?).
19:11:17 -!- nooga has joined.
19:11:20 <nooga> ;|
19:11:23 <AnMaster> ehird, can I get the kml, it says you can't download it twice
19:11:25 <AnMaster> -_-
19:11:28 <ehird> [19:10] <ehird> what
19:11:29 <ehird> [19:10] <ehird> found out acme doesn't have syntax highlighting? :P
19:11:31 <ehird> AnMaster: I already downloaded it.
19:11:35 <AnMaster> ehird, yes, but I can't
19:11:37 <AnMaster> since you did
19:11:39 <ehird> I AM THE SOLE PROPRIETOR
19:11:40 <AnMaster> can you send it to me
19:11:43 <AnMaster> ....
19:11:48 <ehird> NO, I WILL RULE THE MAP WITH AN IRON FIST MWAHAHAHAHA
19:11:49 <ehird> yes ok
19:11:53 <AnMaster> thanks
19:12:05 <ehird> it's in google earth format i think
19:12:12 <ehird> http://filebin.ca/nbbpfe/126358227137742.kmz
19:12:15 <AnMaster> ehird, yes I have that open from my gentoo install
19:12:16 <ehird> xml based i think too
19:12:18 <ehird> maybe gzipped xml
19:12:22 <AnMaster> since arch doesn't have a package for it
19:12:27 <ehird> check if it includes the pics
19:12:45 <nooga> screw syntax highlighting, rio's way of handling text is too weird already
19:13:25 <AnMaster> ehird, it doesn't say who for the points
19:13:30 <ehird> it's unconventional but good
19:13:41 <ehird> nooga: practice moving your hand to the mouse :p
19:13:43 <AnMaster> and no pics
19:13:44 <AnMaster> ehird, ^
19:13:51 <ehird> AnMaster: that may be a google earth problem
19:13:52 <AnMaster> just the points
19:13:55 <ehird> AnMaster: open it in an editor or sth
19:13:58 <ehird> try gunzipping it too
19:14:02 <ehird> (remember to save a copy first)
19:14:12 <AnMaster> it's zip
19:14:13 <AnMaster> not gzip
19:14:18 <ehird> that too
19:15:04 <AnMaster> the images are in the zip archive
19:15:09 <AnMaster> at least some *.jpg are
19:15:23 <AnMaster> "Error interpreting JPEG image file (Improper call to JPEG library in state 200)"
19:15:33 <AnMaster> for three of the images
19:16:05 <AnMaster> ehird, ^
19:16:22 <ehird> maybe jpeg2000 or soemthing silly
19:16:30 <ehird> data readability is unimportant as long as it's there :P
19:16:37 <ehird> plenty of time to figure out the format
19:17:05 <AnMaster> 8ff24142d0385118657d3a492b403fbc2_medium.jpg
19:17:07 <AnMaster> that one fails
19:17:12 <AnMaster> 8ff24142d0385118657d3a492b403fbc2_medium.jpg: empty
19:17:17 <AnMaster> ehird, that is what file says
19:17:24 <AnMaster> so well I don't believe there is any data there
19:17:29 <ehird> Alright
19:17:30 <ais523> probably a 0-byte file
19:17:35 <ehird> What about the others, are they proper jpegs?
19:17:35 <AnMaster> ais523, yes
19:17:42 <ehird> ais523: yeah, maybe just no picture was specified or something
19:17:43 <AnMaster> ehird, seems like it, gimp can view them
19:17:50 <ehird> of people? :P
19:17:51 <AnMaster> file says they are jpg
19:18:02 <AnMaster> ehird, how many images should there be
19:18:14 <AnMaster> there are 12
19:18:18 <ais523> meh, just use gwenview or something, why would anyone use the GIMP as an image /viewer/?
19:18:20 <AnMaster> including the 3 broken
19:18:31 <ehird> ais523: feh!
19:18:35 <ehird> Or, just, whatever KDE does.
19:18:36 <AnMaster> ais523, I used eog first, them gimp in case eog was unable to handle some strange file format
19:18:42 <ehird> Whatever KDE does doesn't seem to be an annoying principle to me right now.
19:18:44 <AnMaster> ehird, isn't feh a window manager?
19:18:47 <ehird> AnMaster: no
19:18:49 <ehird> image manager
19:18:53 <ehird> erm
19:18:55 <ehird> not manager
19:18:56 <ehird> viewer
19:19:06 <AnMaster> ehird, ah
19:19:10 <AnMaster> well
19:19:12 <AnMaster> actually
19:19:24 <AnMaster> ehird, I said *window* manager
19:19:26 <AnMaster> not image manager
19:19:29 <AnMaster> but okay
19:19:43 <ehird> [19:18] <AnMaster> ehird, isn't feh a window manager?
19:19:45 <ehird> [19:18] <ehird> AnMaster: no
19:19:46 <ehird> [19:18] <ehird> image manager
19:19:48 <ehird> [19:18] <ehird> erm
19:19:49 <ehird> [19:18] <ehird> not manager
19:19:51 <ehird> [19:18] <ehird> viewer
19:19:52 <ehird> Two-stage error correction system.
19:20:17 <AnMaster> ehird, anyway it doesn't include lables for who for most of the data point
19:20:21 <AnMaster> ah
19:20:48 <AnMaster> ehird, like for those in helsinki
19:20:54 <AnMaster> lots of yellow pins there
19:20:57 <ehird> AnMaster: grep the file for... I don't know, some names
19:20:58 <AnMaster> but no names for them
19:21:01 <ehird> see if the names are at least there
19:21:08 <AnMaster> ehird, well those elsewhere have some names
19:21:29 <AnMaster> ehird, almost all data points in the file lack names
19:21:31 <AnMaster> a few has it
19:21:44 <ehird> There are yellow square pins on frappr.com too
19:22:01 <AnMaster> not square, the round google ones
19:22:37 <AnMaster> ehird, the one for oerjan has no label
19:22:43 <AnMaster> ehird, at least I can tell that
19:23:04 <AnMaster> ehird, also some of the points look dubious
19:23:09 <AnMaster> you can compare with frapper
19:23:16 <AnMaster> to see if they have a name for oerjan's pin
19:23:18 <ehird> I could but frappr's interface sucks
19:23:25 <ehird> lessee
19:23:46 <AnMaster> ehird, would be Norway, about where it gets narrow
19:23:49 <AnMaster> Trondheim
19:23:52 <ehird> In Norway there's rune, Wh1teWolf, Joakim
19:23:56 <ehird> *Rune
19:24:00 <ehird> Huh, Rune = kipple
19:24:15 * ehird looks for trondheim
19:24:18 <AnMaster> ehird, what about oerjan. Is his pin unnamed?
19:24:22 <ehird> oerjan isn't on the map at all.
19:24:30 <AnMaster> ehird, slightly south of the joakim pin
19:24:38 <AnMaster> a bit more to the west
19:24:40 <ehird> and to the left a bit?
19:24:56 <AnMaster> ehird, at the south end of some large lakes
19:25:10 <AnMaster> or maybe the sea going deep in
19:25:11 <ehird> I can't see such a pin.
19:25:13 <AnMaster> could be fjords
19:25:19 <AnMaster> there is one here though
19:25:23 <AnMaster> from that kml file
19:25:23 <ehird> I see a red circle with a dot, but that's just marking Trondheim
19:25:26 <AnMaster> it is unnamed
19:25:35 <ehird> Just a glitch, then
19:25:43 <ehird> http://toastytech.com/guis/xnetscape.gif ← redhat 5
19:25:48 <AnMaster> how many pins are there in total?
19:26:22 <AnMaster> $ grep "<Placemark>" 126358227137742.kml | wc -l
19:26:22 <AnMaster> 531
19:26:23 <AnMaster> wth
19:26:28 <AnMaster> do we even have that many?
19:26:33 <ehird> look
19:26:37 <ehird> the pin I see for trondheim
19:26:39 <ehird> is right next to the name
19:26:40 <ehird> Trondheim
19:26:44 <ehird> so I bet it's just ... marking trondheim
19:26:55 <ehird> 531 is probably the cities it knows plus us handful
19:27:07 <AnMaster> ehird, there are *lots* of spurious pins then
19:27:07 <AnMaster> hm
19:27:16 <AnMaster> ehird, they are unnamed. Very helpful XD
19:27:17 <ehird> filter the ones that have namse
19:27:18 <ehird> *names
19:27:30 <AnMaster> ehird, also it doesn't explain why there are more than one in Helsinki
19:27:33 <AnMaster> about 7 or so
19:27:40 <AnMaster> all unnamed
19:27:48 <AnMaster> ehird, sec
19:27:53 <ehird> Helsinki is just AWESOME
19:28:03 <ehird> The more pins THE MORE AWESOME
19:28:12 <AnMaster> ehird, 37
19:28:18 <ehird> in .fi we have
19:28:19 <AnMaster> with names
19:28:20 <ehird> oklopol
19:28:26 <ehird> shadikka
19:28:33 <ehird> keymaker
19:28:38 <ehird> and tat's it
19:28:40 <ehird> *that's
19:28:43 <ehird> AnMaster: 37 sounds right
19:28:48 <AnMaster> and a host of unnamed pins :P
19:28:51 <ehird> http://www.frappr.com/esolang/members
19:28:52 <ehird> let's count!
19:28:57 <ehird> 8 on first page
19:29:08 <ehird> 8 on the second page, ok, we can assume 8 on a page
19:29:12 <AnMaster> there are two unnamed plus one "Gustaf" in Stockholm
19:29:15 <ehird> ???
19:29:16 <ehird> http://www.frappr.com/esolang/members?pg=7
19:29:20 <ehird> lots of (People) with no name
19:29:22 <ehird> just some glitch
19:29:27 <ehird> the 37 are all the real people
19:29:31 <AnMaster> right
19:29:33 <ehird> so just ignore the unnamed ones
19:30:27 <AnMaster> ehird, one real in australia?
19:30:35 <ehird> lemme check
19:30:54 <ehird> yep
19:30:57 <ehird> Mark Schad
19:31:13 <ehird> does it have Castle Hill, New South Wales, Australia
19:31:15 <ehird> as metadata
19:31:17 <ehird> also "There is no spoon."
19:31:22 <ehird> just wondering if truly everything is in there
19:31:36 <AnMaster> ehird, yes
19:31:45 <AnMaster> ehird, pictures does not show up
19:31:46 <AnMaster> however
19:32:20 <AnMaster> wait what, now they do after restarting google earth -_-
19:32:49 <ehird> *pictures do not show up
19:32:50 <ehird> :P
19:32:52 <ehird> anyway, good
19:32:54 <ehird> all saved
19:32:57 <ehird> not that anybody will want it
19:33:21 <AnMaster> ehird, no, there are 12 valid pictures on fappr
19:33:32 <AnMaster> but not all of them are valid in the kmz
19:33:44 <AnMaster> as in, there are 9 images + 3 empty
19:33:46 <ehird> well... save them to disk manually and note who's they are.
19:33:48 <AnMaster> while there are 12 valid there
19:33:50 <ehird> in a text file
19:33:53 <AnMaster> hm
19:33:54 <ehird> or if you're daring
19:33:56 <ehird> make a copy
19:33:57 <ehird> and put them in that copy
19:33:59 <AnMaster> have to figure it out
19:34:11 <AnMaster> you could unzip it yourself you know ;P
19:34:20 <ehird> so could your mom :|
19:34:30 <AnMaster> ehird, no, she doesn't know what a zip file is
19:35:06 <AnMaster> gregor is missing
19:35:08 <ehird> hey i just realised my statement works as an innuendo too
19:35:09 <AnMaster> as in image
19:35:13 <ehird> i'm so ... unintentional
19:35:34 <AnMaster> ehird, I'm unable to get the right type
19:35:41 <AnMaster> they are all *_medium in the zip
19:35:48 <AnMaster> but the images on the website are *_small
19:35:54 <ehird> Mimas: That's no moon. Wait, yes. Yes it is.
19:36:17 <ehird> AnMaster: change the url
19:36:20 <ehird> to have _medium
19:36:35 <AnMaster> hm
19:36:53 <AnMaster> looks scaled up
19:37:35 <AnMaster> ehird, also there are huger versions for some
19:37:38 <AnMaster> that weren't saved
19:37:44 <ehird> so save them
19:38:09 <AnMaster> funny the large version for Gregor is smaller than the medium
19:38:14 <AnMaster> so I was right about upscaling
19:41:11 <fizzie> AnMaster: The "backyard" of the university main building: http://zem.fi/~fis/alvar.jpg
19:41:33 <nooga> now for the partyyyyyyyyyyyy!!!
19:41:53 <nooga> s/for/to/
19:43:01 <AnMaster> argh the size *killall -9 firefox*
19:43:12 -!- oerjan has joined.
19:43:13 <fizzie> Huh? It's just some 8000 pixels wide.
19:43:13 * AnMaster opens it in gimp
19:43:21 <AnMaster> fizzie, yeah made firefox swap trash
19:43:30 <AnMaster> before half was loaded
19:43:44 <ehird> here's a nickel, buy some ram
19:43:59 <Deewiant> My firefox uses 192M RES on that
19:44:00 <oerjan> how much ram does a nickel buy these days
19:44:07 <Deewiant> More than 192M
19:44:34 <AnMaster> fizzie, gimp timed out
19:44:35 <AnMaster> huh
19:45:00 <ehird> fizzie: that's really pretty
19:45:03 <AnMaster> also I have 1.5 GB in this box
19:45:17 <oerjan> <AnMaster> oerjan, ais523: does either of you understand xkcd today
19:45:22 <ehird> finland is pretty
19:45:42 <oerjan> what fizzie said about a game i guess, i assume the point was that they cheated horribly
19:46:23 <oerjan> norway is prettier. so there!
19:46:33 <ehird> oerjan: it's not like norway is entirely composed of fjords
19:46:51 <ehird> fizzie: when was that pic taken
19:46:55 <fizzie> The university campus courtyard is perhaps also not the prettiest piece of Finland ever.
19:47:02 <oerjan> no, there are also ravishing mountains
19:47:04 <ehird> yes but it is pretty.
19:47:10 <ehird> whereas norway is just boring because i said so
19:47:16 <fizzie> ehird: Four hours ago or so.
19:47:17 <ehird> norway's too... tranquil.
19:47:26 <ehird> so it's like ... 21:46 there right?
19:47:32 <fizzie> Now, yes.
19:47:33 <ehird> so around 18:00.
19:47:52 <fizzie> Closer to 17, actually; I just looked at the hour part.
19:48:01 -!- jpc has quit (Remote closed the connection).
19:48:04 <AnMaster> fizzie, alvr?
19:48:06 <AnMaster> alvar*
19:48:10 -!- ais523 has changed nick to scarf.
19:48:29 -!- jpc has joined.
19:48:42 <fizzie> AnMaster: The place is called "Alvarin aukio" (Alvar's plaza) after Alvar Aalto.
19:48:43 <AnMaster> fizzie, also yes wonderful panorma. HDR no?
19:48:44 <ehird> hi scarf
19:48:48 <scarf> hi ehird
19:48:55 <scarf> just randomly typoed this nick in a whois, and found it wasn't taken
19:48:58 <AnMaster> ah wait no
19:48:58 <scarf> and it's a nice one
19:48:59 <AnMaster> it isn't
19:49:05 <ehird> scarf would be a good name for a bot
19:49:10 <AnMaster> those windows are too bright for it to be HDR
19:49:10 <scarf> why?
19:49:11 <ehird> i should perform a hostile takeover of that nick
19:49:14 <ehird> scarf: it feels botty
19:49:19 <ehird> bots should have names of random nice objects
19:49:22 <ehird> or concepts
19:49:28 <AnMaster> fizzie, very light sky
19:49:29 <scarf> hmm, I was talking in competitive pokemon channels
19:49:32 <AnMaster> unexpected
19:49:32 <ehird> endeavour, scarf, table
19:49:34 <oerjan> <fizzie> he/she/it* -- stop with the discrimination against genderless AI entities.
19:49:38 <scarf> and as a result to me, it feels like 1.5 times speed but you can only use one attack
19:49:39 <fizzie> AnMaster: It's actually LDR by accident: turns out the camera disables automatic exposure bracketing when shutter time is >1 second, for some reason.
19:49:45 <oerjan> YM (s)h/it
19:49:51 <ehird> scarf: wut xD
19:49:53 <AnMaster> fizzie, ouch
19:50:19 <fizzie> AnMaster: There's quite a lot of streetlight-etc.-caused "light pollution" in the sky around here whenever it's snowy or otherwise non-clear weather.
19:50:27 <AnMaster> ehird, saved large images and those missing medium ones
19:50:33 <AnMaster> plus mapping
19:50:41 <scarf> ehird, pretty useful for revenge-killing things before they sweep your team, also on leads
19:50:42 <AnMaster> (as the html table)
19:50:49 <fizzie> There's a few other issues too: the horizon is a bit snakey because leveling it would mean too much cropping or black regions (the tripod wasn't quite level, but there was something like 40 cm of snow and I had to hurry so I didn't bother setting it up well), and there's visible seams in the middle (where the first/last image merge, manual keypoints could fix that).
19:51:35 <oerjan> ehird: oh, i forgot to mention the ravishing archipelagos
19:52:03 <ehird> oerjan: book me a plane ticket to norway and i'll agree
19:52:06 <oerjan> which include some of the mountains
19:52:10 <scarf> anyway, it seems the reason for all the Freenode lag is that someone's invented a website that causes visitors to it to repeatedly join Freenode and post spam
19:52:18 <scarf> POST spam, in fact, it's an IRC/HTTP POST polyglot
19:52:41 <ehird> isn't it fun how so much evil is esoteric
19:52:56 <scarf> because the obvious ways are the easiest to defend against
19:53:18 <AnMaster> fizzie, hm
19:53:36 <AnMaster> fizzie, hugin can level it for you
19:53:52 <AnMaster> and yes manual keypoints are good
19:54:01 <Ilari> scarf: The exploit itself is POST, but presumably that site uses javashit?
19:54:05 <scarf> ooh, the MSNbot story has gone from languishing low on Reddit to getting massively voted up
19:54:07 <scarf> Ilari: yes
19:54:15 <scarf> because it keeps sending in a loop
19:54:21 <AnMaster> fizzie, btw how many degrees is it?
19:54:27 <fizzie> 360.
19:54:31 <scarf> otherwise I think you'd have to require the visiting user to keep clicking on a button, getting a blank page, going back and trying again
19:54:36 <scarf> which wouldn't be nearly as effective
19:54:36 <AnMaster> then what do you mean in the middle
19:54:41 <AnMaster> wouldn't it be at the edges?
19:54:55 <AnMaster> ah wait I can spot it
19:55:03 <fizzie> In the middle of the image file there are visible seams. There might be at the edges, too, I haven't looked at it that way.
19:55:07 <AnMaster> in the middle of that amphitheatre-like thingy
19:55:07 <ehird>
19:55:11 <fizzie> Yes.
19:55:16 <ehird> fizzie: wait it's circle not... straight?
19:55:17 <ehird> aww
19:55:26 <ehird> next you'll tell me the freaky building geometry isn't real either
19:55:53 <oerjan> <AnMaster> ehird, the one for oerjan has no label <-- i'm not on frappr, i have a pretty high threshold for doing things that require registering
19:56:06 <ehird> it's not registering it's entering a name :P
19:56:09 <AnMaster> ehird, it isn't. it is due to a rectilinear projection I think
19:56:13 <AnMaster> fizzie, isn't that what you used?
19:56:15 <ehird> AnMaster: fuck.
19:56:20 <oerjan> i think it wanted my email at least
19:56:22 <ehird> i thought the architecture was sweet :(
19:56:26 <ehird> oerjan: huh okay
19:56:29 <AnMaster> ehird, I think you were joking though ;P
19:56:34 <AnMaster> but I'm not 100% sure
19:56:42 <ehird> AnMaster: maybe the unnamed points are all the people who visited and it autodetected a location for
19:56:45 <ehird> but didn't choose to add themselves
19:56:47 <fizzie> AnMaster: Equirectangular. You can't make a rectilinear image with a horizontal FOV larger than 180 degrees.
19:56:50 <ehird> so oerjan went to the page
19:56:51 <ehird> got marked in trondheim
19:56:53 <AnMaster> ehird, maybe
19:56:53 <ehird> and went away
19:57:02 <AnMaster> ehird, would be kind of strange
19:57:27 <ehird> zoom in further and tell us what the name of the area is
19:57:31 <ehird> and ask oerjan if he's there :P
19:57:33 <fizzie> AnMaster: The middle (of the image file) is where the first and last (chronologically) images merge; it's possible the tripod moved during the rotating of it. It was on snow, after all.
19:57:47 <ehird> fizzie: so is the freaky architecture real
19:57:49 <ehird> the curvy building
19:58:10 <ehird> on a slant
19:58:14 <fizzie> ehird: If you're talking about the one with the bright windows, no: that front wall is straight.
19:58:28 <ehird> wait that's even straight, not just a curvy building not on a slant?
19:58:28 <AnMaster> fizzie, do you own a panoramahead?
19:58:29 <ehird> fml
19:58:34 <AnMaster> insert the space
19:58:43 <ehird> fizzie: show that panorama to the head of university architecture
19:58:48 <ehird> and tell him to redesign it to look like that
19:59:07 <AnMaster> ehird, then the panorama wouldn't look like that
19:59:15 <fizzie> AnMaster: Nope, just a regular tripod. Fortunately most content in that image is sufficiently far away not to suffer badly from parallax problems.
19:59:16 <oerjan> i would be slightly worried if frappr could detect my location more precisely than "trondheim"...
19:59:29 <AnMaster> fizzie, yeah
19:59:49 <AnMaster> oerjan, even that is spooky
20:00:06 <ehird> AnMaster: well let's find out!
20:00:09 <ehird> also, don't care
20:00:12 <ehird> i want to see it like that in person
20:00:21 <ehird> the curviness on a slant just looks so beautiful
20:00:26 <AnMaster> fizzie, also there is noise if you zoom in, multiple exposures would have reduced noise in many areas as well
20:00:39 <AnMaster> the effects of that is wonderful
20:00:43 <fizzie> Sure, but I had a bus to catch.
20:00:56 <AnMaster> fizzie, oh also if you are lazy you could send me the photos and *.pto and I could fix it up
20:01:05 <AnMaster> I quite like messing around in hugin, it's fun
20:01:42 <fizzie> In any case: if I level the horizon, I have to crop unacceptably much out of the image; the problem is that the camera pitch angle has not been constant during the 360-degree circle. (Most likely because the tripod itself was tilted.)
20:02:20 <AnMaster> fizzie, well yes, but you can still fix the issue with that seam
20:02:24 <AnMaster> and a few other smaller seams
20:02:38 <AnMaster> fizzie, I always aim at getting less than 2 pixels max distance from the optimiser
20:02:43 <AnMaster> less if just doing an image stack
20:03:16 <AnMaster> fizzie, there are at least two seams near the middle
20:03:16 <scarf> wow, Reddit thinks the MSNbot spam is because it's looking for "Robots.txt" with a capital R
20:03:22 <scarf> and doesn't honour "robots.txt"
20:03:37 <AnMaster> scarf, that's craz
20:03:39 <AnMaster> crazy*
20:03:50 <scarf> of course, the two are the same on Windows
20:03:52 <AnMaster> and I find it doubtful
20:04:05 <scarf> other redditors seem to disagree, though
20:04:27 <AnMaster> scarf, btw it still shouldn't use as many bots at once
20:04:39 <scarf> yes, and it doesn't seem to honour crawl-delays
20:05:08 <AnMaster> fizzie, found five visible semas
20:05:11 <AnMaster> seems*
20:05:17 <AnMaster> one in the curved house
20:05:17 <ehird> *seams
20:05:26 <fizzie> Yes, I noticed that one too.
20:05:44 <AnMaster> three in the middle building
20:06:03 <fizzie> Though I'm not sure you can call it "the curved house", seeing that it isn't very curved.
20:06:06 <AnMaster> and one in the raied brick wall
20:06:14 <AnMaster> fizzie, curved in panorama
20:06:49 <AnMaster> fizzie, what are those things that look kind of like mountings for swings at the left side of the image
20:06:54 <fizzie> AnMaster: See http://zem.fi/~fis/alvar2.jpg for a partially fixed version.
20:06:56 <AnMaster> on that raised bit of land
20:07:10 <Ilari> Hmm... I wonder if the spam attack last night (the GNAA run) was related to that website?
20:07:33 <ehird> The GNAA targeted *all of Freenode*?
20:07:48 <fizzie> AnMaster: I think they are skylight-style windows, though I don't really know what is under that part of the building.
20:07:49 <AnMaster> fizzie, that made the seam in the raised land worse
20:07:51 <ehird> That's so ambitious it's awesome.
20:08:12 <Ilari> Uh no... It was too targetted in time and space to be via website.
20:08:33 <AnMaster> Ilari, gnaa did the recent POST bots?
20:08:41 <ehird> [20:07] <Ilari> Uh no... It was too targetted in time and space to be via website.
20:08:42 <ehird> [20:08] <AnMaster> Ilari, gnaa did the recent POST bots?
20:08:50 <ehird> Ilari has figured out the secret to time travel.
20:08:55 <ehird> Take that, oklopol!
20:08:59 <Gregor> <AnMaster> funny the large version for Gregor is smaller than the medium
20:09:00 <Gregor> ?
20:09:04 <ehird> XD
20:09:08 <ehird> That's hilarious out of context.
20:09:14 <Gregor> Yup
20:09:17 <AnMaster> Gregor, frapper image
20:09:26 * ehird removes all Rs from the world
20:09:26 <AnMaster> frappr*
20:09:34 <ehird> Could the hilarity even increase further
20:09:36 <AnMaster> ehird, har!
20:09:38 <fizzie> AnMaster: Hrm. Do you mean "seam in the raised land" that thing below the middlemost "swing mount" window?
20:09:39 <ehird> AnMaster: you ruined it :(
20:09:39 <Ilari> AnMaster: I figured bit later that it isn't likely that the GNAA run was doing of the IRC HTTP POST spamming website.
20:09:46 <AnMaster> Ilari, I'm just surprised since the messages it spammed didn't seem like their style
20:10:02 <AnMaster> fizzie, yes
20:10:07 <AnMaster> that wasn't as marked before
20:10:31 <fizzie> AnMaster: It is, in fact, a real piece of geography: it looks just like that in the source images too.
20:10:49 <Ilari> AnMaster: The multiple clients in that GNAA run started and stopped in such that it impiles having some kind of central control.
20:10:57 <AnMaster> fizzie, middle house, some seams in the snow. Or just very strange snow
20:11:19 <AnMaster> fizzie, on those steps a bit up
20:11:21 <AnMaster> near where they end
20:11:28 <AnMaster> (vertically that is)
20:11:32 <AnMaster> horizontally near the middle
20:11:50 <AnMaster> some sharp vertical changes in the snow
20:12:37 <AnMaster> fizzie, also what about the ends. I don't have a panorama viewer handy
20:12:55 <fizzie> AnMaster: I don't have one either, I haven't checked at all how well they merge.
20:13:14 <Ilari> Also, Someone (With Wikipedia affiliate cloak) impiled that there was more involved than simple DDOS... I know no further details of that...
20:13:57 <Ilari> But the simplest explanation would be small botnet...
20:13:57 <fizzie> ehird: Speaking of the Wave university, you can see the "A!" logo (blurrily) in the flag far right in the image.
20:14:09 <AnMaster> Ilari, there were some bots today in #freenode, well a lot. Was due to really cleaver HTTP post to irc.freenode.net:6667
20:14:24 <ehird> fizzie: indeed
20:14:26 <AnMaster> heard from a staffer
20:15:26 <AnMaster> fizzie, ah I think I know where to find a panorama viewer
20:16:08 <fizzie> AnMaster: If you have it open in Gimp, you could just copy-paste-layer-move things around a bit.
20:16:11 <Ilari> AnMaster: Of course, that website can provode some coordination. But coordination at small timescales is bit another matter (there are ways, but its more complicated).
20:16:53 <AnMaster> yay it is in aur
20:17:30 <AnMaster> oh doesn't build it sounds like
20:17:31 <AnMaster> meh
20:17:34 <fizzie> AnMaster: Or even Filters/Map/Image tile if you don't mind a duplication of the image size. (Though maybe 16 kilopixels is a bit wide.)
20:18:01 <AnMaster> fizzie, I wanted projection correction
20:20:08 <AnMaster> fizzie, so what projection did you use?
20:20:27 <fizzie> The vertical FOV is a bit poor; the camera does a (35mm-film-equivalent) 36 mm focal length objective in the maximum tele-position; that translates to horizontal FOV of 51.35 degrees, or vertical in this case because the camera was tilted 90 degrees.
20:20:38 <AnMaster> ...?
20:20:48 <fizzie> It's the equirectangular projection.
20:21:26 <fizzie> I'm not sure what the panorama viewers do.
20:21:48 <ehird> iirc the gnaa just spawn a bunch of clients
20:21:51 <ehird> centrally
20:21:54 <ehird> rather than any sort of outsourcing
20:27:07 <fizzie> ehird: Just to make you feel the disillusionment, here's a wide-angle (121 degrees) rectilinear (read: normal camera) projection of the "curved building": http://zem.fi/~fis/alvarr.jpg
20:27:26 <AnMaster> fizzie, it fits together but it doesn't use the right projection hrrm
20:27:39 <ehird> fizzie: jesus christ, it's just a fucking box
20:27:58 <ehird> wouldn't you rather they redesigned it to the curvy-on-a-slope specification
20:28:17 <ehird> i love how the ampitheater thing is then followed by the curve reversing in the wrong one
20:28:23 <ehird> it's great :<
20:29:22 <fizzie> AnMaster: Well, I can make you a cylindrical or spherical one, if the viewer likes those more.
20:29:35 <AnMaster> fizzie, I'm not sure...
20:30:50 <AnMaster> fizzie, try cylindrical
20:31:10 <ehird> tesseractical
20:31:59 <fizzie> AnMaster: Stitching.
20:34:09 <fizzie> http://zem.fi/~fis/alvarc.jpg -- cylindrical projection, horizontal FOV 360 degrees, vertical 80 degrees in the original 8000x2137 pixel canvas; then cropped with top=215, bottom=1379. (And left=0, right=8000 of course.)
20:34:11 <AnMaster> building another panorama viewer to test it
20:34:31 <fizzie> Though the curvy horizon might also make it look pretty strange.
20:34:53 <AnMaster> fizzie, yes possibly. it is slow to download
20:34:58 <AnMaster> 24,9K/s
20:35:03 <AnMaster> fizzie, it must be on your side
20:35:05 <AnMaster> what changed
20:35:26 <fizzie> Possibly other interested people.
20:35:28 <fizzie> Who knows.
20:35:35 <fizzie> It's only one Mbps upwards, anyway.
20:35:52 <ehird> http://zem.fi/~fis/alvarc.jpg is even curvier omg
20:35:57 <ehird> i think
20:36:04 <ehird> not as slanty though, so not as good
20:36:06 <ehird> now do spherical
20:38:17 <AnMaster> a lot of the ground went missing fizzie
20:38:43 <AnMaster> wait no
20:38:47 <AnMaster> I blame that viewer
20:39:39 <AnMaster> okay remember to not resize the window before it finished loading the image
20:39:43 <AnMaster> or it will fuck it up
20:40:22 <ehird> xD
20:40:45 <fizzie> That sounds very robust.
20:40:49 <AnMaster> fizzie, still that bilding is only curved horizontally now
20:42:07 <ehird> Bilduing.
20:42:15 <AnMaster> building yeah
20:42:24 <AnMaster> fizzie, I wouldn't mind some black areas if it was reasonably straight
20:42:47 <fizzie> AnMaster: Coincidentally I am currently stitching an image like that.
20:43:38 <AnMaster> fizzie, ah
20:43:40 <oerjan> frankenimage
20:43:42 <AnMaster> fizzie, what projection?
20:43:53 <fizzie> Cylindrical, again. It's the more usual one.
20:46:28 <fizzie> AnMaster: http://zem.fi/~fis/alvarhc.jpg - cylindrical, hfov 360, vfov 90 with a canvas of 8000x2546 pixels; cropped with top=148, bottom=1740. (I can't deduce right now whether those cropping details are relevant for a cylindrical projection; they might be, given that the image file doesn't have the horizon in the middle.)
20:46:29 <ehird> NO
20:46:31 <ehird> I WANT CIRCULAR
20:46:38 <ehird> you did cylindrical last time
20:46:42 <ehird> spherical
20:46:43 <ehird> whatever
20:47:16 <fizzie> ehird: I can do you a fisheye view with a 360 degree hfov; that's something you don't see every day. (I doubt there are very many fisheye lenses exceeding 180 degrees.)
20:47:29 <AnMaster> fizzie, I would love to see it
20:47:34 <AnMaster> also I heard of a few at 240
20:47:37 <AnMaster> but that is about max
20:47:45 <ehird> fizzie: do it
20:47:54 <ehird> you know what would be sweet
20:47:56 <ehird> panorama glasses
20:47:58 <ehird> they're computerised
20:48:01 <AnMaster> fizzie, also one at almost 360, using a mirror ball mounted in front of it
20:48:04 <ehird> and if you looked at that university building through one
20:48:06 <AnMaster> as a commercial product
20:48:07 <ehird> it'd look curved like it is
20:48:11 <ehird> it would be so fucking sweet
20:50:02 <fizzie> Yes, there was also that christmas-ornament mirror-ball panorama tutorial. :p
20:51:28 <fizzie> The 360-degree fisheye is a bit of a... corner case, though: http://zem.fi/~fis/alvarf.jpg
20:51:37 <ehird> i am tripping balls
20:51:43 <ehird> purely thanks to that image
20:51:58 <AnMaster> fizzie, can we get the original one again with straight horizon
20:52:01 <ehird> it's like staring into a crystal ball
20:52:04 <AnMaster> projection that is
20:52:08 <ehird> into a universe with black oles
20:52:11 <ehird> shiit
20:52:37 <ehird> fizzie: so is that what the world would look like if i could see behind me
20:52:38 <ehird> :|
20:52:50 <fizzie> AnMaster: That one was actually already there as alvarh.jpg, I just forgot to mention it.
20:53:39 <fizzie> For an image like this with just about 60 degrees of real vertical field-of-view, the cylindrical and equirectangular don't look so different.
20:53:47 <ehird> [20:52] <ehird> fizzie: so is that what the world would look like if i could see behind me
20:53:49 <ehird> [20:52] <ehird> :|
20:53:50 <ehird> i must know
20:54:11 <fizzie> I guess it depends on what sort of a lens you'd have in your behind-seeing eye.
20:54:26 <fizzie> I'm sure you could see things cylindrically too.
20:55:01 <AnMaster> fizzie, you didn't manage to straighten it very well :/
20:55:02 <ehird> it would be so fucking cool if i had 360 degree 3d vision
20:55:09 <ehird> so i could see behind of things etc
20:55:14 <ehird> even if they're behind me
20:55:20 <ehird> i'd be able to see... like... everything
20:55:30 <ehird> i dislike 2d vision
20:55:33 <ehird> depth perception is a hack!
20:56:09 <AnMaster> ehird, it wouldn't look like that. It is a 3D image mapped into a 2D plane
20:56:11 <fizzie> AnMaster: Yes, well, I didn't want to spend time with it; I just stuck a couple of horizontal-line control points to the "curvy building" so that at least that would be straight.
20:56:21 <ehird> AnMaster: meh, anyway
20:56:23 <ehird> point is
20:56:27 <ehird> 360 degree 3d vision =
20:56:31 <ehird> you can see behind things, and also behind you
20:56:35 <AnMaster> fizzie, how large are the source images + hugin project
20:56:39 <AnMaster> fizzie, I would like to fix it :)
20:56:57 <AnMaster> assuming the download isn't insanely huge
20:57:35 <AnMaster> fizzie, the curvy building isn't very straight here at the bottom
20:58:29 <AnMaster> which indicates the viewer is confused maybe
20:59:32 <fizzie> It could be just that; it might not understand the unsymmetrically cropped cylindrical projection.
20:59:43 <AnMaster> fizzie, well I tried the h one too
20:59:51 <AnMaster> hm
21:00:02 <fizzie> That's equally unsymmetrically cropped and a more curious projection, so...
21:00:16 <fizzie> It's not a very large; 19 source images of about 3.5 megabytes, and the project.
21:00:24 <AnMaster> fizzie, well it is supposed to support rectirectangular
21:00:54 <AnMaster> fizzie, tar.bz2 it up and send it over?
21:00:58 <fizzie> Hmm. Well. Maybe you could try feeding it an uncropped image.
21:00:58 <AnMaster> please
21:01:10 <fizzie> Well, if you want.
21:01:11 <AnMaster> fizzie, maybe I could find something that works yes
21:01:24 <AnMaster> fizzie, oh btw are those jpeg input then? not raw->tiff?
21:01:32 <AnMaster> fizzie, yes thanks
21:02:35 <fizzie> JPEG, yes. I don't bother with raw; the camera sensor is so noisy already at ISO100, anyway. I guess you might get a bit more range out of it, but not very much. I was counting on multiple exposures more, but...
21:03:26 <AnMaster> fizzie, ah well the noise, there is where multiple exposures help. 4 * exposure settings * direction I found works nicely
21:03:32 <AnMaster> I wish I had a faster cf card however
21:04:16 <AnMaster> fizzie, btw my camera requires me to hold down the button during all multiple exposures
21:04:21 <AnMaster> which is retarted
21:04:29 <AnMaster> so I don't use bracketing, I do it manually
21:04:41 <AnMaster> to get non-blurry images
21:05:27 <AnMaster> hm I wonder if you could reconstruct motion blurred images due to camera moving if you knew exactly how it had moved?
21:05:29 <AnMaster> probably not
21:05:42 <AnMaster> you don't know what reading is from where :/
21:06:00 <fizzie> You can sharpen them more intelligently if you know the degradation model, though.
21:06:11 <AnMaster> fizzie, so where is the url? ;)
21:06:14 <AnMaster> for the project
21:06:20 <AnMaster> really? that's interesting
21:07:27 <fizzie> http://en.wikipedia.org/wiki/Deconvolution if you can represent the blurring as a convolution, which you often can.
21:07:47 <fizzie> Actually http://en.wikipedia.org/wiki/Motion_blur has an example of Wiener deconvolution.
21:07:52 <AnMaster> fizzie, so where is the url? :))))
21:08:12 <fizzie> Just a moment. I managed to overwrite (one of) the .pto file(s). :p
21:08:27 <AnMaster> fizzie, wow
21:08:41 <AnMaster> fizzie, hg to get the old one back?
21:08:50 <AnMaster> I always maintain the non-images in bzr
21:09:11 <fizzie> Well, I don't.
21:09:25 <AnMaster> kay
21:09:45 <AnMaster> fizzie, the hc or h *.pto is enough for me
21:10:04 <fizzie> Yes, I'll just package up the hc .pto.
21:11:21 <AnMaster> fizzie, and the images :)
21:13:41 <fizzie> 68081068 bytes, that's not too much.
21:13:49 <fizzie> Even with the abysmally slow upload I have.
21:14:00 <AnMaster> fizzie, ouch? why so slow?
21:14:12 <AnMaster> for me stitching tends to take the main time
21:14:17 <AnMaster> in the order of minutes
21:14:25 <AnMaster> (7-10 or so)
21:14:31 <AnMaster> but then I use larger source images
21:15:00 <fizzie> Yes; the stitching speed also tends to depend quite a lot on the selected output size.
21:15:21 <AnMaster> fizzie, btw what sort of mounting for the tripod? ball?
21:16:21 <fizzie> There's some specs at http://www.amazon.com/Velbon-DF-40-Lightweight-Panhead-Release/dp/B000167TXY -- "cheap" was the primary selection criterion.
21:16:42 <AnMaster> fizzie, doesn't look like a ball mounting
21:16:48 <AnMaster> that's good for panoramas at least
21:17:33 <AnMaster> fizzie, my tripod has a ball head, it is abysmal for panoramas. You can't properly level it between images
21:17:45 <AnMaster> so you have to make sure to more than cover it all up so you can extract the useful bit
21:18:03 <Gregor> How 'bout 天安门坦克
21:18:16 <AnMaster> for panoramas only advantage over hand held is that it is steadier
21:18:37 <AnMaster> Gregor, ?
21:18:43 <Gregor> Wrong channel :P
21:18:48 <AnMaster> fizzie, still uploading?
21:18:55 <AnMaster> Gregor, what channel was it target at?
21:19:54 <fizzie> AnMaster: Oh, it was already there when I said the file size; the URL should have been a privmsg right before that.
21:20:04 <AnMaster> ah found it
21:20:17 -!- augur has quit (Read error: 110 (Connection timed out)).
21:20:27 <ehird> Gregor: talking 'bout google decensoring? :P
21:20:32 <AnMaster> fizzie, you said 3.5 MB? it's 65 MB
21:20:44 <AnMaster> fizzie, what happened there :D
21:20:50 <Gregor> ehird: Yup
21:20:51 <ehird> Gregor: The incident is referred to in china as 六四事件
21:20:54 <ehird> Gregor: "June Forth Incident"
21:20:57 <ehird> That'd be the best search to try
21:21:05 <fizzie> AnMaster: 19 images of 3.5 MB each.
21:21:09 <AnMaster> fizzie, aaah
21:21:11 <Gregor> Google sez that means "64 events"
21:21:12 <AnMaster> fizzie, right
21:21:12 <ehird> Gregor: According to local laws, regulations and policies, some search results are not shown.
21:21:15 <ehird> Gregor: on http://www.google.cn/search?hl=zh-CN&source=hp&q=%E5%85%AD%E5%9B%9B%E4A%8B%E4B6&btnG=Google+%E6%90%9C%E74%A2&aq=f&oq=
21:21:26 <ehird> (at the bottom)
21:21:31 <ehird> So no, Google is still censored
21:21:32 <Gregor> Lamesauce
21:21:36 <AnMaster> fizzie, still why do I only get like 76 K/s according to wget. I usually get around 700 K/s from most places
21:21:40 <ehird> What they're considering is, I believe, withdrawing from China entirely.
21:21:47 <Gregor> Yeah
21:21:49 <ehird> *withdrawing from
21:22:52 <fizzie> AnMaster: It's still only that 1 Mbps ADSL upwards. That's only 122 Kbps even theoretically speaking.
21:23:07 <AnMaster> fizzie, oh it is from your home? not from university website?
21:23:18 <AnMaster> I thought you put all your stuff like fungot there
21:23:19 <fungot> AnMaster: well i like those boring lists of procedures that a) we catch things the other wouldn't, and in what context is it useful?
21:23:22 <AnMaster> ^source
21:23:23 <fungot> http://git.zem.fi/fungot/blob/HEAD:/fungot.b98
21:23:26 <ehird> I don't think hosting zem.fi on a university connection would be good.
21:23:31 <ehird> He says it's a laptop, remember?
21:23:35 <ehird> With I think User Mode Linux subservers.
21:23:37 <AnMaster> oh right
21:23:50 <fizzie> ehird: It's linux-vserver right now, I think. It changes from time to time.
21:24:02 <ehird> fizzie: "It just changes by itself. Sometimes I don't even notice!"
21:24:33 <ehird> ║ * The name of Heikki Kallasjoki may not be used to endorse or ║
21:24:34 <ehird> ║ promote products derived from this software without specific prior ║
21:24:36 <AnMaster> didn't we establish some time ago fungot had reached singularity?
21:24:36 <ehird> ║ written permission. [How would that even work?] ║
21:24:37 <fungot> AnMaster: could be arranged! i'll have to start using the console, which is supposedly a dialect of lisp
21:24:37 <ehird> bah
21:24:38 <AnMaster> well that explains it
21:24:39 <ehird> real men use BSD2
21:24:40 <ehird> which doesn't have that clause
21:24:50 <ehird> AnMaster: yes but it's not Friendly or Unfriendly
21:24:52 <ehird> it's just Ambivalent
21:24:58 <ehird> which is why it's not doing anything for us but the universe is still here
21:25:02 <AnMaster> ehird, isn't that fizzie?
21:25:13 <ehird> Cory Doctorow was quoted as saying "worst. singularity. EVER!"
21:25:20 <AnMaster> ehird, right
21:25:27 <AnMaster> XD
21:25:31 <fizzie> But yes, anything zem.fi is home. All network services of the university department I work are down this whole weekend (today 4PM to Monday-morning), anyway; they're preparing for some Wavey stuff.
21:25:32 <ehird> All facts, facts that are true. True facts.
21:25:46 <AnMaster> fizzie, heh
21:26:55 <AnMaster> <fungot> AnMaster: could be arranged! i'll have to start using the console, which is supposedly a dialect of lisp <-- that was coherent if non-sensical (sp?)
21:26:57 <fungot> AnMaster: that terminology is best to proceed right to scheme? you are clearly working outside of class
21:27:00 <AnMaster> ^style
21:27:01 <fungot> Available: agora alice c64 ct darwin discworld europarl ff7 fisher ic irc* jargon lovecraft nethack pa speeches ss wp youtube
21:27:05 <AnMaster> as I guessed
21:32:03 <AnMaster> fizzie, still downloading ....
21:32:10 <AnMaster> eta 13 seconds now
21:32:28 <AnMaster> fizzie, care to give me a checksum (md5, sha or whatever)
21:32:36 <AnMaster> just to make sure it isn't damaged
21:34:39 <fizzie> sha1sum says 5a2a3493518de7d3500c713fd594d4b522442a73.
21:35:06 <AnMaster> right, same
21:39:03 <AnMaster> fizzie, may I ask, why that set of custom parameters to optimise for?
21:43:16 <fizzie> I don't remember what the set was. If it has the pitch for two images unoptimized, that was because I set those manually to get the row of images forced straight, so that I could crop it better. (Even though it made the horizon snakey.)
21:43:53 -!- augur has joined.
21:43:58 <fizzie> And it might have separate x/y shifts for all images, because that sometimes helps when the camera position has changed between shots.
21:44:42 <AnMaster> fizzie, you didn't optimise pitch on two of the images
21:44:47 <AnMaster> indeed
21:44:48 <AnMaster> hm
21:45:11 <AnMaster> fizzie, oh I didn't know about x/y shifts
21:45:34 <AnMaster> anyway found a few bad control points, bringing max distance down from 7 to 5
21:46:48 <AnMaster> fizzie, different zoom in different images?
21:46:51 <fizzie> The points are all automagics, and I don't think I even did the usual "remove the largest-distance ones" operation.
21:46:57 <scarf> AnMaster: "nonsensical" isn't hyphenated
21:47:19 <AnMaster> scarf, ah ok
21:47:21 <fizzie> Shouldn't be any different zoom. I may have optimized the "view" parameter separately though.
21:47:33 <AnMaster> fizzie, you did indeed
21:47:38 <AnMaster> and they differ quite a bit
21:47:47 <fizzie> That wasn't probably very intentional.
21:48:43 <fizzie> Anyway, it's a bit trickery that for x/y shift optimization you have to create a separate "lens" for each image, and then you can't (or maybe you can, I just don't know how) have the other lens-specific parameters (such as view) linked. Well, except by not selecting those for optimization ever.
21:49:31 <AnMaster> you can't indeed hm
21:57:28 <ehird> http://02d9656.netsoljsp.com/SarcMark/modules/user/commonfiles/loadhome.do
21:57:29 <ehird> o_x
22:01:26 <AnMaster> ehird, squatter?
22:01:38 <ehird> what makes you think that
22:01:49 <AnMaster> looking at design instead of reading it
22:06:10 -!- BeholdMyGlory has quit (Remote closed the connection).
22:06:33 -!- BeholdMyGlory has joined.
22:06:59 -!- jpc has quit (Connection timed out).
22:07:08 -!- BeholdMyGlory has quit (Remote closed the connection).
22:07:58 -!- BeholdMyGlory has joined.
22:13:55 <AnMaster> fizzie, some cleanup done. Adding lots more control points. I usually auto generate about 100 per overlap
22:14:49 <AnMaster> fizzie, optimising barrel distortion would be nice but seems impossible with the "different lens" stuff
22:15:22 <oerjan> barrels are best distorted with an axe
22:17:39 <AnMaster> oerjan, augh
22:18:08 <AnMaster> oerjan, it refers to an optical thingy though
22:18:30 <oerjan> yeah i googled
22:18:51 <AnMaster> heh
22:26:13 <AnMaster> fizzie, whooo max dist below 2 now
22:33:20 <AnMaster> fizzie, tried nona-gpu btw?
22:33:31 <AnMaster> I haven't yet
22:33:38 <fizzie> Nope.
22:33:41 <AnMaster> not sure if my hardware supports it. geforce 7600
22:33:46 <AnMaster> might be too old
22:34:06 <fizzie> OpenGL renderer string: GeForce 7600 GT/PCI/SSE2
22:34:07 <fizzie> So same here.
22:34:14 <AnMaster> fizzie, ah no
22:34:23 <AnMaster> it is geforce 7600 GS/AGP
22:34:26 <fizzie> Well, same generation anyway.
22:34:44 <AnMaster> OpenGL renderer string: GeForce 7600 GS/AGP/SSE2
22:34:45 <AnMaster> to be exact
22:34:59 <AnMaster> fizzie, true. Is that PCI or PCI express?
22:35:05 <fizzie> PCIE.
22:35:07 <pikhq> ehird: How goes the Scheme?
22:35:09 <AnMaster> ah
22:35:19 <AnMaster> fizzie, strange they didn't call it PCIX
22:35:23 <AnMaster> also stitching now
22:35:29 <AnMaster> lets see what it looks like
22:35:30 <pikhq> AnMaster: PCIX was already taken.
22:35:37 <fizzie> Yes, I was about to say that.
22:35:40 <AnMaster> I suspect disaster due to different lenses
22:35:44 <AnMaster> pikhq, oh right
22:35:46 <fizzie> Though it was "PCI-X".
22:36:41 <fizzie> I have this other panorama, taken today-evening inside the computer science building, but it's slow to play with; there's 99 source pictures, and 13321 (autogenerated) control points so even the optimizing steps take a while.
22:36:43 <AnMaster> huh it looks better
22:37:07 <AnMaster> may be due to tiff not jpeg
22:37:07 <AnMaster> in part
22:38:36 <AnMaster> fizzie, btw the house in the middle. what is it
22:38:36 <AnMaster> and is it curved?
22:40:30 <ehird> pikhq: Nothing been done. Probably will work on it very son, though.
22:40:30 <AnMaster> and if it is curved, is the top of it really that
22:40:30 <AnMaster> as in the diagonal lines down
22:40:30 <AnMaster> along the walls
22:40:31 <ehird> Is there an easy way to find what font an alias maps to on my system?
22:40:31 -!- soupdragon has quit ("Leaving").
22:41:24 <fizzie> The only curved part that I can think of are the auditorium seats/windows.
22:41:42 -!- scarf_ has joined.
22:41:54 -!- scarf has quit (Nick collision from services.).
22:42:03 -!- soupdragon has joined.
22:42:07 -!- scarf_ has changed nick to scarf.
22:42:15 -!- augur has quit (farmer.freenode.net irc.freenode.net).
22:42:15 -!- anmaster_l has quit (farmer.freenode.net irc.freenode.net).
22:42:15 -!- SimonRC has quit (farmer.freenode.net irc.freenode.net).
22:42:15 -!- zeotrope has quit (farmer.freenode.net irc.freenode.net).
22:42:16 -!- puzzlet has quit (farmer.freenode.net irc.freenode.net).
22:42:16 -!- uorygl has quit (farmer.freenode.net irc.freenode.net).
22:42:17 <fizzie> The diagonal slopes are straight, three-dimensionally speaking; I don't think they necessarily map into lines in an equirectangular projection, though.
22:43:00 -!- puzzlet has joined.
22:43:25 <AnMaster> fizzie, right
22:43:26 -!- uorygl has joined.
22:43:32 -!- zeotrope has joined.
22:44:04 -!- zeotrope has changed nick to Guest23566.
22:45:23 -!- comex_ has joined.
22:49:29 -!- Ilari_ has joined.
22:50:36 <AnMaster> fizzie, you can link them separately it seems
22:50:36 <AnMaster> from the camera and lens tab
22:50:36 <AnMaster> at least they have separate "link" click boxes there
22:51:13 -!- cal153 has quit (farmer.freenode.net irc.freenode.net).
22:51:13 -!- HackEgo has quit (farmer.freenode.net irc.freenode.net).
22:51:13 -!- dbc has quit (farmer.freenode.net irc.freenode.net).
22:51:13 -!- mtve has quit (farmer.freenode.net irc.freenode.net).
22:51:13 -!- sebbu has quit (farmer.freenode.net irc.freenode.net).
22:51:13 -!- Ilari has quit (farmer.freenode.net irc.freenode.net).
22:51:13 -!- comex has quit (farmer.freenode.net irc.freenode.net).
22:52:15 -!- scarf has quit (Remote closed the connection).
23:03:12 -!- Ilari_ has changed nick to Ilari.
23:08:27 -!- Ilari has quit (farmer.freenode.net irc.freenode.net).
23:08:27 -!- uorygl has quit (farmer.freenode.net irc.freenode.net).
23:08:27 -!- BeholdMyGlory has quit (farmer.freenode.net irc.freenode.net).
23:08:28 -!- nooga has quit (farmer.freenode.net irc.freenode.net).
23:08:29 -!- jix has quit (farmer.freenode.net irc.freenode.net).
23:08:29 -!- Leonidas has quit (farmer.freenode.net irc.freenode.net).
23:12:26 -!- lifthras1ir has joined.
23:14:34 -!- olsner_ has joined.
23:14:43 -!- Ilari has joined.
23:14:43 -!- uorygl has joined.
23:14:43 -!- BeholdMyGlory has joined.
23:14:43 -!- nooga has joined.
23:14:43 -!- jix has joined.
23:14:43 -!- Leonidas has joined.
23:14:46 -!- BeholdMyGlory has quit (Remote closed the connection).
23:15:33 -!- jpc has joined.
23:16:05 <fizzie> Yes, I'm just not quite sure what it does. At least the values stayed different even though I linked them; but maybe it fixes them in a relativistic sense.
23:16:05 -!- soupdragon has left (?).
23:16:05 <ehird> FreeType fails so badly at subpixel rendering it's not funny.
23:17:56 -!- mycrofti1 has joined.
23:19:34 <ehird> Of course, its greyscale rendering is even worse; either you get wispy, badly kerned, unreadable text or put the hinting on slight and get grey, fuzzy, unreadable text.
23:19:34 <ehird> Sigh.
23:20:49 -!- olsner has quit (farmer.freenode.net irc.freenode.net).
23:20:49 -!- Deewiant has quit (farmer.freenode.net irc.freenode.net).
23:20:50 -!- rodgort has quit (farmer.freenode.net irc.freenode.net).
23:20:50 -!- bsmntbombdood has quit (farmer.freenode.net irc.freenode.net).
23:20:50 -!- lifthrasiir has quit (farmer.freenode.net irc.freenode.net).
23:20:50 -!- mycroftiv has quit (farmer.freenode.net irc.freenode.net).
23:20:50 -!- EgoBot has quit (farmer.freenode.net irc.freenode.net).
23:22:05 -!- anmaster_l has joined.
23:22:06 -!- anmaster_l has quit (Killed by sagan.freenode.net (Nick collision)).
23:22:07 -!- Deewiant_ has joined.
23:22:07 -!- bsmntbombdood_ has joined.
23:22:08 <Gregor> Fontophiles.
23:22:08 <Gregor> Still weird.
23:22:08 <ehird> It's not my fault that:
23:22:08 <ehird> 1. I have above-average vision, and
23:22:08 <ehird> 2. Freetype makes text unreadable.
23:22:08 <ehird> I'm not complaining out of æsthetic concerns, but purely the fact that it makes text harder to read.
23:22:08 -!- EgoBot has joined.
23:22:40 -!- augur has joined.
23:22:40 -!- anmaster_l has joined.
23:22:44 -!- kar8nga has quit (Remote closed the connection).
23:22:48 -!- anmaster_l has quit ("Leaving").
23:22:48 -!- augur has left (?).
23:22:48 -!- augur has joined.
23:22:49 -!- rodgort` has joined.
23:24:51 -!- cal153 has joined.
23:24:51 -!- dbc has joined.
23:24:51 -!- sebbu has joined.
23:24:51 -!- HackEgo has joined.
23:24:51 -!- mtve has joined.
23:24:55 -!- SimonRC has joined.
23:24:55 -!- BeholdMyGlory_ has joined.
23:24:58 -!- BeholdMyGlory_ has quit (farmer.freenode.net irc.freenode.net).
23:24:58 -!- SimonRC has quit (farmer.freenode.net irc.freenode.net).
23:24:58 -!- HackEgo has quit (farmer.freenode.net irc.freenode.net).
23:24:58 -!- dbc has quit (farmer.freenode.net irc.freenode.net).
23:24:58 -!- mtve has quit (farmer.freenode.net irc.freenode.net).
23:24:58 -!- cal153 has quit (farmer.freenode.net irc.freenode.net).
23:24:59 -!- sebbu has quit (farmer.freenode.net irc.freenode.net).
23:25:24 -!- Deewiant_ has changed nick to Deewiant.
23:26:08 -!- anmaster_t has joined.
23:28:56 <AnMaster> <anmaster_l> fizzie, should all be same lens but unlinked for the ones you want different
23:28:56 <AnMaster> <anmaster_l> that seems to work
23:28:56 <AnMaster> fizzie, hope that gets through this time
23:28:56 <AnMaster> I'm pesimistic thiugh
23:28:56 <AnMaster> though*
23:29:24 -!- cpressey has joined.
23:29:41 <anmaster_t> <anmaster_l> fizzie, should all be same lens but unlinked for the ones you want different
23:29:41 <anmaster_t> <anmaster_l> that seems to work
23:29:41 <anmaster_t> another try at it
23:31:47 <augur> O_O
23:31:47 <augur> DAMN YOU NETSPLIT
23:31:54 -!- FireFly has quit ("Leaving").
23:32:29 <cpressey> Absolutely not.
23:32:55 <cpressey> (to everything)
23:32:58 <AnMaster> ehird, full hinting works for me ;P
23:32:58 <AnMaster> ehird, or just turn off antialiasing
23:33:11 -!- rodgort` has quit (Client Quit).
23:37:09 <ehird> AnMaster: yes, perhaps you have substandard vision
23:38:01 -!- rodgort has joined.
23:38:01 -!- mycrofti1 has changed nick to mycroftiv.
23:41:58 <ehird> mycroftiv: i think mixing roman numerals and decimal is far more interesting, you should change it back
23:42:21 -!- regalia has joined.
23:42:21 -!- regalia has left (?).
23:42:21 -!- regalia has joined.
23:42:21 -!- regalia has left (?).
23:45:08 <mycroftiv> ehird: if freenode continues exploding, probably will happen
23:47:53 <AnMaster> ehird, I wear glasses if that is what you mean. The way you suggest it, it sounds like you consider it stupid or something
23:47:53 <AnMaster> fuck off
23:47:57 <pikhq> WHY DOES FREENODE ASPLODE SO MUCH?
23:49:02 -!- augur has quit (farmer.freenode.net irc.freenode.net).
23:49:10 <ehird> AnMaster, replying to speculation that he might have substandard vision as full hinting is unreadable with "YOU JUST THINK I'M STUPID FUCK OFF" since 2010
23:49:23 <ehird> AnMaster has an awful lot of "since time" franchises.
23:54:27 -!- augur has joined.
23:54:28 <ehird> pcc can build a bootable openbsd kernel
23:54:28 <ehird> sweet
23:58:59 <cpressey> 'Night, folks.
23:58:59 -!- cpressey has left (?).
23:59:00 <oerjan> cpressey: long time no see
23:59:00 <anmaster_t> oh that is c pressey there. Didn't notice at first
23:59:00 <anmaster_t> hi
23:59:03 <oerjan> ehird, cynical since 1991
23:59:19 <oerjan> (yes, that's before he was born)
23:59:19 <anmaster_t> cpressey, about funge109 and so on, there seemed to be a general lack of interest in it, I suggest a technical corrigendum to befunge98 instead to make clearer some matters about k and t (plus some other minor details)
23:59:20 <ehird> hahahaa
23:59:31 <anmaster_t> oerjan, :D
23:59:37 <ehird> he quit to avoid talking about befunge
23:59:39 <ehird> :)
23:59:43 <anmaster_t> ehird, how weird
23:59:51 <anmaster_t> anyway that was all I had to say about it
23:59:56 <ehird> too late
23:59:56 <anmaster_t> *shrug*
23:59:58 <ehird> he left before you said it
2010-01-16
00:00:06 <oerjan> hm wait
00:00:17 <ehird> you know if i experimented with fungoids in the 90s i'd be pretty scared of people coming up to me and blabbing about them
00:00:19 <anmaster_t> ehird, log reader?
00:00:28 <ehird> anmaster_t: I'm gonna guess "no".
00:00:49 <anmaster_t> ehird, he know I worked on befunge109 though
00:01:02 <oerjan> random madmen on the street
00:02:27 <anmaster_t> fizzie, that panorama is fitting btw. Wave university and everything
00:02:27 <anmaster_t> it is really very wavy to get a straight horizon
00:03:06 <oerjan> wtf i'm lagged, the logs show cpressey leaving before my greeting...
00:03:23 -!- soupdragon has joined.
00:04:38 -!- Pthing has joined.
00:05:38 <oerjan> whatsoup, dragon
00:07:02 <ehird> [23:58] <oerjan> cpressey: long time no see
00:07:04 <ehird> [23:58] <anmaster_t> oh that is c pressey there. Didn't notice at first
00:07:05 <ehird> [23:58] <anmaster_t> hi
00:07:07 <ehird> [23:58] <oerjan> ehird, cynical since 1991
00:07:08 <ehird> [23:58] <cpressey> 'Night, folks.
00:07:09 <ehird> [23:58] <-- cpressey has left this channel.
00:07:11 <ehird> not that lagged for me
00:07:17 <anmaster_t> ehird, same here
00:08:22 -!- SimonRC has joined.
00:09:26 <AnMaster> fizzie, I'll upload example stitch tomorrow hopefully. really need to sleep now, test tomorrow afternoon (sucks to have that on a Saturday)
00:09:49 -!- cal153 has joined.
00:09:49 -!- dbc has joined.
00:09:49 -!- sebbu has joined.
00:09:49 -!- HackEgo has joined.
00:09:49 -!- mtve has joined.
00:10:10 <oerjan> lag continuum
00:11:20 -!- rodgort has quit (Client Quit).
00:11:28 -!- rodgort has joined.
00:11:57 <soupdragon> lag o morph
00:12:35 -!- augur has quit (Read error: 110 (Connection timed out)).
00:15:22 -!- HackEgo has quit (farmer.freenode.net irc.freenode.net).
00:15:22 -!- dbc has quit (farmer.freenode.net irc.freenode.net).
00:15:22 -!- mtve has quit (farmer.freenode.net irc.freenode.net).
00:15:22 -!- cal153 has quit (farmer.freenode.net irc.freenode.net).
00:15:22 -!- sebbu has quit (farmer.freenode.net irc.freenode.net).
00:19:35 -!- cal153 has joined.
00:19:35 -!- dbc has joined.
00:19:35 -!- sebbu has joined.
00:19:35 -!- HackEgo has joined.
00:19:35 -!- mtve has joined.
00:23:00 <oerjan> soupdragon: you mean jumpy and could be beaten by a tortoise?
00:23:12 <soupdragon> roughly
00:24:49 -!- anmaster_t has quit (Connection timed out).
00:27:07 -!- lifthras1ir has changed nick to lifthrasiir.
00:31:29 -!- jix has quit (Remote closed the connection).
00:31:44 -!- jix has joined.
00:37:47 <fizzie> AnMaster: Here's one preliminary stitch of the CS building: http://zem.fi/~fis/cs.jpg -- it's a bit seamy, and I doubt anything can be done to the railing immediately in front, since it's sort of important that what's behind it lines up properly.
00:41:47 <ehird> fizzie: see, it should look curved like that in real life
00:41:47 <ehird> don't you agree that it would be prettier?
00:41:47 <ehird> the curved metal, especially
00:44:05 <oerjan> finland is too cold for metal to curve
00:45:56 -!- augur has joined.
00:48:29 <ehird> Some sort of pipeline language:
00:48:32 <ehird> sort: divide | sort | splice pivot | cat
00:48:33 <ehird> pivot: [length/2]
00:48:35 <ehird> divide: split (<= pivot)
00:49:12 <ehird> (The intention is that you can parallelise it; so, since divide splits one list into two, "sort" would be run on them in parallel, then when they're both done, splice would insert pivot in-between them, and cat would concatenate all of them.)
00:49:23 <ehird> [] being array access, not creation.
00:49:31 <ehird> (That's quicksort.)
00:59:34 -!- augur_ has joined.
01:04:33 -!- augur__ has joined.
01:07:41 -!- augur__ has quit (Read error: 104 (Connection reset by peer)).
01:07:52 -!- augur__ has joined.
01:08:35 -!- augur__ has quit (Read error: 104 (Connection reset by peer)).
01:10:26 -!- augur_ has quit (Read error: 104 (Connection reset by peer)).
01:10:31 -!- augur_ has joined.
01:22:41 -!- augur has quit (Connection timed out).
01:44:07 -!- augur_ has quit (Read error: 110 (Connection timed out)).
02:04:45 -!- oerjan has quit ("Good night").
02:40:04 -!- Pthing has quit (Remote closed the connection).
02:43:27 -!- nooga has quit ("Lost terminal").
02:53:33 -!- Pthing has joined.
03:28:16 -!- bsmntbombdood_ has changed nick to bsmntbombdood.
04:06:51 -!- soupdragon has quit ("Leaving").
04:25:27 -!- augur has joined.
04:40:22 -!- MizardX has quit (Read error: 60 (Operation timed out)).
05:04:23 -!- Slereah_ has joined.
05:07:53 <augur> ehird, are you here
05:08:05 <ehird> no
05:08:37 <augur> lemme ask you
05:08:48 <augur> since i think you'd be knowledgable on this
05:11:44 <augur> what is it called when you take functions in the object language and turn them into type constraints
05:13:09 <augur> in the simple case its just having a typed programming language, right
05:13:32 <augur> instead of doing lots of return nil unless someArg.is_a? Numeric
05:13:34 <augur> or whatever
05:13:48 <augur> you just type your function Numeric -> YaddaYadda
05:14:51 <augur> and for slightly more complex stuff, instead of 'return nil unless someArg.square > 5' you type your function some silly type and then its just dependent types, right
05:15:32 <augur> but would it still be dependent types if you turned _all_ of your predicates into types like that?
05:15:39 -!- Slereah has quit (Read error: 110 (Connection timed out)).
05:16:07 <augur> e.g. instead of 'return nil unless x < y' you type your function in such a way that its only defined on pairs of numbers <x,y> such that x < y
05:16:18 <augur> is that still just dependent typing? or is that slightly more complex?
05:20:08 <coppro> augur: unfortunately, the term 'dependent type' is overloaded
05:20:12 <augur> :P
05:21:14 * coppro tries to remember the name of that language ehird talked about
05:22:53 <coppro> some languages blur the distinction between types and values as well
05:22:54 <augur> epilog? twelf? agda?
05:22:59 <coppro> agda was the one
05:23:04 <augur> epogram, rather.
05:23:06 <augur> .. epigram. :|
05:23:16 <coppro> even though they are conceptually different, their use gets blended together
05:23:33 <augur> agda is less a language and more a program, but ok
05:24:13 <augur> i mean, its kind of both i guess. its a special purpose language designed for one particular purpose
05:25:13 <coppro> yeah
05:25:34 <coppro> but dependent type in agda are completely different from dependent types in C++
05:27:50 <augur> right
05:27:55 <augur> i dont even know what C++ dependent types are
05:28:44 <coppro> they're types that are unknown because they require knowledge of a template paramter to determine
05:28:51 <coppro> for instance, 'typename T::iterator'
05:29:01 <coppro> or the type of 't.begin()', if t is of some parameter type
05:29:17 <coppro> they're a far more boring concept
05:30:28 <augur> i dont need to know what they are ;)
05:31:11 <augur> see, i'm trying to sort out the difference between a logic that has a rich domain of primitive (non-function) types
05:31:31 <augur> and a logic that has no such primitive types, but which has type-checking functions
05:31:37 <coppro> ah
05:31:59 <coppro> might want to look at Perl 6
05:32:00 <augur> in a sense its essentially a strictly-typed-vs-duck-typed issue, right
05:32:39 <coppro> yeah, I think so
05:32:50 <coppro> but then again
05:32:57 <augur> but i want to make sure that this is a difference that carries over to the extremely absurd idea of packing _all_ of your predicates into the types
05:33:43 <augur> e.g. instead of having like some prolog-esque function f(X,Y) :- g(X,Z), h(Z,Y), lets say
05:34:47 <augur> you just have f(X,Y) :- true. where f is defined for this crazy type GH, the members of which are all and only those pairs (X,Y) for which g(X,Z), h(Z,Y) is true
05:35:49 <coppro> is there a real difference?
05:35:56 <augur> thats the question
05:36:01 <augur> i dont think so, right
05:36:09 <coppro> I'd say they're equivalent
05:36:19 <coppro> since one can be expressed in terms of the other
05:36:23 <augur> because if your whole logic is _only_ with predicates (no actual functions, its all pure prology)
05:36:37 <augur> then it seems like all you're doing is replacing falsity in one with undefinedness in the other
05:44:05 -!- jpc has quit (Read error: 110 (Connection timed out)).
05:45:57 -!- bsmntbombdood_ has joined.
05:47:48 -!- bsmntbombdood has quit (Read error: 60 (Operation timed out)).
05:51:01 <ehird> back
05:52:27 <augur> hey
05:59:41 <ehird> poop
05:59:50 <augur> oppo
06:05:43 <ehird> it's 6:05 am i gotta bed myself soon
06:05:58 <pikhq> Perhaps.
06:06:22 <ehird> pikhq: to clarify, i have to be awake at 12an
06:06:24 <ehird> *am
06:07:02 <pikhq> Sleep, por favor.
06:07:37 <ehird> but i am eating first!
06:07:47 <ehird> I have something of an Oreo addiction.
06:08:15 <coppro> mm
06:08:25 <ehird> mm.
06:12:45 <ehird> i really need to switch to uberman; i suck at monophase
06:12:49 <ehird> like terribly badly
06:20:27 <ehird> :/
06:23:09 <coppro> lol me too
06:23:15 <coppro> but uberman would be untenable
06:23:19 <ehird> 6:22, i really have to be in bed soon
06:23:21 <ehird> coppro: Tesla?
06:23:26 <ehird> (http://tesser.org/sleep/teslapattern/)
06:23:56 <coppro> nope
06:24:04 <ehird> Why not?
06:24:17 <coppro> because taking a nap in school is not an option for me
06:24:32 <ehird> Why not?
06:24:36 <ehird> oh, pre-uni
06:24:51 <ehird> http://en.wikipedia.org/wiki/Polyphasic_sleep#Comparison_of_sleep_patterns
06:24:54 <ehird> would everyman work for you?
06:24:58 <ehird> i guess not
06:25:00 <ehird> since it has a nap at midday
06:25:10 <ehird> incidentally t hose g raphs are awesome
06:25:17 <ehird> *those graphs
06:25:34 <ehird> uberman + perfected lucid dreaming and then I'd never have to be unconscious!
06:26:13 <coppro> right
06:27:02 <ehird> well just go into cryonic suspension until an in-school nap is tenable
06:27:58 <ehird> coppro: you could try this insane fucker's schedule: http://gill.tesser.org/
06:28:03 <ehird> ~16 naps of 4 minutes
06:28:19 <ehird> nobody, and i mean *nobody*, cannot disappear for 4 minutes 16 times a day :P
06:30:00 <ehird> i'm waiting for someone to order me to sleep
06:31:36 <ehird> also iirc the owner of tesser.org adjusted to uberman while in high school
06:32:20 <coppro> he may have had a consistent daily schedule with a spare in the middle or something
06:32:31 <coppro> or he just used his lunch breaks
06:32:35 <coppro> (maybe he had long ones)
06:33:04 <ehird> i dare you to do hexadecaphasic
06:34:08 <coppro> what's Uberman again? 30 minutes every 4 hours?
06:34:42 <ehird> 20
06:35:01 <coppro> ok
06:35:02 <ehird> well, 20-30, but 20 is canonical
06:35:07 <ehird> 30, as in dymaxion, is harder iirc
06:35:09 <coppro> If I didn't need to eat, I could fit that in my day
06:35:18 <ehird> well go for tesla then
06:35:27 <ehird> 20 minutes * 4
06:35:40 <coppro> I need to eat though
06:35:47 <ehird> if the idea of 80 minutes of sleep a day doesn't make you queasy, then the extra 40 minutes should be enough time to fit in eating.
06:36:01 <coppro> no, the problem is when
06:36:05 <coppro> my lunch hour is short
06:36:15 <ehird> well
06:36:17 <ehird> http://en.wikipedia.org/wiki/Polyphasic_sleep#Comparison_of_sleep_patterns
06:36:18 <ehird> go for everyman then
06:36:22 <ehird> three naps in the day
06:36:23 <coppro> same problem
06:36:24 <ehird> one core nap
06:36:33 <ehird> coppro: you can rearrange the naps you know
06:36:36 <ehird> as long as they're evenly spaced
06:36:40 <coppro> yeah
06:36:45 <coppro> but I'd need to have one over lunch
06:36:48 <coppro> no real avoiding that
06:36:55 <ehird> true.
06:36:56 <coppro> otherwise I'd be going ~7 hours without sleep
06:37:02 <ehird> well, what other free time do you have in the school day
06:37:33 <coppro> a spare, but it's not at a consistent hour on a given day
06:37:43 <coppro> also, I do other stuff where continual conciousness is required
06:37:48 <coppro> for many hours at a time
06:38:13 <ehird> not many people actually do one thing continuously for over 4 hours.
06:38:13 <coppro> hexadecaphasic would be theoretically possible, but I'm not ready to deprive myself of sleep for two weeks
06:38:25 <ehird> coppro: erm, uberman fucks you up for 10 days
06:38:35 <ehird> it's not just sleep deprivation that fucks you up it's your body adjusting
06:38:37 <coppro> ehird: wasn't talking about uberman
06:38:40 <ehird> simply unavoidable
06:38:42 <ehird> coppro: i mean that
06:38:45 <ehird> uberman has the same issue
06:39:21 <ehird> please god, make me sleepy
06:39:39 <ehird> or i'll end up on inverse monophase again
06:40:04 <coppro> ehird: yes I know
06:40:22 <coppro> but yes, I do stuff where I may quite possibly not have a moment's rest for 7 or 8 hours
06:40:39 <ehird> I doubt highly.
06:41:57 <coppro> your doubt does not change the underlying reality
06:42:13 <ehird> I think it's just an excuse.
06:42:27 <coppro> negative
06:42:37 <ehird> Your negations do not change my underlying suspicion.
06:42:42 <coppro> fair enough
06:43:30 <ehird> Please convince me to go to bed.
06:43:31 <ehird> It's almost 7am.
06:43:45 <coppro> doing anything today?
06:43:51 <ehird> I need to be up at 12am.
06:44:11 <coppro> then close your computer, masturbate a little, and the sleep will probably catch up
06:44:37 <ehird> added to list of "weirdest advice given on IRC".
06:44:49 <coppro> lol
06:44:58 <ehird> a list that i should probably not maintain as it's something like 5 billion lines long by now
06:45:06 <coppro> probably nt
06:45:08 <coppro> *not
06:46:54 <ehird> sleep now:
06:46:58 <ehird> - get barely any sleep
06:47:03 <ehird> - wake up annoyed
06:47:07 <ehird> don't sleep:
06:47:08 <ehird> - get tired
06:47:08 <coppro> better than no sleep
06:47:14 <ehird> - end up on inverse monophase, become suicidal
06:47:25 <coppro> although
06:47:31 <coppro> depending on how important your stuff is
06:47:42 <coppro> you may just find it easier to push through to the evening and retire early
06:47:59 <ehird> i'm terrible at all-nighters, i just fall asleep in the early afternoon
06:48:05 <ehird> and wake up late at night
06:48:09 <ehird> i.e. inverse monophase
06:48:15 <coppro> you need someone/thing to keep you up until the evening
06:48:18 <ehird> a schedule soulcrushing because you never have any contact with humans or see daylight
06:48:25 <coppro> if you don't have that, then yeah, don't do it
06:48:33 <ehird> ehh, i could probably manage it
06:48:35 <ehird> let me see if the sun is out
06:48:39 <ehird> if it's out, i'll stay awake
06:48:46 <ehird> if it's not, ... i'll probably stay awake
06:49:04 <coppro> I take it you don't drink caffeine much?
06:49:22 <ehird> false; I drink far too much of it via soft drinks
06:49:27 <ehird> i probably shouldn't
06:49:27 <coppro> ah
06:49:42 <ehird> ok well i find it impossible to really sleep for less than eight hours
06:49:43 <coppro> eh, you're probably adapted
06:49:49 <ehird> so best-case waking up time is 15:00
06:49:54 <ehird> more likely is 17:00
06:50:00 <ehird> as the later I go to bed the more I need sleep
06:50:05 <ehird> 15:00 is ... half-workable
06:50:08 <ehird> 17:00 is absolutely not
06:50:12 <ehird> so, that's risky
06:50:15 <coppro> don't do that
06:50:20 <ehird> don't do wat
06:50:21 <ehird> *what
06:50:28 <coppro> that's a pretty bad sleep schedule to put yourself on
06:50:40 <ehird> also, if i stay up, and manage to reach the evening, then i can get to bed early
06:50:43 <ehird> thus waking up early in the morning
06:50:52 <ehird> thus getting tired not long after it gets dark
06:51:02 <ehird> thus putting me in an advantageous position for future sleep
06:51:25 <ehird> downside: pissed off parental overlords (they are, I find, not fans of the inverse monophase schedule)
06:51:27 <ehird> but ehh
06:51:31 <ehird> I don't want to wake up when it's dark
06:51:39 <ehird> so (retroactive) all-nighter it is.
06:52:22 <ehird> I got up in the afternoon yesterday, anyway, so I should be able to make it
06:52:32 <ehird> and I was *planning* to go to bed at 3am
06:52:36 <ehird> *sigh*
06:53:59 <ehird> ok, i must find some programming to do posthaste to keep my brain awake... and not anything important because i'll fuck it up
06:54:06 <coppro> euler
06:54:12 <coppro> or try to learn a language
06:54:25 <ehird> i don't think my brain takes new concepts in too well when sleeping
06:54:40 <coppro> good; you won't be sleeping for 10 hours
06:54:42 <ehird> and project euler doesn't really have any fun results, so my tiredbrain probably won't like it
06:54:47 <ehird> coppro: erm
06:54:49 <ehird> when sleepy
06:54:57 <coppro> :P
06:55:04 <ehird> i'll work on my scm2c compiler
06:55:09 <ehird> that's a fun toy project
06:55:42 <coppro> I remember asking but never getting a good answer; how did they mess up R6RS?
06:56:02 <ehird> yay, something to do (compiling a response to that)
06:56:03 <ehird> sec
06:56:29 <ehird> stupid fucking slow r6rs.org
06:56:36 <ehird> tired ehird has no patience or manners
06:56:54 <ehird> fucking piece of shit google cache grr
06:57:11 -!- Guest23566 has quit ("Lost terminal").
07:07:22 <ehird> coppro: "Programming languages should be designed not by piling feature on top of feature, but by removing the weaknesses and restrictions that make additional features appear necessary."
07:07:23 <ehird> So says the preface of R5RS, and by extension R6RS. One of these languages obeys this principle; the one with a six in its name is not it. Furthermore, Scheme is, at heart, a pedagogical language; one for academics. Certainly, one can accomplish practical programming tasks with it, but simplicity is its driving force.
07:07:25 <ehird> R6RS adds features such as a module system that deals with the nitty-gritty details of "real world" modules. This is practical, certainly, and most likely useful, but not something that belongs in, at least, the core language standard.
07:07:26 <ehird> Furthermore, R6RS's base language offers basically nothing over R5RS. And then we get to the libraries. Oh, dear; the libraries. "Bytevectors"; a mere specialisation of vectors to byte elements. That is an optimisation for the compiler to perform, not something that goes in the core language. Scheme is already hard enough to compile efficiency; this is just unneeded ugliness.
07:07:28 <ehird> Exceptions. Again a nitty-gritty specification of something that Scheme already has, in an SRFI. R6RS seems to think that SRFIs aren't a good enough way to define additional libraries, and it should instead wantonly define them itself. This is antisocial at best.
07:07:32 <ehird> syntax-case, a supported-elsewhere, complicated macro system. Are simple syntax-rules hygenic macros really so bad that we had to add this to the standard?
07:07:35 <ehird> Hashtables. Even here the name makes a laughing stock out of what Scheme is; a hashtable is an implementation detail of an associative array; indeed, even the "array" part is an implementation detail here, so perhaps associative map would be the best terminology. It's sundry; clearly little thought was put into this, least of all to whether it actually fit into Scheme.
07:07:40 <ehird> Also, note that only 65.7% of the electors voted to approve R6RS; i.e. 34.3% opposed it. And R6RS wouldn't have passed depending on a wording detail: 65.7% of electors who *voted* said Yes. Apparently it used to be all electors in general, or at least there was some confusion. So, R6RS was not even widely accepted by the voters. This is reflected in the small set of R6RS implementations; indeed, no R5RS implementations have moved to R6RS.
07:07:45 <ehird> For further opinions on this matter, I direct you to the No votes at http://66.102.9.132/search?q=cache:V7u6JmG9CTYJ:www.r6rs.org/ratification/results.html+http://www.r6rs.org/ratification/results.html&cd=1&hl=en&ct=clnk&gl=uk&client=firefox-a. I wouldn't bother reading the Yes votes; most of them don't have any arguments as is typical of such things. But a lot of the No votes very eloquently, and in quite a few cases verbosely, argue against R6RS.
07:07:50 <ehird> I don't think R6RS is all that bad a language in itself, but it's certainly a bad Scheme.
07:08:30 <coppro> ok, thanks
07:08:37 <coppro> this your writing or a copy/paste?
07:09:18 <ehird> I wrote it, yes.
07:09:54 <ehird> Oh my fucking god, you can make computer cases out of lego
07:10:02 <ehird> Behold: http://monochrome.yudia.net/images/legopc/DSCN0708.JPG
07:11:21 <Pthing> of course you can
07:11:25 <Pthing> they're just boxes mang
07:11:27 <ehird> Yes, but, shut up.
07:12:03 <ehird> It'd be cool if you made it entirely out of black lego bricks. Boring standard case from afar, lego monstrosity from close-up.
07:12:13 <ehird> Also a hinge made out of legoii to make a door. Or something.
07:12:16 <ehird> I'm slightly incoherent when tired.
07:20:50 <ehird> i forgot the downside to not sleeping
07:20:53 <ehird> you can't think properly
07:28:35 -!- coppro has quit (Remote closed the connection).
07:29:12 -!- coppro has joined.
07:29:16 <ehird> wb coppro
07:30:27 <coppro> hmm... does anyone know a nonsense game designed for the mentally handicapped involving yelling
07:30:34 <ehird> what
07:31:01 <ehird> `addquote <coppro> hmm... does anyone know a nonsense game designed for the mentally handicapped involving yelling
07:31:07 <coppro> I have a sudden urge to describe something as 'It is a game \ played by an idiot, full of sound and fury, \ signifying nothing.'
07:31:09 <HackEgo> 115|<coppro> hmm... does anyone know a nonsense game designed for the mentally handicapped involving yelling
07:31:14 <ehird> coppro: >_<
07:31:19 <ehird> mm
07:31:20 <ehird> *hmm
07:31:25 <ehird> is the quote better without the second line?
07:31:27 <ehird> i think so :P
07:31:29 <coppro> yes
07:31:34 <coppro> the second line makes it sound almost reasonable
07:31:55 <ehird> well, you didn't get the fury bit in
07:32:14 <ehird> also, it'd have been better making it a story involving that yelling instead of a game, to more closely match the original
07:32:17 <coppro> yelling is usually associated with fury
07:32:23 <ehird> true.
07:34:41 <coppro> http://www.theonion.com/content/news/dubai_debt_crisis_halts_building
07:35:22 <ehird> ha
07:35:28 <ehird> dubai is such a shitty plcae
07:35:30 <ehird> *place
07:36:35 <coppro> haha they've also got one 'Gay Teen Worried he Might be Christian'
07:45:56 <ehird> old :P
07:46:41 <ehird> GIMP is so slow to start up
07:46:58 <coppro> yeah :(
07:47:08 <coppro> and it still has that horrible toolbox thing
07:47:37 <coppro> apparently the designers of the GIMP have never attempted to use it simultaneously with another application
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:03:27 <ehird> asdfgjk
08:09:33 <ehird> i need to eat soon or i will surely fall asleep
08:09:40 <ehird> coppro: btw can you remove those retarded plasmoid icon things
08:09:43 <ehird> on the panel and desktop
08:10:19 <coppro> if you lock the widgets, the panel one goes away
08:10:25 <coppro> don't think you can get rid of the desktop one
08:11:56 <ehird> coppro: also, re: adjusting to caffeine (yeah yeah raising statements from the dead) i don't think that's actually possible, after all caffeine fucks up polyphasic sleep regardless
08:12:10 <ehird> which is why people give up caffeine and alcohol for a good time when switching
08:12:14 <ehird> preferably indefinitely
08:12:17 <coppro> if it was taken in regular doses it probably wouldn't
08:12:25 <ehird> nope
08:12:27 <ehird> it does
08:12:34 <ehird> since it makes you miss naps, full stop
08:12:35 <coppro> regular meaning throughout the day
08:12:46 <coppro> not just like once a day
08:12:55 <coppro> after a couple weeks of caffeination, the brain compensates
08:13:46 <ehird> cite
08:14:05 * coppro will find
08:14:28 <coppro> (note that it would have to be very carefully controlled to make sure the brain had a near-constant caffeine level
08:14:40 <ehird> and thus totally useless for actual caffeine drinking
08:14:46 <ehird> which is good for staying awake
08:15:55 <coppro> ehird: Wikipedia mentions it; though I'm too lazy to run through their sources
08:16:10 <ehird> k
08:16:52 <coppro> caffeine inhibits adenosine so the body adds adenosine receptors
08:17:13 <coppro> this will balance out
08:17:55 <ehird> i wonder if chocolate hurts polyphasic sleep too
08:18:15 <coppro> probably
08:18:39 <ehird> why? does it have any effect other than making you happy?
08:18:44 <coppro> it has caffeine in it
08:18:53 <coppro> not in large quantities, but if you had lots of chocolate, you'd notice
08:19:18 <ehird> ah, true
08:21:21 <ehird> coppro: what about raw chocoltae? :p
08:21:23 <coppro> most of my caffeine intake is through chocolate and the occasional soft drink, and I don't normally have a lot of that. I like this because it means if I really need a boost, I can drink something strongly caffeinated and I really feel it
08:21:23 <ehird> *chocolate
08:21:29 <ehird> (http://www.therawchocolatecompany.com/)
08:22:12 <ehird> coppro: I really ought to find a drink that I can drink offhand more-or-less continuously throughout the day that isn't of questionable healthiness
08:22:20 <ehird> But I'm lazy.
08:22:38 <coppro> a non-caffeinated soft drink?
08:22:59 <ehird> coppro: that still has five tons of sugar
08:23:08 <coppro> true
08:23:13 <coppro> water's not bad
08:24:30 <coppro> hmm... I probably consume a tonne of water every year
08:24:31 <ehird> i find the water supply in this country to be distasteful, and bottled water to be wasteful and ridiculous
08:24:42 <ehird> so I drink very little water, generally
08:24:47 <coppro> oh, that sucks :(
08:25:00 <ehird> (distasteful as in crappy, not as in literally distasteful)
08:25:05 <ehird> I could buy a water filter
08:25:11 <ehird> i guess
08:25:15 <coppro> yeah, it's good
08:25:44 <ehird> but i dunno, i kinda like tasting things :p
08:26:01 <coppro> heh
08:26:16 <coppro> when I want something like that, I usually go with fruit juice of some description
08:26:17 <coppro> usually apple
08:26:33 <coppro> but not the horribly watered-down stuff
08:26:52 <ehird> there's a fine line between taste and too much taste, though
08:28:02 * ehird yawns
08:29:07 <coppro> bad ehird
08:29:47 <ehird> what
08:31:31 <coppro> no sleeping!
08:31:53 <ehird> http://rawchocshop.com/detail.asp?prodID=23&anch=1
08:31:57 <ehird> The most hardcore bar of chocolate, ever
08:32:01 <ehird> 100% raw cacao chocolate bar
08:32:43 <coppro> I'd imagine that to be rather bitter
08:33:57 <ehird> You don't say
08:38:12 <coppro> I can't even eat 80%
08:38:23 <ehird> Apparently past 80% it takes on a whole new consistency
08:38:37 <ehird> I had some I think 80% once and enjoyed it, if I had small pieces
08:39:26 <ehird> coppro: http://www.keacher.com/?p=388
08:39:30 <ehird> Comparison of 85% to 99%
08:39:52 <ehird> I love the warnings
08:39:58 <ehird> It's like "THIS IS A MATTER OF LIFE AND DEATH"
08:40:30 <ehird> I'd break off a big chunk and chomp on it just to subvert their authority, man
08:40:39 <ehird> It's also... completely black
08:42:38 * coppro wonders if callebaut makes super-dark chocolate
08:43:19 <ehird> Maybe my main drink should be Swig Ingest Drink :P
08:43:34 <ehird> (My ephemeral, ill-specified, vaporware home-made soft drink, inspired by Gregor's efforts.)
08:51:38 <Gregor> Gregor's entirely successful efforts.
08:51:54 <ehird> Was that sarcasm or joy?
08:52:33 <Gregor> My efforts were in fact entirely successful.
08:52:37 <Gregor> My gingersnap soda is fantabulous.
08:53:03 <ehird> ...that sounds far too delicious to exist.
08:53:05 <ehird> Send me some.
08:53:44 <ehird> Except make them with ginger nuts instead, dammit, I'm a Brit.</terrible joke>
08:54:53 <ehird> yawn
08:55:06 <ehird> Gregor: Anyway, you said that adding acidy thingybob made it... less acidic, right?
08:55:19 <ehird> (Acidy thingybob *not* being acid. (Has anyone made LSD soda?))
08:56:40 <Gregor> ....
08:56:43 <Gregor> Citric acid?
08:56:49 <ehird> I'm sleep deprived, you know.
08:56:55 <ehird> Coherency is optional and discouraged.
08:57:02 <Gregor> Adding citric acid made it more acidic.
08:57:06 <ehird> Yes, but better.
08:57:07 <ehird> Somehow?
08:57:08 <Gregor> But it's vital that it be acidic.
08:57:09 <Gregor> Yeah.
08:57:15 <ehird> Why
08:57:17 <Gregor> It doesn't have the right bite unless it's acidic.
08:57:24 <Gregor> The carbonation doesn't feel right.
08:57:37 <ehird> I was trying to avoid bite, though.
08:57:45 <ehird> It was meant to be the worlds first smooth soft drink. :P
08:58:05 <ehird> Haha, best spam site technique ever: "Allow the next page a few seconds to load... Email: [ ] [ Free Instant Access! ]"
08:58:09 <ehird> The page source has no redirection code whatsoever
08:58:17 * ehird feeds it mailinator
08:58:23 <ehird> *to mailinator
08:58:26 <Gregor> Feel free to attempt it without the citric acid, but the carbonation simply doesn't /feel/ right (by which I do mean feel, mouthfeel) unless it's acidic.
08:58:42 <ehird> Can you quantify that?
08:58:58 <Gregor> 1/4Tsp citric acid per 5 cups water.
08:59:24 <Gregor> Or did you actually want me to qualify that? :P
08:59:36 <ehird> lol, the page is basically "Cloud computing will kill Microsoft. The japs are doing it. I'll Fed-Ex you the scoop 100% FREE please give me your details."
09:00:03 <ehird> Gregor: Quantify the mouthfeel issue, I mean.
09:00:34 * ehird has a ridiculous idea
09:00:43 <ehird> That 100% raw chocolate bar, in a soda.
09:00:57 <Gregor> We do have chocolate soda here :P
09:01:06 <ehird> Gregor: But is it 100% uncooked cacao?
09:01:08 <Gregor> It's hard to describe ... there's a tingling, poppiness to the carbonation of real soda that's lost without it.
09:01:20 <Gregor> ehird: No, that would be horrendous and bitter. Unless you add sugar of course.
09:01:23 <ehird> Gregor: the sort-of-burning sensation?
09:01:25 <ehird> except without the heat
09:01:42 <Gregor> Well, yes, it does add that, but it's more than that.
09:01:42 <ehird> (100% raw cacao soda: Also combinable with my popular Fisherman's Fiend recipe to produce the worst drink ever.)
09:02:11 <Gregor> It's hard to describe, suffice it to say that I tried a few times without, then decided to add it, and went "OH. That's why it wasn't soda."
09:02:22 <ehird> Alright then
09:02:42 <ehird> Gregor: you should make Fisherman's Fiend.
09:02:54 <Gregor> Oy :P
09:03:02 <Gregor> I'm going to make snoring sounds instead.
09:03:05 <Gregor> (While sleeping)
09:03:07 <Gregor> *zzz*
09:03:10 <ehird> Gregor: But Fisherman's Fiend
09:03:12 <ehird> Is
09:03:13 <ehird> The
09:03:15 <ehird> Second-Worst
09:03:16 <ehird> Drink
09:03:18 <ehird> Ever!
09:03:29 <ehird> (First is 100% raw cacao soda + Fisherman's Fiend, third is 100% raw cacao soda.)
09:29:55 * coppro tries to remember the shortcut he has to close a window with a click that isn't on the X
09:30:05 <ehird> alt-f2 xkill enter click
09:30:27 <coppro> a normal close, not a kill
09:30:35 <coppro> (and Ctrl-Esc is faster)
09:30:44 <coppro> err
09:30:48 <coppro> whatever it is
09:30:54 <coppro> now that I'm trying to remember, it's escaped me
09:31:16 <coppro> Ctrl-Alt-Esc
09:33:56 <coppro> hmm, appears to be no option for that
09:33:58 <coppro> lame
10:06:52 <ehird> asd
10:13:59 -!- kar8nga has joined.
10:18:40 -!- BeholdMyGlory has joined.
10:22:41 <ehird> *Main> :t vAppend (VCons 1 VNil) (VCons 2 (VCons 3 VNil))
10:22:42 <ehird> vAppend (VCons 1 VNil) (VCons 2 (VCons 3 VNil))
10:22:44 <ehird> :: (Num t) =>
10:22:45 <ehird> Vec (TyPlus (TySucc TyZero) (TySucc (TySucc TyZero))) t
10:23:10 <ehird> *Main> :t vHead . vTail . vTail $ vAppend (VCons 1 VNil) (VCons 2 (VCons 3 VNil))
10:23:12 <ehird> vHead . vTail . vTail $ vAppend (VCons 1 VNil) (VCons 2 (VCons 3 VNil))
10:23:13 <ehird> :: (Num a) => a
10:23:15 <ehird> *Main> :t vHead . vTail . vTail . vTail $ vAppend (VCons 1 VNil) (VCons 2 (VCons 3 VNil))
10:23:16 <ehird> (type error)
10:23:26 <ehird> Dependent typing in Haskell? Yeah, we do that. Basically.
10:25:06 <ehird> now accepting theses on why my brain is currently incapable of comprehending the idea of window management but can whip up type-level computation in haskell in a snap
10:38:36 <Pthing> my thesis is a poorly structured essay that depends heavily on a generalised reading of Snow Crash in the eponymous novel, combined with some stuff taken from the back of sugar packets about hippocampi
10:39:52 <ehird> Pthing: that sentence is pœtic and beautiful to me, is that worrying?
10:40:05 <ehird> *Main> evenClub NSZero Refl
10:40:07 <ehird> ()
10:40:08 <ehird> *Main> evenClub (NSSucc NSZero) Refl
10:40:10 <ehird> <interactive>:1:25:
10:40:11 <ehird> Couldn't match expected type `TyNEven (TySucc TyZero)'
10:40:12 <Pthing> no, but if i'd known, that would have been worthy of a chapter
10:40:13 <ehird> against inferred type `TyTrue'
10:40:14 <ehird> In the second argument of `evenClub', namely `Refl'
10:40:16 <ehird> In the expression: evenClub (NSSucc NSZero) Refl
10:40:17 <ehird> In the definition of `it': it = evenClub (NSSucc NSZero) Refl
10:40:19 <ehird> FUCK YEAH I'M DEPENDN'
10:40:24 <ehird> if i wasn't stealing all my tricks from She I'd actually feel accomplished
10:40:39 <ehird> man i am so writing a preprocessor to generate the fuck out of this shit though, automatic function → type family conversion is gold
10:43:07 <ehird> i am so brilliant
10:48:38 <ehird> oh shit do i need some sort of type ... reification ... to other types... thing
10:48:42 <ehird> fuck if i do that is bad
10:49:02 <ehird> ooh I know
10:54:13 <ehird> okay now i will write a dependently-typed lambda calculus implementation in haskell
10:54:27 <ehird> I wonder why my brain focuses on types over values when tired
11:05:25 <AnMaster> <fizzie> AnMaster: Here's one preliminary stitch of the CS building: http://zem.fi/~fis/cs.jpg -- it's a bit seamy, and I doubt anything can be done to the railing immediately in front, since it's sort of important that what's behind it lines up properly. <-- nice. Btw I have some ideas of how such problems could be "fixed"
11:05:34 <AnMaster> hugin certainly can't
11:06:15 <AnMaster> but my idea is using parallax to build up a (partial) 3D model of the scene to be able to stitch a panorama out of it
11:07:03 <ehird> *Main> let foo = Lam 0 (Var 1) (Lam 2 (Var 3) (Var 0))
11:07:43 <ehird> *Main> infer Map.empty foo
11:07:43 <ehird> Lam 0 (Var 42) (Lam 2 (Var 42) (Var 1))
11:07:43 <ehird> close but no cigar :(
11:07:43 <ehird> should be Lam 0 (Var 1) (Lam 2 (Var 3) (Var 0))
11:09:09 -!- MizardX has joined.
11:09:40 -!- anmaster_t has joined.
11:09:56 -!- anmaster_t has changed nick to anmaster_l.
11:14:47 <fizzie> For contrast, I am currently optimizing another view of the same scene; this time done by taking a two-minute videoclip of waving the N900 around, then extracting every fifth frame (344 images in total) and feeding that to Hugin.
11:16:03 <fizzie> The video capture resolution is just 848x480, so the resolution won't be so good; and there's a lot of motion blurring going on. It would probably work better if I auto-selected sharp frames instead of taking every fifth.
11:16:52 -!- FireFly has joined.
11:17:24 <fizzie> Also rather slow to optimize 1031 parameters (343 times yaw+pitch+roll, plus view+barrel) using about 10000 control points.
11:18:00 <fizzie> Oh, and I managed to get hugin so swap-trashy I had to finally kill it, in the exposure optimization step. Going to have to retry with a smaller number of points.
11:19:21 -!- kar8nga has quit (Remote closed the connection).
11:40:24 -!- rodgort has quit (Client Quit).
11:40:34 -!- rodgort has joined.
11:44:10 -!- Pthing has quit (Remote closed the connection).
11:47:10 -!- anmaster_l has quit (Read error: 60 (Operation timed out)).
11:48:10 <ehird> assqx
11:48:17 <ehird> assistant... qx
11:48:20 <ehird> quality Xcellence
11:48:30 <ehird> assistant quality excellence, one who assists in the verification of excellence of quality
11:48:32 <ehird> assqx
11:49:14 <ehird> chrslrtk
11:49:25 <ehird> chalice roads lamer rectal tick
11:49:31 <ehird> chrslrtk
11:52:22 <ehird> toijsdiojh
11:52:55 <ehird> toys ima[jg]ine salviate dinner orange juice h
11:52:58 <ehird> h...
11:52:59 <ehird> hello
11:53:01 <ehird> toys ima[jg]ine salviate dinner orange juice hello
11:53:04 <ehird> toijsdiojh
11:56:18 <AnMaster> fizzie, run it on that 64 GB ram system ;P
11:56:20 <AnMaster> bbl
11:59:06 <ehird> flightless arsenhůven
11:59:13 <ehird> ůven, œven, i want a character in between
11:59:18 <ehird> like oue without the e, ligatury
11:59:34 <ehird> that would be worth arsenhouvening for
12:00:09 <ehird> papyrus pluralled... papyruses?
12:00:13 <ehird> that would be cool
12:00:18 <ehird> it's probably papyri or something gay though
12:00:32 <ehird> papyrusapapyrusapapyruses
12:01:20 <ehird> i wonder what the logo of emacswiki really is
12:01:20 <fizzie> Plural papyri Brit. /p{schwa}{sm}p{revv}{shti}r{revv}{shti}/, U.S. /p{schwa}{sm}pa{shti}ri/, /p{schwa}{sm}pa{shti}{smm}ra{shti}/, papyruses. Forms: ME-16 papirus, ME- papyrus.
12:01:23 <ehird> it looks like CE
12:01:24 <ehird> or perhaps (E
12:01:40 <ehird> fizzie: ok so you can either be fucktarded or delicious when plurunctuating that word, good to know
12:01:47 <ehird> don't be a fucktard man
12:01:48 <ehird> be delicious
12:01:50 <ehird> in everything you do
12:02:05 <fizzie> (OED has IPA characters as images with alt-texts like that, so pasting is unfun.)
12:02:58 <ehird> ohYeahTotallyWotzzat
12:03:25 <ehird> fizzie: fuck OED fucking proprietary english fucking bullshit OED fucking proprietary bullshit fucking OED but i mean i likey oed but FUCKing oed fucking proprietary yeaaaaaaaaaaaaaaaaaaaaaaaaaaaah
12:03:27 <ehird> hhhh
12:03:35 <ehird> mmyestotally?
12:04:07 <fizzie> oͧ - o with combining small letter u.
12:04:14 <ehird> yay i wonder how i tell emacs to tell me in what order does it load files at the starting
12:04:20 <ehird> fizzie: i was think more in style of œ
12:04:22 <ehird> MAKE IT SO
12:04:36 <fizzie> I don't think it's very makable with Unicode.
12:05:12 <ehird> dickinsons! i haven't heaven'd whatfore might be his name
12:05:24 <ehird> you should make a fungot thing out of just things i've said
12:05:24 <fungot> ehird: good luck! :) http://list.cs.brown.edu/ pipermail/ plt-scheme/ 2006-october/ fnord
12:05:29 <ehird> it'd be splendfunctorlicious
12:06:06 <ehird> fizzie: i expect it yesterday
12:06:20 <ehird> yestermorrow, is there any time _really_
12:06:38 <ehird> type functor declaration undecidable dependent instance fuck yeah automatic function to type family conversion also also also also also stack overflow also
12:06:49 <ehird> i want to be incoherent constantly
12:06:51 <ehird> it's so fucking rad
12:07:46 <fizzie> Hey, there is a latin letter "ou"; though it looks a bit different: ȣ
12:07:55 <fizzie> There's also oi: ƣ
12:08:06 -!- anmaster_l has joined.
12:08:20 <ehird> have you noticed, billy, that sometimes, b
12:08:21 <ehird> omg
12:08:26 <ehird> ȣ
12:08:29 <ehird> favourite letter
12:08:41 <ehird> flightless arsenhȣven
12:08:58 <ehird> jesus christ it's perfect, why is it uo instead of ou though in the glyph glyph
12:09:06 <ehird> also when is ehird-fungot-mode-just-of-the-lines-of coming
12:09:06 <fungot> ehird: if ( language " python"
12:09:08 <fizzie> dz also has its own ligature-like thing; it's full of kudzu.
12:09:39 -!- anmaster_l has quit (Read error: 60 (Operation timed out)).
12:10:04 <fizzie> ȸ, the database letter.
12:10:07 <ehird> you are constantly avoideravoideravoideravoideramating my qusetion
12:10:13 <ehird> rȸms
12:10:16 <ehird>
12:10:18 <fizzie> Yes, unashamedly.
12:11:06 <ehird> wouldn't it be an awesome mode though though
12:11:24 <fizzie> Yes yes.
12:11:32 <ehird> So do it do it BBQ it
12:11:36 <ehird> It's just
12:11:39 <ehird> cat thelinesforirc
12:11:44 <ehird> | grep '^<ehird>"
12:11:46 <ehird> | poop
12:11:49 <ehird> or whateveramever
12:12:11 <fizzie> My computar is busy doing PHOTOGRAMMETRIC ALIGNMENT for that videorama.
12:12:51 <ehird> dude it can handle some filtering, i'm sure it loves me
12:13:01 <ehird> oves me ves me es me me me e
12:13:08 <ehird> so fucking hypnotic
12:13:10 <ehird> s/ $//
12:13:11 <fizzie> It has already spent half an hour optimizing exposure and white-balance parameters, and the error hasn't noticeably changed for the last 25 minutes.
12:13:12 <ehird> i want to clean it
12:13:14 <ehird> though t'is correct
12:13:17 <ehird> t'is, is that correct?
12:13:25 <ehird> it's t'is→→it is
12:13:28 <ehird> so i guess 't'is
12:13:36 <ehird> but that's the same size as it is
12:13:42 <ehird> so you'd have to be fucking retarded to say it mon
12:14:02 <fizzie> "'tis", isn't it?
12:14:06 <fizzie> http://en.wiktionary.org/wiki/%27tis
12:14:10 <ehird> that omits the expanded space you do
12:14:11 <ehird> ILLOGICAL FUCK
12:14:17 <ehird> 'T'is't'isn't
12:14:18 -!- rodgort has quit (Client Quit).
12:14:20 <ehird> → It is it isn't
12:14:25 <ehird> beautiful
12:14:26 -!- rodgort has joined.
12:14:30 <ehird> beautiful like rabies
12:15:00 <fizzie> I do multi-apostrophe contractions sometimes in IRC-lingo.
12:15:18 <ehird> Wasn'tn't.
12:15:20 <ehird> Was not not
12:15:36 <ehird> Well, it wasn'tn't great.
12:16:08 <ehird> It just wasn'tn'tn'tn't awesome.
12:16:09 -!- MizardX- has joined.
12:16:25 <ehird> *wasn'tn'tn'tn'tn't
12:16:27 <ehird> i think
12:16:37 <ehird> whoreses
12:18:22 -!- FireyFly has joined.
12:18:40 -!- FireFly has quit (Nick collision from services.).
12:18:52 -!- FireyFly has changed nick to FIreFly.
12:19:31 -!- FIreFly has changed nick to FireFly.
12:19:40 <ehird> now let's not enigmaticise here.
12:19:50 <ehird> this isn't free
12:28:43 <ehird> okay so you can use ~/.emacs.d/init.el instead of ~/.emacs that is cool
12:32:10 <oklopol> "t'is" is illogical?
12:32:23 <oklopol> err
12:32:29 <oklopol> i mean "'tis" is illogical?
12:32:30 -!- MizardX has quit (Read error: 110 (Connection timed out)).
12:32:35 -!- MizardX- has changed nick to MizardX.
12:34:18 -!- MigoMipo has joined.
12:34:59 <fizzie> Yes, I guess the problem there was that the space between "it" and "is" is not marked at all.
12:35:30 <ehird> absolutely
12:35:36 <ehird> dfhgfhjhkodg
12:42:00 <ehird> i'm yawning all about insanity
12:56:44 -!- bsmntbombdood_ has quit (Read error: 113 (No route to host)).
12:59:27 -!- bsmntbombdood_ has joined.
13:00:40 <ehird> i love how i'm understanding things.
13:06:43 -!- Pthing has joined.
13:08:58 -!- uorygl has quit (Remote closed the connection).
13:09:01 -!- uorygl has joined.
13:13:50 -!- Ilari has quit (Client Quit).
13:19:36 <ehird> 9 windows of firefox with multiple tabs in every window, some with enough to make the tab srcoller appear, plus amarok, kopete and kovnersation makes kde's window manager crawl
13:20:38 -!- Cerise has quit (Remote closed the connection).
13:23:28 <oklopol> ah, unlike in the other ones like "you're" and "there's"
13:25:18 <ehird> oklopol: stfu, i'm musing about thoughts that were not thunk in this quantum stream but were thunk in some other quantum stream, that is unthunk thoughts, affecting the (I postulate for no particular reason commutative) p-therefore-q-as-a-thought-process operation so that you think a thought, and then you think (because of the unthinking) a thought by which you derive the previous thought, but this turns out to be a contradiction that you couldn't check
13:25:20 <ehird> ahead of time because you can't predict the future, and thus the infinite memory required to represent such a thought might overflow your brain or something
13:25:36 <ehird> i have far transcended any sort of petty english syntactical debates, my thoughts are pure euphoria of form
13:26:05 <ehird> it is beautiful.
13:26:27 <oklopol> ah
13:26:31 <oklopol> yeah sorry
13:26:39 <oklopol> you're right
13:26:46 <ehird> oklopol: do you sort of grok what i'm sayinh
13:26:47 <ehird> *saying
13:27:48 <oklopol> hmm, maybe.
13:28:20 <oklopol> given a bit of serious pondering, it looks totally sensible
13:28:44 <ehird> hmm so if you can communicate across many-worlds branches, then you could cause unthunk thoughts to mingle with this thought stream and become thunk thoughts, thus removing the permutations they performed on your thoughts and instead becoming first-class citizens (albeit being q-thought-before-p in (p therefore q)) of thought
13:29:05 <ehird> therefore, achieving "enlightenment" could be modelled as having no unthunk thoughts; having every thought be thunk by quantum methods
13:29:17 <ehird> and thus all there is is pure thought itself, no hidden reasoning chains or side-effects
13:29:35 <ehird> but this is straying into the religious or at the very least the metaphysical. nevertheless, it does seem to follow.
13:31:30 <oklopol> i still think i follow, but i'm not sure what i get out of that would sound nearly as esoteric, so i'm gonna keep it to myself.
13:31:37 <oklopol> the trees are slightly less pretty now.
13:32:47 <ehird> oklopol: nonono do say it
13:32:49 <ehird> even if it is merely
13:32:52 <ehird> "that is bullshit"
13:32:56 <oklopol> ;)
13:33:11 <ehird> I mean I don't actually *believe* any of this, I'm just letting thoughts permute themselves automatically through my process instead of suppressing them, and thus elaborating on them
13:33:14 <ehird> who says what you think has to be true?
13:33:33 <ehird> oklopol: maybe you unthunk something in the far, far future about trees that is bad
13:33:38 <ehird> and that is affecting how you view trees now
13:33:56 <ehird> you need to create a causal reasoning chain justifying how good trees are of greater power than it so as to override it
13:34:00 <ehird> and enjoy trees
13:34:52 <oklopol> we could model thinking as a process that takes unthunk thoughts, unprocessed data, and outputs thunk thoughts, some sort of results. if there were multiple worlds with the same entity existing multiple times, living almost exactly the same lives, he could skip ahead in his thoughts by accessing the thunk thoughts of a fellow him.
13:35:05 <oklopol> you probably didn't mean anything like that.
13:35:31 <ehird> oklopol: no, that is *exactly* it!
13:35:35 <oklopol> i'm so sexy
13:36:22 <ehird> oklopol: let's mutually thunk the other's unthunk thoughts so as to expand both our repertoire of thoughts (← this is what sex is like post-singularity)
13:36:32 <oklopol> :D
13:37:15 <ehird> *repertoires
13:37:34 <ehird> oklopol: sometimes it can be a bit embarrasing too
13:37:51 <oklopol> having sex?
13:37:58 <ehird> post-singularity thunk sex.
13:38:01 <oklopol> right
13:38:14 <ehird> i mean occasionally you're doing it and you think "but the chicken *was* over 18, and it *was* going around naked... plus the peanut butter was right there..."
13:38:25 <ehird> and you're like "um. $name? why wasn't I invited?"
13:38:26 <ehird> and yeah.
13:38:31 <oklopol> probably, like yelling "mmm you smell just like my mum" in bed, but you can suppress it even less
13:38:49 <ehird> you're meant to suppress that?! WHY WASN'T I INFORMED OF THIS
13:39:23 <ehird> speaking of which you are so going to owe me money in... about three years
13:39:50 <oklopol> because in your case it'll not be relevant for like 15 years
13:39:50 <ehird> :))
13:39:54 <oklopol> ZING
13:40:07 <ehird> oklopol: exactly why you will owe me money in three years
13:40:11 <oklopol> yeah
13:40:14 <ehird> in case you don't remember we have a bet :P
13:40:16 <oklopol> how much was it?
13:40:19 <ehird> how m lol
13:40:28 <oklopol> i do, just not the amount, i can't remember numbers that mean something
13:40:29 <ehird> well i know it was a few days off my birthday so ic an check
13:40:31 <ehird> *i can
13:40:37 <ehird> I think £50
13:40:38 <oklopol> 50
13:40:39 <oklopol> yeah
13:40:45 <oklopol> that's what i would guess
13:40:49 <ehird> which is a nice heap of money for doing nothing
13:41:17 <oklopol> well for doing noone, i think you were allowed to do *something*
13:41:27 <ehird> hur hur hur
13:41:29 <oklopol> (tried "noone", don't like it)
13:41:45 <ehird> yeah it was £50
13:41:52 <ehird> oklopol: nobody is a much better word to use imo
13:41:56 <oklopol> ehird: but not only a joke, mostly i was asking what rules we agreed on.
13:42:08 <ehird> ah
13:42:27 <ehird> i'm fairly sure it's only other people that count, otherwise my hand would count and that'd just be a ridiculous bet
13:42:28 <ehird> `calc 50 pounds in euros
13:42:31 <HackEgo> 50 British pounds = 56.6239465 Euros
13:42:37 <ehird> :(( it's gone down since the last time
13:42:43 <oklopol> i use "no one" or "nobody", had to check "noone" out because it's so popular
13:42:46 <ehird> was 57.47 on 2009-08-21
13:43:04 <ehird> 18:10:17 <oklopol> i'm also preparing for extremely early onset inflation
13:43:24 <oklopol> :D
13:43:35 <ehird> DAAAAAAAAAAAAAMN YOUUUUUUUUUUUUUUUUUUUU
13:43:48 <ehird> so you're the reason this recession is happening
13:43:57 <ehird> oklopol: you may ask but it was going when you said that
13:43:59 <oklopol> totally
13:43:59 <ehird> remember
13:44:03 <ehird> there is no thought causality
13:44:18 <oklopol> ah.
13:44:18 <ehird> you have been acting to cause the recession since before it began, and the p in p-therefore-q that lead you to doing this was only thunk then
13:44:24 <ehird> see, it all ties together
13:44:40 <oklopol> (...i'm gonna escape now k?)
13:44:55 <ehird> define escape
13:45:06 <oklopol> "to read complex analysis"
13:45:12 <ehird> pfft.
13:45:16 <ehird> :P
13:45:26 <oklopol> escape the horrors of the physical world
13:45:34 <ehird> that's called suicide
13:46:19 <oklopol> yeah it's just that boring.
13:46:20 <oklopol> ->
13:48:55 <ehird> damn i could totally functionalise an os
13:49:15 <ehird> i mean ok im basically ripping off luke palma's dana wholesale, dependent typing, frp and all
13:49:19 <ehird> but shit.
13:49:56 <ehird> and combining it with ehirdOS = sexy time
13:55:56 -!- Sgeo has joined.
14:00:07 <ehird> hi sgeo
14:00:14 <Sgeo> Hi ehird and all
14:00:25 * ehird decides to break sgeo's brain
14:00:50 <ehird> I'm musing about a purely-functional (without even an IO monad) operating system with types that can access values.
14:01:00 <ehird> (OR AT LEAST THAT'S HOW I'D EXPLAIN IT TO A PLEB)
14:01:47 <Sgeo> "types that can access values" needs clarification. Also, it's obvious that this is what I'm supposed to notice, but how is it supposed to do anything
14:02:09 <ehird> 1. Dependent types.
14:02:12 <ehird> 2. Magic, clearly.
14:03:51 <Sgeo> Magic, like the sort of magic that lets you jump to a point in space where the gravity is equal to where you're jumping from? (iirc)
14:03:54 -!- oerjan has joined.
14:04:06 <ehird> Hooray Ed stories.
14:04:44 <ehird> Sgeo: Dependent types let you do things like making array[3] fail *at compile-time* if array has less than 4 elements — without declaring it at any point, and with computation in-between.
14:04:54 <ehird> (Of course the programmer has to help the compiler along in some cases.)
14:05:26 <ehird> That's just one of the *applications*; what it *is* is a subtle matter and one I am in no non-sleep-deprived state to communicate.
14:05:55 * Sgeo is also sleep deprived right now
14:06:03 <Sgeo> There's supposed to be a meeting 5 minutes ago
14:06:05 <ehird> when did you last sleep
14:06:24 <Sgeo> I can't help think that they meant 12AM when they said 12PM
14:06:35 <Sgeo> Um, from 3 local time to 7 local time
14:06:55 <Sgeo> And that's been my approx. schedule for a while, but I tend to fall asleep from 9 to 3PM
14:06:56 <ehird> What time is it there now?
14:07:27 <Sgeo> There as in the timezone they were using? 12:06 PM. Local time: 9:06 AM
14:07:58 <Sgeo> http://www.youtube.com/watch?v=XpsN14TFy90 this music is incredible
14:08:34 * oerjan notes that googling for "hooray ed" brings up only things it is unlikely ehird was referring to...
14:09:05 <Sgeo> oerjan, try different words in that line
14:09:06 <ehird> http://qntm.org/?ed
14:09:19 <oerjan> i just did
14:09:20 <ehird> An excellent sci-fi ... well, I'd say novel, but it was serialised of a sort.
14:09:34 <ehird> (The tone of the first stories is misleading, btw.)
14:10:34 <ehird> oerjan: You'd probably like it, it has a quote about how all the characters are completely insignificant, stupid and irrelevant in the universe.
14:10:37 <ehird> That fits you. :P
14:10:47 <augur> sgeo -- that music IS incredible :o
14:11:36 <ehird> Sgeo: i woke up yesterday at uh around 2:30pm i'd guess
14:11:39 <ehird> 15:30 that is
14:11:42 <ehird> haven't slept since
14:13:10 <Sgeo> o.O
14:13:24 <Sgeo> Go to sleep then?
14:13:25 * oerjan thinks ehird has a horribly distorted impression of him
14:13:27 -!- Pthing has quit (Remote closed the connection).
14:13:31 <ehird> And wake up late at night?
14:13:35 <ehird> That's a dumb idea.
14:13:38 <ehird> oerjan: I was joking. :P
14:13:40 <Sgeo> Go to sleep at night then?
14:13:42 <ehird> Also, the quote doesn't really have that turn at all.
14:13:46 <ehird> Sgeo: I will, once it is night.
14:17:31 <oklopol> Sgeo: yeah that's pretty incredible
14:18:09 <Sgeo> Supposedly, it was ranked the best music on the Commodore 64, or something
14:19:22 <Sgeo> I can't find a source for that, actually, so
14:19:57 -!- Ilari has joined.
14:20:07 <Sgeo> I think my source was a random YouTube video :/
14:20:51 <Sgeo> http://www.youtube.com/watch?v=uKssGfAtTP4
14:21:00 <oklopol> it was not perfect
14:27:52 <oklopol> yeah that wasn't very professionally done
14:29:09 * Sgeo is an SG-1 addict
14:31:24 -!- Ilari has quit ("leaving").
14:32:10 -!- Ilari has joined.
14:43:00 <ehird> Ilari: you rebooted.
14:45:30 <oerjan> they gave him the boot
14:46:32 -!- Migi32 has joined.
14:48:17 <Ilari> Yeah.
14:48:52 <Ilari> And had to fight with settings a bit after that.
14:51:25 <Ilari> And configured protocol 41 just for fun (the main trouble was lack of direct copy-paste from browser to rootshell).
14:51:40 <ehird> That's how I could tell.
14:52:08 <Ilari> I could have configured it without reboot (would had to rejoin, but...)
14:52:36 <ehird> Well, you said you'd do it when you rebooted, so.
15:01:21 -!- Migi32 has quit ("Segmentation Fault").
15:09:16 -!- oerjan has quit ("leaving").
15:23:24 -!- augur has quit (Read error: 110 (Connection timed out)).
15:33:49 <ehird> sculpture chasm well-typedness
15:35:26 <ehird> argh augur isn't here
15:36:09 <Sgeo> Should I be on the Chrome Dev channel or the Beta channel?
15:36:09 -!- augur has joined.
15:36:20 <Sgeo> I <3 Extensions, so the normal one isn't an option
15:37:22 <Sgeo> ...thing says it's on Stable o.O
16:00:37 <ehird> Okay, it seems my system has so little RAM that the background of Konversation's tray icon's contextual menu is white.
16:00:44 <ehird> I think I'll start System Monitor and see what the fuck is up.
16:01:21 <ehird> Well that was useless.
16:01:31 <ehird> Xorg is CPU-hogging for some reason.
16:05:22 <Sgeo> ...Someone's teaching a math course with QBasic
16:06:02 <Sgeo> "A friend of mine who taught in [redacted] is teaching a math course that uses QBasic at [redacted] College. We're trying to find a compiler she can download and use with Windows XP but no luck - do you have any ideas?"
16:06:42 <pikhq> I suggest finding an old DOS disk and a DOSbox.
16:06:51 <pikhq> Or a saner language.
16:07:47 <ehird> QBasic works in XP.
16:07:55 <ehird> Perhaps even QuickBasic does.
16:08:49 <ehird> pikhq: So. A purely-functional operating system using FRP instead of imperative IO and dependent types. Perhaps total, too. Am I a functional programming nerd?
16:08:59 <pikhq> ehird: Yes, you are.
16:09:04 <pikhq> And that's okay.
16:09:30 <ehird> I'm special, just like everyone else.
16:09:36 <pikhq> XD
16:15:20 * Sgeo is in love with mywot.com
16:17:35 <ehird> You use the term "love" very loosely.
16:18:09 <pikhq> Well, you see, free love.
16:18:57 <ehird> Website polyamory!
16:22:03 <ehird> I'm starting to believe that Linux/X11 on the desktop really is a hopeless case now that my system's crawling just because I have 9 Firefox windows open with a few hundred tabs between them.
16:22:07 <ehird> The memory usage isn't even that high.
16:22:11 <ehird> This. Is. Not. Difficult.
16:22:18 <pikhq> ehird: ... That's really, absurdly sad.
16:23:33 <ehird> Yeah; X and Firefox are both using 5-30% of my CPU constantly.
16:23:35 <ehird> Each.
16:23:41 <ehird> For no reason.
16:24:13 <Ilari> Probably firefox is spewing lots of requests to X server for some reason?
16:24:31 <ehird> I should just go back to OS X and enjoy the smooth graphics and non-total-freeziness and nice fonts and deal with the proprietariness, inconsistency (not that there isn't a lot of that in the Linux world too) and flawed default applications.
16:24:37 <ehird> Ilari: Something like that.
16:24:45 <ehird> I suspect kwin is doing something retarded with the Firefox windows.
16:25:21 <Ilari> ehird: Does it happen with other WMs?
16:25:34 <ehird> Let's find out.
16:25:43 <ehird> ...wait, killing kwm will probably just kill all my windows.
16:25:45 <ehird> Stupid reparenting managers.
16:25:51 <ehird> Ilari: Don't know.
16:25:59 <ehird> *kwin, not kwm
16:26:23 <ehird> Ilari: I suspect the fact that kwin is compositing, and there are... 1, 2, 3, 4, 5, 6, 7, 8 firefox windows showing (all but one are just edges),
16:26:26 <ehird> is something to do with it.
16:26:34 <ehird> Something like it's drawing the entirety of all those windows or something.
16:27:12 <pikhq> Yeah, kwin is drawing all of those windows in an offscreen buffer and then rendering it onscreen.
16:27:20 <pikhq> That might do *something*.
16:27:28 <Ilari> Heh... Reminds me when only "window manager" I could get to start with session was some terminal emulator. I had to attach debugger to it and make it execute some sane window manager...
16:27:38 <ehird> So if I maximise the Firefox window I'm actually using (and deal with the too-wide text), performance will improve some.
16:27:42 <ehird> That's just great.
16:27:47 <ehird> >_<
16:27:49 <ehird> I hate computers.
16:28:09 <ehird> Ilari: Did "wm &; disown; exit" not work?
16:28:37 <ehird> I seem to have got over the horrific-horrificness of sleep deprivation now.
16:28:40 <ehird> Ugh, it's dark already.
16:28:43 <ehird> I hate our short days.
16:28:55 <Ilari> Oh, and the terminal emulator didn't even work properly...
16:29:41 <ehird> xD
16:30:03 <ehird> What is it with Linux users and improbable software situations always solved by a method other than reinstalling :-)
16:30:24 <Ilari> Because reinstalling rarely solves anything...
16:31:32 <ehird> Sure it does if you messed up the packages and now your only WM is a terminal manager.
16:31:38 <ehird> I wasn't referring to the solutoin so much as getting into the situations
16:31:44 <pikhq> ehird: Because Linux users like doing crazy shit.
16:31:47 <ehird> I've never found myself in such a bizarre environment :)
16:32:20 <pikhq> The only crazy shit I've done recently has been "Oh shit, my package manager just broke. Time to install stuff via tar instead of with the package manager."
16:32:28 <pikhq> (I keep binary packages of everything on my system.)
16:33:34 <Ilari> For some reason window managers still don't work, but now I use .xsessionrc (has also the good side that one can put those various xmodmap & co commands in).
16:33:50 <pikhq> ... Window managers don't work?
16:33:57 <pikhq> Yeah, reinstall that.
16:35:19 <ehird> Ilari: just use .Xmodmap :P
16:35:30 <ehird> alternatively, use my OS.
16:35:32 <Ilari> ehird: And xmodmap settings are not the only ones...
16:37:53 <ehird> I wish the nice winter weather came with long days.
16:45:49 <ehird> I'm going to reboot back into OS X.
16:45:51 <ehird> It's just hopeless.
16:46:11 <ehird> I guess I can deal with using a proprietary OS until ehirdOS is invented. :P
16:46:52 * ehird tars up his source code done on this machine, uploads it
16:46:57 <ehird> (to access it in os x...)
16:46:59 <ehird> erm
16:47:00 <ehird> done on this partition
16:49:34 <ehird> Erm, so if gcc is the GNU Compiler Collection, is GCK the Gnu Compiler Kollection?!?!12.
16:49:43 -!- ehird has quit (Remote closed the connection).
16:55:44 -!- ehird has joined.
16:58:01 -!- ehird_ has joined.
16:58:01 -!- ehird has quit (Read error: 104 (Connection reset by peer)).
16:58:06 -!- ehird_ has changed nick to ehird.
16:58:13 <ehird> Yeah, this is better.
17:49:31 -!- anmaster_l has joined.
17:49:40 -!- ehird has quit.
17:52:51 -!- kar8nga has joined.
17:53:24 <AnMaster> <ehird> Erm, so if gcc is the GNU Compiler Collection, is GCK the Gnu Compiler Kollection?!?!12. <-- that sounds like it would be using QT at the very least.
17:53:54 <AnMaster> ehird: (for log reading) but why GCK? Where did you get the idea?
17:55:10 <fizzie> KKK, the Knu Kompiler Kollection.
17:56:58 -!- ehird has joined.
18:12:29 <ehird> i'm too busy admiring how smart my stolen ideas are to do anything with them
18:19:41 -!- ehird has quit.
18:20:14 -!- ehird has joined.
18:20:37 -!- ehird has quit (Client Quit).
18:38:02 <uorygl> KDE Kompiler Kollection, of course.
18:40:38 -!- SimonRC has quit (farmer.freenode.net irc.freenode.net).
18:41:25 -!- SimonRC has joined.
18:55:28 -!- jpc has joined.
18:56:14 -!- ehird has joined.
18:57:51 <ehird> 09:53:24 <AnMaster> <ehird> Erm, so if gcc is the GNU Compiler Collection, is GCK the Gnu Compiler Kollection?!?!12. <-- that sounds like it would be using QT at the very least.
18:57:51 <ehird> 09:53:54 <AnMaster> ehird: (for log reading) but why GCK? Where did you get the idea?
18:57:51 <ehird> It was a coded identifier for the URL for my ~/src from the Linux partition.
18:58:18 <AnMaster> ehird, heh
18:58:36 <AnMaster> ehird, what does that even mean?
18:58:57 <ehird> I'm booting back into OS X due to the general hopelessness of desktop Linux.
18:59:01 <ehird> I want to move my ~/src back over.
18:59:10 <ehird> I don't want to fuck with OS X drivers for ext4.
18:59:21 <ehird> So I zipped it and uploaded it to a file hosting site.
18:59:30 <ehird> That line includes the things I need to know to reconstruct the URL.
18:59:46 <ehird> That way, using mnemonics, I can find the URL just by looking at it, but nobody else can.
19:00:25 <SimonRC> heh
19:00:57 <ehird> AnMaster: It's like PGP except in my mind, basically.
19:01:16 <ehird> Like posting a PGP encrypted-to-myself message publicly, to be precise.
19:01:29 <AnMaster> ehird, hah
19:02:05 <AnMaster> ehird, also very smart
19:02:15 <ehird> Why thank you :P
19:02:36 <ehird> The relevant file ID after the file host *is* there in plaintext, though, it's just spread out across words.
19:02:44 <AnMaster> ehird, how many of the words encode info and how many are to just make it grammatically correct?
19:02:54 <ehird> Few, almost all.
19:02:59 <AnMaster> ah
19:03:10 <ehird> To be honest, I don't care whether you read my code or not, so I'll tell you that the prefix is filebin.ca.
19:03:37 <ehird> Since you can upload a file there to see the length of identifiers, it'd be pretty simple to try all likely combinations from there.
19:04:04 <AnMaster> ehird, btw interesting that you found some well working combo from it
19:04:10 <AnMaster> as in, filename-wise
19:04:13 <ehird> Yes; I was lucky.
19:04:43 <ehird> Then again, I could have just gone "fp45 f09w23 g90 n4n ovij 9d" and remembered "second and second-last".
19:05:23 <ehird> Anyway, I wish Linux/X11 was tolerable enough for my heavy programming and web browsing workload, but it is, alas, not. The hideous performance when I had a lot of Firefox windows open confirmed that.
19:05:40 <ehird> So it looks like until I implement ehirdOS, I'm Apple's bitch. Which saddens me.
19:06:01 <AnMaster> ehird, finding something for http://filebin.ca/hryhfj would be way harder
19:06:07 <Ilari> X11 is hideously difficult to use correctly...
19:06:54 <AnMaster> ehird, is it case sensitive that filebin.ca?
19:06:54 <ehird> Ilari: Yeah, with a lot of manual setup and using a lightewight WM *maybe* it could handle ~10 Firefox windows with many tabs each.
19:07:07 <ehird> AnMaster: Try it and see.
19:07:20 <AnMaster> ehird, well my test one got all letters and all lower case
19:07:22 <ehird> Ilari: But, really, I just don't like Linux enough for that.
19:07:32 <AnMaster> ok case sensitive
19:07:36 <ehird> All Unix-likes are shit, and all existing UIs are shit
19:07:44 <ehird> So I should just pick whichever one is the least fuss
19:07:51 <ehird> As far as I can tell, that's OS X.
19:08:12 <ehird> AnMaster: I think they're all lowercase, though.
19:09:08 <AnMaster> meh tried a few simple permutations, not worth more job
19:09:45 <ehird> It's hrmgck.
19:09:50 <ehird> Erm
19:09:53 <ehird> ermgck
19:10:11 <ehird> What's the correct ELispese for "bind this key globally because the default binding is stupid"?
19:10:15 <ehird> I want to set DEL to delete-char
19:10:23 <ehird> Not delete-backward-char
19:10:45 <ehird> Ugh
19:10:54 <ehird> Emacs is reading backspace and delete as one char
19:10:57 <ehird> That's retardifuckede
19:11:03 <ehird> *retardifucked
19:14:07 <ehird> global-set-key
19:14:08 <ehird> got it
19:20:05 <AnMaster> ehird, btw that tarball of your code was small
19:20:28 <ehird> Indeed; it's just one or two days.
19:20:44 <AnMaster> ehird, just a diff?
19:20:48 -!- kar8nga has quit (Remote closed the connection).
19:20:50 <AnMaster> okay it wasn't that small then.
19:20:56 <ehird> No; I lasted one or two days with Linux.
19:21:12 <ehird> I didn't work on any of my OS X projects; the tarball is completely self-contained.
19:21:24 <ehird> (And yes, I do code that much in ~3 days.)
19:21:40 <AnMaster> ehird, yet your laptop (did you give that idea up?) was to be running linux?
19:22:37 <ehird> AnMaster: well, linux isn't viable for me as it has just demonstrated for me
19:23:13 <ehird> with its hideous, hideous failure at simple tasks like "synchronised flash audio/video" (I know it's not Linux's fault), "10 Firefox windows, each having a lot of tabs" and "non-smudgy font rendering that doesn't have horrible colour fringes".
19:23:19 <SimonRC> which distro?
19:23:27 <ehird> I honestly thought I'd be fine with it, but it let me down. So there.
19:23:52 <ehird> SimonRC: Kubuntu; indeed, it had an edge on the font rendering test due to its inclusion of the legally-dubious bytecode hinter.
19:24:01 <ehird> I could have made it more workable by Rolling My Own Shit.
19:24:01 <SimonRC> Where *can* you have that many tabs open?
19:24:10 <ehird> But I don't see Unix as a viable OS, just a kludge that works for now.
19:24:12 <ehird> *a kludge
19:24:16 <SimonRC> hm
19:24:21 <SimonRC> what is viable?
19:24:26 <ehird> So I pick the Unix that takes the least amount of working to... work.
19:24:33 <AnMaster> ehird, "synchronised flash audio/video" <-- hm I had no issue with that even when using flash (swfdec iirc)
19:24:34 <ehird> SimonRC: good; worthy; the way forward; usable; etc
19:24:44 <SimonRC> not what I meant
19:24:50 <ehird> AnMaster: Adobe.
19:24:56 <AnMaster> ehird, ah, no idea
19:25:00 <SimonRC> I mean, which OSes are good?
19:25:07 <ehird> SimonRC: None.
19:25:11 <ehird> Plan 9 and Oberon both come close.
19:25:19 <ehird> ehirdOS is good, but it's vaporware.
19:25:35 <AnMaster> ehird, as for fonts, well why not write something that make it looks like it should, obviously your work would be of great use to everyone else on linux then
19:25:39 <ehird> Although I think it's a massive enough project to count as my life's work already...
19:26:01 <ehird> AnMaster: I just explained why. I don't consider Unix a good OS, so I pick the Unix that works with the most stuff and does the tasks I want with me doing the least.
19:26:06 <SimonRC> if you are going to take that long about it, it will be out of date by the time you finish :-(
19:26:09 <ehird> If I cared about Unix, I would try and make it better.
19:26:31 <ehird> SimonRC: It's so heretical that I don't find that too likely. Especially as systems design has been in limbo ever since Unix.
19:27:05 <AnMaster> ehird, hm... okay
19:27:57 <SimonRC> which OS allows you to have 10 firefox windows with hundreds of tabs each without problems?
19:28:25 <ehird> Not hundreds of tabs each; hundreds of tabs in total.
19:28:35 <SimonRC> ok
19:28:39 <ehird> And, well, I use Safari on OS X and it handles that as smoothly as you could expect.
19:28:47 <AnMaster> also I have about 50 tabs in general when using firefox
19:28:48 <ehird> I imagine Firefox on OS X isn't *that* inferior.
19:28:55 <AnMaster> 50-80 probably
19:28:56 -!- soupdragon has joined.
19:29:02 <AnMaster> ehird, try it out on OS X then
19:29:02 <SimonRC> I think the Safari->Firefox change is the one that matters
19:29:08 <ehird> AnMaster: I almost never close tabs and click links like crazy
19:29:13 <ehird> and almost never click links without opening a new tab or windo
19:29:16 <ehird> s/$/w/
19:29:22 <ehird> SimonRC: Well, let me know when Safari is released for Linux
19:29:28 <ehird> All the WebKit X11 browsers suck
19:29:28 <SimonRC> heh
19:30:01 * ehird tries to figure out how to get the % position in current file in the emacs modeline
19:30:13 <AnMaster> ehird, never opening links in same tab apply almost all the time to me too
19:30:34 <AnMaster> also you need a tab gc
19:30:45 <ehird> My "ideal" browser would open every single link in a new "tab"; all middle-click would mean is "...and don't focus this tab after creating it."
19:31:05 <SimonRC> sounds good
19:31:10 <soupdragon> #english
19:31:13 <ehird> Tabs would be in a horizontal tree structure to the side, so that it's linear, but if I open more than one link from a page, that's shown underneath that page.
19:31:14 <soupdragon> dammit
19:31:19 <ehird> It would also serve as the history.
19:31:29 <ehird> Basically, old enough tabs would be purged from cache and clicking them would go back to them.
19:31:31 -!- sebbu has quit (Read error: 113 (No route to host)).
19:32:02 <ehird> If you don't want a tab any more but want to keep it in the history you could banish it, which would presumably just shove it up to, say, the start of today until tomorrow.
19:33:54 <SimonRC> so you smoothly integrate tabs, history, and bookmarks?
19:34:12 <ehird> Ooh, good idea; bookmarks would just be starred tabs.
19:34:13 <ehird> And yeah.
19:34:24 <ehird> That's basically what I use tabs for; going back in my chronological history.
19:35:00 <AnMaster> <ehird> Tabs would be in a horizontal tree structure to the side, so that it's linear, but if I open more than one link from a page, that's shown underneath that page. <-- iirc IE8 groups by which tab they were opened from. I have had no choice but to use IE8 on some lab computers at university.
19:35:08 <AnMaster> not quite what you wanted
19:35:22 <AnMaster> they are coloured in different groups
19:35:31 <AnMaster> (the tabs themselves that is)
19:35:34 <ehird> Oh, so that's what those colours are.
19:35:44 <ehird> The closest to what I want is the Firefox extension Tree Style Tabs or whatever it's called.
19:36:12 <ehird> That does the horizontal linear tree thing, but only for tabs, not integrated history/bookmarks/tab expiry/scrolling (well, it might do scrolling with a scrollbar, dunno (arrows don't count as scrolling))
19:37:23 <AnMaster> ehird, wait how did you say the bookmarks would be integrated into it?
19:38:08 <ehird> [19:33] SimonRC: so you smoothly integrate tabs, history, and bookmarks?
19:38:08 <ehird> [19:33] ehird: Ooh, good idea; bookmarks would just be starred tabs.
19:38:23 <AnMaster> ah I see
19:39:11 <AnMaster> ehird, you could make it write-only. As in, once a tab is open it is always remembered (possibly you can archive it to hide it, but you can't actually delete it)
19:39:35 <ehird> Well, mutable history is nice for... hiding things.
19:39:46 <ehird> Of course it wouldn't have an easy shortcut.
19:42:38 <AnMaster> ah well yeah good point
19:42:44 <ehird> hrm
19:42:51 <ehird> if I have foo | bar in emacs, how do I get
19:42:53 <ehird> foo | bar
19:42:57 <ehird> ---------
19:42:58 <ehird> quux
19:43:03 <ehird> C-x 2/3 don't do it
19:48:58 <ehird> :/
19:53:16 -!- sebbu has joined.
19:59:33 <AnMaster> ehird, RET and repeat dash several times? ;P
19:59:44 <ehird> I'm talking about split frames. :|
20:00:35 <AnMaster> oh, I thought you wanted automatically inserting underlining with dash for a line
20:00:53 <AnMaster> and I thought "meh, that usually isn't too much work in a README, it isn't worth automating"
20:15:36 -!- AnMaster has quit (Read error: 60 (Operation timed out)).
20:15:49 -!- AnMaster has joined.
20:17:19 -!- BeholdMyGlory has quit (Read error: 104 (Connection reset by peer)).
20:17:32 <ehird> soupdragon: i was almost going to read tmopi but then i realised i'm really tired and so you must wait another day
20:17:41 -!- BeholdMyGlory has joined.
20:24:29 * ehird decides to wile away some time by playing Armagetron Advanced really badly
20:30:58 <AnMaster> fizzie, did you notice 17 and 0 has a tiny overlap. that's 4 images overlaping that one point
20:34:25 <ehird> eh, too sleep dep'd to play even acceptably
20:34:54 <ehird> bloody reaction times
20:36:49 -!- oerjan has joined.
20:38:15 <oerjan> * oerjan thinks ehird has a horribly distorted impression of him
20:38:32 <oerjan> i'd like to clarify that. mainly because i'm in a horrible mood.
20:39:14 <oerjan> while i _do_ on occasion think that the universe is a horrible, disgusting place and that it have been a huge improvement if it didn't exist at all...
20:39:34 <ehird> ...which is, incidentally, absolutely *not* the sentiment in the ed stories
20:39:57 <oerjan> that does not in any way mean that i like to read fiction (or non-fiction) that _reminds_ me of this.
20:40:11 <oerjan> since, after all, i don't particularly _like_ to be in a horrible mood.
20:40:36 <ehird> actually in the ed series it's more humility than self-loathing :P
20:40:38 <oerjan> *would have been
20:41:17 <ehird> also, I like the universe and consider any desires you may ever have for it not to exist to be an abhorrent affront on my rights.
20:41:20 <oerjan> i haven't got to that part yet. just to the first jump to jupiter at the moment...
20:42:12 <oerjan> very well. in my horrible, but slightly less so moods you may do an s/it/i/ in there...
20:42:52 <ehird> apparently you don't believe that enough to actually act on it.
20:43:21 <ehird> :p
20:43:31 <oerjan> (1) i'm horribly lazy (2) i don't really believe death is sufficient to escape it
20:43:59 <ehird> chances of you spontaneously escaping the universe = low
20:44:03 <oerjan> (3) in my more cheerful moods i think my more horrible moods are full of shit
20:44:06 <ehird> chances of you spontaneously escaping the universe after dying = higher
20:44:15 <ehird> oerjan: i would tend to agree
20:46:16 <oerjan> yeah but there are ways to view it that could imply suicide actually makes things _worse_. if the mind somehow survives, you no longer have a body to take your mind off your thoughts after all...
20:46:40 <ehird> I would have guessed your views were closer to transmigration than an afterlife.
20:48:05 <oerjan> those are not necessarily conflicting, it depends on how many options there are to transmigrate to :)
20:51:06 <ehird> Transmigration is such a nice word to waste on a stupid concept :(
20:51:18 <soupdragon> heh
20:51:37 <oerjan> "Some psychic mediums of a variety of religious persuasions (including Hinduism and Wicca) and some Spiritualists believe in transmigration of the soul but hold that reincarnation is an anomaly if it occurs at all."
20:51:49 <ehird> soupdragon: ok,
20:52:01 <ehird> that was a moment of synchronicity... with oerjan in the channel, talking about other such bullshit concepts
20:52:04 <ehird> is that metasynchronicity?
20:52:24 <oerjan> i don't understand what the heck they're talking about... they seem like the same idea to me.
20:52:51 <ehird> (soupdragon = person who bugs me about reading TMoPI; name of TMoPI's vapourware sequel = The Transmigration of Prime Intellect; we were talking about transmigration)
20:53:13 <ehird> (this is synchronicity; oerjan believes in synchronicity, we were talking about general-metaphysical-sorta-stuff which synchronicity falls under)
20:53:14 <soupdragon> the light pours in on me
20:53:17 <ehird> how many meta levels is that
20:53:26 <soupdragon> meta^2 = meta
20:53:45 <oerjan> eek
20:53:54 <oerjan> soupdragon cannot have read GEB
20:54:02 <oerjan> (even i got to that part)
20:54:02 <soupdragon> no I haven't
20:55:07 <oerjan> there's a part where there's a djinn granting wishes. but he doesn't grant meta-wishes
20:55:24 -!- FireFly has quit (Remote closed the connection).
20:55:24 <fizzie> AnMaster: Well, I didn't really have a fixed-degree increment there; I just turned the camera a bit.
20:55:38 <ehird> G.E.B. is a thoroughly entertaining, mind-expanding book that is wrong about almost everything.
20:55:41 <ehird> I love it
20:55:46 <ehird> s/$/./
20:55:46 -!- FireFly has joined.
20:56:18 <oerjan> so you cannot ask him for more wishes. however there is a meta-djinn which you can, but you cannot ask him for more meta-wishes...
20:56:21 <AnMaster> fizzie, ah
20:56:21 <oerjan> iirc
20:56:45 <ehird> GOD Over Djinn.
20:57:17 <soupdragon> ehird aren't you worried about people reading it and not realizing it's nonsense?
20:57:18 <AnMaster> fizzie, I'm down at 0.52 avg and 4 max (but that last one is a line)
20:57:25 <ehird> It's not nonsense.
20:57:29 <ehird> I just disagree with him.
20:57:45 <fizzie> AnMaster: If you want to compare: http://zem.fi/~fis/cs.jpg -- http://zem.fi/~fis/csv.jpg
20:57:51 <ehird> He's very intelligent and has a great understanding of many things, I just disagree with his conclusions and speculations. Most of them, anyway.
20:58:38 <oerjan> and then a main character asks the hierarchy of djinns to grant him a wish not in the hierarchy, leading to a paradox
21:01:58 <oerjan> <ehird> I would have guessed your views were closer to transmigration than an afterlife. <-- actually somewhat, on the grounds that if there were an eternal afterlife i should already be in it, since it is hideously unlikely for me to be in the first 100 years or so of an infinite existence
21:02:21 <AnMaster> fizzie, err what is that latter one?
21:02:28 <AnMaster> oh day
21:02:51 <oerjan> btw this argument can also be applied to the fermi paradox i think...
21:02:56 <AnMaster> fizzie, what is the thing with blue cloth in the middle
21:03:15 <fizzie> The latter was taken during daytime, and it's from that two-minute video clip with the N900.
21:03:21 <AnMaster> ah
21:03:31 <AnMaster> fizzie, that explains why it is fuzzy to put it mildly
21:03:32 <ehird> oerjan: if you have no memory, feelings, or anything inherited from the years you do not remember, in what sense can you say they are you?
21:03:51 <ehird> (resorting to an abstract type "Soul" whose implementation is opaque is verboten)
21:04:04 <AnMaster> fizzie, the former one is much better quality. What are the advantages of the video clip variant
21:04:27 <ehird> It's a video, presumably.
21:04:29 <oerjan> ehird: there are times when i only consider the present moment to be me. those are usually when i'm in a horrible mood.
21:04:35 <AnMaster> ehird, well yes...
21:04:46 <ehird> oerjan: i think what you need to do is get a kitten.
21:04:50 <ehird> they are warm and fuzzy.
21:04:56 <oerjan> and thinking, "this moment should not exist dammit, no matter how good things get in the future"
21:05:08 <oerjan> i think that would be a disaster, ehird
21:05:23 <mycroftiv> did someone mention the fermi paradox?
21:05:27 <oerjan> yeah
21:05:36 <ehird> oerjan: fine a bunny rabbit then, i have two
21:05:44 <ehird> if you get the right breed they're like kittens without the sociopath
21:06:00 <ehird> they just sit there, dumbfounded at the universe, cuddlable.
21:06:38 <mycroftiv> oh wow, we are talking about God over Djinn, over Djinn, over Djinn, over Djinn
21:07:40 <oerjan> mycroftiv: it's an argument i (and probably others) have against the idea that humanity could be the only intelligent species and conquer the universe. because if that were so, it would again be hideously unlikely for us to be _here_, just as civilization is getting up to speed
21:07:49 <oerjan> i'm sure there are counterarguments thouhg
21:07:52 <oerjan> *gh
21:07:53 <fizzie> AnMaster: I'm not sure it has that many advantages; it's perhaps faster to take since you just have to turn recording on, then wave the phone around for a while.
21:08:21 <oerjan> *to be _here_ at this particular moment
21:08:39 <fizzie> AnMaster: The cloth is just a decoration; but the actual thing behind it is a space for book-reading or groupwork or whatever. There's another one too behind the stairs in the middle.
21:08:57 <oerjan> both those examples assume that this moment is somehow a random one from all of time
21:09:11 <fizzie> AnMaster: It would probably also be less horribly blurry if I had that "select sharp frames" tool.
21:09:20 <mycroftiv> oerjan: there are a ton of statistical arguments for/against anthropic type principles - which one exactly are you referring to?
21:09:34 <mycroftiv> i know the fermi paradox itself well
21:10:56 <fizzie> AnMaster: Still, the resolution won't get that much better, since video is recorded at 848x480. Still frames get a lot more pixels.
21:11:02 <AnMaster> fizzie, ah
21:11:19 <AnMaster> fizzie, how do you classify sharpness
21:11:25 <AnMaster> I mean, is there any tools at all for it
21:11:42 <fizzie> AnMaster: There are different metrics for it, yes.
21:11:45 <oerjan> mycroftiv: this argument i reinvented myself, i've read some things on wikipedia later but i don't recall what it's officially called
21:12:24 <fizzie> See for example "Measure of image sharpness using eigenvalues", Information Sciences: an International Journal, Volume 177, Issue 12 (June 2007).
21:12:38 <mycroftiv> oerjan: cool, i know there are quite a few sharp statistical arguments with various implications, can you spell it out explicitly? i didnt quite track your single sentence statement above
21:13:33 <mycroftiv> it sounds like you are basing it on the well-known principle that it is, almost by definition, more likely that we are observing a statistically 'average' outcome than an unusual one ?
21:13:44 <oerjan> yeah i guess
21:14:13 <fizzie> I think enfuse also has some sharpness measures when it decides how to blend the images -- after all, one of the intended use cases for enfuse is to automatically blend a focus stack -- but I'm not sure you can use that for comparing the sharpness of non-aligned images.
21:14:49 <oerjan> one counterargument which i may have read is of course that any observer will be inclined to consider their own time special somehow
21:15:53 <mycroftiv> oerjan: still trying to understand the claim - could it be summarized as "it is likely there are numerous intelligent species in roughly parallel circumstances as humans, due to the observational data collected by humans being presumably a typical data point" ?
21:15:56 <oerjan> turning the antropic principle against the same argument, i guess
21:16:19 <soupdragon> I wish I had read this whole discussion
21:16:26 <mycroftiv> soupdragon: me too!
21:16:27 <AnMaster> fizzie, oh yes good point about enfuse
21:16:38 <oerjan> mycroftiv: yeah that sounds about right
21:17:00 <mycroftiv> oerjan: i think this analytical split is hugely important and not settled at all - between the 'copernican' and 'anthropic' interpretations of how we need to contextualize our particular observational status
21:17:41 <mycroftiv> the copernican principle that 'we are not the center of the universe' vs the anthropic principle that 'we cant assume we are statistically typical, because if we were not atypical (life) we would not be able to make observations in the first place'
21:19:04 <oerjan> mhm
21:19:44 <mycroftiv> for isntance there are a lot of very scary statistical arguments indicating that civilization is probably 'almost over' in terms of the span of years it occupies
21:20:05 <oerjan> yeah i've seen some of those
21:20:17 <mycroftiv> under the theory that we as individuals are probably about in the middle of the overall number of humans to live, and based on population, there will be a lot fewer years in the future because of much higher population
21:20:37 <mycroftiv> in other words, if there are 10 billion people "behind you" in history, and 10 billiion people "ahead of you" in history, that means history only lasts another century or so
21:22:06 <mycroftiv> similar arguments can be made about the likely lifespan of the earth's biosphere relative to the life of the solar system, but those are bit more involved - barrow & tipler have the best material on this still, so far as i know, even though their book is kinda controversial
21:22:07 <AnMaster> fizzie, you could in theory align all those frames before
21:22:19 <AnMaster> then use enfuse for sharpness merging?
21:23:27 <fizzie> Yes, in theory. I could do that just by selecting "aligned images" instead of "blended panorama" and then manually running enfuse on it.
21:24:02 <oerjan> mycroftiv: i also think this can tie into the simulation argument somehow, if we are a simulation of the kind of simulation that it is popular to simulate...
21:24:24 <oerjan> s/simulation/civilization/, second to last
21:24:35 <fizzie> Not sure how well enfuse performs when given more than 340 images.
21:24:58 <oerjan> then we _would_ be typical
21:25:04 <mycroftiv> oerjan: yes, these kinds of statistical arguments can lead to very weird places very fast, im not sure anyone takes them incredibly seriously
21:25:16 <ehird> omega point is bullshit isn't it?
21:25:23 <oerjan> and we are living in interesting times
21:25:25 <mycroftiv> ehird: you mean teihlard de chardin?
21:25:26 <soupdragon> omega point??
21:25:32 <ehird> mycroftiv: tipler's omega point
21:25:33 <mycroftiv> teilhard that is
21:25:34 <ehird> you said tipler
21:25:48 <mycroftiv> oh, the Final Anthropic Principle? yeah that is almost certainly nonsense, but its very cool nonsense
21:25:49 <ehird> soupdragon: i couldn't even tell you, it's vague as fuck
21:25:53 <ehird> mycroftiv: no
21:25:54 <ehird> omega point
21:25:55 <ehird> google it
21:26:08 <soupdragon> my god I haev no idea what anyone is talking about
21:26:13 <soupdragon> what subject is this
21:26:14 <soupdragon> ?
21:26:16 <ehird> ffffffff
21:26:18 <ehird> someone said tipler
21:26:18 <mycroftiv> ehird: that *IS* the Final Anthropic Principle
21:26:20 <ehird> tipler did omega point
21:26:23 <ehird> i criticise omega point
21:26:24 <ehird> fin
21:26:29 <ehird> mycroftiv: I NEVER MENTIONED THE FINAL ANTHROPIC PRINCIPLE
21:26:36 <mycroftiv> ehird: but thats what tipler's omega point IS!
21:26:46 <ehird> argh fine
21:26:47 <ehird> your mom
21:26:48 <mycroftiv> final anthropic principle == tipler omega point
21:27:08 <ehird> i'm too tired to understand existence, you should satiate yourself with my pseudo-quantum thought process bullshit from before
21:27:18 <ehird> i'll even compile it into a paste
21:27:44 <soupdragon> wtf
21:27:46 <mycroftiv> soupdragon: topic of oerjan and my and ehird's semi-recent comments is the Anthropic principle and statistical arguments about life in the universe connected/contrasted
21:27:55 <ehird> soupdragon: i was sleep-deprived and talking about ridiculous things on purpose
21:29:57 <ehird> mycroftiv: http://pastie.org/781173.txt?key=ffbkhcwqrjsvw6b531kka
21:29:58 <ehird> absorb the nonsense
21:30:24 <soupdragon> ehird what the fuck are you smoking quarks
21:30:32 <ehird> *absolutely*
21:30:35 <ehird> I was just sleep deprived dude
21:30:37 <mycroftiv> wow, and I thought some of *my* speculations were a bit on the metaphorical side sometimes
21:30:42 <ehird> in that space of time just after an all nighter
21:30:42 <soupdragon> did you study quantum physics
21:30:45 <ehird> when you become totally delusional
21:30:46 <ehird> and crazy
21:30:47 <soupdragon> or did just read penrose...
21:30:48 <ehird> and are aware of it
21:30:53 <ehird> before you become semi-coherent
21:30:58 <AnMaster> <fizzie> Not sure how well enfuse performs when given more than 340 images. <-- no idea either. But 40 or so made my laptop with 2 GB ram swap trash a bit
21:31:02 <AnMaster> err 4 GB
21:31:03 <ehird> soupdragon: as i said, i was aware of my delusionalness, and merely entertaining them
21:31:06 <AnMaster> on the other hand
21:31:09 <AnMaster> they were much higher res
21:31:11 <ehird> it's like a joke, except there's no ha-ha, just crazy
21:31:16 <soupdragon> this is disgusting
21:31:27 <ehird> haha i offended soupdragon by being silly
21:31:28 <AnMaster> fizzie, as in, 16 bit per channel tiffs from *.mrw
21:31:29 <ehird> today is an interesting day
21:31:35 <AnMaster> (which is the raw format of my camera)
21:31:50 <soupdragon> actually you offended me by saying I was the sort of person who thinks this stuff is real
21:31:56 <ehird> soupdragon: I did not
21:31:58 <fizzie> AnMaster: Yes, well, the remapped images are all 1950x1079-sized; of course they're mostly black, but I'm not sure that helps. In the name of science I'll try it, anyway.
21:31:59 <soupdragon> you did
21:32:01 <ehird> please quote where I said that
21:32:03 <ehird> thx
21:32:05 <soupdragon> no
21:32:08 <soupdragon> it's when I used quantumEd
21:32:15 <ehird> oh, that.
21:32:17 <soupdragon> you thould I was some kind of pseudoscience idiot
21:32:27 <soupdragon> and I never had once even talked about quantum physics
21:32:29 <ehird> that's only because you were saying things that implied you were
21:32:44 <soupdragon> no you just decided to make fun of my nick
21:33:05 <ehird> I was just making an inference from both the ridiculousness of what you were saying, and the common occurrence of raping-quantum-physics by quacks
21:33:37 <ehird> be offended if you want, your call
21:33:55 <AnMaster> fizzie, they aren't mostly black, they are mostly transparent
21:34:13 <AnMaster> fizzie, if they are output as tiff then yes
21:34:44 <fizzie> AnMaster: That's about the same thing; it still needs some cleverness to work well. I didn't toggle on the "output cropped images" flag for Nona, just in case it'd cause problems.
21:34:47 <AnMaster> fizzie, but enfuse and enblend treat transparency specially, which is why you should use tiff there. probably deflate
21:34:47 <mycroftiv> as a meta comment on this conversation, I think its wonderful that within the cultural community of this irc channel, "being stereotyped as the kind of person who believes pseudoscientific gibberish phrased with QM terminology" is the kind of thing that actually happens
21:35:32 <ehird> "Nigger." "Faggot." "Jew." "Quantum mysticist." "Too far, man."
21:35:48 <mycroftiv> ^
21:35:50 <fizzie> Hrm, that was interesting: "enblend: No space left on device - enfuse: an exception occured - enblend: error writing to image swap file."
21:35:57 <ehird> mycroftiv: v
21:36:05 * soupdragon <
21:36:10 <ehird> >
21:36:15 <fizzie> I was wondering why the process memory size stopped increasing after a hundred images or so.
21:36:33 <fizzie> -m megabytes Use this much memory before going to disk (default=1GiB)
21:36:35 <fizzie> Funny flag.
21:36:39 <mycroftiv> maybe it grabs a big buffer and then manages its own memory?
21:37:12 <fizzie> There also does not seem to be any option to specify what disk it uses; I guess it uses the five-gigabyte /tmp.
21:39:07 <mycroftiv> ehird: in re your journey to the dark side of quantum mysticism - perhaps if you try to reformulate all that in terms of actual information processing on different many-worlds branches, you might get somewhere? id throw out any use of mind-related terminology and look at the entropy of information processing
21:39:23 <ehird> mycroftiv: i'd rather not
21:39:29 <ehird> for one, it violates causality entirely
21:39:51 <ehird> as it involves not only communication between many-worlds branches, but such future communications affecting the present
21:40:03 <ehird> both of which are incredibly unlikely.
21:40:19 <mycroftiv> well, causality i dont care about - but if it violates thermodynamics, as Eddington said, (paraphrased) you're doomed
21:40:29 <fizzie> Meh; with some sort of modern 12-gigabytes-of-RAM machine this would all fit in it.
21:41:18 <ehird> it worries me that my long-term survival plan culminates in a battle with entropy
21:41:38 <AnMaster> fizzie, btw for that pano of yours I was working on, you do have some parallax in the trees. Apart from that almost none that is noticeable. And those trees. Hard to actually see it between all the twigs going everywhere. But since you don't use enfuse for it (rather you use enblend) I believe you won't get noise reduction from overlaps. I wonder if you can use enfuse for it.
21:43:42 <AnMaster> <fizzie> -m megabytes Use this much memory before going to disk (default=1GiB) <-- swapping, but not OS
21:43:48 <AnMaster> also how much space did it use
21:43:51 <AnMaster> and on what device
21:43:58 <AnMaster> (as in, how much space was there to use on it)
21:44:14 <fizzie> AnMaster: <fizzie> There also does not seem to be any option to specify what disk it uses; I guess it uses the five-gigabyte /tmp.
21:44:21 <AnMaster> fizzie, ah noticed that just now
21:44:58 <AnMaster> fizzie, well you could use a chroot with everything except tmp just bind mounted into it. and tmp pointing to somewhere much larger.
21:46:44 <Ilari> Or namespaces...
21:46:56 <ehird> Ilari: Plan 9 namespaces, you mean?
21:46:57 <ehird> If so, <3
21:47:38 <Ilari> Dunno... But each namespace has its own set of mounts.
21:48:26 <oerjan> ehird: I just realized something... any sufficiently advanced simulation argument is indistinguishible from spirituality ;D
21:48:36 <ehird> Sounds like Plan 9 namespaces to me; ask mycroftiv.
21:48:47 <ehird> oerjan: yes, the simulation hypothesis is unfalsifiable and unscientific
21:48:55 <oerjan> um no
21:49:00 <ehird> um yes.
21:49:16 <ehird> a simulation is indistinguishable from a regular universe (intervention is just exceptions to the laws of physics)
21:49:16 <oerjan> oh wait
21:49:25 <ehird> since it is indistinguishable, "we are living in a simulation" is unfalsifiable
21:49:33 <ehird> therefore, the simulation hypothesis is unscientific
21:49:52 <mycroftiv> with a little bit of work, you can actually do per process namespaces in linux, not just plan 9 - but you have to use/be root, and you have to make your own tool to start a new namespace
21:50:05 <oerjan> ehird: and yet if there was a way to travel between simulations, it would be idiotic do doubt it
21:50:09 <oerjan> *to
21:50:23 <ehird> oerjan: yes, that would be a worrying failure of rationality
21:50:25 <mycroftiv> the linux kernel has had per process namespaces since 2.4.19 but sadly absolutely nobody has even noticed, much less built anything to make use of the capacity. sad.
21:50:27 <ehird> however, i find it rather unlikely
21:50:30 <ehird> per occam's razor
21:50:35 <ehird> so i don't worry about it too much
21:50:46 <oerjan> well with the current public evidence, sure
21:51:10 <ehird> and the universe could have been created 2 seconds ago with the current public evidencce
21:51:12 <ehird> occam's razor says no
21:51:28 <fizzie> AnMaster: Heh, 125M was left free on /tmp after I told enfuse to use 2.5G of RAM. (And still it swaps, bleh.)
21:51:46 <Ilari> The reason why one has to be root is that it wouldn't make much sense otherwise as mounting is priviledged and that being able to replace stuff in /etc is dangerous.
21:51:59 <ehird> Ilari: plan 9 does it for every single process safely.
21:52:02 <oerjan> anyway my point was more to the idea that a universe with most of the trappings of a spiritual worldview would not necessarily be unscientific, and could be technologically produced
21:52:47 <ehird> that is true. but most spiritualists would be deeply upset by that
21:53:01 <ehird> to them it isn't proper spiritualism if it isn't truly unexplainable
21:53:06 <ehird> *by that
21:53:06 <oerjan> heh
21:53:19 <ehird> which is an incredibly worrying form of anti-intellectualism
21:54:22 <AnMaster> fizzie, why was pitch for image 4 unchecked?
21:54:43 <AnMaster> fizzie, also it didn't use those 125 MB RAM?
21:54:45 <AnMaster> err
21:54:47 <AnMaster> disk
21:55:06 <AnMaster> well as long as it didn't actually use it all and succeeded it is all good isn't it?
21:55:48 <AnMaster> fizzie, anyway you do know you need special parameters for contrast stacks right? some hardmask thing + turning off defaults weightings and turning on another one
21:56:14 <AnMaster> forgot details, see panotools wiki, page is called (iirc, and not sure about caps) "enfuse reference manual"
21:56:50 <fizzie> Yes, well, I sort of deduced something sensible-looking from the enfuse manpage already.
21:57:05 <fizzie> It ran out of disk space during the middle, though; but at least there was enough space to load all images. "Yay."
21:57:28 <AnMaster> fizzie, XD
21:58:25 <AnMaster> fizzie, I believe it may space usage need may grow exponentially or something for this, it wouldn't surprise me as contrast stack merging was very very much slower than normal enfuse usage.
21:58:36 <AnMaster> fizzie, also it was very noise sensitive
21:58:46 <ehird> poop
21:58:50 <ehird> the best word.
21:58:55 <ehird> a placeholder for any occasion
21:58:57 <ehird> and some unoccasions.
21:59:25 <AnMaster> fizzie, so it was best to first merge several photos to reduce noise, then for each of those produced use that for the contrast merging
21:59:38 <fizzie> AnMaster: Well, it uses TMPDIR env-variable to select the place, so at least I can point it at some other disk easily enough.
22:00:14 <AnMaster> fizzie, ah
22:00:52 <AnMaster> fizzie, just never ever let it swap trash on a single core system, for some reason dual core systems are much more responsive even when swap trashing in my experience
22:01:44 <AnMaster> the disk in the single core system was rated for higher RPM too.
22:06:11 <fizzie> enfuse's "sharpness" seems -- as far as I can tell, anyway -- to be mostly based on local contrast measures, which isn't anything too fancy. Well, we'll see. This time I put in "-v" too to make it a bit more noisy.
22:06:34 <AnMaster> fizzie, strange thing: same *.pto file loaded in hugin on desktop and laptop. Laptop has a slightly newer version of hugin/enfuse+enblend/panotools. Clicking stitch on desktop made use of enfuse. Not so on laptop
22:08:07 * oerjan wonders why the heck his wrist watch has the date set to 22nd...
22:09:16 <fizzie> I'm not so sure these video images can be made to align well enough that enfuse's contrast-based blending would make sense. Though at this point I'd be happy just to get an output file.
22:09:17 <AnMaster> oerjan, didn't it sync properly?
22:09:21 <AnMaster> check the ntp settings on it
22:09:22 <oerjan> :D
22:10:22 <AnMaster> fizzie, how much disk space is it using?
22:10:36 <ehird> oerjan: i'm not sure AnMaster was joking
22:10:40 <AnMaster> fizzie, also it could be worth trying it on a small section. Say 20 images around the middle
22:10:43 <AnMaster> ehird, -_-
22:10:49 <AnMaster> ehird, of course I were
22:10:53 <ehird> *was
22:10:57 <AnMaster> though
22:11:07 <AnMaster> it would be *awesome* to ssh to your clock to check it's ntp settings
22:11:09 <fizzie> AnMaster: Something like 6 gigabytes so far.
22:11:09 <AnMaster> just awesome
22:11:10 <oerjan> ehird: one can never be sure
22:11:20 <oerjan> actually it's been doing strange things before, my rational guess is that the adjustment knob is sometimes coming loose
22:11:21 <AnMaster> fizzie, not more?
22:11:54 <fizzie> AnMaster: Well, I had to restart it to twiddle some parameters, so it hasn't really run for very long now.
22:11:57 <oerjan> (the irrational ones involve synchronicity and spooky signs, of course)
22:12:12 <AnMaster> oerjan, oh yeah you said it was historical just a few days ago. Forgot that. Also, does it know about leapyears?
22:12:24 <AnMaster> or for that matter, that some month have only 30 days?
22:12:25 <oerjan> it doesn't know about _months_ :D
22:12:35 <oerjan> nope
22:12:58 <oerjan> it does know about weekdays though, which is an improvement over my previous watches
22:13:03 <AnMaster> oerjan, then it is easy, you forgot to reset it for months that have only 30 days. It must been quite some time ago you looked at the day for that to have happened
22:13:14 <AnMaster> fizzie, ah
22:13:19 * oerjan swats AnMaster -----###
22:13:25 * Sgeo wishes the Chrome WOT extensions actually blocked problematic sites from loading
22:13:32 <fizzie> I have a 31-day-assuming clock too. Fortunately half-out-pulling the adjustment know makes it adjust the day but not the time.
22:13:37 <oerjan> i am in fact quite sure that i corrected it after new year
22:13:46 <oerjan> mind you, it may have been on the 2nd
22:13:59 <ehird> i'd totally make an ntp clock
22:14:06 <ehird> i bet none of the computo-clocks use ntp :|
22:14:23 <ehird> the cool thing would be that it would be one big ring, and the display would be transparent
22:14:39 <ehird> so the time would actually be overlaid seamlessly onto what looks like plain glass!
22:14:49 <ehird> dunno where the mechanics would go, but :P
22:14:56 <fizzie> Engadget Mobile has blogged about a couple of watch-phones lately; and phones in general are going smart. It's only a matter of TIME (eh, eh?) before clocks do NTP too.
22:15:18 <Gregor> My watch gets its time from the network.
22:15:24 <ehird> Gregor: yes but it sucks
22:15:25 <soupdragon> I've got a q
22:15:29 <ehird> Gregor: no 3g internet for doing it
22:15:33 <Ilari> Aren't there "radio controlled" clocks?
22:15:37 <fizzie> Wasn't there some sort of implant clock with a LED-based display pretty close to the skin, so that you just have glowing numbers in your wrist? Or was this in fiction?
22:15:38 <ehird> Ilari: UNACCEPTABLE
22:15:43 <ehird> omg
22:15:47 <ehird> you could have an eternal september clock
22:15:50 <soupdragon> in all the alien based sci-fi I saw.. the 'aliens' are pretty much just people but with blue skin
22:15:52 <ehird> <3
22:16:05 <soupdragon> so are there any good ones which are more uh.. realistic?
22:16:12 <ehird> soupdragon: does the name start with an a and end with a vatar
22:16:29 <Gregor> Well, if they don't have blue skin, they have pointy ears.
22:16:36 <Gregor> Or they're just humans that are mysteriously from a distant galaxy.
22:16:41 <Sgeo> There's one person who always rates sites good because "Alexa said "Most visited website""
22:16:43 <fizzie> AnMaster: Bleh; it crashed with "enfuse: an exception occured - enblend: unable to create image swap file."; this time there was no mention of a full disk, though.
22:16:58 <soupdragon> in ringworld, the pearsons puppeteers are kinda alient
22:17:14 <ehird> i think heinlein did some kind of alien shindig that was turned into a movie, maybe
22:17:26 <soupdragon> oh it doesn't have to be a film
22:17:27 <ehird> dunno man. dunno.
22:17:40 <ehird> soupdragon: well then heinlein definitely did some things with aliens in them :P
22:18:33 <AnMaster> fizzie, where do you want me to upload the pano. Since it is your source data.
22:18:57 <AnMaster> fizzie, the tiff is a bit large so doing a jpg at high quality. Exported jpg from the tiff using gimp
22:19:19 <AnMaster> 6,3Malvarhc_3.jpg
22:19:26 <AnMaster> fizzie, I don't have any own site atm.
22:19:29 <oerjan> soupdragon: http://tvtropes.org/pmwiki/pmwiki.php/Main/StarfishAliens
22:19:44 <AnMaster> fizzie, thus it must be some filebin or imagebin
22:19:55 <soupdragon> Nonhuman psychology!! this
22:19:58 <fizzie> Er, well, you can do pretty much whatever you want with it. I could take a .jpg export and the corresponding .pto file for my own disk, though; you probably know more about file-sharing sites than I do.
22:20:05 <oerjan> (MWAHAHA)
22:20:09 <fizzie> (Since I don't know anything about them.)
22:20:48 <soupdragon> wow this tvtropes site is good
22:20:54 <ehird> soupdragon: see you in 2 hours
22:21:06 <ehird> you may want to physically destroy your mouse to shorten this timespan
22:21:07 <soupdragon> oh no
22:21:13 <soupdragon> I don't want to get into Hard Sci-Fi
22:21:14 <ehird> and also disable any keyboard shortcuts that could lead to links opening
22:21:19 <soupdragon> I just know that would be the beginning of the end
22:21:30 <ehird> tv tropes is about everything, not just scifi
22:21:32 <ehird> and you are stuck there now
22:21:33 <ehird> sorry.
22:21:36 <oerjan> dammit i clicked on a link myself
22:21:37 <ehird> i hope you didn't have plans
22:21:38 <AnMaster> fizzie, XD. Well I would use ompload. since I have a command line tool for it
22:21:50 <Gregor> Dec 18 23:31:27 <Lawlabee> I'd like to see a sci-fi about us failing to find even the remotest similarity to some clearly-intelligent alien race, and ultimately failing to communicate in any useful way.
22:22:01 <Gregor> Dec 18 23:33:11 <Lawlabee> It should be about how we're so wildly dissimilar, that even thinking about communication is almost meaningless.
22:22:25 <ehird> Cells? Bah! Cells are primitive earth technology.
22:22:32 <ehird> And why would you separate your... "bodies", you call them, like that?
22:22:36 <soupdragon> cells are wonderful
22:22:41 <AnMaster> fizzie, as for the pto I can send it over too. Still I aim to find a way to use enfuse for it properly, it seems while enfuse was used on desktop, it was used once per image. So enfuse was a identify transformation. It even printed warnings about this.
22:22:46 <ehird> And what's the usefulness of rationality if you have a trillion "gut feelings" to go on?
22:22:50 <soupdragon> we're fractal with cells
22:22:54 <ehird> Says the planet of the blobs.
22:23:03 <soupdragon> cells ==> organs ==> people
22:23:05 <ehird> Or, would say, if it could say.
22:23:07 <soupdragon> self similarity
22:23:09 <AnMaster> fizzie, for the image: http://omploader.org/vMzlzdA
22:23:10 <oerjan> Gregor: i haven't read/seen it myself, but isn't that part of the point of Solaris?
22:23:35 <fizzie> Annoying; enfuse's documentation says -f could be used to manually select the output size, but it doesn't seem to do anything. (Or at least the specs reported by -v list the "full" size anyway; it might crop the final output, which is pretty useless.)
22:23:38 <ehird> Solaris (1961), by Stanisław Lem, is a science fiction novel about the ultimate inadequacy of communication between human and non-human species.
22:23:40 <ehird> APPARENTLY
22:23:40 <Gregor> oerjan: Haven't read/seen/heard of it, unless you're referring to the operating system.
22:23:48 <Gregor> lawl
22:23:53 <soupdragon> Gregor I want to see that too
22:24:27 <ehird> "is covered with an ocean that studies indicate actually is a single, planet-sized organism, occupying the surface as an ocean."
22:24:32 <ehird> Fucking thing stealin' mah idae
22:24:35 <ehird> *idea
22:24:44 <ehird> Fuck you Stanisław Lem and your retrostealing
22:24:45 <AnMaster> fizzie, and a diff for it: http://sprunge.us/DLJC (the pto)
22:24:51 <ehird> Good thing you're fucking DEAD now.
22:25:13 <soupdragon> hey guys what if the internet is consciouss??
22:25:23 <soupdragon> woah
22:25:29 <ehird> the internet is intelligent in some sort of sense, but it's very retarded
22:25:43 <ehird> because the components are malignant; disagreeing, not communicating in the same way, etc.
22:25:48 <AnMaster> fizzie, enfuse docs you mentioned, hm what?
22:25:53 <AnMaster> fizzie, did you have issues with it still
22:26:33 <fizzie> Well, no issues in the sense that I cropped the aligned source images in Hugin instead.
22:27:00 <oerjan> Gregor: i also read on wikipedia about his novel Fiasco, while they do manage a _little_ communication it does end in disaster because of misunderstandings iirc
22:27:12 <oerjan> i think Lem may have been big on the subject
22:27:31 <fizzie> But "enfuse -h" says "-f WIDTHxHEIGHT[+xXOFFSET+yYOFFSET: Manually set the size and position of the output"; yet (according to -v) it uses the bounding box deduced from the coordinates in the files.
22:27:33 <AnMaster> fizzie, ah so you are just testing on a small part now?
22:27:49 <ehird> Sŧanɨsław Łem
22:27:58 <AnMaster> fizzie, also did it work very well?
22:28:21 <fizzie> It is not ready yet, so can't say.
22:28:27 <soupdragon> what do you think about Sapir-Whorf?
22:28:50 <soupdragon> I heard some people saying it's just nonsense but I tohught it was true
22:28:53 <oerjan> augur: please maim soupdragon for us
22:28:54 <ehird> soupdragon: widely decredited
22:29:03 <ehird> soupdragon: it is the sort of thing that sounds like it should be true
22:29:05 <soupdragon> so you think it's just rubbish?
22:29:09 <ehird> and so the meme propagates that it is
22:29:14 <ehird> soupdragon: it has been shown to be basically entirely false.
22:29:26 <ehird> see wikipedia for more info iirc it had a lot of links
22:29:29 -!- bsmntbombdood_ has changed nick to bsmntbombdood.
22:30:01 <oklopol> solaris was fun
22:30:04 <soupdragon> did you read the story about the Piraha ?
22:30:19 <soupdragon> they don't have words for numbers so they did bad in the counting test
22:30:26 * ehird yawn
22:30:29 <soupdragon> isn't that evidence of Sapir-Whorf
22:30:35 <fizzie> AnMaster: At least Hugin's "output remapped images" thing was clever enough to skip completely transparent images; now I have "only" 293 images of 526x383 pixels.
22:30:38 <oklopol> not really
22:30:45 <soupdragon> or maybe they just didn't sit counting coins for 7 years of their life
22:30:46 <ehird> it is a single data point of evidence for one instance of sapir-whorf
22:30:55 <ehird> and even then tenuous
22:31:07 <oerjan> soupdragon: i vaguely recall the piraha story isn't exactly watertight either
22:31:10 <ehird> soupdragon: you'd better stop talking about sapir-whorf before augur brutally murders you btw :P
22:31:23 <soupdragon> well I better read up on this a lot because I thought for some reason sapir-whorf was pretty much a fact
22:31:25 -!- Slereah_ has quit (Read error: 60 (Operation timed out)).
22:31:36 <oerjan> ehird: well, he hasn't responded to my request to do so yet...
22:31:43 <soupdragon> hey I just ask because I want to learn, I am malleable
22:31:45 <ehird> he lies in the shadows
22:31:45 <uorygl> You seem to be assuming that the reason the Piraha did badly on the counting test was that they had no words for numbers.
22:31:46 <ehird> waiting
22:31:47 <ehird> WAITING
22:31:47 <oklopol> it's evidence that if you don't know a way to count stuff, you won't be able to, i'm not sure that's what sapir-whorf is about
22:31:51 <ehird> ...
22:31:52 <ehird> WAITING
22:32:00 <ehird> ...
22:32:02 <soupdragon> uorygl, sort of, but I pointed out it might be because of another reason
22:32:08 <ehird> BANG
22:32:11 <ehird> You are dead.
22:32:13 -!- Slereah has joined.
22:32:20 <AnMaster> fizzie, how would you get completely transparent images?
22:32:41 <fizzie> AnMaster: The ones that are completely outside the cropping region I selected in Hugin.
22:32:43 <uorygl> soupdragon: might be, sure. So I guess you've found some evidence for it.
22:32:51 <oerjan> AnMaster: vacuum
22:32:57 <AnMaster> fizzie, ah. So you aren't testing on the full thing then any longer?
22:33:02 <AnMaster> oerjan, -_-
22:33:14 <fizzie> Well, I'll try the full thing if the small thing yields any sensible results.
22:33:32 <augur> soupdragon: sapir-whorf is pretty much anti-fact
22:33:40 <soupdragon> really how come?
22:34:02 <fizzie> AnMaster: And graah. Even though it says 'Input image "small0337.tif" RGB UINT8 position=729x697 size=526x383' for all images, then it goes "Output image size: [(0, 0) to (1255, 1080) = (1255x1080)]" even if I try to use "-f 526x383".
22:34:02 <augur> except cognitive linguists like to say its fact because they have this real lack of braincells
22:34:04 <augur> what do you mean how come
22:34:12 <ehird> oh snap the augur arrives
22:34:13 <soupdragon> how can you disprove it
22:34:16 * ehird popcorn
22:34:19 <AnMaster> fizzie, does that matter?
22:34:27 <ehird> soupdragon: is your argument "it's not disprovable"?
22:34:31 <ehird> if it is, then that's self-defeating
22:34:37 <ehird> unfalsifiable statements are unscientific rubbish to be ignored
22:34:43 <AnMaster> fizzie, I mean, you could manually crop it later?
22:34:43 <ehird> see, e.g. god.
22:34:49 <augur> soupdragon: a better question is what evidence is there in favor of it at all
22:34:53 <fizzie> AnMaster: It takes long and uses a lot of space even at the 1255x1080 size. But curiously without a "-f" option it uses the small size, heh-heh.
22:34:55 <augur> and the answer is there is none
22:34:55 <uorygl> So history is to be ignored?
22:34:55 <soupdragon> ehird no I am not even arguing either side
22:35:09 <ehird> soupdragon: posing an argument for side x != being on side x
22:35:12 <ehird> you have certainly done te former.
22:35:34 <AnMaster> fizzie, So I got remapped images and enfused them. Made my laptop swap trash -_-
22:35:36 <AnMaster> but it worked
22:35:36 <soupdragon> quiet ehird, adults are talking
22:35:44 <ehird> *the
22:35:48 <uorygl> You can't perform an experiment demonstrating that George Washington wasn't female.
22:35:50 <ehird> soupdragon: yawn.
22:35:59 <AnMaster> fizzie, looks like slightly less noise in the overlaps
22:36:00 <ehird> "i haven't heard that one before"
22:36:07 <soupdragon> how can you not understand this
22:36:07 <fizzie> AnMaster: Ahem, well: http://zem.fi/~fis/fused.jpg
22:36:18 <AnMaster> fizzie, wow :D
22:36:21 <AnMaster> ehird, look at that
22:36:23 <soupdragon> I don't have any kind of argument for either side because I'm a beginner and I just want to learn about this
22:36:39 <ehird> AnMaster: trippy
22:36:40 <soupdragon> you make guesses and observations and try and get a hold on something when you learn about it
22:36:50 <ehird> AnMaster: can i have accompanying drugs?
22:36:50 <soupdragon> this is like, the most basic thing ever
22:36:53 <augur> soupdragon: anyway, theres no evidence for it. its just conjecture on the part of some whacky linguists
22:36:55 <ehird> soupdragon: listen
22:36:57 <AnMaster> fizzie, not very well aligned were they? as in less than 0.2 pixels max?
22:36:59 <soupdragon> augur, okay
22:37:01 <ehird> i'm not accusing you of taken sides
22:37:02 <ehird> but listen
22:37:19 <uorygl> I guess I should figure out what the Sapir-Whorf hypothesis actually is before saying much about it.
22:37:20 <ehird> 14:30:04 <soupdragon> did you read the story about the Piraha ?
22:37:21 <ehird> 14:30:19 <soupdragon> they don't have words for numbers so they did bad in the counting test
22:37:21 <ehird> 14:30:29 <soupdragon> isn't that evidence of Sapir-Whorf
22:37:30 <ehird> that *is* an argument for sapir-whorf, even if you do not personally take it as fact
22:37:34 <ehird> and even if it is read as a conditioinal
22:37:38 <ehird> that is not a statement about you
22:37:38 <soupdragon> <soupdragon> or maybe they just didn't sit counting coins for 7 years of their life
22:37:40 <AnMaster> fizzie, I believe using enfuse made that vertical further away part of the triangular wall look antialiased XD
22:37:46 <ehird> soupdragon: yes, and that is a separate, opposing argument
22:37:48 <ehird> it is a description of the nature of the object
22:37:50 <soupdragon> okay
22:37:50 <ehird> not a description of you
22:37:58 <ehird> so stop taking it as a declaration of your personal beliefs
22:38:08 <ehird> i'm just saying that you clearly are posing arguments, on both sides
22:38:12 <soupdragon> ohhh I see
22:38:13 <soupdragon> okay sorry
22:38:18 <augur> soupdragon: regarding the piraha, the question is not whether or not they have numbers, ok
22:38:18 <ehird> all i was doing is discounting one, thereby helping you learn
22:38:18 <fizzie> AnMaster: I don't think they're alignable well with just pitch/yaw/roll and global view/barrel parameters, and even optimizing that took a long long time. The image also sort-of makes sense if you think how it's made: each image pixel comes for the highest-contrast source image, so the one that has most detailed structure in it.
22:38:21 <ehird> no probs
22:38:44 <augur> no, they have no number words, and no, they dont do good at numerical tasks, right
22:38:49 <AnMaster> fizzie, yeah
22:38:51 <augur> but they also dont have a NEED for numerical tasks
22:39:02 <augur> so is it that their language has no numbers, therefore they suck at numerical tasks
22:39:10 <uorygl> Huh. The Sapir-Whorf hypothesis as given by Wikipedia seems obviously true.
22:39:10 <AnMaster> fizzie, you need very very well aligned for that feature to work. Steady tripod recommended and such
22:39:13 <soupdragon> yes I see what you mean
22:39:15 <augur> or that their environment is such that they have no need for numbers, and therefore dont have them?
22:39:29 <augur> uorygl: there are a variety of versions of the S-W hypothesis
22:39:33 <AnMaster> fizzie, the trees look rather nice though
22:39:42 <uorygl> Which, essentially, is "People's vocabularies affect their thinking."
22:39:50 <AnMaster> fizzie, what was the url of the original?
22:39:54 <fizzie> AnMaster: It might be better just to look at global full-frame sharpness and use that to select a reasonable set of overlapping images; unfortunately I don't think I know of a ready-made tool for *that*. (After all, the amount of motion-blur in a single image is pretty much the same for all pixels of it.)
22:39:57 <augur> all of the versions that are even remotely true are trivial and not related to language in any interesting way
22:40:06 <fizzie> AnMaster: http://zem.fi/~fis/csv.jpg
22:40:10 * uorygl nods.
22:40:15 <augur> for instance, the one you just cite, uorygl, is a pointlessly uninteresting version
22:40:27 <ehird> fizzie: damn i so fucking wish your building really had all these curves
22:40:29 <fizzie> "cs" as in "Computer Science building", and "v" as in "from video".
22:40:29 <ehird> would be just so beautiful
22:40:36 <oklopol> i don't believe my vocabulary affects my thinking
22:40:38 <augur> because it essentially says nothing more than "stuff people have to pay attention to on a regular basis becomes more salient to them as a result"
22:40:53 <augur> well big deal, right?
22:40:58 <augur> thats just what we expect from brains
22:41:03 <augur> not a fucking revolutionary insight
22:41:19 <fizzie> ehird: Yes, and the curves should also change depending on what direction you are looking at them from.
22:41:22 <soupdragon> but I was thinking I should learn another language so that I could be better at thinking
22:41:31 <augur> and even worse, uorygl, is that thats not the whole of it
22:41:48 <uorygl> oklopol: think about balkanization.
22:41:54 <augur> the RESEARCH suggests that peoples vocabularies _only affect their thinking when they're thinking for language_
22:41:57 <ehird> fizzie: well no i wouldn't require that; but you could have that curvy-cs-metal-stop-you-falling-thing shape and also the outer curvy-on-a-slant-plus-the-ampitheater-curves-around-it-the-other-way thing
22:42:06 <ehird> (the slope thing could just be actual building underground)
22:42:13 <ehird> (rather than a very bad foundation for a building)
22:42:14 <uorygl> >.>
22:42:15 <ehird> anyway if you did that
22:42:15 <augur> that is, if they have to express something in a linguistic mode, then the words they have available to them affects how they think about the problem
22:42:17 <ehird> so fucking sweet
22:42:22 <ehird> 55 architecture prizes and a duck
22:42:35 <AnMaster> fizzie, yes agreed about full frame
22:42:36 <oklopol> uorygl: i don't exactly believe two groups bigger than 10 people can actually have anything against each other
22:42:40 <augur> but in a NON-linguistic mode (lets say, a situation where they have to point to something) vocabulary size has no effect
22:42:42 <oklopol> unless they are retards
22:42:56 <soupdragon> you know way back when people did mathematics using words
22:43:01 <ehird> oklopol: apart from general position statements, you mean?
22:43:07 <soupdragon> instead of x^2 and all that
22:43:08 <AnMaster> fizzie, on the other hand you can see how people moved in that "trippy" one
22:43:10 <ehird> like "people who are anti-skub" vs "people who are pro-skub"
22:43:17 <oklopol> well right
22:43:17 <ehird> soupdragon: yes it sucked
22:43:21 <AnMaster> fizzie, it is rather interesting
22:43:57 <fizzie> Yes. I'd like to compute the full-size image for that, but it's so memory-intensive.
22:44:02 <soupdragon> since the notation got better it was easier to do this stuff, like it make things clear and explicated all the important things
22:44:17 <oklopol> obviously if they have actual personal differences, i just don't believe groups over 10 people can have any sort of opinions as a group, unless the group was formed from people with those beliefs.
22:44:24 <soupdragon> e.g. associativity is visible in 1 + 3 + 4 where as, it's not in (+ 1 (+ 3 4))
22:44:27 <oklopol> obviously this is not true, but i don't care.
22:44:57 <soupdragon> and you think that the human language is not like that? like say you had some rubbish language where everything was really difficult to phrase
22:45:04 <fizzie> AnMaster: I should've gone to the "local image descriptors" (think the SIFT keypoints used in autopano-SIFT-C, except new research from 2007-2009) seminar course they have in this period; then I could run all these panorama things on our cluster computers, since they'd be related to studies.
22:45:18 <uorygl> Neat, Moore's paradox.
22:45:21 <soupdragon> couldn't there be some much better one that you can really think in, and it would help you make arguments
22:46:15 <augur> soupdragon: what are you talking about?
22:46:21 <uorygl> Less Wrong, a rationalistic community, has developed a sort of rationality jargon.
22:46:23 <augur> people dont think in language
22:46:24 <augur> :|
22:46:41 <ehird> uorygl: There is not that much Less Wrong jargon.
22:46:44 <ehird> Akrasia; that's about it.
22:46:55 <oklopol> soupdragon: mathematical notation doesn't really make anything except simple algebraic manipulation easier, if you're solving an interesting problem, notation is mostly just for communication, and is not how you actually solve the problem.
22:46:56 <soupdragon> augur, I do! (sometimes)
22:46:57 <ehird> uorygl: Also, be careful. Less Wrong is a community of people who identify as rationalists, not a rationalistic community.
22:46:59 <oklopol> at least for me
22:47:04 <augur> soupdragon: no, you dont.
22:47:12 <uorygl> Signaling, Pascal's mugging, one-boxing...
22:47:12 <ehird> Putting unwarranted faith in their rationalism is not a good idea.
22:47:26 <ehird> Signaling is Robin Hanson's, i.e. Overcoming Bias.
22:47:28 <AnMaster> fizzie, indeed. btw about enfuse for outdoors pic, will upload in a sec. Just comparing them. Here is a teaser (before/after): http://omploader.org/vMzl0MQ
22:47:29 <ehird> One-boxing, granted.
22:47:53 <augur> soupdragon: you should read pinker, he has some very good arguments why the SWH is in general worthless
22:48:08 <uorygl> Crisis of faith, tabooing, map, territory...
22:48:23 <soupdragon> augur, any particular ones to look for ? http://pinker.wjh.harvard.edu/books/index.html
22:48:38 <AnMaster> fizzie, there is of course more noise in areas with no or less overlap
22:48:45 <augur> all of them are good, but language instinct and stuff of thought are probably better for this issue
22:48:54 <augur> stuff of thought has a whole chapter deconstructing the issue
22:49:04 <AnMaster> fizzie, and some stuff looks anti-aliased in a rather suspect way.
22:49:15 <augur> i have the book if you want a copy
22:50:20 <uorygl> ehird, do you have much to say about the Less Wrong crowd?
22:50:33 <ehird> uorygl: Much to say in what sense? And why?
22:51:07 <AnMaster> fizzie, opinion?
22:52:15 <uorygl> I'm curious about your opinions of them.
22:52:24 <AnMaster> fizzie, oh and where was the night time one?
22:52:43 <fizzie> Of the CS building? cs.jpg is that one.
22:52:55 <fizzie> I'm not sure I have more of an opinion there than to agree that it's less noisy when enfused.
22:53:03 <AnMaster> <ehird> fizzie: well no i wouldn't require that; but you could have that curvy-cs-metal-stop-you-falling-thing shape and also the outer curvy-on-a-slant-plus-the-ampitheater-curves-around-it-the-other-way thing <-- the first thing, do you mean the banister (iirc?)
22:53:07 <ehird> uorygl: I guess I have a bit to say, but I'd probably want to do it in /msg to avoid multithreading this place even more.
22:53:11 <ehird> AnMaster: yeah
22:53:14 <ehird> curvy metal
22:53:16 <AnMaster> fizzie, http://omploader.org/vMzl0NA
22:53:36 <AnMaster> ehird, with those sudden jumps in it due to parallax?
22:53:40 <soupdragon> :(
22:53:43 <ehird> Anshaddap :P
22:53:46 <soupdragon> I don't want to miss out on the less wrong talk
22:53:54 <ehird> fine then
22:54:00 <AnMaster> ehird, that would be cool though :)
22:54:02 -!- MigoMipo has quit.
22:54:09 <ehird> #inwhichehirddivulgeshisfewopinionsonlesswronginahideouslyverboselynamedchannel
22:54:19 <ehird> darn, too long
22:54:26 <AnMaster> ehird, yeah I was about to mention that
22:54:28 <fizzie> Misread ampitheater as "armpit heater". (The line broke at the middle t there.)
22:54:34 <AnMaster> fizzie, :D
22:54:39 <ehird> #iwedhfoolwiahvnc
22:54:58 <AnMaster> ehird, also the armpit theatre *is* curved
22:55:03 <AnMaster> not the same way
22:55:05 <AnMaster> but it still is
22:55:20 <AnMaster> fizzie, that is now it's official name
22:55:44 <AnMaster> ehird, #iwedhfoolwiahvnc <-- did you notice that "fool" in there ;P
22:55:59 <AnMaster> s/;/:/
22:56:25 <AnMaster> fizzie, in the night time one, that person there does have a corona if you see what I mean
22:57:00 <ehird> I wed H. Fool W.; I... ah, VNC.
22:57:18 <AnMaster> ehird, heh
22:57:56 <fizzie> AnMaster: That one is made from enblending 30 source images, each source image being generated from three exposures with align_image_stack + enfuse with default options.
22:58:08 <AnMaster> ah
22:58:10 <AnMaster> that explains it
22:58:29 <AnMaster> fizzie, also do you see those antialiased walls in http://omploader.org/vMzl0NA
22:58:45 <fizzie> 0.25s, 0.5s and 1s shutter times, it seems.
22:58:50 <AnMaster> since it is progressive it may take a white to see it. also you need to zoom past 200 percent
23:01:05 <AnMaster> fizzie, anyway over all I think it is way better than the enblended one due to less noise. Also it seems to have been corrected for vignetting already somehow. Not sure where and when
23:02:08 <soupdragon> <metacollin> Actually, people who code in java think like assholes, and people who code in everything else don't. There, I just proved Sapir-Whorf
23:02:17 <soupdragon> (he was joking)
23:02:38 <augur> it is however true, happenstantially.
23:04:18 <fizzie> AnMaster: If you look closely at cs.jpg, you can see a ghost, also. (It's there on the third -- uppermost -- floor, just coming out of the last mostly-visible door on the long corridor/balcony/walkway on the left side.)
23:05:36 <ehird> soupdragon: Surely he means ruby
23:06:49 <AnMaster> fizzie, err?
23:06:57 <AnMaster> fizzie, in the further or the closer end?
23:07:22 <fizzie> AnMaster: In the far end; the closer end would be "first", not "last". At least for my intuition.
23:07:34 <oklopol> clearly the programming language you're coding in affects the way you think about the problem, but that's only because all you're doing is translating it into the language
23:07:38 <AnMaster> fizzie, the one at the very end? well no I can't
23:08:48 <fizzie> AnMaster: Well, not the very end of the corridor if you mean the doors that are directly next to the far brick wall; but the last visible door that goes to one of the rooms on the left side. There's a very vaguely person-shaped shadow-looking thing that sort of looks like it's coming out of the door.
23:08:50 <oklopol> well, not all, but most or programming is just that, translating thoughts into a crappy language.
23:09:13 <oklopol> or at least that's the reason i don't program much nowadays
23:09:42 <AnMaster> fizzie, that thing that looks like a darker, filled y=-x^2 curve overlayed?
23:10:15 <fizzie> AnMaster: A bit like that, yes. I can see a head there above it, but maybe that's just because I've seen the source images.
23:10:23 <AnMaster> fizzie, possibly
23:10:42 <AnMaster> fizzie, the details on the wall are clearly visible through him/her
23:11:23 <fizzie> AnMaster: See http://zem.fi/~fis/i009e0.jpg and ...e1.jpg and ...e2.jpg.
23:11:38 <fizzie> He
23:11:40 <oklopol> fizzie, AnMaster: what are you doing?
23:11:48 <fizzie> 's in e0 and e2, but not e1, so it ends up being a bit translucent.
23:12:11 <AnMaster> fizzie, that's a large section, why so much parallax issues with such a zoomed out image?
23:12:39 <AnMaster> oklopol, panoramas. What else?
23:13:17 <oklopol> if there are multiple conversations at once, i often accidentally start ignoring the less interesting one
23:13:50 <AnMaster> oklopol, I meant "what else" as in, what else would fizzie and me be talking about that involves images
23:13:57 <fizzie> AnMaster: Possibly a bit suboptimal alignment. I got tired listening to the awfully loud fan noises the computer makes when it's actually, you know, computing things.
23:14:00 <AnMaster> fizzie, hm
23:14:10 <oklopol> you could be talking about something more specific
23:15:12 <AnMaster> fizzie, ah my computer has a constant speed fan. And my laptop can compute heavily on both cores without fan speeding up very much
23:15:49 <AnMaster> fizzie, oh and gpu remapping crashed nona for me
23:16:08 <fizzie> AnMaster: It crashed nona for me too.
23:16:22 <AnMaster> fizzie, like this?
23:16:24 <AnMaster> gpu shader program compile time = 0.2
23:16:24 <AnMaster> nona: GL error: Framebuffer incomplete, incomplete attachment in: /build/src/hugin-2009.2.0/src/hugin_base/vigra_ext/ImageTransformsGPU.cpp:708
23:16:43 <AnMaster> fizzie, and "please report bug"? Well since you already hit this I guess you reported a bug already ;P
23:16:58 <AnMaster> and since we have the same gpu model, no need for me to do it then
23:17:37 <ehird> I wonder if AnMaster reports all the bugs he finds in software.
23:17:40 <ehird> Certainly not for Perl.
23:18:06 <fizzie> Something like that; I didn't report anything, though. The list of working hardware at the panotools wiki wasn't especially long.
23:18:11 <AnMaster> ehird, well I couldn't figure out how. There was no way to do it on that bug tracker
23:18:33 <AnMaster> ehird, or if there was, please provide the link to the page with the form for it
23:18:45 <ehird> How to report bugs
23:18:45 <ehird> Bugs in Perl 5 -- use perlbug
23:18:45 <ehird> — http://rt.perl.org/perlbug/
23:18:49 <ehird>
23:18:50 <ehird> http://perldoc.perl.org/perlbug.html
23:19:36 <AnMaster> as I said, I did create an account on that website. Are you saying you can only use a command line tool.
23:19:55 <ehird> I was pointing you to the part of the website that links to a page telling you how to report Perl 5 bugs.
23:20:07 <AnMaster> well then, if I remembered what the bug was any longer I would report it now that proper information has been provided
23:20:18 <AnMaster> ehird, you didn't get that page after logging in for some reason
23:20:26 <ehird> Because you're in the RT interface, then.
23:20:33 <ehird> Presumably you would then report bugs using RT's bug reporting interface.
23:20:41 <AnMaster> ehird, yes and I was assuming it worked like other bug trackers
23:20:44 <ehird> It does.
23:21:02 <ehird> Perhaps web-based submissions were disabled for Perl 5 in lieu of perlbug.
23:21:05 <AnMaster> <ehird> Presumably you would then report bugs using RT's bug reporting interface. <-- no such functionality as far as I could find
23:21:13 <AnMaster> perhaps
23:21:19 <ehird> Perhaps you should have looked harder.
23:21:24 <ehird> BugZilla is a bitch to use, too.
23:21:32 <AnMaster> ehird, they don't know about principle of least surprise
23:21:44 <ehird> I'm sorry, have you ever used BugZilla?
23:21:47 <AnMaster> ehird, agreed, but at least there is a huge "file bug" thing iirc
23:21:51 <AnMaster> ehird, yes plenty of times
23:21:58 <AnMaster> for gentoo, for mozilla, for kernel.org
23:22:02 <ehird> Exactly. And that's the only reason you don't vomit every time you use it.
23:22:17 <ehird> Its interface is abhorrent; I'd much rather one hard-to-find link than a horrible, horrible form after that link.
23:22:42 <AnMaster> yes it's a pita, it was to begin with as well. Still it wasn't too hard to find "enter a new bug report" on http://bugs.gentoo.org/
23:22:46 <AnMaster> very very visible isn't it?
23:22:50 <AnMaster> in the link list
23:22:51 <ehird> #perl
23:22:55 <ehird> Complain ↑
23:23:00 <ehird> Just like submitting a bug report
23:23:07 -!- olsner_ has changed nick to olsner.
23:23:34 <AnMaster> ehird, also I didn't vomit on perl's bug tracker. It seemed nice. Just a lack of filing bugs feature made me confused.,
23:23:36 <AnMaster> confused*
23:23:41 <AnMaster> err fail
23:23:45 <AnMaster> s/.,/./
23:23:55 <AnMaster> wait
23:24:04 <soupdragon> Kenneth E. Iverson, the originator of the APL programming language, believed that the Sapir–Whorf hypothesis applied to computer languages (without actually mentioning the hypothesis by name). His Turing award lecture, "Notation as a tool of thought", was devoted to this theme, arguing that more powerful notations aided thinking about computer algorithms.
23:24:12 <AnMaster> /^s/s/\./\\./
23:24:52 -!- MizardX- has joined.
23:24:52 <AnMaster> soupdragon, what is that hypothesis about?
23:24:55 <ehird> Also, it took me a good 30 seconds to find the enter new bug report link on http://bugs.gentoo.org/.
23:25:02 <ehird> But then I am sleep-deprived.
23:25:19 <AnMaster> ehird, I would say it would take a non-sleep-deprived ehird 15-20 seconds
23:25:26 <AnMaster> still I spent minutes at the perl bug tracker
23:25:30 <AnMaster> still,*
23:25:34 <ehird> Then I guess you're meant to use perlbug.
23:25:41 <ehird> It is linked *above* the "yo login to RT" link, after all.
23:25:46 <AnMaster> yes I guess so
23:25:55 <AnMaster> ehird, also I logged in *first* before reading all the details on the page
23:26:17 <ehird> Well, don't do that.
23:26:18 <AnMaster> and not mentioning after that breaks the principle of least surprise for someone used to other bug trackers.
23:26:20 <ehird> It's a gateway page.
23:26:24 <AnMaster> ehird, hard to know isn't it ;P
23:26:35 <ehird> "Principle of least surprise" is often used as a synonym for "I don't like it".
23:26:37 <ehird> For instance, in this case.
23:26:41 <AnMaster> and yeah I will use perl bug in a bit, if you remind me what the bug was
23:26:43 <AnMaster> since I forgot that
23:26:48 <ehird> Something about VMS or something.
23:26:53 <ehird> Some spacing, issue, or something.
23:26:55 <ehird> Grep the logs or something.
23:26:59 <AnMaster> hm good idea
23:27:00 <ehird> It's when I did my horrible perl shebang
23:27:01 <ehird> So grep @REM
23:27:11 <AnMaster> ehird, did you get it to work properly btw?
23:27:13 <ehird> *Hopefully* we've never talked about bat files before that.
23:27:17 <ehird> AnMaster: Oh, I never tested it.
23:27:25 <ehird> I think it would have almost worked.
23:27:27 <AnMaster> ehird, oh? not even on *nix?
23:27:37 <ehird> But I never bothered to totally complete it.
23:27:39 <ehird> AnMaster: Nope.
23:27:42 <ehird> The laze is strong within me.
23:27:44 <AnMaster> ehird, also now you made me wonder about if we talked about *.bat before...
23:27:50 <AnMaster> too lazy to check though
23:27:57 <ehird> It'll come up in the grep :P
23:28:02 <ehird> Oh wait, you have that weird-ass CD system
23:28:06 <ehird> Nevermind
23:28:27 <AnMaster> ehird, yes and they are lzma compressed. That takes some time. Older ones are bz2 which is insanely slow
23:28:28 -!- Pthing has joined.
23:28:37 <AnMaster> brb
23:40:54 -!- MizardX has quit (Connection timed out).
23:41:18 -!- MizardX- has changed nick to MizardX.
23:45:48 <soupdragon> any more good books on omega point?
23:46:01 <soupdragon> http://en.wikipedia.org/wiki/Omega_Point#Science_Fiction
23:46:13 <soupdragon> http://en.wikipedia.org/wiki/Omega_Point#Science_fiction
23:48:57 <soupdragon> I thought singularity was omega point :/
23:49:03 <soupdragon> turns out that singularity is something else
23:57:20 <Pthing> they're variations on the same dumb idea
2010-01-17
00:00:43 <soupdragon> dumb?
00:00:56 <soupdragon> do you mean unrealistic or just stupid?
00:01:58 -!- ehird has quit.
00:05:22 -!- anmaster_l has quit ("Leaving").
00:07:18 -!- ehird has joined.
00:07:38 <soupdragon> :(
00:07:41 <ehird> soupdragon: lemme get a link for you
00:09:34 <ehird> http://docs.google.com/Doc?id=ddv7939q_20gw8h9pcx
00:09:40 <ehird> great singularity scifi
00:09:52 <ehird> by steve yegge (yes, that steve yegge)
00:10:19 <soupdragon> huh
00:10:23 <soupdragon> okay thanks
00:10:30 <soupdragon> I'll read it after rainbows end
00:10:50 <soupdragon> yeah I think I enjoyed some of yegges blog
00:10:52 <soupdragon> not sure
00:10:58 <ehird> it's nothing like his blog, anyway
00:11:04 <ehird> guy should become an author
00:11:13 <ehird> also most people think the singularity is stupid/unrealistic/harmful/whatever, it's just an intuitively wrong-seeming concept
00:11:27 <ehird> that's what you get for abnormal thought :P
00:12:15 <Gregor> Baconnaise.
00:12:51 <ehird> Gregor: bacon + anything non-bacon is inferior to solely bacon
00:12:57 <ehird> it's like you're diluting the bacon with an inferior concept
00:13:07 <Gregor> Baconnaise actually contains no bacon :P
00:13:09 <ehird> the same goes for chocolate, which makes bacon chocolate the only exception
00:13:16 <AnMaster> I agree with ehird on this for mayonnaise
00:13:25 <AnMaster> Gregor, it exists?
00:13:27 <Gregor> Yes.
00:13:31 <ehird> and if you want chocolate bacon, well
00:13:32 <ehird> http://www.vosgeschocolate.com/category/bacon_and_chocolate
00:13:34 <ehird> go buy some
00:13:34 <Gregor> I am eating a turkey sandwich made with it /right now/.
00:13:45 <AnMaster> ehird, also garlic. This baconchocolategarlic is also allowed
00:13:45 <soupdragon> I want Pthing to say
00:13:49 <soupdragon> Pthing say!!
00:13:50 <ehird> I've never actually had mayonnaise. True facts.
00:14:10 <ehird> AnMaster: No, baconchocolategarlic would just be awful.
00:14:16 <Gregor> ehird: You either don't eat sandwiches, or use "sandwich spread"
00:14:22 <AnMaster> ehird, anyway nougat (of the right type, there are several unrelated things called nougat) > chocolate
00:14:25 <ehird> Gregor: Or am a being of pure energy.
00:14:34 <ehird> These are the three realistic options.
00:14:37 <Pthing> say what
00:14:37 <Gregor> ehird: Which would imply the former.
00:14:58 <AnMaster> ehird, I mean this type of nougat: http://sv.wikipedia.org/wiki/Fil:Nougat_sweets.jpg
00:14:59 <ehird> Gregor: Maybe I absorb sandwiches but it strips all the mayonnaise out due to a computer glitch.
00:15:09 <AnMaster> ehird, not this type: http://en.wikipedia.org/wiki/File:Nougat.jpg
00:15:27 <ehird> Nougat is nice but chocolate > nougat.
00:15:31 <ehird> By far.
00:15:49 <AnMaster> ehird, I disagree. Also the second one doesn't look like nougat at all
00:15:51 <Gregor> Controversial statement:
00:15:54 <AnMaster> ehird, what about white chocolate?
00:15:56 <Gregor> Vanilla > Chocolate
00:16:00 <Gregor> White chocolate is a lie.
00:16:03 <Gregor> And all who like it must die.
00:16:10 <ehird> White chocolate isn't bad... it's just not chocolate.
00:16:15 <AnMaster> ehird, agreed
00:16:18 <ehird> Vanilla is a nice taste.
00:16:20 <AnMaster> it is nice, but not chocolate
00:16:22 <ehird> I think it's about equal to chocolate.
00:16:25 <ehird> Different situations.
00:16:33 <ehird> Vanilla is so underappreciated, though.
00:16:38 <AnMaster> Gregor, depends. If it is fresh and not dried
00:16:40 <AnMaster> it is wonderful
00:16:48 <AnMaster> that's hellishly expensive though
00:16:49 <AnMaster> had it once
00:16:52 <ehird> We're talking about flavours, not the source materials
00:16:55 <Pthing> http://en.wikipedia.org/wiki/British_Rail_flying_saucer
00:16:55 <AnMaster> really really wonderful
00:17:00 <Pthing> The British Rail flying saucer, officially known simply as space vehicle, was a proposed spacecraft designed by Charles Osmond Frederick. A patent application was filed by Jensen and Son on behalf of British Rail on 11 December 1970 and granted on 21 March 1973.[1][2][3] The flying saucer originally started as a proposal for a raiseable platform. However, the project was revised and edited, and by the time the patent
00:17:00 <Pthing> was filed had become a large passenger craft for interplanetary travel.[4]
00:17:05 <AnMaster> ehird, yeah but I meant for home made vanilla icecream
00:17:50 <AnMaster> Gregor, home made vanilla icecream on *fresh* vanilla pods is wonderful
00:17:55 <Gregor> Raisable platform -> INTERPLANETARY TRAVEL
00:18:08 <ehird> Getting into space is just raising the platform really, really high, right?
00:18:20 <ehird> And if you can go upwards you can go leftwards and rightwards and forwards.
00:18:22 <ehird> Tada.
00:18:34 <AnMaster> hah
00:18:46 <ehird> Honestly, NASA should just take consumer jets and fly them directly upwards.
00:18:53 <ehird> How hard can it be?
00:19:58 <AnMaster> ehird, well, it won't work
00:20:09 * ehird punches AnMaster
00:20:12 <ehird> I can't hear you.
00:20:16 <ehird> Why are you hitting yourself?
00:20:16 <AnMaster> ehird, because they need air at high pressure, it won't work above a certain altitude
00:20:20 * ehird punches AnMaster
00:20:22 <ehird> Stop hitting yourself.
00:20:26 * ehird puts fingers in ears
00:20:28 <AnMaster> you need ramjets for high altitudes
00:20:30 <ehird> LA LA LA LA LA
00:20:32 <AnMaster> or scramjets
00:20:42 <ehird> I CAN'T HEAR YOU
00:20:44 <AnMaster> like SR-71 Blackbird, had a ramjet
00:20:58 <AnMaster> ehird, and stop being silly.
00:21:05 <ehird> I know you are but what am I?
00:21:17 <Gregor> laaaaaaaaaaawl
00:21:33 <ehird> Okay, I've gotta stop now before I have to commit seppuku.
00:21:38 <AnMaster> anyway the principle behind a jet engine is very interesting I find.
00:22:52 <AnMaster> and even ramjets will only take you so far. At some point you need a rocket engine (or a space elevator, or space bolas or whatever... but a jet engine just won't cut it).
00:23:16 <AnMaster> also, to actually go straight up would require a lot more power
00:23:33 <ehird> I like to imagine space elevators are exactly as Roald Dahl imagined.
00:23:42 <AnMaster> ehird, XD
00:23:43 <ehird> Just press floor "Mars".
00:24:11 <coppro> Up and Out
00:24:29 <ehird> "Up and Out" gets you into the glorious Earth air.
00:24:32 <AnMaster> the engines of a 747 would be unable to lift a 747 *straight up*
00:24:37 <ehird> "Really Up and Really Out", however...
00:24:54 <AnMaster> since you get no lift from wings then. which is why a 747 still files normally
00:25:45 <AnMaster> (note, this is simplified, it ignores drag, lift from the body itself and several other details)
00:26:32 <AnMaster> (though for a 747 the lift from the body (or fuselage as is the technical term), would be very small compared to that generated by the wings)
00:26:44 <ehird> All we need is augur to talk about linguistics and all two-way conversation will finally die.
00:26:53 <AnMaster> ehird, :D
00:27:07 <augur> im busy DOING linguistics
00:27:07 <augur> so
00:27:17 <ehird> In the sexual sense or the academic sense?
00:27:20 <ehird> DON'T ANSWER
00:27:28 <coppro> lol
00:27:44 <AnMaster> ehird, what, is "doing linguistics" innuendo?
00:27:48 <AnMaster> I can't imagine how
00:28:13 <ehird> do, v. see have sexual intercourse with.
00:28:18 <AnMaster> ouch right
00:28:31 <ehird> Ouch? You might want to go and see a doctor about that.
00:28:50 <AnMaster> ehird, "ouch that I didn't spot that, since I knew about that meaning"
00:28:56 <ehird> Whoosh.
00:29:12 <AnMaster> ehird, no it wasn't a joke.
00:29:55 <AnMaster> ehird, also: time for ethernet over firewire
00:30:00 <ehird> ?
00:30:04 <AnMaster> going to try it with the new firewire stack in linux kernel
00:30:20 <AnMaster> wish me best of luck: "(EXPERIMENTAL)"
00:30:31 <ehird> And with that, he died.
00:30:41 <AnMaster> not yet
00:30:46 <AnMaster> I'm locating the cable
00:30:54 <ehird> Gone but... uh, and forgotten.
00:31:14 <AnMaster> ehird, it would be kernel oops at worst
00:31:32 <ehird> Unless it hit a hardware bug that caused it to catch on fire, thus causing e.g. your PSU to explode.
00:31:36 <augur> ehird, in an academic sense :P
00:32:00 <ehird> "Kernel oops; three fatalities."
00:32:05 <ehird> Aww, I thought AnMaster said that, not augur.
00:32:09 <ehird> Which made it funnier.
00:32:24 <augur> what
00:32:28 <AnMaster> heheh
00:33:01 <AnMaster> ehird, what would it have meant if I had said it. It doesn't seem to make sense there.
00:33:19 <ehird> Well, like how in functional programming we model both errors and non-termination as one value, _|_.
00:33:41 <ehird> So, you'd be saying that academically, hardware catching on fire thus making your CPU explode would be considered a kernel oops.
00:33:49 <ehird> Thus "Kernel oops; three fatalities.", and now the frog is dead.
00:34:00 <AnMaster> ehird, haha
00:34:16 <ehird> ("Explaining a joke is like dissecting a frog: you understand it better, but the frog dies in the process." —Mark Twain)
00:34:49 <AnMaster> ehird, also in that case both should be considered failure modes. No difference should be made between a program returning the error code 1 and the system exploding
00:34:58 <AnMaster> they are just failure modes
00:35:15 <ehird> "Error: Something went wrong. Are you on fire? [Y/n] "
00:35:19 <ehird> if yes →
00:35:27 <ehird> "Oh dear. Something went badly wrong."
00:35:29 <ehird> if no →
00:35:37 <ehird> "Alright then. You can reboot now."
00:35:57 <AnMaster> ehird, what if you aren't on fire yet but the desk is?
00:36:02 <AnMaster> well yeah no difference
00:36:06 <ehird> No issue!
00:36:06 <AnMaster> you can just reboot then
00:36:15 <ehird> Yes.
00:45:33 * ehird plays some dna maze
00:45:41 <AnMaster> ehird, it is working btw :)
00:45:54 <ehird> Yay.
00:45:58 <AnMaster> ehird, btw image editors creating *~ files
00:46:02 <AnMaster> what is your opinion on it?
00:46:32 <ehird> Creating *~ files in general is irritating.
00:46:38 <ehird> Put it in some other directory.
00:46:41 <AnMaster> ehird, and for image editors?
00:46:47 <AnMaster> that create 40 MB *~ files
00:46:57 <ehird> Put it in ~/.imged/autosaves/somemangleldpath
00:47:00 <ehird> *somemangledpath
00:47:08 <AnMaster> (due to you editing large files of course)
00:47:17 <AnMaster> ehird, issue, doesn't work well over different file systems
00:47:27 <AnMaster> since before it could just move the old file and write a new
00:47:31 <AnMaster> now it needs to copy it in theory
00:47:36 <ehird> Meh.
00:47:38 <ehird> Work out some solution.
00:47:44 <ehird> But don't put it in the same directory.
00:47:45 <AnMaster> ehird, which is irritating for 40 MB files
00:47:54 <AnMaster> ehird, well, "don't create *~" is my idea
00:48:05 <ehird> That's risky.
00:48:05 <AnMaster> just remove it once you synced the new file to disk
00:48:13 <AnMaster> ehird, remove it after the new file is fully written
00:48:26 <ehird> this wallpaper background is nice and soothing
00:48:31 <ehird> it's like i'm using ubuntu without the ugly
00:48:45 <AnMaster> mhm? screenshot?
00:49:21 <ehird> Uploading.
00:50:22 <ehird> Ugh, imgur compressed it for being too big.
00:50:28 <ehird> All image hosts eventually suck exactly the same...
00:50:39 * ehird goes for trusty old xs.to
00:51:05 <AnMaster> ehird, filebin.ca?
00:51:13 <ehird> That would force a download.
00:51:21 <AnMaster> ehird, well I would just gimp on the url
00:51:43 <ehird> ffffff it did the same
00:51:45 <ehird> fine, filebin
00:51:58 <ehird> Do you want the wallpaper or a screenshot with it, btw?
00:52:09 <ehird> If the former I could just link you
00:53:03 <ehird> http://filebin.ca/tonxzc/Picture1.png
00:53:14 <ehird> AnMaster:
00:53:36 <AnMaster> ffs. it stopped working once it got hit with a large transfer
00:54:07 <AnMaster> ehird, how large is the file?
00:54:12 <AnMaster> ehird, also either is file
00:54:14 <AnMaster> fine*
00:54:43 <ehird> The file is just 2 megs or so
00:54:45 <ehird> It's a screenshot
00:54:54 <AnMaster> ehird, it looks noisy?
00:54:58 <ehird> That's an intentional effect
00:55:02 <ehird> Only on the background
00:55:03 <AnMaster> ah
00:55:38 <ehird> Here's a link if you want it:
00:55:51 <ehird> http://lambda.nirv.net/m/files/Love.png
00:55:53 <AnMaster> ehird, I don't really
00:56:00 <ehird> TOUGH :P
00:57:00 <ehird> http://lambda.nirv.net/m/screenshots/20091201.png Here's a wonderful screenshot of Emacs + chocolate-rain-theme + that background
00:57:09 <ehird> (I use both now, because darn they're pretty.)
00:58:30 <AnMaster> ehird, also that bg is an awkward size
00:58:43 <ehird> It is not.
00:58:45 <ehird> 16:10
00:59:26 <AnMaster> ehird, I said size, not aspect ratio
00:59:37 <ehird> What's awkward about it
00:59:42 <ehird> It's big enough for most monitors
00:59:46 <ehird> Your DE can scale the background for you
01:00:12 <AnMaster> ehird, wait aren't macs 16:9?
01:00:23 <ehird> The new iMac is 16:9.
01:00:39 <ehird> All other Macs and Apple Displays, plus old iMac models, are 16:10.
01:00:44 <ehird> (That is, after they were 4:3.)
01:01:21 <AnMaster> ehird, long live 5:4
01:01:25 <AnMaster> (it exists)
01:01:30 <ehird> No, let's not.
01:01:35 <ehird> Long live 3:4 or something.
01:01:43 <AnMaster> ehird, long life 1:1
01:01:46 <AnMaster> live*
01:01:52 <ehird> That won't look square.
01:02:00 <AnMaster> ehird, what?
01:02:11 <ehird> AnMaster: Seriously; make an NxN square in your favourite image program.
01:02:20 <ehird> Note how it does not appear to be a perfectly measured bastion of wholeness.
01:02:24 <AnMaster> yes, made a 32x32 one
01:02:26 <ehird> In fact, it seems inequal.
01:02:27 <ehird> AnMaster: Bigger.
01:02:29 <ehird> Try 100x100.
01:02:35 <ehird> Up to 500x500
01:03:03 <AnMaster> 100x100 looks square at least
01:03:07 * AnMaster tries 500x500
01:03:21 <ehird> Yes, but don't analyse it like that.
01:03:28 <ehird> Just look at it and note it seems to be fatter than it is tall
01:03:28 <AnMaster> looks square
01:03:33 <ehird> Meh
01:03:37 <AnMaster> ehird, no it looks taller than fatter
01:03:39 <AnMaster> at a glance
01:03:42 <ehird> Okay then
01:03:44 <ehird> The other way around then :P
01:03:49 <ehird> See what I mean?
01:03:54 <AnMaster> ehird, for some sizes
01:04:00 <AnMaster> for some it is fatter than taller
01:04:06 <AnMaster> ^_^
01:04:21 <AnMaster> ehird, anyway how to make something that looks square... 4:3 does not
01:04:36 <ehird> Don't bother, human vision isn't square
01:05:08 <AnMaster> ehird, how then can we even have a concept of "looking square"?
01:05:16 <ehird> Either optimise for A? (hey, fizzieuniversity :P) sort of dimensions for text, or optimise for widescreen for useful computing workspace.
01:05:23 <ehird> AnMaster: ???
01:05:31 <ehird> We see "square pixels", as nonsensical a concept as that is
01:05:38 <ehird> Our whole vision just is rectangular... sort of.
01:05:45 <ehird> Point is, vision is obviously widescreen
01:05:58 <AnMaster> ehird, I heard someone suggest that hexagonal pixels would be better
01:06:03 <ehird> lol
01:06:18 <AnMaster> ehird, as in a serious scientist interviewed in radio
01:06:23 <ehird> Could be fun
01:06:32 -!- augur has quit (Read error: 110 (Connection timed out)).
01:06:40 <AnMaster> ehird, he talked about how it could better represent photos
01:06:45 <AnMaster> for shape
01:07:04 <AnMaster> and also about packing pixels closer, resulting in a higher DPI feeling
01:07:06 <ehird> Cool, Esolang forum activity.
01:07:10 <ehird> Downside: It's not about an esolang.
01:07:14 <AnMaster> (or was it truly higher dpi? don't remember)
01:07:16 <AnMaster> ehird, spam?
01:07:19 <ehird> Nope.
01:07:23 <ehird> Just a non-esoteric language.
01:07:25 <AnMaster> huh
01:07:30 <ehird> http://esolangs.org/forum/kareha.pl/1262953236/l50
01:07:47 <ehird> Presumably they think it's "experimental" enough to be esoteric.
01:09:33 <ehird> 160x55 is a nice Emacs size.
01:10:05 <ehird> If you split it vertically, you get two 26-line windows, which is quite a bit; a lot better if you resize one, of course.
01:10:15 <ehird> Horizontally it handles a whole two 80-column windows, so no line wrapping.
01:10:28 <ehird> (55 was chosen because it lets Emacs be in a nice place and not intrude on my Dock.)
01:11:05 <AnMaster> mhm
01:11:40 <ehird> Damn ehirdOS is so beautiful. :|
01:12:07 <ehird> It's so much better now that I basically pilfered wholesale the ideas for the underlying language from Luke Palmer.
01:12:10 <ehird> Beautiful inside and out!
01:13:20 <AnMaster> ehird, what ideas?
01:13:34 <soupdragon> Dana?
01:13:40 <ehird> Uhh. Is there a way for me to say "you wouldn't understand" in a non-offensive, not-really-worth-telling-you way?
01:13:43 <ehird> soupdragon: pretty much
01:13:48 <AnMaster> ehird, "no"
01:13:57 <ehird> AnMaster: You wouldn't understand, then.
01:14:03 <soupdragon> AnMaster, it's basically combinator logic with a crazy type system, as I undertand it
01:14:10 <ehird> dana is more than just the lang though
01:14:15 <ehird> it's the frp approach to the entire os
01:14:18 <AnMaster> soupdragon, interesting for an OS
01:14:30 * soupdragon has no idea how it (theoretically) works
01:14:40 <AnMaster> I can't imagine how it applies to an OS either
01:14:42 <ehird> dependent types and magic
01:14:55 <ehird> AnMaster: See, when I said "you wouldn't understand", I was trying to avoid wasting your time.
01:15:18 <AnMaster> ehird, well I wouldn't trust you on that would I? :P
01:15:38 <ehird> Considering it was my explanation you were asking for, I'm probably pretty accurate on matters of it.
01:16:16 <AnMaster> ehird, well yes, but I wouldn't trust you on what I understand and not
01:16:59 <ehird> But considering I would use terminology that I enjoy using, and I have past experience trying and failing to discuss with you using such terminology, I'm an accurate predictor of whether you would understand one of my explanations or not.
01:18:21 -!- BeholdMyGlory has quit (Remote closed the connection).
01:21:48 <AnMaster> ehird, plus weren't you going for lots of other things before?
01:21:52 <AnMaster> smalltalk and what not
01:22:12 <ehird> ehirdOS: a concrete design, set in stone; unchanging in its precise perfection.
01:22:20 <ehird> There are too many implementations for me to break them wantonly like thaat.
01:22:27 <ehird> *that
01:22:28 <AnMaster> :P
01:36:40 -!- clog has joined.
01:36:40 -!- clog has joined.
01:36:52 -!- clog has joined.
01:36:52 -!- clog has joined.
01:37:47 -!- FireFly has quit ("Leaving").
01:41:45 -!- olsner has quit (Remote closed the connection).
01:41:57 -!- olsner has joined.
01:47:09 -!- olsner has left (?).
01:47:24 -!- olsner has joined.
01:48:00 -!- rodgort has quit (K-lined).
02:05:19 <ehird> klined?
02:05:20 <ehird> o_o
02:05:26 <ehird> clog flooding?
02:05:30 <ehird> what is the world
02:06:43 <oerjan> spam is the world
02:08:35 <olsner> the bird's the world
02:10:55 <AnMaster> night
02:28:21 -!- augur has joined.
02:43:05 -!- pikhq has quit (Read error: 54 (Connection reset by peer)).
02:43:05 -!- pikhq_ has joined.
02:44:08 <ehird> hi pikhq_
02:44:48 -!- Slereah has quit (Read error: 110 (Connection timed out)).
03:15:35 -!- ehird has quit.
03:34:30 -!- augur has quit (Read error: 110 (Connection timed out)).
04:00:30 -!- MizardX has quit (Read error: 60 (Operation timed out)).
04:33:09 -!- augur has joined.
04:33:44 <augur> hello kids
05:24:05 -!- rodgort has joined.
05:27:32 -!- rodgort has quit (Client Quit).
05:27:54 -!- rodgort has joined.
05:28:33 <soupdragon> http://tvtropes.org/pmwiki/pmwiki.php/Main/MohsScaleOfScienceFictionHardness?from=Main.MohsScaleOfSciFiHardness
05:28:39 <soupdragon> needs more hard sci fi :(
05:28:47 <soupdragon> I've read snow crash and it's like up at the top that's crazy
05:48:44 -!- rodgort has quit (Client Quit).
05:54:27 -!- rodgort has joined.
06:08:26 -!- soupdragon has quit ("Leaving").
06:52:28 <augur> blurghle
06:52:36 <augur> linguistics
07:03:14 -!- oerjan has quit ("Good blight").
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:12:08 -!- jpc has quit (Read error: 110 (Connection timed out)).
08:13:31 -!- BeholdMyGlory has joined.
08:18:04 -!- kar8nga has joined.
08:49:29 -!- kar8nga has quit (Remote closed the connection).
09:11:49 <coppro> augur: is there a term for when a proper noun is formed by application of an article to a common noun, such as 'the Universe'?
09:56:48 -!- coppro has quit ("I am leaving. You are about to explode.").
09:57:39 -!- coppro has joined.
10:47:10 -!- Pthing has quit (Remote closed the connection).
10:52:02 -!- Slereah has joined.
11:26:31 -!- FireFly has joined.
11:39:26 -!- soupdragon has joined.
11:59:35 -!- zeotrope has joined.
12:02:42 -!- Pthing has joined.
12:34:36 -!- MizardX has joined.
12:52:07 <oklopol> properification
13:05:53 <SimonRC> :-S
13:07:21 -!- MigoMipo has joined.
13:07:37 <olsner> the the is an article, so maybe it could be articulation
13:40:12 <AnMaster> olsner, isn't that related to pronouncing things? At least I think the similar Swedish word is?
13:40:26 <SimonRC> yes
13:40:56 -!- kar8nga has joined.
13:41:39 <AnMaster> of course what olsner said _could_ have been punification, not sure
13:51:05 -!- Pthing has quit (Remote closed the connection).
13:59:32 -!- MizardX- has joined.
14:03:34 -!- MizardX has quit (Read error: 60 (Operation timed out)).
14:03:57 -!- MizardX- has changed nick to MizardX.
14:42:58 -!- kar8nga has quit (Remote closed the connection).
14:46:31 -!- MizardX- has joined.
14:50:37 -!- cheateur has joined.
14:50:41 <cheateur> hey guys
14:51:02 <cheateur> if i'm going for high performance clusters, should i choose erlang or haskell?
15:02:45 -!- MizardX has quit (Read error: 110 (Connection timed out)).
15:02:56 -!- MizardX- has changed nick to MizardX.
15:05:24 <AnMaster> cheateur, those aren't really esolangs are they?
15:06:24 <AnMaster> but anyway, it would depend on what you would use the cluster for
15:07:59 <cheateur> yeah, but i didn't want to ask in either of their channels
15:08:06 <cheateur> for obvious reasons :P
15:08:12 <AnMaster> hah
15:08:22 <cheateur> AnMaster: what would the different uses be that you could single out?
15:09:22 <AnMaster> cheateur, number crunching, or handling of lots of concurrent server threads
15:09:24 <AnMaster> for example
15:09:44 <AnMaster> I don't know enough about haskell, but I know erlang is way better at the second one
15:10:42 <AnMaster> there would likely be lots of other possibilities too
15:10:51 <cheateur> i would say concurrent server threads
15:11:25 <cheateur> why is erlang better at that?
15:11:35 <cheateur> is it just maturity of the platform?
15:11:38 <AnMaster> cheateur, remember erlang was originally designed to run on telephony switches. The actual data moving was back then done in hardware.
15:11:54 <cheateur> i know
15:11:55 <AnMaster> erlang uses message passing, not shared memory
15:12:56 <AnMaster> cheateur, it just isn't optimised for number crunching style of workloads
15:13:20 <cheateur> and why is message passing better for high concurrency servers?
15:15:15 <AnMaster> cheateur, not in general, but it is optimised for that when it comes to thread scheduling and such. Each thread has a separate heap (to simplify garbage collection on SMP systems, no need to stop other threads from running). The exception is large "binaries" (a data type for binary data) which is stored on a shared heap and ref-counted. So sending other large data types between processes need to copy
15:15:15 <AnMaster> it
15:15:49 <AnMaster> cheateur, it has good language level and library level support for server style processes
15:16:08 <cheateur> ah, so it's not that it has *concepts* that allow better performance
15:16:22 <cheateur> it's that it is just better written
15:16:31 <AnMaster> cheateur, well, it is well tuned for that load. And it is easy to write that style of thing
15:16:38 <AnMaster> cheateur, also you can reload code on the fly
15:16:51 <AnMaster> without restarting current processes
15:17:30 <cheateur> that's nice
15:17:32 <AnMaster> they are sent an "update you data structures if required and jump to the new code" style message. If you use the standard library modules to implement your server processes then that becomes very easy
15:17:36 <cheateur> can haskell do that?
15:17:53 <AnMaster> cheateur, well, erlang is a VM, it would be way harder if it wasn't for the VM
15:18:11 <AnMaster> but for haskell, I don't know it well enough
15:18:30 <cheateur> aha
15:18:34 <AnMaster> cheateur, erlang also have almost seamless support for distributing stuff over several nodes
15:18:41 <cheateur> i'm just looking at learning a new language
15:18:54 <cheateur> C looks like it'll be fucking boring for no reason
15:19:21 <cheateur> and most stuff i do is web or service oriented
15:19:38 <cheateur> so i thought about something like haskell or erlang to write nice big services
15:19:40 <AnMaster> (almost, as in you need to tell it to connect to the other node, and a few internal details can be tricky, but generally if you do things like you should and don't mess in semi-internal stuff it won't be an issue)
15:20:00 <AnMaster> but you pass it a message the same way as a local process
15:20:07 <AnMaster> s/it/a remote process/
15:20:15 <cheateur> and haskell doesn't do that?
15:20:32 <AnMaster> cheateur, well, I don't know if haskell even has support built in for distributed nodes.
15:20:52 <cheateur> i would assume so
15:20:55 <cheateur> but it is only an assumption
15:21:39 <cheateur> AnMaster: if i know php, python, and probably almost everything web-related, what language would you suggest to me?
15:22:15 <AnMaster> cheateur, do you know any esolang? Any functional language?
15:22:21 <cheateur> no
15:22:30 <cheateur> bear in mind i need to be able to make money with it too
15:22:34 <AnMaster> hm if you don't know an esolang what are you doing in here? :)
15:22:49 <cheateur> trolling? ;)
15:22:53 <AnMaster> hah
15:23:02 <cheateur> i have brainfuck installed
15:23:04 <cheateur> if that helps
15:23:10 <AnMaster> maybe
15:23:44 <AnMaster> well, both erlang and haskell are functional languages. That will be hard if you only know the imperative approach. Haskell even more so.
15:24:08 <AnMaster> maybe starting with scheme to get a general idea of functional programming would be a good idea.
15:24:28 <cheateur> i'm a mathematician, most programming languages aren't that difficult
15:24:28 <cheateur> i've learnt asm by using a debugger
15:24:54 <AnMaster> cheateur, erlang uses tail recursion for loops and such. Also it is single assignment as in math (you don't do x=2; x=x+1; in math if you see what I mean)
15:25:03 <soupdragon> you're another of these folks that think mathematicians are gods
15:25:05 <AnMaster> I think the same goes for haskell
15:25:20 <cheateur> dunno if i want to go with scheme, it feels like a sort of halfway solution
15:25:32 -!- Slip has joined.
15:25:36 <cheateur> soupdragon: they aren't ??
15:25:54 <AnMaster> cheateur, it is a nice educationish language for learning the basic concepts of functional programming.
15:26:16 -!- Slip has left (?).
15:26:21 <cheateur> AnMaster: gotcha
15:26:29 <cheateur> AnMaster: i know that in erlang variables are immutable
15:26:43 <AnMaster> cheateur, but if you know enough of math concepts then it shouldn't be too hard
15:26:55 <AnMaster> but for making money of it, who knows. I can't answer that
15:27:32 <cheateur> AnMaster: but i thought this only had to do with the 'place in memory', not the handle
15:27:47 <AnMaster> hm?
15:27:57 <cheateur> i.e. you could do x=1; x=2 but then you'd have two x's and the first one would be dereferenced and would just be 'garbage'?
15:28:35 <AnMaster> well there is no assignment as such in erlang. There is pattern matching. Meaning you can do something like {true,{X,Y,Z}} = somefunction()
15:28:42 <cheateur> i.e. the '1' would still exist, but it would be dereferenced.
15:28:43 <AnMaster> where {} is the notation used for tuples
15:29:21 <cheateur> AnMaster: is there a one-click way for me to start writing erlang *now*?
15:29:26 <cheateur> i'm on 'doze
15:29:59 <AnMaster> cheateur, that would try to assign the values to X,Y,Z. But if X was set before already then it would fail of the value of X wasn't the same as before. This can be used for some really cool things.
15:30:16 <AnMaster> cheateur, hm, I think they have a windows download on erlang.org, but I'm on linux myself
15:30:23 <AnMaster> so I never tried it
15:30:38 <cheateur> i'm on linux normally too, but ubuntu is gay and it blew up.
15:31:03 <AnMaster> what about other distros?
15:31:35 <AnMaster> cheateur, also I believe the first few chapters of some of the erlang books are available online for free
15:31:39 * AnMaster has it in paper form
15:31:53 <cheateur> no, it's just that it blew up on my laptop
15:31:54 <cheateur> :P
15:31:56 <AnMaster> well one of them
15:32:17 <cheateur> luckily i kept windows as dual boot
15:32:24 <AnMaster> ah yes there are a few extracts at http://www.pragprog.com/titles/jaerlang/programming-erlang
15:33:37 -!- oerjan has joined.
15:33:41 <AnMaster> oerjan, hi
15:33:48 <oerjan> hi AnMaster
15:36:27 <cheateur> cool
15:36:29 <cheateur> thanx
15:37:30 <AnMaster> oerjan, btw I didn't get the joke in iwc yesterday
15:38:01 <cheateur> iwc?
15:38:11 <AnMaster> cheateur, webcomic we both reads.
15:38:12 <AnMaster> read*
15:38:18 <oerjan> cheateur: iiuc haskell's concurrency is optimized for many cores with shared memory, it's not really designed for distribution
15:38:44 <cheateur> aha
15:38:57 <soupdragon> hiya oerjan
15:39:13 <oerjan> hi soupdragon
15:44:25 <oerjan> AnMaster: Paris is pointing out that this proves what she already knew...
15:45:30 <AnMaster> oerjan, oh right. Wasn't very funny. Thought it was some pun on "nuts"
15:46:28 <soupdragon> I want cake
15:46:55 * oerjan hands soupdragon a delicious cyanide cake
15:47:13 <oklopol> oerjan the norwegian dragonslayer
15:47:54 <oerjan> well oerjan supposedly is a mangled form of "george", so that fits
15:48:17 <AnMaster> oerjan, huh that was quite a bit of mangling
15:48:17 <oklopol> our "george" is "yrjö", which means "puke"
15:48:30 <oklopol> pronounced a bit like oerjan
15:48:44 <oerjan> AnMaster: i assume it's via swedish göran
15:48:47 <AnMaster> oklopol, wait a sec, is that a name in Finland?
15:49:03 <AnMaster> oerjan, we have both Örjan and Göran.
15:49:07 <oerjan> i know
15:49:08 <oklopol> yeah
15:49:30 <oklopol> there's a swedish name that means gay, and there's and english name that means dick, not sure how it's interesting
15:49:38 <oklopol> *n
15:49:40 <oklopol> *an
15:49:42 <oerjan> well so what. Odd, Even and Bent are names in norway :)
15:49:56 <AnMaster> oklopol, so it's like being called "puke"? As in throwing up?
15:50:08 <oklopol> yeah
15:50:13 <oklopol> as i said, not at all weird
15:50:19 <olsner> Roar is also a norwegian name
15:50:23 <AnMaster> oklopol, must be rare that anyone is called that?
15:50:36 <oklopol> a bit. but there are still a lot of "dicks"
15:50:46 <AnMaster> oklopol, if "yrjö" both means puke as well as being a name.
15:51:00 <oklopol> are you reading what i say?
15:51:04 <AnMaster> olsner, yes bit it meaning something else in another language isn't as bad as meaning something else in the *same* language
15:51:23 <AnMaster> oklopol, I hope so. I was just trying to double check this
15:51:29 <oklopol> how is puke worse than "gay" or "dick"
15:51:40 <oklopol> (given that both are insults)
15:51:53 <oklopol> calling someone puke is not an insult
15:51:57 <oklopol> it's just weird.
15:52:00 <oerjan> as for that, i understand Homo used to be a norwegian surname.
15:52:01 <AnMaster> oklopol, good point. But I don't know which word "there's a swedish name that means gay" you mean
15:52:09 <oklopol> starts with b
15:52:11 <cheateur> ahhh, now i remember iwc
15:52:11 <soupdragon> calling something gay isn't an insult
15:52:18 <AnMaster> oklopol, no clue
15:52:22 <oklopol> soupdragon: yes it is
15:52:31 <oerjan> soupdragon: it is frequently used as one.
15:52:38 <soupdragon> then why is calling someone puke not an insult?
15:52:43 <oklopol> ...it just isn't?
15:52:48 <soupdragon> illogical
15:52:57 <oklopol> gay makes less sense as an insult than puke, yes.
15:53:16 <oklopol> just like "idiot" makes less sense as an insult as "guy i don't like"
15:53:25 <oklopol> but only one is used
15:54:14 <oklopol> and this is english-specific, i don't know whether "gay" is an insult everywhere
15:54:30 <oklopol> my guess is it is in most places
15:54:52 <oklopol> and my guess is puke isn't an insult anywhere
15:55:24 * oklopol waits for augur to tell him exact statistics
15:55:33 <augur> what
15:55:34 <augur> :|
15:55:49 <oerjan> there were supposedly these norwegian professors named Ås and Sørås. one day they were both called to the information desk of an english-speaking airport...
15:56:16 <augur> soupdragon: calling something gay is indeed an insult. atleast in american english.
15:56:16 <oklopol> augur: i just usually assume you have something to say about anything even remotely having to do with linguistics
15:56:45 <oerjan> (hint: ignore all accents, then pronounce like an american)
15:57:28 <oklopol> what's "s?r?s"?
15:58:03 <oerjan> it's a perfectly adequate norwegian surname, means southern hill
15:58:17 <AnMaster> oklopol, "Sørås"
15:58:21 <AnMaster> oklopol, did you see that?
15:58:25 <AnMaster> or was it the same
15:58:27 <oklopol> i see weird characters
15:58:29 <oerjan> well assuming you're not mangling the characters on purpose...
15:58:34 <oklopol> the same weird characters
15:59:07 <AnMaster> oklopol, S<Norwegian/Danish o with dash through it>r<a with ring>s
15:59:09 <oerjan> oklopol: you're not reading utf-8 correctly
15:59:24 <oklopol> yes, i still haven't gotten mirc to render it correctly.
15:59:34 <augur> im off to shower
15:59:45 <AnMaster> oerjan, I thought you had problems with unicode?
16:00:14 <oklopol> i give up, what's it supposed to sound like?
16:00:33 <oklopol> sars?
16:00:58 <augur> oh if only you all knew IPA/XSAMPA! D:
16:01:10 <AnMaster> oklopol, without the dots it is spelled like "Soras", but I guess it is supposed to be "Sir as"
16:01:23 <oklopol> oh lol
16:01:26 <AnMaster> that would be the only way it is funny
16:01:32 <AnMaster> but o and i aren't really close
16:01:36 <oerjan> AnMaster: yes but irssi reasonably transliterates the latin-1 subset
16:01:40 <oklopol> so "sore ass"
16:01:43 <oerjan> and approximates a bit more
16:01:54 <oklopol> sir makes no sense if you drop the umlaut
16:02:01 <oerjan> sore ass it was
16:02:31 <oklopol> for some reason i wanted a single word
16:03:22 <AnMaster> oerjan, why professors I wonder. And it doesn't make sense for both to believe it is to them unless it is actually interpreted by "sir" as one
16:03:52 <oerjan> AnMaster: this is _supposedly_ a true story
16:04:02 <AnMaster> heh
16:04:10 <oerjan> although i've probably mangled it
16:04:15 <AnMaster> hm
16:04:39 <oerjan> and i was told it in university, by professors
16:05:25 <oerjan> so if it was true, they were probably acquaintances
16:06:40 <AnMaster> hm
16:07:55 <oerjan> <soupdragon> you're another of these folks that think mathematicians are gods <-- well DUH
16:08:12 <oklopol> professors travel a lot, so if there were professors with such names, it's not exactly that improbable for that to happen
16:08:25 <oklopol> when was that, i wanna see context
16:09:05 <oerjan> 07:25:03 in the logs
16:10:57 <oklopol> huh.
16:13:35 <augur> o hai
16:13:41 <oklopol> oh lol logtime
16:13:51 <oklopol> assumed 7:25 your time
16:13:53 <oklopol> because i'm an idiot
16:13:56 <oerjan> MWAHAHA
16:14:17 <oerjan> 16:25 my time
16:44:06 -!- oerjan has quit ("leaving").
16:44:27 -!- kar8nga has joined.
16:50:35 -!- augur has quit (Read error: 110 (Connection timed out)).
17:48:01 -!- ehird has joined.
17:51:22 <ehird> 21:28:33 <soupdragon> http://tvtropes.org/pmwiki/pmwiki.php/Main/MohsScaleOfScienceFictionHardness?from=Main.MohsScaleOfSciFiHardness
17:51:22 <ehird> 21:28:39 <soupdragon> needs more hard sci fi :(
17:51:23 <ehird> it's not my fault you're finishing rainbows end before listening to my suggestions :P
17:54:37 <ehird> 06:50:41 <cheateur> hey guys
17:54:37 <ehird> 06:51:02 <cheateur> if i'm going for high performance clusters, should i choose erlang or haskell?
17:54:37 <ehird> ignore AnMaster he just likes erlang :)
17:54:54 -!- MizardX has quit (Connection timed out).
17:54:56 <ehird> both are about the same in potential; haskell is a better language and your code will be more reliable in it. however erlang is far more mature as far as its concurrency support goes
17:55:08 <ehird> if you really do have a cluster and you want to highly perform on it, I'd go for erlang until haskell's clustery support improves
17:55:14 <ehird> (its single-machine concurrency support is great, though)
17:56:01 <ehird> 07:20:32 <AnMaster> cheateur, well, I don't know if haskell even has support built in for distributed nodes.
17:56:01 <ehird> 07:20:52 <cheateur> i would assume so
17:56:01 <ehird> note that AnMaster doesn't really know anything about haskell
17:56:07 <ehird> also, no, it doesn't, that's why we have excellent libraries.
17:56:18 -!- BeholdMyGlory has quit (Remote closed the connection).
17:56:56 <ehird> 07:21:39 <cheateur> AnMaster: if i know php, python, and probably almost everything web-related, what language would you suggest to me?
17:56:56 <ehird> 07:22:15 <AnMaster> cheateur, do you know any esolang? Any functional language?
17:56:56 <ehird> 07:22:21 <cheateur> no
17:56:57 <ehird> Uh... give up now. If you don't know functional programming, you will be useless at both Erlang and Haskell unless you learn functional programming simultaneously.
17:56:57 <ehird> 07:22:30 <cheateur> bear in mind i need to be able to make money with it too
17:56:59 <ehird> lol.
17:57:14 <ehird> You can make a lot of money with haskell... just not at some dumbfuck Web 2.0 company.
17:57:37 <AnMaster> is it still at 2.0? I would have thought 2.1 would have been released by now
17:57:39 <ehird> 07:24:28 <cheateur> i'm a mathematician, most programming languages aren't that difficult
17:57:39 <ehird> Hubris and ego said by someone who has only used imperative languages.
17:57:43 <AnMaster> or at the very least, 2.0.1
17:58:11 <ehird> If you're so intelligent, why not use Haskell's official Least Gentle Tutorial? http://www.haskell.org/tutorial/
17:58:46 <ehird> 07:25:03 <soupdragon> you're another of these folks that think mathematicians are gods
17:58:46 <ehird> ++
17:59:33 -!- BeholdMyGlory has joined.
17:59:57 <ehird> I was interested in helping him until "I don't know any functional languages", "I know everything imperative and web-related" and "I'm a MATHEMATICIAN, every programming language is easy to learn!".
18:00:22 <ehird> 07:27:57 <cheateur> i.e. you could do x=1; x=2 but then you'd have two x's and the first one would be dereferenced and would just be 'garbage'?
18:00:22 <ehird> Culture shock!
18:00:34 <ehird> 07:29:26 <cheateur> i'm on 'doze
18:00:42 <ehird> erm
18:00:45 <ehird> 07:29:21 <cheateur> AnMaster: is there a one-click way for me to start writing erlang *now*?
18:00:45 <ehird> 07:29:26 <cheateur> i'm on 'doze
18:00:51 <ehird> Okay, now I'm interested in helping you a *negative* amount.
18:01:21 -!- coppro has quit (Read error: 110 (Connection timed out)).
18:03:23 <ehird> 08:01:10 <AnMaster> oklopol, without the dots it is spelled like "Soras", but I guess it is supposed to be "Sir as"
18:03:23 <ehird> >_,
18:03:24 <ehird> *>_<
18:03:40 <ehird> Or, you know... sore ass
18:03:47 <oklopol> to be fair, "sör" is pronounced "sir" in swedish
18:04:08 <oklopol> not "sore"
18:05:53 <oklopol> well not sure that's an excuse, "sor" is still pronounced closer to "sore" than "sir" in swedish.
18:06:04 <oklopol> w/e ->
18:06:11 <ehird> "ignore the accents"
18:06:15 <ehird> "and pronounce as an american"
18:06:19 <ehird> Slight hints there
18:18:29 <oklopol> i'm not sure AnMaster compartmentalizes that well
18:18:39 <oklopol> then again i might be wrong
18:19:34 <AnMaster> <oklopol> to be fair, "sör" is pronounced "sir" in swedish <-- not like "sir" would be in Swedish though. Close to English "sir" though.
18:20:16 <AnMaster> also, I was trying to think of something that a actually made sense
18:20:54 <oklopol> well yeah english "sir", i left type inference to the reader
18:27:30 -!- kar8nga has quit (Remote closed the connection).
18:31:00 <ehird> someone should invent inlinelatexcompose
18:31:07 <ehird> so i can type, like, \alpha<tab>
18:35:41 <cheateur> ehird: it's ok, i think you're pretty sweet
18:35:46 <cheateur> ehird: let's hug
18:35:51 <ehird> cheateur: you're an awful human being! <3
18:35:53 * ehird hug
18:36:26 <ehird> #esoteric: "We hate you. Your language is crap. Let's hug!"
18:39:08 -!- BeholdMyGlory has quit (Remote closed the connection).
18:40:51 * cheateur grabs ehird's ass during the hug
18:41:12 * ehird sues cheateur for statutory rape
18:42:10 * cheateur goes to every person in ehird's neiborhood and tells them: 'you know, according to your friend ehird, having sex with me is so extreme that it's actually a crime!'
18:42:26 <ehird> Things we have learned today:
18:42:32 <ehird> - Ass-grabbing is sexual intercourse
18:42:43 <ehird> - cheateur is moving into all of your neighbourhood's. Run! RUN!
18:42:49 <ehird> *neighbourhoods
18:42:57 <ehird> slight sentence restructuring issue thar
18:43:08 <cheateur> everyone's?
18:43:31 <cheateur> you got sumptin wrong there, smurfette
18:43:55 <oklopol> cheateur: no we just all live in the same building
18:44:08 <ehird> Either I'm suffering from post-sleep-deprviation deprivation or this channel is weirder than usual right now.
18:44:25 <cheateur> or both
18:44:49 <cheateur> ehird: have you watched erlang the movie?
18:45:00 <ehird> I watched the start but couldn't take any more
18:45:08 <ehird> This, however... http://www.youtube.com/watch?v=1yH_j8-VVLo
18:45:11 <cheateur> was it too hardcore for you
18:45:21 <ehird> GRATUITOUS AMOUNTS OF PARALLELISM
18:45:35 <cheateur> munctional?
18:45:46 <cheateur> LOL.
18:48:34 -!- kar8nga has joined.
18:54:05 -!- BeholdMyGlory has joined.
18:58:25 -!- soupdragon has quit ("Leaving").
19:05:44 -!- soupdragon has joined.
19:29:57 <ehird> http://www.reddit.com/r/programming/comments/aqkt2/dirty_math_tricks_optimizing_divisionby10_on_an/
19:29:57 <ehird> I like how all three of the top code snippets are in Haskell, by different people.
19:30:06 <ehird> I guess the practical esolang has finally made it. :P
19:36:48 <soupdragon> haskell isn't eso :[
19:45:37 -!- mycroftiv has quit ("leaving").
19:57:09 <cheateur> is prelude haskell?
19:58:02 <ehird> prelude = haskell's "standard library" module
19:58:12 <ehird> it's "modules you've loaded> ..."
19:59:45 <cheateur> and they have a special query for that?
19:59:48 <cheateur> that's fucked up.
19:59:59 <cheateur> i'm just about to install haskell too, so good for warning me
20:00:48 <ehird> a special query for what?
20:01:01 <ehird> it's just a read-eval-print-loop prompt
20:01:08 <cheateur> for a different combination of loaded modules
20:01:12 <ehird> ???
20:01:23 <ehird> an example shell session
20:01:25 <ehird> $ ghci
20:01:25 <ehird> GHCi, version 6.10.3: http://www.haskell.org/ghc/ :? for help
20:01:25 <ehird> Loading package ghc-prim ... linking ... done.
20:01:26 <ehird> Loading package integer ... linking ... done.
20:01:26 <ehird> Loading package base ... linking ... done.
20:01:26 <ehird> Prelude> 2+2
20:01:28 <ehird> 4
20:01:30 <ehird> Prelude>
20:01:32 <ehird> Leaving GHCi.
20:01:34 <ehird> $
20:01:36 <ehird> it's just the interactive interpreter's prompt... like $ in a shell...
20:01:48 <olsner> hah, python... I like how they had a completely braindead GIL thingy that made python about twice as slow on two threads than on one thread, but have finally managed to optimize it into something that is *only slightly slower* than single-threaded
20:01:57 <cheateur> then what did you mean by "modules you've loaded> ..."?
20:02:06 <ehird> cheateur: I was explaining the prompt that is hsown.
20:02:11 <ehird> this is not a difficult concept
20:02:13 <ehird> *shown
20:02:43 <cheateur> you are explaining this in the most confusing way, i still have no idea what you mean
20:02:51 <cheateur> but it's ok
20:02:52 <cheateur> hug?
20:02:59 <ehird> cheateur: oh, wait... you're a web guy
20:03:07 <ehird> you've probably never even used a language's interactive prompt
20:03:10 <cheateur> no i am a mathematician
20:03:17 <cheateur> jesus, this fucking thing takes half a gigabyte of hard drive space? the download was 50 megs.
20:03:26 <soupdragon> if you are such a mathematician whta's square root of -1
20:03:50 <cheateur> it's the value of your mouth applied to my penis
20:04:22 <soupdragon> that... doesn't even typecheck..
20:04:23 <ehird> cheateur: you're boring and egotistical.
20:04:30 <cheateur> ehird: thank you :)
20:04:41 <ehird> also, you don't even know any esolangs... or talk about them
20:04:54 <ehird> admittedly everyone else in here does the former and not the latter
20:05:00 <cheateur> ehird: i used brainfuck!
20:05:03 <soupdragon> I never made any esolangs :(
20:05:10 <ehird> cheateur: prolly stopped at ,[.,] no?
20:05:12 <soupdragon> noen of my ideas were good
20:05:36 <cheateur> ehird: i tried figuring it out and couldn't
20:06:21 <ehird> so to recap you're a person who doesn't know any esolangs, doesn't talk about esolangs, is boring, complains about file sizes and constantly mentions how he's a mathematician
20:06:28 <ehird> just curious, what mathematics education do you have exactly?
20:07:07 <cheateur> not much.
20:07:09 <cheateur> why?
20:07:20 <ehird> no, see, I said "exactly"
20:07:30 <ehird> what mathematics education do you have?
20:07:31 <cheateur> it's difficult to tell exactly
20:07:40 <ehird> no, it's not, i'm talking about boring formal education
20:07:41 <cheateur> i'm not sure of the status of that myself
20:07:44 <ehird> approved by the state
20:07:45 <cheateur> yeah, so am i
20:07:52 <ehird> then there's no ambiguity
20:08:03 <cheateur> you're right, there is
20:08:26 <ehird> explain this ambiguity or you're just full of shit and embarrassed
20:08:28 <cheateur> well, it is more than 3 years and less than 15 years, depending on your definition of formal education
20:08:53 <ehird> fine, we'll go by the prompt method
20:08:57 <ehird> high school?
20:09:09 <cheateur> i finished that one
20:09:15 <ehird> university?
20:09:30 <cheateur> i started that at 17
20:09:42 <ehird> I didn't ask that, I'm not interested in stroking your ego
20:09:54 <cheateur> i get to stroke it myself, though
20:10:14 <ehird> yes. it would be a lot better if you did it in private, however.
20:10:27 <cheateur> i thought i was egoistic
20:11:15 <ehird> do you actually have any mathematical achievements
20:12:00 <cheateur> i know how to multiply numbers in my head, like 10x5
20:12:16 <cheateur> but, they cannot be too big, because then it doesn't work. :-\
20:12:17 <ehird> yeah only mathematicians can do that
20:13:57 -!- lepuspower has joined.
20:15:12 <cheateur> i am happy your curiosity is satiated
20:16:16 <ehird> it's not i just decided talking to you wasn't worthwhile
20:16:43 <cheateur> in that case, i am very happy as well.
20:18:26 <cheateur> ehird: i believe we have gotten off on the wrong foot. wnt 2 try again?
20:18:40 <ehird> not if you say things like "wnt" and "2"
20:18:44 <ehird> also, I'm always an asshole
20:19:27 <cheateur> 'wnt' and '2' are integral parts of my dialect of english
20:19:41 <ehird> it is one i abstain from speaking in.
20:20:33 <cheateur> by doing that you are inconveniencing my minority
20:21:12 <ehird> i delight in this
20:21:58 * cheateur litigates
20:33:04 -!- GreaseMonkey has joined.
20:37:05 * soupdragon titigates
20:42:36 <oklopol> cheateur: maths is great isn't it
20:43:00 <oklopol> i love all mathematicians equally
20:43:12 <soupdragon> am I a mathematician?
20:43:29 <oklopol> i think so
20:43:32 <fizzie> Mathemagician.
20:43:46 <soupdragon> how can I know for sure?
20:43:50 <oklopol> a small but eager mathematician, like myself
20:44:09 <soupdragon> I've been having mathematical thoughts from a young age but I always felt too scared to try it for real
20:44:11 <fizzie> I've heard that only mathematicians can multply 10 by 5 in their head.
20:44:27 <fizzie> That is a test.
20:44:28 <soupdragon> also I don't think my parents would accept it
20:45:01 <cheateur> oklopol: <3
20:45:21 <oklopol> fizzie: 50
20:45:31 <oklopol> did that in like seconds
20:45:47 <cheateur> actually it's 17
20:45:51 <fizzie> oklopol: A mathematician you then must be. Unless you cheated.
20:45:54 <cheateur> because we're multiplying mod 33, duh
20:45:56 <soupdragon> I just realized multiplication is easy
20:45:57 <oklopol> no i didn't
20:46:05 <oklopol> i really did it in my head
20:46:16 <oklopol> basically i use the fact if you have zeroes in the end, then you can sort of take them out
20:46:19 <soupdragon> 5*1 0 = 5*1 5*0 = 50
20:46:20 <oklopol> and put them back later
20:46:25 <oklopol> yeah
20:47:34 <oklopol> that's another way, but in our number theory course we experimented a lot with multiplying numbers that end in zeroes, you sort of learn to forget about them altogether and just operating on the part before the zeroes
20:47:52 <oklopol> gets slightly tricky if you have more than one zero ofc
20:48:35 <oklopol> the lecturer can do numbers with like hundreds of zeroes in the end in his head
20:48:50 <soupdragon> :(
20:49:23 <oklopol> no idea how he does that but it's damn impressive
20:49:52 <oklopol> also this week's homework in combinatorics on words: find a meaningful sentence that's a palindrome
20:50:45 <soupdragon> a man a plan panama
20:51:01 -!- MizardX has joined.
20:51:04 <oklopol> these are actually in english, i can prove that http://www.math.utu.fi/opiskelu/opetusohjelma/kurssit/syventavat/mate5075/index/Cow-demot2010.pdf
20:51:25 <oklopol> god those are trivial
20:51:32 <soupdragon> wut are you doing lol
20:51:38 <oklopol> this is supposed to be a fucking advanced course
20:51:40 <soupdragon> that looks hard oklopop
20:51:58 <soupdragon> it goes all the way up to 8
20:52:17 <oklopol> well obviously i started after 5, because i ran out of fingers
20:52:22 <oklopol> *stopped
20:52:38 <oklopol> seriously though, can you believe those?
20:52:54 <soupdragon> yes
20:52:55 <oklopol> i haven't been able to sleep since i saw the triviality of those exercises
20:53:03 <cheateur> is the Y combinator a monad?
20:53:21 <soupdragon> cheateur, is LISP touring complete?
20:53:33 <oklopol> is my ass too big for these pants?
20:53:34 <cheateur> i don't know, i've never used lisp
20:53:44 <cheateur> i assume it is
20:54:07 <oklopol> no you're wrong i have a small ass
20:55:24 <oklopol> i need to email the lecturer about those exercises
20:55:29 <Gregor> Of course LISP is Turing-complete.
20:55:40 <Gregor> Is oklopol's ass Turing-complete?
20:56:20 <oklopol> good question
20:56:36 <cheateur> aha is a meaningful sentence which is a palindrome
20:56:57 <cheateur> as well as a(ha){2,}
20:57:14 <soupdragon> oklohoma are you gonna write a program which generates palindromic sentences?
20:57:37 <fizzie> Unfortunately "A man, a plan, Panama" is not a palindrome. But maybe that was the whole trick. The version with the canal is.
20:58:21 <Gregor> A man, a pnal, Panama.
20:58:42 <soupdragon> LOL
20:58:52 <oklopol> a man, a poo, panama
20:59:07 <soupdragon> a man a panama
20:59:11 <oklopol> i think i just randomly generated "eel! flee!"
20:59:37 <oklopol> well, would be sorta weird if i remembered that wrong
21:00:17 <oklopol> palindromes should not contain names
21:00:36 <oklopol> too easy
21:00:40 <fizzie> "oko", isn't that a meaningful palindrome?
21:00:46 <oklopol> okokokokokokokokokokokoko
21:00:48 <oklopol> okokokokokokoko
21:00:50 <oklopol> okokokokokokokokokokokokokokoko
21:01:15 <soupdragon> cheateur: Does computer science have as much to do with computers as astronomy has to do with telescopes?
21:01:36 <cheateur> soupdragon: balls
21:01:52 <oklopol> how much does astronomy have to do with telescopes?
21:01:56 <oklopol> i have zero idea
21:02:17 <cheateur> how much does astrology have to do with the golden girls?
21:03:30 <oklopol> hmm, not at all?
21:03:54 <oklopol> why doesn't everyone answer any questions today
21:03:57 <oklopol> *anyone
21:04:00 <oklopol> what's wrong with me
21:04:13 <oklopol> (someone answer that)
21:09:56 * cheateur watches the tumbleweeds roll by.
21:10:06 <oklopol> ;)
21:11:24 <olsner> I could answer that, but that'd be lame
21:11:42 <oklopol> i'm mostly asking about the typos
21:12:02 <olsner> ok
21:12:14 <oklopol> otherwise i think i'm rather perfect
21:17:27 -!- ehird has quit.
21:17:41 <cheateur> phew, he's gone
21:20:42 <cheateur> oklopol: are you studying maths?
21:20:58 -!- ehird has joined.
21:21:15 <AnMaster> ehird: I have to say that http://www.haskell.org/tutorial so far makes a lot more sense than real world haskell or that other one to me
21:21:49 <AnMaster> it is interesting, concise yet explains the issues clearly. Indeed I haven't got far yet, so I'm only speaking of about half of the "values and types" section so far
21:22:04 <AnMaster> (I'm at "2.2.1 Recursive Types")
21:22:23 <ehird> If you think you understand the Gentle Introduction and you don't know ML, you don't.
21:23:46 <AnMaster> ehird, possibly, but those other ones were too slow in getting anywhere interesting. And this seems to explain the types well. I can't speak about later sections of course.
21:24:20 <ehird> The problem is that you need to be "bored" because as an imperative programmer, you categorially *do not understand the ideas behind Haskell* or how to program effectively in it.
21:24:28 <ehird> If you skip that, you will be a bad Haskell programmer; simple as.
21:25:58 <AnMaster> ehird, you forgot that I know scheme and erlang. And if I can't get anywhere interesting then I can't learn something. To learn something it has to get interesting quickly
21:26:15 <ehird> Scheme and Erlang are not remotely like Haskell in actual programming.
21:26:29 <AnMaster> ehird, true, I gathered that from what I read so far
21:26:31 <ehird> You may disagree and think you will be able to learn Haskell without *really learning* the underpinnings, but you are wrrong.
21:26:33 <ehird> *wrong
21:26:49 <ehird> Also, Real World Haskell *does* do real programs first.
21:26:55 <ehird> So maybe you just like complaining.
21:28:02 <AnMaster> a syntax question though:
21:28:05 <AnMaster> length [] = 0
21:28:05 <AnMaster> length (x:xs) = 1 + length xs
21:28:16 <AnMaster> why the () in the second but not ([]) in the first?
21:28:28 <ehird> By the way, the Gentle Introduction is wildly out of date.
21:28:32 <ehird> iirc, it even has n+k patterns in.
21:28:44 <ehird> Also, I'm not going to answer any questions you have about Haskell because I know that they will only lead to further questions down the line when it turns out you don't understand Haskell at all.
21:28:48 <ehird> And I don't feel like answering such questions.
21:29:10 <AnMaster> ehird, also, have you heard that story about how mathematicians would build a house?
21:36:18 <cheateur> ?
21:36:19 <cheateur> :)
21:39:29 <soupdragon> how mathematicians would build a house?
21:42:02 <AnMaster> oh that, well it was directed to ehird. I don't see any point in telling it as he didn't respond
21:42:08 <AnMaster> *shrug*
21:42:13 <AnMaster> good night everyone
21:44:35 <cheateur> http://www.codexon.com/posts/debunking-the-erlang-and-haskell-hype-for-servers < lulz
21:44:35 <AnMaster> soupdragon, suffice to say it is "foundations last"
21:44:41 <soupdragon> heh
21:44:44 <soupdragon> that makes sense
21:44:50 <cheateur> AnMaster: check the link
21:44:58 <AnMaster> soupdragon, looking at history yes indeed.
21:45:11 <ehird> cheateur: that guy is probably just shit at coding
21:45:16 <ehird> or configured it wrong
21:45:19 <ehird> or used an unrealistic benchmark
21:45:20 <ehird> etc
21:45:31 <AnMaster> yes using -smp disable for erlang is definitely doing it wrong
21:45:31 <cheateur> yeah, unrealistic benchmark is unrealistic
21:45:34 <ehird> lol see http://www.codexon.com/posts/debunking-the-erlang-and-haskell-hype-for-servers/comment-page-1#comment-464
21:45:38 <cheateur> AnMaster: read the text body
21:45:39 <ehird> dons debunking shit about haskell as always
21:45:44 <cheateur> enabling smp made it 4x slowar.
21:46:15 <AnMaster> not in my experience.
21:46:17 <cheateur> dons?
21:46:22 <ehird> dons = don stewart
21:46:28 <cheateur> AnMaster: that's what he said happened in his situation
21:46:30 <ehird> guy at Galois which has been doing commercial haskell for like... 15 years
21:46:35 <ehird> and rabid haskell advocate everywhere :)
21:46:37 <ehird> he's great
21:47:38 <cheateur> the only galois i know is the kiddie fondling op in efnet #math
21:47:48 <ehird> http://www.galois.com/
21:47:57 <ehird> both named after évariste galois obviously
21:48:12 <AnMaster> cheateur, also at accepting new connections? Is that the best benchmark? What about handling that many persistent connections instead?
21:48:16 <soupdragon> do you know differential galois theory?
21:48:26 <ehird> soupdragon: question directed at cheateur presumably
21:48:29 <ehird> AnMaster: see comments.
21:48:31 <cheateur> AnMaster: i know, it's a shit benchmark, you don't have to tell me
21:48:32 <ehird> bad benchmark, bad code.
21:48:43 <AnMaster> also let me read that erlang code
21:48:43 <cheateur> soupdragon: i do, but i don't know that galois
21:48:44 <soupdragon> ehird do you ?
21:48:46 <cheateur> he got shot
21:48:47 <ehird> cheateur: AnMaster is single-threaded, he sees a line and calls replyToSeveralLines
21:48:49 <cheateur> in a driveby
21:48:56 <ehird> then switches back to his process new irc lines thread
21:49:00 <ehird> no way to stop him, I'm afraid
21:49:01 <soupdragon> cheateur stop lieing
21:49:09 <AnMaster> oh yeah that erlang one is bad
21:49:11 <ehird> Lieing!
21:49:23 <ehird> It's when you liey.
21:49:30 <cheateur> soupdragon: at least i'm not calabi-yauing
21:49:39 <ehird> Cabali-yawn.
21:49:41 <ehird> *Calabi
21:49:52 <cheateur> i liked cabali more
21:49:57 <cheateur> can we have that version again
21:50:00 <ehird> Cabally-yawn.
21:50:35 <cheateur> hahah
21:50:46 <cheateur> here's your palindrome sentence btw!!!!!!!!!
21:50:51 <cheateur> thrugo
21:50:51 <AnMaster> ehird, also I did read those comments before
21:50:57 <AnMaster> the one you linked that was
21:51:00 <AnMaster> is*
21:51:09 <cheateur> http://www.infoq.com/interviews/Erlang-Haskell-John-Hughes
21:51:14 <AnMaster> and yeah the erlang code is shitty.
21:51:19 <ehird> infoq is a crappy site
21:51:30 <ehird> "John Hughes, at Erlang Factory"
21:51:34 <ehird> well this is obviously not goign to be unbiased
21:51:46 <ehird> Do you miss laziness from Haskell?
21:51:47 <ehird> Yes, absolutely. I have Macros in Erlang that simulate it and I use them all the time.
21:51:52 <ehird> so he doesn't even code idiomatic erlang.
21:51:58 <ehird> And types?
21:51:58 <ehird> Yes, of course.
21:52:01 <ehird> this is some stunning approval so far
21:52:16 <AnMaster> <ehird> well this is obviously not goign to be unbiased <-- indeed
21:52:21 <ehird> *going
21:52:26 <cheateur> that hughes guy looks like his anus just prolapsed
21:52:32 <ehird> "There are advantages than not having type checker, namely generic programming. If you do generic programming in Haskell, you can write a paper about it."
21:52:38 <AnMaster> also, I don't think it makes sense to try to compare them like that. Both are great languages.
21:52:41 <ehird> yes and then everyone can read the paper and package it into a library
21:52:45 <AnMaster> meant mostly for different things
21:52:47 <ehird> so us plebs don't have to read it
21:52:53 <soupdragon> hehe
21:52:55 <ehird> or understand iit
21:52:56 <ehird> *it
21:53:00 <ehird> you know, it's called abstraction
21:53:03 <ehird> might have heard of it
21:53:04 <soupdragon> generic programming is awesome
21:53:21 <ehird> "If you do generic programming in Erlang, it's 4 lines - one for lists, one for tuples, one for basic values."
21:53:32 <AnMaster> hm. what about binaries?
21:53:46 <ehird> data Showable = forall a. (Show a) => Showable a
21:53:46 <ehird> generic :: [Showable] -> [String]
21:53:46 <ehird> generic = map show
21:53:48 <AnMaster> also that didn't make much sense
21:53:52 <ehird> oh shit it's three lines
21:53:54 <ehird> and is MOST GENERAL
21:54:20 <AnMaster> ehird, well, I think erlang is nice, but I agree that page is shit
21:54:25 <ehird> yep page closed
21:54:40 <ehird> guess money is making his mind fuzzy
21:54:45 <cheateur> i didn't understand the code you ahve written
21:54:47 <cheateur> money?
21:54:49 <ehird> can't be simply an idiot, quickcheck is awesome
21:54:49 <cheateur> he's rich?
21:54:56 <ehird> cheateur: no, a client wanted a version of quickchcek for erlang
21:54:58 <ehird> *quickcheck
21:55:01 <cheateur> he looks like he's supported by the red cross
21:55:03 <ehird> so, presumably he is getting paid to write erlang
21:55:38 <ehird> cheateur: the code I've written is simple
21:55:43 <ehird> basically, when we saw (Show a) => ...
21:55:44 <ehird> in a type
21:55:49 <ehird> it means "this value must satisfy the Show interface"
21:55:57 <ehird> (they're actually called typeclasses but that's irrelevant)
21:56:03 <ehird> data Showable = forall a. (Show a) => Showable a
21:56:03 <ehird> means
21:56:04 <cheateur> also he's pronouncing erlang err-lang
21:56:17 <cheateur> while anyone who's seen erlang the movie knows it's pronounced our-lang
21:56:23 <ehird> "Showable is a data type with one constructor, taking a single value, a. a must satisfy the Show interface."
21:56:29 <ehird> so we can have a list of Showables
21:56:37 <AnMaster> cheateur, err. I would pronounce it in Swedish instead.
21:56:42 <ehird> [Showable 1, Showable "fuzzy", Showable [1,2,3], Showable ('x','y')]
21:56:48 <ehird> generic :: [Showable] -> [String]
21:56:55 <ehird> "Generic takes a list of Showables and returns a list of Strings."
21:56:56 <ehird> generic = map show
21:56:57 <ehird> same as
21:56:59 <AnMaster> cheateur, which would be closer to "ärlang"
21:57:01 <ehird> generic xs = map show xs
21:57:05 <ehird> presumably you know what map is
21:57:13 <cheateur> AnMaster: which is how the english pronounce 'our'
21:57:18 <ehird> show :: (Show a) => a -> String
21:57:20 <cheateur> ehird: wait, i got lost
21:57:23 <AnMaster> cheateur, no not really
21:57:25 <AnMaster> quite different
21:57:28 <ehird> show is just "this value has a meaningful representation for humans as a string dude"
21:57:32 <ehird> that's what the Show typeclass is for
21:58:00 <soupdragon> but I want read . show = id
21:58:12 <AnMaster> maybe how it sounds to you, but sounds very different to a native Swede. (And Erlang is originally made by Swedes, though it is named after a Dane)
21:58:23 <ehird> no it's named after a company
21:58:33 <ehird> soupdragon: you could do that in coq i think
21:58:36 <ehird> well
21:58:43 <ehird> you'd have to put them in the same typeclass
21:58:49 <ehird> but then you could do something like (I don't know Coq):
21:59:02 <AnMaster> ehird, officially it is named after http://en.wikipedia.org/wiki/Agner_Krarup_Erlang
21:59:04 <ehird> prop_inverse : ForAll a. read (show a) = a
21:59:49 <ehird> ah
21:59:50 <ehird> it'd be
22:00:02 <ehird> prop_inverse : forall x, read (show x) = x;
22:00:13 <AnMaster> ehird, who did some important work in the telephony sector.
22:00:16 <ehird> and of course instances of ReadShow would have to provide a proof themselves...
22:00:45 <soupdragon> ehird http://github.com/odge/parseq/blob/master/Examples.v
22:00:58 <AnMaster> of course it also happens to match "Ericsson Language" but iirc I read they had both meanings in mind originally
22:01:05 <soupdragon> Program Definition par_parser : Parser token (fun _ => True) par (fun x p y => x = print p ++ y /\ length y <= length x)
22:01:11 <ehird> I tried to use Coq but I'm not intelligent enough :(
22:01:14 <ehird> Agda was easier
22:01:15 <soupdragon> sort of generalized loop invarient style version of what you wrote
22:01:27 <ehird> I just had to replace a few symbols and I could pretend I was using dependent types in haskell
22:01:32 <soupdragon> you need that ++ y because parsing is incremental
22:01:32 <cheateur> anyways all this functional programming is so 2009
22:01:39 <soupdragon> and you need the length stuff to justify the recursion
22:01:40 <cheateur> what's the next thing after functional programming?
22:01:40 <AnMaster> ehird, "<ehird> [...] but I'm not intelligent enough :(" <-- a classic!
22:01:45 <ehird> cheateur: qbasic
22:01:54 <cheateur> sweet
22:01:54 <AnMaster> ehird, XD
22:01:56 <cheateur> srsly tho
22:02:00 <ehird> AnMaster: I don't know where you've got the impression I'm an egostist
22:02:07 <ehird> cheateur: this idea of there being a "next" is harmful and fashion-based
22:02:13 <soupdragon> why do I bother linking stuff to ehird :(
22:02:17 <ehird> we should be trying to improve, not randomly moving onto things
22:02:21 <ehird> soupdragon: what do you mean, I liked it
22:02:24 <cheateur> ehird: that's exactly why i enjoy it
22:02:25 <soupdragon> oh
22:02:26 <ehird> I was just saying that I sucked at Coq
22:02:29 <cheateur> i like harmful things <3
22:02:34 <soupdragon> http://github.com/odge/parseq/blob/master/Parsing.v
22:02:37 <soupdragon> that's the monad and all that stuff
22:02:38 <ehird> cheateur: unsafePerformIO
22:02:45 <AnMaster> ehird, "egostist"?
22:02:50 <ehird> egotist
22:02:53 <ehird> soupdragon: wait that was examples and not the implementation?
22:02:56 <soupdragon> yes
22:02:57 <oklopol> cheateur: no, i'm not doing anything atm
22:02:58 <ehird> soupdragon: ok I *really* suck at Coq :)
22:03:05 <oklopol> haha ehird sucks cock
22:03:06 <ehird> the "at" there is terribly imporatnt...
22:03:11 <ehird> *important
22:03:12 <ehird> oklopol: AT
22:03:13 <ehird> AT COQ
22:03:14 <soupdragon> hehe that Exampels file has a parser for balenced parens and arithmetic
22:03:15 <AnMaster> ehird, did I say you were an egotist?
22:03:16 <ehird> wait
22:03:18 <ehird> that's just as bad
22:03:22 <cheateur> oklopol: then why the combinatorics link?
22:03:25 <ehird> AnMaster: you laughed at me saying i wasn't clever enough for coq
22:03:25 <soupdragon> the Parsing.v is sort of like mini-parsec++
22:03:32 <cheateur> oklopol: because it doesn't look like very good self-study material
22:03:34 <oklopol> cheateur: well i'm a math student
22:03:46 <cheateur> oklopol: so in that case, you are studying maths
22:03:55 <oklopol> the point was exactly that those exercises are incredibly stupid and trivial
22:03:58 <AnMaster> ehird, I was amused that _you_ would say you weren't cleaver enough for something
22:04:01 -!- kar8nga has quit (Remote closed the connection).
22:04:09 <AnMaster> it just isn't your style
22:04:10 <ehird> AnMaster: Which is only funny if you think I'm an egotist.
22:04:14 <oklopol> cheateur: yes, you could say that
22:04:17 <AnMaster> ehird, isn't it spelled "egoist"?
22:04:23 <oklopol> but why say that when you can say something else
22:04:25 <ehird> Only if you like sounding stupid.
22:04:37 <AnMaster> ehird, both exists according to google define:
22:04:55 <ehird> Yes, but egoist sounds stupid.
22:05:11 <AnMaster> ehird, it is how it is spelled in Swedish
22:05:20 <AnMaster> so I find egotist sounds weird
22:05:26 <ehird> Yes, well, all Swedes are stupid!
22:05:37 <AnMaster> ehird, :(
22:09:37 <ehird> Notation "m >>= f" := (@Bind _ _ _ _ _ _ _ m f) (right associativity, at level 20).
22:09:43 <ehird> that syntax is weirdly englishlike
22:09:50 <ehird> also, _ _ _ _ _ _ _ _ _ _ _ _ _
22:10:24 <AnMaster> ehird, haskell?
22:10:30 <ehird> Coq.
22:10:33 <AnMaster> ah
22:10:49 * ehird decides to start pronouncing coq as "coh"
22:10:55 <AnMaster> ehird, what does that code do?
22:11:04 <ehird> Define an infix ooperator.
22:11:06 <ehird> *operator
22:11:18 <AnMaster> ah
22:11:27 <AnMaster> _ _ _ _ _ _ _ _ _ _ _ _ _ looks insane
22:13:29 <AnMaster> ehird, seems agda was developed by Swedes btw ;P
22:17:50 <cheateur> hmm
22:18:05 <cheateur> this quicktest thing is pretty smart, i have had the same idea like 2 years ago
22:18:30 <oklopol> it's a trivial idea, it's the implementation that's good
22:18:31 -!- MigoMipo has quit (Read error: 104 (Connection reset by peer)).
22:18:47 <soupdragon> what's a trivial idea?
22:19:12 <oklopol> the trivial idea is the idea containing only one element
22:19:37 * soupdragon HISSES AT OKLOFORK
22:19:43 <AnMaster> oklopol, nice one :D
22:19:51 <oklopol> yeah it was pure genius
22:20:18 <oklopol> or should i say... night ->
22:25:50 <soupdragon> ehird it's terribly ugly and verbose but all that can be fixed
22:27:55 -!- lepuspower has changed nick to mycroftiv.
22:28:06 <cheateur> oklopol: it's not that trivial
22:41:29 <ehird> yes it is
22:41:52 <cheateur> is not
22:42:53 <ehird> yes it is
22:44:14 <soupdragon> no it's not
22:44:51 <cheateur> ^
22:45:04 <ehird> yes it is
22:45:41 <cheateur> you lose
22:46:14 <ehird> yes it is
22:47:58 <cheateur> <3
22:48:03 <soupdragon> no it's not
22:48:10 <ehird> yes it is
22:48:53 <AnMaster> <soupdragon> ehird it's terribly ugly and verbose but all that can be fixed <-- read as "ehird is ..."
22:48:55 <AnMaster> XD
22:49:00 <soupdragon> lol
22:49:03 <AnMaster> and I thought "no ehird isn't verbose"
22:49:25 <AnMaster> (ugly I don't really know about)
22:49:28 <soupdragon> YGBM
22:49:32 <AnMaster> soupdragon, ?
22:49:32 <soupdragon> You Gotta Beleive Me
22:49:35 <AnMaster> mhm
22:50:25 <ehird> Am I not verbose? Am I not overly loquacious with the verbiage and associated endeavours? Indeed, it seems to be that a fully-formed expedition to investigate the verbosity of my person would be left with only one real option amongst the set of options available, with all others being eliminated due to some process (perhaps deduction, perhaps magic, perhaps something else entirely; I cannot say, as this is purely hypothetical. Nevertheless, it does not
22:50:26 <ehird> matter.)—and that option would be to conclude that I am entirely verbose.
22:50:54 <AnMaster> ehird, hehe
22:51:19 <AnMaster> ehird, lets say, you are not verbose if that would annoy me ;P
22:51:45 <ehird> Surely you mean I am only verbose if it annoys you.
22:52:12 <AnMaster> ehird, you can be that too
22:52:23 <AnMaster> whichever annoys me most atm
22:52:49 <ehird> Oh, I parsed it as I am not verbose if being verbose would annoy you.
22:52:51 <ehird> Which isn't what you meant.
22:53:06 <AnMaster> indeed not
22:53:21 <AnMaster> I meant you are terse when that annoys me
22:54:47 <fizzie> ehird: I would be more worried about how they're going to "fix" you.
22:54:58 <SimonRC> Oh man my gut fauna are going mad (like they tend to do when I recover from food poisoning).
22:55:04 <AnMaster> fizzie, the expedition?
22:55:24 <ehird> When I think fauna I always think of deer.
22:55:29 <ehird> OH NO MY GUT DEER
22:55:39 <ehird> THEY ARE /DISPLEASED/
22:55:59 <SimonRC> uh, right
22:56:21 <SimonRC> well "gut flora" would definitely be wrong
22:56:24 <AnMaster> ehird, was that fake German "good" or was it English "gut"
22:56:56 <ehird> See SimonRC.
22:57:01 <ehird> SimonRC: fauna/fawn is the connection my brain makes.
22:57:06 <SimonRC> ah, ok
22:57:31 <SimonRC> Maybe there are some transparent fish on coral reefs that have actual gut flora, but not humans.
22:57:47 <SimonRC> hmm that's a neat idea actually
22:58:01 <AnMaster> heheh
22:58:11 <AnMaster> SimonRC, why transparent?
23:01:01 <ehird> soupdragon: should i play with agda
23:01:39 <AnMaster> ehird, is agda cool?
23:01:48 <ehird> Yes, but you won't understand it. :P
23:01:54 <AnMaster> oh? why not
23:02:07 <ehird> Two phrases. Dependent types. Proof assistant.
23:02:21 <AnMaster> ehird, what sort of proofs can you prove with it
23:02:34 <ehird> What is that supposed to mean?
23:03:24 <AnMaster> ehird, well, math ones? is there a limit on what areas you can prove in? Say, over the reals or over the complex numbers, or the quaternions or such?
23:03:32 <ehird> http://en.wikipedia.org/wiki/Intuitionistic_type_theory
23:07:03 <ehird> Oh my god
23:07:03 <AnMaster> http://en.wikipedia.org/wiki/Kleene%E2%80%93Rosser_paradox <-- this looks remarkably similar to the proof for the halting problem
23:07:03 <soupdragon> if you want
23:07:08 <ehird> M-x set-input-method RET TeX RET
23:07:09 <soupdragon> I'm learning epigram
23:07:19 <AnMaster> ehird, what does that do?
23:07:23 <ehird> "\alpha " → "α "
23:07:29 <AnMaster> wow cool
23:08:20 <AnMaster> ehird, doesn't work very well. Try \inf
23:08:32 <ehird> Obviously prefixes have to be unique, so it'll be something else
23:08:42 <AnMaster> ehird, hm?
23:08:59 <AnMaster> well then I don't know
23:09:32 <AnMaster> ah \infty works
23:09:35 <AnMaster> but that is different
23:10:14 <ehird> So?
23:10:23 <AnMaster> well just one small symbol missing
23:10:28 <AnMaster> it may be AMS-Tex even not sure
23:10:31 -!- oerjan has joined.
23:10:43 <AnMaster> ehird, but that is seriously cool
23:10:50 <ehird> \infty shows as the infinity symbol for me
23:11:06 <ehird> Cool, \gets gives ←
23:11:36 <AnMaster> how do you get upper case alpha
23:11:43 <oerjan> \Alpha
23:11:47 <ehird> "sgml" also works
23:11:50 <ehird> &amp; → &
23:11:55 <AnMaster> oerjan, <ehird> M-x set-input-method RET TeX RET
23:11:57 <ehird> &rarr; → →
23:12:00 <AnMaster> oerjan, this is not TeX
23:12:08 <AnMaster> ehird, \Alpha doesn't work. \Delta does
23:12:13 <oerjan> sheesh
23:12:38 <AnMaster> ηβπ ∈ ∞ ∑ ∪ ∨ Δδ α\Alpha
23:12:42 <AnMaster> hm interesting
23:12:45 <ehird> lol "there4"
23:12:47 <ehird> &there4;
23:12:48 <ehird> XD
23:12:58 <ehird> there4 we kan c dat
23:13:02 <AnMaster> ehird, what really? is that input mode sgml?
23:13:05 <ehird> yeah
23:13:25 <ehird> set-input-method greek lets you be all greek all the time
23:13:37 <ehird> Ηελλο. Ηος αρε υοθ?
23:13:44 <soupdragon> WP Greet Box icon
23:13:44 <soupdragon> X
23:13:44 <soupdragon> Hello there fellow Reddit user! If you like this msg, please remember to vote for this soupdragon on Reddit.
23:13:54 <soupdragon> ______ posted using my iPhone
23:14:06 <ehird> wat.
23:14:07 <soupdragon> RECESSION GOT YOU DOWN? CLICK HERE
23:14:23 <AnMaster> <ehird> Ηελλο. Ηος αρε υοθ? <-- hm "hello hoc ape voO"?
23:14:24 <soupdragon> tag cloud: esoteric, esolang, wiki, ehird, insane
23:14:48 <ehird> AnMaster: hello how are you
23:14:49 <ehird> わぱねせ
23:14:53 <AnMaster> ehird, also it works nicely inside erc
23:14:58 <AnMaster> ehird, what language is that
23:15:02 <soupdragon> The user is powered by IRC with xchat
23:15:08 <ehird> soupdragon: go away
23:15:15 <soupdragon> [w3c complaint?]
23:15:27 <soupdragon> I'm just testing soupdragon[beta]
23:15:27 <AnMaster> ehird, plus I want combined tex + sgml input method
23:15:34 <ehird> AnMaster: Tough
23:15:41 -!- BeholdMyGlory has quit (Read error: 104 (Connection reset by peer)).
23:15:55 <AnMaster> ehird, should be possible
23:16:15 <AnMaster> will look at it tomorrow or later
23:16:35 <soupdragon> Follow Me: 244 followers, twitter-counter
23:16:44 <AnMaster> soupdragon, stop spamming
23:16:55 <ehird> Tælkɨŋɲ ɨŋ ɪPɑ mækɚʃ ɑŋɚ ʃøʉŋð prøfœʉŋð.
23:17:08 <soupdragon> I wish I could read IPA
23:17:10 <AnMaster> ehird, "mækɚʃ ɑŋɚ ʃøʉŋð prøfœʉŋð"?
23:17:14 <AnMaster> makes one?
23:17:16 <soupdragon> what about shavian?
23:17:18 <ehird> AnMaster: Yes.
23:17:33 <AnMaster> ehird, then I have a bit of an issue. could be "an elitist" I guess ;P
23:17:44 <ehird> AnMaster: ???
23:17:48 <ehird> It's easy to read.
23:17:54 <ehird> Talking in IPA makes one sound profound.
23:17:58 <AnMaster> ah
23:18:06 <ehird> (set-input-method ipa)
23:18:13 <AnMaster> ehird, how does it work there
23:18:20 <soupdragon> but there's a difference between figuring out what it says... and read it as it is supposed to be pronounced
23:18:32 <ehird> ןאד שךך יקנרק' אם צק!
23:18:47 <AnMaster> and what is that
23:18:47 <ehird> AnMaster: See minibuffer when typing some letters
23:18:51 <ehird> Hebrew.
23:18:51 <AnMaster> oh right
23:19:44 <AnMaster> Tælkɨŋɲ ɨŋ ɪPɑ <-- okay that was painful to write
23:20:30 <AnMaster> ehird, what does set-input-method brittish do
23:20:35 <AnMaster> it doesn't seem to do anything
23:20:54 <ehird> shift-3 = £, I bet
23:21:00 <ehird> and shift-2 = "
23:21:07 <ehird> and shift-' = @
23:21:18 <AnMaster> shift-3 does that
23:21:27 <AnMaster> for shift-2 that is already true on my keyboard
23:21:37 <AnMaster> shift-' I can't tell
23:22:17 <ehird> how do you do subscripts with tex
23:22:22 <AnMaster> _
23:22:26 <ehird> ah yes
23:22:29 <AnMaster> wait that is subscript
23:22:33 <AnMaster> oh yeah
23:22:35 <ehird> except that doesn't work.
23:22:37 <AnMaster> double misread
23:22:43 <AnMaster> ehird, did ^ for superscript work?
23:22:43 <ehird> type \_0, see failure
23:22:50 <AnMaster> ehird, no \ in front
23:22:51 <AnMaster> in real tex
23:22:58 <AnMaster> iirc
23:23:02 <ehird> erm right just _ works
23:23:03 <ehird> but produces
23:23:08 <ehird> א₀
23:23:09 <ehird> er wtf
23:23:13 <ehird> how is that backwards
23:23:13 <AnMaster> that worked?
23:23:14 <ehird> oh
23:23:15 <ehird> hebrerw
23:23:17 <ehird> hebrew
23:23:19 <AnMaster> :D
23:23:28 <ehird> א₁
23:23:29 <ehird> >_<
23:23:40 <AnMaster> set TeX you dolt
23:23:46 <ehird> א₀ ≡ א₁
23:23:47 <ehird> HERESY
23:23:51 <AnMaster> what is input method UCS?
23:23:59 <ehird> i think alt-NNNN = U+NNNN
23:24:14 <soupdragon> ₁א
23:24:16 <soupdragon> ₁א₁
23:24:18 <soupdragon> wtf
23:24:25 -!- ehird_ has joined.
23:24:38 <ehird_> א₀ ≡ א₁
23:24:41 <ehird> :D
23:24:46 <ehird> It might be my OS being stupid
23:24:50 <ehird> Works in Emacs
23:25:24 <ehird_> Wonder how to do that single :: char
23:26:08 <AnMaster> f²⁴⁶ s⁴²
23:26:18 <AnMaster> א₀≡א
23:26:19 <AnMaster> hm
23:26:26 <AnMaster> ehird_, xchat does that last thing if I use it
23:26:33 <AnMaster> also that dropped an 1
23:27:12 <ehird_> id :: ∀α. α → α
23:27:15 <ehird_> id α = α
23:28:02 <oerjan> <AnMaster> why the () in the second but not ([]) in the first? <-- : has precedence (6 iirc) like an operator, and behaves similarly wrt parentheses
23:28:03 <ehird_> \rightarrow works btw
23:28:23 <AnMaster> oerjan, hah
23:28:28 <AnMaster> oerjan, "aha"
23:28:48 <ehird_> oerjan: what's the dot for compose in ams latex
23:29:15 <ehird_> o
23:29:17 <ehird_> :P
23:29:22 <oerjan> if you don't mean \circ then i don't remember
23:29:25 <ehird_>
23:29:27 <ehird_> dammit
23:29:29 <ehird_> thaat's odot
23:29:30 <ehird_> so close
23:29:31 <ehird_> *that's
23:31:00 <ehird_> (○) :: ∀α. ∀β. ∀γ. (α → β) → (γ → α) → (γ → β)
23:31:26 <oerjan> AnMaster: technically haskell reserves all operators starting with : as data constructors, and you can define their precedence with the usual infix[lr]? command
23:31:29 <ehird_> (f ○ g) x = f (g x)
23:31:34 <ehird_> I don't think \circ is it, but close enough
23:31:43 <AnMaster> oerjan, oh nice
23:31:46 <ehird_> oerjan: Any fancy mathematical symbols for arbitrary function names?
23:31:59 <AnMaster> ehird_, circ isn't it
23:32:04 <AnMaster> but I don't know what is
23:32:05 <ehird_> I said that, but close enough
23:32:11 <AnMaster> ehird_, I just agreed with you
23:32:30 <oerjan> iirc ghc has an extension to allow those for type constructors as well (standard haskell only has -> there)
23:32:41 <AnMaster> ehird - getting annoyed for me agreeing with him since 2010
23:32:47 <ehird_> I wasn't annoyed.
23:32:47 <AnMaster> you sure have a lot of "since time"
23:32:51 <ehird_> I was pointing out I had already said it.
23:33:03 <AnMaster> suuuuuure
23:33:24 <ehird_> You, on the other hand, are apparently so irritable that you interpret my benign actions as against you, and act crazy when I point out that they weren't annoyed.
23:33:38 <AnMaster> ehird_, I just don't believe it
23:33:48 <AnMaster> ehird_, and I'm chuckling at this
23:34:16 <ehird_> Issues; you have them.
23:34:26 <AnMaster> ehird_, :D
23:34:51 <oerjan> ehird_: i think function naming custom depends a lot on what kind of function it is.
23:34:55 <AnMaster> also "this" wasn't at "me don't believing you" it was at "you claiming not to be annoyed"
23:35:01 <ehird_> oerjan: anything! :P
23:35:08 <AnMaster> ehird_, which indicates not quite as weird issues at least
23:35:13 <ehird_> specifically, the arguments to the misnamed (○)
23:35:15 <oerjan> yeah pretty much
23:35:26 <ehird_> "me don't believing you". Purveyors of fine grammar.
23:35:30 <soupdragon> ○_○
23:35:38 <AnMaster> soupdragon, wonderful
23:36:09 <ehird_>
23:36:12 <ehird_>
23:36:15 <AnMaster> ooh
23:36:17 <ehird_> ®
23:36:19 <ehird_>
23:36:21 <soupdragon> ↻_↺
23:36:23 <ehird_>
23:36:28 <AnMaster> ↺_↻
23:36:30 <ehird_>
23:36:38 <AnMaster> ehird_, those are just a blur here
23:36:41 <ehird_>
23:36:42 <AnMaster> apart from the S in the ring
23:36:49 <soupdragon> ⊝_⊚
23:36:50 <AnMaster> the S in the ring was *very* clear
23:37:08 <ehird_>
23:37:11 <AnMaster> ehird_, ⊛ ⊚ ⊝ are not readable
23:37:17 <ehird_>
23:37:23 <ehird_>
23:37:30 <ehird_>
23:37:53 <AnMaster> ehird_, ∗ is just * ?
23:37:58 <ehird_> \ast
23:38:03 <AnMaster> oh wait, it is in the middle of the row
23:38:06 <ehird_> ⊛ is circledast
23:38:19 <ehird_> ·
23:38:25 <ehird_>
23:38:29 <ehird_> that's one character
23:38:30 <ehird_> so cool
23:38:48 <ehird_> 33℃
23:39:16 <ehird_> ζ
23:39:19 <soupdragon> what is cool about ℃
23:39:43 <ehird_>
23:39:44 <soupdragon> o(ζ)o
23:39:48 <ehird_>
23:39:50 <AnMaster> that is one symbol just for degrees C? ℃
23:39:55 <AnMaster> rather than a degree sign?
23:40:06 <ehird_> error :: String → ⊥
23:40:40 <ehird_>
23:40:46 <soupdragon> I love ∎
23:40:49 <ehird_>
23:40:49 <ehird_>
23:41:00 <AnMaster> soupdragon, a black square?
23:41:00 <ehird_> ↑ How to prove anything to a non-total programmer.
23:41:03 <AnMaster> very small such
23:41:34 <ehird_>
23:41:41 <AnMaster> ehird_, do you still have that unicode graph line generation script around?
23:41:42 <ehird_>
23:42:00 <ehird_> AnMaster: Yes.
23:42:12 <AnMaster> ehird_, that last one was prim?
23:42:21 -!- FireFly has quit ("Leaving").
23:42:22 <ehird_> backprim
23:42:29 <ehird_> f′
23:42:52 <ehird_> Optimus′
23:43:26 <oerjan> totally a programmer
23:43:32 <AnMaster> oerjan, -_-
23:43:53 * oerjan bows
23:43:54 <AnMaster> ehird_, also what is ζ now again?
23:44:06 <soupdragon> ‵o′
23:44:18 <soupdragon> ‵.o.′
23:44:56 <ehird_> AnMaster: zeta
23:45:06 <AnMaster> ah
23:45:44 <AnMaster> ah found it at /mnt/gentoo$HOME/irc/sparkline
23:47:33 <ehird> I'm rewriting it in Haskell now :P
23:47:35 <soupdragon> look up the rayman zeta function
23:47:40 <AnMaster> ehird, why?
23:47:48 <ehird> Because Python sucks and Haskell rocks.
23:47:52 <ehird> soupdragon: lol rayman zeta function
23:48:02 <AnMaster> ehird, why did you write it in python back then
23:48:12 <ehird> AnMaster: I was an unenlightened fool.
23:48:21 <soupdragon> haha was
23:48:24 <AnMaster> ehird, oh? I thought you knew haskell at that point
23:48:25 <soupdragon> :3
23:48:27 * ehird stabs soupdragon
23:48:33 <AnMaster> soupdragon, :D
2010-01-18
00:00:55 -!- soupdragon has quit ("Leaving").
00:04:52 -!- GreaseMonkey has quit (Client Quit).
00:10:35 -!- augur has joined.
00:12:32 <Sgeo> How dare you say Python sucks???
00:13:26 <oklopol> python is a programming language
00:14:40 <Slereah> (an awesome one)
00:15:32 <ehird> Sgeo: It does.
00:19:31 <ehird> Type system sucks: you get types like (draw :: None) and you could pass either a Cowboy or a Pencil for it, which is nonsensical. Types are only checked at runtime. Statements are not expressions. IO is not explicitly declared, and so mysterious side-effects are easy. Lambdas can only contain an expression, thus making them effectively useless because of "statements are not expressions". Creator is an idiot who thinks you don't need tail-call optimisation be
00:19:31 <ehird> tail-*recursive* functions can be written as a loop.
00:19:45 <ehird> *because
00:19:46 <ehird> not be
00:19:47 <ehird> stupid client
00:21:29 <Sgeo> "Alexa said "Most visited website"" That is NOT a reason to rate a site as trustworthy or good!
00:21:41 <ehird> Gee, you didn't complain about that yesterday.
00:25:40 <oerjan> somehow feeling slightly related, has an internet mob ever got an innocent person killed yet?
00:26:06 <oerjan> it's bound to happen eventually
00:27:32 <olsner> yeah, thinking about it, I'm kind of surprised it hasn't happened yet (perhaps I just missed it though)
00:28:23 -!- ehird_ has quit (Remote closed the connection).
00:31:39 -!- bsmntbombdood has changed nick to bsmntbombgirl.
00:36:55 <Sgeo> Has an Internet mob ever killed anyone?
00:37:51 <AnMaster> <Sgeo> "Alexa said "Most visited website"" That is NOT a reason to rate a site as trustworthy or good! <-- context?
00:38:26 <Sgeo> http://www.mywot.com/en/scorecard/www.python.org
00:38:39 <Sgeo> Same user does it for other sites, including ones that everyone else rates as untrustworthy
00:41:58 <AnMaster> Sgeo, doesn't seem like a credible site that "mywot"
00:44:49 <AnMaster> night →
00:44:52 <Sgeo> Night
00:46:00 <ehird> Web of Trust is credible enough, it's just stupid.
00:52:07 <uorygl> ehird, you make Python sound like a worse version of Haskell.
00:52:18 <ehird> uorygl: That's because it is.
00:52:22 * uorygl nods.
00:52:23 <ehird> Most languages are. :P
00:53:03 <uorygl> Hmm, we should take Python and change it so that it's exactly like Haskell.
00:53:14 <ehird> We could call it Haskell.
00:53:24 <uorygl> Except it'll still look like this:
00:53:26 <uorygl> def main:
00:53:33 <uorygl> putStr("Hello, world!\n")
00:53:43 <uorygl> Thereby making it inarguably inferior.
00:54:05 <ehird> You said *exactly* like Haskell.
00:54:15 <ehird> Also, it'd be main = putStr("Hello, world!\n")
00:54:16 <ehird> :P
00:59:26 <uorygl> Well, yeah. "def x:\n 3" and "x = 3" would be equivalent.
00:59:26 <oerjan> rubbish, it'd be main = putStrLn "Hello, world!"
00:59:41 <uorygl> main = putStr("Hello, world!\n") is valid Haskell.
00:59:52 <uorygl> It's also valid Python!
00:59:53 <oerjan> but _so_ unidiomatic
01:00:32 <uorygl> Yeah.
01:00:55 <uorygl> This would make it actually work the way it looks like it should work:
01:01:00 <uorygl> def putStr:
01:01:07 <uorygl> some stuff that makes it return a thunk
01:01:18 <uorygl> main = putStr("Hello, world!\n")
01:01:19 <uorygl> main()
01:01:53 <bsmntbombgirl> python.com?
01:01:58 <ehird> *def putStr(x)
01:02:06 <uorygl> Right.
01:02:08 <ehird> bsmntbombgirl: Change it so it's exactly like haskell.com.
01:02:19 <ehird> BUILDING PORN
01:04:08 -!- Slereah has quit (Read error: 60 (Operation timed out)).
01:04:39 <uorygl> Porn depicting edifices?
01:04:40 <oerjan> newsflash: Uranus may contain liquid carbon
01:05:18 <bsmntbombgirl> liquid carbon?
01:05:21 <bsmntbombgirl> how does that work?
01:05:30 <oerjan> http://en.wikipedia.org/wiki/Diamond#Material_properties
01:05:51 <oerjan> "Research results published in an article in the scientific journal Nature in 2010 suggest that at ultrahigh pressures and temperatures (about 10 million atmospheres or 1 TPa and 50,000 °C) diamond behaves as a metallic fluid."
01:06:04 <uorygl> It works by having lots of carbon atoms that attract each other strongly enough that they undergo surface tension but weakly enough that they can move relative to each other.
01:06:22 <uorygl> And by "move relative to each other", I mean "undergo Brownian motion".
01:06:26 -!- Slereah has joined.
01:06:59 <bsmntbombgirl> i wonder how attainable those conditions are
01:07:20 <oerjan> as the rest of the section says, neptune and uranus may have them
01:07:36 <ehird> pouring a 50,000 degree metal into my butt sounds like a good idea
01:07:42 <ehird> brb
01:08:21 <bsmntbombgirl> i mean, artificially
01:10:53 <oerjan> ah here is a popular article: http://news.discovery.com/space/diamond-oceans-jupiter-uranus.html
01:11:10 <uorygl> What makes it diamond if it's liquid?
01:11:20 <oerjan> s/popular/popsci/
01:11:45 <uorygl> That's like taking wood, vaporizing it, and calling the result wood vapor.
01:11:54 <oerjan> bsmntbombgirl: it seems to imply these were actually produced in a laboratory
01:13:57 <oerjan> "Diamond is an incredibly hard material. That alone makes it difficult to melt." my trust in this popsci article is suddenly dropping swiftly :/
01:14:26 <oerjan> although that was to be expected
01:14:37 <Slereah> Diamond is the hardest metal
01:14:45 <bsmntbombgirl> i wonder what happens when it recrystalizes
01:14:48 -!- Pthing has joined.
01:14:52 <bsmntbombgirl> i bet you could make bigger diamonds that way
01:15:08 <oerjan> yes, but my intuition tells me it is unlikely that that implies anything directly about its melting
01:15:24 <Slereah> Diamond doesn't melt, as far as I know
01:15:28 <Slereah> It BUUUURNS
01:15:32 <Slereah> It's made of carbon
01:15:37 <oerjan> Slereah: incredibly high pressure
01:15:57 <Slereah> But then again
01:15:58 <oerjan> see the pressure/temperature chart in my wp link above
01:16:01 <Slereah> If it's melted
01:16:05 <Slereah> It's not diamond
01:16:12 <Slereah> Diamond is about the crystal structure
01:16:32 <oerjan> it's molten _from_ diamond though
01:16:49 <oerjan> as opposed to from another form
01:16:53 <Slereah> Still, it's just a catchy title
01:17:18 <Slereah> The kind they use to make scientific discoveries more interesting than they really are
01:18:28 <oerjan> well metallic fluid carbon is pretty interesting in itself
01:19:38 <Slereah> And yet not enough to get in the title :o
01:20:42 <oerjan> another interesting fact: the solid form floats on the liquid one
01:21:52 <oerjan> now we just need diamond-based lifeforms :D
01:22:01 <ehird> someone called?
01:22:10 <ehird> my heart is a ferrofluid
01:22:15 <ehird> people don't like being around me, apparently it's noisy
01:23:24 <oerjan> anvilicious
01:26:38 <oerjan> it would just be so cool if there were methane-based life on titan, diamond-based on uranus and plasma-based in the sun's atmosphere...
01:26:48 <Slereah> oerjan : You know what else does?
01:26:50 <Slereah> WATER
01:26:56 <oerjan> of course
01:27:06 <ehird> google just uncensored google.cn, apparently
01:27:19 <oerjan> but iiuc there are very few examples
01:27:50 <oerjan> ehird: that sounds... dangerous
01:28:04 <ehird> yeah, china are going to fly to the us, collectively
01:28:08 <ehird> and murder the giant corporation
01:28:09 <oerjan> at least for their employees in china
01:28:16 <ehird> oh wait
01:28:18 <ehird> it's still censored
01:28:19 <ehird> darn
01:28:22 <ehird> just lies LIES and LIES
01:28:52 <oerjan> as i assumed. i really doubt google would do something that would risk their chinese employees being arrested
01:29:24 <oerjan> i think they are much more likely to just shut down the office, assuming they don't chicken out
01:31:31 -!- augur has quit (lindbohm.freenode.net irc.freenode.net).
01:31:31 -!- MizardX has quit (lindbohm.freenode.net irc.freenode.net).
01:34:16 <bsmntbombgirl> why does google need an office in china, anyway?
01:34:32 <ehird> http://hackage.haskell.org/package/acme-now
01:34:43 <oerjan> to earn money there?
01:34:53 <bsmntbombgirl> drop a couple datacenters there, obviously
01:35:15 <oerjan> they're going to need someone who understands the culture
01:35:59 <oerjan> and to deal with the government.
01:36:30 <oerjan> otherwise they would not have a chance of not getting thrown out, i bet
01:37:44 <oerjan> you see, no matter how much some people would like it, google is _not_ going to be able to actually fight the chinese government in any way from within the country. that is just absurdly optimistic.
01:38:36 <ehird> oerjan: Well, they *did* convince the government of the United States of America to take a good hard look at China because of their illegal actions...
01:38:42 <ehird> Which is quite a lot of power...
01:39:19 <oerjan> well true... it might help against the actual hacking. but i doubt china will budge many millimeters on the censorship.
01:41:49 <ehird> indeed.
01:42:30 -!- mycroftiv has changed nick to mycroshift.
01:53:42 -!- augur has joined.
01:53:42 -!- MizardX has joined.
02:29:43 <ehird> $ ./sparkline
02:29:44 <ehird> 1 2 3 2 1
02:29:44 <ehird> ▁▅█▅▁
02:29:44 <ehird> $ ./sparkline 1 2 3
02:29:44 <ehird> ▁▅█
02:29:47 <ehird> Fuck yeah, Haskell!
02:29:59 <ehird> $ wc -l sparkline.hs; wc -l ~/bin/sparkline
02:30:00 <ehird> 32 sparkline.hs
02:30:00 <ehird> 36 /Users/ehird/bin/sparkline
02:30:03 <ehird> Fuck yeah, Haskell!
02:33:29 * oerjan has the vague memory of writing such a program in haskell before, possibly for lambdabot on #haskell
02:33:42 <ehird> ~/bin/sparkline is python, btw
02:33:43 <ehird> and old
02:34:18 <ehird> oerjan: but does yours handle this?
02:34:19 <ehird> $ sparkline 10000 -3.4 99 2348 9 4888 9000
02:34:19 <ehird> █▁▁▂▁▄▇
02:35:00 <oerjan> probably not, it was just a quick lambdabot command or something
02:35:21 <ehird> $ sparkline 1 2 3 4 5 6
02:35:21 <ehird> ▁▂▃▅▆█
02:35:22 <ehird> $ sparkline 1 2 3 4 5 6 7
02:35:22 <ehird> ▁▂▃▄▅▆█
02:35:22 <ehird> $ sparkline 1 2 3 4 5 6 7 8
02:35:22 <ehird> ▁▂▃▄▅▆▇█
02:35:24 <ehird> $ sparkline 1 2 3 4 5 6 7 8 9
02:35:26 <ehird> ▁▁▂▃▄▅▆▇█
02:37:04 <oerjan> reading this through the logs, IE doesn't seem to align all those blocks at the bottom
02:37:14 <ehird> well, the last one isn't aligned for me
02:37:17 <ehird> but the rest are
02:37:34 <ehird> I prefer this, though, because without those chars there isn't much resolution
02:38:00 <oerjan> mhm
02:53:31 <Gracenotes> I'm looking through all the QBASIC programs I wrote when I was a kid! They're quite adorable.
02:54:16 <Gracenotes> also in the same folder were some interesting text documents... very interesting..
02:54:55 <Gracenotes> also lolling at a book report I typed out: "I would recommend this book to a friend because it's a wonderful and exciting book. I loved it because you can't wait to hear what happens next. I adored the adventurous plots Georgie went through but I wished the Goose Prince hadn't died. That's what I think of this book."
02:55:47 * ehird attempts to reconcile that line with its predecessor, fails
02:56:16 <oerjan> but that's trivial!
02:57:07 <oerjan> otoh, what if we let them fight to the death instead
02:57:22 <Gracenotes> also some christian fiction piece that I apparently started and thankfully didn't get too far with. ugh.
02:59:12 <ehird> That must be really boring fiction, deus ex machinas everywhere
02:59:17 <ehird> "And then, Jesus did this thing! AXIOMATICALLY!"
02:59:56 <Gracenotes> as far as I remember, it was more like a god-discovering mary sue
03:00:51 <Gracenotes> now that I'm reading it, oh jeez. it's such a mary sue :/
03:01:12 <ehird> Gracenotes is female!
03:01:18 <ehird> (Or transgendered.)
03:01:27 <Gracenotes> okay, or john sue. or something.
03:01:29 <oerjan> mary sue, jesus. sue jesus, mary
03:01:34 <Gracenotes> the male equivalent thereof
03:01:52 <ehird> Marty Stu apaprently
03:01:54 <ehird> Or Gary Stu
03:03:06 <ehird> haha the originator of the term is hilarious
03:03:07 <ehird> http://www.fortunecity.com/rivendell/dark/1000/marysue.htm
03:04:08 <Gracenotes> looking at my dreidel program again... the one where you press keys and win fake gelt
03:04:21 <ehird> wat
03:05:25 <oerjan> das ist so falsch
03:11:20 <Gracenotes> I can paste a giant ascii dreidel into the channel now if you want :|
03:11:35 <Gracenotes> I made four varieties in said program. one for each side.
03:14:00 <ehird> so i assume you were jewish :p
03:14:03 <ehird> no wait, christian
03:14:06 <ehird> with... jewish culture?
03:14:42 <oerjan> this is confusing!
03:14:57 <Gracenotes> Jewish family. which went on the Christian side some time in 2001
03:15:32 <Gracenotes> nowadays they attend church weekly. well, two+ times a week
03:15:53 <Gracenotes> http://en.wikipedia.org/wiki/Messianic_Judaism
03:16:31 <Gracenotes> but nowadays, mostly run of the mill christianity, plus a few jewish holidays
03:18:42 * oerjan is now less confused
03:19:57 <Gracenotes> and me, well, with reddit's religion of choice
03:20:33 <ehird> Hinduism!
03:22:18 <Gracenotes> -.
03:22:56 <ehird> .-
03:26:58 <oerjan> http://en.wikipedia.org/wiki/Atheism_in_Hinduism
03:27:43 <ehird> yes, yes, we get it, people say atheism when they mean rationalism
03:27:46 <ehird> big news :P
03:29:06 <oerjan> also, atheists believe they are rational </duck>
03:29:54 <oerjan> hm actually that should be <duck> i think
03:29:58 <mycroshift> actually i dont quite understand atheism from a strictly rational perspective - because there seems to be this weird implicit acceptance of an arbitrary a priori definition of the word 'god'
03:30:14 <Pthing> it's called "the West"
03:30:29 <Gracenotes> it's <duck/>
03:30:39 <oerjan> ah, perhaps
03:31:26 <ehird> mycroshift: I don't agree
03:31:36 <ehird> doesntexist(god) doesn't imply makessense(god)
03:31:49 <ehird> because things that don't make sense don't exist, obviously
03:31:57 <Pthing> i disagree!
03:32:07 <Sgeo> Making sense to who?
03:32:08 <ehird> also, an interferer is perfectly sense-making
03:32:15 <ehird> as well as an omniX one for restricted definitions of omniX
03:32:18 <ehird> Sgeo: as in, logically
03:32:20 <ehird> coherent idea
03:32:22 <ehird> consistent
03:32:41 <Sgeo> Some definitions of "god" are a coherent idea
03:32:47 <Pthing> they are
03:34:04 -!- pikhq_ has changed nick to pikhq.
03:34:09 <mycroshift> well, obviously there is huge diversity under the label, but sometimes you get the strange sense that rationalists who strongly identify with the atheist label are determined to advance the claim that there is somehow both a 'correct' definition of god - and that it is maximally absurd
03:34:22 <Pthing> yesss
03:34:24 <Pthing> the worst part of this
03:34:37 <Pthing> is that the correct definition of god is some kind of american protestant fundamentalist god
03:34:55 <Pthing> they buy into the fundamentalist bullshit as surely as the fundamentalists, except don't get any fun out of it
03:35:00 <Sgeo> There are definitions of "god" that most would call "incorrect": "God" = table, for instance
03:35:57 <Gracenotes> well, there are levels most atheists recognize. rejecting Christianity, rejecting deism, rejecting theism
03:36:12 <Sgeo> mycroshift, Epicurus or whoever reminds me of that. "If he is neither willing nor able, then why call it god?"
03:36:53 <Gracenotes> but even if there's not a clear consensus definition-wise, there are things atheists tend to reject and accept which are part of atheism
03:37:24 <ehird> Sgeo: so a god that knows everything about the present and past, and can do anything that isn't logically contradicting, including interfering with our world
03:37:26 <ehird> you wouldn't call that god?
03:37:38 <ehird> epicurus attacked the idea of a BENEVOLENT god
03:37:39 <ehird> not a god
03:37:49 <ehird> if you accept godlike powers + lets evil happening
03:37:51 <Sgeo> ehird, I didn't say I agreed with Epicurus
03:37:53 <ehird> then you have a perfectly consistent, evil god
03:38:06 <Sgeo> I would call an evil god a god.
03:38:41 <Sgeo> Hm, actually, that holds true even if I say that anything evil cannot be a god. Let me rephrase that.
03:39:01 <Sgeo> I would call an evil thing "that knows everything about the present and past, and can do anything that isn't logically contradicting, including interfering with our world" a god
03:39:15 <Pthing> lol
03:39:19 <Pthing> way to accept "evil"
03:39:25 <Pthing> but get pissy about "god"
03:40:00 -!- MizardX has quit (Read error: 110 (Connection timed out)).
03:40:11 <Sgeo> Do we actually need to define "evil" to use it in context of defining "God"?
03:40:18 <Pthing> uh well i sure hope so
03:40:28 <Pthing> because evil is an even more incoherent and unreal idea than god
03:41:36 <ehird> only if you don't have a well-defined moral system — but, of course, identifying as having one just makes you whine about groups and philosophy or something.
03:41:52 <Pthing> all that talks about is human beings
03:41:54 <ehird> Which is an interesting argument. "Evil cannot be defined!" "Well, I have a definition that I use..." "You suck!"
03:42:09 <ehird> Pthing: in an argument evil obviously means "evil as I perceive it"
03:42:12 <Pthing> you don't get to apply this "evil" to trees or rocks or quasars or gods
03:42:29 <Pthing> ehird, oh well then let's just say god obviously means "god as I percieve Him" and we can all be speechwriters
03:43:00 <ehird> moral :: Action → Universe → SomeFuzzyIntegerBooleanThing
03:43:51 <pikhq> All this boils down to is that morality and ethics are very hard to deal with in a coherent manner. :P
03:44:21 <Pthing> and therefore are very hard to exist
03:44:23 <Pthing> APPARENTLY
03:44:57 <ehird> pikhq: well, I'd call my system of ethics WHICH I REFUSE TO NAME BECAUSE OF PTHING :| rather simple...
03:45:24 <Pthing> you should never be ashamed to be yourself :3
03:45:37 <ehird> i'm just trying to avoid you blabbering :)
03:45:41 <ehird> *blabbering :)
03:45:56 <pikhq> ehird: Categorical imperative?
03:46:26 <ehird> CoughcoughuticoughlitarcoughiancoughcoughcoughHACKismCOUGH.
03:46:43 <Pthing> so what
03:46:50 <ehird> shit, i thought that would dissuade pthing
03:46:51 <Pthing> you can say utilitarianism, i don't give a shit
03:46:57 <Pthing> why do you think i give a shit
03:47:06 <ehird> Because the last time I did you ranted for 50 days.
03:47:27 <Pthing> you were probably saying something stupid related to utilitarianism that I forget what it was
03:47:45 <ehird> I only said that my system of morals was consistent and logical.
03:47:48 <Pthing> oh yeah
03:47:51 <Pthing> that is really stupid
03:47:53 <Sgeo> Are there any problems with "desire" utilitarianism?
03:47:56 <ehird> Logical not as in the "everyone should accept it".
03:47:57 <Pthing> <insert 50 days>
03:48:04 <ehird> Logical as in consistent, so, uh, redundant.
03:48:08 <ehird> Sgeo: define that
03:48:30 <Pthing> i don't get
03:48:37 <Pthing> how you can even ASSERT a thing like that
03:48:38 <ehird> Pthing: stfu
03:48:40 * Sgeo looks for where he first read about it
03:48:43 <Pthing> ehird, but how??
03:48:52 <ehird> Pthing: Well, utilitarianism is consistent.
03:48:53 <ehird> it simply is
03:48:56 <Pthing> so what
03:49:00 <Pthing> this is about you
03:49:06 <ehird> You never run into a situation where something is seemingly both good and bad.
03:49:11 <Pthing> wat
03:49:12 <ehird> And everyone gets the same results from it.
03:49:17 <ehird> What other definition do you have of "consistent"?
03:49:41 <Pthing> you talk about "running into situations" but also utilitarianism in the abstract
03:49:52 <Pthing> the problem is that no one situation happens identically the same
03:50:06 <ehird> That's not relevant to what I said.
03:50:11 <Pthing> why not
03:50:26 <Pthing> if it can't deal with real shit on the ground, it's a pretty terrible system of morals
03:50:33 <ehird> Sure it can.
03:50:50 <ehird> Of course it's an approximation. All quick human thought is, more or less.
03:50:59 * Sgeo doesn't find it :/
03:51:02 <Pthing> beg pardon?
03:51:10 <ehird> Sgeo: Well, explain it.
03:51:13 <Pthing> what is an approximation to what
03:51:28 <ehird> Pthing: What you use to "deal with real shit on the ground" is an approximation of utilitarianism.
03:51:31 <Sgeo> Let's see if I remember it properly
03:51:38 <Pthing> that is what i would consider a moral response
03:51:40 <ehird> All quick thought, e.g. when dealing with real shit, on the ground, is essentially an approximation.
03:51:59 <Pthing> the quick thought is all that is the case!
03:52:05 <ehird> And no systems of morality are truly calculatable in a real senes.
03:52:10 <Pthing> oh well see
03:52:11 <ehird> They all say "happiness" or "pain" or whatever.
03:52:17 <Pthing> i have this problem that shit actually has to make sense
03:52:19 <Pthing> so
03:52:26 <Sgeo> There exist desires and beliefs. A "good" desire is one which helps other desires get accomplished. A "bad" desire is one that hinders other desires. A "good" action is one that could be initiated by someone with a "good" desire, whether or not the desires that actually iniated the action are "good"
03:52:33 <Sgeo> I might have gotten it wrong, though
03:52:51 <Pthing> it doesn't really help anyone to be able to assert that like
03:52:55 <ehird> Sgeo: that doesn't terminate
03:52:58 <ehird> what are the axiomatic desires
03:53:06 <Pthing> there exists a response in this situation that is consistent with all other responses!
03:53:15 <ehird> otherwise we'll just have everybody trying to further everyone else's desire to further everyone else's desire to—
03:53:27 <Sgeo> ehird, I don't know
03:53:42 <Sgeo> http://commonsenseatheism.com/?p=772 is what I think is the source, but I don't remember reading a PDF
03:53:46 <Sgeo> I remember reading a webpage
03:53:52 <ehird> negative utilitarianism seems to be the best; it avoids the Repugnant Conclusion
03:54:02 <ehird> but is still largely similar to regular utilitarianism
03:54:19 <Sgeo> http://commonsenseatheism.com/?p=776 an FAQ, apparently
03:54:31 <Sgeo> http://alonzofyfe.com/article_du.shtml this is what I read
03:55:11 <Pthing> also!
03:55:12 <Pthing> ehird
03:55:19 <Pthing> since you bring approximations into it
03:55:24 * Sgeo currently makes no stance as to whether or not it's a helpful system of moralityy
03:55:27 <Sgeo> *morality
03:55:33 <Pthing> it follows that you cannot bring *any real situations* into discussions of morality
03:55:40 <ehird> Pthing: disagree
03:55:42 <Pthing> since they are all approximations, and so introduce errors!
03:55:52 <Pthing> consistency is ruined
03:55:53 <ehird> i think you're misinterpreting my words and i do not know how to fix that
03:56:00 <Pthing> buy better words
03:57:36 <Sgeo> I'd like to buy a word for $10
03:57:49 <Pthing> okay your word is "meaninglessness"
04:02:25 -!- augur has quit (Read error: 113 (No route to host)).
04:06:20 -!- ehird has quit.
04:07:08 -!- oerjan_ has joined.
04:08:10 -!- oerjan has quit (Read error: 104 (Connection reset by peer)).
04:12:46 <oklopol> morning
04:17:29 -!- oerjan_ has quit ("Lost terminal").
04:30:44 <uorygl> Hmm. Not being on Linux makes me feel uncomfortable.
04:31:09 <uorygl> Even though I've been on Windows for the past... while.
04:33:43 <uorygl> So, I wonder now what distribution I should get.
04:34:00 <Sgeo> LFS!
04:34:09 <uorygl> That doesn't sound like it's a distribution.
04:34:35 -!- coppro has joined.
04:35:36 <uorygl> Does LFS mean you download the kernel, BusyBox, wget, gcc, install them, and then do the rest from there?
04:36:35 <pikhq> uorygl: No, it means you do the entire thing from an existing build system.
04:37:00 <uorygl> That too.
04:37:45 <uorygl> So it's what you would do to install Linux on an iPhone.
04:40:57 <pikhq> ... Uh, no.
04:41:17 <pikhq> Read the damned first chapter of the book.
04:44:57 <uorygl> It would be nice if I had the book. Or knew very well that a book existed.
04:52:02 -!- augur has joined.
04:53:06 -!- mycroshift has changed nick to mycroftiv.
05:13:38 <pikhq> "Linux From Scratch" is a book.
05:13:56 <pikhq> It's at linuxfromscratch.org
05:16:06 <Sgeo> pikhq, he's offlne
05:16:11 <Sgeo> He might not look it, but he is
05:16:24 <Sgeo> And I'm going to go eat now
05:39:45 <coppro> hmm... I've got a new idea
05:39:49 <coppro> I want an XML format for nomograms
05:40:28 <coppro> said XML format will have an XSL to turn it into an SVG
05:44:54 <coppro> pikhq: since ehird isn't here, I hereby declare that the task of deriding my idea falls to you
05:54:34 <Gregor> LFS is the most awesome distribution ever.
05:54:58 <Gregor> LFS: The only distribution that's a book (probably?)
06:06:08 <coppro> Gregor: fine, you comment
06:41:57 -!- FireyFly has joined.
07:09:07 -!- kar8nga has joined.
07:33:48 -!- FireyFly has changed nick to FireFly.
07:37:09 <Sgeo> If this guy goes with multithreading, considering that we're using a non-thread-safe SDK, I'll slap him
07:41:50 <oklopol> there's a book with the source code for minix
07:43:40 <fizzie> Coincidentally, there is also a kook with the source code for minix. (I believe.)
07:47:48 <oklopol> are you calling me a liar
07:47:56 <oklopol> because if you are
07:47:58 <oklopol> i don't get it
07:48:50 <oklopol> incidentally i wonder if tomato juice goes bad if kept for a week in room temperature
07:49:27 <fizzie> Would a regular tomato? (Call you a liar.)
07:50:14 -!- FireFly has quit ("Leaving").
07:50:43 <oklopol> tastes sorta funny
07:50:53 <oklopol> then again i guess it always does
07:51:53 <fizzie> Aren't those packages supposed to have storage instructions?
07:52:07 <oklopol> oh great idea
07:52:23 <oklopol> i haven't slept yet so sorta have no idea what's going on
07:53:21 <oklopol> once opened blah blah 4 days refrigerator
07:54:04 <fizzie> Then you just have to guess as to what sort of safty factor they've engineered in.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:01:23 -!- bsmntbombdood_ has joined.
08:06:57 -!- bsmntbombgirl has quit (Read error: 110 (Connection timed out)).
08:25:09 <oklopol> what's safty
08:25:44 <fizzie> Safety, misspelteded.
08:26:09 <oklopol> huh.
08:26:20 <oklopol> i think i get it
08:50:33 <oklopol> i feel like vomiting a liter of tomato juice
08:50:35 <oklopol> sleep time ->
08:57:20 -!- scarf_ has joined.
08:57:42 -!- scarf_ has changed nick to scarf.
08:58:47 -!- Pthing has quit (Remote closed the connection).
09:03:38 -!- AnMaster has quit (Read error: 60 (Operation timed out)).
09:05:39 -!- AnMaster has joined.
09:22:34 -!- MizardX has joined.
09:28:58 -!- coppro has quit ("I am leaving. You are about to explode.").
09:54:28 -!- kar8nga has quit (Remote closed the connection).
10:03:58 -!- scarf has changed nick to scarf|away.
10:06:55 -!- Pthing has joined.
10:37:18 -!- scarf|away has changed nick to scarf.
11:39:28 -!- rodgort has quit (Client Quit).
11:39:59 -!- rodgort has joined.
11:42:01 -!- cheater has joined.
11:42:08 <cheater> hiiiiii
11:42:41 <scarf> hi
11:51:50 -!- Deewiant has quit (K-lined).
12:04:10 -!- zeotrope has quit (Read error: 110 (Connection timed out)).
12:11:32 -!- Pthing has quit (Remote closed the connection).
12:34:34 -!- Deewiant has joined.
12:35:01 <cheater> hi scarf
12:35:12 <scarf> hi
12:52:26 -!- zeotrope has joined.
12:56:32 -!- AnMaster has quit (No route to host).
13:27:50 -!- BeholdMyGlory has joined.
13:29:24 -!- FireFly has joined.
13:30:06 -!- Pthing has joined.
13:39:12 -!- MigoMipo has joined.
13:58:20 -!- scarf has quit (Remote closed the connection).
14:01:00 -!- MigoMipo has quit ("Konversation terminated!").
14:46:50 -!- cheater2 has joined.
14:49:53 -!- Pthing has quit (Remote closed the connection).
14:53:04 -!- cheateur has quit (Connection timed out).
15:30:29 -!- cpressey has joined.
15:57:52 -!- oerjan has joined.
16:07:50 -!- MigoMipo has joined.
16:07:57 -!- MigoMipo has quit (Client Quit).
16:08:13 -!- MigoMipo has joined.
16:26:59 -!- MissPiggy has joined.
17:05:35 <fizzie> Heh, funny; Debian sid upgraded to X.org 7.5, and now when I move my mouse cursor to one of the three monitors and press a key while it's there, X crashes with "Segmentation fault at address 0x38" somewhere under mieqPointerUpdateSprite.
17:06:03 <fizzie> The other two screens work just fine, though.
17:06:07 <fizzie> "Oh well."
17:06:28 <Gregor> Debian sid, AKA Debian "unstable" :)
17:07:12 <fizzie> Yeah, I guess I don't have anyone else to blame. It's just that it is only sporadically when I feel like debugging things like this, not all the time.
17:07:39 <Gregor> Eh, I use sid(ux)
17:07:55 -!- bsmntbombdood_ has quit (Read error: 60 (Operation timed out)).
17:08:18 <fizzie> I think that crashing screen's the one that's on the integrated Radeon display thing; the other two are on a separate graphics card. It's never really worked all that well.
17:08:54 -!- AnMaster has joined.
17:09:03 <Gregor> In my experience, mix n' match graphics cards is rarely a good idea.
17:09:35 <fizzie> Possibly, but it's the stupid that it's not a good idea; there's no theoretical reason why it shouldn't work.
17:09:58 <fizzie> It's not like I'm trying to do anything very demanding, like some sort of SLI dual-use of non-related cards.
17:10:01 <Gregor> Hello fizzie, welcome to Earth.
17:11:07 <cheater> lol
17:12:12 -!- oerjan has quit ("leaving").
17:25:12 -!- bsmntbombdood_ has joined.
17:29:44 -!- Slereah_ has joined.
17:29:58 * pikhq returns to the lambda-in-C-ness.
17:30:05 <pikhq> Church numerals, anyone?
17:32:55 <pikhq> Hell, Imma go ahead and make it all explicitly curried, just for the lulz.
17:33:00 -!- AnMaster has quit (Read error: 60 (Operation timed out)).
17:34:33 <cpressey> If I spray-paint a "9" on the wall of the local Episcopalian chapel, does that count?
17:38:00 <pikhq> churchSucc is ugly as hell.
17:38:02 <pikhq> Hooray.
17:38:25 -!- AnMaster has joined.
17:39:04 <pikhq> The only way I could make this uglier is to do thunks.
17:40:57 -!- kar8nga has joined.
17:41:30 -!- Slereah has quit (Read error: 110 (Connection timed out)).
17:43:19 <pikhq> return lambda(m, (closure m, closure n), return call(call(m,churchSucc),n););
17:43:26 <pikhq> God, that's awful.
17:53:58 -!- cheater2 has changed nick to cheateur.
18:01:57 * pikhq can has church numerals
18:16:49 <pikhq> http://sprunge.us/WDhU
18:17:32 <pikhq> I've got half a mind to make the xgc_malloc a closure, as well.
18:22:57 <MissPiggy> pikhq do a lambda calculus meta interp in it?
18:23:27 <MissPiggy> I'll give you scheme code if you want
18:23:49 <pikhq> Maybe later.
18:46:54 <pikhq> The predecessor function is... Ugly as hell.
18:48:38 <pikhq> The explicit closing doesn't help matters any.
18:54:08 -!- AnMaster_ has joined.
19:04:04 -!- AnMaster has quit (Success).
19:04:29 -!- AnMaster_ has quit (Read error: 60 (Operation timed out)).
19:07:45 <pikhq> http://sprunge.us/CJXC Yeah, that's the most ugly predecessor function I've seen.
19:08:56 -!- AnMaster has joined.
19:17:26 * uorygl blinks at the syntax "closure m"
19:17:57 -!- augur has quit (Read error: 110 (Connection timed out)).
19:19:19 <pikhq> Yeah.
19:26:44 <AnMaster> fuck my isp. they changed reverse dns completely today
20:09:45 -!- augur has joined.
20:15:22 <SimonRC> AnMaster: in what manner?
20:21:25 <fizzie> SimonRC: Now all the PTR records too resolve names to IPs.
20:21:32 <fizzie> (Disclaimer: speculation.)
20:22:12 <SimonRC> I can't remember what PTR records are supposed to do anyway
20:22:53 <fizzie> Point to the names corresponding to the IPs the records are named after.
20:23:41 <SimonRC> ok
20:24:00 <SimonRC> the .arpa stuff?
20:24:14 <fizzie> Right.
20:24:46 <AnMaster> fizzie, no
20:25:03 <AnMaster> but it went from *.cust.tele2.se to *.bredband.skanova.se
20:25:10 <AnMaster> (modulo spelling)
20:25:14 <fizzie> That is a strange complaint; reorganizing the way dynamic IPs are named sounds like the prerogative of an ISP.
20:25:40 <cpressey> as long as they don't resolve to Church numerals, right?
20:25:52 <AnMaster> fizzie, it broke the oper block on an irc network I'm an operator on.
20:25:57 <AnMaster> had to ssh in and fix it
20:26:17 <fizzie> AnMaster: Yes, well, that is primarily your fault, for relying on something you had no business to rely on.
20:26:22 <AnMaster> also it went from adsl2+ to adsl2
20:26:25 <AnMaster> as far as I can tel
20:26:28 <AnMaster> tell*
20:26:41 <fizzie> cpressey: Saunalahti (a Finnish ISP) uses (or at least used to use) roman numerals for names for dynamically allocated IPs.
20:26:47 <AnMaster> sure I only have 8 mbit down but why would it change like that.
20:27:00 <cpressey> fizzie: nice.
20:27:03 <AnMaster> they artificially limited it before, so...
20:28:21 <fizzie> Few lines from last:
20:28:22 <fizzie> htkallas pts/67 Thu Jan 14 11:21 - 11:30 (00:09) mmmdcccxxi.gprs.sl-laajakaista.fi
20:28:26 <fizzie> htkallas pts/55 Tue Jan 12 12:58 - 13:10 (00:12) yymmdcxxvi.gprs.sl-laajakaista.fi
20:28:29 <fizzie> Okay, "last -a".
20:35:51 <SimonRC> "yy"?!
20:36:16 <Ilari> y? I only know M, D, C, L, X, V and I (and the line on top versions)....
20:36:38 <fizzie> I have a feeling Y is their own custom notation for ten thousand.
20:36:40 <cpressey> Maybe it's a really funky date format string.
20:36:41 <SimonRC> maybe y = MMMMM MMMMM
20:36:53 <fizzie> SimonRC: MMMM, MARABOU.
20:36:53 <SimonRC> y comes after x
20:36:59 <SimonRC> ??
20:37:17 <Ilari> Wonder if there is 'w' also...
20:37:21 <fizzie> SimonRC: http://www.brandsoftheworld.com/catalogue/M/49321.html
20:37:29 <fizzie> It's a brand of chocolate.
20:37:41 <SimonRC> ok
20:37:48 <SimonRC> not marborou then
20:37:54 <SimonRC> *Marlboro
20:38:23 <fizzie> Anyway, it is not perhaps so convenient to have a combining upper-bar or whatever to do an X̅.
20:38:30 <fizzie> In a domain name, I mean.
20:38:38 <fizzie> Even though IDNs do exist, but still.
20:39:13 <Ilari> Go poke the RDNS of those netblocks and see what roman numbers come up?
20:39:54 <fizzie> There's a kmmcdxvii.gprs.sl-laajakaista.fi I have used before.
20:40:43 <Ilari> fizzie: Can you find one with both 'y' and 'k'? Any others than [YKMDCXVI] you can find? :-)
20:40:44 -!- augur has quit (Read error: 113 (No route to host)).
20:41:05 <fizzie> You can forward-lookup those names and start poking yourself.
20:42:22 <cpressey> Forget X̅, I want whitespace in my domain name. Specifically, tabs.
20:45:11 <SimonRC> heh
20:45:21 <Ilari> What, U+2001 is not enough? :->
20:50:34 <uorygl> Looks like Y is a myriad and K is a half-myriad.
20:50:44 <uorygl> What do those numbers denote, anyway?
20:50:59 <uorygl> In any case, I'd number them as if they were newly-discovered atomic elements.
20:51:30 <AnMaster> <fizzie> SimonRC: MMMM, MARABOU. <-- XD
20:51:44 <Ilari> Myriad => 10 000...
20:53:01 -!- MigoMipo has quit (Excess Flood).
20:53:10 <AnMaster> cpressey, I want right-to-left override in my dns
20:53:25 -!- MigoMipo has joined.
20:54:10 -!- MigoMipo has quit (Excess Flood).
20:54:36 -!- MigoMipo has joined.
20:55:05 <uorygl> IDN, anyone?
20:55:28 <AnMaster> mentioned there above
20:56:36 <uorygl> Oh. That's what I get for reading channel logs in a random order.
21:00:01 <fizzie> Hrm, well; 85.76.191.100 maps to zyyykmmccxcix.dsl.sl-laajakaista.fi. I guess z could be 50000, then.
21:02:04 <fizzie> K is definitely 5000, though:
21:02:05 <fizzie> 101.180.76.85.in-addr.arpa domain name pointer ZYYYMMMCMXCIX.dsl.sl-laajakaista.fi.
21:02:08 <fizzie> 102.180.76.85.in-addr.arpa domain name pointer ZYYYMK.dsl.sl-laajakaista.fi.
21:04:55 <fizzie> Don't see anything past z yet; 85.76.191.255 is only zyyykmmcdliii.dsl, and the next one (.192.1) is a different block altogether, since that's yymdc.gprs.
21:10:31 <Ilari> zyyykmmcdliii => 87 453 or something?
21:10:42 <fizzie> That's what I think.
21:11:30 <fizzie> Ohhh, and there was that great noise when another dialup ISP had ROT-13'd "silly" (sometimes a bit... questionable) reverse-DNS names for clients.
21:13:11 <fizzie> Things like "gheirahvwn" -rot13-> "turvenuija", which is... can someone who does English more idiomatically provide a translation that captures the tone?
21:14:24 <fizzie> Well, Finnish-speaking folks can take a look at the historical list at http://www.lmmz.net/files/mtv3hosts/hurf/
21:14:45 <Ilari> Something bit akin to redneck?
21:16:29 <fizzie> There's things like "smelly corpse", "new-media clown", "alcoholic", "jew" (in a derogatory tone), "commie", "rat food", "humanist", "beer gut" and other such less polite names.
21:17:05 <fizzie> "rectal expert", for example. I wonder if someone actually got fired over this stunt.
21:17:58 <fizzie> Oh, there's even separately "humanist" and "computer-illiterate humanist".
21:18:24 <Ilari> Or it is what resulted when someone's logic bomb gone off?
21:18:47 <fizzie> I don't think so; after all, they *were* rot13'd.
21:19:00 <AnMaster> fizzie, what is y then?
21:19:16 <fizzie> AnMaster: 10000, wasn't it?
21:20:04 <AnMaster> fizzie, ah
21:20:13 <fizzie> Also some of those are just strange (or alternatively I don't know the corresponding slang); for example "abscissa" isn't really especially disparaging, I don't think.
21:20:18 <Ilari> For bit more difficulty, they could have used some random substitutions (same for all names). Those are crackable, but not as simple as rot13.
21:24:13 <fizzie> Their PR release about it at least says it was done by a single employee with a "sick sense of humor" (their words).
21:25:23 <AnMaster> heh
21:26:29 <AnMaster> last xkcd was quite good btw
21:28:41 -!- BeholdMyGlory has quit (Read error: 54 (Connection reset by peer)).
21:28:52 <Ilari> Yes, _really_ sick...
21:31:33 <Sgeo> I guess I should play with ADO.NET
21:33:41 <fizzie> Oh, and the second-level names (like "titaa", "taatititi", ...) are single characters in morse code, in alphabetical order, denoting the third IP address byte. (With "ti" = dot, "taa" = dash.)
21:33:56 <fizzie> Or at least almost.
21:43:29 <Ilari> There are many duplicate lowest-level names... There are total of 631 names for 3810 hosts. Only 2 of those names appear only once. 'kannibaali' (cannibal) and 'tremolo' (tremolo?) both appear 13 times.
21:49:51 -!- coppro has joined.
21:58:53 -!- MigoMipo has changed nick to MigoMipo_Zwei.
22:03:28 -!- MigoMipo_Zwei has changed nick to MigoMipo.
22:05:51 -!- augur has joined.
22:18:57 -!- kar8nga has quit (Remote closed the connection).
22:19:32 <coppro> anyone here have experience with SVG?
22:19:39 <MissPiggy> some
22:20:03 * Sgeo assassinates XML
22:20:07 <Sgeo> erm, that was tasteless
22:20:29 <Sgeo> I didn't think before I spoke
22:20:55 <AnMaster> http://github.com/ <-- "GitHub is Temporarily Offline." huh
22:21:25 * pikhq can has cons cells
22:24:16 <Deewiant> AnMaster: The twitter link also gave me a 503 :-)
22:24:26 <AnMaster> Deewiant, 503?
22:24:32 <Deewiant> Service unavailable
22:24:36 <AnMaster> ah yes
22:24:56 <Deewiant> Worked on a refresh though.
22:26:53 <fizzie> OpenVPN gets IPv6 in the "tun mode" (in addition to tap devices); openvpn-devel has the behind-the-scenes story: "After planning to force a student to write this part of code (who unfortunately sensed our plot and ran for his life) Gert Doering finally yielded to our begging and promises of beer and wrote the code."
22:29:50 -!- MigoMipo has quit (Remote closed the connection).
22:30:08 <FireFly> coppro, a little, but only by hand
22:30:23 <coppro> FireFly: good, I'm looking for help with doing it by hand
22:30:34 <fizzie> I've just generated SVG with Perl. (A match made in heaven!)
22:31:32 <AnMaster> fizzie, what is the diff between tun and tap?
22:31:57 <FireFly> I actually used w3schools for learning SVG :|
22:32:04 <coppro> w3schools is pretty solid
22:32:22 <FireFly> I've heard they're pretty outdated when it comes to JS
22:32:22 <AnMaster> I use befunge to generate svg
22:32:29 <coppro> I'm trying to get my image to center vertically using viewBox
22:32:32 <coppro> and it's not working :(
22:32:44 <AnMaster> FireFly, coppro ^
22:32:53 <fizzie> AnMaster: "tap" is a virtual ethernet device; you can run anything that Ethernet can carry over it. In contrast, the "tun" device can only tunnel IP packets through, it's a sort of a point-to-point tunnel thing.
22:33:04 <AnMaster> fizzie, ah
22:33:06 <coppro> that is, I want to '0' y coordinate to hit the middle of the screen
22:33:10 <coppro> AnMaster: hmm?
22:33:23 <FireFly> coppro, I've never used viewbox :P
22:33:31 <AnMaster> coppro, TURT is implemented in cfunge (and iirc also ccbi) as generating a svg
22:33:38 <coppro> Oo
22:33:58 <AnMaster> coppro, it is turtle style drawing. Might not suite your needs
22:34:12 <coppro> no thanks, I'm looking for raw SVG
22:34:26 <AnMaster> coppro, iirc it centers nicely
22:34:43 <coppro> it seems I can get it to work if I make it go 3x as far above the origin as below
22:34:47 <coppro> but why that is I cannot fathom
22:36:33 <coppro> hmm
22:39:29 <coppro> ah, I can use an transform
22:39:46 -!- mycroftiv has quit ("leaving").
22:44:44 <AnMaster> coppro, btw have you seen how bloated the svgs that inkscape produces are?
22:45:01 <coppro> AnMaster: yes
22:45:06 <AnMaster> use cfunge, it produces the very minimum really!
22:45:19 <AnMaster> on two lines. One for the doc type, one for the rest
22:45:21 <AnMaster> (iirc)
22:47:34 <coppro> lol
22:47:41 <pikhq> Heap contains 13472 pointer-containing + 4096 pointer-free reachable bytes
22:47:42 <coppro> seems excessive
22:47:49 <pikhq> Hooray, ridiculously inefficient bignums!
22:48:04 <coppro> Oo
22:48:28 <AnMaster> I use the genx library to do it
22:48:28 <AnMaster> so blame it
22:49:52 <coppro> I'm actually trying to learn SVG so I can write an XSLT to it
22:50:25 <Gregor> *cough* http://codu.org/rxml.php *cough*
22:52:27 <coppro> haha
22:55:42 <AnMaster> <pikhq> Heap contains 13472 pointer-containing + 4096 pointer-free reachable bytes <-- how is it implemented?
22:56:23 <AnMaster> Gregor, at least it compresses well
22:58:24 <AnMaster> Gregor, reduced to about 2.4% I think
23:02:08 <fizzie> I managed to read the link "Hats" at that page as "Guns". That's rather impressive.
23:02:59 <fizzie> Gregor, famous for wearing a different kind of gun on his head every day, chosen by web-vote.
23:06:29 -!- mycroftiv has joined.
23:13:41 -!- oerjan has joined.
23:18:03 <AnMaster> night →
23:19:55 <pikhq> closure l = call(call(gen_list, church0), call(toChurch, 10));
23:19:58 <pikhq> Whooo....
23:30:32 <AnMaster> pikhq, I'm an atheist!
23:30:38 <AnMaster> night really →
23:33:59 <pikhq> Implemented? Why, church numerals!
23:34:48 <SimonRC> you should use binary trees of booleans of course
23:35:34 <SimonRC> acutally a guy I know worked on the proper representation of integers in dependantly-typed languages
23:35:47 <SimonRC> or rather, Nats
23:36:10 <SimonRC> I think the answer he (a type theorist) got was 3 cases:
23:36:13 * pikhq tries to figure out why in the world his code is executing: fromChurchBool fromChurchNum
23:36:37 <pikhq> Just... Why?
23:36:59 <SimonRC> all zero bits, first half zero and second half a half-the-length number, both halves a half-the-length number
23:37:25 <SimonRC> I forget why that slightly odd representation was chosen, but I assume he knew what he was doing
23:38:00 <MissPiggy> I've read some JFP about efficient binary numerals in lambda calculus,
23:38:42 <MissPiggy> I think it's just \zw.zzwwwzw for 1011100
23:39:20 <MissPiggy> doesn't work in a typed calculus though
23:40:34 <oerjan> SimonRC: it looks strange to have a special case for first half zero when you already have a case for all zero...
23:42:35 <oerjan> you'd think there would be multiple representations of the same number then...
23:45:00 <coppro> anyone familiar with XSLT here?
23:46:06 <SimonRC> oerjan: oh, I forgot, there are the obvious restrictions on parts not being zero, to avoid redundancy
23:46:10 <SimonRC> coppro: a little
23:46:25 <pikhq> $2 = {func = 0x1, close = 0x0}
23:46:28 <pikhq> That's... Such a wrong closure.
23:46:29 <coppro> SimonRC: How do I match against an element that is not a member of another?
23:46:32 <pikhq> Such a very, very wrong closure.
23:46:42 <SimonRC> coppro: huh?
23:47:04 <coppro> SimonRC: <xsl:template match="foo/bar"> matches a bar that is a child of foo
23:47:10 <coppro> I want to match a bar that is /not/ a child of foo
23:47:20 <SimonRC> ah
23:48:11 <SimonRC> not sure yet
23:48:26 <coppro> ok
23:49:39 -!- FireFly has quit ("Leaving").
23:57:21 <pikhq> There is something horribly wrong with this code.
23:57:36 * pikhq was unaware that 0x8 was the address of a closure.
2010-01-19
00:00:10 <coppro> lol
00:02:59 <cpressey> Play more Gorf!
00:03:01 -!- cpressey has left (?).
00:05:39 -!- jpc has joined.
00:06:06 -!- jpc has quit (Read error: 104 (Connection reset by peer)).
00:06:21 <olsner> pikhq: until recently I was unaware as well
00:13:12 <pikhq> The only problem with my C lambda stuff is that it is *amazingly* hard to debug.
00:14:50 <Gregor> SPEAKING OF,
00:14:57 <pikhq> ?
00:14:58 <Gregor> pikhq: Did you see my improvement to the Plof parser's debugging?
00:15:06 -!- jpc has joined.
00:15:19 <pikhq> Gregor: I only saw that there was such a commit; I've not actually looked at the details.
00:17:11 <olsner> oh, btw, is Lisp/LC in C++ templates a common thing that almost everyone has done, or is it just me?
00:17:35 <olsner> (wondering if I should bother putting my stuff somewhere)
00:24:39 <cheateur> pikhq: what lang is that code in?
00:24:43 <cheateur> the $2 = ...
00:27:01 <pikhq> cheateur: That's GDB output.
00:27:40 <coppro> hmm
00:28:20 <cheateur> oh ok.
00:34:21 -!- MissPiggy has quit.
00:36:23 -!- coppro has quit (Remote closed the connection).
00:36:49 -!- coppro has joined.
00:50:46 -!- coppro has quit (Remote closed the connection).
01:17:46 <Sgeo> "Perl: the only language that looks the same before and after RSA encryption"
01:17:50 <Sgeo> http://qntm.org/?msn
01:27:20 -!- MizardX has quit (Read error: 110 (Connection timed out)).
01:39:22 -!- coppro has joined.
02:13:47 -!- oerjan has quit ("Dizzy...").
02:31:07 -!- Pthing has joined.
02:46:49 <Gregor> http://codu.org/music/op10/GRegor-op10.pdf wooh
02:47:15 <pikhq> C and large church numerals do not mix.
02:47:21 <pikhq> (go go gadget stack overflow!)
02:50:55 <pikhq> What are you using to typeset that?
02:56:19 <pikhq> Gregor: ?
02:56:31 <Gregor> Lilypond
02:56:37 <Gregor> Rosegarden to generate the Lilypond
02:56:45 <Gregor> (Although I then modify it by hand)
02:58:25 <Gregor> (Lilypond, if you don't know, is TeX for musical notation)
02:59:07 <Gregor> pikhq: ^^
02:59:54 <pikhq> Huh. It appears to have a few issues... For example, measure 88; see the (I dunno what it's called, flag?) on the eighth and half notes in the treble clef?
03:00:41 <Gregor> Are you referring to the stems?
03:00:51 <pikhq> Argh. Yes, the stems.
03:01:00 <Gregor> It displayed two stems because I have a chord of dotted quarter notes overlayed with a dotted half note.
03:01:04 <Gregor> Don't know how to fix that ...
03:01:06 <pikhq> Darn tip-of-tongue phenonmenon.
03:01:50 <pikhq> It's also kinda odd-looking in measure 77 (half note and dotted half note)
03:02:03 -!- oerjan has joined.
03:02:04 <pikhq> I could've sworn Lilypond was smarter than that.
03:03:00 <Gregor> Heh, that's just borken :)
03:03:41 <Gregor> I'll fix that now.
03:03:44 <Gregor> That's an overlay problem again.
03:03:57 <pikhq> Maybe you could get the Lilypond developers to use Opus 10 for the stuff to fix in Lilypond? :P
03:08:38 <Gregor> Nah, they'd just tell me what the "right way" is :P
03:09:14 <pikhq> Which would also be useful. :P
03:12:23 <Gregor> OK, 77 is fixed.
03:12:30 <Gregor> Still have the multiple-stems problem.
03:14:11 -!- bsmntbombdood__ has joined.
03:16:55 <pikhq> Also, a rather large number of eighth notes appear to be detached from their stems... That's just plain odd.
03:17:24 -!- bsmntbombdood_ has quit (Read error: 101 (Network is unreachable)).
03:19:11 -!- jpc1 has joined.
03:21:02 <oerjan> even so
03:22:36 <Gregor> pikhq: ?
03:23:03 <Gregor> I don't know where the detached eighth notes you're referring to are.
03:23:45 <pikhq> Gregor: Only slightly so.
03:23:49 <pikhq> See measure 1.
03:23:52 <pikhq> Note 1.
03:23:56 -!- jpc has quit (Read error: 110 (Connection timed out)).
03:24:14 <Gregor> Even when I zoom in as far as I can, they're not detached for me.
03:24:33 <pikhq> Might be my PDF viewer being odd, then.
03:24:54 <pikhq> It's apparent even when not zoomed in here...
03:25:05 -!- bsmntbombdood_ has joined.
03:25:16 <pikhq> Hrm. The lines also have bizarre width...
03:25:21 <pikhq> I'm going with "PDF viewer bug".
03:28:46 -!- bsmntbombdood__ has quit (Read error: 54 (Connection reset by peer)).
03:34:43 -!- jpc1 has quit ("I will do anything (almost) for a new router.").
03:37:59 -!- jpc has joined.
03:47:55 <oklopol> in my dream, there was this death metal song, crucial to some sort of revolution, that said "space stations / given as nations"; where the latter verse actually means "taken as a given", but i only realized it was wrong after i woke up. oh and there was some spinning too.
03:48:28 <oklopol> (i always spin in my dreams)
04:05:16 -!- bsmntbombdood__ has joined.
04:06:49 -!- bsmntbombdood_ has quit (Read error: 113 (No route to host)).
04:25:51 <oerjan> spinning revolutions
04:34:06 <oklopol> :)
04:34:08 <oklopol> morninn
04:35:58 -!- bsmntbombdood__ has quit (Read error: 101 (Network is unreachable)).
04:39:37 <oerjan> morn'
05:32:11 <Sgeo> "using events, by definition, even on a single threaded process, is multithreading"
05:35:01 <oerjan> "redefining terms, by definition, even when obnoxiously done, is genocide"
05:35:05 -!- jpc has quit (Read error: 110 (Connection timed out)).
05:37:50 -!- bsmntbombdood has joined.
05:39:57 <Sgeo> Wooh!
05:40:04 <Sgeo> I taught someone something new today!
05:40:14 <Sgeo> (Had him try an experiment that proved that he was wrong)
05:44:45 -!- oerjan has quit ("Good something").
05:45:46 -!- jpc has joined.
05:47:59 <oklopol> good for you
05:48:13 <oklopol> owned that bastard
05:49:22 -!- Ayeraw has joined.
06:09:18 -!- jpc1 has joined.
06:10:43 -!- jpc has quit (Read error: 104 (Connection reset by peer)).
06:18:21 -!- augur_ has joined.
06:18:32 -!- augur has quit (Read error: 104 (Connection reset by peer)).
06:31:24 -!- jpc1 has quit ("I will do anything (almost) for a new router.").
06:32:01 -!- jpc has joined.
06:34:55 -!- jpc has quit (Client Quit).
06:35:32 -!- jpc has joined.
06:43:58 -!- augur_ has quit (Read error: 60 (Operation timed out)).
06:55:49 -!- FireFly has joined.
07:20:39 <coppro> I love using an OS with a scheduler
07:21:39 <olsner> I take it you're not on linux then :)
07:28:01 <coppro> I am
07:28:05 <coppro> :P
07:50:12 -!- augur has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:14:51 -!- FireFly has quit ("Leaving").
08:36:53 -!- jpc has quit (Read error: 104 (Connection reset by peer)).
08:37:34 -!- jpc has joined.
08:56:12 -!- jpc has quit ("I will do anything (almost) for a new router.").
09:07:33 -!- scarf has joined.
09:22:14 -!- Pthing has quit (Remote closed the connection).
09:32:43 <cheater> hey guys
09:32:59 <scarf> hi
09:33:05 <cheater> someone set a ban on the ident that i'm using on #haskell
09:33:11 <cheater> i'm scared
09:34:17 <coppro> get a ghost
09:34:27 <coppro> or whatever they call it
09:34:35 <coppro> cloak, that's it
09:34:47 <cheater> does the cloak change the ident tho?
09:34:53 <scarf> I have a cloak
09:35:01 <scarf> scarf is n=scarf@unaffiliated/ais523
09:42:55 <cheater> but.. is your ident normally scarf?
09:43:24 <scarf> cheater: oh, my IRC client lets me change it
09:43:39 <scarf> the ident isn't checked in any way, you can put whatever you like there
09:44:15 <coppro> well, there might be a ban on it; that's unlikely though
09:44:32 <cheater> there's a ban on it in #haskell :S
09:44:56 <Ilari> What's the banmask?
09:45:54 -!- pikhq has quit (Read error: 104 (Connection reset by peer)).
09:47:57 <fizzie> The ident *is* checked, by doing an ident protocol request (see RFC1413); of course, if you control the machine you're connecting from, or if it doesn't run an identd, or if the identd allows for user-specific replies anyhow, then you can put anything there.
09:49:10 <scarf> actually, Freenode seems to try to check it
09:49:19 <scarf> but an identd request wouldn't get past the firewall here
09:49:48 <fizzie> Okay, so that's one more way to avoid the check.
09:50:27 <Ilari> If identd doesn't work or is blocked, one normally gets 'user' as user part.
09:50:59 <fizzie> One normally gets whatever one's IRC client specifies in the initial USER message at the beginning of the connection.
09:51:15 <fizzie> Though here with a "n=" prefix. And in many other places, with a ~ prefix.
09:51:48 <fizzie> I think Freenode's new server, the one they're going to switch to soonishly, also does the ~ prefix instead of the current n=foo/i=foo thing.
09:54:10 <fizzie> To be even more exact, the traditional IRCnet ircd has six different cases; no prefix for I-line (normal connection) with ident, ^ for ident with type "OTHER", ~ for no ident; and correspondingly +, =, - for i-lines (restricted connections).
09:54:49 <fizzie> Don't know if Freenode's seven will do all those.
09:58:03 <fizzie> Apparently it does just the ~ prefix. And even that's a configurable option.
09:59:37 <fizzie> Freenode's policy document or some-such used to justify the n=/i= prefixes so that you can set a ban on "?=bar", instead of having to use two bans ("bar" and "~bar") or "*bar" (which'd match "foobar" too).
10:07:24 -!- pikhq has joined.
10:08:36 -!- Pthing has joined.
10:23:11 -!- coppro has quit ("I am leaving. You are about to explode.").
10:41:12 -!- BeholdMyGlory has joined.
10:41:15 <cheater> Ilari: it's *!gast@*.* can you do something about it?
10:44:27 <Ilari> cheater: Block identd?
10:46:16 <fizzie> Based on the fact that his current username has the "n=" prefix (as opposed to "i="), it's already blocked; it's just a matter of setting the client to send something else.
10:46:35 <fizzie> In general ban evasion is a good way of obtaining even more bans, though.
10:47:37 <cheater> yeah
10:47:51 <cheater> stupid xchat needs me to actually install ident -_-
10:48:01 * cheater is trawling through the manual.
10:48:29 <cheater> fizzie: i talked to one of the ops and he said 'it's an old ban, i don't know why it is set, i am not going to touch it'
10:48:43 <cheater> so, it's not a ban against .me.
10:49:19 <Ilari> I thought blocking/disabling identd causes the lhs to be 'n=user@' (if you aren't identified).
10:49:44 <cheater> that's the thing, i am identified
10:49:49 <scarf> nope, it uses whatever you put in the USER line
10:49:55 <scarf> identification confirms the nick
10:49:58 <scarf> it has nothing to do with the ident
10:51:01 <cheater> ah. any idea how to change the user in xchat?
10:51:22 <fizzie> "User name" field in the network list/connect screen/whatever.
10:51:34 <fizzie> "network list" seems to be the dialog title.
10:51:58 <cheater> there we go
10:52:05 -!- cheater has quit ("Verlassend").
10:52:16 -!- cheater has joined.
10:53:25 <cheater> thank you fizzie
10:55:13 <fizzie> Ah, right, that *!*Gast*@* ban might be related to what's being talked at in http://irclogs.ubuntu.com/2008/05/15/%23ubuntu-ops.txt -- just search for "gast".
10:56:04 <fizzie> Banning "*gast*" is a bit overkill; I would think it matches a number of perfectly reasonable words, for example.
10:56:31 <fizzie> Freenode's +d "realname bans" are funky.
10:57:51 <cheater> but it is not a realname ban, only an ident ban
11:00:13 <fizzie> Yes, that was just an aside; the log I linked to considered a "Java user" realname ban.
11:01:18 <fizzie> There seems to be some sort of a general rule that channel #x has a huge list of bans for all x where x is the name of a Linux distribution.
11:04:46 <cheater> ah ok
11:20:03 -!- MigoMipo has joined.
11:21:08 -!- MizardX has joined.
11:29:00 -!- scarf has changed nick to scarf|away.
11:36:30 -!- scarf|away has changed nick to scarf.
11:39:19 -!- Pthing has quit (Remote closed the connection).
12:17:40 -!- Pthing has joined.
12:36:20 <cheater> anyone know why in haskell [0.1, 0.3 .. 1] turns out to contain 1.099999...?
12:58:41 -!- bsmntbombdood has quit (Read error: 113 (No route to host)).
13:00:10 -!- bsmntbombdood has joined.
13:05:10 -!- scarf has changed nick to scarf|away.
13:09:26 <Deewiant> cheater: http://docs.sun.com/source/806-3568/ncg_goldberg.html
13:12:19 <cheater> Deewiant: non-helpful
13:12:37 <Deewiant> Or did you mean that it's greater than 1? enumFromThenTo works like that, it goes up to the last thing that's >= the end point
13:13:09 <Deewiant> Or was this just an artifact of floating points being Enum, I forget.
13:13:19 <cheater> according to the haskell98 report, it should end when the next item would be higher than a3
13:15:44 <Deewiant> Actually, it does a takeWhile (<= a3 + (a2-a1)/2)
13:16:24 <Deewiant> http://www.haskell.org/onlinereport/standard-prelude.html
13:18:21 <cheater> so this is an implementation bug
13:18:22 <cheater> right?
13:18:44 <Deewiant> No
13:19:26 <Deewiant> takeWhile (<= a3 + (a2-a1)/2) i.e. takeWhile (<= 1 + (0.3-0.1)/2) i.e. takeWhile (<= 1.1)
13:19:26 <cheater> it is, because the implementation does not do what haskell 98 defines
13:19:40 <Deewiant> The above is what Haskell 98 defines
13:19:47 <Deewiant> Copied from the link I pasted above
13:20:01 <Deewiant> (With different parameter names since you already used a3)
13:20:01 <cheater> can you find the exact wording of the haskell 98 definition?
13:20:16 <Deewiant> numericEnumFromThenTo :: (Fractional a, Ord a) => a -> a -> a -> [a]
13:20:16 <Deewiant> numericEnumFrom = iterate (+1)
13:20:16 <Deewiant> numericEnumFromThen n m = iterate (+(m-n)) n
13:20:16 <Deewiant> numericEnumFromTo n m = takeWhile (<= m+1/2) (numericEnumFrom n)
13:20:16 <Deewiant> numericEnumFromThenTo n n' m = takeWhile p (numericEnumFromThen n n')
13:20:18 <Deewiant> where
13:20:20 <Deewiant> p | n' >= n = (<= m + (n'-n)/2)
13:20:23 <Deewiant> | otherwise = (>= m + (n'-n)/2)
13:20:46 <fizzie> And relating to the expression itself: "Arithmetic sequences satisfy these identities: .. [ e1,e2..e3 ] = enumFromThenTo e1 e2 e3"
13:21:05 <fizzie> (From http://www.haskell.org/onlinereport/exps.html#sect3.10 )
13:21:28 <cheater> according to http://www.haskell.org/onlinereport/derived.html enumFromThenTo x y z = map toEnum [fromEnum x, fromEnum y .. fromEnum z]
13:22:03 <Deewiant> cheater: For derived instances of Enum
13:22:14 <Deewiant> Not all instances
13:22:26 <cheater> i am not sure what derived instances are and why they are different
13:22:55 <Deewiant> Have you been reading the report in order? :-P
13:23:02 <cheater> of course not
13:23:06 <Deewiant> Top of that page: "A derived instance is an instance declaration that is generated automatically in conjunction with a data or newtype declaration."
13:23:26 <Deewiant> I can do "data MyBoolean = MyTrue | MyFalse deriving (Enum)"
13:23:49 <Deewiant> And enumFromThenTo would then work as you described.
13:24:17 <cheater> ok
13:25:52 <cheater> thanks Deewiant
13:25:56 <cheater> that was quite helpful
13:26:35 <Deewiant> As to the deeper "why" of why it's defined like that for Float and Double, I can't say.
13:26:55 <cheater> i think it's fairly dumb
13:27:38 <Deewiant> Oh, right
13:27:42 -!- MigoMipo has quit ("Page closed").
13:27:43 <Deewiant> toEnum truncates to Int
13:28:05 <cheater> not sure what that gives us
13:28:13 <Deewiant> So you need to take more elements than necessary because you've lost info at that point
13:28:38 <fizzie> "Technology overview: Cognitive radio". Wow, that's so buzzword-compliant; I have no idea what it actually means.
13:28:43 <Deewiant> Except that that doesn't make any sense because there's no need to use toEnum anywhere
13:28:43 <cheater> isn't that quite shit, Deewiant
13:28:52 <Deewiant> cheater: The "shit" is that Float and Double are instances of Enum
13:29:04 <Deewiant> That, in itself, is shit
13:29:16 <Deewiant> TBH I don't care about the details of how their implementation is shit :-P
13:29:20 <cheater> i don't know haskell enough to fully follow that through but ok
13:35:10 <fizzie> "The demo presents the use of micro-array LEDs for displays embedded in contact lenses." It's things like these that at least partially alleviate my disappointment of it being 2010 already.
13:35:22 <fizzie> Things still suck and all, but a display in a contact lens.
13:36:44 <Pthing> cognitive radio is the stupidest name, yes
13:39:16 <Deewiant> fizzie: Incidentally: is something other than Java acceptable for the AI tournament?
13:40:00 <fizzie> Deewiant: If you can compile it to JVM bytecode and make it work in the tournament system, yes.
13:40:06 -!- BeholdMyGlory has quit (Remote closed the connection).
13:40:13 <Deewiant> Alright, cool.
13:40:42 <fizzie> I don't have my workstation online, but I think someone participated with Scala last year.
13:41:28 <Deewiant> Presumably it's a handicap as anything non-Java tends to be slower on the JVM
13:42:08 <fizzie> That's possible, but I don't think I could find a fair way of mitigating that.
13:42:36 <Deewiant> No, certainly not. I wouldn't expect you to.
13:42:58 <fizzie> Hm, last year's bot file sizes are all pretty tiny; perhaps it was the year before.
13:43:32 <Deewiant> Can you tell what language it's in from the file size? :-)
13:44:17 <fizzie> Not in the general case; but the single non-Java participant I remember seeing was a megabyte or two, since they had to bundle the language's standard-library-equivalent in there.
13:44:40 <Deewiant> Ah, yes, that can happen.
13:45:31 <fizzie> I may have had some sort of file size limit in place, mostly due to the Computing Centre quota.
13:45:59 <Deewiant> You can request a quota-expansion, you know. You'd probably get it for this.
13:46:46 <fizzie> Probably, I just haven't bothered. It's not like there are more than one or two freaks, uh, I mean... differingly language-opinionated folks, in each year's list of participants.
13:46:56 <Deewiant> :-)
13:48:11 <fizzie> Deewiant: Since you hang around nearby, I guess I could copy on the link: http://research.nokia.com/Otaniemi_demo_house
13:48:15 <Deewiant> I'll translate CCBI to Clojure, write the thing in Befunge and bundle that along with the Clojure interp
13:48:41 <fizzie> Our speech-to-text demo is going to be there, though it's nothing too fancy.
13:49:36 <fizzie> The others are a bit more... flashy. Thought controlled games and so on.
13:50:11 <Deewiant> My wednesdays are rather booked by the school as it is, I probably won't be there
13:50:31 <Deewiant> Isn't your software freely available? ;-)
13:51:26 <fizzie> Not really, though I guess that's mostly a matter of not having enough resources to construct a distributable thing out of it. We have some components downloadable, like that VariKN language-modelling toolkit, and the Morfessor thing.
13:52:11 <fizzie> And of course it's just a trivial matter of implementation to reconstruct our system from the published articles about it.
13:52:17 <Deewiant> Of course.
13:52:25 <fizzie> It's just code, after all.
13:54:00 <fizzie> I dislike the fact that the bot-submission CGI script for the AI competition says "my $deadline = ...", since it's not really *my* deadline.
13:54:16 <Deewiant> So write "their $deadline = ..." instead.
13:55:17 <Deewiant> I guess http://www.cis.hut.fi/projects/speech/demo/ is the closest equivalent to "freely available".
13:56:04 <fizzie> Yes, and that one requires an account too. Though you get that via email.
13:56:25 <fizzie> A more flashier online-demo -- perhaps even something running client-side -- has been talked about, but it's obviously not very high on the priority list.
13:57:13 <Deewiant> Presumably you have something like http://www.cis.hut.fi/projects/speech/srdemo.jpg - just tarball it and torrent the presumably-multigigabyte language model :-P
13:58:40 <fizzie> Ooh, that's an old image; it looks better nowadays.
13:59:55 <fizzie> Anyway, yes, we have that thing; it's just not very user-friendly. I don't really know, software-distributionary policy decisions aren't really my department.
14:00:30 <Deewiant> Since when is any research project of the university user-friendly anyway
14:03:49 <fizzie> News headlines talked about in the lunch table: "U.S. group sends solar-powered Bibles to Haiti -- Not any Bible. These are solar-powered audible Bibles that can broadcast the holy scriptures in Haitian Creole to 300 people at a time."
14:04:13 <fizzie> "Called the 'Proclaimer,' the audio Bible delivers 'digital quality' and is designed for 'poor and illiterate people,' the Faith Comes By Hearing group said."
14:04:20 <fizzie> That's an awesome name.
14:04:34 <Pthing> money well spent
14:10:00 -!- scarf|away has changed nick to scarf.
14:54:25 -!- Sgeo_ has joined.
14:54:32 -!- Sgeo_ has quit (Read error: 104 (Connection reset by peer)).
15:19:51 <Sgeo> Surely it's better to let people die and go to heaven than let them live and have them end up in hell!
15:23:18 <Pthing> they're catholics, reading the bible at them isn't how you save catholics
15:23:21 <Pthing> ignorant americans
15:24:46 -!- Pthing has quit (Remote closed the connection).
15:33:53 -!- cpressey has joined.
15:55:52 <Sgeo> My dad apparently believes that barackobama.com is a scam site
15:56:10 <Sgeo> Because it doesn't end with .gov
15:57:10 -!- FireFly has joined.
16:17:54 -!- BeholdMyGlory has joined.
16:41:51 -!- Leonidas has quit (lindbohm.freenode.net irc.freenode.net).
16:42:01 -!- Leonidas has joined.
16:44:57 -!- MissPiggy has joined.
16:45:54 -!- augur has quit (Read error: 110 (Connection timed out)).
17:09:12 -!- Pthing has joined.
17:14:11 -!- augur has joined.
17:24:34 -!- augur has quit (Read error: 60 (Operation timed out)).
17:36:44 -!- augur has joined.
17:55:45 <AnMaster> fizzie, do you (or anyone else in this channel reading this) know of any program that is able to fix the "bent" image from scanning a book
17:55:56 <AnMaster> near the middle of the book you know
17:58:27 * Sgeo keeps campaigning for coakley
17:58:37 <AnMaster> for who?
17:59:35 <Sgeo> Martha Coakley for U.S. Senator from MA
17:59:49 <Sgeo> As opposed to Scott Brown, who would kill Healthcare Reform
18:01:04 <AnMaster> oh you are in US? hm
18:01:45 <AnMaster> ah yes it was Slereah who was in France. Someone with a nick starting with S anyway
18:20:31 -!- cheater2 has joined.
18:21:51 -!- kar8nga has joined.
18:24:57 -!- Asztal has joined.
18:30:46 <Gregor> Again I must ask ... why is it that everyone writes left-recursive grammars, then writes left-to-right parsers, when right-to-left parsers make left-recursive grammars SO much easier to parse.
18:33:17 -!- zeotrope has quit (Read error: 60 (Operation timed out)).
18:36:03 -!- cheateur has quit (Connection timed out).
18:37:57 <pikhq> Because Yacc does left-to-right parsers? :P
18:42:22 <Ilari> The "healthcare reform" is giant piece of CF anyway. Doesn't fix the real problems.
18:44:30 -!- augur_ has joined.
18:45:07 -!- augur has quit (Read error: 104 (Connection reset by peer)).
18:46:01 <cpressey> I blame it on the ubiquity of left-to-right lexers.
18:46:12 <cpressey> (the problems with the US health system, I mean)
18:46:37 -!- scarf has quit (Read error: 113 (No route to host)).
18:47:26 <cpressey> Actually, I advocate outlawing all medicine. (Seriously. A black market would probably work better than the current system.)
18:51:40 -!- oerjan has joined.
18:52:01 -!- MigoMipo has joined.
18:55:16 <AnMaster> Gregor, write a right recursive parser then
18:55:33 <AnMaster> err
18:55:37 <AnMaster> right recursive grammar
18:55:39 <AnMaster> I meant
18:57:58 <oerjan> <cheater> Ilari: it's *!gast@*.* can you do something about it?
18:58:37 <oerjan> since that means "guest" in german, i take it they had a german spammer problem once, and didn't realize (or maybe care) that it's a very generic word
18:59:31 <Gregor> AnMaster: right-recursive grammars suck.
18:59:43 <Gregor> 1-2-3 != 2
19:01:33 <Gregor> cpressey: Actually, that made me think ... probably the only reason why everybody does everything left-to-right is that early compilers were all one-pass, and you can't do right-to-left in one pass with most filesystems (they'll only give you the file left-to-right). So the lexers are l->r because the file I/O is l->r, and the parsers are l->r because the lexers are l->r.
19:02:22 <Gregor> And nobody will indulge themselves in the sweet awesomeness of an R->L parser because they're stuck believing that they can't buffer the lexical tokens and read them the other way.
19:02:35 -!- cpressey1 has joined.
19:02:54 <Gregor> I just sent a message to cpressey that he apparently didn't receive! :P
19:03:11 <cpressey1> temporary network outage.
19:03:22 <Gregor> <Gregor> cpressey: Actually, that made me think ... probably the only reason why everybody does everything left-to-right is that early compilers were all one-pass, and you can't do right-to-left in one pass with most filesystems (they'll only give you the file left-to-right). So the lexers are l->r because the file I/O is l->r, and the parsers are l->r because the lexers are l->r.
19:03:23 <Gregor> <Gregor> And nobody will indulge themselves in the sweet awesomeness of an R->L parser because they're stuck believing that they can't buffer the lexical tokens and read them the other way.
19:05:15 <cpressey1> Gregor: yes, I was going to blame the left-to-right-ness of streams first. But then I considered that files are often memory mapped by the OS these days, and the order in which the tokens come is really the lexer's responsibility...
19:05:25 <oerjan> ouroboros parsing, anyone? :D
19:05:52 <oerjan> also, only L->R makes sense for interactive use...
19:06:34 <cpressey1> oerjan: So what you're saying is, file I/O is l->r because time goes forward, not backward!
19:06:44 <oerjan> and also, if you are parsing simultaneously with downloading from the net...
19:07:02 <oerjan> yeah
19:07:24 <cpressey1> Not that a file has a "left" anyway
19:07:28 <oerjan> time travelers' computers must be _so_ messed up
19:07:34 <cpressey1> Bloody human conventions.
19:07:51 <Ilari> One way one might try to fix the US healthcare would be to restrict how low deductibles insurance can have. Except that would be unconsitutional (unless done by states, and there are 50 of them).
19:09:58 <Ilari> Not that feds care much what is constitutional or not...
19:10:06 * oerjan thinks that "prior condition" thing is messed up too, and seems impossible to solve unless everyone has mandatory insurance from birth...
19:11:22 <pikhq> oerjan: Many people here seem to think that any form of mandatory health care is evil and communist.
19:11:28 <Ilari> Yeah, it is messed up. When I explained to my father what insurance companies do with "prior condition", he wouldn't believe me at first...
19:11:51 <pikhq> "I HAVE THE RIGHT TO NOT HAVE HEALTH CARE", they assert.
19:15:24 <Ilari> Then there is "preventative healthcare". Some of it (like most vaccines in standard vaccination programs) is spectacularly cost-effective. Some it is are complete BS. And stuff in between.
19:16:26 <pikhq> People seem to be ignorant that we already pay through the nose for healthcare, universally...
19:16:39 <pikhq> Emergency rooms are required to accept anyone.
19:17:04 <pikhq> Most of the charges from uninsured people going to an ER are footed by the government.
19:17:24 <pikhq> So, we're already paying for health care, we're just doing it in the most spectacularly inefficient way we can manage.
19:17:34 -!- cpressey has quit (Read error: 110 (Connection timed out)).
19:17:46 -!- cpressey1 has changed nick to cpressey.
19:17:55 <Ilari> And "death panels". The _already_ exist in US.
19:18:17 <pikhq> Yup. We call them "the insurance company".
19:20:38 <Ilari> I don't think the requirement that ER accepts anyone is that bad. There is probably much much worse stuff that really screws things up.
19:20:51 <oerjan> <cheater> anyone know why in haskell [0.1, 0.3 .. 1] turns out to contain 1.099999...?
19:21:56 <oerjan> cheater2: i think it is because if they put the cutoff exactly at 1, they could lose 1 itself because of rounding errors. so they do it at the halfway point instead, sine that seems the next most obvious choice...
19:22:22 <cheater2> yeah
19:22:25 <pikhq> Ilari: It's not that requirement that's bad.
19:22:29 <MissPiggy> use rationals instead of floats
19:22:33 -!- zeotrope has joined.
19:22:44 <pikhq> Ilari: It's the fact that that is the only universal healthcare available, and therefore what many people *soley* use, that's bad.
19:23:01 -!- zeotrope has changed nick to Guest83037.
19:23:06 <pikhq> Ilari: It's what makes the US government spend more per capita on healthcare than any other nation.
19:30:29 * oerjan notes that norway is no. 3 on the http://www.nationmaster.com/graph/hea_spe_per_per-health-spending-per-person list, and it's _not_ because of quality
19:30:39 <Ilari> I don't think that is the cause why healthcare spending is out of control.
19:30:51 <oerjan> yeah our spending is out of control too
19:31:55 <pikhq> oerjan: How many people are financially ruined because of your spending?
19:32:15 <oerjan> ok we may not have _that_ problem (much, anyway)
19:32:51 <Ilari> One thing is for sure. The US healthcare system is giant Charlie Foxtrot.
19:33:30 <pikhq> Also, that graph is off...
19:33:44 <pikhq> The per capita spending here is more like $7,000.
19:34:09 <oerjan> huh.
19:35:24 <oerjan> maybe the rest is insurance company profits ;D
19:36:32 <pikhq> There is some 30% administrative overhead.
19:37:29 <pikhq> And 15% of the population has literally no coverage...
19:40:00 <Ilari> And what percentage of citizens that would want coverage don't have one?
19:41:31 <oerjan> i think the reverse of that percentage is more meaningful
19:42:39 <oerjan> (i.e. the percentage of citizens that don't have coverage who would want one)
19:44:02 <Ilari> Yeah that could be meaningful too. But the "citizens" numbers are more meaningful than "all people" numbers.
19:44:04 -!- kar8nga has quit (Remote closed the connection).
19:44:47 -!- coppro has joined.
19:47:38 <Ilari> The difference between "citizens" and "all people" is that latter also includes legal aliens (shouldn't be much problem) and illegal aliens (these pretty much can't have coverage anyway).
19:48:58 <oerjan> <Gregor> Again I must ask ... why is it that everyone writes left-recursive grammars, then writes left-to-right parsers, when right-to-left parsers make left-recursive grammars SO much easier to parse.
19:49:45 * pikhq notes that "immigration" is an outmoded concept.
19:49:55 <pikhq> Why can't we all just sign onto Schengen?
19:49:58 <oerjan> it's not necessary LR(n) from the right just because it's from the left, i think, so you might get hideous ambiguity
19:50:25 <Gregor> oerjan: Yes, that's true.
19:50:58 <Gregor> oerjan: I'm talking more about hand-written parsers though, so lookahead isn't a huge issue necessarily I think maybe.
19:51:02 <oerjan> in fact i think most languages are designed to have little ambiguity from the left, while no one cares about the other way
19:51:25 <Gregor> I'm going to finish writing my R-L JavaScript parser and see where my hangups are :P
19:51:53 <coppro> R-L?
19:51:54 <oerjan> (of course you still wouldn't get _global_ ambiguity)
19:51:56 <Ilari> mmapping won't solve all the problems with lexing R->L. Pipes and that sort of stuff is just the most obivious, even mmaps are mostly designed to be read forwards or randomly, not backwards.
19:51:59 <coppro> oh, parser
19:52:02 <coppro> nvm
19:52:34 <Gregor> Ilari: We're living in the future, it's not that big a deal.
19:53:03 * oerjan wonders if it would have been the other way around if the japanese had invented the main computer languages
19:54:03 <oerjan> (japanese being a natural language which branches the other way iiuc)
19:54:15 <Ilari> One test one could try: How fast can computer read large file forwards and how fast it can read it backwards (if file is too large to fit in RAM).
19:54:18 <pikhq> Odds are, we'd be using RPN languages.
19:54:30 -!- Pthing has quit (Remote closed the connection).
19:55:10 <oerjan> although human cognitive load considerations or something would probably imply left-to-right parseability regardless
19:55:14 <pikhq> Ilari: Unless it's a pipe or in FAT, "just as fast".
19:55:46 <cpressey> oerjan: I've wondered that too, but I suspect that Forth would have a large cult following in Japan if that effect were in play, and I've not seen evidence of that...
19:56:16 <cpressey> Instead... Ruby :)
19:56:20 <oerjan> heh
19:57:58 <cpressey> Also, I feel I must point out that if there's one language where there's an actual use case for parsing while it's coming to you over a pipe and not a disk file, it's Javascript.
19:58:51 <cpressey> But that's just me being pedantic.
19:58:54 <cpressey> Play more Gorf!
19:58:58 <Ilari> pikhq: Well, try it (the defintion of processing could be function that takes chunk of data and does nothing)?
19:59:01 <oerjan> well html itself too, it's a language for parsing purposes
19:59:14 <coppro> it's an SGML profile
19:59:31 * oerjan knows that
20:00:24 <oerjan> `swedish Play more Gorf.
20:00:26 <HackEgo> Pley mure-a Gurff. \ Bork Bork Bork!
20:01:33 <olsner> mmmm, leverpastej med gurka!
20:01:49 <oerjan> <cpressey> Actually, I advocate outlawing all medicine. (Seriously. A black market would probably work better than the current system.)
20:02:03 <oerjan> i hear that didn't quite work for abortion, back in the day
20:02:42 * oerjan just had leverpastej, but no gurka
20:03:03 <olsner> oerjan: fail
20:03:41 <oerjan> actually red beets is the mandatory condiment for leverpastej here
20:04:00 -!- jpc has joined.
20:04:11 <olsner> woah! weird
20:04:16 <oerjan> but sadly i didn't have that either
20:04:27 <olsner> maybe something to try after the can of cucumber runs out
20:04:47 <oerjan> pickled (?) red beets, mind you
20:05:11 <oerjan> ok cucumbers are not exactly unheard of either
20:05:29 <oerjan> although with red beets, _beware_ of spilling and soiling
20:07:15 <olsner> I can imagine... I have vinegar from the cucumber all over my desk, but luckily it's colorless
20:07:49 <oerjan> yeah
20:08:55 <cpressey> oerjan: Well, that was more of a comment on the abysmalness of the current system than on the effectiveness of any proposed alternative.
20:09:35 <oerjan> i detected _no_ sarcasm in that <_< >_>
20:11:17 <cpressey> http://www.youtube.com/watch?v=MjMYQyhjiYA
20:11:52 <Gregor> COMPLETELY OBVIOUS DISCOVERY: Although there are more cases of left-recursion than right-recursion, the right-recursive cases are REALLY REALLY NASTY (IfStatement : 'if' ... Statement, Statement : ... | IfStatement | ... )
20:13:02 * oerjan had to turn off that youtube before getting to the actual sarcasm. sitcom allergy, sorry
20:13:43 <cpressey> oerjan: It's not a sitcom, it's a skit by a comedy troupe.
20:13:53 <oerjan> well, same poison
20:14:07 <Gregor> oerjan is against ... media.
20:14:09 <Gregor> Or humor.
20:14:10 <Gregor> Or something.
20:14:42 <cpressey> Monty Python too? 'Cos KitH is just the Canadian version, really.
20:15:04 <cpressey> Except much better, of course.
20:15:07 <oerjan> oh monty python i can stomach, some of it
20:16:48 <oerjan> i just cannot cope with looking at people really embarassing themselves
20:16:55 <Gregor> Ohhh, Kids in the Hall!
20:16:58 <Gregor> You're dissing Kids in the Hall?
20:17:01 <Gregor> Pfffff.
20:17:26 <Gregor> oerjan's rank is now lowered to 2/5ths of a person.
20:17:37 <oerjan> who, me? i don't even know who kids in the hall are. i don't watch tv, remember?
20:17:50 <Gregor> However, speaking of Canadians and actual sitcoms which are funny, Corner Gas is hilarious.
20:19:02 <oklopol> what in a who now?
20:20:02 <cpressey> oerjan: Well, now you do. They're Canada's answer to Monty Python.
20:20:34 <oklopol> i don't think those guys were very good actors
20:20:40 <cpressey> Well, "answer" is maybe the wrong word, but you get the idea.
20:20:49 <oerjan> everyone is everyone's answer to monty python these days, aren't they
20:20:55 <coppro> <3 Corner Gas
20:21:23 <oerjan> heck norway's answers to monty python started dying _off_ in the last decade :D
20:22:09 <cpressey> These days? I don't think there are comedy troupes anymore. Culture has disintegrated too far. KitH was like 1992.
20:22:10 <oklopol> i hear this monty python thing is pretty good
20:22:12 <pikhq> I prefer Monty Python. They're Britain's answer to Monty Python.
20:22:31 <oerjan> i just realized that after making this comment
20:24:03 <AnMaster> cpressey, link to this Canadian answer? I can't locate it. Unless it is that last youtube link?
20:24:16 * coppro listens to ISIHAC
20:24:17 <oerjan> *the previous
20:24:18 <AnMaster> (sparse log reading does have some downsides)
20:24:27 <AnMaster> oerjan, hm?
20:24:38 <AnMaster> oerjan, was it <cpressey> http://www.youtube.com/watch?v=MjMYQyhjiYA ?
20:24:45 <oerjan> yes
20:24:46 <cpressey> AnMaster: the last youtube link is a fairly good introduction.
20:25:14 <AnMaster> mhm
20:25:39 <AnMaster> cpressey, btw I don't watch tv either
20:27:00 * AnMaster agrees with oerjan
20:27:07 <AnMaster> on the unwatchability of it
20:27:29 <AnMaster> cpressey, ^
20:27:39 <cpressey> I think the only modern tv show I've been able to watch has been "Good Eats".
20:28:00 <AnMaster> cpressey, star trek tng, I voyager maybe
20:28:04 <AnMaster> nothing newer than that
20:28:18 <AnMaster> s/I /
20:28:42 <pikhq> ... You enjoyed Voyager?
20:28:46 -!- Guest83037 has quit (Read error: 110 (Connection timed out)).
20:29:00 <pikhq> The show where trans-infinite velocity has meaning?
20:29:22 <oerjan> i should (or maybe it would have been better not to) point out that by "embarassing themselves" i was referring to the characters, not the actors.
20:29:25 <AnMaster> pikhq, I said "maybe"
20:29:36 <AnMaster> a few of the episodes certainly, some definitely not
20:29:48 <AnMaster> pikhq, I didn't watch all episodes
20:30:00 <AnMaster> I probably missed that one with "trans-infinite velocity"
20:30:19 <oerjan> in case that has something to do with me being relegated to 2/5th person
20:30:23 <pikhq> AnMaster: Voyager had a range from horrible to mediocre, with a couple actually being good...
20:30:54 <AnMaster> pikhq, I guess I mostly hit the mediocre and one of two of the good ones then
20:31:01 <pikhq> Probably.
20:31:12 <oklopol> oerjan: don't worry, to me, you are at least 2 and a half persons
20:31:23 <pikhq> "Break the warp 10 barrier!" "Warp 10... Isn't that like infinity?" "Yes." "So... Very fast?"
20:31:24 <oerjan> i guess that cancels out :D
20:31:26 <AnMaster> pikhq, also, if isn't quite as bad if you are watching it to experience the treknobabel
20:31:34 <pikhq> ^ Actual. Conversation.
20:31:47 <AnMaster> pikhq, well that's bad indeed
20:32:04 <AnMaster> pikhq, "so good it is bad"?
20:32:05 <AnMaster> errr
20:32:08 <AnMaster> so bad it is good
20:32:09 <cpressey> That sounds funnier than any comedy troupe I can think of.
20:32:09 <AnMaster> XD
20:32:14 <pikhq> No, so bad it's painful.
20:32:26 <AnMaster> pikhq, starwars holiday special (not that I watched it)
20:32:34 <Gregor> So bad it's horrible.
20:32:50 <pikhq> THEY ACCELERATE TO IT.
20:32:52 <Gregor> Mind you, the Voyager writers have disowned the infamously-retarded "Warp 10" episode.
20:32:57 <pikhq> ACCELERATE TO INFINITY AND BEYOND.
20:33:11 <oerjan> http://tvtropes.org/pmwiki/pmwiki.php/Main/SoBadItsGood http://tvtropes.org/pmwiki/pmwiki.php/Main/SoBadItsHorrible (MWAHAHA)
20:33:12 <pikhq> Gregor: True. Still...
20:33:37 <AnMaster> pikhq, well to infinity isn't impossible. Just double your speed the first minute, then double it again after half a minute, and again after a quarter of a minute, and so on
20:33:45 <AnMaster> beyond I doubt
20:34:08 <Gregor> Going to warp 10 was only the /beginning/ of the retardedness of that episode.
20:34:09 <AnMaster> oerjan, I use a custom css so I can't see the links for that site
20:34:26 <cpressey> Ah, well. Is your velocity *countably* infinite or *uncountably* infinite? Which aleph are we talking about, here?
20:34:28 <oerjan> AnMaster: for safety?
20:34:34 <AnMaster> oerjan, yeah
20:34:41 <oerjan> darn my plans foiled
20:34:47 <pikhq> Yes. That was the stupidity that *started* the episode...
20:34:59 <Gregor> I refuse to even mention the rest of the stupidity that was that episode.
20:35:15 <Gregor> In a series that was pretty mundane, that was an episode that was astoundingly awful.
20:35:40 <pikhq> The vast majority of the series was rather... Meh.
20:35:43 <Sgeo> Which is worse: using SQL Server Compact, or using SQLite but installing Visual Studio?
20:35:43 <pikhq> Not terrible, just meh.
20:35:52 <pikhq> But when it was bad, it was horrible.
20:36:39 <pikhq> I'll just note that there is one, and only one, consistent way to explain everything that occured in it: infinite improbability drive.
20:38:01 <Gregor> Sgeo: They're both pretty awful, but with the latter you have a prayer of portability.
20:50:09 <AnMaster> TNG or TOS, which was best?
20:50:49 <coppro> TNG > TOs
20:50:50 <AnMaster> pikhq, what was that episode called btw?
20:50:51 <coppro> *TOS
20:51:08 <AnMaster> coppro, what about DS9? (I never watched any episodes from it)
20:51:22 <coppro> some of DS9 is really good
20:51:22 <pikhq> AnMaster: Threshold.
20:51:30 <AnMaster> pikhq, mhm
20:58:00 <fizzie> AnMaster: I don't know of a specialized program for that scan thing, but certainly you could try adding short line segments that trace the rows of letters in the book marked as horizontal lines in Hugin, then letting it optimize all those lens distortion parameters; it might find something that straightens them, though probably not very well.
20:59:35 <fizzie> The DS9 abbr always reminds me of the DeathStation 9000 first.
20:59:46 <AnMaster> fizzie, I did some experiments, no luck
20:59:55 <AnMaster> also it should do colour correction IMO
21:00:06 <AnMaster> since it is way darker towards the middle
21:00:19 <AnMaster> fizzie, that would be DS9K
21:00:40 <fizzie> I know, but that's always my first connotation anyhow.
21:08:28 -!- oerjan has quit ("Later").
21:09:46 <fizzie> Deewiant: Checked; it was indeed in 2008, and Scala, and a 3212277-byte .jar, and MAIMTRON 9000 in http://www.cs.hut.fi/Opinnot/T-93.4400/2008/results/
21:10:51 <Deewiant> I don't suppose you have stats for how often they timed out?
21:11:28 <fizzie> Deewiant: I'm not sure. There's something about CPU usage in the "details" page.
21:11:57 <Deewiant> Ah, so there is.
21:12:00 <Deewiant> Didn't notice that page.
21:12:30 <fizzie> 319.6 seconds/game on average; 3600 seconds was the limit. Probably didn't run out of time very much.
21:12:35 <fizzie> Oh, and I guess there might be the plot too.
21:13:02 <fizzie> "Per-bot statistics" and the CPU usage graph.
21:13:44 <Deewiant> Well, seems like it wasn't slowed down by not being in Java. Or then it was just coded exceptionally well.
21:14:09 <fizzie> Or it didn't do very deep searching in the situation-space. :p
21:14:38 <Deewiant> Did relatively well though.
21:15:16 <fizzie> Yes. Though that might be more dependant on how game-relevant a heuristic the author can figure out for evaluating a position, than on how clever the move search part is.
21:15:35 <Deewiant> Meh, heuristics. Boo @ them.
21:15:59 <fizzie> There have been some "used practically no time at all" contenders in the top-N for very small N, either last year or the one earlier.
21:18:13 <fizzie> In 2008 there's Joojoojotti, which used 2.5 seconds of thinking per game (and a game is typically over a hundred half-moves) and still was 23rd out of 46.
21:18:32 <coppro> which game?
21:19:14 <fizzie> coppro: There's this locally-developed board game that is used traditionally for the programming project in our "introduction to AI" course; to keep people interested, there's a bit of competition going on.
21:19:56 <Deewiant> coppro: http://www.niksula.cs.hut.fi/~svirpioj/hierarkia/rules_en.html
21:21:31 <fizzie> Or http://www.niksula.cs.hut.fi/~svirpioj/hierarkia/ for a less detailed overview.
21:22:30 <fizzie> Deewiant: Come to think of it, were you asking about the language rules out of plain curiosity?
21:22:54 -!- augur_ has quit (Read error: 110 (Connection timed out)).
21:23:00 <Deewiant> Well, I'm sort-of intending to complete the course
21:23:28 <Deewiant> It may have been curiosity in the sense that I don't have any particular language wishes at the moment
21:24:05 -!- MigoMipo has quit.
21:24:46 <fizzie> Deewiant: Ah. But still, potentially participating. Now, I asked the question for some particular reason, which I still remembered back when I wrote it, but now I've completely forgotten what it might have been.
21:25:22 <fizzie> So, uh, "never mind", I guess.
21:25:27 <Deewiant> :-P
21:25:53 -!- oklopol has quit (Read error: 60 (Operation timed out)).
21:29:58 -!- BeholdMyGlory has quit (Read error: 104 (Connection reset by peer)).
21:31:49 <AnMaster> <fizzie> Deewiant: Checked; it was indeed in 2008, and Scala, and a 3212277-byte .jar, and MAIMTRON 9000 in http://www.cs.hut.fi/Opinnot/T-93.4400/2008/results/ <-- checked what?
21:32:07 <Deewiant> Read more backlog.
21:32:29 <AnMaster> Nooooooo!
21:33:27 <AnMaster> <Deewiant> Since when is any research project of the university user-friendly anyway <-- what if it *is* about user-friendly user interfaces?
21:34:25 <Deewiant> They probably still suck
21:38:32 <fizzie> By "user-friendly" in this context I mostly mean "can manage to get it compiled and figure out what commands to run without calling us".
21:39:27 <fizzie> Admittedly it wouldn't be so hard to provide a simple script for recognizing audio files using existing models.
21:40:13 -!- oklopol has joined.
21:40:37 <fizzie> But the training part is all done with crafty little bits and pieces, and everyone pretty much has their own collection of scripts, since the sort of research that is done differs so much.
21:41:43 <fizzie> Documentation's been partially replaced with aural tradition, passed on from older shamans to younger acolytes by the campfires. Okay, so that last part was fiction.
21:42:43 <fizzie> s/au/o/ I guess too.
21:42:48 <AnMaster> oh my I just found out there exists such a thing as "chess boxing"
21:42:51 <AnMaster> as, in a sport
21:43:00 <Deewiant> I have known of this for several years
21:43:25 <AnMaster> it's a ridiculous idea though
21:44:06 <AnMaster> fizzie, what is the project in question?
21:44:23 <fizzie> AnMaster: Our speech recognizer in general.
21:44:35 <AnMaster> fizzie, ah. Open source?
21:45:15 <AnMaster> fizzie, why is one entry between 27 and 28 at http://www.cs.hut.fi/Opinnot/T-93.4400/2008/results/ greyed out?
21:45:24 <fizzie> Not really. That, I think, was Deewiant's whole point. Why don't you read the logs?-)
21:45:26 <AnMaster> and another one between 45 and 46
21:45:42 <fizzie> AnMaster: Those are unofficial participants.
21:45:59 <AnMaster> fizzie, oh I see. How did they work
21:46:32 <AnMaster> also why didn't any bot play against itself. It might have been funny
21:46:39 <fizzie> Vince being 2007's winner, and RandomBot choosing a random legal move.
21:47:07 <fizzie> Because it wouldn't have affected the scoring.
21:47:07 <AnMaster> ah
21:47:19 <AnMaster> fizzie, try, but might have been amusing
21:47:23 <AnMaster> also what were the rules for the game
21:47:37 <Deewiant> Already linked twice
21:47:47 <fizzie> That was linked to just a moment ago, yes.
21:47:49 <AnMaster> ah at the bottom there
21:48:03 <AnMaster> funny it crashed firefox
21:48:50 <AnMaster> fizzie, oh yeah, china-chess (iirc it is called that in Sweden at least)
21:48:57 <fizzie> If "at the bottom" means the bottom of the results page, then no, that's just detailed statistics.
21:49:05 <AnMaster> well, not exactly
21:49:06 <AnMaster> almost
21:49:31 <fizzie> The game is reasonably different from most things.
21:49:46 <fizzie> The way to capture pieces is rather peculiar.
21:50:20 <fizzie> I don't dare to say unique since games are not my speciality. But not well-known, anyway.
21:51:14 <AnMaster> ah
21:52:21 <fizzie> In 2009's results there are more unofficial participants, since last year's top 5 was also included. http://www.cs.hut.fi/Studies/T-93.4400/2009/results/
21:52:56 <Deewiant> Evidently the 2007 folks sucked then
21:53:09 <Deewiant> Or the results are just that random
21:53:30 <fizzie> Deewiant: Well, 2007 was done with Scheme in a different system.
21:53:52 <Deewiant> How'd you run that versus the 2008 folks?
21:54:14 <fizzie> I ported personally the Scheme winner over to Java, but did not tune anything so it assumed a lot less computing time was available.
21:54:42 <Deewiant> Ah.
21:54:57 <fizzie> It's just that they wanted something that made more sense than RandomBot to compare against.
21:55:09 <Deewiant> Sensible.
21:55:39 <AnMaster> fizzie, why java?
21:55:42 <fizzie> 2008's top three were all better than 2009's winner, though.
21:56:16 <Deewiant> Not by much, though.
21:56:43 <fizzie> AnMaster: It pretty much follows from what is used in the introductory programming courses here.
21:56:55 <Deewiant> Python next year, then? ;-P
21:56:58 <fizzie> And Java's got that sandbox in place.
21:57:11 <AnMaster> fizzie, where are the 2007 results?
21:57:28 <AnMaster> fizzie, why was it scheme before then?
21:57:41 <Deewiant> Same reason.
21:57:46 <AnMaster> hah
21:59:23 <fizzie> Yes. But the majority of 2007 already complained about Scheme, since teaching using it had already stopped.
21:59:38 <Deewiant> Not 2006?
22:00:17 <fizzie> I wasn't the assistant back then.
22:00:41 <AnMaster> fizzie, still where is the 2007 results. Neither http://www.cs.hut.fi/{Opinnot,Studies}/T-93.4400/2007/results/ worked
22:00:46 <AnMaster> neither of*
22:01:10 <fizzie> It's a text file somewhere.
22:01:23 <fizzie> I'll try to look for it in a bit.
22:01:40 <fizzie> Different systems, different results reports.
22:02:27 <AnMaster> well, going to sleep. doesn't matter if it isn't easy to reach
22:03:48 <fizzie> It's a lot less fancy, just the scores bsically.
22:04:15 <fizzie> Bit busy right now though; probably no great loss there.
22:11:00 <cpressey> wtf
22:11:21 <cpressey> I independently invented chess boxing as a joke in the early 90's. I had forgotten about it until now :)
22:12:06 <Deewiant> Well, that's about the age of the idea
22:12:12 <Deewiant> Early 90s, I mean.
22:12:26 <fizzie> Hey, I found it: http://www.cs.hut.fi/Opinnot/T-93.4400/2007/airesults.html
22:12:45 <fizzie> In case AnMaster somehow is still here.
22:12:54 <Deewiant> And understands Finnish.
22:12:54 <cpressey> Parallel evolution of ideas, I guess...
22:13:11 <fizzie> And it wasn't just a text document after all.
22:13:40 <cpressey> It's not too hard to come up with the premise "combine something extremely intellectual with something extremely physical"
22:13:47 <cpressey> Oh, wait.
22:14:00 <cpressey> Maybe it wasn't chess boxing I came up with... what was it?
22:14:12 <cpressey> I think it might have actually been cycle boxing.
22:14:21 <fizzie> Deewiant: The game-browser was also cgi-based back then and has rotted away.
22:14:30 <cpressey> Box a round, then once around a track on a bicycle, then box another round...
22:14:52 <cpressey> Two extremely physical but otherwise very dissimilar activities.
22:15:40 <fizzie> Cycle around a track and try to punch the other guy with your fists while at it.
22:15:50 <cpressey> That would be... harder.
22:16:21 <fizzie> Also more accident-prone, and therefore would draw larger audiences.
22:27:42 -!- augur has joined.
22:28:29 <Ilari> At least in western countries popularity of something seems approximately inversely proportional to amount of intellect in it... :->
22:32:35 <Ilari> Hmm... From one study "Intake of TFA [trans fatty acids] was strongly associated with CHD mortality..." -- not surprising, TFAs (not to confused with CLA) are known to be dangerous for health.
22:36:19 <Ilari> And if you think "trans fat problem" has been solved, check some nutrient database querying: Most trans fats, milk free (milk free is to try to minimize interference from CLA, as most databases classify that as trans fat).
22:41:49 <oklopol> cpressey: oh, i thought like riding bicycles while boxing.
22:42:07 <oklopol> now *that's* harder.
22:45:27 <fizzie> oklopol: A regular boxing match, with the ring and all, but put both participants on unicycles.
22:45:32 <MissPiggy> oklobox that's a great idea lol bike with one hand and whack the guy with the other
22:45:48 <MissPiggy> the speed of the bike gives extra power to the bike, just like jousting
22:46:03 <oklopol> oklobox could be my bi-boxer name.
22:46:26 <oklopol> (bi-boxing = bicycle boxing, obviously)
22:46:55 <oklopol> "the speed of the bike gives extra power to the bike" <<< yeah speed is powah
22:47:42 <MissPiggy> oops, I meant punch
22:47:55 <oklopol> i know
23:10:05 -!- cheater2 has quit (lindbohm.freenode.net irc.freenode.net).
23:10:05 -!- MizardX has quit (lindbohm.freenode.net irc.freenode.net).
23:10:05 -!- pikhq has quit (lindbohm.freenode.net irc.freenode.net).
23:10:06 -!- fungot has quit (lindbohm.freenode.net irc.freenode.net).
23:10:06 -!- yiyus has quit (lindbohm.freenode.net irc.freenode.net).
23:12:21 -!- pikhq has joined.
23:13:37 -!- cheater2 has joined.
23:13:53 -!- yiyus has joined.
23:13:55 -!- MizardX has joined.
23:31:11 -!- oklopol has quit (Read error: 110 (Connection timed out)).
2010-01-20
00:02:21 -!- cpressey has left (?).
00:12:53 <coppro> Does anyone know a command that's like echo + cat?
00:13:06 <coppro> specifically, it can append or prepend to standard output
00:16:09 -!- FireFly has quit ("Leaving").
00:24:17 <Gregor> echo | cat
00:24:25 <Gregor> echo foo | cat - /dev/hda
00:26:08 -!- oerjan has joined.
00:30:58 -!- sebbu2 has joined.
00:33:30 <oerjan> in bash, i think cat - `echo whatever` works
00:33:39 <oerjan> er wait
00:34:07 <oerjan> cat - <(echo whatever) may have been it
00:34:39 <oerjan> anyway there is some syntax for inserting the output of one command as a file in another
00:35:09 <coppro> <<<`foo`
00:35:12 <coppro> I believe
00:35:16 <Sgeo> var TiredPerson = new { Name = "Sgeo" };
00:35:22 <coppro> in any case, I just switched to perl
00:36:01 * Sgeo is irrationally addicted to C#
00:36:09 <coppro> bad
00:37:19 <Sgeo> var coppro = (from chatter in CSharpHaters select chatter).First();
00:38:00 <coppro> lol
00:39:04 * Sgeo may end up installing Visual Studio so that he can easily use SQLite
00:40:35 <Gregor> ...
00:40:42 <Gregor> The syntax is a pipe :P
00:40:46 <Gregor> echo foo | cat - bar
00:41:02 <oerjan> Gregor: fail
00:41:13 <oerjan> you cannot pass the _original_ stdin to cat that way
00:41:28 <Gregor> You can't pass the original stdin to cat your way.
00:41:31 <Gregor> You'd have to do something like
00:41:33 <coppro> what I want is a command like "append foo" that output foo+stdin
00:41:38 <oerjan> sure you can
00:41:38 <coppro> without using backticks
00:42:10 <Gregor> coppro: Wait, so you just want cat foo -
00:42:22 <Gregor> oerjan: <(bleh) overrides stdin
00:42:27 <coppro> Gregor: no
00:42:37 <coppro> because that outputs the content of the file `foo`
00:42:43 <Gregor> oerjan: You'd have to specify an input FD, then convince cat to read from that fd (/proc/self/fds/bleh)
00:42:45 <oerjan> Gregor: in that case <() is not what i meant
00:42:47 <coppro> I just want "foo+(whatever came through stdin)"
00:42:57 <Gregor> Ahhhhhhhh, OK
00:43:23 <Gregor> In that case, (echo foo; cat) :P
00:43:45 <oerjan> Gregor: bash has a syntax for creating named pipes with the output of a given command, and putting the _name_ of that pipe in an outer command
00:44:02 <Gregor> oerjan: Ah, then I am unaware of that syntax.
00:44:11 <oerjan> it may be that i remembered <() wrongly for it
00:44:50 <oerjan> seeing as i haven't used it in years, myself
00:46:02 <oerjan> no, <() was correct
00:46:40 <SimonRC> BTW, the pipe is only viewable by the process that bash invokes
00:46:54 <oerjan> Process substitution is the term used
00:47:23 <oerjan> "Process substitution is supported on systems that support named pipes (FIFOs) or the /dev/fd method of naming open files. It takes the form of <(list) or >(list).
00:47:23 <SimonRC> process substitution doesn't work when the command feeds the filename to a second command
00:47:26 <oerjan> "
00:47:42 <SimonRC> e.g. if that command is a shell script
00:47:49 <oerjan> hm true
00:48:49 <oerjan> um wouldn't that only apply if the second command tried to access it after it has been deleted?
00:49:14 <SimonRC> I don't think so
00:49:36 <SimonRC> surely /dev/fd looks different to each process?
00:49:47 <oerjan> oh maybe
00:49:57 -!- sebbu has quit (Read error: 110 (Connection timed out)).
00:50:05 <oerjan> the named pipe thing should still work?
00:50:18 <SimonRC> $ cat `echo <(ls)`
00:50:19 <SimonRC> cat: /dev/fd/63: No such file or directory
00:50:52 <oerjan> SimonRC: that doesn't count anyway, because echo obviously finishes before cat opens the file
00:51:01 <SimonRC> darn
00:51:31 -!- coppro has quit (Remote closed the connection).
00:51:57 -!- coppro has joined.
00:52:28 <oerjan> oh well, sounds brittle anyhow
00:53:03 <SimonRC> ah, you can't read from it twice
01:13:09 -!- MissPiggy has quit.
01:23:04 -!- kwertii has joined.
01:45:22 -!- augur has quit (Read error: 110 (Connection timed out)).
01:48:50 -!- augur has joined.
02:00:40 -!- Sgeo_ has joined.
02:06:24 -!- Sgeo has quit (Read error: 60 (Operation timed out)).
02:23:04 -!- coppro has quit (Remote closed the connection).
02:23:32 -!- coppro has joined.
02:37:36 -!- kwertii_ has joined.
02:37:49 -!- kwertii_ has quit (Remote closed the connection).
02:38:16 -!- kwertii has quit (Read error: 60 (Operation timed out)).
02:51:23 -!- augur_ has joined.
02:51:33 -!- augur has quit (Read error: 104 (Connection reset by peer)).
03:08:07 -!- zeotrope has joined.
04:39:03 -!- augur_ has quit (Connection timed out).
04:45:11 -!- Pthing has joined.
04:51:38 -!- oerjan has quit ("leaving").
05:17:16 -!- augur has joined.
05:23:12 -!- coppro has quit (Remote closed the connection).
05:27:50 -!- Sgeo has joined.
05:27:51 -!- coppro has joined.
05:41:55 -!- Sgeo_ has quit (Read error: 110 (Connection timed out)).
05:51:03 <coppro> wooot
05:51:16 <coppro> looks like the Edmonton library approved my loan of Once More with Footnotes
06:42:18 -!- cal153 has quit.
06:52:08 -!- Asztal has quit (Read error: 60 (Operation timed out)).
06:57:31 -!- cal153 has joined.
07:02:46 -!- oklopol has joined.
07:14:40 -!- FireFly has joined.
07:27:23 -!- FireFly has quit ("Leaving").
07:35:22 -!- Sgeo has quit ("Leaving").
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:45:38 -!- kar8nga has joined.
09:03:54 -!- BeholdMyGlory has joined.
09:20:25 -!- Pthing has quit (Remote closed the connection).
09:21:14 -!- coppro has quit (Read error: 60 (Operation timed out)).
09:53:36 -!- Pthing has joined.
10:00:37 -!- cheater has quit ("Verlassend").
10:19:58 -!- Pthing has quit (Remote closed the connection).
10:55:44 -!- jpc has quit (Connection timed out).
11:50:19 -!- adu has joined.
12:13:47 -!- adu has quit.
12:13:49 -!- kar8nga has quit (Remote closed the connection).
12:26:38 -!- scarf has joined.
12:29:00 -!- rodgort has quit (lindbohm.freenode.net irc.freenode.net).
12:29:00 -!- Ayeraw has quit (lindbohm.freenode.net irc.freenode.net).
12:29:01 -!- Leonidas has quit (lindbohm.freenode.net irc.freenode.net).
12:29:01 -!- SimonRC has quit (lindbohm.freenode.net irc.freenode.net).
12:29:01 -!- jix has quit (lindbohm.freenode.net irc.freenode.net).
12:29:01 -!- HackEgo has quit (lindbohm.freenode.net irc.freenode.net).
12:29:01 -!- dbc has quit (lindbohm.freenode.net irc.freenode.net).
12:29:01 -!- mtve has quit (lindbohm.freenode.net irc.freenode.net).
12:30:49 -!- Leonidas has joined.
12:30:49 -!- Ayeraw has joined.
12:30:49 -!- rodgort has joined.
12:30:49 -!- SimonRC has joined.
12:30:49 -!- jix has joined.
12:30:49 -!- mtve has joined.
12:30:49 -!- HackEgo has joined.
12:30:49 -!- dbc has joined.
12:30:59 -!- Leonidas1 has joined.
12:31:14 -!- Leonidas has quit (Success).
12:31:14 -!- SimonRC has quit (Read error: 104 (Connection reset by peer)).
12:31:15 -!- SimonRC has joined.
12:31:20 -!- Ayeraw has quit (Read error: 104 (Connection reset by peer)).
12:36:06 -!- SimonRC has quit (lindbohm.freenode.net irc.freenode.net).
12:36:07 -!- rodgort has quit (lindbohm.freenode.net irc.freenode.net).
12:36:08 -!- dbc has quit (lindbohm.freenode.net irc.freenode.net).
12:36:08 -!- HackEgo has quit (lindbohm.freenode.net irc.freenode.net).
12:36:08 -!- mtve has quit (lindbohm.freenode.net irc.freenode.net).
12:36:08 -!- jix has quit (lindbohm.freenode.net irc.freenode.net).
12:36:09 -!- Leonidas1 has quit (lindbohm.freenode.net irc.freenode.net).
12:36:09 -!- scarf has quit (lindbohm.freenode.net irc.freenode.net).
12:36:09 -!- yiyus has quit (lindbohm.freenode.net irc.freenode.net).
12:36:10 -!- mycroftiv has quit (lindbohm.freenode.net irc.freenode.net).
12:36:10 -!- AnMaster has quit (lindbohm.freenode.net irc.freenode.net).
12:36:12 -!- augur has quit (lindbohm.freenode.net irc.freenode.net).
12:36:12 -!- zeotrope has quit (lindbohm.freenode.net irc.freenode.net).
12:36:12 -!- cheater2 has quit (lindbohm.freenode.net irc.freenode.net).
12:36:13 -!- olsner has quit (lindbohm.freenode.net irc.freenode.net).
12:36:14 -!- Gracenotes has quit (lindbohm.freenode.net irc.freenode.net).
12:36:15 -!- pikhq has quit (lindbohm.freenode.net irc.freenode.net).
12:36:15 -!- bsmntbombdood has quit (lindbohm.freenode.net irc.freenode.net).
12:36:15 -!- Slereah_ has quit (lindbohm.freenode.net irc.freenode.net).
12:36:15 -!- lifthrasiir has quit (lindbohm.freenode.net irc.freenode.net).
12:36:16 -!- comex_ has quit (lindbohm.freenode.net irc.freenode.net).
12:36:16 -!- ineiros has quit (lindbohm.freenode.net irc.freenode.net).
12:36:16 -!- cal153 has quit (lindbohm.freenode.net irc.freenode.net).
12:36:17 -!- sebbu2 has quit (lindbohm.freenode.net irc.freenode.net).
12:36:18 -!- Deewiant has quit (lindbohm.freenode.net irc.freenode.net).
12:36:18 -!- uorygl has quit (lindbohm.freenode.net irc.freenode.net).
12:36:18 -!- MizardX has quit (lindbohm.freenode.net irc.freenode.net).
12:36:43 -!- AnMaster has joined.
12:43:31 -!- AnMaster has quit (Read error: 60 (Operation timed out)).
12:45:15 -!- uorygl has joined.
12:45:15 -!- Deewiant has joined.
12:45:15 -!- sebbu2 has joined.
12:45:15 -!- cal153 has joined.
12:45:15 -!- MizardX has joined.
12:45:52 -!- sebbu has joined.
12:45:52 -!- SimonRC has joined.
12:45:52 -!- rodgort has joined.
12:45:52 -!- jix has joined.
12:45:52 -!- mtve has joined.
12:45:52 -!- HackEgo has joined.
12:45:52 -!- dbc has joined.
12:46:21 -!- Ayeraw has joined.
12:46:21 -!- adu has joined.
12:46:21 -!- cheater3 has joined.
12:46:21 -!- Leonidas1 has joined.
12:46:21 -!- scarf has joined.
12:46:21 -!- yiyus has joined.
12:46:21 -!- mycroftiv has joined.
12:46:21 -!- augur has joined.
12:46:21 -!- zeotrope has joined.
12:46:21 -!- pikhq has joined.
12:46:21 -!- bsmntbombdood has joined.
12:46:21 -!- Slereah_ has joined.
12:46:21 -!- olsner has joined.
12:46:21 -!- lifthrasiir has joined.
12:46:21 -!- comex_ has joined.
12:46:21 -!- ineiros has joined.
12:46:21 -!- Gracenotes has joined.
12:46:45 -!- AnMaster_ has joined.
12:49:42 -!- sebbu3 has joined.
12:49:51 -!- SimonRC has quit (lindbohm.freenode.net irc.freenode.net).
12:49:51 -!- rodgort has quit (lindbohm.freenode.net irc.freenode.net).
12:49:51 -!- sebbu has quit (lindbohm.freenode.net irc.freenode.net).
12:49:52 -!- dbc has quit (lindbohm.freenode.net irc.freenode.net).
12:49:52 -!- HackEgo has quit (lindbohm.freenode.net irc.freenode.net).
12:49:52 -!- mtve has quit (lindbohm.freenode.net irc.freenode.net).
12:49:52 -!- jix has quit (lindbohm.freenode.net irc.freenode.net).
12:50:24 -!- sebbu has joined.
12:50:24 -!- SimonRC has joined.
12:50:24 -!- rodgort has joined.
12:50:24 -!- jix has joined.
12:50:24 -!- mtve has joined.
12:50:24 -!- HackEgo has joined.
12:50:24 -!- dbc has joined.
12:53:11 -!- cal153 has quit (lindbohm.freenode.net irc.freenode.net).
12:53:11 -!- Deewiant has quit (lindbohm.freenode.net irc.freenode.net).
12:53:11 -!- sebbu2 has quit (lindbohm.freenode.net irc.freenode.net).
12:53:11 -!- uorygl has quit (lindbohm.freenode.net irc.freenode.net).
12:54:15 -!- cal153 has joined.
12:54:15 -!- sebbu2 has joined.
12:54:15 -!- Deewiant has joined.
12:54:15 -!- uorygl has joined.
12:54:27 -!- sebbu2 has quit (Dead socket).
12:56:42 -!- Leonidas1 has quit (lindbohm.freenode.net irc.freenode.net).
12:56:43 -!- scarf has quit (lindbohm.freenode.net irc.freenode.net).
12:56:43 -!- yiyus has quit (lindbohm.freenode.net irc.freenode.net).
12:56:43 -!- mycroftiv has quit (lindbohm.freenode.net irc.freenode.net).
12:58:26 -!- Leonidas1 has joined.
12:58:26 -!- scarf has joined.
12:58:26 -!- yiyus has joined.
12:58:26 -!- mycroftiv has joined.
13:00:10 -!- rodgort has quit (Client Quit).
13:00:42 -!- rodgort has joined.
13:03:38 -!- comex has joined.
13:03:40 -!- comex_ has quit (Read error: 104 (Connection reset by peer)).
13:08:30 -!- cheater has joined.
13:12:09 -!- comex has quit (lindbohm.freenode.net irc.freenode.net).
13:12:09 -!- SimonRC has quit (lindbohm.freenode.net irc.freenode.net).
13:12:09 -!- sebbu has quit (lindbohm.freenode.net irc.freenode.net).
13:12:10 -!- dbc has quit (lindbohm.freenode.net irc.freenode.net).
13:12:10 -!- HackEgo has quit (lindbohm.freenode.net irc.freenode.net).
13:12:10 -!- mtve has quit (lindbohm.freenode.net irc.freenode.net).
13:12:10 -!- jix has quit (lindbohm.freenode.net irc.freenode.net).
13:13:10 -!- comex has joined.
13:14:48 -!- sebbu has joined.
13:14:48 -!- SimonRC has joined.
13:14:48 -!- jix has joined.
13:14:48 -!- mtve has joined.
13:14:48 -!- HackEgo has joined.
13:14:48 -!- dbc has joined.
13:15:13 -!- SimonRC has quit (Read error: 104 (Connection reset by peer)).
13:15:24 -!- SimonRC has joined.
13:15:28 -!- jix has quit (Read error: 104 (Connection reset by peer)).
13:15:38 -!- jix has joined.
13:15:44 -!- sebbu has quit (Connection timed out).
13:17:06 -!- rodgort has quit (lindbohm.freenode.net irc.freenode.net).
13:17:06 -!- cheater has quit (lindbohm.freenode.net irc.freenode.net).
13:17:06 -!- Deewiant has quit (lindbohm.freenode.net irc.freenode.net).
13:17:06 -!- uorygl has quit (lindbohm.freenode.net irc.freenode.net).
13:17:06 -!- cal153 has quit (lindbohm.freenode.net irc.freenode.net).
13:17:30 -!- cal153 has joined.
13:17:43 -!- cheater has joined.
13:17:43 -!- rodgort has joined.
13:17:43 -!- Deewiant has joined.
13:17:43 -!- uorygl has joined.
13:29:50 -!- cheater has quit (lindbohm.freenode.net irc.freenode.net).
13:29:50 -!- Deewiant has quit (lindbohm.freenode.net irc.freenode.net).
13:29:50 -!- rodgort has quit (lindbohm.freenode.net irc.freenode.net).
13:29:50 -!- uorygl has quit (lindbohm.freenode.net irc.freenode.net).
13:29:51 -!- cal153 has quit (lindbohm.freenode.net irc.freenode.net).
13:29:51 -!- SimonRC has quit (lindbohm.freenode.net irc.freenode.net).
13:29:51 -!- dbc has quit (lindbohm.freenode.net irc.freenode.net).
13:29:51 -!- HackEgo has quit (lindbohm.freenode.net irc.freenode.net).
13:29:51 -!- mtve has quit (lindbohm.freenode.net irc.freenode.net).
13:29:53 -!- MizardX has quit (lindbohm.freenode.net irc.freenode.net).
13:29:54 -!- comex has quit (lindbohm.freenode.net irc.freenode.net).
13:29:55 -!- scarf has quit (lindbohm.freenode.net irc.freenode.net).
13:29:55 -!- Leonidas1 has quit (lindbohm.freenode.net irc.freenode.net).
13:29:55 -!- mycroftiv has quit (lindbohm.freenode.net irc.freenode.net).
13:29:55 -!- yiyus has quit (lindbohm.freenode.net irc.freenode.net).
13:29:57 -!- zeotrope has quit (lindbohm.freenode.net irc.freenode.net).
13:29:57 -!- cheater3 has quit (lindbohm.freenode.net irc.freenode.net).
13:29:57 -!- olsner has quit (lindbohm.freenode.net irc.freenode.net).
13:29:58 -!- Gracenotes has quit (lindbohm.freenode.net irc.freenode.net).
13:29:58 -!- augur has quit (lindbohm.freenode.net irc.freenode.net).
13:29:59 -!- jix has quit (lindbohm.freenode.net irc.freenode.net).
13:29:59 -!- AnMaster_ has quit (lindbohm.freenode.net irc.freenode.net).
13:30:00 -!- lifthrasiir has quit (lindbohm.freenode.net irc.freenode.net).
13:30:00 -!- bsmntbombdood has quit (lindbohm.freenode.net irc.freenode.net).
13:30:00 -!- adu has quit (lindbohm.freenode.net irc.freenode.net).
13:30:00 -!- ineiros has quit (lindbohm.freenode.net irc.freenode.net).
13:30:01 -!- Slereah_ has quit (lindbohm.freenode.net irc.freenode.net).
13:30:01 -!- pikhq has quit (lindbohm.freenode.net irc.freenode.net).
13:30:01 -!- Ayeraw has quit (lindbohm.freenode.net irc.freenode.net).
13:42:22 -!- MizardX has joined.
13:43:02 -!- kar8nga has joined.
13:43:02 -!- uorygl has joined.
13:43:02 -!- Deewiant has joined.
13:43:02 -!- rodgort has joined.
13:43:02 -!- dbc has joined.
13:43:02 -!- HackEgo has joined.
13:43:02 -!- mtve has joined.
13:43:02 -!- SimonRC has joined.
13:43:02 -!- cal153 has joined.
13:43:02 -!- scarf has joined.
13:43:02 -!- mycroftiv has joined.
13:43:02 -!- yiyus has joined.
13:43:02 -!- Leonidas1 has joined.
13:43:02 -!- comex has joined.
13:43:02 -!- jix has joined.
13:43:02 -!- AnMaster_ has joined.
13:43:02 -!- Ayeraw has joined.
13:43:02 -!- adu has joined.
13:43:02 -!- cheater3 has joined.
13:43:02 -!- augur has joined.
13:43:02 -!- zeotrope has joined.
13:43:02 -!- pikhq has joined.
13:43:02 -!- bsmntbombdood has joined.
13:43:02 -!- Slereah_ has joined.
13:43:02 -!- olsner has joined.
13:43:02 -!- lifthrasiir has joined.
13:43:02 -!- ineiros has joined.
13:43:02 -!- Gracenotes has joined.
13:43:46 -!- cheater has joined.
13:55:29 -!- Pthing has joined.
13:56:18 -!- run-bandit has joined.
13:56:33 <run-bandit> what is this place
13:56:39 <run-bandit> programming language?
13:56:42 <scarf> yes
13:56:51 <scarf> for the less serious programming languages around
13:58:19 <run-bandit> ok
13:59:46 <fizzie> What, isn't esolangery Serious Business™?
14:00:10 <scarf> you never know, it might be
14:00:20 <scarf> only by exploring the silly can you find the interesting on the edge of serious
14:04:47 -!- run-bandit has quit ("lol").
14:22:11 -!- MissPiggy has joined.
14:57:55 -!- Pthing has quit (Remote closed the connection).
14:58:02 -!- Deewiant has quit (Remote closed the connection).
14:58:12 -!- Deewiant has joined.
15:11:39 -!- cpressey has joined.
15:34:46 -!- Pthing has joined.
15:36:18 -!- FireFly has joined.
16:07:54 -!- Pthing has quit (Remote closed the connection).
16:10:31 -!- scarf has quit (Read error: 104 (Connection reset by peer)).
16:10:46 -!- scarf has joined.
16:15:28 -!- jpc has joined.
16:15:57 <cheater> so does esolang run in a vm of some sort
16:16:11 <cheater> do i get an interpreter for esolang under ubuntu?
16:16:14 <cheater> :P
16:19:14 <cpressey> yes, version 3.1.1 of esolang was just released last week
16:20:55 <scarf> "esolang"'s a general term
16:21:11 <scarf> although you can find interpreters for individual esolangs in the repositories if they're really well known, or on the wiki otherwise
16:21:13 <scarf> hi cpressey by the way
16:23:40 <cpressey> hi ais523
16:24:25 <scarf> I'm too busy with RL stuff to really do much esolanging at the moment...
16:27:21 <cpressey> I'm trying to find more time for it recently.
16:27:46 <cpressey> The last interesting one I've done is: http://catseye.tc/projects/zowie/
16:28:34 <scarf> I noticed that one in #esoteric's last review of What Cats's Eye Has Been Up To Recently, but didn't really look at it in detail
16:28:45 <Gregor> For some reason "zowie" made my mind immediately jump to "Yom Kippur", used as some kind of generic expression of happiness. "Yom Kippur, this is the tastiest pie I've ever had!"
16:28:59 <scarf> it's rather reminicent of continuation passing style, though
16:30:22 <cpressey> scarf: Huh. I have been very interested in continuations lately, but honestly, I wasn't thinking about them at all in ZOWIE
16:30:25 <scarf> but instead of storing the IP and data together, you can access each of them separately
16:30:48 <scarf> a Zowie program state is almost a continuation, except you only use half of it at a time, which is rather interesting
16:32:12 <scarf> hmm, I wonder if it's TC even without the ability to rollback? it's a lot less obvious whether it's TC or not then, but it's not obviously incomplete
16:33:25 <cpressey> scarf: From what I remember... without rollback you can only do "repeat" loops, not "while".
16:33:43 <scarf> yes, but I think repeat may be enough for TCness by itself
16:33:49 * pikhq wonders if he should try and force his C lambda code into using CPS...
16:33:54 <scarf> the idea is, immediately after each loop you "undo" one interation of it
16:34:03 <pikhq> It would have the advantage of getting rid of the stack overflows...
16:34:04 <scarf> but it's not obvious that doing that is always possible
16:34:11 <cpressey> well, it seems to be folklore that repeat is insufficient for TC. i remember looking and i couldn't find an explicit proof
16:34:28 <Ilari> Explicit repeat count?
16:34:34 <scarf> I'm relatively certain that it depends on other details of the language; it's sufficient sometimes, but not otherwise
16:34:36 <cpressey> tho, i think i know what you're talking about re "undo"
16:34:39 <scarf> Ilari: no, while but that always loops at least once
16:34:41 <pikhq> (computing fact 10 overflows the stack ATM. ... In addition.)
16:35:13 -!- oerjan has joined.
16:35:34 <Ilari> No if construct?
16:35:43 <cpressey> scarf: if you could prove that "repeat" loops are sufficient for TC I think you would have something very publishable. at least, that is the impression i formed from what research i did see (e.g. Kozen's work on "while programs")
16:36:04 <cpressey> Ilari: "if" + "repeat" can emulate "while"
16:36:05 <scarf> Ilari: no if
16:36:25 <scarf> it's easy enough to imagine languages in which it is possible
16:36:53 <scarf> imagine a C-like language which stored a sort of "transaction history" of all changes to variables, and had a method to undo the most recent change
16:37:10 * oerjan cannot quite get to grips with this scarf-ais guy
16:37:27 <scarf> by using a stack of counters which held how many changes there had been, you could just undo the right number of changes
16:37:40 <scarf> that's requiring a rather implausibly high amount of support from the language, though
16:38:54 <cpressey> scarf: well, maybe too much support to be taken seriously, but still an interesting esolang design
16:39:31 <scarf> I'm wondering how little language support you could get away with; for instance, bignum BF probably has enough, although I'm less sure about that
16:39:47 <scarf> (or rather, I should say "DoFuck", I suppose)
16:40:19 <cpressey> since BF maps very easily to "repeat programs", i think that would be publishable
16:40:46 <scarf> perhaps, but I'm trying to do too many papers in parallel as it is
16:40:54 <cpressey> (again, to clarify, i don't think "publishable" should necessarily be anyone's goal, i'm just using it to describe how surprising it would be)
16:42:04 <oerjan> one thing that comes to mind is: set a variable to 0 before the loop, and to 1 at the end. then at least you should be able to do any _arithmetic_ as if it was a while loop, by exploiting that (assuming you have at least multiplication)
16:42:23 <oerjan> s/at the end/just before the end/
16:43:09 -!- augur has quit (Read error: 60 (Operation timed out)).
16:43:21 <oerjan> because you then have a flag to help you ignore the first iteration
16:43:33 <cpressey> oerjan: that sounds reasonable
16:44:48 <oerjan> and for TC you don't need anything more then than arithmetic assignments, i think
16:45:36 <cpressey> folklore has been proven wrong before :)
16:45:39 <MissPiggy> are you guys talking about reversibly TC languages?
16:45:48 <oerjan> hm you can even do output with C-like strings, as long as you don't mind outputting a lot of 0-length strings
16:46:13 <oerjan> no afaik
16:46:25 <scarf> MissPiggy: about TC languages without the ability to skip code
16:46:36 <scarf> i.e. every loop runs at least once, no if
16:47:10 <cpressey> and the relationship between that and reversible programs is... obscure, at least
16:47:21 <cpressey> i won't say they're not related somehow tho
16:47:26 <scarf> they do feel related
16:47:31 <scarf> if you can't skip code, you have to undo the loop
16:47:40 <cpressey> oh, too deep, too early, too little coffee :)
16:47:52 <scarf> incidentally, it turns out that INTERCAL is TC even with no flow control but jumping from the end of the program to the start
16:47:58 -!- Asztal has joined.
16:48:04 <scarf> but it has rather a rich set of ways to not do commands, so that's rather unsurprising
16:48:57 <cpressey> well, one of the "while program" results is that you only really need one while loop, so... yeah
16:49:32 <scarf> hmm, if you only need the one loop, it surely isn't much of a problem to ensure it always iterates once
16:49:52 <scarf> unless the result allows cheating by using things like ifs inside the loop
16:50:51 <cpressey> well... if you collapse nested loops into a single loop then you can't take oerjan's suggestion of setting a variable to 0 "just before the end" of an inner loop because you've eliminated the inner loop
16:51:47 <scarf> yes, but then you wouldn't need to
16:52:48 <cpressey> hm, i can't really tell how it would work at this point.
16:53:03 <oerjan> surely you convert to a single while loop before converting that one into repeat
16:53:26 <scarf> well, you clearly can't do BF with just a single loop
16:53:32 <cpressey> at any rate, i'm occupied for the next little while, so i'll let my brain marinate
16:54:10 <oerjan> cpressey: but if it's while, can't you skip it?
16:54:41 * oerjan whistles innocently
16:55:03 <MissPiggy> hehe
16:55:08 <cpressey> scarf: true, because you need loops to perform and/or, which while loop collapsing needs
16:55:34 <scarf> as I said already, I think it's going to be heavily dependent on the other details of the language
16:56:08 <cpressey> oerjan: i can't see why not
16:56:23 <oerjan> (*woosh*)
16:57:27 <cpressey> oerjan: i'd need to see an example in order to reason about it, at this point.
16:57:52 <oerjan> cpressey: um that was a pun, referring to your "next little while"
16:58:30 <cpressey> argh :)
16:58:44 <scarf> this is the #1 danger of having a productive mathematical discussion with oerjan
16:59:10 <cpressey> bbl
17:15:35 -!- AnMaster_ has changed nick to AnMaster.
17:20:39 -!- sebbu3 has changed nick to sebbu.
17:34:47 -!- jpc has quit (Read error: 104 (Connection reset by peer)).
17:35:26 -!- jpc has joined.
17:37:13 -!- jpc has quit (Client Quit).
17:37:52 -!- jpc has joined.
17:40:11 -!- sexygirl153 has joined.
17:41:19 -!- kar8nga has quit (Remote closed the connection).
17:51:55 <cheater3> hello
18:00:41 -!- cal153 has quit (Read error: 113 (No route to host)).
18:18:33 -!- scarf has quit (Remote closed the connection).
18:24:33 -!- oerjan has quit ("AAAAAAAAAAAAAAAAAAAA").
18:29:42 -!- Gracenotes has quit (Read error: 60 (Operation timed out)).
18:45:27 -!- Gracenotes has joined.
19:28:36 -!- augur has joined.
19:50:42 -!- adu has quit.
19:52:31 -!- adu has joined.
20:17:07 -!- adu has quit.
20:25:24 -!- Sgeo has joined.
20:28:27 -!- sebbu has quit ("reboot").
21:21:19 <SimonRC> cheater3: hi
21:21:55 -!- sebbu has joined.
21:26:07 <cheater3> hi SimonRC
21:26:46 <SimonRC> it gets busier later
21:26:52 <cheater3> i know
21:27:10 <cheater3> what are some esolangs you work with simon?
21:36:05 -!- nooga has joined.
21:36:31 <nooga> hmm
21:37:24 <MissPiggy> huh?
21:37:54 <nooga> evening of weird nicknames
21:38:33 <MissPiggy> sexygirl153 is the best
21:38:53 <nooga> that's for sure
21:39:04 <sexygirl153> for sure
21:39:40 <MissPiggy> sure
21:40:56 <nooga> seur
21:43:28 <fizzie> Is that "153" age or a birth-year or what?
21:50:01 -!- kar8nga has joined.
22:20:32 -!- kar8nga has quit (Remote closed the connection).
22:56:39 -!- augur has quit (Read error: 110 (Connection timed out)).
23:00:08 -!- Azstal has joined.
23:03:23 <nooga> i don't know
23:03:43 -!- oerjan has joined.
23:03:47 <nooga> i hae an idea but it's so undefined that i cannot even express it
23:04:33 <MissPiggy> cool
23:04:43 <MissPiggy> nooga you should talk to me with this idea in mind
23:05:03 <nooga> do you get this feeling sometimes?
23:06:14 <MissPiggy> yes
23:06:27 <MissPiggy> lots of times
23:07:06 <oerjan> hm
23:07:16 * oerjan isn't sure if he does
23:07:19 -!- BeholdMyGlory has quit (Read error: 60 (Operation timed out)).
23:07:53 <oerjan> i'm not sure i can think an idea if i don't express it somehow
23:10:25 <oerjan> more specifically, i think i have trouble _remembering_ things that cannot be put in words
23:10:39 <oerjan> (or symbols, at least)
23:11:19 <oerjan> which could of course mean that i _do_ have such feelings but just don't remember them
23:12:53 * Sgeo should probably eat
23:13:12 * Sgeo tends to die if he doesn't eat
23:13:27 <oerjan> is this a frequent problem of yours?
23:14:38 -!- Asztal has quit (Connection timed out).
23:32:34 -!- MissPiggy has quit (Read error: 60 (Operation timed out)).
23:46:37 -!- augur has joined.
23:49:08 -!- coppro has joined.
23:55:27 -!- FireFly has quit ("Leaving").
2010-01-21
00:01:34 <Sgeo> There now exists another link between "Sgeo" and my RL name :/
00:01:45 <oerjan> MWAHAHA
00:02:35 <Gregor> There exists a link between "Gregor" and my real-life name D-8
00:03:56 <oerjan> pesky ircname fields. is there no way to get around them!
00:04:26 <Gregor> Sgeo: Y'know, it's much easier to just not attempt anonymity.
00:04:56 * Sgeo has also posted on a Mario .. site, despite not having any interest in Mario
00:05:22 <Sgeo> http://forums.mfgg.net/viewtopic.php?p=112527#p112527
00:08:50 -!- cpressey has quit ("Leaving.").
00:11:43 -!- Wareya has joined.
00:27:12 <Gregor> A "Mario .. site"
00:27:15 <Gregor> I assume that means "Mario porn site"
00:27:56 <oklopol> yummy
00:44:20 -!- cheater2 has joined.
00:45:59 -!- cheater3 has quit (Read error: 54 (Connection reset by peer)).
00:46:30 <SimonRC> *sigh*
00:47:24 <coppro> going from my nick to my name is easy
00:47:26 <coppro> the reverse is not
00:47:39 <coppro> hmm... looks like I don't even show up until page 3
00:47:39 <SimonRC> elsenet, some irregular visitor to an IRC channel came in and started saying how great some bidding/auction website was
00:47:42 <coppro> hooray generic name!
00:47:53 <oklopol> SimonRC: well is it?
00:48:00 <SimonRC> dunno
00:48:31 <oklopol> how weird that you would complain then!
00:48:35 <SimonRC> I didn't recognise them, so naturally I assumed they were someone poor with good English skills being paid to advertise on IRC
00:48:46 <SimonRC> I mean, it would work as marketing
00:49:05 <SimonRC> unlike a simple bot they can pass the Turing Test
00:49:07 <oklopol> hmm. interesting theory.
00:49:20 <SimonRC> but logs revealed this person was there before
00:49:28 <oklopol> but i still think he's for real
00:50:04 <SimonRC> yeah, it seems they are a "real" member of the channel
00:50:37 <SimonRC> the only article I can find about the site (with a quick search) is this: http://www.techcrunch.com/2009/11/19/bigdeal-com-reinvents-and-legitimizes-swoopos-controversial-auction-bidding-model/
00:51:18 <SimonRC> because imitating Swoopo is really the way to get people to trust you!
00:52:19 <SimonRC> that's like describing a political party by saying "they're like the Nazis, except ..." and gradually listing every difference
00:52:44 <oklopol> well thatsounds great
00:52:47 <oklopol> *that sounds
00:52:54 <oklopol> i mean the article
00:53:11 <oklopol> also swoopo
00:53:27 <SimonRC> um, no
00:53:33 <oklopol> um, yes.
00:53:39 <SimonRC> great for whom?
00:53:54 <oklopol> sounds like a fun game
00:54:34 <SimonRC> not with hundereds of quid at stake it isn't
00:55:18 <oklopol> oh you have to bid? well then it sounds sort of evil.
00:55:34 <oklopol> i thought you could not use the site
00:56:05 <SimonRC> huh?
00:56:14 <oklopol> well what's evil about making idiots give their money to you?
00:56:36 <SimonRC> Jeff Atwood explains Swoopo: http://www.codinghorror.com/blog/archives/001261.html
00:57:14 <SimonRC> and that site does a darn good Swoopo impression without some of the nastier bits
00:57:55 <pikhq> SimonRC: Even if it's "They're like Nazis, but not German"?
00:57:56 <pikhq> :P
00:58:52 <oklopol> oh i thought you have to pay the amount you bid, but you just have to pay for bids
00:59:03 <oklopol> i admit that's much better
01:03:00 <oerjan> join our party. it's a gas!
01:03:28 <oklopol> consider: everyone pays the amount they bid last, but only the biggest bid actually gets the product
01:04:07 <SimonRC> ouch --> "the [Swoopo] auction is extended 15 seconds each and every time someone bids in those final seconds"
01:04:42 <oklopol> well obviously, otherwise it'd be about timing
01:21:34 <Gregor> You could also just end at a random time within a range.
01:22:00 <oklopol> randomless makes it less pure
01:22:04 <oklopol> *ness
01:29:49 <oerjan> indeed, you can only be random in the IO monad
01:29:55 * SimonRC goes to bed
01:35:17 -!- cheater has quit (lindbohm.freenode.net irc.freenode.net).
01:35:17 -!- rodgort has quit (lindbohm.freenode.net irc.freenode.net).
01:35:17 -!- uorygl has quit (lindbohm.freenode.net irc.freenode.net).
01:37:14 -!- cheater has joined.
01:37:14 -!- uorygl has joined.
01:37:14 -!- rodgort has joined.
01:38:39 <coppro> oddly enough, the thing that might make me finally learn Haskell is the IO subsystem
01:42:42 <oklopol> oerjan: a bit too easy
01:42:55 <oklopol> (not that it occurred to me)
01:42:57 <Gregor> The thing that made me learn Haskell was a professor :P
01:43:40 <oklopol> yay three hours of sleep ->
01:44:38 <coppro> Gregor: It's likely to happen that way if I don't get to it myself
01:45:52 <coppro> greatest error message ever: "The database hates you right now. The entry might exist or it might not exist. We would clear this mystery up for you, if we could get to the database. We tried to look it up, but the database puked up an error."
01:48:30 -!- oklopol has quit (Read error: 60 (Operation timed out)).
01:52:37 <oerjan> they shouldn't have used the same database for that AI
01:53:07 <Gregor> YOU HAVE OFFENDED THE GREAT DATABASE GODS
01:53:14 <Gregor> What hath you to say for yourself?
01:53:25 <oerjan> um which one of us?
02:03:36 <Gregor> Idonno, whoever.
02:03:46 <oerjan> whew
02:18:32 -!- augur has quit (Read error: 110 (Connection timed out)).
02:46:26 -!- augur has joined.
04:58:34 -!- clog has joined.
04:58:34 -!- clog has joined.
04:59:16 -!- augur_ has quit (Read error: 113 (No route to host)).
05:19:28 -!- oerjan has quit ("leaving").
05:41:24 -!- Pthing has joined.
05:45:29 -!- augur has joined.
06:14:42 -!- adam_d has joined.
07:08:15 -!- sexygirl153 has quit.
07:28:19 -!- FireFly has joined.
07:31:48 -!- cal153 has joined.
07:37:54 -!- kar8nga has joined.
07:44:37 -!- Azstal has quit (Read error: 110 (Connection timed out)).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:16:33 -!- jpc has quit ("I will do anything (almost) for a new router.").
08:37:52 -!- oklopol has joined.
08:39:28 <oklopol> <- whoops seven hours of sleep
08:46:00 -!- MigoMipo has joined.
09:22:33 -!- adam_d has quit ("Leaving").
09:27:49 -!- BeholdMyGlory has joined.
09:49:04 -!- MigoMipo has quit ("co'o rodo").
10:10:53 -!- Pthing has quit (Remote closed the connection).
10:18:34 -!- rodgort` has joined.
10:21:55 -!- kar8nga has quit (Remote closed the connection).
10:22:25 -!- kar8nga has joined.
10:27:53 -!- rodgort has quit (Read error: 110 (Connection timed out)).
10:38:19 -!- Slereah has joined.
10:40:47 -!- Slereah_ has quit (Read error: 110 (Connection timed out)).
11:00:13 -!- sebbu2 has joined.
11:10:42 -!- Slereah has quit (Client Quit).
11:13:57 -!- sebbu has quit (Read error: 110 (Connection timed out)).
11:14:29 -!- Leonidas1 has changed nick to Leonidas.
11:15:30 -!- kar8nga has quit (Remote closed the connection).
11:20:29 -!- Slereah has joined.
11:38:34 -!- sebbu has joined.
11:55:50 -!- sebbu2 has quit (Read error: 110 (Connection timed out)).
11:56:30 -!- nooga_ has joined.
12:02:52 -!- nooga has quit (Read error: 60 (Operation timed out)).
12:12:54 -!- Pthing has joined.
12:25:04 -!- kar8nga has joined.
12:32:15 -!- scarf has joined.
12:44:33 -!- Pthing has quit (Remote closed the connection).
12:45:57 -!- Pthing has joined.
13:06:02 <scarf> I had a weird dream last night
13:06:15 <scarf> apparently fizzie had managed to install an "extra" road sign next to the road I live on
13:06:23 <scarf> which stayed hidden, then popped out of nowhere
13:06:35 <scarf> with fungot babble on, with a corpus designed to produce lots of questions
13:06:40 <scarf> and an arrow pointing upwards/forwards
13:08:04 -!- FireFly has quit ("Leaving").
13:11:50 <fizzie> Have you checked that this was, in fact, a dream?
13:13:47 <scarf> actually, no
13:13:52 <scarf> but I suspect it was
13:14:16 <scarf> it was hilarious seeing drivers drive down the road and suddenly have a semi-coherent question pop out of nowhere, though
13:16:05 <fizzie> It sounds like a good idea, but a bit too complicated to actually do. And the authorities might not approve of this message.
13:16:10 <Sgeo_> Mmm, Microsoft-flavored kool-aid!
13:19:04 -!- MizardX has joined.
13:19:18 -!- FireFly has joined.
13:29:31 -!- cheater has quit (calvino.freenode.net irc.freenode.net).
13:29:33 -!- uorygl has quit (calvino.freenode.net irc.freenode.net).
13:29:33 -!- Pthing has quit (calvino.freenode.net irc.freenode.net).
13:29:33 -!- Ilari has quit (calvino.freenode.net irc.freenode.net).
13:29:34 -!- oklopol has quit (calvino.freenode.net irc.freenode.net).
13:29:35 -!- fizzie has quit (calvino.freenode.net irc.freenode.net).
13:29:38 -!- puzzlet has quit (calvino.freenode.net irc.freenode.net).
13:29:38 -!- Gregor has quit (calvino.freenode.net irc.freenode.net).
13:29:38 -!- EgoBot has quit (calvino.freenode.net irc.freenode.net).
13:29:38 -!- sebbu has quit (calvino.freenode.net irc.freenode.net).
13:29:42 -!- Wareya has quit (calvino.freenode.net irc.freenode.net).
13:29:43 -!- Deewiant has quit (calvino.freenode.net irc.freenode.net).
13:29:43 -!- FireFly has quit (calvino.freenode.net irc.freenode.net).
13:29:43 -!- cheater2 has quit (calvino.freenode.net irc.freenode.net).
13:29:43 -!- coppro has quit (calvino.freenode.net irc.freenode.net).
13:29:44 -!- Gracenotes has quit (calvino.freenode.net irc.freenode.net).
13:29:44 -!- dbc has quit (calvino.freenode.net irc.freenode.net).
13:29:44 -!- HackEgo has quit (calvino.freenode.net irc.freenode.net).
13:29:44 -!- mtve has quit (calvino.freenode.net irc.freenode.net).
13:29:44 -!- SimonRC has quit (calvino.freenode.net irc.freenode.net).
13:29:47 -!- augur has quit (calvino.freenode.net irc.freenode.net).
13:29:47 -!- Sgeo_ has quit (calvino.freenode.net irc.freenode.net).
13:29:50 -!- cal153 has quit (calvino.freenode.net irc.freenode.net).
13:29:52 -!- zeotrope has quit (calvino.freenode.net irc.freenode.net).
13:29:54 -!- olsner has quit (calvino.freenode.net irc.freenode.net).
13:29:56 -!- jix has quit (calvino.freenode.net irc.freenode.net).
13:29:56 -!- bsmntbombdood has quit (calvino.freenode.net irc.freenode.net).
13:29:56 -!- ineiros has quit (calvino.freenode.net irc.freenode.net).
13:29:56 -!- lifthrasiir has quit (calvino.freenode.net irc.freenode.net).
13:29:56 -!- pikhq has quit (calvino.freenode.net irc.freenode.net).
13:29:56 -!- Ayeraw has quit (calvino.freenode.net irc.freenode.net).
13:29:56 -!- AnMaster has quit (calvino.freenode.net irc.freenode.net).
13:31:09 -!- Pthing has joined.
13:31:09 -!- oklopol has joined.
13:31:09 -!- uorygl has joined.
13:31:09 -!- cheater has joined.
13:31:09 -!- fizzie has joined.
13:31:09 -!- Gregor has joined.
13:31:09 -!- puzzlet has joined.
13:31:09 -!- EgoBot has joined.
13:31:09 -!- Ilari has joined.
13:31:38 -!- FireFly has joined.
13:31:38 -!- sebbu has joined.
13:31:38 -!- cheater2 has joined.
13:31:38 -!- Wareya has joined.
13:31:38 -!- coppro has joined.
13:31:38 -!- Gracenotes has joined.
13:31:38 -!- Deewiant has joined.
13:31:38 -!- SimonRC has joined.
13:31:38 -!- mtve has joined.
13:31:38 -!- HackEgo has joined.
13:31:38 -!- dbc has joined.
13:31:47 -!- FireFly has quit ("Leaving").
13:32:06 -!- FireFly has joined.
13:32:58 -!- augur has joined.
13:32:58 -!- Sgeo_ has joined.
13:33:39 -!- jix has joined.
13:33:39 -!- AnMaster has joined.
13:33:39 -!- Ayeraw has joined.
13:33:39 -!- pikhq has joined.
13:33:39 -!- bsmntbombdood has joined.
13:33:39 -!- lifthrasiir has joined.
13:33:39 -!- ineiros has joined.
13:33:59 -!- FireFly has quit (Read error: 104 (Connection reset by peer)).
13:34:17 -!- olsner has joined.
13:35:34 -!- cal153 has joined.
13:35:34 -!- zeotrope has joined.
14:30:20 -!- cheater has quit (calvino.freenode.net irc.freenode.net).
14:30:21 -!- uorygl has quit (calvino.freenode.net irc.freenode.net).
14:31:19 -!- cheater has joined.
14:31:19 -!- uorygl has joined.
14:32:29 -!- uorygl has quit (Read error: 104 (Connection reset by peer)).
14:33:04 -!- cheater3 has joined.
14:33:46 -!- sebbu2 has joined.
14:34:28 -!- FireFly has joined.
14:34:37 -!- lifthrasiir has quit (calvino.freenode.net irc.freenode.net).
14:34:37 -!- ineiros has quit (calvino.freenode.net irc.freenode.net).
14:34:38 -!- bsmntbombdood has quit (calvino.freenode.net irc.freenode.net).
14:34:38 -!- pikhq has quit (calvino.freenode.net irc.freenode.net).
14:34:39 -!- jix has quit (calvino.freenode.net irc.freenode.net).
14:34:39 -!- Ayeraw has quit (calvino.freenode.net irc.freenode.net).
14:34:39 -!- AnMaster has quit (calvino.freenode.net irc.freenode.net).
14:34:41 -!- Sgeo_ has quit (calvino.freenode.net irc.freenode.net).
14:34:41 -!- augur has quit (calvino.freenode.net irc.freenode.net).
14:34:42 -!- zeotrope has quit (calvino.freenode.net irc.freenode.net).
14:34:42 -!- cal153 has quit (calvino.freenode.net irc.freenode.net).
14:34:47 -!- Deewiant has quit (calvino.freenode.net irc.freenode.net).
14:34:47 -!- sebbu has quit (calvino.freenode.net irc.freenode.net).
14:34:47 -!- Wareya has quit (calvino.freenode.net irc.freenode.net).
14:34:49 -!- dbc has quit (calvino.freenode.net irc.freenode.net).
14:34:49 -!- HackEgo has quit (calvino.freenode.net irc.freenode.net).
14:34:49 -!- mtve has quit (calvino.freenode.net irc.freenode.net).
14:34:49 -!- SimonRC has quit (calvino.freenode.net irc.freenode.net).
14:34:49 -!- cheater2 has quit (calvino.freenode.net irc.freenode.net).
14:34:49 -!- Gracenotes has quit (calvino.freenode.net irc.freenode.net).
14:34:49 -!- coppro has quit (calvino.freenode.net irc.freenode.net).
14:34:57 -!- uorygl has joined.
14:34:57 -!- zeotrope has joined.
14:34:57 -!- cal153 has joined.
14:35:30 -!- augur has joined.
14:35:30 -!- Sgeo_ has joined.
14:36:20 -!- sebbu has joined.
14:36:20 -!- cheater2 has joined.
14:36:20 -!- Wareya has joined.
14:36:20 -!- coppro has joined.
14:36:20 -!- Gracenotes has joined.
14:36:20 -!- Deewiant has joined.
14:36:20 -!- SimonRC has joined.
14:36:20 -!- mtve has joined.
14:36:20 -!- HackEgo has joined.
14:36:20 -!- dbc has joined.
14:37:01 -!- mtve has quit (Read error: 104 (Connection reset by peer)).
14:37:03 -!- cheater2 has quit (Connection reset by peer).
14:37:13 -!- mtve has joined.
14:41:38 -!- mtve has quit (Client Quit).
14:41:42 -!- mtve has joined.
14:48:32 -!- Deewiant has quit (calvino.freenode.net irc.freenode.net).
14:48:35 -!- sebbu has quit (calvino.freenode.net irc.freenode.net).
14:48:35 -!- Wareya has quit (calvino.freenode.net irc.freenode.net).
14:48:40 -!- Wareya has joined.
14:51:05 -!- jix has joined.
14:51:05 -!- AnMaster has joined.
14:51:05 -!- Ayeraw has joined.
14:51:05 -!- pikhq has joined.
14:51:05 -!- bsmntbombdood has joined.
14:51:05 -!- lifthrasiir has joined.
14:51:05 -!- ineiros has joined.
14:56:24 -!- Deewiant has joined.
15:12:13 -!- cpressey has joined.
15:31:03 -!- coppro has quit ("work. also, l5").
15:53:44 -!- FireFly has quit (Client Quit).
15:59:14 -!- MigoMipo has joined.
16:00:24 -!- FireFly has joined.
16:09:08 -!- MissPiggy has joined.
16:09:31 -!- kar8nga has quit (Remote closed the connection).
16:42:00 -!- augur has quit (Read error: 104 (Connection reset by peer)).
16:57:33 -!- Asztal has joined.
18:22:19 -!- MigoMipo has quit (Remote closed the connection).
18:24:22 -!- Ayeraw has quit (Read error: 110 (Connection timed out)).
19:14:15 -!- kar8nga has joined.
19:44:48 -!- scarf has quit (Remote closed the connection).
19:53:03 -!- oerjan has joined.
19:58:21 -!- oerjan has quit ("Reboot").
20:00:03 -!- MigoMipo has joined.
20:02:32 -!- oerjan has joined.
20:25:37 -!- kar8nga has quit (Remote closed the connection).
20:47:03 <AnMaster> hi
20:47:14 <oerjan> ho
20:48:35 -!- GreaseMonkey has joined.
21:14:20 -!- augur has joined.
21:15:06 -!- tombom__ has joined.
21:16:04 -!- Sgeo__ has joined.
21:32:50 -!- Sgeo_ has quit (Read error: 110 (Connection timed out)).
22:11:22 -!- oerjan has quit ("leaving").
22:18:53 -!- kar8nga has joined.
22:19:37 <olsner> check this craziness out: git is occasionally a lot slower than CVS, due to working on an entire repository rather than per file :D
22:25:39 <cpressey> Yeah -- having to work with Mercurial regularly now, I have to say my regard for distributed version control is... not very high.
22:28:54 <Gregor> Funny. After switching from SVN to darcs, I never looked back. (Although I did look forward and switched to Mercurial)
22:30:27 <pikhq> Funny, seems to me that the only thing worse than CVS is RCS.
22:32:00 -!- MigoMipo has quit (Remote closed the connection).
22:32:04 <Gregor> pikhq: Ever used SCCS?
22:32:15 <pikhq> No.
22:32:37 <olsner> Gregor: let me guess, worse than RCS? :)
22:34:04 -!- tombom__ has quit ("Leaving").
22:35:04 <Gregor> To be fair, it predated RCS, and basically invented revision control.
22:36:08 <cheater3> is currying an example of http://en.wikipedia.org/wiki/Function-level_programming
22:36:09 <cheater3> ?
22:37:16 <cpressey> cheater3: Uh - kind of, I think.
22:37:47 <pikhq> No, you can curry without doing that.
22:37:51 <cpressey> I think the Haskell crowd would use the term "point-free" for what Backus calls "function-level" -- if I read that page correctly.
22:38:30 <cpressey> Well, function-level programming would encourage currying over not currying.
22:39:31 <cpressey> But yes, just because you're currying something doesn't mean you are necessarily thinking/coding in a "function-level" way
22:39:45 <cheater3> pikhq: i know you can curry without it, but that's not what i am asking about
22:40:50 <cpressey> http://www.haskell.org/haskellwiki/Pointfree
22:41:02 <cpressey> currying is just sugar, though, as far as i'm concerned.
22:41:39 <MissPiggy> sugar for what?
22:41:59 <cpressey> sugar for a function which takes N arguments and returns a function which takes N-1 arguments
22:42:11 <MissPiggy> hmm
22:42:47 <cpressey> and currying only happens in one direction, when really, you could "pre-set" any of a function's arguments that way
22:43:28 <cheater3> yeah, currying in one direction is stupid
22:43:32 <cheater3> but oh well
22:43:47 <cheater3> so what would a program in function level programming look like
22:44:55 <cpressey> probably like some of the examples on that Pointfree wiki page. No variable names, but lots of "adapter" functions
22:45:06 <cheater3> would it look like ff1(ff2(f1(), f2()), ff3(ff5(f6()), f3()), ff4(f7()))
22:45:09 <cheater3> something like this?
22:45:34 <cheater3> f7 could for example be the 'input' function
22:45:39 <cheater3> aka the argument
22:46:22 <cpressey> well, that wouldn't be "pure" functional programming, since the value returned by f7() would change over time.
22:47:13 <cheater3> pointfree is not funciton-level, it is value-level
22:47:36 <cheater3> cpressey: function-level does not need to be functional. it is not functional programming.
22:48:10 <cpressey> cheater3: I see.
22:48:14 <cheater3> pointfree is value-level because it serves as a build up of values, from which other values are constructed, and so on, until you get the final value which is your program
22:48:21 <cpressey> The page on value-level programming makes that clearer.
22:48:50 <cpressey> *wikipedia page.
22:49:01 <cheater3> there are no other pages
22:49:15 <cpressey> http://en.wikipedia.org/wiki/Value-level_programming
22:50:33 <cheater3> i meant, there are no other pages than in wikipedia. ;p
22:51:09 <cpressey> I agree, pointfree is value-level. In that case, I'm not sure what the function-level page is talking about...
22:51:47 <cpressey> And, I'm not familiar with any of the languages listed in http://en.wikipedia.org/wiki/Category:Function-level_languages
22:51:49 <cheater3> http://en.wikipedia.org/wiki/FP_%28programming_language%29
22:51:52 <cheater3> check this out
22:52:01 <cheater3> read it top to bottom
22:52:53 <pikhq> Currying isn't sugar. *Non-monadic functions* are sugar.
22:53:03 <pikhq> ;)
22:53:21 <cpressey> I mean, I've encountered FP before, but I have no idea what is supposed to make it "function-level" as opposed to "value-level"
22:53:37 <pikhq> Also, damned English, overloading "monadic". :P
22:53:49 <cpressey> It certainly seems like you could do "value level programming" quite straightforwardly in it?
22:55:32 <cheater3> cpressey: the 'functionals' in fp
22:55:43 <cpressey> cheater3:OK, I think I'm seeing it now.
22:56:52 <cheater3> remember that formula i typed up, ff are the functionals, while f are the modules (functions defined by FP. you cannot explicitly define other functions.)
22:57:12 -!- Sgeo_ has joined.
22:59:06 <cpressey> It's about being only able to create new functions by having them be returned by (a combination of) existing functions, it would seem?
23:00:08 <cheater3> no
23:00:14 <cheater3> a function cannot process another function
23:00:23 <cheater3> only a functional can process a function and return a function
23:00:28 <cheater3> a function always returns a value
23:00:35 <cheater3> except, you never bind values
23:01:00 <cpressey> Oh. So it's partly about distinguishing functionals *from* functions (which "functional languages" rarely do)?
23:01:12 <cheater3> yes
23:01:22 <cheater3> functional languages have nothing to do with function-oriented languages
23:01:35 <cpressey> Interesting.
23:01:39 <cheater3> well, i dunno if it's about distinguishing in the general, but in particular fp does that
23:01:54 <cheater3> maybe you could come up with a language where functionals are functions.
23:02:01 <cheater3> and it would be function-level too.
23:02:12 <cheater3> so in fact what you are building up is a structure without the constants and without the input arguments here
23:02:41 <pikhq> What, you mean there's languages with types other than functions?
23:02:49 <cpressey> It would seem any sufficiently "functional" language (Scheme, Haskell, whatever) would at least allow you to write functionals as higher-order functions, and permit you to write function-level programs. Though not force you to.
23:03:09 <cpressey> pikhq: You are mistaken. There are no languages, only rewrite systems.
23:03:19 <cpressey> ;)
23:03:21 <cheater3> cpressey: you are mixing abstractions. you could write a DSL in haskell, and it could be function-level, but haskell is not function-level.
23:03:25 <cheater3> i think it is not.
23:03:50 <cheater3> cpressey: you are mistaken, there are no rewrite systems, only self-mutating data.
23:05:40 <cheater3> cpressey: i think it really explains the point if you consider that constants in FP are actually calls to the functional constant:x which transforms its argument to the constant valued function always returning that argument.
23:05:42 <cpressey> cheater3: That doesn't seem to conflict with what I said: Haskell permits you to write in a function-level style. (If you want to define such a subset and technique and call it a DSL, that's perfectly valid.)
23:06:06 <cheater3> cpressey: function-level is about what you cannot do, not about what you can do
23:06:13 -!- kar8nga has quit (Remote closed the connection).
23:06:36 -!- Pthing has quit (Remote closed the connection).
23:07:25 <cpressey> So if I write a program which follows all the rules of function-level programming, but that program is in a language which allows violations of the rules of function-level programming -- is that program "function-level" or not?
23:10:01 <cheater3> following your logic i could say that php runs erlang because it's turing-complete
23:10:25 <MissPiggy> PHP = Erlang
23:10:27 <MissPiggy> problem solved!
23:13:56 <cpressey> Sort of. But I don't think it's a very good comparison. Haskell (just as example) seems to be a superset of the machinery required for FLP, whereas PHP isn't a superset of Erlang.
23:14:39 <cpressey> Specifically, functionals sound like a particular role for higher-order functions, which is why I asked about a distinction being made between them and HOFs.
23:14:42 -!- Sgeo__ has quit (Read error: 110 (Connection timed out)).
23:17:54 <cheater3> that distinction is not the defining thing for FLP
23:18:27 <cpressey> Well, that's as far as I've gotten. If not that, what is?
23:18:28 <cheater3> the defining thing is generation of structure
23:18:57 <cpressey> Can you be more specific?
23:19:21 <cheater3> imagine a typical program in an imperative language but on the right side of = there aren't any values, there's just .
23:20:09 <cpressey> Just function calls?
23:20:10 <cheater3> if(.) { x = . ; y = foo(x); z = y * .; }
23:20:26 <cheater3> and then you fill in the dots with what you want
23:20:37 <cpressey> What can "what I want" be?
23:20:50 <cheater3> flat values, called 'atoms'
23:21:04 <cpressey> Thought you said there weren't any values :)
23:21:23 <cheater3> no
23:21:26 <cheater3> there aren't any
23:21:29 <cheater3> only dots
23:21:45 <cheater3> what i typed in with the dots is the output of an FLP program
23:21:58 <cheater3> what you do with it later happens outside of FLP
23:22:24 <cheater3> that program gets evaluated on a certain set of values you plug in for such 'dots'
23:22:53 -!- jpc has joined.
23:23:10 <cheater3> this has the immediate result of two programs with the same structure but different resources being the same according to FLP
23:24:28 <cpressey> Sorry, I must be thick, since I'm just not getting it.
23:24:56 <cheater3> ok
23:24:56 <cpressey> And I'm afraid I must be off.
23:25:12 <cheater3> it's ok, you don't need to understand, i'm happy that i understand. ;)
23:26:57 -!- augur has quit (Read error: 110 (Connection timed out)).
23:27:03 -!- cpressey has left (?).
23:45:41 -!- FireFly has quit ("Leaving").
23:45:42 -!- BeholdMyGlory has quit (Remote closed the connection).
23:51:41 -!- MissPiggy has quit.
2010-01-22
00:15:16 -!- Gracenotes has quit (Read error: 110 (Connection timed out)).
01:02:25 -!- coppro has joined.
01:21:27 <Gregor> Todo this weekend: Write a JavaScript interpreter
01:26:58 -!- Gracenotes has joined.
01:27:42 <Gregor> Hey, I've got a mouse with a wheel again :P
01:52:35 * Asztal envy
01:52:49 <Asztal> this mouse has a wheel but it does whatever it likes when I scroll it, so I don't scroll it.
01:56:54 -!- cheater2 has joined.
02:04:41 -!- cheater3 has quit (Connection timed out).
02:08:02 -!- oerjan has joined.
02:08:37 -!- Gracenotes has quit (Read error: 104 (Connection reset by peer)).
02:12:21 -!- Asztal has quit (Read error: 110 (Connection timed out)).
02:16:22 <oerjan> <Gregor> Hey, I've got a mouse with a wheel again :P
02:16:30 <oerjan> your cat ate its foot?
02:16:54 * Gregor has smoke coming out of his ears
02:17:12 <oerjan> STOP THINKING SO HARD
02:18:22 <Gregor> I aaaalmost got it, because if my cat ate her foot she would form a wheel, and cats eat mice, but I can't rectify "mouse with a"
02:19:12 <oerjan> your cat ate _the mouse's_ foot?
02:19:16 <oerjan> **
02:19:39 <Gregor> OOOOOOOOOOOOOHHHHHHHHHHH
02:19:51 -!- augur has joined.
02:20:02 <oerjan> + some prosthetics, obviously
02:20:38 <Gregor> Yeah, that I got
02:21:30 <oerjan> good, good
02:29:57 -!- Sgeo has joined.
02:39:54 -!- adam_d has joined.
02:40:13 -!- augur has quit (Read error: 104 (Connection reset by peer)).
02:43:26 -!- augur has joined.
02:46:50 -!- Sgeo_ has quit (Read error: 110 (Connection timed out)).
02:59:08 -!- adam_d_ has joined.
02:59:41 -!- jpc has quit ("I will do anything (almost) for a new router.").
03:02:04 -!- oerjan has quit ("leaving").
03:02:06 -!- jpc has joined.
03:18:23 -!- adam_d has quit (Read error: 110 (Connection timed out)).
03:26:58 -!- MizardX- has joined.
03:38:08 <Sgeo> http://robozzle.com/
03:38:49 <Sgeo> (Warning: Silverlight)
03:39:28 -!- coppro has quit (Remote closed the connection).
03:42:45 -!- MizardX has quit (Read error: 110 (Connection timed out)).
03:43:15 -!- coppro has joined.
03:44:37 <coppro> Sgeo: neat
03:44:50 <Sgeo> :)
03:44:57 * Sgeo found it because of TV Tropes Wiki
03:45:35 <coppro> lies
03:45:40 <coppro> nothing good ever comes of tvtropes
03:46:24 <Sgeo> http://tvtropes.org/pmwiki/pmwiki.php/Main/ProgrammingGame
03:49:46 <coppro> nice
03:50:20 -!- MizardX- has quit (Connection timed out).
03:51:36 * pikhq discovers the FATAL traditional RPG.
03:51:59 <pikhq> It can be summed as follows: Imagine that /b/ made an RPG. Now imagine that that RPG could defecate. *That* is FATAL.
04:00:31 -!- bsmntbombdood has changed nick to averagesizedpeni.
04:04:41 -!- averagesizedpeni has changed nick to bsmntbombdood.
04:15:30 -!- oerjan has joined.
04:16:38 <uorygl> Sgeo, did you just link to a really awesome game?
04:17:08 <Sgeo> uorygl, that's a bit subjective, really
04:17:17 <Sgeo> And at least I have something to do for an hour
04:26:18 <uorygl> Hum, I'm having difficulty getting Silverlight.
04:40:07 -!- coppro has quit (Remote closed the connection).
04:40:43 -!- coppro has joined.
04:48:52 -!- adam_d_ has quit (Read error: 113 (No route to host)).
04:58:20 -!- zeotrope has quit (Read error: 54 (Connection reset by peer)).
05:05:57 -!- augur has quit (Read error: 110 (Connection timed out)).
05:12:00 <oerjan> xkcd :D
05:35:15 <oklopol> Sgeo: i've seen that with subroutines
05:35:16 -!- augur has joined.
05:36:20 <oklopol> oh lol yeah that has them too
05:36:45 -!- oerjan has quit ("rhombus").
05:37:52 <oklopol> okay and tons of other stuff
05:37:57 <oklopol> cool.
05:58:09 <Sgeo> :D
05:58:38 <Sgeo> I think the creator of Robozzle might have been inspired by another game. I think he said it somewhere
05:58:51 -!- aesh_49 has joined.
05:59:38 -!- aesh_49 has left (?).
06:00:17 <oklopol> yeah there was this trivial game where you put a few arrows down and light like a lamp
06:00:47 <Sgeo> Yeah, I've seen it
06:00:58 <Sgeo> I think that's the one that inspired this one
06:01:55 <Sgeo> http://www.youtube.com/watch?v=MmqBVWi_Pc0 [partial puzzle spoilers (how badly can a video spoil, if the code isn't shown?)]
06:04:20 <oklopol> icegibbon (7 months ago) Show Hide +1 Marked as spam Reply Awesome. A game that teaches concepts of Programming, even recursion! Finally
06:04:24 <oklopol> i hate youtube
06:06:36 <oklopol> "recursion" lol
06:06:50 <oklopol> thaat's a fucking goto
06:06:55 <oklopol> *that's
06:08:07 <Sgeo> Actually, it does tend to act more like recursion than a goto
06:08:29 <oklopol> oh right it does
06:08:54 <Sgeo> Suppose in the middle of F1 you put a conditional F1.. there are puzzles that rely on the recursive-like behavior
06:09:08 <oklopol> anyway, i like the idea of having a memory array, and putting a color pattern on it that's that only way to do conditionals
06:09:28 <oklopol> so basically the game with an infinite pattern + like a drop command
06:09:30 <Sgeo> Search for stack in http://robozzle.com/puzzles.aspx
06:09:33 <oklopol> "shit here"
06:09:34 <oklopol> hmm
06:09:41 <oklopol> ah, interesting
06:10:07 <oklopol> have to be at uni in 6 minutes, and have to take the dog out first, so slightly busy atm
06:10:10 <oklopol> but maybe tonight
06:10:22 * Sgeo is going to sleep soon
06:10:24 <oklopol> maybe a few minutes of simpsons first
06:15:24 <Sgeo> http://robozzle.com/forums/thread.aspx?id=1593
06:27:44 -!- adam_d has joined.
06:31:08 <Sgeo> There is a Javascript client: http://robozzle.com/js
06:32:32 <Sgeo> Night all
06:34:14 -!- Sgeo has quit ("Leaving").
06:35:35 -!- FireFly has joined.
06:56:45 -!- tombom has joined.
07:24:05 -!- GreaseMonkey has quit (Client Quit).
07:49:42 -!- tombom has quit ("Leaving").
07:53:38 -!- coppro has quit (Remote closed the connection).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:25:28 -!- jpc has quit ("I will do anything (almost) for a new router.").
08:31:45 -!- nooga_ has quit (Read error: 110 (Connection timed out)).
08:50:51 -!- MigoMipo has joined.
08:59:42 -!- scarf has joined.
09:05:01 -!- nooga has joined.
09:29:56 -!- MigoMipo has quit (Remote closed the connection).
09:58:11 -!- scarf has changed nick to scarf|away.
09:59:53 -!- Pthing has joined.
10:22:41 -!- adam_d has quit (Read error: 113 (No route to host)).
10:51:41 -!- scarf|away has changed nick to scarf.
11:50:24 -!- Pthing has quit (Remote closed the connection).
12:13:29 -!- Pthing has joined.
12:24:48 -!- Sgeo has joined.
12:25:08 <Sgeo> o.O the Robozzle source is freely available (don't know if it's Open Source or not, though)
12:25:13 <Sgeo> http://robozzle.codeplex.com/
12:26:15 * Sgeo plays with Grooveshark, and facepalms at whoever thinks that Salva Me is an Enya song
12:26:41 -!- MizardX has joined.
12:51:02 -!- MissPiggy has joined.
13:02:12 <oklopol> when do these start getting hard?
13:02:33 <oklopol> assuming i agree with the general difficulty ratings
13:03:01 <oklopol> (actually realized there's one after i asked, so probably i could just scroll levels until i find a hard one)
13:10:36 <Sgeo> Besides the campaign tab, there's also an easy to hard tab...
13:11:40 * Sgeo notices that oklopol asked that 7 min ago, so pokes him in case he didn't check IRC
13:18:11 <oklopol> oh lol
13:18:20 <oklopol> yeah but actually these are hard enough already
13:18:33 <oklopol> (although i think this is still an "easy" level)
13:19:04 <oklopol> sofar the only hard ones have been ones where i've needed something i hadn't realized i can do
13:19:20 <oklopol> but in limit your stack, i have no idea what to do yet
13:21:03 -!- asiekierka has joined.
13:21:05 <asiekierka> oh, hi
13:21:18 * Sgeo has only done one puzzle that involved the stack, it was some learn the stack puzzle
13:21:35 <Sgeo> hi asiekierka
13:21:40 <asiekierka> what is the current topic
13:21:46 <asiekierka> so i don't like go all offtop---oh wait... T_T
13:22:03 <asiekierka> as in
13:22:06 <asiekierka> what are you guys talking about
13:22:18 <asiekierka> and madame's
13:22:20 <Sgeo> http://robozzle.com (if you don't have Silverlight, try http://robozzle.com/js )
13:22:30 <Sgeo> Although the latter doesn't have the tutorial, I think
13:22:36 <Sgeo> And is unpretty
13:22:59 <scarf> aargh silverlight
13:23:32 <asiekierka> i want to make a random text generator based on all these markov's and weighting to
13:23:33 <asiekierka> o
13:23:36 <asiekierka> as in
13:23:47 <asiekierka> meh
13:23:49 <asiekierka> too lazy to explain
13:24:07 <asiekierka> o, robozzle?
13:24:10 <asiekierka> i saw a game like it
13:24:11 <asiekierka> 1 year ago
13:24:22 <Sgeo> asiekierka, just a guess, but Light-Bot?
13:24:27 <asiekierka> yes
13:24:28 <asiekierka> exactly
13:24:38 <Sgeo> Robozzle is much more flexible, and is mostly user-created puzzles
13:25:00 <asiekierka> does it have logic gates
13:25:04 <asiekierka> if yes, then i agree
13:25:07 <Sgeo> It has conditionals
13:25:20 <asiekierka> that may work
13:25:31 <asiekierka> someone should pull off a computer in it xD
13:25:40 <asiekierka> or an adder
13:26:39 <Sgeo> http://www.youtube.com/watch?v=MmqBVWi_Pc0 (possibly spoils some puzzles)
13:30:33 -!- MigoMipo has joined.
13:32:08 <fizzie> Er, what's that filled-circle command? ... oh, it paints a square, or something.
13:32:41 <Sgeo> no "or something", it paints the square
13:33:09 <fizzie> Right.
13:33:20 <fizzie> It's not mentioned at http://www.robozzle.com/wiki/Commands.ashx though.
13:34:05 <Sgeo> Well, it was added later on, iirc
13:34:30 <Sgeo> Add a command that allows the robot to repaint tiles (making RoboZZle Turing-complete)
13:34:30 <Sgeo> Update: this extension is now implemented!
13:34:35 <Sgeo> http://www.robozzle.com/wiki/Proposed%20RoboZZle%20Extensions.ashx
13:35:05 <fizzie> Ah.
13:35:57 <MissPiggy> that's pretty cool
13:41:21 <MissPiggy> wait you can do recursion in this??
13:41:46 <oklopol> okay limit your stack is obvious, i guess i just didn't understand the stack well enough
13:42:14 <MissPiggy> ugh!! the editor for this game is so horrible it makes playing it painful
13:43:47 <Sgeo> MissPiggy, the keyboard shortcuts might help
13:44:14 <Sgeo> Also, are you using the Silverlight version or the JS version?
13:44:18 <MissPiggy> js
13:44:20 <asiekierka> uugh, i have to solve what? 40 puzzles?
13:44:56 <Sgeo> To make your own puzzles, yes
13:45:07 <asiekierka> this is not funny.
13:45:16 <asiekierka> i only solved what, 15?
13:45:27 <Sgeo> Try solving the easiest puzzles?
13:45:37 <oklopol> i've solved 32 puzzles today
13:45:40 <fizzie> What's this about 40? Something relevant to the Silverlight version?
13:45:52 <asiekierka> i am
13:45:53 <Sgeo> fizzie, it's how many you need to solve to edit puzzles
13:45:57 <asiekierka> that's how i got 15
13:45:57 <oklopol> but it seems sgeo has too.......
13:46:07 * oklopol smells failure
13:46:11 <Sgeo> I don't know if there's a JS puzzle editor
13:46:20 <Sgeo> oklopol, hm?
13:46:30 <oklopol> Sgeo: have you solved 32 puzzles today?
13:46:40 <Sgeo> Um, I solved way over that
13:46:54 <Sgeo> The board in the Silverlight thing doesn't seem to update properly
13:47:01 <oklopol> well Sgeo is number one on the list
13:47:05 <oklopol> oh
13:47:07 <Sgeo> Try "Full scoreboard"
13:47:23 <oklopol> i was just wondering if it was my score, but i'd clicked on your link and somehow they mistook me for you
13:47:35 <oklopol> because i've solved exactly 32 now
13:48:03 <Sgeo> You know, one of those puzzles really shouldn't count. Some idiot made a trivial puzzle with 1 slot. I think it's hidden from regular view, but it was in RSS
13:48:33 <oklopol> did you start today?
13:48:33 * Sgeo loves how the top players right now are Eso.. what's the right term for us?
13:48:40 <Sgeo> oklopol, I started within the past 24h
13:49:13 <fizzie> This is a bit monotonical. I guess the scoreboard's also visible only in Silverlight-land?
13:49:42 <Sgeo> The Silverlight board is crappy. http://robozzle.com/scoreboard.aspx is better
13:52:57 <scarf> Sgeo: esolangers
13:53:19 <MissPiggy> erlangers
13:53:30 <asiekierka> i love how there's like 20 puzzles with one solution
13:55:13 <asiekierka> 19 so far
13:56:03 <Sgeo> ?
13:56:31 <asiekierka> puzzles
13:56:33 -!- Pthing has quit (Remote closed the connection).
13:56:37 <asiekierka> until the grand 40
13:56:43 <asiekierka> i'm heading
13:56:56 <asiekierka> 23, actually, i have
13:57:37 <oklopol> i guess i have to quit for the day
13:57:42 <Sgeo> oklopol?
13:57:45 <Sgeo> Why?
13:57:52 <oklopol> have to spend time with humans :'(
13:58:34 <MissPiggy> :(
13:59:11 <oklopol> okay, refreshed
13:59:17 <oklopol> seems i could easily catch up with you
13:59:46 <oklopol> well, assuming you're slower than me ofc
13:59:56 <oklopol> 24h is just an upper limit prolly
14:00:57 <asiekierka> 25, time for a break
14:01:03 <MissPiggy> okay I admit it this game is fun
14:10:32 <Sgeo> Apparently Oklopol hit 40
14:11:03 <oklopol> yeah
14:11:17 <oklopol> 41 is trivial, don't solve anything so i can catch you
14:11:20 <oklopol> how much do you have?
14:11:37 <scarf> oklopol: hey, we're humans!
14:12:53 * Sgeo has 43
14:13:22 * Sgeo is trying the Limit Your Stack one
14:14:36 <oklopol> grrr
14:14:43 <Sgeo> Ugh, I give up on that one for now. If only it were facing a different direction
14:14:45 <oklopol> i just finished 42nd
14:15:28 <Sgeo> You and fizzie are both much faster than I am, I think
14:16:10 <fizzie> I did a couple easy ones outside the campaign tab (I just now noticed it's not just the sorting; it's different puzzles) so my 43 might not count.
14:16:23 <oklopol> 43
14:16:37 <oklopol> shit, fizzie is doing these?
14:16:41 <Sgeo> fizzie, what do you mean, "count"
14:16:42 <Sgeo> ?
14:16:50 <oklopol> i really have to go soon :|
14:16:55 * Sgeo hasn't been staying on the campaign
14:16:57 <Sgeo> Just easy ones
14:17:00 <oklopol> fizzie: you've dong exactly 43?
14:17:02 <fizzie> oklopol: The list was linked to just a moment ago; http://robozzle.com/scoreboard.aspx?today=1
14:17:05 <fizzie> oklopol: Yes, I'm a dong.
14:17:15 <oklopol> :D
14:17:17 <oklopol> *done
14:17:33 <oklopol> i've done them in order, since they've all been trivial sofar
14:17:46 <oklopol> okay DON'T DO ANYTHING NOW
14:17:53 <fizzie> Don't worry about me, though; I'm feeling so bored I might even stop here.
14:18:13 <Sgeo> fizzie, skip to some more advanced ones?
14:18:18 <Sgeo> Perhaps some stack stuff?
14:18:53 <oklopol> 44
14:18:55 <fizzie> Yes, I guess I could take a look.
14:19:32 <oklopol> okay i'm #1, time for pizza
14:20:43 <oklopol> although it would be awesome to have another allnight of competing with fizzie
14:20:48 <oklopol> maybe some other time
14:20:54 <oklopol> *allnighter
14:21:08 <fizzie> Maybe; I'll be mostly away this evening too.
14:21:28 <oklopol> yarrr
14:21:29 <oklopol> see ya ->
14:21:32 <Sgeo> Am I allowed to go solve another?
14:21:33 <Sgeo> Bye
14:25:31 <oklopol> yeah now you can solve anything you want
14:25:39 <oklopol> i just wanted to catch you
14:25:49 <oklopol> now it's done, and i'll never have to touch the game again
14:25:49 <FireFly> throw Sgeo;
14:27:14 <Sgeo> oklopol, does "never have to" mean that you won't? :(
14:28:23 <oklopol> i probably will, one of the best games i've seen
14:30:02 * MissPiggy is stuck :p
14:32:28 <Sgeo> MissPiggy, try a different puzzle
14:32:35 -!- BeholdMyGlory has joined.
14:34:55 <Sgeo> Also, stack tutorial: http://robozzle.com/forums/thread.aspx?id=1593
14:35:03 <Sgeo> There are a few good puzzles for practising the stack
14:36:23 -!- oerjan has joined.
14:38:12 <Sgeo> Hi oerjan
14:38:47 <oerjan> g'day
14:40:38 * Sgeo points oerjan to robozzle.com
14:41:49 <fizzie> Yes, the latter ones seem reasonably nontrivial.
14:42:06 <oerjan> curses, i was trying to pretend not to have noticed that
14:42:09 <MissPiggy> I can't do smart reuse
14:42:43 <Sgeo> MissPiggy, it's rather easy. Just figure out what commands you might like to repeat, and put them in F2. Different set of commands, F3
14:42:57 <Sgeo> Then F1 is simply calls to F2 or F3 as needed
14:43:14 <Sgeo> (assuming I know what puzzle you're talking about)
14:44:03 <Sgeo> yeah
14:44:04 <MissPiggy> oh haha wow I convinced myself the solution was more difficult than that somehow
14:44:31 <MissPiggy> I saw 9 spaces but it starts at 0 so there's actually 10...
14:44:34 <MissPiggy> which means that way does work
14:47:49 <MissPiggy> durrr learn to count
14:50:09 <Sgeo> http://robozzle.com/puzzle.aspx?id=1587 looks tricky
14:55:56 <Sgeo> The JS client seems to break for me
14:56:40 <fizzie> http://robozzle.com/puzzle.aspx?id=318 -- in the campaign -- was nice; they start to approach some actual computation there.
14:57:42 * Sgeo isn't sure how he would even get started on that one
14:59:53 <asiekierka> back
15:00:02 <fizzie> Just nest calls of f2 and f3 -- f3 for each red brick, for example -- and have the trailing end of f3 have a single up-arrow; and arrange things that the whole pile returns after a green.
15:03:24 <Sgeo> Awesome. In the puzzle designer, in the solution part, you can press L to get a link that you can give to others
15:03:50 <Sgeo> Without submitting the puzzle
15:05:01 -!- scarf has changed nick to scarf|away.
15:09:36 -!- kar8nga has joined.
15:10:51 <asiekierka> 7 puzzles left
15:10:51 <asiekierka> :P
15:11:26 * Sgeo goes to watch some SG-1
15:11:59 <asiekierka> the most common type of puzzles i found is the 4-3 puzzle
15:12:04 <asiekierka> 4 slots, 3 colors of blocks
15:12:06 <asiekierka> make it work
15:13:02 <Sgeo> It occurs to me that that description could apply to a wide variety of completely different puzzles
15:13:57 <asiekierka> the main rule of the 4-3 puzzles is that
15:14:07 <asiekierka> you have to go straight and assign 2 commands to 2 color types
15:14:20 <asiekierka> OR assign 3 commands to 3 color types (rare-ish)
15:14:27 <asiekierka> and then jump back to itself
15:16:20 <asiekierka> i want to make a game for my cellphone like that
15:18:16 <MissPiggy> now im stuck again
15:18:50 <Sgeo> MissPiggy, what puzzle
15:18:51 <Sgeo> ?
15:18:57 <MissPiggy> turn around
15:19:07 <asiekierka> yay, 38
15:19:14 <asiekierka> two more and i can has editorz
15:19:47 <asiekierka> i want to make "Universal Program" series
15:19:51 <asiekierka> the point is to use ONE program
15:19:56 -!- Asztal has joined.
15:19:56 <asiekierka> and make it work on 3 different puzzles
15:20:08 <asiekierka> as in, not 100% different
15:20:11 <asiekierka> but somehow, yes
15:20:20 -!- cpressey has joined.
15:20:21 <asiekierka> also
15:20:24 <asiekierka> what i like about roboZZle
15:20:32 <asiekierka> is that it doesn't remember half the levels i've already done
15:20:37 <asiekierka> nvm
15:20:42 <asiekierka> i just noticed this is a different puzzle
15:21:04 <Sgeo> Yeah, there are some repeats. They tend to get disliked
15:21:42 <asiekierka> by anyone who got past 40 puzzles, that it
15:21:43 <asiekierka> that is*
15:21:50 <asiekierka> the <40'ers LOVE them
15:22:05 <Sgeo> lol
15:22:47 <Sgeo> You know, it took me a while to realize that Robozzle = Robot + Puzzle
15:23:31 <asiekierka> YES! FORTY
15:23:44 <Sgeo> Congratulations
15:23:48 <asiekierka> yay, edit---...
15:23:54 <asiekierka> this is far below my expectations.
15:23:59 <Sgeo> ?
15:24:00 <asiekierka> time to write a competing game i guess
15:24:03 <asiekierka> i mean
15:24:12 <asiekierka> i thought this editor will have more functions
15:24:18 <MissPiggy> don't see how it is possible
15:24:35 <Sgeo> MissPiggy, I did it early, but forgot how
15:24:55 <Sgeo> asiekierka, what's wrong with the editor?
15:26:09 <asiekierka> Sgeo, no, not the editor
15:26:21 <asiekierka> i just thought the game's slightly more than BF
15:26:26 <asiekierka> while it has about the same number of commands as BF
15:26:58 * Sgeo thinks it would make more sense to compare it to a 2d language. After all, there is 2d memory, after a fasion
15:27:05 <asiekierka> no, i mean
15:27:09 <asiekierka> the number of commands in general
15:27:11 <asiekierka> let's count
15:27:17 <asiekierka> MOVE STRAIGHT, LEFT, RIGHT
15:27:21 <asiekierka> FUNCTION 1, 2, 3, 4, 5
15:27:26 <asiekierka> PAINT TILE RED, GREEN, BLUE
15:27:34 <asiekierka> and three kinds of prefixes
15:27:49 <asiekierka> that's 10 commands if we assume the FUNCTION command as being one command with a param
15:27:52 <asiekierka> told ya
15:27:59 <asiekierka> though yeah
15:28:06 <asiekierka> i think i could make such a game for a different platform
15:28:08 <asiekierka> I.E. the NES
15:30:24 <MissPiggy> I'm a bit bored of this
15:31:03 <MissPiggy> I wonder if there's a way to solve these automatically
15:31:15 <asiekierka> hm
15:31:22 <asiekierka> i want to submit but i'd rather like someone else see it first
15:31:23 <asiekierka> any way to
15:32:02 <Sgeo> asiekierka, go to the solver thing, then press L
15:32:11 <Sgeo> MissPiggy, there is a solver somewhere
15:32:22 <MissPiggy> cool how does it work
15:32:27 <asiekierka> http://robozzle.com/index.aspx#design/aaaaaaaaaayibaaaaaaiiaaaaaaiiagaaayibadaaaaaaadaaaaarBlaaaaaaarBdaaaaaBaaaaaaaBaaaaaaaAaaaaaaajaWoicaa,qerMgeeHqGa
15:32:27 <Sgeo> http://code.google.com/p/robozzlesolver/
15:32:31 <asiekierka> here, someone have a look
15:32:36 <asiekierka> and tell me if it's good enough for a submit
15:32:50 <asiekierka> hmm
15:32:55 <MissPiggy> asiekierka the solution was already coded in!!!
15:33:03 <asiekierka> oh !@#$%
15:33:10 <asiekierka> what now
15:33:36 <MissPiggy> "Small amount of instructions and program length limit make it possible to construct an automatic solver for puzzles based on backtracking"
15:33:38 <MissPiggy> humf
15:33:42 <MissPiggy> that's not very interesting
15:33:45 <asiekierka> http://robozzle.com/index.aspx#design/aaaaaaaaaayibaaaaaaiiaaaaaaiiagaaayibadaaaaaaadaaaaarBlaaaaaaarBdaaaaaBaaaaaaaBaaaaaaaAaaaaaaajaWoicaa,a - try this
15:33:51 <asiekierka> for anyone that hasn't
15:33:55 <asiekierka> as copying a soluton is not fun
15:34:28 <asiekierka> did anyone NOT SEE that other link
15:34:37 <MissPiggy> im http://robozzle.com/scoreboard.aspx?today=1
15:34:39 <MissPiggy> im the lowest
15:34:46 <asiekierka> :D
15:34:51 <asiekierka> you're 33rd
15:34:51 -!- Pthing has joined.
15:34:58 <asiekierka> im not really going past my 40 much
15:35:28 <asiekierka> http://robozzle.com/user.aspx?name=snydej - hey, this guy has some epic puzzles
15:36:16 <asiekierka> sgeo
15:36:27 <Sgeo> asiekierka?
15:36:31 <asiekierka> what
15:36:33 <asiekierka> well
15:36:37 <asiekierka> can you see my puzzle
15:36:40 <asiekierka> or did you peek the solution
15:36:44 <Sgeo> I peeked
15:36:48 <asiekierka> uuugh
15:36:51 <Sgeo> Sorry
15:36:54 <asiekierka> no problem
15:37:10 <asiekierka> wish fizzie was on
15:37:43 <Asztal> They changed the Java installer, it doesn't say anything about experiencing the power of Java any more :(
15:38:27 <MissPiggy> wow that snydej guy is cool
15:38:32 <asiekierka> yes
15:39:33 <asiekierka> guys, remember R.O.B., that idiot nes robot
15:39:38 <asiekierka> well he had something similar to robozzle
15:39:42 <asiekierka> only it converted an actual "robot"
15:39:43 <asiekierka> and was 1D
15:39:44 <MissPiggy> nes robot??
15:39:47 <asiekierka> yes
15:39:50 <asiekierka> that nes weirdo
15:39:55 <asiekierka> with huge glass eyes
15:41:30 <asiekierka> also
15:41:33 <asiekierka> why is the robozzle channel emty
15:41:34 <asiekierka> #robozzle
15:43:16 <Sgeo> I asked exactly that question on the forums
15:43:45 * Sgeo goes to watch some SG-1
15:43:56 <asiekierka> oh no you aren't
15:44:04 <Sgeo> ?
15:44:18 <asiekierka> you know what
15:44:25 <asiekierka> i want to make paper cubes of RoboZZle commands
15:44:35 <asiekierka> as in, all combinations
15:44:40 <MissPiggy> what are paper cubes
15:44:44 <asiekierka> you know
15:44:52 <asiekierka> the cubes that you make with gluing paper all around
15:45:06 <asiekierka> i think that'll be a total of 9*4=36 combinations needed
15:45:10 <asiekierka> for every possible command
15:49:24 <asiekierka> yay, langtozzle
15:50:02 -!- scarf|away has changed nick to scarf.
15:50:24 <Sgeo> langtozzle?
15:51:14 <MissPiggy> im trying to do that tree one from snydej
15:56:06 <asiekierka> langton's ant in robozzle
15:56:07 <asiekierka> easy peasy
15:57:23 <Sgeo> lol:
15:57:24 <Sgeo> "Right now I've seen a puzzle where F1 has 4 slots, F2 has 3 slots, and F3 has only one slot, and the author's solution has a length of 8, which means he needed F3! No wonder almost everybody solved it with a length of 7."
15:58:23 <asiekierka> LOL
15:58:32 <asiekierka> okay
15:58:33 <oklopol> MissPiggy: it's easy to make a puzzle a program can't solve
15:58:56 <MissPiggy> oklopuzzle how do you mean?
15:59:15 <oklopol> well i don't know what the length limit is
15:59:19 <MissPiggy> just don't give enuogh instructions
15:59:25 <oklopol> but even with like 8 i'm sure it's easy
15:59:42 <oklopol> obviously i mean solvable, but not solvable by a program
15:59:45 <oklopol> well see ya ->
15:59:58 <MissPiggy> solvable, but not solvable by a program??
16:00:47 <Sgeo> In theory, all puzzles are brute-forcable
16:00:48 <asiekierka> i wonder if anyone ever does the game of life in robozzle
16:01:24 <asiekierka> i think that is doable though
16:01:43 <asiekierka> or certainly would be if we had anything more than 3 block colors
16:01:46 <asiekierka> let's say 4
16:08:11 <MissPiggy> yay I did tree lol
16:09:24 <Sgeo> MissPiggy, which interface are you using
16:09:25 <Sgeo> ?
16:09:34 <MissPiggy> I ended up using silverlight one because it's better
16:09:54 <Sgeo> Indeed
16:18:12 -!- Pthing has quit (Remote closed the connection).
16:21:23 <MissPiggy> that langtons ant thing is so cool I can't believe I didn't know about
16:21:59 <asiekierka> what
16:22:01 <asiekierka> did you see my vid
16:22:13 <MissPiggy> no
16:22:18 <asiekierka> cuz i uploaded one
16:22:20 <asiekierka> showing it in action
16:22:35 <MissPiggy> show me it?
16:23:50 <asiekierka> k
16:24:01 <asiekierka> http://www.youtube.com/watch?v=VDWmujQ3W_I
16:32:09 <Sgeo> asiekierka, post on the forums?
16:32:45 <asiekierka> maybe
16:32:46 <asiekierka> also
16:32:57 <asiekierka> how do you do stacks as i'm stuck on stack puzzles :(
16:33:12 <asiekierka> nvm
16:33:20 <asiekierka> found you posting it earlier
16:33:51 <oklopol> "MissPiggy: solvable, but not solvable by a program??" <<< yes
16:33:58 <asiekierka> oklopol: bruteforce
16:34:04 <asiekierka> assuming an app allows F1 to F5
16:34:08 <asiekierka> and all color painters
16:34:09 <oklopol> currently, computers aren't better than humans at all things
16:34:12 <asiekierka> you get 4 modifiers
16:34:18 <asiekierka> and 14 commands
16:34:33 <asiekierka> that's 56 command combos per tile
16:34:37 <oklopol> brute force doesn't help
16:34:45 <asiekierka> 2,5668550825308447236314129989887e+87
16:34:51 <asiekierka> yeah, that's the amount of combinations pretty much
16:34:57 <asiekierka> and thats not including empty tiles
16:35:05 <asiekierka> but let's assume the typical situation
16:35:15 <asiekierka> 1 color painter, 3 functions of a length of 20 total
16:35:31 <asiekierka> 7 commands, 4 modifiers
16:35:40 <asiekierka> 28 combinations of a command
16:36:21 <Sgeo> There are no infinite loops in Robozzle.. programs terminate after 1000 steps
16:36:33 <asiekierka> THAT makes 87732524600823436081182539776 combinations
16:36:38 <asiekierka> assuming 1 second for all of them
16:36:42 <asiekierka> we get... nevermind
16:37:19 <asiekierka> assuming 0.2 seconds but knowing we use 4 cores to do 4 combinations at once
16:37:29 <asiekierka> we're slimmed down to 4386626230041171804059126988,8 seconds
16:37:47 <Deewiant> Only 10^10 universe ages
16:38:43 <asiekierka> yes, that's notreally much
16:38:52 <asiekierka> only 141030935893813393906 years
16:39:00 <asiekierka> but we assume we're doing a simple stack puzzle
16:39:07 <asiekierka> we have no paint modifiers
16:39:11 <asiekierka> and only 2 functions for 10 commands
16:39:20 <asiekierka> err no paint colorers
16:39:25 <asiekierka> so we have 5 commands and 4 modifiers
16:39:33 <asiekierka> 10240000000000 combinations
16:40:27 <Sgeo> It occurs to me that not all combinations are productive
16:40:43 <Sgeo> left followed by right in same color, and right followed by left in same color, for instance
16:40:51 <asiekierka> that's optimization
16:40:58 <asiekierka> but
16:41:04 <asiekierka> that doesn't help that much
16:43:16 <asiekierka> im waiting for godwin's law to take effect
16:43:26 <asiekierka> in robozzle
16:44:49 <Sgeo> ..what? In the forums?
16:44:53 <asiekierka> no
16:44:58 <asiekierka> in a puzzle
16:45:02 <asiekierka> you know, a swastika-shaped puzzle
16:45:12 <Sgeo> Oh
16:45:26 * Sgeo can imagine that happening by accident
16:45:45 <Sgeo> I'd imagine that it already has, and no one noticed
16:47:14 <oerjan> that sentence fits _so_ many situations...
16:47:39 <oerjan> `addquote <Sgeo> I'd imagine that it already has, and no one noticed
16:47:41 <HackEgo> 117|<Sgeo> I'd imagine that it already has, and no one noticed
16:47:50 -!- Pthing has joined.
16:48:27 <asiekierka> what console should i implement a robozzle clone on?
16:48:33 <asiekierka> I was thinking DS
16:48:36 <asiekierka> and NES
16:49:12 <asiekierka> which one
16:49:15 <asiekierka> NES is retro and fun
16:49:24 <asiekierka> while DS is touche
16:49:57 <cpressey> Odyssey²
16:51:00 -!- oerjan has quit ("Good night").
16:51:21 <MissPiggy> asiekierka very nice!!!
16:53:23 * Sgeo should probably learn wha Langton's Ant is
16:53:41 <scarf> Sgeo: 2D turing machine, two colours, four states for the four directions
16:54:07 <scarf> it changes the square underneath it from white to black (or vice versa), turns left if it's on a white square or right if it's on a black square, then goes forwards one square
16:55:28 <asiekierka> hm
16:55:30 <asiekierka> i want to make a joke video
16:55:34 <asiekierka> "First-First-Person Tetris"
16:55:40 <asiekierka> basically glue a webcam on my head
16:55:47 <asiekierka> and move it around while playing First-Person tetris
16:56:14 <scarf> why are first-person tetris references cropping up so often nowadays?
16:56:39 <asiekierka> because it's a simple concept
16:56:41 <asiekierka> implemented
16:57:08 <cpressey> asiekierka: Set your video in a post-apocalypse world and call it "Last-Person First-First-Person Tetris".
16:57:17 <asiekierka> LOL
16:57:26 <asiekierka> actually, nevermind, i'll do this now, in 1080p
16:57:35 <asiekierka> also, give me a green screen and i will
16:59:20 <Sgeo> Looks like the bug you mention showed up because someone registered ' ' as a user account. (I think they had to go around the client checks to do that.) I'll fix it.
16:59:22 * Sgeo facepalms
16:59:32 <asiekierka> done
17:03:40 <uorygl> "Universe age" is not a good unit of time. "Universe age as of 1950" is.
17:05:30 <cpressey> But any unit of time that changes as you say it is pretty interesting. And interesting > good :)
17:07:59 <asiekierka> Working on First-Person RoboZZle
17:08:09 <MissPiggy> first person :S
17:08:23 <MissPiggy> wouldn't that be horribly difficult to learn what strategy to use?
17:08:26 <asiekierka> as in
17:08:28 <asiekierka> a video mockup
17:12:02 <asiekierka> so far, 2 seconds done
17:12:36 -!- nooga has quit (Read error: 110 (Connection timed out)).
17:13:06 * Sgeo seems to have turned the channel into RoboZZle addicts
17:25:09 <asiekierka> okay
17:25:11 <asiekierka> techdemo joke done
17:30:18 <Sgeo> upload and linky?
17:30:34 -!- nooga has joined.
17:37:01 -!- nooga has quit ("Lost terminal").
17:39:56 -!- tombom has joined.
17:40:16 <oklopol> fizzie: you bastard, you've been playing :)
17:40:31 <fizzie> oklopol: Sowwwwwy. :/
17:40:56 <fizzie> But I've just done random puzzles here and there, so it doesn't matter!
17:41:10 <fizzie> The ones that have difficulty>3 are more interesting than the early ones.
17:41:25 <fizzie> Well, for some values of "interesting".
17:41:43 <fizzie> I mean, admittedly 346 is just a recursive tree-walk, but at least it's almost like programmering.
17:41:52 <MissPiggy> I did the tree walk
17:41:54 <tombom> wherer i stihs
17:41:54 <MissPiggy> that was fun
17:42:02 <MissPiggy> this robot language is pretty hard to program in though
17:43:51 <tombom> what site
17:44:05 <Sgeo> tombom, http://robozzle.com
17:44:17 <tombom> thanks
17:44:21 <Sgeo> yw
17:45:47 -!- sebbu has joined.
17:45:58 <asiekierka> i will up the techdemo joke soon
17:47:13 -!- adam_d has joined.
17:47:30 <Sgeo> techdemo joke == First-person RoboZZle, right?
17:51:00 <asiekierka> yes
17:51:06 <asiekierka> it's... oh my
17:53:24 <Sgeo> ?
17:54:32 <asiekierka> the techdemo
17:54:32 <asiekierka> really no
17:54:33 -!- kar8nga has quit (Remote closed the connection).
17:54:36 <asiekierka> turns 10 times in a second
17:54:40 <asiekierka> for langton's ant
17:54:58 <asiekierka> also, sgeo
17:55:02 <asiekierka> beat ya by 10
17:55:18 <Sgeo> asiekierka, I haven't been playing with it for an hour or two
18:03:16 -!- sebbu2 has quit (Read error: 110 (Connection timed out)).
18:16:56 <Sgeo> Well, Learning Stack 2 looks interesting
18:16:58 <Sgeo> But tricky
18:17:01 -!- scarf has changed nick to scarf|away.
18:17:51 -!- scarf|away has changed nick to scarf.
18:18:08 <fizzie> I don't think it was much different from Learning Stack no-number.
18:18:12 * Sgeo feels like he needs another function
18:18:53 * MissPiggy still can't do turn around
18:19:06 * Sgeo solved that one, but forgot how
18:19:58 <AnMaster> oh MissPiggy = soupdragon
18:20:04 <AnMaster> right
18:24:19 <MissPiggy> do you use the colors in turn around?
18:25:01 <fizzie> I can spoil Turn around for you if you want.
18:25:05 <MissPiggy> no
18:25:27 <MissPiggy> I should stop asking about it
18:25:41 <fizzie> But no, I didn't have any colors there. It's only blue squares, after all, and no paints.
18:26:03 <MissPiggy> yeah but them being in the palette made me think it was maybe an evil trick
18:28:42 <Sgeo> The only time the conditionals aren't present is in the tutorial
18:29:18 <MissPiggy> ahh that was a nasty one!!
18:29:30 <MissPiggy> I was thinking it must be about recursion but it wasn't
18:29:38 -!- augur has quit (Read error: 110 (Connection timed out)).
18:32:08 <asiekierka> wtf, fizzie is at 72
18:32:13 <asiekierka> i'm only at 54
18:32:16 <FireFly> I did the turn around one
18:32:44 <Sgeo> FireFly, what's your username?
18:32:58 <FireFly> Uh, FireFly I think
18:33:03 <FireFly> Had to resort to the JS version, though
18:33:17 <FireFly> which meant I got bored after a while
18:45:31 <AnMaster> js version of what?
18:45:48 <FireFly> http://robozzle.com/
18:45:50 <FireFly> Of that
18:46:03 <AnMaster> FireFly, is there a plain html version?
18:46:09 <FireFly> Nope
18:46:26 <AnMaster> okay then, what is it about
18:46:30 <FireFly> Would be kinda hard to do that
18:46:35 <FireFly> brb, has to eat
18:46:42 <FireFly> uh
18:46:43 <FireFly> have*
18:46:45 <AnMaster> does one need to login?
18:46:47 <asiekierka> no
18:47:03 -!- kar8nga has joined.
18:47:09 <AnMaster> okay so where is the manual
18:47:12 <Sgeo> If you want to keep track of which puzzles you've solved, and eventually be able to submit your own puzzles, yes
18:47:24 <AnMaster> Sgeo, what are the controls and such?
18:47:26 <Sgeo> AnMaster, in the Silverlight version, there are tutorials
18:47:33 <AnMaster> Sgeo, I don't use that
18:47:36 <Sgeo> http://www.youtube.com/watch?v=MmqBVWi_Pc0
18:47:40 <AnMaster> I'm at most using javascript
18:47:50 <Sgeo> Is a video, you should be able to survive http://robozzle.com/js with that
18:48:12 -!- lieuwe has joined.
18:48:23 <AnMaster> Sgeo, meh. not worth it if they can't put up half a screen worth's of description
18:48:32 <fizzie> AnMaster: There's not that much of commands.
18:48:38 <fizzie> AnMaster: The wiki has the basic ones listed.
18:48:44 <MissPiggy> it's wroth getting silverlight, as much as I hate to admit it
18:48:50 <AnMaster> fizzie, what wiki?
18:48:51 <fizzie> http://www.robozzle.com/wiki/
18:49:05 <fizzie> Painting's not mentioned there, though.
18:49:27 <AnMaster> painting?
18:49:30 <Deewiant> MissPiggy: And on Linux?
18:49:36 <fizzie> Deewiant: Moonlight!
18:49:41 <fizzie> Should've tried it under that, actually.
18:49:59 <lieuwe> hi, i'm thinking about high-level esolangs, and i decided i should try to make one, but i can't really come up with anything :-p any help?
18:49:59 <Deewiant> go-mono.com was down earlier so I assumed it was dead
18:50:01 <MissPiggy> idk
18:50:02 <Deewiant> Now it's back up
18:50:09 <AnMaster> does moonlight work on freebsd on ppc? (please don't ask why I'm on that atm)
18:50:36 <Deewiant> Linux + x86(_64) only
18:50:38 <fizzie> AnMaster: Re painting, you can change the colors of the squares on some levels.
18:50:51 <AnMaster> Deewiant, but isn't mono supposed to be portable
18:51:12 <Deewiant> I don't know anything about mono or moonlight
18:53:46 <cpressey> lieuwe: There's a list of ideas on the esolang wiki, and on my site
18:53:47 <Deewiant> Tree III was fun.
18:54:17 <fizzie> "Moonlight 1.0 available in [FreeBSD] ports"
18:54:23 <fizzie> Of course 1.0 is not exactly new.
18:54:31 <fizzie> And the above was in March 2009.
18:54:58 <cpressey> lieuwe: http://esolangs.org/wiki/List_of_ideas
18:58:57 <Deewiant> Moonlight doesn't seem to work well at all, at least for me + robozzle.
18:59:31 <fizzie> Yes, that is not very surprising.
19:01:28 <asiekierka> I want to make an esolang that works on audio cassettes
19:01:32 <Deewiant> Thank god for javascript, I guess.
19:01:32 <asiekierka> with analogue data
19:04:40 -!- MigoMipo has quit (Read error: 104 (Connection reset by peer)).
19:06:52 <oklopol> star studded path I was the first one that slightly felt like programming
19:07:22 <oklopol> because i actually made a subroutine that means something
19:07:28 <oklopol> "get back on the path"
19:07:32 <MissPiggy> how do I find taht?
19:07:53 * MissPiggy has done 40 levels
19:08:59 <fizzie> oklopol: They get more programmatic at the end; I haven't done these at all systematically.
19:09:24 <fizzie> MissPiggy: You've done 62, according to the scoreboard.
19:09:39 -!- MigoMipo has joined.
19:10:05 <MissPiggy> :S
19:11:00 <lieuwe> cpressey: already searched the one on the wiki, i'll have a look at your site...
19:12:37 <lieuwe> cpressey: wait, whats the link :-p
19:14:28 <Deewiant> catseye.tc
19:15:12 <cpressey> lieuwe: at the bottom of the ideas list on the esowiki
19:15:27 <cpressey> http://catseye.tc/cpressey/louie.html
19:15:32 <cpressey> only four ideas there though
19:15:53 <cpressey> although i have others in my notes
19:15:58 <lieuwe> cpressey: i'll have a look
19:16:12 <cpressey> which i am probably never going to do, and so might show up on that page at some point
19:16:46 <lieuwe> cpressey: mostly low-level ideas...
19:16:49 <cpressey> in other news, in light of what scarf pointed out a few days ago, it's likely Burro is not Turing-complete
19:17:26 <cpressey> lieuwe: yeah, low-level tends to be more popular in the eso world.
19:17:31 -!- adam_d has quit (Read error: 113 (No route to host)).
19:17:32 <lieuwe> cpressey: too bad...
19:18:15 <scarf> it's more, a genuinely new idea is easier to do low- than high- levle
19:18:16 <lieuwe> cpressey: çause i found a nice python lib in which you can easiely create high-level parsers 'n such
19:18:17 <scarf> *level
19:18:30 <scarf> and syntax is the least important part of an esolang
19:18:46 <cpressey> scarf: ooh, them's fightin' words :)
19:19:04 <scarf> cpressey: I wouldn't expect you, of all people, to disagree
19:19:14 <scarf> your esolangs are all about substance over syntax, I rather like them as a result
19:19:50 <cpressey> scarf: well, it's true that languages like Ook! are basically ignorable
19:19:52 <cpressey> but
19:20:26 <cpressey> i would hesitate to say that syntax is always the least important part of a language design.
19:20:38 <lieuwe> cpressey: high level ftw!
19:20:55 <scarf> it's important, but I think the other parts are more important
19:21:12 <scarf> (for instance, burro would be slightly visually nicer if {\} was (\), even if that made it harder to parse)
19:21:43 <lieuwe> on a different note, i'm trying to build a universal-ish esolang compiler in python and was wondering if i could get sum halp with it, especially with implementing new langs...
19:22:15 <scarf> I'm not enitrely sure it's obvious that burro is likely sub-TC, by the way
19:22:38 <cpressey> I think (don't quote me on this) that I think the most important part of an esolang is astonishment. Just playing with syntax isn't very astonishing, except to inexperienced programmers maybe. Playing with semantics is where the bigger impact lies. But -- that doesn't mean that there aren't astonishing things you can do with syntax.
19:23:22 <scarf> cpressey: I have a similar opinion; what makes a language esoteric is that it seems absurd
19:23:29 <scarf> being absurd to a regular programmer is slightly esoteric
19:23:37 <scarf> and being absurd even to a regular esolanger is very esoteric
19:23:58 <cpressey> scarf: well, nor am I, but Burro relies on that "reduce all while loops to one big while loop" transform, but like brainfuck it needs loops to do AND and OR, so I think it falls short.
19:24:20 <cpressey> absurd, yeah, also a good word.
19:24:24 <lieuwe> oh, idea, thinking about an exception-based language, that could be fun...(runs off mumbling something about try-except blocks)
19:24:26 <scarf> can't you nest conditionals?
19:24:36 <cpressey> also useful to keep in mind that, to a non-programming, all programming languages are esoteric :)
19:24:41 <cpressey> *non-programmer
19:24:43 <scarf> as in, instead of if (a && b), do if (a) if (b)
19:25:04 <cpressey> scarf: hm, yes maybe you can. been a while since i looked at it.
19:25:56 * Sgeo dares fizzie and oklopol to do http://robozzle.com/puzzle.aspx?id=102
19:26:27 <scarf> (incidentally, Reversible Brainfuck takes a similar path to Burro, except it uses a reversible sort of loop rather than storing state about which branch was used)
19:26:47 <scarf> [ If the current cell is nonzero, jump forwards to just after the matching ].
19:27:17 <scarf> (that's the opposite to what [ normally does in BF, and means that there's enough info to reverse a loop)
19:27:21 <scarf> (and ] is unchanged)
19:27:44 <oklopol> Sgeo: not there yet.
19:28:33 <asiekierka> http://www.youtube.com/watch?v=YKmkkIBjHlI - nnngh
19:28:40 <asiekierka> the fake first person robozzle techdemo
19:31:00 <Sgeo> asiekierka, post it to the forum?
19:31:35 <asiekierka> not now
19:31:40 <asiekierka> do you think it's any good, btw
19:35:01 <Sgeo> I think so, yes
19:36:35 -!- lieuwe has quit ("Page closed").
19:37:08 <asiekierka> i want to make an esolang based on some old storage medium
19:37:16 <asiekierka> what should i use, though
19:37:44 <scarf> punched cards
19:38:09 <asiekierka> yes
19:38:13 <asiekierka> but i need a reader for these
19:38:20 <asiekierka> cuz i want to code on actual punched cards
19:39:51 <cpressey> asiekierka: you could build one with a couple of lights, photocells, comparators...
19:40:03 <asiekierka> i can't solder
19:40:04 <asiekierka> :P
19:40:06 <asiekierka> also, afk
19:40:06 <cpressey> might need to make your own oversize punch cards or paper tape
19:42:08 <cpressey> scarf: Do you think it would be possible to show that the set of Reversible Brainfuck programs forms a group (under computational equivalence -- like Burro)? because i wasn't thinking of reversibility at all when I designed Burro, and now I'm wondering if the two notions are equivalent (or how close they are if not)
19:42:36 <scarf> cpressey: they're pretty close notions, at least
19:42:52 <scarf> program concatenation is an operation that makes most 1d reversible languages into groups
19:43:18 <scarf> because it associates, and has an inverse if you have a reversible language
19:43:38 <cpressey> indeed, but i can also imagine some reversible programs that aren't groups -- for example, if several programs have the same, non-unique annihilator
19:43:49 <cpressey> reversible languages, i mean
19:43:54 <scarf> that isn't reversible, because then you couldn't reverse the annihilator
19:44:01 <cpressey> hm, i suppose not.
19:44:34 <scarf> wait, what's the inverse of {a\b} in burro?
19:44:53 <cpressey> it's been too long for me to remember :)
19:44:59 <scarf> it doesn't seem to say in the article
19:45:11 <cpressey> I think it alone might be illegal?
19:45:12 <scarf> and it's hard to see that there is one, without being able to retroactively determine which branch it took
19:45:22 <scarf> oh, I see, it alone is illegal
19:45:36 <scarf> but that means you aren't properly creating a group
19:46:01 <scarf> because a(b/c)d has an inverse, but its inverse can't be used as a program in its own right
19:46:31 <scarf> so your composition operator isn't defined for all pairs of set elements
19:46:38 <cpressey> Hm.
19:47:53 <Sgeo> fizzie solved 86 puzzles already?!
19:48:56 -!- asiekierka has quit (Read error: 60 (Operation timed out)).
19:50:29 <cpressey> scarf: Not sure. Is a(b/c)d legal by itself? I'd have to check.
19:50:59 <cpressey> vaguely remember something about (){} needing to balance in order to be syntactically ok
19:51:13 <cpressey> i'll look it up later when i have more time :)
19:51:18 <scarf> I think it is
19:51:21 <scarf> but ok
19:51:27 <scarf> I was massively busy earlier today myself, and now I'm resting
19:51:31 <scarf> a deadline got bumped
19:53:23 <Sgeo> Yay! Did Learning Stack 2!
19:54:58 <oklopol> was that the one where you use the stack in the same way as in every other level? :P
19:55:17 <oklopol> move once after you return
19:55:19 <fizzie> oklopol: At least the same way as in Learning Stack no-number.
19:55:35 <oklopol> at least 10 puzzles have used the exact same idea
19:55:46 <fizzie> Sgeo: To be completely honest, I did a couple of the low-difficulty ones outside the campaign list to keep my name high on the list.
19:56:08 <Sgeo> I'm doing a lot of low-difficulties outside the campaign list
19:56:40 <Sgeo> I saw some forum post suggesting that the campaign list was hand-picked in an effort to stop newbies from getting fed up with poorly designed and repeptitive puzzles
19:56:41 <fizzie> Did have to do some twiddling in Second kind of memory (109); there were so few command slots available there.
19:57:01 <fizzie> The campaign list has had some rather duplicatey entries too, though.
19:57:01 <oklopol> there are levels outside campaign?
19:57:10 <fizzie> oklopol: Select one of the other sort orders.
19:57:34 <oklopol> those are different levels?
19:57:41 <oklopol> i assumed they were different sort orders
19:57:50 <fizzie> Those list all the levels, instead of just the short-ish campaign list.
19:58:12 <fizzie> Rank-1 person in the "most solved" scoreboard has 1274 puzzles solved, so...
19:58:17 <oklopol> :D
19:58:18 <oklopol> yeah
19:58:38 <Sgeo> Also, look how many pages there are in campaign, then choose one of the other orderings
20:00:16 <fizzie> I have done 78 from the campaign list, if my grep is correct.
20:11:18 <Sgeo> Hey, about the paper blocks: Would "if blue paint blue" etc. be included?
20:11:24 <Sgeo> Literally pointless
20:15:06 <fizzie> "Another speed control" was at least a bit of fun.
20:16:00 -!- augur has joined.
20:20:40 -!- kar8nga has quit (Remote closed the connection).
20:30:13 <Sgeo> Anyone in here submit any puzzles?
20:31:20 <Sgeo> Well, anyone planning to?
20:31:29 -!- zzo38 has joined.
20:32:13 <MissPiggy> I can't do anything cooler than the ant
20:32:20 <MissPiggy> langtons ant
20:36:11 <zzo38> It's...
20:37:13 <Sgeo> http://robozzle.com
20:37:49 <Sgeo> Grr. I was once at the top of the 24h scoreboard
20:38:52 <oklopol> fizzie: i hate you :P
20:39:00 <cpressey> Hi zzo38
20:39:17 <oklopol> although i'm more afraid of Deewiant, i hear he's a total gamer
20:39:30 <MissPiggy> hey
20:39:35 <zzo38> If cryptography is outlawed, bayl bhgynjf jvyy unir cevinpl
20:39:36 <Deewiant> Not much of a puzzle gamer
20:39:41 <MissPiggy> I don't understand how someone can play 1274 maps of this game?????
20:40:05 <Sgeo> MissPiggy, presumably the person solved them faster than people put out new ones
20:40:31 * Sgeo does want to see esolanger levels
20:40:58 <Sgeo> So at least I'll have indirectly contributed something by having introduced talented people to the game.
20:41:06 <Sgeo> >.>
20:42:53 <oklopol> can you reach the stars was fun
20:43:22 <fizzie> If cryptography is outlawed, 15XoZhnZ5ct8t9nVhROExQVTvILP59DdJ5Ob8D2yEXo=.
20:43:29 <fizzie> Yes, it was.
20:43:51 <MissPiggy> how do I find that?
20:44:02 <Sgeo> MissPiggy, http://robozzle.com/puzzles.aspx
20:44:34 <fizzie> Number 14, fwiw.
20:44:50 <MissPiggy> wow this looks hard
20:45:54 <zzo38> - "The house is small", I said.
20:45:57 <zzo38> - "Never open the attic", said every child (reciting Egbert's third memorandum).
20:46:01 <zzo38> - "Eat sausages", said a great emperor.
20:51:03 <cpressey> If dada is outlawed, sturgeon.
20:53:33 <zzo38> O, ya....
20:59:26 <MissPiggy> I can't do that
21:00:02 <MissPiggy> there doesn't seem to be any pattern to it
21:03:02 <fizzie> You don't need any special "pattern", just let the colors guide you. (If this is about reach the stars.)
21:03:29 <MissPiggy> the colors don't guide you :
21:03:30 <MissPiggy> :P
21:05:28 <MissPiggy> ho hm maybe I see the pattern
21:05:40 <MissPiggy> you could do it column by column, maybe
21:05:48 <oklopol> maybe
21:05:55 <MissPiggy> :S
21:09:03 -!- jpc has joined.
21:13:13 <cpressey> class AbstractFacadeBuilderFactoryFactorySingletonFactoryBridge
21:15:10 -!- Nanakhiel has joined.
21:16:07 <scarf> cpressey: that's even worse than ORK
21:16:19 <scarf> hmm, there should be an esolang that takes design patterns to an absurd extent
21:16:38 <cpressey> "You had me at 'SingletonFactory'..."
21:17:31 <scarf> a singleton factory could be useful on a heavily overloaded object
21:17:41 <scarf> even if you're only ever going to make one of it
21:20:06 <MissPiggy> "Since this definition is tail-recursive, a loop can be used to replace the recursion." *sigh*
21:23:05 <Sgeo> MissPiggy, oklopol fizzie, igoro is in #robozzle
21:25:01 <pikhq> cpressey: Imma call that "lambda".
21:29:11 <zzo38> Those messages about house is small and so on, it is a special kind of word game, now figure it out
21:29:57 <MissPiggy> zzo38 ;_;
21:30:06 <MissPiggy> I don't even know how to start
21:30:59 <zzo38> OK
21:32:08 <cpressey> Damn, zzo38, I thought you were just being weird. Now I'm all disappointed an' stuff.
21:32:29 <pikhq> struct void_ptr {void_ptr(void*p):p(p){};template<typename T>operator T*() const {return (T*)p;};void *p;}
21:32:30 <pikhq> I MOCK YOU, C++ TYPE SYSTEM.
21:32:33 <zzo38> cpressey: I am just being weird, too. But it is also a special kind of word game.
21:34:45 <zzo38> In page 45 of the 2600 26:4 I can see the address for Michael E. Short, the address for the prison in Texas is half of 2600
21:35:03 <zzo38> (The part before "FM", what does "FM" stand for in Texas prison addresses, anyways?)
21:35:22 <pikhq> Sorry, make that:
21:35:34 <pikhq> struct void_ptr {template <typename T>void_ptr(T*p):p((void*)p){};template<typename T>operator T*() const {return (T*)p;};void *p;}
21:36:35 <AnMaster> Deewiant, did you implement support for that "befunge 98 without the stuff also in befunge 93" mode in ccbi?
21:37:23 <Sgeo> Deewiant, you made a puzzle and didn't tell us?
21:39:51 <zzo38> I think I figured out what FM is for, it is for Farm-to-market road.
21:40:18 -!- MigoMipo has quit ("Konversation terminated!").
21:40:34 -!- Pthing has quit (Read error: 104 (Connection reset by peer)).
21:42:35 -!- clog has joined.
21:42:35 -!- clog has joined.
21:46:26 <Deewiant> AnMaster: No, I didn't, and as I said, I won't.
21:46:35 <Deewiant> Unless there's enormous popular demand for it. :-P
21:46:40 <Deewiant> Sgeo: My network died.
21:46:44 <zzo38> So, it seems now, that at least one of the people writing to 2600 from prison has not actually committed a crime. This is what I thought at first, too. But now I checked.
21:47:34 -!- Fredrik1994 has joined.
21:48:02 <zzo38> Did you know that there are rotary payphones in Japan?
21:49:15 -!- MigoMipo has joined.
21:51:20 <SimonRC> zzo38: you didn't accidentally enter the city's Britaintown did you?
21:51:36 <SimonRC> (kinda like Chinatown)
21:52:35 <zzo38> I was never there, actually. The phone was in 2600. It was found in the lobby of a hotel in rural Suzuka. And the labels on the phone are still in Japanese.
21:53:07 <zzo38> I have seen pictures of other pink rotary payphones in Japan, too.
21:53:23 <pikhq> SimonRC: ... *Britaintown*?
21:55:01 <SimonRC> well, whatever
21:55:46 <SimonRC> I don't think Japan really has the number of poor British immigrants to cause ghettoisation in that form
22:01:44 <zzo38> http://zzo38computer.cjb.net/fortune/fortune.php?browse=24914
22:05:50 <zzo38> Other pictures of payphones include: Phones where the handset (and sometimes also the keypad) have been removed, making the phone unusable (found in United States).
22:06:19 <zzo38> There is also a picture of Chinese payphones found in some part of the United States with no connection to the Chinese at all.
22:07:12 <AnMaster> <zzo38> I think I figured out what FM is for, it is for Farm-to-market road. <-- usually it means frequency modulation though?
22:08:27 <zzo38> Yes, but this is a address in Texas. Addresses in Texas certainly can't be frequency modulation, isn't it??
22:09:07 <AnMaster> <SimonRC> zzo38: you didn't accidentally enter the city's Britaintown did you? <-- that isn't exclusively UK though. At least US has them too iirc. Not sure if Sweden does (don't think so, could be wrong)
22:09:59 <AnMaster> zzo38, why not, there is a "radiator street" in a nearby industrial part of this town
22:11:04 <AnMaster> and near Ericson (they have a factory near here) there is "Telephony road"
22:11:31 <AnMaster> zzo38, and isn't there "Microsoft road" near MS HQ?
22:11:55 <AnMaster> so I fail to see why you couldn't have "FM street" or such
22:12:01 <AnMaster> zzo38, well?
22:12:48 <cpressey> One Microsoft Way
22:13:01 <cpressey> ...no double meaning there.
22:13:22 <AnMaster> cpressey, XD
22:13:41 <AnMaster> cpressey, you put the number in front in US
22:13:42 <AnMaster> ?
22:13:44 <AnMaster> how very strange
22:13:52 <AnMaster> in Swedish we would say the number after
22:13:54 <cpressey> Yep.
22:14:04 <cpressey> 1313 Mockingbird Lane
22:14:04 <AnMaster> but then, US also use PDP-endianness for dates ;P
22:14:17 <AnMaster> Storgatan 1
22:14:36 <cpressey> But apartment number comes after: 1313 Mockingbird Lane, Suite 301.
22:14:43 <AnMaster> which means "[The, but as a suffix in Swedish] Great-streat 1"
22:14:58 <cpressey> I don't suppose you put the suite number in front :0
22:14:59 <AnMaster> very common street name for main streets around here
22:15:07 <AnMaster> cpressey, suite numnber?
22:15:10 <AnMaster> number*?
22:15:16 <AnMaster> I have no idea what that is
22:15:17 <zzo38> I don't know the answer to your questions
22:15:18 <cpressey> Apartment number
22:15:24 <AnMaster> as for apartment number
22:15:25 <AnMaster> hm
22:15:29 <AnMaster> isn't it based on name
22:15:37 <AnMaster> not sure how that works
22:15:44 <cpressey> Apartment = suite, more or less
22:15:45 <AnMaster> this is a detached house
22:16:06 <cpressey> Apparently Korean addresses are really mind-blowing
22:16:12 <AnMaster> zzo38, well it was you who questioned me "Addresses in Texas certainly can't be frequency modulation, isn't it??"
22:16:28 <AnMaster> cpressey, oh? In what way?
22:17:51 <cpressey> Well, they're more strict in the hierarchy, it looks like: you need to include the ward in the city, and the neighbourhood in the ward
22:18:00 <AnMaster> hm
22:18:07 <cpressey> Which isn't as strange as i thought it would be
22:18:10 <AnMaster> cpressey, not just postal code?
22:18:22 <cpressey> Oh they want those too!
22:18:27 <AnMaster> as well?
22:18:27 <AnMaster> heh
22:19:08 <zzo38> In D&D, you have to think ahead not only more than the DM, but also more than yourself. It is necessary to figure out plans for stuff that I don't even know what it is, yet.
22:20:20 <AnMaster> <cpressey> Damn, zzo38, I thought you were just being weird. Now I'm all disappointed an' stuff. <-- still disappointed?
22:20:39 <AnMaster> also when was that word game?
22:21:35 <zzo38> 12:45:54
22:21:50 <AnMaster> zzo38, what timezone?
22:22:07 <zzo38> The timezone that the log software uses.
22:22:17 <AnMaster> meh, I use local logs
22:22:23 <AnMaster> and those are on UTC
22:22:33 <AnMaster> brb will check in a bit
22:28:50 -!- tombom_ has joined.
22:29:51 -!- zzo38 has quit.
22:32:56 -!- Pthing has joined.
22:34:29 -!- MigoMipo has quit ("Konversation terminated!").
22:35:09 * Sgeo works on more puzzles
22:36:28 <SimonRC> regarding "Britaintown", I said that because I can imagine people getting more nostalgic over britain from decades ago than USA from the same time... maybe
22:39:14 <Sgeo> Oh come on, no one's talking about RoboZZle now?
22:47:14 -!- Fredrik1994 has changed nick to FIQ.
22:49:03 -!- tombom has quit (Network is unreachable).
22:56:17 <AnMaster> garlic: the base of all properly composed meals
22:56:41 <AnMaster> Sgeo, it isn't very esoteric is it?
22:57:02 <Sgeo> It's Turing-complete, apparently
22:57:03 -!- scarf has quit (Read error: 60 (Operation timed out)).
22:57:41 <MissPiggy> what's not esoteric?
22:58:29 <Sgeo> MissPiggy, RoboZZle
22:58:36 <Sgeo> According to AnMaster
22:58:41 <MissPiggy> oh well you should play the tree search one
22:58:57 <Sgeo> Me or AnMaster?
22:59:05 * Sgeo is playing RRB, RRG
22:59:29 <MissPiggy> is it like programming in assembly?
22:59:34 <MissPiggy> I wouldn't think so
23:00:26 <Sgeo> Solved it with a spare in F2!
23:03:43 <fizzie> There are often completely unnecessary functions.
23:04:19 <Sgeo> I think that having extra space can make it harder. If you see 4 spaces, you know the solution has to be somewhat simple.
23:04:32 <Sgeo> If you see 10 spaces, you might try more complex, less correct things
23:04:45 <fizzie> Though my RRB, RRG was the whole 9 slots; 8 seems to be the smallest known.
23:06:10 <oklopol> started doing the bigger list in order, how are you supposed to do paint the town red, i solved it, but i can't find a way to use the paint
23:06:30 <Sgeo> AnMaster, join us!
23:07:01 <oklopol> fizzie: in the ones in campaign mode, it's not that frequent
23:07:05 <oklopol> well, or then i just suck
23:08:12 <fizzie> oklopol: Well, I've done things very much out-of-order, maybe I've just hit on the ones with extra spaces. Quite many puzzles at least seem to have multiple-length solutions submitted.
23:08:16 <fizzie> Someone should do some statistics.
23:08:48 <fizzie> In which order are you doing the bigger list?
23:09:34 <oklopol> i'm saying not many have an *extra function*
23:09:52 -!- FIQ has quit ("- nbs-irc 2.39 - www.nbs-irc.net -").
23:10:02 <oklopol> maybe like every third has extra space
23:10:28 <fizzie> oklopol: Oh, right. Well, yes, maybe it's not *that* common; but it's not so ultra-rare either.
23:10:44 <fizzie> Deewiant: Was 1634 yours, or was this some other deewiant?
23:11:22 <fizzie> Because -- speaking of extra functions -- it has unnecessary f3 and f4 there. :p
23:11:26 <Deewiant> Probably mine.
23:11:40 <Deewiant> Oh well, I'm not that smart.
23:12:05 <fizzie> http://www.robozzle.com/puzzle.aspx?id=1634 -- the 7-length solution, or at least mine, does it with just f1 and f2.
23:12:57 <MissPiggy> hey it was a good level, I had to use the whole program space though
23:13:12 <Deewiant> I did 247 in 11 and got annoyed when I saw the wallhugger in the wiki so I did that one
23:14:06 <fizzie> I seem to have done 247 in length 6, but I don't remember what it was like.
23:14:16 <fizzie> I don't suppose the game saves the submitted solutions anywhere accessible?
23:14:40 <Deewiant> Doubtful.
23:14:57 <fizzie> oklopol: <fizzie> In which order are you doing the bigger list?
23:15:15 <MissPiggy> I'm jelous of fizzies high level of skill re this game
23:15:16 <Sgeo> That would be a nice feature
23:15:26 <MissPiggy> fizzie igoro2 (the creator) is in @robozzle
23:15:29 <MissPiggy> #robozle
23:15:33 <MissPiggy> #robozzle
23:16:04 <fizzie> Yes, but it's supposedly a person. I don't think I do well with people.
23:16:25 <MissPiggy> that's just a rumor
23:16:50 <Sgeo> fizzie, make a feature suggestion?
23:16:56 <oklopol> fizzie: i think easiest to hardest :)
23:17:16 <Sgeo> Although I imagine storing each solution would take a lot of space.
23:17:26 <Deewiant> I don't.
23:17:40 <Sgeo> What if reddit decided to come by?
23:17:42 <Deewiant> Given that the average size of a solution is probably around 10-20 bytes.
23:17:54 <Deewiant> And that's without any compression.
23:18:12 <Deewiant> If reddit comes by you might have to store a whole megabyte more than usual.
23:18:14 <fizzie> Storing each submitted solution, maybe, but the shortest one from each registered user -- it already stores the length of that.
23:18:16 <oklopol> Sgeo: if everyone in the world started playing, you might need a few gigs.
23:18:38 <Deewiant> Well yes, if it remembers all your failures that'd be expensive.
23:18:44 <Deewiant> But I doubt anybody cares about them anyway. :-P
23:19:15 <Sgeo> What about multiple shortest solutions for each user?
23:19:33 * Sgeo goes to post a feature suggestion to the forums
23:19:35 <Deewiant> Maybe it could let you store 3 solutions per puzzle.
23:19:39 <Deewiant> Or something like that.
23:20:09 <SimonRC> or give some way for people to put encrypted solutions in forum sigs as text?
23:20:20 <SimonRC> maybe only decryptable if you have solved the same puzzle?
23:21:11 -!- tombom__ has joined.
23:21:27 <Sgeo> SimonRC, join in the fun?
23:21:47 <SimonRC> nah
23:30:59 -!- BeholdMyGlory has quit (Remote closed the connection).
23:32:43 -!- tombom__ has quit (Client Quit).
23:33:22 <oklopol> fucking fizzie
23:33:23 <oklopol> ...
23:33:25 <oklopol> :D
23:33:32 <oklopol> constantly like 2 points ahead of me
23:33:43 <fizzie> oklopol: I was about to say the same to you. Constantly just about to go past!
23:33:55 <oklopol> basically you have like 10 browsers open, and just press run every time you see i've solved something.
23:34:27 <Deewiant> I got frustrated with an almost-solution to 1633 and stopped, so knock yourselves out.
23:35:38 <fizzie> Am going to have to sleep soon, anyway, have to take an early trip to IIKEA tomorrow.
23:37:05 -!- augur has quit (Read error: 60 (Operation timed out)).
23:37:38 <oklopol> FUCK
23:37:49 <oklopol> :D
23:37:51 <oklopol> oh sleep
23:37:52 <oklopol> cool.
23:38:12 <oklopol> i have tons of homework to do
23:38:12 <oklopol> before sleeps
23:38:13 <Sgeo> There are way too many flip-flop-likes
23:38:17 <oklopol> so, good.
23:39:34 <Sgeo> What will we do tomorrow, when we all drop off of the 24h list?
23:39:43 <Sgeo> Will we just keep reloading eachother's profiles?
23:39:50 -!- tombom_ has quit (Read error: 110 (Connection timed out)).
23:39:54 <Deewiant> Do another 100, of course.
23:41:22 <Sgeo> Yet another trivial stack puzzle *sigh*
23:41:56 <MissPiggy> now you're thinking with stacks!
23:42:18 <MissPiggy> I should do some homework :[
23:42:40 <Sgeo> RoboZZle is a thief of time
23:43:32 <cpressey> From my perspective, seems like RoboZZle is crack
23:43:36 <Sgeo> "sgeo: I store all solutions on the server, but I don't expose the ability to get back at them. I'll look into it!"
23:44:40 <Sgeo> cpressey, try it! >:D
23:47:19 <oklopol> fizzie: did you start doing the simple ones or what the fuck is going on?
23:47:41 <fizzie> oklopol: The simple ones. :p
23:48:20 <Deewiant> I started doing the simple ones earlier but I managed to get stuck on some of the sub-1.5 ones for up to 15 minutes occasionally so it didn't help too much
23:48:39 <oklopol> been there
23:49:34 <oklopol> i always forget to look beyond the random details, because i usually assume everything is relevant in a puzzle
23:49:45 <oklopol> otherwise it's not a very professional puzzle
23:50:29 <oklopol> and god i hate the ones with a huge, random level, and just a few slots
23:51:09 <Deewiant> Those were usually easy: just grab the pattern from the first three or so grid cells and it probably works for the whole map :-P
23:52:51 * SimonRC goes to bed
23:53:07 <Sgeo> Deewiant, I came across a puzzle like that
23:53:19 <Deewiant> I've come across six or so
23:53:36 <Sgeo> Maybe for the ones that scare me, I should try seeing if that applies
23:53:51 <Deewiant> Their difficulty ratings will be below 2
23:54:15 <Sgeo> Well, the "easy" ones that scare me
23:54:31 <Sgeo> Such as siika da FuUU
23:54:34 <Sgeo> I think I'll skip it
23:54:42 <Deewiant> All the siika ones were such IIRC
23:55:01 <oklopol> Deewiant: i mostly hate them because they are pointless
23:55:10 <oklopol> so pointless the amount of points in them is negative
23:55:32 <oklopol> kahen kilon siika
23:55:32 <Deewiant> Yeah, they're annoying
23:55:37 <Deewiant> :-P
23:55:48 <oklopol> an example of an annoying meme *and* an annoying level
23:55:50 <oklopol> well set of levels
23:56:19 <Deewiant> Aye
23:56:34 <Sgeo> People seem to like them
23:57:29 <Deewiant> I can't like or dislike anything in the js version :-P
23:58:09 <Sgeo> Deewiant, then use Silverlight or Moonlight
23:58:14 -!- pikhq has quit (Read error: 104 (Connection reset by peer)).
23:58:15 <Deewiant> Moonlight didn't work as I said
23:58:45 <Sgeo> Want to write something on the forums? http://robozzle.com/forums/
23:58:47 <Deewiant> Well, it worked partially, but e.g. logging in didn't happen.
23:58:52 <Deewiant> Not in particular.
23:58:55 <Deewiant> I don't really care.
23:59:11 -!- pikhq has joined.
2010-01-23
00:02:13 <Sgeo> pikhq, become a RoboZZle addict like the rest of us!
00:02:17 -!- pikhq has quit (Read error: 54 (Connection reset by peer)).
00:02:21 <Sgeo> :(
00:03:33 <cpressey> veep veep
00:03:35 -!- cpressey has left (?).
00:04:17 -!- pikhq has joined.
00:05:35 <fizzie> oklopol: Having reached a gross -- in at least two senses -- number of levels, I stop here; feel free to do 145 or whatever to be #1.
00:06:45 <Sgeo> What have I done??
00:07:32 <oklopol> :)
00:10:18 <fizzie> Hey, the game works ~perfectly on the N900 browser.
00:10:22 <fizzie> The JS version, I mean.
00:10:50 <fizzie> There's perhaps a slight lag involved in the code editor part, but actually running a solution seems about as fast as Firefox on the desktop.
00:11:16 <fizzie> That's reasonably nice; I don't think I'll have the motivation to actually spend time with the puzzles much more, but maybe they'd work as a time-waster in a bus or something.
00:11:33 <Sgeo> fizzie, write some puzzles!
00:12:41 <fizzie> Was there a Javascript version of the editor?
00:13:49 <Sgeo> I don't believe so, no
00:13:51 <Sgeo> :(
00:17:14 <fizzie> Aw. How did Deewiant design his level, then?
00:17:27 <Deewiant> I rebooted into Windows.
00:22:07 <oklopol> fizzie: if you're really going to sleep, i'll leave it a draw
00:22:45 <fizzie> How considerate! But yes, I am; away right now, in fact.
00:22:56 <oklopol> good, good
00:23:51 <oklopol> i'll probably have to leave my homework for tomorrow, THANKS SGEO FOR RUINING MY SCHEDULE
00:24:07 <oklopol> hmm. okay you'll probably take that seriously, i take it back.
00:24:14 <oklopol> i love the game
00:24:44 <Deewiant> oklopol: Tomorrow you'll notice fizzie's score again and leave it for the next day again
00:24:51 <oklopol> :D
00:26:06 <oklopol> nah, i'm fine with fizzie being better than me; he has a master's degree.
00:27:34 <Sgeo> oklopol, you really think I take everything seriously?
00:28:16 <oklopol> no. i think you take things personally slightly easier than others. might be wrong (this is not a test!)
00:30:06 * Sgeo has no real way to judge himself as to whether that's the case, and to whether that needs fixing
00:30:39 <MissPiggy> fizzie is a master of robozzle
00:30:43 <oklopol> do like the rest of us and don't care about anything
00:32:11 <oklopol> MissPiggy: not trying to split the credit or anything (i totally am), i'm pretty sure i've played less than him today
00:32:32 <oklopol> *but
00:32:48 <MissPiggy> he has the highest degrees of robozzle skill
00:33:04 <oklopol> noooooo :P
00:33:17 <oklopol> maybe, maybe
00:33:32 <oklopol> he *is* incredibly perfect at everything, not arguing that.
00:34:34 <oklopol> if i catch up with him, will you worship me too?
00:35:18 <MissPiggy> you are at the same place as him
00:35:31 <MissPiggy> also; I was just trying to make puns about 'masters degree'
00:35:40 <oklopol> yeah
00:35:59 <oklopol> his degree is in flash games
00:36:05 <MissPiggy> what/?
00:36:06 <MissPiggy> ???
00:36:11 <oklopol> yeah
00:36:18 <oklopol> they have that in finland
00:36:21 <MissPiggy> that's not a real degree
00:36:22 <MissPiggy> :(
00:36:28 * Sgeo posts a link to Robozzle to reddit
00:36:38 <oklopol> why do you think me, fizzie and Deewiant are so great that robuzzle or whatever it's called
00:36:47 <oklopol> i didn't look at the name yet
00:36:51 <oklopol> okay robozzle
00:37:12 <oklopol> *great at
00:37:21 <oklopol> my sentences are great
00:38:22 <Sgeo> http://www.reddit.com/r/WebGames/comments/at2lp/robozzle_a_fun_and_addicting_robot_programming/
00:39:21 <oklopol> oh dear, did someone just drop me from the list.
00:39:29 <MissPiggy> what list?
00:39:35 <oklopol> the top-something list
00:39:38 <oklopol> you know reddit.
00:42:47 <MissPiggy> :(
00:43:49 -!- augur has joined.
00:54:46 -!- jpc has quit (Read error: 54 (Connection reset by peer)).
01:01:31 -!- FireFly has quit ("Leaving").
01:25:10 -!- adam_d has joined.
01:36:18 -!- oerjan has joined.
01:40:40 -!- MissPiggy has quit.
02:02:28 -!- Asztal has quit (Read error: 110 (Connection timed out)).
02:07:41 -!- jpc has joined.
02:19:16 -!- augur has quit (Read error: 113 (No route to host)).
02:19:21 -!- augur has joined.
02:38:06 -!- Gracenotes has joined.
03:20:28 -!- Pthing has quit (Remote closed the connection).
03:48:50 -!- oerjan has quit ("Later").
03:53:40 -!- clog has joined.
03:53:40 -!- clog has joined.
05:04:31 -!- augur has quit (Read error: 104 (Connection reset by peer)).
05:10:14 -!- augur has joined.
05:18:31 -!- oklopol has quit (Read error: 54 (Connection reset by peer)).
06:03:49 -!- augur has quit (Read error: 113 (No route to host)).
06:09:48 -!- augur has joined.
06:16:43 -!- Slereah has quit (Client Quit).
06:27:29 -!- augur has quit (Read error: 113 (No route to host)).
06:33:07 -!- adam_d_ has joined.
06:36:18 -!- MigoMipo has joined.
06:43:21 -!- adam_d has quit (Nick collision from services.).
06:43:27 -!- adam_d_ has changed nick to adam_d.
06:59:37 -!- MigoMipo has quit (Remote closed the connection).
07:08:41 -!- augur has joined.
07:10:00 -!- asiekierka has joined.
07:10:01 <asiekierka> Hi
07:10:10 <asiekierka> uuurgh, i'm looking for some old recordings on my DVDs
07:34:14 -!- MizardX- has joined.
07:50:36 -!- MizardX has quit (Read error: 110 (Connection timed out)).
07:50:39 -!- MizardX- has changed nick to MizardX.
07:56:41 -!- asiek2 has joined.
07:56:42 -!- asiekierka has quit (Read error: 104 (Connection reset by peer)).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:22:38 -!- puzzlet has quit ("leaving").
08:23:00 -!- puzzlet has joined.
08:33:05 -!- MizardX has quit (Read error: 110 (Connection timed out)).
08:33:17 -!- MizardX has joined.
08:34:13 -!- puzzlet has quit (Client Quit).
08:39:01 -!- GreaseMonkey has joined.
08:39:35 <GreaseMonkey> sgeo it's all your fault for telling everyone about robozzle and now i'm playing it
08:57:18 <asiek2> yes
08:57:20 <asiek2> yes it is, sgeo
08:57:28 <asiek2> but i like you for that
08:57:40 <asiek2> also thanks to you it might appear on the NES soon
08:57:44 <asiek2> YES, the nes does have enough RAM
09:29:30 -!- jpc has quit ("I will do anything (almost) for a new router.").
09:42:40 -!- adam_d has quit ("Leaving").
09:47:48 <GreaseMonkey> i think it might appear on... uhh... pygame?
09:47:52 <GreaseMonkey> anyways, gnight
09:47:52 -!- GreaseMonkey has quit ("HydraIRC -> http://www.hydrairc.org <- Nobody cares enough to cybersquat it").
09:58:49 <fizzie> Heh, oklobbol has dropped from 144 to 142 in the last-24-hours list, whereas I haven't yet; I think I started the thing about 21 hours ago.
10:02:26 -!- asiek2 has quit ("Pong timeout: 180 seconds").
10:21:08 -!- KingOfKarlsruhe has joined.
10:25:36 -!- zeotrope has joined.
10:39:10 -!- tombom has joined.
11:00:42 -!- BeholdMyGlory has joined.
11:16:21 -!- cal153 has quit.
11:17:49 <Wareya> http://esoteric.voxelperfect.net/wiki/Talk:W/
11:26:47 -!- asiekierka has joined.
11:27:42 <AnMaster> argh slow internet.. (I know why, uploading something, but it is still annoying)
11:28:12 <AnMaster> Wareya, looks like spam
11:29:12 <Ilari> At least it is text only and not something worse...
12:03:27 -!- noddd has joined.
12:04:04 -!- MissPiggy has joined.
12:04:05 <noddd> cool, it's the last 24 hours, not just like current 24h period
12:04:13 -!- noddd has changed nick to oklofok.
12:04:38 <MissPiggy> By installing Brainfuck, you will be able to experience the power of Brainfuck???
12:04:53 <oklofok> i believe it's true
12:05:12 <MissPiggy> what that based on
12:05:50 <oklofok> i'm not sure i understand the q
12:08:13 <asiekierka> i want to make an esolang based on RoboZZle
12:08:31 <asiekierka> basically an application consists of a map, the start coords and the robot command
12:08:33 <asiekierka> s
12:08:44 <asiekierka> you will be able to set any block on the map to any ASCII char
12:08:46 <asiekierka> and output any of them
12:08:49 <asiekierka> or take input
12:09:32 <oklofok> remember, if you add commands that modify the map non-locally, i will be very angry
12:09:45 <asiekierka> no, you can only modify the spot you're on
12:09:46 <oklofok> hmm
12:09:53 <asiekierka> but you have infinite functions
12:09:59 <oklofok> yeah good, was wondering if you were describing that
12:10:01 <oklofok> what do you mean?
12:10:08 <oklofok> infinite length for programs?
12:10:09 <asiekierka> as in
12:10:10 <asiekierka> both
12:10:12 <asiekierka> there's no F1...F5
12:10:17 <asiekierka> and there's no max length of 10 per function
12:10:20 <oklofok> right.
12:10:22 <asiekierka> there's F1...FF
12:10:27 <asiekierka> and the max length is nonexistant
12:10:29 <oklofok> that's fine.
12:10:29 <asiekierka> yes, 16 functions
12:12:45 <asiekierka> i was thinking of adding local jumps
12:12:46 <asiekierka> as in
12:12:56 <asiekierka> J-1 would jump 1 command before
12:13:02 <asiekierka> J+10 would jump 10 commands after
12:13:13 <asiekierka> and F1+10 would jump to the 11th command in function 1
12:13:31 <oklofok> so jumps in functions, not on map?
12:15:42 <asiekierka> yes
12:15:45 <asiekierka> on the map
12:15:47 <asiekierka> you can only go forward
12:15:48 <asiekierka> left
12:15:50 <asiekierka> or right
12:15:59 -!- kar8nga has joined.
12:17:46 -!- Slereah has joined.
12:35:53 -!- MizardX has quit (Read error: 104 (Connection reset by peer)).
12:36:36 <Sgeo> I think Reddit might have marked my post as spam
12:37:00 <Sgeo> I don't see it when looking at http://www.reddit.com/r/WebGames/new/?sort=new in incognito mode
12:41:09 * Sgeo asks a moderator
12:43:59 <asiekierka> actually, i'll make a game based on RoboZZle and other thing
12:44:09 <asiekierka> "The Overly Complicated Robotic Programmer"
12:44:21 <asiekierka> something like a combination of GolfScript, Befunge, RoboZZle and Brainf**k
12:44:26 <asiekierka> and 6502 assembler
12:49:14 <MissPiggy> the challenge of robozzle is to translate the higher level idea into this terrible low level code?
12:51:41 -!- MigoMipo has joined.
12:52:15 -!- tombom has quit ("Leaving").
12:52:30 <asiekierka> no
12:52:35 <asiekierka> it'd be like
12:52:39 <asiekierka> not only you have far more space
12:52:48 <asiekierka> you also get (as an extra) 7 colors of spaces
12:52:52 <asiekierka> actually nah
12:52:55 <asiekierka> it'd just be a roboclone
12:53:07 <asiekierka> Or i could combine Robozzle with Boulder Dash
12:53:08 <asiekierka> Rockfozzle
12:53:12 <asiekierka> that would be fun
12:53:32 <asiekierka> there'd be colored dirt
12:53:46 <asiekierka> when walked through the dirt turns into an empty of that color
12:54:01 <asiekierka> it also detects if there's a rock in front of you
12:59:05 <asiekierka> basically
12:59:14 <asiekierka> there'd be an extra conditional
12:59:22 <asiekierka> "ROCK? if yes, jump to function whatthe!@$"
13:03:27 <asiekierka> is it a good idea
13:07:26 -!- kar8nga has quit (Remote closed the connection).
13:20:33 -!- FireFly has joined.
13:33:02 -!- Nanakhiel has quit (Read error: 110 (Connection timed out)).
14:05:54 -!- Pthing has joined.
14:11:00 <Ilari> Hmm... Is there "efficient" way to construct one-to-one mapping between elements of regular language and Z_n or Z?
14:18:06 -!- rodgort has joined.
14:20:46 -!- rodgort has quit (Client Quit).
14:21:27 -!- rodgort has joined.
14:32:06 -!- Sgeo_ has joined.
14:35:14 -!- rodgort` has quit (Read error: 110 (Connection timed out)).
14:35:16 <oklofok> like, a computable function that, given a string, tells its number, and the inverse?
14:40:58 -!- FireFly has quit ("Leaving").
14:41:22 -!- FireFly has joined.
14:47:21 <Ilari> Yes, and more efficient than just enumerating the strings in order...
14:49:21 <MissPiggy> oh hm I was thinking about multiplying primes together for that, but going backwards would mean factoring
14:49:48 <MissPiggy> thing is, you'd know the number factors into high-ish powers of small primes
14:50:09 -!- Sgeo has quit (Read error: 110 (Connection timed out)).
14:50:31 <Ilari> For even contex-sensitive language, doing the functions based on pure enumeration in order would be possible, but would have horrid complexity.
14:51:48 <oklofok> yes, exponential obviously, if the language only generates subexponential amounts of strings w.r.t. length
14:52:57 <oklofok> oh actually even more, because it's not enough to enumerate, you need to be able to actually evaluate the functions at some point :)
15:05:34 <Sgeo_> http://yudkowsky.net/singularity/aibox
15:06:48 -!- Pthing has quit (Remote closed the connection).
15:12:20 <Ilari> Does the following encoding work: Write the regular language as minimum DFA. Assign integers 0, 1, 2, ... for each valid symbol from each state (+ end here if state accepts), so that 0 is always on shortest path to accepting state or end here. Then write number as variable-radix with least-signficant number being for starting state.
15:16:09 -!- Asztal has joined.
15:17:02 <Ilari> Nope, doesn't work.
15:20:33 <Ilari> Consider DFA that accepts even number of characters with alphabet {'A','B'}. The first state is starting, accepting and and has three "exits". The second has two exits. 4 decodes to "AB", but 3 decodes to "" and 0 too decodes to "". So that doesn't work.
15:29:28 <Ilari> What if on decoding, each time accepting vertex is hit with nonzero quotent, the quotent gets decremented by 1 before continuing and only symbols are exits for even accepting states (if its 0, string ends).
15:31:34 <oklofok> quotient = language that gets us to accepting state, right?
15:32:07 <oklofok> yeah okay i'm sure it is
15:32:25 <oklofok> err
15:32:37 <oklofok> well clearly not from what you said
15:32:40 <oklofok> what do you mean?
15:33:53 <Ilari> Quotent gets its name from the fact that it would get divided after each character...
15:34:08 <MissPiggy> man that Eliezer guy is really scary
15:34:29 <MissPiggy> he's the kind of guy you feel like he could crush you by just imagining it
15:34:57 <oklofok> hmm, what if we just have a regular language, and we just recursively go through it, every time both branches are infinite, we set "next bit = 1" to one branch, "next bit = 0" to the other, if one is finite, we just give it just enough numbers, and so on
15:35:07 <oklofok> infiniteness can be checked efficiently
15:35:22 <oklofok> err
15:35:38 <oklofok> i really didn't think that through, just a gut-feeling
15:35:45 <oklofok> also
15:35:50 <oklofok> i meant "regular expression"
15:35:51 <oklofok> :)
15:36:11 <oklofok> well
15:36:20 <oklofok> regexps can't exactly be made unambiguous can they?
15:36:30 <SimonRC> MissPiggy: which Eleizer?
15:36:44 <MissPiggy> (a*)* can parse aaaaaaa in gazillion different derivations
15:36:53 <MissPiggy> SimonRC Yudkowsky
15:36:59 <SimonRC> ok
15:37:09 <SimonRC> I don't find that
15:37:10 <MissPiggy> just reading what Sgeo linked about the AI box
15:37:21 <MissPiggy> there are other Elizers??
15:37:27 <oklofok> for A + B, you'd check if both are infinite, if so, you give the numbers ...0 to A (bijection by induction), and the numbers ...0 to B, if they are both finite, you just give like |A| numbers to A branch, and you add |A| to whatever B gives you
15:37:33 <SimonRC> MissPiggy: well yeah
15:38:15 <oklofok> MissPiggy: yeah but can we make them unambiguous, that was the question
15:38:26 <oklofok> well, for A + B, you can just check the intersection
15:38:32 <MissPiggy> I think I read denesting the stars in undecidible
15:38:35 <oklofok> for AB, just as easy
15:38:37 <oklofok> yeah
15:38:48 <MissPiggy> but you can still make it unambiguous somehow?
15:40:16 <Ilari> Of course, one would have to have ordered alphabet to make the encoding uniquely determined.
15:40:30 -!- kar8nga has joined.
15:44:10 <oklofok> MissPiggy: no i don't think you can; i don't know if that directly implies you can't, either
15:44:26 <SimonRC> he is, after all, named after a prophet
15:45:02 <SimonRC> also, you can see that there can't be a *good* reason to let the AI out, or E.Y. would have convinced himself with that argument
15:45:49 * Sgeo_ wishes the experiments weren't secret
15:46:07 * Sgeo_ wants to know how the AI did it
15:46:35 <MissPiggy> maybe he says, if you let me out I will give you 20 dollars instead of 10
15:46:57 <SimonRC> um, see the protocol
15:47:11 <SimonRC> (to both of you)
15:48:23 <Sgeo_> Wishing the protocol didn't say what it said means I need to read the protocol?
15:49:39 <SimonRC> ah, ok
15:49:41 <SimonRC> oops
15:50:41 <SimonRC> um, ww
15:50:49 <SimonRC> no, wait, *that* was ww
15:50:51 <SimonRC> argh
15:50:52 * SimonRC has breakfast
15:52:26 <Ilari> Consider the language given by 'A{2}|BA*'. Minimal DFA has 4 states. Pick 0 for A and 1 for B for first state. 0 => "AA", 1 => "B", 2 => invalid exit. 3 => "BA". So it doesn't work.
15:58:02 <MissPiggy> what's ww?
16:03:44 <Ilari> Hmm... Given DFA, number of strings that start in given state is probably computable. If accepting state is unreachable, its 0, if cycle and accepting state is reachable, its infinite, otherwise its finite...
16:04:05 * Sgeo_ is departing Season 7 of SG-1
16:08:14 -!- KingOfKarlsruhe has quit (Remote closed the connection).
16:08:40 <Ilari> Another decoding algorithm attempt: On each state encountered, check if quotent is less than number of strings starting with symbol that takes to state with finite set of accepted postfixes (+1 for accepting states). If its less, pick that string. If its more, substract the number from quotent and pick exit (dividing quotent by number of exits to states with infinite number of postfixes).
16:10:14 <Ilari> That way: 'A{2}|BA*' would give 0 => AA, 1 => BA, 2 => BAA, 3 => BAAA, ...
16:10:32 -!- BeholdMyGlory has quit (Read error: 104 (Connection reset by peer)).
16:12:42 <Ilari> Oops. 1 => B, 2 => BA, 3 => BAA...
16:14:52 <Ilari> The postfix count is efficently computable by first doing topological sort and then using dynamic programming.
16:15:38 <MissPiggy> "The key idea is that if you can improve intelligence even a little, the process accelerates. It’s a tipping point. Like trying to balance a pen on one end – as soon as it tilts even a little, it quickly falls the rest of the way."
16:15:51 <MissPiggy> why hasn't it happened already then?
16:16:20 <mycroftiv> it did, several thousand years ago
16:16:34 <MissPiggy> okay
16:16:38 <mycroftiv> written language :)
16:17:03 <MissPiggy> hmm
16:17:03 <MissPiggy> not spoken?
16:17:43 <mycroftiv> well, in terms of the kind of major transformative changes done by civilization, you can argue that larger scale and more persistent information transmission was needed than oral culture allows
16:18:34 <mycroftiv> im honestly not even vaguely qualified to comment on the topic of how written language influenced the development of civilization, I was just trying to make the claim that everything talked about in the 'singularity' concept actually already happened, more or less
16:19:04 <MissPiggy> I see
16:19:54 <mycroftiv> in what I believe to be the canonical contemporary statement, defining the singularity as a point at which future events become unpredictable from past events, so far as I know that condition has *always* applied to historical prognostication
16:21:08 <mycroftiv> and I dont think anyone really believes the old-old version of singularity theory where the mass-energy manipulation capacity of the species was going to suddenly reach cosmological scale within a very short time
16:22:07 <mycroftiv> that was the version I was introduced to a long time ago, based on charting energy manipulation of thes species and a huge ramp up starting in the 19th century with another huge leap to atomic weapons, and then extrapolating to galaxy-rebuilding within a few short decades
16:22:50 <mycroftiv> nowadays I tend to put all this together in my mind under the label "curve-fitting is dangerous and tricky"
16:23:12 <Sgeo_> Well, I still want to upload my mind to a computer
16:23:46 <mycroftiv> I think you can, more or less - just create a lot of stuff via the action of your mind and store it on the computer
16:24:12 <mycroftiv> im a bit of a lunatic, but I happen to think for instance that the souls of artists are basically 'uploaded' in their creative works - when i play a beethoven sonata on the piano, i feel that i directly experience beethoven's literal consciousness
16:24:28 <mycroftiv> and that his cognitive essence, albeit in a 'frozen' state that cant interact with the external world, still persists
16:25:23 <mycroftiv> in fact, playing classical music on the piano often makes me feel that my brain has been literally taken over, and my consciousness has been temporarily overwritten by executing the source code of the music
16:25:49 <Ilari> Then there is related concept what I call "technological escalation". Reliance upon technology building upon reliance upon technology. If it continues unchecked long enough, the culture in question will likely rip itself apart.
16:26:07 <mycroftiv> which brings me to being almost on-topic - has anyone ever written a programming language expressed in musical notation? would be basically trivial
16:26:37 <mycroftiv> i mean, you could arbitrarily convert brainfuck to musical notation and back with almost no hassle
16:28:09 <mycroftiv> it would be interesting though to try to do something where the syntactic rules of the language enforced musical harmony
16:28:36 <oklofok> yes
16:28:37 <oklofok> there is
16:28:47 <oklofok> forte
16:29:06 <oklofok> err no not forte
16:29:15 <oklofok> i wonder where i got that idea... ;)
16:29:52 <oklofok> fugue
16:30:17 -!- MizardX has joined.
16:31:14 <mycroftiv> very cool - although this is a programming language for creating music, it isnt expressed itself within notation, is it? or is the mapping so strict that a fugue program is equivalent to its representation in sheet music?
16:32:16 <oklofok> It shares semantics with its sister language, Prelude, but uses music as source code.
16:32:31 <oklofok> i think the sheet is actually the code
16:33:27 <oklofok> now what if there was a language in which every sheet of music had the semantics of playing the song, wouldn't that be just sweet!
16:39:45 <Gregor> ... I believe that language is called "sheet music"
16:41:06 <Gregor> And the interpreter is called "a musician"
16:49:31 <pikhq> What if it's a different song than what's on the sheet music?
16:49:32 <pikhq> :P
16:54:52 <Sgeo_> The way oklofok phrased it, it seems that each sheet represents the full song. I don't think sheet music can do that with multiple-sheet music
17:00:00 <oklofok> Gregor: wow that exists?
17:00:06 <oklofok> people are so fucked up
17:03:09 -!- Azstal has joined.
17:04:53 -!- kar8nga has quit (Remote closed the connection).
17:16:26 <MissPiggy> are everyone on lesswrong atheists?
17:17:44 <MissPiggy> "Religion is the trial case we can all imagine. (Readers born to atheist parents have missed out on a fundamental life trial, and must make do with the poor substitute of thinking of their religious friends.)"
17:18:48 -!- Asztal has quit (Read error: 110 (Connection timed out)).
17:19:20 -!- Pthing has joined.
17:27:02 -!- MigoMipo has quit (Remote closed the connection).
17:29:26 <MissPiggy> what does it mean 'Eliezer-level rationalist'?
17:31:13 -!- MigoMipo has joined.
17:37:31 <Sgeo_> asiekierka, is green really supposed to have anything to do with left, or is that a red herring?
17:37:42 <asiekierka> what
17:37:47 <asiekierka> you're doing the untrivial triviality?
17:38:03 <asiekierka> the untrivial trivialities*
17:38:11 <Sgeo_> yes
17:38:13 <asiekierka> if so, then that's up to you to find out
17:38:13 <Sgeo_> Well, did it
17:38:22 <asiekierka> how? :D
17:38:44 <Sgeo_> By skipping a green and going right
17:38:50 <Sgeo_> (on green)
17:38:55 <asiekierka> :O
17:39:04 <asiekierka> wait
17:39:05 <asiekierka> you mean
17:39:09 <asiekierka> you didn't use a stack? :O
17:39:32 <Sgeo_> Stack's only needed if you actually pay attention to the line about "left"
17:39:47 <asiekierka> oh
17:39:49 <asiekierka> didn't notice that
17:40:02 <asiekierka> so yeah, the title is correct
17:40:19 -!- BeholdMyGlory has joined.
17:40:29 <Sgeo_> A few stars in select locations would fix that
17:41:01 <asiekierka> ok, i'll put them
17:41:03 <Sgeo_> Or would it?
17:41:32 <Sgeo_> I mean, you'd have to have some in that loop thing if you don't want them just continuing right on green
17:42:32 <asiekierka> i'll put them in the locations i can
17:42:37 <asiekierka> without spoiling the correct way
17:45:03 <Sgeo_> oklofok's currently in the 24h lead
17:45:42 <Sgeo_> Actually, oklofok's solved more total than fizzie o.O
17:45:45 <asiekierka> 132
17:45:48 <asiekierka> oh my
17:46:12 <asiekierka> http://robozzle.com/puzzle.aspx?id=1640 - fixed
17:47:47 -!- kar8nga has joined.
17:49:12 * Sgeo_ will try it a bit later
17:50:19 <Sgeo_> You know, there being a chatroom I can talk about RoboZZle in makes it much more fun for me...
17:51:23 <oklofok> and i would love it more if i didn't suck at it
17:51:54 <Sgeo_> oklofok is obviously delusional.
17:52:03 <Sgeo_> Thinking he's bad at it
17:52:19 <oklofok> i think i've done like one that's been rated near 4
17:52:54 -!- BeholdMyGlory has quit (Read error: 60 (Operation timed out)).
17:52:58 <Sgeo_> I can barely do ones that are rated 2.25
17:53:00 <oklofok> haven't really tried many hard ones, but i couldn't do the last one in the campaign, idea is trivial, i just can't make it work.
17:54:09 * MissPiggy is reading less wrong and worrying about whether I should be reading it or not
17:54:26 <Sgeo_> What would be wrong with reading it?
17:54:40 <oklofok> should probably take it as a template, and first implementing a working thing that just goes over the size limit
17:55:10 <MissPiggy> it just seems like a waste of time, even though it's nice to read stuff and nod your head, if you already agree with it all it's sort of pointless?
17:55:20 <MissPiggy> kind of like blogs in general
17:56:33 <oklofok> maybe you should play robozzle
17:56:50 <MissPiggy> I'm looking at asiekierkas puzzle, bemused
17:57:36 <Sgeo_> Which version?
17:58:22 <Gregor> SafeAuto seems to advertise exclusively to people who are driving illegally without insurance.
17:58:51 <Sgeo_> SG-1 time
17:59:31 <pikhq> Gregor: "Brilliant".
18:00:14 <Gregor> They advertise that you'll save because they'll give you the state minimum coverage.
18:00:24 <Gregor> SafeAuto: Insurance for the irresponsible!
18:00:30 -!- zeotrope has quit ("Lost terminal").
18:01:23 <MissPiggy> to damn hard
18:01:24 -!- BeholdMyGlory has joined.
18:02:44 <Sgeo_> MissPiggy, the un-fixed version shouldn't be
18:03:02 <MissPiggy> how can there be two greens in a row
18:03:14 <MissPiggy> you can't detect that because the robot only sees what it is standing on
18:06:22 <Sgeo_> Switch state upon encountering one
18:06:32 <Sgeo_> So that you start out in F1, but switch to F2
18:13:08 <SimonRC> Sgeo_: SG-1? where?
18:14:24 <Sgeo_> SimonRC, on Hulu
18:15:40 <SimonRC> ok
18:16:23 <MissPiggy> that doesn't work Sgea
18:16:25 <MissPiggy> Sgeo*
18:18:46 <Sgeo_> MissPiggy, how not?
18:19:09 <MissPiggy> imagine you are on a blue path and want to ignore green-green, but turn left on green
18:19:14 <MissPiggy> that's impossible in robozzle
18:19:26 <MissPiggy> you have to code in something else, like turn right on the 3rd green
18:19:33 <MissPiggy> (s/right/left/)
18:20:53 <Sgeo_> Or ignore just the first green it ever comes across
18:22:43 <Sgeo_> MissPiggy, remember, this is a broken version. Why should the description have anything to do with the puzzle?
18:25:24 -!- BeholdMyGlory has quit (Read error: 110 (Connection timed out)).
18:28:35 <MissPiggy> what
18:29:47 <MissPiggy> it says [fixed]
18:32:27 <asiekierka> oh
18:32:35 <asiekierka> the [fixed] one has more stars
18:32:38 <asiekierka> therefore the solution is not so
18:35:30 <MissPiggy> not so???
18:35:33 <MissPiggy> I don't understand anyone here
18:35:59 <MissPiggy> is it unsolvable?
18:40:33 <asiekierka> the [fixed] one?
18:40:36 <asiekierka> hint: it uses stacks
18:40:39 <asiekierka> if you can't do stacks, you fail
18:41:13 <MissPiggy> what's going on with this http://wiki.lesswrong.com/wiki/Yudkowsky%27s_coming_of_age
18:41:25 <MissPiggy> oh nevermind, I get it
18:41:38 <MissPiggy> I was expecting the posts to be from 2000-2003, but they are from 2008 because it's just talking about 2000-2003
18:46:26 -!- jpc has joined.
18:48:38 -!- oerjan has joined.
19:06:33 <oerjan> <MissPiggy> it just seems like a waste of time, even though it's nice to read stuff and nod your head, if you already agree with it all it's sort of pointless?
19:07:03 <oerjan> take it to the meta-level: the fact that you agree with all a group says should itself be a warning signal that you are _not_ rational.
19:07:08 * oerjan cackles evilly
19:07:28 <MissPiggy> I don't know how that is meta-level
19:08:03 <oerjan> because you are then thinking about _why_ you agree with what the blog says
19:08:24 <MissPiggy> because it's all obvious :[
19:09:07 <MissPiggy> the cartoon loeb thing was cool, I didnt' realize he wrote it
19:09:12 <oerjan> the thing is, less wrong is clearly a cult of "rationality". even if they are right.
19:09:30 <MissPiggy> it's not just a blog?
19:09:44 <oerjan> otoh they've probably discussed that as well
19:09:51 <MissPiggy> hehe
19:09:52 <oerjan> every blog can develop a cult
19:10:10 <Gregor> Is that a challenge?
19:10:24 <oerjan> :D
19:11:09 <oerjan> i think before accepting the challenge, i'd at least add the qualifier "that many people read"
19:11:29 <oerjan> s/accepting/making/
19:12:33 <oerjan> also, i just realized i'm saying this because it's obvious, not because i have any actual evidence
19:17:21 -!- asiekierka has quit (Read error: 110 (Connection timed out)).
19:27:05 -!- oerjan has quit ("Later").
19:27:42 <MissPiggy> ughf
19:30:39 <MissPiggy> "Once upon a time it seemed to me that I ought to be able to win at the AI-Box Experiment; and it seemed like a very doubtful and hubristic thought; so I tested it. Then later it seemed to me that I might be able to win even with large sums of money at stake, and I tested that, but I only won 1 time out of 3. So that was the limit of my ability at that time, and it was not necessary to argue myself upward or downward, because I could just test it.
19:45:23 -!- zeotrope has joined.
19:48:30 <oklofok> lesswrong sort of treats the reader as an idiot.
19:50:41 * mycroftiv googles "lesswrong", follows the link, and finds bizarre cryonics related material
19:54:13 <MissPiggy> oklofok really??
19:54:29 <MissPiggy> I guess that's why I like it
19:56:45 <oklofok> i get a sort of "why don't people think about this stuff?!?!" feeling, and it's annoying because it's really simple stuff
19:57:01 <oklofok> i mean, i get the feeling the writer is saying that
19:57:10 <MissPiggy> ah I think I was getting that too
19:57:15 <oklofok> maybe it's just because it sounds smart, dunno
19:57:19 <oklofok> ;)
19:58:18 <oklofok> anyway most of the posts seem to be spot on, although you could phrase them more concisely
19:59:09 <oklofok> i guess that's the real reason why i feel i'm being treated as an idiot
19:59:50 <oklofok> i read a few paragraphs and i'm like "yeah i agree people tend to argue about words instead of actual meaning", and then there's like three pages of explaining and examples and blah
20:00:47 <MissPiggy> hehe
20:00:52 <MissPiggy> yeah
20:03:04 <oklofok> on the other hand i can't stop reading :P
20:03:26 <oklofok> comments seem to be youtube level
20:03:47 <mycroftiv> where on the internet are comments not youtube level, though?
20:07:05 <oklofok> well here on irc we tend to be pretty smurt right
20:08:06 <mycroftiv> actually #esoteric is probably the single most intellectually terrifying place on the internet, I'd agree - I mean I can do some programming, I understand stuff like symbolic logic a bit, but a lot of people in here seem to be able to analyze formal systems almost instinctively
20:09:10 <mycroftiv> I sometimes get the impression here this IRC channel is like an alternate reality composed of kids who were brought up on 'my first turing complete formal language specitication' in the crib
20:10:03 <oklofok> haha
20:10:41 <oklofok> analysing stuff instantly is a distinct skill from analysing stuff properly though
20:11:43 <mycroftiv> true but "research shows" (waves hand) that in general, smarter people 'think faster' - even to the level of physical reflexes, i believe
20:12:47 <MissPiggy> if we shrink everyone by a factor of 2, we well all have on average IQ 800, because the cubic scale factor
20:13:18 <mycroftiv> at the same time, though, it is true that "other research shows" (waves other hand) that "innate talent" is a much worse predictor of successful outcome than sustained effort and concentration
20:14:16 <oklofok> speaking if intelligence, have people here taken IQ tests?
20:14:17 <oklofok> *of
20:14:23 <mycroftiv> not for decades
20:14:50 <MissPiggy> IQ goes down as you get older (i.e. bigger, so the distance between neurons gets further and you think slower)
20:15:34 <oklofok> are you sure that's a physiological truth and not the punchline of a joke?
20:15:40 <oklofok> i find both plausible
20:17:27 <oklofok> i mean the definition of IQ i saw on mensa does seem to be about actual speed of neurons and not so much actual problem solving skill
20:17:35 <MissPiggy> :))))
20:18:58 <oklofok> i took the test on their page, i'm pretty sure anyone can reach the "top %1 of population", the upper limit of their web test, if they've played flash games
20:19:08 <mycroftiv> on the subject of high-IQ, anyone here ever run into Chris Langan and his CTMU theory on the web? in the past few years he seems to have decided, somewhat oddly in my view, to become culturally affiliated with the awfulness of "creation science"
20:20:53 -!- kar8nga has quit (Read error: 113 (No route to host)).
20:21:17 <MissPiggy> Cognitive Theoretical Model of the Universe
20:22:17 <MissPiggy> looks compilcated
20:22:27 -!- madbr has joined.
20:22:27 <mycroftiv> eh, sadly id say hes mostly degenerated into pseudoscience
20:22:44 <madbr> who
20:23:00 <MissPiggy> pretty obvious that it's pseudoscience by the rainbow <hr>'s
20:23:38 <MissPiggy> I wonder what the IQ for some of these idiot-savants is
20:23:48 <Pthing> obvious by the title
20:23:52 <Ilari> There's lots of pseudoscience around. Sometimes it even involves serious studies, where everything goes well until one would need to draw the conclusions...
20:24:35 <mycroftiv> i think CTMU is actually more substantial than it seems, and actually borders on being decent *philosophy*, but i fail to understand why he would present it as a 'scientific theory'
20:24:49 <MissPiggy> what about that John Conway guy?
20:25:06 <MissPiggy> what's he doing these days
20:25:08 <mycroftiv> isnt that game of life conway?
20:25:30 <madbr> "The Cognitive-Theoretic Model of the Universe"
20:25:36 <MissPiggy> "
20:25:37 <MissPiggy> Jump to: navigation, search
20:25:37 <MissPiggy> The free will theorem of John H. Conway and Simon B. Kochen states that, if we have a certain amount of "free will", then, subject to certain assumptions, so must some elementary particles."
20:25:38 <MissPiggy> oops
20:26:17 <MissPiggy> seems a lot less quacky now that I read it on wiki rather than Times or The Sun whereever I heard about it first
20:26:46 <madbr> This is postmodern or something
20:27:21 <madbr> "Mathematically, the theoretical framework of Intelligent Design"
20:28:12 <mycroftiv> back when i found langan's stuff a few years ago, he hadn't thrown in with those guys, we was still mostly claiming to be extending traditional hard science
20:28:53 <mycroftiv> I'd say he couldn't meet their standards for publication and found the ID people were considerably more welcoming
20:29:18 <madbr> "you cannot describe the universe completely with any accuracy unless you're willing to admit that it's both physical and mental in nature"
20:29:50 <madbr> In conjunction with his ideas, Langan has claimed that "you can prove the existence of God, the soul and an afterlife, using mathematics."
20:29:57 <madbr> (quoting wikiped)
20:30:35 <mycroftiv> wow, im kinda surprised CTMU survived General Notability Guidelines - although i guess it sneaks in on Langan's coattails because he had some popular media attention as world's highest IQ man
20:31:27 <MissPiggy> what IRC does Elizer Yudkowsky go to?
20:32:07 <MissPiggy> oh there's a lesswrong IRC
20:33:01 <madbr> yeah this is obvious Quack
20:34:01 <madbr> Like, he speculates on that kind of stuff, ok, but does he do real world experiments?
20:34:15 <mycroftiv> back around 1999 his 'mega foundation' was started basically as the result of huge flame wars stirred up by his attempting to promote CTMU is various ultra-high-iq internet forums
20:34:22 <mycroftiv> that was how i found about him
20:34:49 <mycroftiv> his wife later took it upon herself (i believe) to delete a lot of discussion of his ideas on a wiki I participated in, and replace it with copy-pasted chunks of his essays
20:35:36 <madbr> http://www.youtube.com/watch?v=9kf51FpBuXQ <- totally fails at this
20:37:19 <madbr> also it sounds a lot like a lot of postmodernist stuff
20:38:22 <madbr> And from the website it seems to be mostly convoluted language, and not enough claims that can be tested
20:38:37 <MissPiggy> why does everything need to be testible?
20:39:08 -!- kar8nga has joined.
20:39:49 <mycroftiv> karlpopper.jpg
20:40:55 <MissPiggy> you can't test any nonconstructive existence proofs
20:41:56 <mycroftiv> hmm that reminds me of the argument i started up here months ago about whether or not the axiom of choice has implications for physics
20:42:29 <madbr> miss: well, if it's not testable, then it's going to be hard to build a bomb out of it
20:42:36 <madbr> or other neat technological stuff
20:43:41 <madbr> and if it's not testable, who knows if it's true or false?
20:43:48 <MissPiggy> even if it's testible it's not ture
20:43:50 <MissPiggy> true*
20:44:44 <madbr> well, often it just says that your approximation rule is good enough in conditions X,Y, up to Z decimals yeah
20:45:14 <madbr> but that often leads to interesting real world applications still
20:47:41 <MissPiggy> nice vide othough
20:47:43 <madbr> And it's sure better than vaguely philosophical papers that are mostly obfuscated language
20:53:38 <madbr> "It means using language as a mathematical paradigm unto itself."
20:54:06 <madbr> Ho man, like, yeah that's a perfect recipe for disaster
20:56:35 <madbr> yeah ok basically this guy is going to use the properties of language to try to gain insights on the nature of the univers
20:56:36 <madbr> e
20:57:40 <MissPiggy> O_O lol
20:58:08 <madbr> yeah looking at the paper, this thing reminds me of time cube
20:59:42 <oklofok> mycroftiv: why would it have?
21:00:22 <mycroftiv> oklofok: digging into this issue, i discovered that several proofs of various aspects of quantum mechanics rely on mathematics that assumes AOC
21:00:55 <MissPiggy> mycroftiv, I think that's a really interesting question btw
21:01:17 <MissPiggy> of course I don't know anything beyond high school physics so I don't have anything else to add :P
21:01:20 <madbr> http://s.engramstudio.com/src/unreal.png this is in his paper
21:01:55 <olsner> ah, that explains everything!
21:03:55 <Gregor> lawl
21:03:56 <oklofok> mycroftiv: so some models of the universe that are supported by observation only have the observed properties if AoC is assumed?
21:04:01 <Gregor> I'm using that for everything now.
21:04:30 <Gregor> I contest that that diagram cannot make sense, in any situation.
21:04:37 <mycroftiv> oklofok: honestly, im not competent to answer that
21:04:46 <Gregor> Erm, I contest that that diagram /could/ make sense in any situation, rather.
21:04:49 <Gregor> *tired*
21:05:16 <oklofok> i see, i'm just wondering if it's conjectures that require AoC, very plausible conjectures, or some actual stuff the model explains.
21:05:18 <mycroftiv> the material I found doing research on this, the physicists seemed to get pretty cautious about making any statement about the nature of the relationship between mathematical truth and models, theory, and observation
21:06:16 <mycroftiv> I couldnt say if the way AoC was used mathematically in the relevant proofs of 'how stuff works' quantum mechanically would imply that the physics of a 'non-aoc' universe would be different
21:06:45 <oklofok> i see... it's just in my experience most stuff between very concrete and very formal get very vague and very meaningless pretty fast
21:06:59 <madbr> aha
21:07:01 <madbr> yeah
21:07:06 <mycroftiv> but the thing is there isnt anything undefined involved in this, i dont think
21:07:24 <mycroftiv> i mean, aoc is well defined, and how to get predictions out of the quantum mechanical model is well defined
21:07:35 <mycroftiv> its not an angels-on-the-head-of-a-pin type question I dont think
21:08:09 <oklofok> sure, it's the observability that's the key issue here, what if other plausible conjectureshad been made given some other non-conflicting axiom
21:08:18 <oklofok> *conjectures had
21:08:22 <madbr> personally, I concentrate on more real world stuff
21:08:35 <mycroftiv> the real world is made of quantum particles, last I checked
21:08:51 <madbr> like "how do you simulate a violin" (on a computer)
21:10:08 <oklofok> mycroftiv: reality is relative, atoms are only real to the extent of how well they model the world we observe. most people are good at imagining small things combining into big things. most people aren't good at imagining... quantum stuff.
21:10:22 <oklofok> is my point of view
21:10:37 <madbr> well, atoms are a very useful concept
21:10:46 <mycroftiv> oklofok: I completely agree - as a matter of fact, I like to point out that a 'car' is entirely a theoretical entity, because you are never going to find 'this is atom is part of Car X' written on any of its component atoms
21:10:55 <oklofok> quantum particles are what the world is made of if you're a physicist, they are made of particles that aren't quantum, otherwise
21:11:06 <mycroftiv> so 'cars' arent real, they are just an abstraction we apply to certain chunks of mater
21:11:11 <MissPiggy> madbr use string theory! :P
21:11:32 <madbr> you guys are overthinking it
21:11:37 <MissPiggy> cars are basically spheres with uniform mass?
21:11:44 <MissPiggy> re. how do you simulate a violin
21:12:22 <madbr> you try to do an accurate model of how the thing vibrates
21:13:22 <mycroftiv> then solve the navier-stokes equations for how the waves propagate in the atmosphere
21:13:44 <madbr> actually it's more of a string problem
21:13:47 <oklofok> i heard about these phonons once, are there models of sound that involve particles?
21:14:05 <madbr> no sound is almost always modelled as waves
21:14:08 <oklofok> and excuse my not knowing anything, i just really don't know anything about physics
21:14:29 <madbr> sound doesn't have quantum duality :D
21:14:51 <oklofok> yes, it would seem weird given we have a rather good theory of how sound works, based on the wave theory
21:14:58 <madbr> but yeah violins don't have many vibration modes in air
21:15:07 <oklofok> but i've heard about phonons, i guess i could just wp those
21:15:26 <mycroftiv> i was making a joke about solving navier-stokes for the atmospheric vibrations, obviously grossly impractical
21:15:35 <madbr> I've never heard of a good sound simulation using phonons
21:15:54 -!- scarf has joined.
21:16:30 <madbr> also you have another problem: It turns out that the usual model of friction completely breaks down at "high" frequencies
21:16:32 <oklofok> mycroftiv: i got that
21:16:34 <MissPiggy> oklofok, stuff like 'Whenever someone exhorts you to "think outside the box", they usually, for your convenience, point out exactly where "outside the box" is located. Isn't it funny how nonconformists all dress the same...'
21:16:36 <madbr> (like, 200hz high)
21:16:55 <MissPiggy> it's enjoyable to read this because I go "hah! I knew this already!"
21:16:55 <madbr> and friction is super important in violin simulation
21:17:10 <madbr> ie we don't actually really know how friction works
21:17:20 <MissPiggy> but then wonder if just sitting reading all these sorts of things is worthless
21:17:39 <scarf> MissPiggy: well, this channel is a good place to try to find new boxes to think outside
21:17:55 <mycroftiv> madbr: yeah im certainly no expert but ive read that there are still quite a few open problems in condensed matter physics because you get chaotic behaviors a lot
21:18:00 <oklofok> i don't think i've had that exact thought, i've just always thought the concept of "thinking outside the box" is ridiculous; then again i'm a mathematician, not a philosopher...
21:18:12 <oklofok> (formal systems vs ideas)
21:18:24 <scarf> oklofok: the mathematical equivalent is trying to find incorrect assumptions you made
21:18:37 <MissPiggy> I am not referring to the content of the statement, just the effect it has on me
21:19:01 <oklofok> MissPiggy: yes, and i tend to get the point, and start talking about something else.
21:19:13 <madbr> dunno, well, the theory I've studied is linguistics
21:19:24 <MissPiggy> linguistics is just a theory ..
21:19:26 <madbr> and basically, language is butt hard to analyze
21:19:40 <madbr> ie we haven't really figured it out yet
21:19:54 <madbr> and theories on it tend to end up turning in circles
21:20:47 -!- tombom has joined.
21:20:47 <mycroftiv> i have an amazing 'scots philosophical monograph' which is several hundred pages of dense symbolic logic attempting to understand what is 'really meant' by statements like 'I think John believes in Y'
21:21:04 <madbr> heh
21:21:23 <madbr> yeah that's definitely a turning in circles thing
21:22:11 <oklofok> prolly should go do the homework robozzle prevented me from doing yesterday
21:22:21 <MissPiggy> oklofozzle
21:22:29 <madbr> we don't know how languages go from symbols to meaning
21:22:31 <oklofok> OR play robozzle, both alternatives sound good
21:22:49 <madbr> and we don't really know what meaning is anyways
21:23:00 -!- Sgeo__ has joined.
21:23:48 <oklofok> speaking of philosophy, do you believe people actually 'understand' things, that there's a fundamental difference between memorizing something, and understanding it?
21:24:06 <madbr> no idea
21:24:15 <oklofok> i do believe we all have our own (implicit) models of the world, and we sort of understand things once we can fit new information into that framework
21:24:15 <MissPiggy> oklofok absolutely
21:24:23 <oklofok> but i believe it's just a structured way to memorize things
21:24:27 <MissPiggy> especially in mathematics, for example calculus
21:24:29 <madbr> and also that sounds like it would turn in rounds
21:24:42 <MissPiggy> imagine being able to differentiate things, but not knowing what a function is
21:24:50 <oklofok> you memorize the thing, and you memorize rules for how to apply the information, you keep them close
21:24:51 <MissPiggy> stranger things happened in class
21:25:53 <oklofok> i believe i just know the exact definition of a function (rote), and i have a pretty good ability to visualize mappings between sets, and i have a few rules for knowing how the speficic picture i have in my head translates into formal logic, which i can then check by pattern matching
21:26:11 <MissPiggy> but then maybe you could argue the people that don't know what a function is have some kind of deeper understanding about what a differential algebra is ;/
21:27:12 -!- Asztal has joined.
21:28:11 -!- cal153 has joined.
21:30:08 <oklofok> there is, of course, a sort of feeling that i "understand" some things, and don't understand some other things; also this isn't always correlated with my ability to solve different types of problems
21:30:29 <oklofok> so really i'm pretty sure it's just a meaningless feeling, whose evolutionary purpose is to direct my attention to things i need more information about
21:30:42 <oklofok> err
21:31:18 <oklofok> i don't mean meaningless.
21:31:21 <oklofok> what do i mean...
21:32:14 <oklofok> i guess that's sort of obvious, "understanding" just means we think we understand.
21:32:32 <madbr> that's why my favourite part of linguistics is phonetics... no messed up meaning stuff
21:32:48 <oklofok> :)
21:32:54 <oklofok> i hate philosophy
21:33:03 <Ilari> Is it soft or hard science?
21:33:12 <MissPiggy> I think understanding is real
21:33:45 <madbr> well, phoetics is more hard because it has hard enough data
21:33:58 <oklofok> maybe my point is i think people's models of their own brain usually have consciousness be a sort of black box, with "understanding" being when something gets into consciousness and becomes usable
21:34:02 <madbr> other parts tend to be soft though
21:34:13 <MissPiggy> to feel like I understand a proof in most cases it is a case of producing some mental image which lives through the whole process
21:34:15 <madbr> ESPECIALLY anything that touches meaning
21:34:26 <MissPiggy> like the twisting circle with colored dots around it for fermats little theorem
21:34:42 <oklofok> whereas i see understanding as the process of getting the brain ready to do a certain type of thinking getting near finish
21:34:46 <oklofok> sort of a complicated sentence
21:36:10 <oklofok> really that's a trivial thought too, and one i just saw on lesswrong, people tend to black-box stuff they don't understand.
21:36:50 <oklofok> maybe there are just 7 deep philosophical thoughts, and everything else is just them in less pure form.
21:36:59 <oklofok> in fact i'm going to call this seppuritanism
21:37:05 <oklofok> see you, really have to math now ->
21:37:34 <MissPiggy> what math??
21:37:53 <oklofok> combinatorics of words and coding theory
21:38:04 -!- oklofok has quit (Read error: 104 (Connection reset by peer)).
21:38:19 -!- oklopol has joined.
21:39:06 <oklopol> combinatorics of words is what i linked here last week, this weeks exercises are just as ridiculous; coding theory's second exercise set seems to involve massive binary matrices, so to summarize, no risk of my evening being interesting.
21:39:41 <MissPiggy> why don't you do it on the computer?
21:40:01 <oklopol> well we rarely have two exercises about the same concept
21:40:07 <oklopol> this is university
21:40:12 -!- Sgeo_ has quit (Read error: 110 (Connection timed out)).
21:40:13 -!- Azstal has quit (Read error: 110 (Connection timed out)).
21:40:54 <oklopol> well okay we can have entire problem sets about the same concept, but i mean it's rare i could get more than one or two exercises done using the same program
21:41:10 <oklopol> unless of course i was clever and used some sort of sensible programming language that understand matrices and shit
21:41:13 <oklopol> but i am not clever
21:41:21 <oklopol> i would use python, and program everything from scratch
21:41:22 <MissPiggy> J!!!!
21:41:27 <oklopol> yeah J is awesome
21:41:39 <MissPiggy> oklopol they want me to use matlab :(
21:41:51 <MissPiggy> but I know J exists
21:41:56 <oklopol> who?
21:42:04 <MissPiggy> people that give me problems to solve
21:42:22 <oklopol> i'll take that as a yes.
21:43:20 <oklopol> we have a specific matlab course in the physics dep i think, and a few about mathematica, but we rarely have more number crunching than 5*6
21:43:29 <oklopol> i mean other than those courses
21:45:06 <oklopol> hmm
21:45:17 <oklopol> it seems you stopped me from going
21:45:20 <oklopol> i'll retry now
21:45:21 <oklopol> ->
21:45:25 <MissPiggy> sorry
22:04:55 -!- jix has quit (Connection timed out).
22:26:09 -!- augur has quit (Connection timed out).
22:33:49 -!- Pthing has quit (Remote closed the connection).
22:40:11 * SimonRC goes for food
23:11:17 <pikhq> Well, for no good reason, I have created a void_ptr a ptr<T> class... So now I can pretend C++ has C pointer semantics.
23:13:47 <pikhq> s/void_ptr a/void_ptr and/
23:14:14 <pikhq> "C++: because operator overloading lets you abuse the type system!"
23:15:11 <scarf> pikhq: you should see Boost, it's hilarious
23:15:18 <scarf> it reminds me of the good aspects of Perl
23:15:38 <pikhq> :P
23:16:43 -!- GreaseMonkey has joined.
23:17:03 <pikhq> http://sprunge.us/hTGA
23:17:07 -!- augur has joined.
23:17:28 <pikhq> Eff you, C++. I want my implicit casts to/from void* back. So I GOTS THEM.
23:17:29 <pikhq> :P
23:24:10 <mycroftiv> pikhq: i like that, but why are you working in c++ if you don't like its type handling?
23:24:49 <pikhq> mycroftiv: No good reason.
23:24:58 <pikhq> I'm not intending to actually *use* that header, BTW. :P
23:24:59 * MissPiggy just mentions btw, this is #esoteric :P
23:25:18 <pikhq> MissPiggy: C++ is an esoteric language.
23:25:25 <mycroftiv> pikhq: ah, so it was simply created as an exercise
23:25:26 <MissPiggy> that's my point
23:25:39 <mycroftiv> that reminds me, you guys are all familiar with the original Bourne shell #defines, i assume?
23:25:48 * Sgeo__ isn't
23:25:49 <pikhq> template <typename T> operator T // INSANITY!
23:25:50 <MissPiggy> I am not
23:26:16 <mycroftiv> ok, lemme find the link, this is great stuff, really awesome late 70s hack at the core of one of the Essential Programs, the bourne shell
23:27:56 <mycroftiv> HERE: http://minnie.tuhs.org/UnixTree/V7/usr/src/cmd/sh/mac.h.html
23:28:48 <mycroftiv> clearly steven bourne liked his ALGOL and wanted his C code to read like algol
23:29:09 <pikhq> *Ugh*.
23:29:16 <MissPiggy> wow
23:29:42 <MissPiggy> that's pretty cool
23:29:43 <pikhq> His definition of max assumes no side effects, incidentally...
23:29:45 <mycroftiv> so that bit of madness is right at the core of version 7 UNIX, the most influential os distribution fo all time probably
23:30:16 <scarf> sh is famous for that header file
23:31:17 <oklopol> Gregor: okay i give up, what does http://s.engramstudio.com/src/unreal.png mean
23:31:29 <Gregor> I haven't got a clue :P
23:31:50 <oklopol> oh wait it was madbr who linked it
23:32:56 -!- tombom has quit ("Leaving").
23:33:02 <oklopol> i've taken a few looks every now and then
23:33:40 <oklopol> but i can't
23:33:44 <oklopol> can't.
23:37:18 <mycroftiv> I don't know what that picture is, but I assume it is just a bad way of expressing "the map is not the territory"
23:38:35 -!- MigoMipo has quit.
23:40:32 -!- augur has quit (Read error: 110 (Connection timed out)).
23:46:40 -!- oerjan has joined.
23:47:26 <Slereah> lolwat
23:52:40 <oerjan> <MissPiggy> The free will theorem of John H. Conway and Simon B. Kochen states that, if we have a certain amount of "free will", then, subject to certain assumptions, so must some elementary particles."
23:53:22 <pikhq> So... Philotes?
23:53:53 <oerjan> my intuition: this is an actual theorem (it _does_ have conway on board after all), but whether it applies to any actual definition of free will your own philosophy would ascribes to, would probably depend.
23:54:01 <oerjan> *ascribe
23:54:29 <MissPiggy> oerjan, yeah sure, I think I just got the wrong idea about it because I read it first in some tabloid
23:54:31 <mycroftiv> actually, the problem of how to give any scientific definition to the concept of 'free will' is pretty serious imo, and it really bugs me
23:55:09 <mycroftiv> we have 'deterministic' and we have 'random', but exactly 'free will' even means is pretty damn hard to express in the terms of rationalist materialism
23:55:30 <oerjan> there are after all philosophies on what free will means that doesn't require the universe to be nondeterministic at all - or would even consider nondeterminism to make it _worse_
23:55:42 <oerjan> *don't
23:56:19 <oerjan> because you don't really have any freedom if things are just random...
23:57:01 <oerjan> but i guess that's part of what you are alluding to
2010-01-24
00:13:07 -!- nooga has joined.
00:13:15 <nooga>
00:13:35 <oerjan> nooga: you should see a dentist
00:13:46 <nooga> it's compressed :-D
00:14:07 <oerjan> in that case, see a plastic surgeon
00:14:15 <nooga> ;]
00:16:18 <nooga> probably psychiatrist would be the best choice
00:16:45 <oerjan> choices, choices
00:17:41 <oerjan> i should see a psychiatrist but the little voices in my head keep telling me not to
00:25:33 <nooga>
00:26:16 -!- kar8nga has quit (Read error: 104 (Connection reset by peer)).
00:30:07 <nooga> it's hard to create interesting esolang
00:30:40 <oerjan> yes
00:30:43 <nooga> any twisted idea can be reduced to some existing architecture
00:33:08 <MissPiggy> yeah :(
00:33:11 <MissPiggy> I want to make one
00:33:16 <MissPiggy> I might have a go soon
00:33:29 <mycroftiv> they already have 'go'
00:33:35 <mycroftiv> so have a something else
00:37:07 -!- Pthing has joined.
00:41:59 -!- augur has joined.
00:44:09 <madbr> nooga: yeah it's hard
00:44:47 <madbr> tried a couple... but then underload beats the early ones I've done
00:45:07 <madbr> the more recent ones are functionnal and weird but still not that awesome
00:45:24 <AnMaster> oerjan, hi
00:45:49 <AnMaster> oerjan, was just looking at google street view today. Can't find it in norway?
00:46:17 <AnMaster> since it does exist in Sweden I'm slightly surprised
00:47:58 <Gregor> Norway has streets?
00:48:45 <oerjan> there are rumors...
00:49:15 <oerjan> i've never tried to look at google street view, so...
00:52:51 <oerjan> "Google har fotografert en del i Norge, men foreløpig ikke lansert noen Street View-tjeneste her til lands."
00:52:53 <nooga> uh
00:53:06 <oerjan> from http://www.vg.no/bil-og-motor/artikkel.php?artid=591074, two days ago
00:53:22 <nooga> i've met 19-years old trucker from norway
00:53:24 <nooga> yesterday
00:53:31 <nooga> he was weird
00:55:14 <AnMaster> oerjan, translate it?
00:55:18 <AnMaster> I fail at it
00:55:42 <AnMaster> from "foreløpig" to "til lands"
00:57:04 <oerjan> , but for the time being have not launched any Street View service in this country.
00:57:15 <AnMaster> ah
00:57:38 <nooga> ;[
00:57:55 <AnMaster> nooga, ?
00:58:13 <AnMaster> night
00:58:25 <nooga> i fail at reading "Troll 1" - a handbook of swe lang
00:58:44 <oerjan> clearly you've been trolled
00:59:26 <nooga> that's exactly my point ;D
01:00:05 * oerjan swats nooga for trolling us -----###
01:00:31 <oerjan> nooga är ett hemskt troll!
01:01:31 <nooga> ;]
01:01:35 <oerjan> hm wait...
01:02:09 <oerjan> hemsk doesn't seem to have any "awful" connotation according to sv.wiktionary.org?
01:02:24 <oerjan> oh wait it does
01:02:49 <oerjan> it was just "hemskt" which had its own article
01:03:07 <AnMaster> oerjan, of course it does
01:03:14 <AnMaster> and yes that line was correct above
01:03:24 <oerjan> whew
01:03:41 <oerjan> AnMaster: fooled by http://sv.wiktionary.org/wiki/hemskt
01:03:44 <AnMaster> but it can also be used as a generic modifier, like "foo is awfully good"
01:04:01 <AnMaster> which really doesn't make much sense when you think about it
01:04:17 <AnMaster> oerjan, yes that is the other meaning of it
01:04:29 <oerjan> except english (and norwegian) also have the same kind of construction
01:04:36 <AnMaster> yes
01:04:41 <AnMaster> but it still doesn't make much sense
01:05:04 <AnMaster> we also have it for "jättelitet" which would translate to something like "giantly small"
01:05:07 <nooga> Polish also has that
01:05:20 <AnMaster> iirc English doesn't have that last one at least
01:06:11 <olsner> "skitgott"
01:06:21 -!- augur_ has joined.
01:06:23 <AnMaster> olsner, why isn't there "pyttestort"?
01:06:32 * oerjan always wondered what kind of fruit is a fruktansvärd
01:06:35 <AnMaster> logically that should follow
01:06:56 <AnMaster> oerjan, it is terrible ;P
01:06:56 -!- madbr has quit ("Radiateur").
01:07:07 -!- madbr has joined.
01:07:25 -!- coppro has joined.
01:07:43 <AnMaster> oerjan, for one it isn't even a fruit it turns out
01:07:48 <oerjan> yes, i bet it is
01:07:49 <AnMaster> not even a noun
01:08:04 <AnMaster> oerjan, I saw that one coming ;P
01:08:18 <olsner> if you want to read it as a composite noun, it'd be a kind of sword rather than a fruit though
01:08:21 <Gregor> `translate fruktansvärd
01:08:31 <HackEgo> awful
01:08:32 <AnMaster> oerjan, indeed
01:08:36 <olsner> (endianness - most significant usually comes last)
01:08:54 <AnMaster> Gregor, something between awful and terrible I would say
01:08:55 <oerjan> actually it is pretty obvious from the words it is composed of, fruktansvärd must mean a sword made of fruit
01:08:57 <AnMaster> in the meaning
01:09:13 <AnMaster> awful is closer to avskyvärd
01:09:29 <olsner> lit. fearworthy
01:09:34 <AnMaster> olsner, yeah
01:10:00 -!- madbrain has joined.
01:10:12 <AnMaster> oerjan, there is svärdfisk, so why not svärdfrukt
01:10:12 <oerjan> olsner: yeah but swedish is greek to me, and greek frequently does it the other way around
01:10:20 -!- madbr has quit (Read error: 104 (Connection reset by peer)).
01:10:30 <nooga> greek is bubble and squeak to me
01:11:01 <AnMaster> oerjan, anyway it couldn't be a type of fruit, a type of sword yes
01:11:54 <AnMaster> oerjan, olsner, or it could he the host of fear
01:11:54 -!- augur_ has quit (Read error: 104 (Connection reset by peer)).
01:11:58 <AnMaster> that works too
01:12:01 <AnMaster> when you think about it
01:12:06 <AnMaster> fruktans-värd
01:12:18 <AnMaster> same split
01:12:22 <AnMaster> but different meanings
01:12:23 -!- augur has quit (Read error: 104 (Connection reset by peer)).
01:13:15 -!- augur has joined.
01:13:38 <oerjan> now, clearly -an- is related to anor, so it would be an ancient heirloom sword made of fruit, right?
01:14:03 <AnMaster> err
01:14:13 <AnMaster> an -> anor not really
01:14:16 <AnMaster> afaik
01:14:34 <oerjan> aww
01:14:36 <AnMaster> en fruktansvärd fruktan för värdens fruktsvärd
01:15:08 <AnMaster> I guess THAT should count a a phobia
01:15:29 <AnMaster> oerjan, no?
01:16:01 <oerjan> well phobias are also greek to me
01:16:07 <AnMaster> heh
01:16:17 <AnMaster> oerjan, could you parse that line I said?
01:16:28 <AnMaster> I'm afraid it would be extremely hard to translate to English
01:16:31 <oerjan> but of course, it was obvious
01:16:39 <AnMaster> without completely losing the pun
01:16:50 <oerjan> well yes
01:17:24 <AnMaster> I'm much better at joking in Swedish than in English
01:17:40 <AnMaster> in fact I have heard people laugh at my jokes in Swedish
01:17:46 <oerjan> *gasp*
01:17:55 <AnMaster> exactly
01:18:03 <AnMaster> oerjan, and it isn't even rare
01:18:27 <oerjan> now you are stretching your credibility
01:18:37 <AnMaster> oerjan, maybe, but it's true
01:18:46 <AnMaster> also it rarely works over text chat
01:19:10 <AnMaster> really builds on quick and snappy replies in voice-based discussions
01:19:11 <oklopol> maybe you get them to laugh by telling them you're actually funny in english
01:19:28 <AnMaster> oklopol, hm haven't tried that one
01:19:35 <AnMaster> interesting idea
01:19:37 <oklopol> you just tried it in reverse
01:19:48 <AnMaster> oklopol, not really, I just told the truth
01:19:52 <oklopol> and clearly we found it hilarious
01:19:58 <AnMaster> you did?
01:20:02 <AnMaster> that was unintentional
01:20:46 -!- Asztal has quit (Read error: 110 (Connection timed out)).
01:23:17 * oerjan regrettably must conclude there isn't really such a thing as a sword fruit
01:23:32 <AnMaster> aww
01:23:47 <AnMaster> what about fruit swords then?
01:23:49 <oerjan> google hath spoken
01:23:54 <oerjan> just checking
01:24:08 <AnMaster> oerjan, you could carve a small sword out of an apple
01:24:38 <oklopol> or a fruit sword could be a sword for cutting fruit.
01:24:52 <AnMaster> or better, let the apple grow in a mould to form it into a sword
01:24:53 <oklopol> but i guess that would be more of a stretch than making the sword out of it
01:24:56 <AnMaster> not sure that would work
01:25:17 <Sgeo__> fruit? sword? Are you playing I Wanna Be The Guy?
01:25:34 <AnMaster> oklopol, fruit knives I heard of. but fruit swords would be a bit large, no?
01:25:39 <AnMaster> Sgeo__, no idea what that is
01:25:46 <oklopol> well they're used for big fruit ofc
01:25:53 <oklopol> liek coconuts
01:25:58 <AnMaster> oklopol, oh like mutant pumpkins?
01:26:07 <oklopol> ...and mutant pumpkins, yes
01:26:20 <AnMaster> oklopol, what about mutant watermelons?
01:26:44 <oklopol> Sgeo__: were you the one who linked iwbtg here?
01:26:45 <oklopol> oh wait
01:26:50 <oklopol> i guess it was ehird
01:27:10 <Sgeo__> It occurs to me that I've been interested in it recently, so I might have
01:27:20 <oklopol> oh this was ages ago
01:27:20 <AnMaster> Sgeo__, what is it though
01:27:29 <oklopol> it's a game that's supposedly really hard
01:27:47 <oklopol> well okay it is really hard
01:28:41 <oklopol> Sgeo__: are there swords in iwbtg?
01:28:44 <Sgeo__> From a review: "about halfway across, you notice an apple low enough you can jump over it. tired of the tedious apple-teasing, you graciously accept the respite of an apple you wont have to dodge mid-fall. you jump over the apple, and the apple falls up and kills you. the apple falls up and kills you."
01:28:48 <Sgeo__> oklopol, just one
01:28:53 <Sgeo__> BRB
01:28:57 * oerjan finds nothing really appropriate
01:30:03 <oerjan> now if that sword was the only thing in the game that was actually harmless...
01:30:23 <AnMaster> oerjan, what about the ground?
01:30:56 <AnMaster> anyway it doesn't seem to be open source
01:31:03 <AnMaster> nor available for linux
01:31:04 <oklopol> there are really very few places in iwbtg where you actually need absolute precision, at least up to where i got, although it can still take about 10 minutes to get through one screen
01:31:27 <AnMaster> oklopol, limited number of lives?
01:31:38 <oklopol> no
01:31:54 <oklopol> but there are "difficulty" settings that limit the amount of save points
01:32:25 <oklopol> a few on every screen, one every few screens, one every tenth or so screens, and "impossible", no save points
01:33:32 <Sgeo__> IWBTG's sword: http://www.youtube.com/watch?v=dyyovn2IMX0
01:33:33 <nooga> ...
01:34:01 <oklopol> oh, right, that one
01:35:05 <oklopol> that part was easy
01:39:22 <nooga> ...
01:43:04 <oklopol> sleepy time ->
01:43:21 <oklopol> also i should probably give iwbtg another go
01:43:47 <Sgeo__> oklopol, are you going to design any RoboZZle puzzles?
01:43:50 <oklopol> last time i got about halfway through, then made a fucked-up save and couldn't continue
01:44:23 <Sgeo__> I believe there's stuff that lets you manipulate save files [e.g., if you screw up a save, or want to cheat]
01:44:41 <oklopol> the next thing i'm going to do in robozzle is try out some programming in design mode; that may be a side product.
01:44:51 <oklopol> yeah, i hear there is
01:45:50 <oklopol> doesn't really matter now, i don't have the game
01:45:56 <oklopol> really the sleep ->
01:52:43 <nooga> sleep
01:54:16 -!- nooga has quit (Read error: 54 (Connection reset by peer)).
02:09:55 -!- zzo38 has joined.
02:10:43 -!- zzo38 has quit (Remote closed the connection).
02:17:41 -!- scarf has changed nick to scarf|away.
02:18:11 -!- scarf|away has changed nick to scarf.
02:26:48 -!- BeholdMyGlory has joined.
02:29:11 -!- scarf has changed nick to scarf|away.
02:31:08 -!- augur has quit (Read error: 110 (Connection timed out)).
02:31:59 * Sgeo__ goes to try "straying from the path"
02:32:11 <Sgeo__> I see the basic principle, but don't know if I have the stack skills to implement
02:32:30 * MissPiggy has still not does aseirskas one
02:34:31 -!- scarf|away has changed nick to scarf.
02:35:52 <Sgeo__> Deewiant, you're.. away, darn
02:39:41 <Sgeo__> Deewiant, igoro is asking what's wrong with Robozzle on Moonlight
02:43:01 -!- scarf has changed nick to scarf|away.
02:48:01 -!- scarf|away has changed nick to scarf.
02:51:20 <Sgeo__> Solved straying from the path!
02:51:36 <Sgeo__> I see neither fizzie nor oklopol solved it :D
02:53:11 -!- scarf has changed nick to scarf|away.
02:53:38 <GreaseMonkey> the first "Tree" puzzle is quite cool
02:54:25 -!- augur has joined.
02:54:29 <MissPiggy> that's like the only difficult one I have solved :P
02:55:06 <Sgeo__> MissPiggy, straying from the path is fun
02:55:25 <Sgeo__> Does use the stack
02:56:38 <GreaseMonkey> wow, solved "very early warning" straight away
02:56:46 <GreaseMonkey> that one's purely state-changes
02:57:10 <MissPiggy> how do I open puzzle 249 in silverlight?
02:57:12 <GreaseMonkey> i've yet to get the "linked list" one solved but i think i know how it works roughly
02:57:23 <Sgeo__> puzzles.aspx defaults to silverlight, I think
02:57:33 <MissPiggy> thanks
02:57:41 <GreaseMonkey> you delete internet explorer, use a real browser, and use a real standard
02:58:11 -!- scarf|away has changed nick to scarf.
02:58:12 <MissPiggy> none of that achieves the goal
02:58:38 <Sgeo__> Hm, I think Very Early Warning is one that was shown in the YouTube video..
02:59:23 <Sgeo__> Which effectively gave the puzzle away
02:59:56 <oerjan> well that would be a pretty early warning, then
03:00:01 <Sgeo__> lol
03:02:55 <GreaseMonkey> i think i know how to do "both directions"
03:03:15 <GreaseMonkey> "both directions 0" will show you the idea, if you get it
03:08:21 <GreaseMonkey> argh crap i appear to have forgotten >_>
03:10:31 -!- scarf has changed nick to scarf|away.
03:10:43 <GreaseMonkey> #36 "Explore the world" seems doable
03:11:04 -!- Pthing has quit (Remote closed the connection).
03:11:08 * Sgeo__ gives up on Very Early Warning after needing ONE extra slot in each function
03:12:31 * Sgeo__ figures it out
03:13:11 -!- scarf|away has changed nick to scarf.
03:15:26 <GreaseMonkey> btw, i started working on a python port yesterday
03:17:04 <Sgeo__> No, I didn't figure it out
03:17:04 <Sgeo__> grr
03:18:13 -!- FireFly has quit ("Leaving").
03:19:19 <GreaseMonkey> last two slots on mine were something like this:
03:19:32 <GreaseMonkey> (2,1) (2,3) (4,1) (4,3)
03:19:55 <GreaseMonkey> first in each pair had a single colour condition
03:20:26 <Sgeo__> How did you get away with not having to call 3 functions in 2 of the functions?
03:21:58 <Sgeo__> Hm, I think I see
03:22:21 -!- scarf has changed nick to scarf|away.
03:22:31 -!- mtve has quit (kubrick.freenode.net irc.freenode.net).
03:22:31 -!- dbc has quit (kubrick.freenode.net irc.freenode.net).
03:22:31 -!- HackEgo has quit (kubrick.freenode.net irc.freenode.net).
03:22:31 -!- SimonRC has quit (kubrick.freenode.net irc.freenode.net).
03:24:03 <Sgeo__> No, I don't
03:24:31 -!- SimonRC has joined.
03:25:41 <MissPiggy> yikes that is me just done straying from the path now, that took me aages
03:27:31 -!- scarf|away has changed nick to scarf.
03:28:47 * Sgeo__ has some relocation to attend to
03:28:52 <Sgeo__> Although I do have a puzzle idea
03:32:36 <MissPiggy> aw
03:33:04 <MissPiggy> I found a stupid way to do Very Early Warning which probably works but Id have to try too many combinations
03:34:34 <GreaseMonkey> #189 Cherry Picking is fun
03:34:55 <GreaseMonkey> just do a 4-state machine
03:35:00 <GreaseMonkey> for V.E.W.
03:35:11 -!- scarf has changed nick to scarf|away.
03:35:20 <MissPiggy> yes but there's a lot of 4 state machines
03:35:25 <MissPiggy> I can't check each one
03:35:31 <Sgeo__> GreaseMonkey, but there's not enough room in each function!
03:35:50 <Sgeo__> Just one more space in two of them is all I need
03:36:55 <GreaseMonkey> something like: F1: ^ G> 1 R2 1
03:37:01 <GreaseMonkey> and based on that style
03:37:29 <Sgeo__> But I need both a G> and an R>.. don't I?
03:37:36 <Sgeo__> Hm, wait
03:37:42 <Sgeo__> I don't!
03:37:42 <Sgeo__> ty
03:38:41 -!- BeholdMyGlory has quit (Read error: 60 (Operation timed out)).
03:39:55 <GreaseMonkey> np
03:40:21 -!- scarf|away has changed nick to scarf.
03:41:35 <Sgeo__> Wait, no
03:41:58 <Sgeo__> No, I'm confused
03:42:21 <GreaseMonkey> #558 "8 ways" is kinda fun
03:43:12 -!- mtve has joined.
03:43:12 -!- dbc has joined.
03:43:12 -!- HackEgo has joined.
03:43:14 * Sgeo__ has some relocation to work on
03:45:31 -!- scarf has changed nick to scarf|away.
03:45:51 -!- scarf|away has changed nick to scarf.
03:48:23 <GreaseMonkey> just did #132: "Split"
03:48:32 <GreaseMonkey> hint: F1 is: 2 1
03:48:52 <GreaseMonkey> and you just go forward and add conditional corners, moving them around until you get it right
03:48:59 <MissPiggy> this game makes me feel like I am terrible
03:49:37 * MissPiggy has to keep playing to get good
03:54:53 <Sgeo__> It's wasted so much of my time
03:55:10 <Sgeo__> Seriously, I was supposed to relocate puzzles in Mutation II
03:55:11 <MissPiggy> you lot do find some of them difficult right? :)
03:55:26 <Sgeo__> fizzie doesn't, I'm sure
03:55:28 <Sgeo__> But I do
03:56:11 * Sgeo__ has a level idea, but it might be hate
03:56:12 <Sgeo__> hated
03:57:01 <Sgeo__> What does everyone hate about Silverlight?
03:57:16 <MissPiggy> I just don't like it because flash exists
04:00:31 -!- scarf has changed nick to scarf|away.
04:03:37 * Sgeo__ works on Flip-flop Maze (lite)
04:05:31 -!- scarf|away has changed nick to scarf.
04:13:13 <Sgeo__> Does anyone want to make a Flash client for RoboZZle?
04:13:46 -!- Asztal has joined.
04:32:14 -!- augur has quit (Read error: 110 (Connection timed out)).
04:33:41 -!- scarf has changed nick to scarf|away.
04:35:41 -!- scarf|away has changed nick to scarf.
04:47:33 -!- MissPiggy has quit.
05:11:50 -!- augur has joined.
05:14:50 -!- BeholdMyGlory has joined.
05:19:27 -!- coppro has quit (Remote closed the connection).
05:41:04 -!- coppro has joined.
06:01:46 -!- BeholdMyGlory has quit (Read error: 60 (Operation timed out)).
06:04:51 -!- BeholdMyGlory has joined.
06:11:18 -!- BeholdMyGlory_ has joined.
06:13:34 -!- BeholdMyGlory has quit (Read error: 60 (Operation timed out)).
06:30:43 -!- coppro has quit (Remote closed the connection).
06:31:21 -!- coppro has joined.
06:47:01 -!- jpc has quit ("I will do anything (almost) for a new router.").
07:06:15 -!- madbrain has quit ("Radiateur").
07:20:25 -!- cheater2 has quit (Read error: 110 (Connection timed out)).
07:29:12 <Sgeo__> What happened to ehird?
07:29:15 -!- GreaseMonkey has quit (Read error: 110 (Connection timed out)).
07:29:41 <oerjan> eaten by gnomes
07:32:09 <oerjan> what the heck, he hasn't been here since last sunday?
07:43:05 -!- bsmntbombdood_ has joined.
07:58:32 -!- bsmntbombdood has quit (Connection timed out).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:00:13 -!- cheater2 has joined.
08:11:20 -!- MizardX has quit (Read error: 60 (Operation timed out)).
08:12:31 -!- scarf has changed nick to scarf|away.
08:15:41 -!- scarf|away has changed nick to scarf.
08:18:05 -!- Asztal has quit (Read error: 110 (Connection timed out)).
08:21:01 -!- scarf has changed nick to scarf|away.
08:23:31 -!- scarf|away has changed nick to scarf.
08:37:29 -!- GreaseMonkey has joined.
08:37:31 <GreaseMonkey> whee i have a solution for #224: waveform
08:40:34 * Sgeo__ vaguely sees how to do Less or more?
08:40:41 <Sgeo__> But right now I need to sleep
08:46:31 -!- scarf has changed nick to scarf|away.
08:46:51 -!- scarf|away has changed nick to scarf.
08:51:24 -!- tombom has joined.
08:53:15 <GreaseMonkey> i did that one at some point
08:56:31 -!- scarf has changed nick to scarf|away.
08:57:21 -!- scarf|away has changed nick to scarf.
09:09:19 <Sgeo__> GreaseMonkey, the way I've been noticing puzzles has been when you comment on them >.>
09:09:21 <Sgeo__> </creepy>
09:09:32 <GreaseMonkey> weird.
09:10:24 -!- coppro has quit (Read error: 104 (Connection reset by peer)).
09:10:52 -!- coppro has joined.
09:12:31 -!- scarf has changed nick to scarf|away.
09:15:41 -!- scarf|away has changed nick to scarf.
09:19:30 -!- GreaseMonkey has quit ("HydraIRC -> http://www.hydrairc.org <- Nobody cares enough to cybersquat it").
09:20:08 -!- scarf has quit (Remote closed the connection).
09:20:33 -!- KingOfKarlsruhe has joined.
09:36:21 -!- MigoMipo has joined.
09:47:16 -!- BeholdMyGlory_ has changed nick to BeholdMyGlory.
09:58:42 -!- FireFly has joined.
10:11:20 -!- oerjan has quit ("Good night").
10:43:58 -!- kar8nga has joined.
10:54:19 -!- BeholdMyGlory has quit (Remote closed the connection).
10:56:22 -!- Pthing has joined.
10:58:42 <Sgeo__> Night none
11:27:20 -!- KingOfKarlsruhe has quit (Remote closed the connection).
12:51:09 -!- BeholdMyGlory has joined.
13:00:37 -!- nooga has joined.
13:01:23 -!- MissPiggy has joined.
13:07:55 -!- Gracenotes has quit (Read error: 110 (Connection timed out)).
13:32:22 -!- cheater3 has joined.
13:36:25 -!- nooga has quit (Read error: 104 (Connection reset by peer)).
13:44:32 -!- kar8nga has quit (Remote closed the connection).
13:50:05 -!- cheater2 has quit (Read error: 110 (Connection timed out)).
14:07:52 -!- nooga has joined.
14:09:37 -!- tombom_ has joined.
14:20:38 -!- Pthing has quit ("Leaving").
14:20:57 -!- Pthing has joined.
14:22:16 -!- nooga has quit (Read error: 60 (Operation timed out)).
14:26:08 -!- nooga has joined.
14:30:38 -!- tombom has quit (Read error: 101 (Network is unreachable)).
14:33:31 -!- MizardX has joined.
14:54:54 <MissPiggy> http://robozzle.com/index.aspx?puzzle=189 I can't do this
14:58:17 <Gregor> http://www.dealextreme.com/details.dx/sku.30245 Gee, DealExtreme has a teddy bear that's birthing another teddy bear by C-section.
15:17:01 -!- kar8nga has joined.
15:22:44 -!- tombom__ has joined.
15:29:34 <oklopol> MissPiggy: can't see how you're supposed to do it, or can't implement your idea with the restrictions?
15:30:40 <oklopol> i think the idea is you always go up, storing an instruction for returning back for each step you take, when you see a red one, you avoid the pit, and store in the stack instructions to avoid the pit when you come back
15:30:46 <oklopol> the rest is repetition
15:31:26 <oklopol> i can't help you with an actual implementation, that might take more than a look
15:31:36 <oklopol> cuz i'm sooooo buzy
15:42:40 -!- tombom_ has quit (Read error: 101 (Network is unreachable)).
15:46:39 <MissPiggy> oklopol both
15:49:49 <oklopol> i see. well did you understand what i said?
15:50:21 <oklopol> each time you go up, put in the stack another command for going down once you return from the recursion
15:51:17 <oklopol> and when you see a red one, avoid the pit somehow, and put in the stack instructions for avoiding the pit once you return from recursion
15:51:35 <oklopol> all the details seem to suggest that's how you're supposed to do it
16:11:23 <oklopol> okay tested my idea, stops one slot short
16:17:31 -!- zzo38 has joined.
16:17:48 <zzo38> I have a new idea, the "Crab's Jukebox" esolang.
16:30:22 -!- nooga has quit (Read error: 110 (Connection timed out)).
16:44:57 <oklopol> lol asiekierka's puzzle has difficulty 2.5 :D
16:45:09 <oklopol> shouldn't be even two
16:45:32 <zzo38> What is asiekierka's puzzle?
16:48:07 <oklopol> oh actually he has many prolly, i don't really know what i had open
16:50:41 <oklopol> the newest
16:50:53 <oklopol> oh wait you probably don't know even the context
16:50:58 <oklopol> that would be robozzle
16:51:12 <zzo38> Actually I guessed (but I wasn't sure)
16:51:44 <zzo38> I guessed correctly but I would still need the number (I use the JavaScript mode; it can be used with any puzzle number even if it is not listed)
16:52:01 <oklopol> 164X i think
16:52:35 <oklopol> where X is something, i didn't look at the number, so really it might be 62309.
16:53:51 <zzo38> Do you like the idea of "Crab's Jukebox" esolang, that is just some idea I had, I don't know how well it could be done, even.
16:54:04 <zzo38> But I think it would be difficult to categorize.
16:54:08 <oklopol> 1640 actually
16:54:20 <zzo38> OK, thanks 1640
16:54:30 <oklopol> on esowiki?
16:54:33 <oklopol> i haven't looked yet
16:54:43 <zzo38> I haven't posted it yet, sorry
16:54:49 <zzo38> It is just an idea in my mind, so far
16:58:25 <zzo38> And hopefully you can understand what I meant by that
17:01:54 <zzo38> Puzzle 1640 solved
17:04:48 <zzo38> If you solved it, tell me your solution privately to me? (And I can do the same you, if you asked)(
17:07:05 <zzo38> The JavaScript version is licensed under Ms-PL, and you could look at it, and possible make up a editor for it if you wanted to, and do other stuff too, possibly)
17:10:28 <zzo38> There is only one program I wrote that I licensed under one of the Microsoft licenses (Ms-RL, to be specific), it is simply called "ddd" and it uses two licenses you may select one, Ms-RL and GNU GPL version 2 or later version. (The program was based on an example code from Microsoft web-site) (I selected this combination for another reason too, so that it could be included with Windows and with ReactOS as well)
17:11:09 <MissPiggy> I think zzo is a million times smarter than me :D
17:11:29 <MissPiggy> im going to try harder at 1640
17:16:17 <zzo38> I cannot see the videos or instructions, I just had to guess how it worked, and see whether or not I was correct. I figured out the rules of the game pretty easily actually
17:22:27 -!- zzo38 has quit.
17:26:02 -!- Asztal has joined.
17:34:29 <oklopol> you found 1640 hard?
17:35:02 <oklopol> maybe i just happened to see the solution instantly
17:35:55 <Deewiant> I can see a dozen solutions but none that fit in the available space.
17:39:54 <Gregor> Friends don't let friends use MS licenses.
17:40:48 <pikhq> Gregor: One of their licenses is actually a straightforward copyleft license...
17:41:00 <Gregor> Friends don't let friends use MS licenses.
17:41:12 <pikhq> Even the GPL-compatible one?
17:41:19 <Gregor> Friends don't let friends use MS licenses.
17:41:42 <Deewiant> Why use a GPL-compatible MS license if you can use GPL/BSD/MIT
17:41:45 <pikhq> Erm. Sorry. Neither of the free ones is GPL-compatible.
17:41:56 <pikhq> (patent clause)
17:42:45 <Gregor> Friends don't let friends use MS licenses.
17:46:48 <Gregor> Awww, I have a happy, purry kitty.
17:46:57 <Gregor> (That's the best kind of kitty)
17:53:17 <fizzie> I have a cat that tries to eat cardboard.
17:55:08 <Deewiant> Is that the best kind of cat too?
17:59:12 <oklopol> well my dog eats shit
17:59:17 <oklopol> take that, society
17:59:20 <oklopol> sleep ->
18:04:54 -!- jix has joined.
18:08:44 -!- tombom has joined.
18:09:44 -!- tombom_ has joined.
18:25:15 -!- tombom__ has quit (Read error: 110 (Connection timed out)).
18:28:20 -!- tombom has quit (Read error: 110 (Connection timed out)).
18:46:53 <Deewiant> I think I did Tree, Tree II, and Tree III all in less time than I've stared at Learning Stack
18:48:20 <MissPiggy> that one looks difficult
18:49:09 <Deewiant> Limit your stack! is among the first ones I did, and it's rated 0.8 higher than Learning Stack
18:49:46 <fizzie> Hrm, but wasn't "learning stack" just yet one of the "move-recurse-move" ones, basically?
18:49:59 <Deewiant> http://robozzle.com/js/play.aspx?puzzle=330
18:51:12 <Deewiant> Hmm, reopening it gave me a new idea...
18:51:28 <fizzie> Yes. I did it in about eleven seconds now, though I've done it earlier too so maybe that doesn't count.
18:52:00 <Deewiant> Right, interleaving calls to F1 and F2 wasn't a good idea.
18:52:21 <fizzie> I have just a single f2-call in f1, and then some manual movement for the twiddle in the tail.
18:52:34 <Deewiant> Yeah, exactly.
18:52:50 <Deewiant> That twiddle was giving me trouble as I had F1 call F2, which called F1 again.
18:53:46 <Deewiant> I'd've had a lot easier time if F1 would've been the recursive function :-P
18:53:57 * uorygl looks at puzzle 1640.
18:58:25 <uorygl> Solved.
18:58:36 <Deewiant> Meh, screw you guys.
18:59:20 <MissPiggy> screw you guys I'm going home
18:59:36 <Deewiant> That'd work if I wasn't at home.
19:17:28 <uorygl> And solved 189, too.
19:17:38 <uorygl> This game is, in fact, not bad.
19:17:51 <Deewiant> Like cpressey said, it's crack.
19:18:10 <Deewiant> I apparently should never try crack, given that my ability to solve puzzles is so random.
19:32:04 <uorygl> I think "crack" can be defined as "something that you don't like but want to do again anyway".
19:33:27 <uorygl> It can also be defined as "methyl (1R,2R,3S,5S)-3- (benzoyloxy)-8-methyl-8-azabicyclo[3.2.1] octane-2-carboxylate".
19:37:38 * Sgeo__ hopes ehird is ok
19:51:26 <uorygl> ehird hasn't been seen in a while?
19:53:54 <Sgeo__> Well, I haven't seen him in a while
19:57:14 * uorygl nods.
20:13:24 <Sgeo__> It took fizzie _8_ commands to solve Gridlock
20:13:59 <Sgeo__> ( this one http://robozzle.com/puzzle.aspx?id=882 )
20:18:17 <AnMaster> <Deewiant> That'd work if I wasn't at home. <-- then what about "screw you guys I'm leaving home"?
20:19:07 <FireFly> Gee, now I'm also obsessed with robozzle >.>
20:19:17 <AnMaster> I tried it
20:19:18 <AnMaster> and
20:19:22 <AnMaster> meh
20:19:29 <FireFly> Yeah, same here
20:19:32 <FireFly> And then I tried it again
20:19:32 <FireFly> and
20:19:34 <FireFly> stuck :\
20:19:43 <AnMaster> note to self: don't try it again
20:19:50 <AnMaster> I don't have the time to try it agai
20:19:51 <AnMaster> again*
20:20:22 * Sgeo__ already stole plenty of people's time
20:20:37 <Sgeo__> Well, ok, so it was Robozzle, and I just pointed to it, but still
20:20:39 <Sgeo__> Muahaha!
20:24:53 -!- bsmntbombdood_ has changed nick to bsmntbombdood.
20:45:04 <Deewiant> Sgeo__: Gridlock is one of the ones that I stared at for at least half an hour
20:45:25 <Sgeo__> Looking at other's solution lengths can help
20:45:49 <Sgeo__> I think there are two puzzles named Gridlock, though
20:45:51 <Deewiant> Well yes, because if the length is 3 there are only so many combinations :-P
20:46:04 <Deewiant> I was talking about that one, at least
20:49:36 -!- cheater2 has joined.
20:55:12 -!- madbrain has joined.
20:57:01 -!- GreaseMonkey has joined.
20:57:25 <GreaseMonkey> so, uh, my robozzle python port is starting to shape up
20:57:29 <GreaseMonkey> you can click stuff!
20:57:33 <GreaseMonkey> soon you'll be able to run stuff!
20:57:39 <GreaseMonkey> i just need icons + behaviour!
20:58:38 <Sgeo__> GreaseMonkey, make a Robozzle Flash client?
20:58:44 -!- cheater3 has quit (Connection timed out).
20:58:56 <GreaseMonkey> Sgeo__: eww flash is poop :/
20:59:02 <GreaseMonkey> it also reaks of proprietary
20:59:08 <Sgeo__> GreaseMonkey, better than Silverlight, though
20:59:13 <GreaseMonkey> true
21:02:38 <GreaseMonkey> oh the joys of flexible programming languages
21:02:40 <GreaseMonkey> (icon_pause if self.rrunning and self.rstarted else icon_play)(surf, 2, self.h-2-54)
21:06:15 <fizzie> Sgeo__: Since it obviously disturbed you, I submitted a four-command solution for Gridlock; it took something like seven seconds to devise one. I'm not quite sure what the 8-command one could've been.
21:07:23 <fizzie> Sorry, three. One was superfluous.
21:07:30 <GreaseMonkey> fizzie: which is this?
21:08:02 <fizzie> Number 884.
21:08:06 <fizzie> No, 882.
21:08:10 <fizzie> Misremembered.
21:08:45 <fizzie> Sgeo was being complainy about my existing eight-command solution.
21:09:07 <fizzie> Anyway, stop babbling about the game; I've succesfully stopped playing it twice or thrice already.
21:09:35 <FireFly> >_<
21:09:48 * FireFly is half-stuck on Recursed
21:11:50 <GreaseMonkey> lemme try...
21:12:23 <fizzie> The dreaded move-recurse-move (anti)pattern.
21:12:26 <GreaseMonkey> got it straight away =D
21:12:34 <GreaseMonkey> ^ R< 1
21:13:41 <GreaseMonkey> rofl about half of the solvers got it in 3: http://robozzle.com/puzzle.aspx?id=882
21:14:00 <GreaseMonkey> actually, it's split into 1/3s
21:14:09 <GreaseMonkey> 1/3 got 3, 1/3 got 4, and the other 1/3 got more
21:18:33 -!- oerjan has joined.
21:18:41 <AnMaster> Sgeo__, why did you suggest flash
21:18:43 <AnMaster> ...?
21:18:57 <Sgeo__> AnMaster, more people would be willing to try RoboZZle
21:19:52 <AnMaster> Sgeo__, than with python?
21:20:17 <AnMaster> Sgeo__, well I think flash and silverlight are equally bad
21:20:29 <AnMaster> brb
21:20:34 <Sgeo__> I think many people in /r/WebGames would disagree
21:22:01 <Deewiant> You should've just linked to the javascript version directly
21:22:04 <tombom_> what somebody in here made it?
21:22:18 <Deewiant> No
21:24:34 <GreaseMonkey> YAY IT'S PROGRAMMABLE \o/
21:24:49 <AnMaster> Sgeo__, the js version wasn't too bad
21:24:50 <GreaseMonkey> now to make it point out which command is actually running
21:24:57 <AnMaster> and now, night →
21:25:02 <GreaseMonkey> the JS version just needs an editor
21:25:03 <GreaseMonkey> night AnMaster
21:25:22 <Sgeo__> AnMaster, I did mention the JS version in the comments
21:25:30 <Sgeo__> But no one seems to have noticed bleh
21:25:50 <Deewiant> Yeah, people are idiots
21:26:21 <Deewiant> They click the link, comment "OMG SILVERLIGHT FU" and don't bother reading and upvoting the top comment which points to a javascript version
21:26:38 <Deewiant> Hence link to the javascript version instead of the silverlight :-P
21:27:37 <GreaseMonkey> if i wanted a web version, java[script] would be my choice
21:27:47 <GreaseMonkey> java would be used if ever it needed music
21:34:37 <GreaseMonkey> now i've got to get painting working
21:40:39 -!- MissPiggy has quit (Read error: 113 (No route to host)).
21:41:35 <GreaseMonkey> hmm, it appears that it was already implemented.
21:45:40 <GreaseMonkey> argh bugger it doesn't reset the map - i shall fix that now.
21:49:30 <GreaseMonkey> whee langton's ant \o/
21:51:00 <GreaseMonkey> and it resets properly.
21:51:08 <GreaseMonkey> now to add in stars and moveables.
21:55:53 <GreaseMonkey> should i integrate pymod with this and make it fetch random MODs from modarchive
21:55:55 <GreaseMonkey> ?
21:57:07 <GreaseMonkey> but yeah, pys3m is far too CPU-heavy to be integrated with this thing
22:02:55 <Sgeo__> Can this download levels from robozzle.com? That would be cool
22:05:16 <GreaseMonkey> not yet
22:05:25 <GreaseMonkey> you can't load or save ATM
22:05:34 <GreaseMonkey> also, you can't relocate the robot yet
22:06:32 -!- MigoMipo has changed nick to MigoMipo_Zwei.
22:06:37 -!- MigoMipo_Zwei has changed nick to MigoMipo_Drei.
22:06:58 -!- MigoMipo_Drei has changed nick to MigoMipo.
22:09:31 -!- BeholdMyGlory has quit (Remote closed the connection).
22:16:06 <GreaseMonkey> ARGH the digit printer prints the digits backward
22:16:07 <GreaseMonkey> s
22:16:56 -!- calamari has joined.
22:17:42 <calamari> Gregor: btw, did you meet Justin Cappos when in Washington?
22:18:58 <calamari> oh nm.. wrong university
22:22:54 <GreaseMonkey> yay this does basically everything except loading + saving
22:27:52 -!- kar8nga has quit (Remote closed the connection).
22:28:29 -!- tombom_ has quit ("Leaving").
22:37:04 -!- MigoMipo has quit (Remote closed the connection).
22:38:28 <Gregor> I wasn't in Washington at all, wrong university or not :P
22:42:57 <GreaseMonkey> question: should i continue to work on my python robozzle port, or add some more formats to my module transposer thingy?
22:43:13 <Sgeo__> Both!
22:44:28 -!- oerjan has quit ("Later").
22:59:56 <uorygl> What module transposer thingy?
23:15:12 -!- MizardX- has joined.
23:15:21 -!- MizardX has quit (Read error: 54 (Connection reset by peer)).
23:15:50 -!- MizardX- has changed nick to MizardX.
23:16:37 -!- FireFly has quit ("Leaving").
23:28:11 <GreaseMonkey> it's something i'll use to transpose mod/s3m/xm/it
23:28:20 <GreaseMonkey> working on the xm one, and s3m is remaining
23:43:07 -!- augur has quit (Read error: 60 (Operation timed out)).
23:52:18 <SimonRC> so... it turns out that if you launch vim in certain ways from the GUI, it starts up and just sits there, invisible
23:52:35 <SimonRC> this si not too bad except when one opens a 500MB file in it
23:52:56 <SimonRC> what with firefox sitting arouns it tends to create a bit of a memory crisis
23:55:09 * SimonRC goes to bed
23:56:36 -!- calamari has quit ("Leaving").
2010-01-25
00:01:49 -!- calamari has joined.
00:11:02 * SimonRC thinks up the next great Apple feature: sub-pixel mouse positioning.
00:11:21 <SimonRC> What the fuck am I doing?
00:11:24 <SimonRC> I'm going to bed.
00:12:08 <bsmntbombdood> total used free shared buffers cached
00:12:08 <bsmntbombdood> Mem: 12040 11973 67 0 196 10184
00:12:08 <bsmntbombdood> -/+ buffers/cache: 1592 10448
00:12:15 <bsmntbombdood> lol, memory crisis
00:12:46 <pikhq> That's a lot of RAM.
00:12:59 <bsmntbombdood> mmhmm
00:51:43 -!- pikhq has quit (Read error: 104 (Connection reset by peer)).
00:54:30 -!- pikhq has joined.
00:57:01 <Gregor> bsmntbombdood: That is not a memory crisis. That is a cache.
00:57:35 <bsmntbombdood> ehm
00:57:37 <bsmntbombdood> logread
01:00:01 -!- augur has joined.
01:37:24 <Gregor> Now soliciting opinions on http://codu.org/music/vg/zee1.ogg (which is supposed to be semi-retro video-game-music-ish)
01:38:54 <madbrain> no drums?
01:39:04 <Gregor> THAT DOES NOT COUNT AS AN OPINION
01:40:11 <madbrain> sounds kinda general midi <- is this an opinion?
01:40:27 <Gregor> It is GM, 's all I've got (I refuse to use loops)
01:41:01 <Gregor> Also I just frankly don't want to take the time and effort to go hunting for soundfonts, put them all together, and then render something that's questionably not legal for me to redistribute anyway.
01:41:07 <madbrain> get some free vsts if your sequencer supports them?
01:41:54 <madbrain> I'm not sure what to say because for retro video game music I use trackers
01:42:22 <Gregor> I generally compose music of a less synthesized style :P
01:42:50 <Gregor> (And I compose it for human beings, eliminating the issue of making the computer make the right sounds)
01:43:06 <madbrain> well, the square wave does sound out of it's place
01:44:22 <Gregor> Really? I sort of liked the contrast.
01:45:10 <pikhq> Sounds fine.
01:45:37 <pikhq> Almost a standard of NES music. :P
01:46:17 <madbrain> well, nes music tends to be more bass+drums+stuff
01:46:23 <madbrain> because otherwise it's too thin
01:49:47 -!- jpc has joined.
01:57:10 <Gregor> Replacing the square wave by an accordion results in pretty much pure awesomeness.
01:58:32 <Gregor> I may actually do that :P
01:59:35 <Gregor> Mainly it's awesome because a simple do-do-so-do on an accordion = polka
02:06:55 -!- augur has quit (Read error: 104 (Connection reset by peer)).
02:07:06 -!- augur has joined.
02:07:44 -!- Asztal has quit (Read error: 110 (Connection timed out)).
02:24:34 <GreaseMonkey> yes, i think it could do with an accordion
02:25:19 * Sgeo__ tries From Hell to Heaven
02:25:29 <Sgeo__> Looks like it looks easier than it looks
02:25:36 <Sgeo__> "Solved by 1 players"
02:26:56 <Sgeo__> Actually, no
02:28:20 <coppro> link?
02:29:00 <Sgeo__> http://robozzle.com/puzzle.aspx?id=1010
02:30:15 <coppro> boo, no js version
02:30:30 <coppro> oh wait, there is one
02:30:32 * coppro looks
02:30:44 <coppro> no wait, there isn't
02:31:33 <Sgeo__> http://robozzle.com/js
02:33:34 <coppro> yeah, but no js version of that puzzle
02:34:24 <Sgeo__> coppro, click one of the other puzzles, and put 1010 into there
02:34:39 <Sgeo__> Sometimes puzzles are hidden due to not getting good ratings
02:34:49 <coppro> oh
02:35:11 * Sgeo__ has had issues with the JS client, actually
02:35:27 <Sgeo__> Like, if the robot dies off the edge, I can't restart the puzzle without refreshing the page
02:35:36 <coppro> hit stop
02:35:54 <coppro> hmm
02:35:57 <Sgeo__> It doesn't work
02:41:09 <uorygl> It would be silly for music to be illegal to distribute due to being made out of copyrighted soundfonts.
02:42:22 <Gregor> It's a derivative work.
02:42:31 <uorygl> Are you sure?
02:42:43 <Gregor> How could it not be?
02:43:40 <madbrain> soundfonts have weird copyright stuff
02:44:00 <uorygl> There would probably be some law stating it's not a derivative work.
02:44:02 <madbrain> because if they copyrighted the samples on synths people couldn't use them in music
02:44:20 <madbrain> obviously not good for roland
02:44:30 <madbrain> which is where your samples probably come from anyways
02:45:14 <Gregor> Mine are all public domain, it's the Chorium soundfont.
02:45:34 <uorygl> Ah, there's fair use.
02:46:22 <pikhq> This is especially amusing when compared with actual fonts...
02:46:24 <pikhq> Which cannot be copyrighted.
02:46:25 -!- Pthing has quit (Remote closed the connection).
02:46:26 <Gregor> Fair use has to do with how much of the work you use. When the work is a soundfont, and you used it to render music, you've used a lot of it.
02:46:36 <uorygl> I'm sure it's difficult to argue that using a soundfont in a piece of music and distributing the piece diminishes the value of the soundfont.
02:47:06 <uorygl> pikhq: I've heard that before, but I think I tried to verify it and wasn't able to.
02:47:06 <pikhq> (the actual font *file* can be copyrighted, though; it counts as a computer program.)
02:49:26 <pikhq> http://www.loc.gov/cgi-bin/formprocessor/copyright/cfr.pl?&urlmiddle=1.0.2.6.2.0.174.1&part=202&section=1&prev=&next=2
02:50:20 <Gregor> (e) Typeface as typeface.
02:50:32 <Gregor> So, typeface as candy can by copyrighted.
02:50:37 <pikhq> Hahahah.
02:50:48 <pikhq> Yes, a candy mold of a typeface could be copyrighted.
02:50:56 <pikhq> But someone could carve their own mold.
02:51:23 <uorygl> So could I create a new file of an existing font, using the font file as my only reference?
02:52:04 <pikhq> So long as you actually *create* the new file, rather than deriving it, yes.
02:52:33 <pikhq> The font file merely describes how to render a typeface. You can look at the rendered typeface and imitate that just fine.
02:53:10 <pikhq> Note: it'll still be a derived work in Europe.
02:53:51 <uorygl> Is there legally a difference between copying the file and simply creating an identical one?
02:54:03 <pikhq> Yes.
02:54:17 <pikhq> The first is a derived work.
02:54:22 <pikhq> The second is a bizarre coincidence.
02:54:46 <uorygl> Well, I should say...
02:54:52 <Gregor> If I accidentally write a novel that's exactly equal to some Harry Potter book I haven't read, but with "Harry Potter" replaced by "Dodifer Fleghermaier", that's legal. Hard to prove though.
02:55:33 <pikhq> Unlike patent law.
02:55:42 <Gregor> Yesh
02:55:44 <uorygl> Between copying parts of the file, and looking at a part of the file, rendering it, and derendering it such that the new part is identical to the old one.
02:55:50 <pikhq> If you invent something that was invented and patented last year, you're screwed.
02:56:16 <Gregor> pikhq: If you invent something that was invented and patented twelve seconds ago, you're screwed :P
02:56:17 <pikhq> uorygl: If it's an automatic process, probably derived.
02:56:23 <pikhq> Gregor: Quite.
02:56:52 <uorygl> What if I invent something for which a patent was applied yesterday, but which has not yet been revealed to the public?
02:56:54 <pikhq> Heck, if the patent application was done by someone else a month after you, you're screwed.
02:57:23 <pikhq> (needs to be a year prior to be prior art. Yes, really.)
02:57:25 <uorygl> Ideally, if I do that, the law automatically changes such that the patent is invalid.
02:57:51 <uorygl> ...So I can invent someone and then someone else can patent it?
02:58:03 <coppro> that's not the purpose of patent law
02:58:10 -!- Gracenotes has joined.
02:58:14 <uorygl> s/one/thing/
02:58:15 <uorygl> "I invented it, too, right after he told me how he invented it."
02:58:18 <coppro> the purpose of copyright and patent laws are actually different
02:58:21 <Sgeo__> Is Gracenotes addicted yet?
02:58:36 <pikhq> coppro: Yes. And that's tangential.
02:58:45 <coppro> it's not
02:59:29 <coppro> the purpose of copyright law is to give someone assurance that only they may profit from a work
02:59:38 <pikhq> Something can be nuts even if it has a purpose.
02:59:45 <coppro> the purpose of patent law is to give the public the assurance that new innovations are available
02:59:56 <coppro> oh, I completely agree
03:00:02 <pikhq> And that's not the purpose of copyright law.
03:00:17 <coppro> what would you define the purpose of copyright law as, then?
03:00:18 <Gracenotes> ..maybe
03:00:22 <pikhq> The purpose of copyright law is to give the public the assurance that new works of art are available.
03:00:43 <coppro> no
03:00:44 <Gracenotes> I lurv you all
03:00:47 <pikhq> And it only in that context that Congress even has the power to enact a copyright law.
03:00:48 <Gracenotes> my A key has been broken for 2 months
03:00:53 <pikhq> Erm. it is.
03:01:22 <coppro> there is no such thing as a first-to-copyright system anywhere in the world, unless I'm seriously mistaken
03:01:33 -!- oerjan has joined.
03:01:36 <pikhq> That's a non sequitur.
03:01:41 <coppro> it's really not
03:02:26 <oerjan> no _this_ is a non sequitur. oh wait...
03:02:39 <Gregor> Your mom is a non sequitur.
03:02:42 <pikhq> "Congress shall have the power [...] to promote the Progress of Science and useful Arts, by securing for limited Times to Authors and Inventors the exclusive Right to their respective Writings and Discoveries;"
03:03:01 <coppro> I don't care about USAian law
03:03:10 <Gregor> Computer Useful Art
03:03:12 <pikhq> But that's what we were discussing.
03:03:17 <coppro> oh, we were?
03:03:23 <pikhq> The "securing an exclusing right" bit is merely a means to an end...
03:03:30 <pikhq> That's not the first time I've cited it.
03:04:07 <coppro> the USA further muddles things by adopting a first-to-invent system
03:04:32 <pikhq> Which is arguably not among Congress' powers.
03:04:39 <pikhq> (not that that's stopped them before)
03:04:40 <coppro> don't know, don't care
03:05:02 <pikhq> Well, I cited the only bit that grants them the power to do a copyright or patent law.
03:05:24 <pikhq> (the US federal government does an astounding lot more than they have the de jure power to)
03:05:25 <coppro> I meant I don't know or care about Congress' powers
03:05:36 <Sgeo__> GreaseMonkey, igoro replied to you
03:05:43 <coppro> not being in the US, it's not important to me
03:06:13 <GreaseMonkey> Sgeo__: where?
03:06:19 <Sgeo__> http://robozzle.com/forums/thread.aspx?id=175
03:07:37 <coppro> in any case, a first-to-patent system directly accomplishes the goal of public dissemination
03:07:48 <coppro> Berne copyright does not
03:08:35 <Gregor> BURN COPYRIGHT YARGH oh wait you mean the Berne convention ...
03:09:42 <coppro> whereas first-to-patent laws discourage information hoarding, copyright and first-to-invent systems do not
03:10:36 <Gregor> Really, the US has a most-$$$ system.
03:10:56 <Gregor> It doesn't matter if you invented it first if IBM invented it second.
03:10:57 <pikhq> In the modern day and age, limitation of the trading of information encourages information hoarding.
03:11:05 <Gregor> (Unless you're Microsoft)
03:11:58 <coppro> actually, Gregor, that's only true in one direction
03:12:07 <coppro> it's true that if IBM has the patent, you're screwed either way
03:12:36 <coppro> but if you have the patent, and IBM violated it, you have a shot at some serious dough
03:12:42 <Gregor> This is true.
03:12:50 <pikhq> If you have the patent, then IBM will sue you for some patent that they *do* have, and offer to settle out of court.
03:12:57 <pikhq> With a reciprocal license.
03:13:01 <coppro> possibly
03:13:04 <Gregor> Also true :P
03:13:22 <pikhq> This is the modus operandi of most all large corporations.
03:13:28 * Sgeo__ blehs at the Worlds.com
03:13:29 <coppro> but in that case you can fight if they don't have a valid claim against you
03:13:41 <pikhq> Except that they almost certainly do.
03:13:43 <coppro> sure
03:13:48 <Gregor> Because everything is patented :P
03:13:50 <coppro> but what if you have no product?
03:13:50 <pikhq> You almost can't breath without violating a patent.
03:13:58 <pikhq> Business methods.
03:14:00 <coppro> or if their patent is invalid?
03:14:02 <coppro> Bilski
03:14:12 <Sgeo__> newfeatures? Worlds? lolWHAT?
03:14:18 <Gregor> Their patent being invalid again comes down to $$$.
03:14:28 <Gregor> You can patent adding 1 and 1 if you have enough dollar signs.
03:14:35 <coppro> that's not it though
03:14:36 <pikhq> If you have absolutely no product, then you're not having the cash to sue, unless you're a patent troll.
03:14:50 <coppro> pikhq: or you may be a startup without a product yet
03:14:53 <pikhq> In which case, the company in question has already paid your protection money.
03:15:02 <pikhq> coppro: In which case, you don't have the cash to sue.
03:15:06 <pikhq> And you're fucked.
03:15:14 <coppro> Gregor: that's not the issue
03:15:25 <coppro> the issue is that if you're sued for an invalid patent, you're screwed either way
03:15:39 <coppro> but if you've got a suit of your own and you win both, you can cover your costs with the spoils
03:15:59 <pikhq> Yes, but you won't survive to the end of the suit.
03:16:19 <pikhq> (you got 10 years worrth of lawyer fees sitting around to shovel into something?)
03:19:23 <Sgeo__> LOL, this build of WorldsPlayer is 6 years old
03:19:39 <Sgeo__> Build date 11/12/04
03:19:53 <pikhq> The US' legal system is pretty much designed so that whoever has the most $ wins.
03:20:09 <pikhq> Our political system has approached that point, as well.
03:20:11 <coppro> yeah
03:20:28 <pikhq> Oh, and corporations can fund the politics.
03:20:48 <coppro> IP law is shaping up to be a real test of the government's willingness to listen to the people vs. the money
03:20:53 <Gregor> God bless America
03:20:54 <coppro> especially copyright
03:21:24 <pikhq> So far, the people are losing.
03:21:38 <coppro> looks like it
03:21:57 <pikhq> Though they have the advantage that IP law is about as enforcable as making breathing illegal.
03:22:08 <coppro> but treaties are, fortunately, not enforceable until ratified
03:22:37 <coppro> so ACTA/EUFTA(?) will need to make it past Parliament first
03:23:06 <coppro> <3 Michael Geist
03:23:06 <pikhq> It's US copyright law that gets spread to other countries via treaty, y'know. :P
03:23:19 <coppro> pikhq: not just that; the EU are trying to do it too now
03:24:06 <coppro> ah, it's called CETA
03:24:07 <coppro> http://www.michaelgeist.ca/content/view/4704/125/
03:28:06 -!- dbc has quit (Read error: 110 (Connection timed out)).
03:59:33 -!- dbc has joined.
04:00:58 <Gregor> madbrain, GreaseMonkey: http://filebin.ca/mnotrf/zee1acc.ogg
04:01:37 <Sgeo__> http://cb.vu/
04:02:11 <Gregor> Kinda changes the mood, but god that accordion is awesomesauce.
04:02:36 <oklopol> what's that
04:02:53 <pikhq> Music, of the Gregor kind.
04:02:56 <Gregor> Ostensibly it's semi-retro-video-gameish-music
04:03:04 <Gregor> Of the Gregor kind.
04:03:05 <uorygl> Wow, cb.vu looks like a Unix shell.
04:03:16 <pikhq> As per the norm for Gregor music, it is enjoyable.
04:03:36 <Gregor> Y'know what really looks like a Unix shell? http://codu.org/jsmips/system.html
04:03:49 <pikhq> Gregor: I'd sure hope so. ;)
04:03:56 <oklopol> personally i don't find it your best work, but very good work, obviously
04:04:14 <Gregor> It's not supposed to be my best work, it's my first attempt at writing something fairly out of my style.
04:04:20 <oklopol> right
04:04:26 <Gregor> I didn't manage to get that far out of my style though, making it a weird hybrid :P
04:04:28 <uorygl> What does this uname line tell you: FreeBSD cb.vu 7.1-STABLE FreeBSD 7.1-STABLE #2: Wed Jan 30 16:21:05 CET 2009 c@cb.vu:/usr/obj/usr/src/sys/CB i386
04:04:34 <oklopol> maybe you try a bit too hard to keep it consistent
04:04:50 <pikhq> I find it amusing that the thing making jsmips slow is the remote filesystem.
04:04:53 <uorygl> i386. I guess that means x86.
04:04:54 <pikhq> (lagtastic!)
04:04:58 <oklopol> (or not)
04:05:09 <Gregor> oklopol: How so?
04:05:34 <oklopol> well there isn't a clear change of mood anywhere, is there
04:05:52 <Gregor> No, no there is not. This is a good point.
04:05:58 <pikhq> oklopol: How much video game music does?
04:06:01 <Gregor> I mean, it's supposed to be background music.
04:06:06 <pikhq> ... Pre-Playstation, I should say.
04:06:13 <oklopol> pikhq: i've mostly heard FF music...
04:06:31 <oklopol> maybe i'm slightly biased
04:06:48 <pikhq> oklopol: Nobuo Uematsu didn't really start doing mood changes at all until SNES or Playstation era.
04:07:14 <Gregor> That's a technological limitation though.
04:07:23 <Gregor> Hard to coordinate music to onscreen events without any sort of video.
04:07:30 <oklopol> ...and the only FF musics i remember are from 9 and 7
04:07:43 <Gregor> Heh
04:07:59 <pikhq> Gregor: Harder still when the games didn't have much in the way of *plot*. :P
04:08:24 <Gregor> There's this witch. Uh, could you kill her for us? kthx
04:08:54 <pikhq> The plot for Final Fantasy was more like "Uh, there's a big bad. Could you guys defeat him? Kthx."
04:09:23 <pikhq> (and yet, still had some good music. "Final Fantasy" is a much nicer piece than it has any right to be...)
04:10:43 <madbrain> japanese ff3 has some nice songs
04:11:10 <pikhq> The same is true of all mainline Final Fantasy games.
04:11:19 <pikhq> Nobuo Uematsu takes video game music seriously, and it shows.
04:11:25 <madbrain> ok, better than the other nes games
04:11:37 <madbrain> pikhq: it's his job
04:12:09 <Gregor> madbrain: Then why does so much of the rest of video game music suck?
04:12:13 <Gregor> madbrain: It's their job too.
04:12:38 <madbrain> not enough time/too small budget/etc
04:12:53 <madbrain> also they don't care
04:13:31 <pikhq> ... Nobuo Uematsu, when he started, was hired part time out of the music rental store he worked at.
04:13:41 <pikhq> I'd call that "small budget".
04:13:47 <madbrain> yeah, he was at the right place at the right moment
04:13:57 <pikhq> It's kinda stunning that Square got even decent music out of that deal.
04:14:07 <pikhq> Much less "rather good".
04:14:16 <madbrain> also, talent, better tools...
04:14:34 <madbrain> a lot of early music (8bit era) was made in, like, assembler
04:14:40 <oklopol> Gregor: okay on a third listening, i don't think there's anything wrong with the mood
04:14:47 <oklopol> or -lessness
04:14:47 <Gregor> lol
04:15:28 <pikhq> madbrain: True.
04:15:33 <madbrain> like, if the square guys made him a program, and didn't force him to squeeze into, say, 32k to squeeze in more gfx, that probably helped
04:15:59 <pikhq> madbrain: They just told him what the NES could and couldn't do and let him have at it.
04:16:29 <madbrain> well, what I'd like to see is the tool the had to sequence the music
04:17:00 * pikhq is curious as well.
04:17:20 <madbrain> like, every so often they have .nsf compos
04:17:31 <oklopol> Gregor: maybe the feel of a sort of stability was just because the theme sort of stays the same throughout the whole song, which obviously was done on purpose, it just makes some of the "returning to the theme before next interesting part" feel pointless (maybe)
04:17:47 <oklopol> also maybe i should criticize less, it really was pretty good :P
04:18:08 <Gregor> I have no use for noncritical statements.
04:18:17 <oklopol> true.
04:18:21 <madbrain> well, looking at how people do songs for .nsf competitions these days
04:18:31 <madbrain> americans use trackers, japanese use MML
04:18:54 <madbrain> americans win the original song competition, japanese win the cover competition
04:19:03 * oklopol considers doing eso-related stuff
04:19:45 <madbrain> although it's hardly a NES compo anymore with all the extension chips people use
04:20:33 <Sgeo__> Why am I not eating yet?
04:20:58 <oklopol> wish i had food
04:21:11 <madbrain> also, final fantasy music was custom made for the console limits instead of some midi conversion
04:21:12 * Gregor wishes oklopol had food.
04:21:15 <Gregor> OK, now what?
04:21:55 <oklopol> hmm
04:21:59 <oklopol> send me munnay
04:21:59 <pikhq> madbrain: Helps a lot, that.
04:22:37 <madbrain> and he might have been more involved in the making of the game
04:22:42 <pikhq> It really helps a lot that Square actually had someone just write music that could fit on the NES, rather than "write something that counts as music".
04:22:59 <madbrain> instead of "here's 4000$, make us 20 songs"
04:23:16 <pikhq> "So one night when we were talking, she was asking if I would be interested in taking part in creating some music for some of the titles they were working on at that time. So I said, "Okay, for sure I'll do it." But that was totally a side job, and I wasn't considering that this would become any sort of full-time gig." -- Nobuo Uematsu
04:23:25 <pikhq> From http://www.1up.com/do/feature?pager.offset=1&cId=3166165
04:24:01 <madbrain> well, that's because in the 80s making music probably wasn't a full-time gig ever
04:24:28 <madbrain> that's more of a 16-bit era thing
04:25:13 -!- MizardX has quit (Connection timed out).
04:25:38 <madbrain> but yeah, these days games are more like made by the graphics guys
04:26:36 <madbrain> and they're not in a final fantasy 4 situation where the music has to be good because otherwise the games looks like total ass (just look at ff4's gfx)
04:28:10 <pikhq> FF4 didn't look like ass. *FF7* looked like ass.
04:28:49 <madbrain> ff7 looked good in 1997 :D
04:29:01 <pikhq> ... Not really.
04:29:09 <madbrain> and it's more like ff7 characters look like ass, the backdrops are nice afaik
04:29:25 <pikhq> The backdrops do look nice, yes.
04:29:36 <pikhq> Of course, those were *paintings*. ;)
04:30:00 <madbrain> the battle system models were less butty
04:30:18 <Gregor> "butty" :P
04:30:25 -!- oerjan has quit ("Lost terminal").
04:30:36 <madbrain> probably because they didn't have to make the battle run at 30fps :D
04:30:36 <pikhq> It was pretty much the only entry in the series that looked *worse* than contemporary games...
04:30:55 <madbrain> yeah but the soundtrack is great
04:30:59 <madbrain> even though it's midi
04:31:11 <pikhq> The soundtrack is amazing, yes.
04:31:28 * pikhq puts on One Winged Angel. Whooo.
04:31:55 <pikhq> madbrain: Best heard performed by an orchestra.
04:31:56 <madbrain> it's sample set is less cheesey than most GM kits
04:33:03 <madbrain> that's the one where they recorded a choir no? :D
04:33:22 <uorygl> Like many before me, I feel like actually implementing Unix in JavaScript.
04:33:55 <Gregor> uorygl: http://codu.org/projects/jsmips/
04:34:01 <Gregor> Help me with that instead :P
04:34:23 <madbrain> a lot of other psx soundtracks were made on synthesizers of the day
04:34:43 <uorygl> Gregor: how does that work?
04:34:43 <pikhq> madbrain: Yes, One Winged Angel has a choir.
04:34:50 <madbrain> roland/yamaha/korg romplers
04:35:01 <pikhq> "Veni veni venias, ne me mori facias."
04:35:04 <Gregor> uorygl: It's a MIPS simulator. In JavaScript. With an /actual/ Unix shell and vim compiled for it.
04:35:28 <Gregor> From the maker of Hackiki :P
04:35:49 <pikhq> It's considered the Sephiroth theme for some reason.
04:35:51 <uorygl> Why would you implement MIPS in JavaScript rather than just implementing Unix in JavaScript?
04:36:10 <pikhq> (the theme is actually, of course, Those Chosen by the Planet)
04:36:20 <Gregor> uorygl: Because ultimately you're going to end up having no compatibility with real apps unless you can run C programs.
04:36:31 <uorygl> Well, you can compile C into JavaScript!
04:36:41 <pikhq> Gregor: I'm curious: have you looked at Coffeescript at all?
04:36:56 <Gregor> Not really, C assumes you have addressable memory, and so you'd effectively be simulating a system anyway.
04:36:59 <Gregor> pikhq: Nope.
04:37:25 <uorygl> Wow, it sounds like C sucks.
04:37:27 <madbrain> there's a couple of holes in this C addressable memory thing, no?
04:37:45 <pikhq> Gregor: It's a language that maps rather closely to Javascript...
04:37:54 <Gregor> pikhq: I can see that.
04:37:56 <pikhq> Gregor: Rather nice. Much nicer syntax & scoping.
04:37:57 <madbrain> pikhq: syntically
04:38:04 <Gregor> pikhq: But I like JavaScript :P
04:38:08 <pikhq> madbrain: Maps closely semantically.
04:38:08 <madbrain> synatactically... whatever
04:38:11 <madbrain> yes
04:38:29 <madbrain> in working I'd think JS is a lot more like Lua and that kind of stuff
04:38:43 <madbrain> C is more like... asm?
04:38:48 <uorygl> Hmm. The root of "syntax" isn't "syntact", is it?
04:39:03 <pikhq> Gregor: And Coffeescript is fairly close to Javascript.
04:39:37 <pikhq> Gregor: Just, \x->x looks like (x => x) rather than (function (x) {return x})
04:39:38 <pikhq> :P
04:39:53 <uorygl> I guess "syntax" is a truncation of "syntaxis".
04:40:25 <madbrain> but yeah, when you compose specifically for a platform, you can do amazing stuff
04:40:45 <madbrain> too bad that almost never happened on the PC
04:41:24 <pikhq> And then, starting with FFX, Nobuo Uematsu had it easy.
04:41:38 <Gregor> Sorry, this game only works with the Sound Blaster Pro
04:41:51 <madbrain> Dunno, after FF9 the soundtracks become less memorable
04:41:51 <pikhq> "Okay, here's your choir and orchestra. Come back with some CDs."
04:42:08 <madbrain> well, scoring for orchestra is an art too
04:42:28 <pikhq> ... *To Zanarkand* is not memorable?
04:42:32 <Gregor> madbrain: I don't think anyone would dispute that fact :P
04:42:36 <madbrain> haven't heard it actually
04:42:38 <pikhq> What sort of heartless bastard are you? :P
04:42:45 <madbrain> pikhq: ok FFXII
04:42:47 <pikhq> Did you *play* FFX?
04:42:49 <madbrain> no
04:42:50 <madbrain> :D
04:42:56 <pikhq> FFXII wasn't Nobuo Uematsu.
04:42:58 <Gregor> So that's why it's not memorable then :P
04:43:02 <pikhq> Yes.
04:43:04 <madbrain> :D
04:43:06 <madbrain> yeah
04:43:11 <pikhq> madbrain: Play FFX.
04:43:17 <pikhq> It's the best game in the series.
04:43:34 <pikhq> Only one I've replayed.
04:43:35 <Gregor> Whoah, that's a strong statement.
04:43:48 <Gregor> Also, wtf, FFXII wasn't scored by Uematsu? D-8
04:44:01 <madbrain> I'm a huge fan of composing for the hardware instead of just making mp3s
04:44:06 <pikhq> Gregor: Nope. FFX wasn't soley scored by him, either.
04:44:08 <madbrain> but I'm a nerd :D
04:44:24 <madbrain> yeah something that large is probably more than one guy no?
04:44:29 <Gregor> I'm a huge fan of composing for the hardware, where "the hardware" = "a piano"
04:44:39 <pikhq> madbrain: First time he didn't compose the entire game.
04:45:07 <pikhq> He did compose all of FFXI. And is composing all of FFXIV.
04:45:26 <Gregor> Who cares about FFXI :P
04:45:34 <madbrain> He's not actually the best but he's way good enough
04:45:35 <Gregor> What about X-2?
04:45:49 <pikhq> Gregor: Not him.
04:45:55 <madbrain> the guy who did chrono trigger is actually better
04:46:33 <pikhq> madbrain: ... Mitsuda and Uematsu?
04:46:43 <madbrain> mitsuda something yeah
04:47:40 <pikhq> Gregor: People who like MMOs.
04:47:43 <uorygl> Okay, in C, when do you actually use addressable memory?
04:47:48 <uorygl> Pointers. Arrays. Anything else?
04:47:56 <Gregor> uorygl: ... but pointers and arrays are /everywhere/.
04:48:06 <pikhq> uorygl: Everything in C is addressable.
04:48:12 <madbrain> well, no but yeah the sort of pointer/array merge it has is everywhere
04:48:14 <Gregor> uorygl: The only way to get memory dynamically is to get an address to something.
04:48:16 <pikhq> (well, almost everything. All lvalues are.)
04:48:33 <madbrain> and you have the problem that you can mess up all the dependencies with pointers
04:49:01 <Gregor> You can mess up pretty much anything with pointers if you please.
04:49:01 <madbrain> int p; p = 2+5; wacky_function(&p);
04:49:14 <pikhq> You can rewrite functions with pointers.
04:49:19 <pikhq> (not in a portable manner)
04:49:33 <madbrain> yeah that's inherently platform specific
04:49:39 <uorygl> Well, let's say that we figure out how to implement pointers and arrays.
04:49:56 <Gregor> uorygl: Then you're simulating virtual memory.
04:50:07 <uorygl> Haskell has pointers and arrays.
04:50:11 <Gregor> uorygl: And all of your operations have to support the fact that values may change from under them, so they're all simulated too.
04:50:14 <uorygl> madbrain: what is &?
04:50:20 <madbrain> I think you have to figure out if variables are only local or if they get turned into pointers/references
04:50:24 <pikhq> The address-of operator.
04:50:25 <Gregor> Oh, uorygl doesn't speak C, that explains it :P
04:50:32 <madbrain> uorygl: get memory address operator
04:50:34 <uorygl> That does explain it!
04:50:38 <pikhq> uorygl: In C, everything is addressable.
04:50:54 <pikhq> Except for return values, and...
04:51:16 <pikhq> A handful of other niche things.
04:51:27 <madbrain> once stuff is pointerizable, then you can contaminate stuff in your program with it and mess up everything
04:51:43 <Gregor> pikhq: Also variables labeled "register" :P
04:51:51 <pikhq> uorygl: And "pointers and arrays"?
04:51:56 <pikhq> uorygl: Surely you just mean pointers.
04:52:04 <pikhq> Gregor: Right, right.
04:52:29 <madbrain> might be doable anyways
04:52:56 <madbrain> although you'll probably need to simulate integer wraparound :(
04:53:00 <pikhq> madbrain: Oh, you can do it. You just have a memory array.
04:53:09 <pikhq> No, you don't need to simulate integer wraparound.
04:53:14 <pikhq> Going beyond the bounds is UB.
04:53:21 <uorygl> We can say that pointers are opaque until you try to do something non-opaque with them.
04:53:34 <madbrain> pikhq: ok, for char and short
04:53:41 <madbrain> and... was it long?
04:53:56 <uorygl> And when you do something non-opaque with them, they turn into dictionary keys.
04:53:59 <madbrain> it's probably messed up depending on compilers anyways
04:54:04 <pikhq> Erm. Sorry, that's *signed* integer wraparound that's undefined.
04:54:10 <pikhq> Unsigned is obvious.
04:54:20 <pikhq> uorygl: Nope, won't work.
04:54:23 <uorygl> No?
04:54:32 <pikhq> uorygl: Something "non-opaque", like a[1].
04:54:43 <madbrain> uorygl: programs do nasty stuff with pointers
04:54:49 <pikhq> uorygl: Or a ^= b;
04:55:16 <pikhq> uorygl: Or a++;
04:55:37 <madbrain> javascript is designed for people doing programs directly in it, not handling butty C syntax trying to save 3 cycles on a VAX
04:55:51 <uorygl> Pointer + integer is opaque enough.
04:55:56 <pikhq> uorygl: Or (and this is really nasty:) int a = 0;a = &(1[(char*)a]);
04:56:23 <madbrain> pikhq: yeah you're going to have to intercept that kind of cast
04:56:29 <uorygl> Hmm.
04:57:04 <pikhq> madbrain: Yeah, very much undefined behavior.
04:57:12 <pikhq> Make it intptr_t, and you're just fine.
04:57:24 <pikhq> (sizeof(intptr_t) = sizeof(void*))
04:58:01 <pikhq> uorygl: I suppose you're not familiar with the xor-linked list?
04:58:11 <uorygl> That sounds really painful.
04:58:17 <madbrain> pikhq: oh god that sounds totally horrible
04:58:26 <pikhq> It's a doubly linked list with a single pointer per node.
04:58:42 <uorygl> Ah, yes.
04:58:54 <madbrain> nice way to save 4 bytes at the cost of sanity?
04:58:55 <pikhq> Each node has the previous node xor the next node stored in it.
04:59:00 <uorygl> You XOR that pointer with the pointer you came from and get the pointer you go to.
04:59:19 <uorygl> Well, how's this.
04:59:41 <madbrain> that means you have to use 2 pointers to get inside the list but it's easy to reverse reading order?&
05:00:30 <madbrain> yeah that's like, impossible to garbage collect
05:00:37 <Sgeo__> Is madbrain addicted yet?
05:00:44 <pikhq> madbrain: You can also make it defined behavior by doing s/xor/addition/
05:00:51 <pikhq> (since pointer addition is defined)
05:01:08 <uorygl> That is indeed impossible to garbage collect, in the absence of compiler intelligence.
05:01:26 <pikhq> "compiler intelligence" like "halting problem".
05:01:26 <Gregor> [garbage-collector intelligence]
05:02:08 <pikhq> The Boehm GC answer to that is "if you do that, we *will* free the memory out from underneath you. So don't do that."
05:03:05 <madbrain> sgeo: to what?
05:03:47 <Gregor> BGC = awesome
05:03:48 <Sgeo__> RoboZZle
05:03:51 <Sgeo__> AFK
05:04:36 <pikhq> Gregor: Why yes, yes it does.
05:04:43 <pikhq> Favorite C library.
05:04:46 <Gregor> It does ... awesome?
05:05:00 <Gregor> Oh, it does equals
05:05:10 <Gregor> I always read "foo = bar" in normal conversation as "foo is bar" :P
05:05:19 <pikhq> Heheh.
05:06:45 -!- coppro has quit (Remote closed the connection).
05:06:45 <oklopol> i read it as foo = bar
05:07:33 <oklopol> i usually don't read irc out loud, because i'm not a crazy person
05:07:36 -!- coppro has joined.
05:14:57 -!- uoryfon has joined.
05:15:20 <uoryfon> Feckless, my Internet connection lapsed.
05:15:40 <uoryfon> So, I saw none of what anyone said.
05:16:01 <uoryfon> Anyway, my scheme:
05:17:22 <uoryfon> Whenever the program wants to dereference something, take a hash and store it in the dictionary. To dereference, look for nearby keys in the dictionary and subtract to find an offset.
05:19:08 <madbrain> why not just simulate memory with a huge array
05:19:36 <uoryfon> That sounds less efficient. Maybe it actually isn't.
05:20:06 <Gregor> What I did was use 4K arrays nested in a hash.
05:20:14 <Gregor> So a page is an array.
05:20:47 <uoryfon> What if you have a really big array in your C program?
05:21:30 <Gregor> What if you have a really big array in your C program?
05:21:39 <bsmntbombdood> What if you have a really big array in your C program?
05:21:41 <Gregor> Why would that be an issue?
05:22:09 <uoryfon> Well, it could exceed the page size.
05:22:57 <uoryfon> A page's hash plus 4096 is not the next page's hash.
05:23:06 <Gregor> Why would that be an issue?
05:24:21 <uoryfon> Because a program might use pointer arithmetic and get the wrong thing?
05:25:00 <Gregor> How could it possibly get the wrong thing? It's ultimately going to look up the location by its absolute address, not by looking up the base address of the array and assuming the rest is there.
05:26:01 <uoryfon> Isn't that how C works, though?
05:26:28 <uoryfon> By taking the base address of the array and assuming everything else is there?
05:26:29 <pikhq> C adds to a pointer, and then looks up the resulting pointer.
05:26:43 <pikhq> uorygl: ... Welcome to paging.
05:27:19 <coppro> store each pointer as a 2-byte hash of the object's address and a 2-byte offset
05:27:20 <pikhq> (fun fact: memory is not actually contiguous, it just pretends to be!)
05:27:33 <coppro> and just complain if you try to allocate more than 65535 elements in a single array
05:28:01 <pikhq> Store each pointer as an index into an array. And implement that array as 4K arrays in a hash.
05:28:33 <pikhq> Making the only annoying things to implement be malloc and free.
05:28:47 <uoryfon> I guess that sounds like it works.
05:28:55 <coppro> or just use llvm?
05:29:00 <pikhq> (though, this being MIPS emulated, that's on the C side)
05:29:02 * coppro ducks
05:29:56 <Gregor> Y'know what's sad? I've had zee1 on loop for like an hour now :P
05:30:15 <uoryfon> But gosh, C still sucks. It's not even approximately Turing-complete without this barely-well-defined artifact of von Neumann?
05:30:40 <Gregor> C is a language designed for computers, yes.
05:31:08 <GreaseMonkey> Gregor: here, stick this on loop: http://pubacc.wilcox-tech.com/~greaser/mods/kattywampus.it
05:31:10 <uoryfon> :P
05:31:18 <madbrain> well, C would need infinite size plointers
05:31:23 <madbrain> pointers
05:31:25 <Gregor> That's ... a dot-it file?
05:31:25 <coppro> I think Gregor has the right idea
05:31:25 <pikhq> C is not Turing complete without stdio.
05:31:33 <GreaseMonkey> Gregor: what players do you have?
05:31:34 <coppro> sure it is
05:31:45 <Gregor> GreaseMonkey: mplayer, vlc, anything else in Debian sid.
05:31:46 <GreaseMonkey> it shouold work OK in mikmody and modplugy stuff
05:31:56 <coppro> why would you need stdio for C to be Turing-complete?
05:32:05 <pikhq> coppro: ... Finite memory?
05:32:05 <Gregor> Is dot-it some kind of new-age .mod?
05:32:12 <GreaseMonkey> yeah... 1996-era
05:32:16 <uoryfon> Yeah, I suppose realistic computers are probably going to have addressable memory.
05:32:19 <coppro> pikhq: eh, same goes for every other computer language
05:32:21 <bsmntbombdood> pikhq: size_t is still finite
05:32:29 <GreaseMonkey> check if you've got mikmod, it doesn't interpolate (read: butcher) like vlc (modplug) does
05:32:34 <pikhq> bsmntbombdood: And stdio doesn't require size_t.
05:32:36 <GreaseMonkey> unless you explicitly enable it
05:32:45 <Gregor> $ aptitude install mikmod
05:32:48 <pikhq> You can just *happen* to have an infinite tape as a file. :P
05:33:01 <pikhq> coppro: C *requires* it.
05:33:02 <bsmntbombdood> size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream)
05:33:03 <bsmntbombdood> oh?
05:33:07 <Gregor> pikhq: C + Unix + stdio + my infinite tape device :P
05:33:18 <pikhq> bsmntbombdood: So you can only read a finite amount at a time.
05:33:21 <madbrain> pikhq: except many file systems have limited file size to stuff like 4gb :D
05:33:21 <coppro> pikhq: so any implementation of C is not Turing-complete
05:33:22 <GreaseMonkey> seek w/ SEEK_CUR only
05:33:23 <pikhq> The same is true of a Turing machine.
05:33:34 <GreaseMonkey> mikmod is a bit lacking in IT support sadly, but it should play that fine
05:33:34 <pikhq> coppro: C itself is not Turing-complete. At all.
05:33:35 <madbrain> pikhq: combine that to finite size file names
05:33:46 <coppro> pikhq: the standard imposes no limits on the size of memory
05:33:46 <bsmntbombdood> long ftell(FILE *stream);
05:33:48 <pikhq> madbrain: Single file that's a tape?
05:33:53 <pikhq> coppro: Yes it does.
05:33:57 <GreaseMonkey> there are no sustain loops
05:33:58 <pikhq> coppro: Everything must be addressable.
05:34:10 <GreaseMonkey> pikhq: uh, you forgot about I/O
05:34:12 <coppro> pikhq: if you run out of addresses, get an implementation with widen pointers
05:34:14 <pikhq> coppro: And pointers must have a size that's a multiple of the size of char.
05:34:19 <pikhq> coppro: And the size of a char must be finite.
05:34:31 <coppro> *wider
05:34:33 <pikhq> coppro: Pointers have to have a constant size.
05:34:42 <GreaseMonkey> technically the x86 is turing-complete as it has I/O available in some way
05:34:43 <pikhq> And finite.
05:34:47 <oklopol> coppro: you can output the size of a pointer, clearly after something like that there must be some set size limit for pointers
05:34:55 <pikhq> GreaseMonkey: ... stdio is IO.
05:34:55 <GreaseMonkey> which you could theoretically hook up to a tape drive
05:34:58 <coppro> pikhq: that's why I said that any implementation of C is not turing-complete
05:34:59 <Gregor> GreaseMonkey: How does one convince mikmod to output to ALSA instead of ... a file.
05:35:11 <pikhq> coppro: Pointers are *specified* to be finite.
05:35:22 <madbrain> C kinda almost designed for programs where everything is fixed size
05:35:29 <madbrain> kinda like old DOS programs
05:35:30 <oklopol> technically you could make an implementation that makes pointers bigger if needed ofc, but i doubt that's allowed to be visible to the user
05:35:34 <pikhq> Not merely "must be in practice", *MUST BE BY DEFINITION*.
05:35:40 <pikhq> oklopol: No.
05:35:42 <GreaseMonkey> Gregor: i honestly can't remember if mikmod has an alsa driver... esd should have an alsa version, and mikmod should have an esd driver
05:35:48 <pikhq> oklopol: sizeof(void*) is constant.
05:36:11 <Gregor> aoss + -d oss
05:36:21 <pikhq> As an optimisation, you could store them in less than sizeof(void*) units of char, so long as it was transparent.
05:36:28 <GreaseMonkey> hmmkay
05:36:30 <GreaseMonkey> afk, food
05:36:34 <pikhq> Of course, since char is finite, that doesn't get you anywhere.
05:36:56 <madbrain> but yeah that sort of platform is based on the irl fact that for infinite tape, 4gigabytes is "infinite enough" :D
05:37:34 <coppro> pikhq: a Universal Turing machine either requires a finite amount of memory for a computation, or doesn't halt
05:37:48 <coppro> and C can meet that standard
05:37:50 <pikhq> coppro: Sorry, I should say:
05:37:57 <pikhq> coppro: C requires finite *and bound* memory.
05:38:11 <coppro> only any given implementation of C does
05:38:13 <Gregor> coppro: A finite but unpredictable amount of memory.
05:38:18 <uoryfon> You have to specify the amount of memory before running the program.
05:38:28 <pikhq> coppro: No, there's always a bound.
05:38:28 <madbrain> what if the amount of memory is input dependent? :D
05:38:32 <coppro> yes, so any implementation of C is not Turing-complete
05:38:48 <pikhq> ... And so C is not Turing-complete.
05:38:56 <uoryfon> A Turing machine can't simply say how much memory it needs.
05:38:58 <Gregor> Good lawd, how are we somehow on this again X_X
05:39:21 <pikhq> coppro: Translate the following to C: [>]
05:39:26 <pikhq> Go on, I'm waiting.
05:39:35 <pikhq> Erm.
05:39:37 <pikhq> +[>]
05:39:43 <coppro> pikhq: abort()
05:39:48 <uoryfon> coppro, why do you think it is merely any implementation of C, rather than C itself, that is not Turing-complete?
05:39:53 <pikhq> coppro: Not a valid translation.
05:39:53 <madbrain> well, iirc interpreters for other turing complete languages will probably have a 4gb bound too :D
05:39:56 <pikhq> abort() halts.
05:40:01 <coppro> fine
05:40:01 <pikhq> +[>] does not.
05:40:02 <coppro> while()
05:40:06 <coppro> ;
05:40:23 <bsmntbombdood> it's dumb distinction anyway
05:40:23 <pikhq> Not a valid translation. +[>] uses infinite memory. while(); does not even compile.
05:40:46 <coppro> uoryfon: Because for any Turing machine, you can generate an implementation of C to simulate it
05:40:51 <pikhq> madbrain: Yes, but they're not required to be bound by definition.
05:40:53 <madbrain> more like while(1){ malloc(1);}
05:40:58 <pikhq> coppro: No you can't.
05:41:05 <coppro> why not
05:41:08 <uoryfon> +[[>+<-]>+]
05:41:21 <oklopol> for any halting one, yes
05:41:26 <Gregor> I hate this argument.
05:41:29 <pikhq> madbrain: More like void*p; while(*p++);
05:41:30 <madbrain> yes
05:41:31 <Gregor> How many times must this channel have this argument?
05:41:44 <coppro> any nonhalting Turing machine can be simulated by having the C program not halt
05:41:47 <oklopol> Gregor: this is the fourth time i've seen i think, must be one hundredth for you?
05:41:58 <Gregor> I bought a USB infinite tape JUST so I'd never have to have this argument again.
05:42:02 <oklopol> i mean you've been here since the middle ages
05:42:02 <Gregor> It's at /dev/infinite_tape
05:42:07 <Gregor> lol
05:42:21 <Gregor> cpressey, who has recently reappeared, has been here far longer than me.
05:42:27 <Gregor> calamari has been here for a bit longer than me.
05:42:31 <uoryfon> coppro: would you say that every Turing machine can be simulated by an FSM?
05:42:32 <pikhq> madbrain: That may halt in a compliant C implementation.
05:42:35 <Gregor> clog has been here longer than me.
05:43:33 <uoryfon> You can't just make something dependent on whether the machine halts or not; that would be solving the halting problem.
05:43:38 <madbrain> let's make a nice esoteric language
05:43:39 <oklopol> Gregor: i didn't say you were the first one here
05:43:50 <Gregor> True :P
05:44:02 <coppro> uoryfon: yes; not by the same one, though
05:44:03 <bsmntbombdood> pikhq: no it can't
05:44:07 <oklopol> uoryfon: of course you can, when talking about the existance of things
05:44:43 <madbrain> ok how about a problem like this: to design something like a super massively parallel cpu, you'd need something that doesn't have a gazillion data dependencies
05:44:51 <pikhq> bsmntbombdood: What does pointer wraparound do?
05:44:52 <uoryfon> coppro: so FSMs are Turing-complete?
05:44:52 <calamari> Chris is back? cool
05:44:56 <madbrain> which is an unfortunate property of RAM
05:45:11 <bsmntbombdood> oh, it's probably undefined
05:45:15 <madbrain> RAM is, like, the least parallel thing ever
05:45:18 <coppro> uoryfon: I'd say that all FSMs are Turing complete. You cannot construct a single Turing-complete FSM
05:45:21 <bsmntbombdood> so i guess it could halt
05:45:28 <uoryfon> coppro: I think you need to rethink your definition of Turing-completeness.
05:45:35 <Gregor> calamari: He was here a couple days ago, and a day or so before that.
05:45:38 <coppro> or I'm just doing this to annoy you
05:45:41 <madbrain> FSM have finite storage space
05:45:49 <coppro> yes...
05:45:51 -!- GreaseMonkey has quit (Read error: 104 (Connection reset by peer)).
05:45:54 <oklopol> coppro: and once you have a definition of turing-completeness, do share it
05:45:57 <madbrain> and not infinite like you'd need
05:46:02 <pikhq> coppro: And are therefore not Turing-complete.
05:46:02 <oklopol> we don't have one yet
05:46:10 <uoryfon> Well, then, you can't construct a single Turing-complete C program.
05:46:25 <coppro> [22:45:13]<coppro>or I'm just doing this to annoy you
05:46:34 <Gregor> lament still comes around, doesn't 'e?
05:46:38 <madbrain> uoryfon: well, you'd need an implementation of C where pointers are not fixed size
05:46:51 <coppro> madbrain: such is forbidden by the standard
05:46:53 <pikhq> madbrain: Which is impossible.
05:47:02 <madbrain> which would be sorta neat but would not have any practical use and probably violate the standard yes
05:47:10 <oklopol> Gregor: he seems to come everytime he's reminded of the channel at least
05:47:16 <Gregor> Heh
05:47:29 <calamari> oklopol: which is why I added this channel to my autojoin list ;)
05:47:30 <oklopol> a few times he's seen me on another chan and instantly joined here :P
05:47:34 <Gregor> He's the first recognized name in the log (on the first day of the log)
05:47:43 <oklopol> yeah
05:47:58 <oklopol> i've read the genesis
05:48:12 <calamari> were any of you guys on the mailing list?
05:48:22 -!- GreaseMonkey has joined.
05:48:25 <pikhq> I'm a relative n00b, myself.
05:48:25 <oklopol> i'm just here
05:48:27 <GreaseMonkey> [18:47:08] <GreaseMonkey> back
05:48:27 <GreaseMonkey> [18:47:27] <GreaseMonkey> ...cpressey appeared again?
05:48:32 <madbrain> how do you make a practical super-parallel processor?
05:48:33 <Gregor> I barely remember that there was a mailing list.
05:48:36 <GreaseMonkey> i got routerscrewed
05:48:49 <Gregor> GreaseMonkey: See recent log :P
05:49:02 -!- uoryfon_ has joined.
05:49:03 <coppro> madbrain: message passing
05:49:14 <madbrain> coppro: that sounds like a bitch to code for
05:49:16 <pikhq> http://tunes.org/~nef/logs/esoteric/04.01.01 That's an impressive genesis. :P
05:49:34 <coppro> madbrain: go learn erlang
05:49:41 * pikhq greps for conversation
05:49:55 <madbrain> basically it's manual parallelization
05:50:01 <Gregor> I'm thankfully not the most senior member of this channel, but I believe I am the most simultaneous people/bots on this channel :P
05:50:19 <pikhq> Gregor: Quite likely.
05:50:29 <coppro> it's hardly manual parallellization. It's manual communication between independent, parallel parts
05:51:13 <madbrain> sounds like it'd be sensible to timing differences
05:51:35 -!- uoryfon_ has quit (Client Quit).
05:51:45 <GreaseMonkey> fortunately, asiekierka appears to be older than clog.
05:51:56 <GreaseMonkey> ...i think
05:52:20 <GreaseMonkey> ARGH THE TIGHT [inter]NET OF FOLKS I KNOW
05:53:22 <Gregor> This channel has a decent attrition/repopulation rate.
05:53:39 <Gregor> I never come back after ignoring it for a few months and find nobody I recognize, but I usually find somebody new.
05:53:47 <GreaseMonkey> i remet someone i knew over some now pretty much dead forums via youtube, we could have also potentially clashed over minecraft or through a sonic hacking group -> monsquaz (don't ask what this is) -> mod shrine
05:54:07 <GreaseMonkey> so before we remet he was already a friend-of-a-friend somewhere
05:54:11 <madbrain> coppro: the idea is, if you can eliminate the global dependency caused by stuff like RAM or side effects, you can basically parallelize everything automatically
05:54:20 <Gregor> GreaseMonkey: What's monsquaz?
05:54:24 <Gregor> :P
05:54:52 <madbrain> even execution order stuff can be parallelized by stuff like functionnal programming
05:54:53 <GreaseMonkey> Gregor: you don't want to know... it's some sonic-hacking injoke group i suppose
05:55:06 <GreaseMonkey> also an animation
05:55:09 <pikhq> Gregor: You never recognize me?
05:55:13 <pikhq> :P
05:55:32 <Gregor> pikhq: I NEVER come back ... and find NOBODY I recognize.
05:55:33 <GreaseMonkey> the latter is disturbing, the former is pretty much a cyberbullying ring and that's why i left
05:55:41 <pikhq> Oh.
05:55:47 <pikhq> Parsing English is *hard*.
05:55:59 <oklopol> don't worry, us foreigners got it right
05:56:03 <GreaseMonkey> pikhq: yeah, i tried it once in python
05:56:22 <GreaseMonkey> man kattywampus.it is great even if i do say so myself
05:56:23 <oklopol> except i have no idea what GreaseMonkey and madbrain are
05:56:37 <GreaseMonkey> oklopol: i've been here before, like, a few years ago
05:57:00 <pikhq> I recall GreaseMonkey being around when I first entered.
05:57:02 <GreaseMonkey> and madbrain... first sighted in digitalmzx/#mzx, second in #mod_shrine, third here.
05:57:05 <oklopol> lol, obviously i remember you
05:57:08 <pikhq> madbrain I think just showed up one day.
05:57:10 <oklopol> i mean i don't know where you live
05:57:36 <GreaseMonkey> asie i sighted on dmzx and met here, i think
05:58:12 <GreaseMonkey> i recognise maybe 30% of the people here
05:58:14 <madbrain> yeah
05:58:33 <madbrain> pikhq: basically I found the channel from the esolang wiki I think
05:58:50 <GreaseMonkey> yeah, roughly
05:58:50 <pikhq> madbrain: Same here.
05:59:03 <coppro> I found it from a whois
05:59:06 <GreaseMonkey> i think i found it via the wiki, too
05:59:06 <pikhq> I was approximately a few feet from here, physically.
05:59:46 <Gregor> O_O
05:59:52 <Gregor> People found the channel from the esolang wiki.
05:59:53 <Gregor> Whoah.
06:00:09 <madbrain> the wiki is nice
06:00:10 * Gregor was here when the esolang wiki started, and that should not make me feel like I've been here a long time :P
06:00:13 <pikhq> Gregor: The wiki is actually quite handy.
06:00:28 <madbrain> yeah
06:00:29 <oklopol> i recognize 32/40
06:00:33 <pikhq> Especially that Brainfuck algorithms page.
06:00:51 <madbrain> suppose I want to launch an esoteric language, make a page on the wiki, kdone
06:00:53 <Gregor> Nono, don't get me wrong, the esolang wiki is awesome, it's just for some reason I didn't ever think of the this-channel-to-esolang-wiki link as bidirectional.
06:01:06 <pikhq> Gregor: Hahah.
06:01:15 <GreaseMonkey> i'm the guy who did RETURN, btw
06:01:54 <GreaseMonkey> unfortunately i've just realised a bit of undefined behaviour
06:04:44 <GreaseMonkey> madbrain: learn from me: if it's not PD people will sometimes scream at you
06:04:52 <GreaseMonkey> the spec must be PD
06:05:08 <GreaseMonkey> your interpreter, on the other hand... if you want it archived then PD should be fine
06:05:29 <GreaseMonkey> if it's really proprietary people will probably bin the link
06:05:50 <madbrain> I don't actually care about licenses
06:05:52 <Gregor> PD is overboard, but it ought to be under a liberal F/OSS license.
06:07:57 <GreaseMonkey> the spec needs to be PD if you want it on the esolang wiki
06:08:11 <pikhq> It should at a bare minimum not make Stallman cry.
06:08:21 <GreaseMonkey> interpreter, on the other hand, should ideally be FOSS.
06:08:49 <Sgeo__> Why would anyone make a non-PD esolang spec?
06:08:57 <madbrain> like I said, I don't actually care about license
06:09:08 <Sgeo__> Is someone actually interested in making money off an esolang/
06:09:09 <Sgeo__> ?
06:09:10 <GreaseMonkey> Sgeo__: if you're like me, you're probably not thinking straight
06:09:37 <Sgeo__> I never thought for an instant that I'd make money off PSOX
06:09:40 <GreaseMonkey> or you don't like letting go of stuff fully
06:09:55 <madbrain> sgeo: the only thing that sounds kinda like that is the forth dude
06:09:56 <GreaseMonkey> i often used a "remember to credit me" thing
06:09:58 <madbrain> and even then
06:10:12 <Sgeo__> madbrain, hm?
06:10:23 <Sgeo__> Oh, Colorforth?
06:10:33 <madbrain> colorforth didn't make money I think
06:10:57 <pikhq> ... Money? Esolang?
06:10:59 -!- uoryfon has quit (Read error: 110 (Connection timed out)).
06:11:01 <madbrain> but the guy made money earlier, dunno with what
06:11:03 <Sgeo__> pikhq, exactly
06:11:07 <pikhq> Only the "plain English" guys were that crazy.
06:11:11 <madbrain> yeah it's a hoby
06:11:21 <Sgeo__> pikhq, "plain English" guys?
06:11:30 <pikhq> https://www.osmosian.com/
06:11:33 <pikhq> This bit of hilarity.
06:12:55 <Sgeo__> Where's the compiler?
06:13:03 <Sgeo__> Oh, you have to email it from them?
06:13:06 <Sgeo__> erm, wait
06:13:08 <Sgeo__> that came out wrong
06:13:12 <madbrain> sounds like englishified basic or something
06:13:46 <pikhq> Somewhere in the logs is a link to the compiler...
06:14:24 <pikhq> http://www.osmosian.com/cal-3037.zip
06:14:27 <pikhq> They suck at charging.
06:15:12 <GreaseMonkey> whee i think i've solved #195 "another speed control"
06:15:41 <Sgeo__> What language was the first compiler ever written in?
06:15:46 <coppro> #195 in what?
06:15:49 <Sgeo__> Erm, first "Plain English"
06:15:50 <coppro> Euler?
06:15:55 <pikhq> They claim to have the most advanced compiler tech.
06:16:03 <GreaseMonkey> coppro: robozzle
06:16:06 <Sgeo__> Who cares how fast it is?
06:16:07 <coppro> oh
06:16:13 <Sgeo__> What's interesting is the language itself
06:16:17 <madbrain> what does that english compiling shit is
06:16:22 <madbrain> uh
06:16:26 <Sgeo__> "We are all, by any practical definition of the words, foolproof
06:16:26 <Sgeo__> and incapable of error. Nevertheless..."
06:16:26 <madbrain> yeah something like that
06:16:32 <pikhq> It sucks.
06:16:39 <pikhq> And they charge for it.
06:16:45 <madbrain> what does it do
06:17:05 <madbrain> set n to 3 plus 8
06:17:10 <madbrain> or what? :D
06:17:17 <Sgeo__> "If the copy is greater than the number, break."
06:17:22 <pikhq> "Recompiles itself in 3 seconds", they claim.
06:17:40 <pikhq> Just a second while I test PFUCK's self-compile time.
06:18:13 <pikhq> 0.121 seconds.
06:18:25 <pikhq> Clearly, I am the most awesome compiler author.
06:18:52 <Sgeo__> "Now I know that right about here most programming books would drum u
06:18:52 <Sgeo__> some dippy little "Hello, World" program and expect you to be impressed
06:18:52 <Sgeo__> but I'd like to suggest that we skip the kid stuff and start makin' babies."
06:19:13 <GreaseMonkey> also just did #305 "Follow directions"
06:19:51 <Sgeo__> ..and it doesn't exactly give syntax info or any code. That is just showing how to put a demo calendar into the IDE and compile
06:20:28 <pikhq> Yup.
06:20:37 <pikhq> It's actually undocumented.
06:20:43 <madbrain> wait, you mean this has no documentation?
06:20:43 <Sgeo__> Finallly, something interesting
06:20:51 <Sgeo__> Page 11 of the documentation
06:21:11 <pikhq> And has a rather simple compiler.
06:21:41 <pikhq> With silly, cutesy names for thinks.
06:21:47 <pikhq> 'monikette'.
06:22:04 <Sgeo__> "I don't do nested IFs. Nested ifs are a sure sign of unclear thinking, and
06:22:04 <Sgeo__> that is something that I will not countenance. If you think this cramps your
06:22:04 <Sgeo__> style too much, read my code to see how it's done. Then think again."
06:22:28 <madbrain> haha that's horrible
06:22:42 <GreaseMonkey> i tend to recurse lots
06:22:45 <oklopol> i wonder how they got such fast compile times
06:22:53 <GreaseMonkey> heh
06:22:56 <pikhq> oklopol: By being trivial.
06:23:11 <Sgeo__> "I don't do nested LOOPS. Nested loops indicate that you have failed to
06:23:11 <Sgeo__> properly factor your code into manageable chunks, and I don't want you
06:23:11 <Sgeo__> regretting that later. Time after time my otherwise omniscient creators
06:23:11 <Sgeo__> thought they could get away with it, and time after time they were wrong"
06:23:18 <oklopol> "I don't do recursion. Recursion is a sure sign of thinking, and that is something i will not countenance."
06:23:35 <madbrain> sgeo: are you making that up
06:23:36 <pikhq> They emply "advanced techniques" like "a hash table" in the compiler.
06:23:42 <pikhq> madbrain: No.
06:23:44 <Sgeo__> madbrain, I wish
06:24:23 <oklopol> well, does it do recursion?
06:24:47 <Sgeo__> I don't see anything that says it doesn't *shrug*
06:24:59 <madbrain> more like, will it blow up if I try to use it like it was scheme
06:25:05 <oklopol> i wonder how many fucking times i've written the same function that enumerates every subset of size n... and i never save it anywhere
06:25:23 <pikhq> "Repeat." appears to be a tail call.
06:25:43 <oklopol> pikhq: repeat this function?
06:25:53 <Sgeo__> "You probably noticed that I mentioned comments on the preceding page, but
06:25:53 <Sgeo__> didn't say what they look like. I did that on purpose. I don't like comments. "
06:25:54 <pikhq> oklopol: Yes.
06:26:02 <madbrain> hahahaha
06:26:02 <GreaseMonkey> #311 "Follow directions II" solved in (5,4,4) instructions
06:26:22 <Sgeo__> "Most comments are either useless, or worse. Useless, if they merely reiterate
06:26:22 <Sgeo__> what the code already says. Worse, if they attempt to clarify unclear code
06:26:22 <Sgeo__> that should have been written more clearly in the first place."
06:26:43 <Sgeo__> "You will find that my editor displays simple comments in a delightful sky blue
06:26:43 <Sgeo__> making it easy for you to see what I'm going to ignore. And no, you can't
06:26:43 <Sgeo__> change the color. My creators have assured me that this is the right color."
06:26:52 <pikhq> "(3) Anything more than this falls under the heading "garbage collection" and,
06:26:52 <pikhq> as every manly programmer knows, garbage collection is for sissies.
06:26:53 <pikhq> "
06:27:07 <oklopol> is that in there?
06:27:11 <pikhq> Yes.
06:27:13 <pikhq> And yes.
06:27:22 <oklopol> hmph
06:27:32 <pikhq> It has manual memory management.
06:27:43 <madbrain> obviously it's our fault for being terrible if we want to use anything neat
06:27:56 <oklopol> that's a bit too direct an admission of not being serious
06:28:05 <oklopol> "manly programmer"
06:28:12 -!- tombom has joined.
06:28:49 <madbrain> is it a subtle joke?
06:28:53 <pikhq> So much of the language screams "No, I don't know how to do this right, and I don't care."
06:29:03 <pikhq> madbrain: ... They charge for this shit.
06:29:12 <pikhq> YOU CAN PAY MONEY FOR THAT ZIP FILE.
06:29:22 <pikhq> (they then email the link to you. :P)
06:29:29 <Sgeo__> "The third kind of comment that I understand is the qualifier." ... "Note that qualifiers are not like simple comments and remarks. Qualifiers are
06:29:30 <Sgeo__> considered part of the program and affect how the compiled code executes."
06:29:36 <madbrain> like, even C is higher level than this :(
06:30:02 * Sgeo__ vaguely realizes that Python also has things like comments that can effect execution. But it doesn't call them comment
06:30:04 <Sgeo__> *comments
06:31:42 <pikhq> madbrain: This is more like a poor assembler.
06:32:01 <madbrain> what sort of data types does it have
06:32:08 <madbrain> let me guess
06:32:15 <madbrain> nothing variable sized of course
06:32:26 <pikhq> madbrain: Well, there's your int, your string, your real, your reference, and you can do structures.
06:32:28 <Sgeo__> It has strings, I think
06:32:31 <oklopol> the only things a manly programmer needs, ints, bools and strings of sub256 length.
06:32:35 <Sgeo__> pikhq, I thought it didn't have reals
06:32:40 <pikhq> Erm.
06:32:43 <pikhq> s/real/rational/
06:32:55 <madbrain> like, floats?
06:32:56 <pikhq> Floats? Bah, humbug!
06:33:24 <Sgeo__> "I don't do REAL NUMBERS. I do ratios, very elegantly, but I don't do reals.
06:33:24 <Sgeo__> My page editor reduces and enlarges and sizes shapes proportionately in and
06:33:24 <Sgeo__> out of groups and it does it all without real numbers. Master Kronecker was
06:33:24 <Sgeo__> right when he said, in German, "The dear God created the whole numbers; all
06:33:24 <Sgeo__> else is the work of man." I'm not interested in menschenwerk."
06:33:50 <madbrain> you're telling me this doesn't have floating point
06:34:14 <pikhq> They then give a "ASCII" table. By ASCII, they mean "Code page 1250".
06:34:18 <pikhq> madbrain: Yes.
06:34:23 <madbrain> haha
06:34:31 <madbrain> yeah this is the worst
06:34:42 <pikhq> It doesn't have inline assembler. You can, however, manually assemble something and use that.
06:34:49 <pikhq> (see: the noodle)
06:35:08 <pikhq> intel $8B8508000000.
06:35:11 <pikhq> SO VERY ENGLISH!
06:35:30 -!- Wareya has quit (Read error: 110 (Connection timed out)).
06:35:31 <madbrain> yeah
06:35:50 <oklopol> how do you unzip in python
06:35:56 <oklopol> wasn't Sgeo__ a pythonist at least
06:36:10 <oklopol> not really a question, i know he was
06:36:30 <pikhq> The worst part is, they probably think this is high-level. Should replace them with a small Haskell function.
06:36:35 -!- jpc has quit ("I will do anything (almost) for a new router.").
06:36:52 * Sgeo__ is also someone who needs to go afk occasionally
06:36:55 <madbrain> heh
06:37:04 <madbrain> "Over 100 Pages of Documentation "
06:37:09 <madbrain> over 100!
06:37:15 -!- jpc has joined.
06:37:45 <madbrain> haha the manifesto
06:37:45 <Sgeo__> oklopol, http://docs.python.org/library/zipfile.html
06:38:04 <madbrain> byzantine "C" language
06:38:18 <pikhq> madbrain: Dear God, I think I've got more than 100 pages of documentation just from the man-pages tarball. :P
06:38:47 <pikhq> Heck, my Emacs manual is nearly 600 pages.
06:38:57 <pikhq> And that's not comprehensive.
06:40:13 <pikhq> "They pray for guidance. Then they consider deleting the offending feature
06:40:14 <pikhq> altogether, to resolve the problem and prevent "feature creep" at the same
06:40:14 <pikhq> time. Next, they study the code, hoping to simply "discern" what the problem
06:40:14 <pikhq> is. If the bug has not been found, they pick an appropriate spot and insert a
06:40:14 <pikhq> buzz. If they hear it on the next run, they pick another spot further down the
06:40:16 <pikhq> line, and try again. If there is no buzz, they repeat the entire process.
06:40:19 <pikhq> "
06:40:21 <pikhq> On debugging.
06:41:21 * Sgeo__ tended to do that with Python
06:41:32 <Sgeo__> The Visual Studio C# debugger really opened my eyes
06:42:19 <madbrain> I still don't get debugging
06:42:22 <pikhq> In Tcl, I made a breakpoint function that started a REPL and inserted it into relevant places.
06:42:28 <madbrain> disclaimer: I'm not a professionnal coder
06:42:30 <pikhq> In C, <3 GDB.
06:42:37 <pikhq> In Haskell, I think.
06:43:51 <madbrain> "If you are bilingual, you can use our compiler for engineering Plain French or Plain Croatian."
06:43:55 <oklopol> Sgeo__: oh lol i mean unzip after calling zip
06:44:08 <pikhq> How's about Plain C?
06:44:17 <oklopol> well not after it, just the operation of splitting elements of a list into two lists
06:44:30 <oklopol> ...well not exactly that either, maybe i should just give an example
06:44:45 <oklopol> [(1,2),(3,4),(5,6)] => [1,3,5], [2,4,6]
06:44:59 <oklopol> i assume there's something for that because there is in J ;)
06:48:10 <pikhq> oklopol: Dunno about Python, but in Haskell that's "unzip".
06:48:26 <oklopol> oh, i guess that's where i got the name :P
06:48:38 <oklopol> not very consciously tho
06:48:39 <pikhq> Well, except that it's [(1,2),(3,4),(5,6)] => ([1,3,5],[2,4,6]) :P
06:48:55 <pikhq> unzip :: [(a,b)] -> ([a],[b])
06:48:58 <oklopol> doesn't haskell let you omit ()'s too
06:49:01 -!- puzzlet has joined.
06:49:04 <pikhq> No.
06:49:17 <oklopol> hmm, indeed not
06:49:23 <Sgeo__> http://docs.python.org/library/functions.html
06:49:27 <Sgeo__> zip() in conjunction with the * operator can be used to unzip a list:
06:49:31 <oklopol> in any case same types
06:50:11 <oklopol> oh, right
06:50:14 <oklopol> fun hack
06:51:06 <oklopol> but why not have an unzip, me asks
06:52:49 <coppro> because it's needless?
06:53:09 <pikhq> coppro: By that notion, all of Prelude that is not IO is needless.
06:53:10 <pikhq> :P
06:53:24 <pikhq> (seriously, all the rest is fairly trivial pattern matching)
06:53:36 <pikhq> (... And recursion, obviously)
06:58:08 <oklopol> coppro: because you'll need to write it yourself otherwise. it'll just be trivial to write if it's a special case of zip
06:58:30 <oklopol> but it would be trivial without using zip as well
06:58:50 <coppro> it's not really
06:59:03 <coppro> zip is bidrectional
06:59:10 <coppro> it takes a list (conceptually) and returns a list
07:04:57 -!- FireFly has joined.
07:10:36 <oklopol> where's ais when you need one
07:11:18 <Sgeo__> He's hiding as.. s something
07:11:49 * Sgeo__ looks over at his own nick, and goes to deny everything
07:13:04 <FireFly> Wait... what was so hard with the Gridlock one?
07:13:10 <FireFly> (on RoboZZle)
07:13:13 <oklopol> what's the gridlock one, link
07:13:18 -!- bsmntbombdood_ has joined.
07:13:24 <FireFly> http://robozzle.com/js/play.aspx?puzzle=882
07:13:44 <Sgeo__> Bleh at link to JS
07:13:48 <FireFly> Meh
07:15:10 <Sgeo__> Night all
07:15:15 <FireFly> Morning
07:15:41 <oklopol> probably nothing, i don't even remember solving it
07:16:13 <oklopol> turn 180 at greens, 90 at reds
07:16:27 <oklopol> already forgot what it looked like :D
07:17:22 <GreaseMonkey> dude, no, just turn left at reds
07:17:22 <oklopol> okay yeah exactly that
07:17:29 <oklopol> that works too
07:18:17 <Sgeo__> Can't have the computer beeping at me, so bye
07:18:17 <oklopol> but that's like optimizing how you put your socks on
07:18:20 <oklopol> bye
07:18:35 <Sgeo__> oklopol, there's indications when you get shortest solution
07:18:38 <Sgeo__> *known
07:18:58 <oklopol> didn't know, assumed so
07:20:20 -!- Sgeo__ has quit ("Leaving").
07:23:27 -!- zzo38 has joined.
07:24:33 <fizzie> FireFly: I don't think there was nothing so hard about Gridlock; it's just that I initially did it with 8 commands (I might have had a ↑↑↑-function there, or some such nonsense) and people here complained.
07:24:42 -!- bsmntbombdood has quit (Read error: 110 (Connection timed out)).
07:24:47 <FireFly> Ah, all right
07:25:39 <oklopol> i prefer my solutions long and robust
07:25:47 <oklopol> kinda like my penis
07:27:20 <oklopol> ais523: thought maybe you'd come if i highlighted you. i'm not sure how likely that is.
07:27:32 <fizzie> I'd prefer long solutions too, but they keep being thrifty with those command slots.
07:28:08 <oklopol> yeah
07:28:47 <fizzie> oklopol: Maybe you have to say his name thrice? I think that works for Hastur.
07:29:01 <zzo38> The file zee1.ogg is in fact not bad but why does sox command, when playing back a file in the Windows command-line window, to make a mess when you try to scroll the window while it is playing?
07:30:10 <zzo38> fizzie: No, it says "HASTUR HASTUR HASTUR HASTUR HASTUR HASTUR HASTUR HASTUR HASTUR HASTUR HASTUR HASTUR HASTUR HASTUR HASTUR HASTUR HASTUR HASTUR HASTUR HASTUR HASTUR HASTUR HASTUR HASTUR HASTUR" or in other words, any number of times, including too much
07:30:22 <zzo38> (I meant the scroll)
07:30:26 <oklopol> ais523: i have more than 7 bits of information of interest to you
07:34:23 <zzo38> I have also done 882 in initially in 8 commands, but now I did it in 5 commands
07:35:51 <oklopol> it takes 3 if you do what GreaseMonkey suggested
07:36:14 <GreaseMonkey> green is superfluous
07:40:30 <zzo38> But now I'm trying 883 (it is similar but all blue). I just typed in 883 and see what it did.
07:41:18 <fizzie> The part of the campaign sequence from '"960" on blue' to 'Linked List II' was nice; there was nothing to get stuck on.
07:41:51 <oklopol> fizzie: do you go from hardest to easiest now?
07:42:47 <fizzie> oklopol: I go based on the names mostly.
07:43:01 <fizzie> 883 was trivial if you don't mind being inelegant and filling all the command slots.
07:44:31 <fizzie> Seems there are some 11-command solutions submitted too, though.
07:46:05 <Deewiant> You people and your trivials.
07:46:28 -!- calamari has quit ("Leaving").
07:46:59 <fizzie> But it is! The 13-command solution for 883 I have has absolutely no logic in it, just pure "go-there" bruteforcing.
07:47:44 <oklopol> i don't think the 960 is that easy, even though, obviously, the idea is trivial
07:48:03 <oklopol> i just need a few more slots...
07:49:51 -!- FireFly has quit ("Leaving").
07:51:04 -!- tombom has quit ("Leaving").
07:51:51 <fizzie> I used all I got there.
07:55:35 <oklopol> okay that was weird, i go almost everything, then suddenly the guy goes crazy and starts circling around in the blue zone :D
07:55:39 <oklopol> *got
07:56:06 <oklopol> very common thing with recursion that, almost getting it right, but having some details wrong...
07:57:39 -!- zzo38 has quit (Remote closed the connection).
07:58:19 <oklopol> okay, wasn't exactly hard, i just still have a hard time making recursion puzzle-concise
07:58:58 -!- jpc has quit ("I will do anything (almost) for a new router.").
07:59:36 -!- jpc has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:03:08 <Deewiant> Linked List II was cute; still can't do 883, though.
08:04:28 <fizzie> Deewiant: You could if you stopped trying to be clever and just programmed in some suitable route taken in 882.
08:04:56 <fizzie> (If you can call that "programming", really.)
08:05:36 <oklopol> gridlock took me about 30 sec
08:05:43 <Deewiant> I can think of routes to program, just not how to program them.
08:06:04 <oklopol> that's how good i am
08:06:08 <oklopol> linked list ii looks hard
08:06:10 <Deewiant> Ah, here we go. One cell free.
08:07:03 <oklopol> yeah just do what you did in 882
08:07:11 <Deewiant> That's what I tried for the better part of 10 minutes.
08:07:16 <oklopol> oh?
08:07:20 <oklopol> then what did you do
08:07:21 <Deewiant> Then I did linked list II in about two mintues.
08:07:34 <Deewiant> Then I came back and stared at 883 for another minute before figuring it out.
08:08:13 <fizzie> Deewiant: Your brain works in a strange way; linked list 2 took me quite many minutes of bugfixing.
08:09:19 <Deewiant> I don't typically need to bugfix on any of these; once I have an idea that fits, it works. The times when stuff doesn't work is when I don't have an idea or when it doesn't fit.
08:09:36 -!- madbrain has quit ("Radiateur").
08:10:46 <Deewiant> Still, I think I'm improving. Most showstoppers for me now tend to be the ones that require "double recursion" or whatever its canonical name is, e.g. 141
08:12:49 -!- adam_d has joined.
08:15:29 <fizzie> Heh, cumulative effect (597) was fun, if only for the twirling-around... and also the first one I did on the phone.
08:18:48 <Deewiant> One extra space there.
08:25:41 -!- GreaseMonkey has quit ("HydraIRC -> http://www.hydrairc.org <- Nobody cares enough to cybersquat it").
08:29:35 <oklopol> heh, i think the reason i couldn't quite crack linked list ii was i had totally misunderstood how the colors were positioned
08:29:44 <oklopol> i should really look at these puzzles.
08:38:43 -!- Slereah has quit (Read error: 110 (Connection timed out)).
08:53:46 <fizzie> Wow, "Incomplete grid" had a huge number of useless slots; F1 and F2 had 5, and F3 had 10 (!); used 5 of F1, 2 of F2 and 0 of F3.
08:55:46 <fizzie> Or actually only F1; so 15 extra slots and two extra functions.
08:58:34 <oklopol> did you use all slots for linked list?
08:59:30 <Deewiant> 17, evidently
08:59:37 <Deewiant> (For 654)
09:00:07 <fizzie> A lot, but maybe not quite all of them.
09:01:51 <oklopol> i had one empty slot, but it was only after tons of spec optimization
09:01:53 <oklopol> *space
09:02:12 <oklopol> i have a verbose intuition
09:03:27 -!- bsmntbombdood__ has joined.
09:17:42 -!- adam_d has quit (Read error: 110 (Connection timed out)).
09:20:15 -!- bsmntbombdood_ has quit (Read error: 110 (Connection timed out)).
09:33:32 -!- bsmntbombdood_ has joined.
09:33:41 -!- Slereah has joined.
09:49:35 -!- bsmntbombdood__ has quit (Read error: 110 (Connection timed out)).
09:52:43 -!- jpc has quit (Read error: 110 (Connection timed out)).
09:54:57 -!- scarf has joined.
09:56:16 <fizzie> scarf: Were you the same thing as ais523?
09:56:29 <scarf> fizzie: /ns info me
09:56:34 <scarf> NickServ knows I'm ais523
09:56:45 <fizzie> Yes, I sort of thought so because of the cloak.
09:56:55 <fizzie> Anyway, oklopol has more than seven bits of information for you.
09:57:05 <fizzie> Unfortunately he did not choose to reveal the contents to us.
09:57:58 <fizzie> Not just any information, in fact; information "of interest".
10:05:49 <scarf> meanwhile, it seems that 1.0.0.0/8 was allocated
10:06:03 <scarf> they must be running really low on addresses...
10:16:15 <Ilari> The block to allocate is choosen at random.
10:16:23 <Ilari> (among free /8s).
10:17:36 <scarf> the allocation of any /8 is worrying, thouhg
10:17:37 <scarf> *though
10:17:56 <Ilari> Its allocation to RIR. And yes, one more block allocated at IANA level...
10:22:59 <Ilari> At that level, following blocks are free: 5, 14, 23, 31, 36, 37, 39, 42, 49, 50, 100-107, 176, 177, 179, 181, 185, 223 (24 blocks, 384Mi addresses (minus the ones lost due to allocation blocking, network addresses and broadcast addresses).
10:24:09 <Ilari> And of the remaining 26 before this allocation, 1/8 was probably the worst block.
10:24:22 <scarf> "worst"?
10:25:09 <Ilari> The amount of unauthorized use and unauthorized routes leaking.
10:25:38 <scarf> I think they banned things like 1.2.3.4 pre-emptively
10:25:58 <Ilari> Yes, APNIC reserved those.
10:26:29 <scarf> amusingly, Wikipedia has edits from 1.2.3.4
10:26:37 <scarf> I think it must have been a dev testing checkuser, or something
10:27:43 <Ilari> The first 3 /16s in that block are probably the worst w.r.t unauthorized use / unauthorized routes.
10:30:03 <Ilari> Especially the 1.1/16 block.
10:41:11 <scarf> ASes shouldn't be going around announcing 1/8 addresses, though
10:41:26 <scarf> and any use of it inside an AS or smaller network is their own fault
10:45:57 <fizzie> "(Mar's Law) Everything is linear if plotted log-log with a fat magic marker."
10:49:03 -!- scarf has quit.
10:49:12 -!- scarf has joined.
10:51:24 -!- Ilari has quit (Read error: 60 (Operation timed out)).
10:57:50 <oklopol> the world would be a better place if everything was linear
11:05:23 <scarf> oklopol: not really, overtaking would be really difficult
11:05:33 <scarf> and you'd only have two people you could ever meet in RL, ever
11:05:45 <scarf> (I assume you could use radio waves or something for longer-distance communication, they go through people)
11:11:06 -!- Ilari has joined.
11:11:06 <oklopol> i wasn't thinking one-dimensional, more that all physics was linear
11:12:13 <oklopol> a world where acceleration is impossible
11:31:54 <scarf> then nobody could move
11:31:59 <scarf> or stop moving, if they were already moving
11:36:23 <scarf> http://ipv4depletion.com/?page_id=4 is interesting
11:36:59 <scarf> hmm, what's the command-line command to look up DNS?
11:37:15 <scarf> preferably, one that lets you pick a different DNS for the single command, and which can retrieve AAAA records
11:37:53 <Ilari> scarf: dig?
11:38:05 <scarf> thanks
11:38:59 <Ilari> -t <type> to set type to look (any for all types), @<addr> to set address, and then name to look up after that.
11:39:12 <scarf> wow DNS is fast
11:39:57 <scarf> hmm, seems that the local DNS here has ipv6 addresses
11:40:05 <scarf> even though I don't think the local network connectivity does ipv6
11:40:56 <Ilari> Hmm... Freenode IPv6 addresses don't seem to work, but querying .com nameservers over IPv6 does work.
11:43:45 <scarf> heh, it seems that smuggle.intercal.org.uk and select.intercal.org.uk are on separate machines
11:43:52 <scarf> both accessible over both ipv4 and ipv6
11:46:24 <scarf> one of the worrying things that is coming out from the Slashdot article I'm reading is that some people apparently blackhole the whole of APNIC in an attempt to stop spam
11:46:28 <scarf> which strikes me as a little indiscriminate
11:54:45 <Ilari> Then there are those that blackhole all chinese address ranges.
12:03:04 <scarf> APNIC would be a bigger blackhole then just China, wouldn't it?
12:04:33 <Ilari> Yes. And includes stuff like .jp and .au too.
12:05:22 <scarf> dig was just what I was looking for, by the way
12:12:37 <fizzie> "host" is another such tool, but dig is more DNS-like in its replies.
12:15:51 <oklopol> fun, i should be at uni in 4 minutes, and the door is broken, can't get out.
12:16:09 <oklopol> wonder who i'm supposed to call in a situation like this
12:17:54 <scarf> is it a door you own, or a university-owned door?
12:18:01 <scarf> if the first, call a locksmith
12:18:04 <scarf> if the second, I don't know
12:18:15 <scarf> although it may be worth calling security (on a non-emergency number)
12:18:19 <scarf> especially as it's a fire risk
12:19:36 <oklopol> my own
12:19:52 <oklopol> but turns out there's a keyhole on the inside as well
12:19:55 <oklopol> and that opened it
12:20:22 <scarf> ah
12:21:39 <oklopol> there's also this other lock, i assumed that was broken or something, so i started unscrewing it to see what's inside, and now i've lost the screw i took out.
12:22:15 <scarf> shouldn't you be at uni already?
12:22:21 <oklopol> 6 minutes ago
12:22:24 <scarf> it's more than 4 minutes since you had to be there 4 minutes ago
12:22:51 <oklopol> takes about 3 to get there, so not that bad
12:22:55 <oklopol> ->
12:54:52 -!- FireFly has joined.
13:22:53 -!- Asztal has joined.
13:40:18 -!- Sgeo has joined.
13:40:51 <Sgeo> ehird was last visibly active on Reddit 7 days ago
13:49:36 <FireFly> Hm
13:49:42 <FireFly> That "plain english" thing reminds me of ORK
13:56:14 -!- rodgort has quit (Read error: 104 (Connection reset by peer)).
14:01:22 -!- scarf has changed nick to scarf|away.
14:02:15 -!- rodgort has joined.
14:09:29 -!- MigoMipo has joined.
14:12:38 -!- BeholdMyGlory has joined.
14:38:38 -!- scarf has joined.
14:38:58 <scarf> yay for going on IRC in the middle of marking people doing Java
14:39:38 <scarf> the fun thing is, most of them didn't turn up to the tutorials, so didn't manage to agree a time to be marked, making it more-or-less anarchy
14:39:46 <Gregor> Yay for anything that involves not doing Java.
14:53:58 <scarf> heh
14:54:31 <scarf> still, my current belief, based on 1 sample, is that knowing Java is all that it takes to get a job nowadays
14:54:48 -!- oerjan has joined.
14:55:38 * scarf wonders if INTERCAL would be more enjoyable to mark
14:55:55 <scarf> it has the advantage of not being Java, but there are several disadvantages in using it for teaching
14:57:41 <oerjan> well if anyone could enjoy marking it it would be you...
14:58:17 <Sgeo> Why is Java considered so horrible, exactly? And is C# considered better (except for the licensing BS)?
15:05:10 <Gregor> Most modern languages are at least a smidge multi-paradigm.
15:05:17 <Gregor> But even C is more multi-paradigm than Java is.
15:07:48 <Gregor> Want closures? Sure, we can kinda do that! Make the variables you want access to final, create an anonymous class with a single member function which takes no arguments (because that would be helpful) and returns Object, instantiate that, and then pass it 'round as a Runner object! That's so similar to closures it BLOWS MY MIND.
15:08:20 <Gracenotes> I just realized, I'm taking all 300-level courses this semester
15:08:31 <Gracenotes> this will either go well or very poorly
15:09:24 <Gregor> Course levels are meaningless.
15:10:33 <Gracenotes> uh. well, they exist.
15:10:40 -!- Pthing has joined.
15:11:52 <Gracenotes> Gregor: now it feels so much less dramatic >_>
15:12:04 <Gregor> :P
15:12:36 <Gracenotes> okay okay. instance where levels matter: you need 3 300-level compsci courses before you can apply for grad courses
15:13:14 <Gracenotes> which is more of a department-specific thing
15:15:01 <Gracenotes> (by comparison, my other semesters have had 0, 1, and 1 300-level course respectively..)
15:15:54 <fizzie> We don't have that kind of levels at all. :/
15:16:43 <fizzie> The courses belong to various sort of "modules" or some-such that is somehow related to their difficulty. I think; I don't really know how it goes nowadays.
15:18:01 <fizzie> And some selection of them have the "suitable for people who already have their master's degree and are studying for a doctoral degree" flag on too.
15:23:54 <Gregor> Well I'm taking all 500-level courses.
15:23:55 <Gregor> SO BUCK UP
15:23:56 <Gregor> :P
15:24:26 <Gregor> (This week I am also teaching a 500-level course. Go me!)
15:28:58 <fizzie> Without knowing the scale, that doesn't say much. How high do the levels go?
15:29:45 <AnMaster> I was highlighted, out of scrollback
15:29:52 <AnMaster> sigh
15:30:12 -!- cpressey has joined.
15:31:25 <AnMaster> Deewiant, btw I implemented BOOL in cfunge today, quite surprised me that it turned out to be using bitwise operators instead of logical ones. Since the fingerprint was described as "Logical functions"
15:34:43 <AnMaster> oh and I can't possibly implement RAND in efunge. It has an instruction for getting max range of integer randomness. But efunge uses bignum cells, and erlang's random:uniform/1 has no upper limit as far as I can tell.
15:35:29 <coppro> AnMaster: then pick an arbitrary limit and use it
15:36:05 <AnMaster> coppro, that feels so wrong!
15:36:29 <coppro> I don't disagree
15:36:33 <coppro> but that's what you must do!
15:37:56 <AnMaster> cfunge: speed and correctness (and no memory leaks) are more important than anything else. efunge: no arbitrary limits. Oh and ATHR (a fingerprint for async befunge threads)
15:38:06 <AnMaster> that's the goals you could say
15:38:43 <AnMaster> ATHR is still work in progress
15:38:54 <AnMaster> parts of it work, and some parts even have test cases
15:39:44 <AnMaster> coppro, I guess returning -1 could work, I use -1 for size of funge cell in y.
15:40:23 <AnMaster> since giving a size in bytes is meaningless if you don't have an upper limit
15:41:00 <AnMaster> coppro, bignum intercal would be interesting btw
15:41:04 <scarf> AnMaster: how is it possible to generate a uniform random number from 0 to infinity?
15:41:25 <AnMaster> scarf, it isn't, you *have* to give a limit. Just you can give any limit.
15:41:31 <coppro> hmm
15:41:39 <coppro> is Ungefunge Turing-complete?
15:41:50 <scarf> couldn't you give -1 or 0, isn't that the typical efunge/befunge-108 reaction?
15:42:02 <scarf> (also, it should be -110 by now...)
15:42:12 <AnMaster> scarf, look at RAND http://www.rcfunge98.com/rcsfingers.html#RAND
15:42:17 -!- jix has quit (Read error: 60 (Operation timed out)).
15:42:23 <AnMaster> the problem is M there
15:42:39 <AnMaster> I think erlang allows you to keep separate seeds
15:42:57 <scarf> the considered-as-unsigned is fun too
15:43:02 -!- jix has joined.
15:43:03 <AnMaster> yeah
15:43:03 <scarf> what exactly is (unsigned bigint)-1?
15:43:09 <AnMaster> no clue
15:43:32 <scarf> I think that, in order to be compatible with other RAND implementations, you should wrap mod 2^64
15:43:33 <AnMaster> really erlang doesn't fit the rcs fingerprints very well
15:43:33 <oerjan> scarf: uniform number from 0 to infinity is not defined in usual probability theory. and if you try to define it you'd get that you select an incomprehensibly large number with probability 1
15:43:40 <AnMaster> in many ways
15:43:44 <scarf> oerjan: I know
15:43:58 <scarf> I'm slightly surprised that there's an unusual probability theory that does describe it
15:43:58 <AnMaster> like one that more or less requires an union { float, int }; (FPSP)
15:44:10 <AnMaster> well I considering using type-tagged cells for it
15:44:21 <AnMaster> it could be done in erlang, just would be messy
15:44:23 <scarf> AnMaster: you can surely encode a bigfloat in a bigint somehow
15:44:32 <scarf> that strikes me as the obvious response
15:44:42 <AnMaster> scarf, ah but the precision is fixed. Also erlang only have double when it comes to floating point iirc
15:44:57 <AnMaster> except when packing/unpacking binary data
15:44:59 <coppro> AnMaster: reading the spec, it looks like you should return a magic value larger than every other for y
15:45:00 <scarf> oh, encoding a double as a bigint is even eaiser
15:45:07 <scarf> and IIRC, float = double is a valid implementation of C
15:45:11 <AnMaster> coppro, MAX_BIGINT
15:45:12 <AnMaster> aha
15:45:13 <AnMaster> hah*
15:45:21 <scarf> there so should be MAX_BIGINT
15:45:27 <AnMaster> scarf, sure it is. Just erlang throws an exception on NaN
15:45:28 <scarf> you can encode it as (unsigned bigint)-1
15:45:31 <AnMaster> which makes it a pita
15:45:38 <scarf> use a non-signalling NaN?
15:45:42 <scarf> or does it not distinguish?
15:45:44 <coppro> just use an infinity atom
15:45:46 <AnMaster> scarf, no such thing in erlang indeed
15:46:14 <AnMaster> scarf, same goes for +/- inf for some unknown reason
15:46:27 <scarf> ouch
15:46:39 <scarf> the floating-point standards distinguish between a huge number of different sorts of NaN
15:46:48 <AnMaster> yeah, didn't python use to do something similar some time ago?
15:46:51 <scarf> but quiet/signalling is the important distinction
15:47:05 -!- MizardX has joined.
15:47:07 <scarf> ("not a positive number" and "not a negative number" can also be intuited from the info given, I think)
15:47:20 <coppro> AnMaster: where is the RAND instruction defined?
15:47:31 <AnMaster> coppro, I linked it above: http://www.rcfunge98.com/rcsfingers.html#RAND
15:47:35 <AnMaster> also not an instruction
15:47:37 <AnMaster> a fingerprint
15:47:50 <AnMaster> that implements I, M, R, S and T
15:48:12 <scarf> hmm... SGNE looks like it could do with having some way to send a signal to another process
15:48:27 <coppro> ah
15:48:47 <AnMaster> scarf, half of his fingerprints are good, half are late night ideas. Almost all are underspeced and badly documented
15:48:51 <coppro> AnMaster: the spec suggests that cell 2 of the y instruction should return infinity
15:48:53 <AnMaster> at least he have test suites somewhere
15:49:03 <coppro> wait I already said that
15:49:05 <AnMaster> coppro, yeah but there is no such thing in bignum is there?
15:49:07 <scarf> AnMaster: IMO it just adds to the fun
15:49:22 <AnMaster> coppro, as in, you can always add one
15:49:34 <scarf> at least the whole FING/FNGR thing was fixed, it reminds me sort-of of OOXML mandating the leapyear bug
15:49:36 <coppro> use an infinity atom
15:49:39 <AnMaster> (until you hit the memory limit of whatever arch you use)
15:50:01 <AnMaster> but I certainly think pushing a <RAM of computer> sized cell is a bad idea
15:50:36 <scarf> also, I note that UNIX effectively requires running as root
15:50:40 <AnMaster> indeed
15:50:46 <scarf> which is a mindboggling thing to do with a Befunge fingerprint
15:50:55 <AnMaster> I won't implement it since I'm too scared to test it!
15:51:15 <coppro> why? it's allowed to error
15:51:29 <AnMaster> coppro, still need to check that it *would* work as root using a test suite
15:51:40 <coppro> ah
15:51:41 <scarf> (thing I randomly came across clicking on links; if you tried to mail someone not in /etc/passwd using sendmail, you got an error "scarf: not a typewriter")
15:51:51 <coppro> use strace?
15:51:51 <AnMaster> mycology + various other test suites give me a 80%+ line coverage of the code
15:51:57 <AnMaster> both for efunge and cfunge
15:52:07 <AnMaster> (that is just looking at executable lines of code of course)
15:52:18 <AnMaster> coppro, too easy to miss something.
15:52:25 <AnMaster> anyway, SGNE looks like a pita both for cfunge and efunge
15:52:37 <AnMaster> for efunge, well it could be running on multiple computers
15:52:38 <scarf> (because libc uses isatty in order to determine whether to line-buffer or block-buffer files, and doesn't always reset errno; it's like the whole error: success thing, just with a funnier message)
15:52:43 <AnMaster> it is supported in theory
15:52:51 <scarf> (apparently this bug is reproducable on OS X even nowadays)
15:52:58 <AnMaster> to run the funge space process on another erlang node than the current IP is running
15:53:46 <coppro> sure
15:53:48 <AnMaster> also what is the parameter to S
15:53:53 <coppro> that's why Erlang is awesome
15:53:55 <AnMaster> I can't see it documented there
15:54:05 <coppro> set the uid?
15:54:13 <AnMaster> coppro, actually I think it would require a few lines of code changes, since it uses ETS tables
15:54:29 <AnMaster> that are public, non-sync requiring writes won't go through the funge space daemon
15:54:54 <AnMaster> only bounds of funge-space updates are sent to it, and CAS (relative special synced get/put)
15:55:01 <AnMaster> why? because of ATHR
15:55:42 <AnMaster> coppro, and ets tables aren't available on remote nodes iirc. mnesia is yes but it uses a process that uses those ets tables
15:56:03 <coppro> ah
15:57:11 <AnMaster> really ATHR does strange and interesting things to the whole efunge
15:57:19 <AnMaster> I would hate to try to implement it in C
15:57:49 <AnMaster> scarf, another fingerprint on that page that makes no sense in bignum funges is LONG
15:58:07 <AnMaster> scarf, plus it even breaks programs if you change cell size
15:58:09 <scarf> AnMaster: on the contrary, I'd imagine that implementing double-size bignums is really easy
15:58:12 <AnMaster> which is why it is a bad idea (TM)
15:58:33 <AnMaster> scarf, yeah but programs won't be portable even between 32-bit cells and 64-bit cells (cfunge by default uses the latter)
15:58:51 <scarf> they'd be portable if they used the INTERCAL method
15:58:55 <AnMaster> oh?
15:59:02 <scarf> as in, all constants must be single-cell, but you can make larger constants by doing arithmetic
15:59:09 <AnMaster> hah
15:59:22 <AnMaster> reminds me of ICAL there, I can't see how to do it for bignum
15:59:41 <AnMaster> well it specs you shouldn't
15:59:43 <scarf> for some extra fun, do IFFI bignum
15:59:52 <scarf> actually, that probably isn't very difficult
15:59:57 <AnMaster> scarf, IFFI, as in the cfunge<->c-intercal interface?
16:00:00 <scarf> as you'll be reflecting on things out of the range of the INTERCAL progrm
16:00:01 <scarf> AnMaster: yes
16:00:06 <AnMaster> scarf, ais wrote it, not me
16:00:10 <AnMaster> I just wrote cfunge
16:00:37 <scarf> quite for a bit, anyway, I'm trying to mark Java
16:00:50 <AnMaster> "quite for a bit"?
16:00:54 <AnMaster> quiet?
16:00:55 -!- MissPiggy has joined.
16:01:11 <AnMaster> scarf, ^
16:01:18 -!- scarf has quit.
16:01:21 <AnMaster> meh
16:01:57 <AnMaster> hm erlang does have bitwise not
16:02:03 <AnMaster> how does that work for bignum...
16:03:28 <AnMaster> f = fun (N) -> io:format("~.2B~n~.2B~n", [N, bnot N]) end. was unhelpful
16:03:33 <AnMaster> it still prints it with sign
16:03:43 <AnMaster> err F
16:04:08 <AnMaster> 9> F(999999999999999999999999999999).
16:04:08 <AnMaster> 1100100111110010110010011100110100000100011001110100111011011110101000111111111111111111111111111111
16:04:08 <AnMaster> -1100100111110010110010011100110100000100011001110100111011011110101001000000000000000000000000000000
16:04:10 <AnMaster> well okay
16:04:11 <AnMaster> meh
16:04:43 <AnMaster> I guess it is just change the sign until you try to pack it with <<>>
16:04:54 * oerjan subtly reminds AnMaster that scarf _is_ ais.
16:05:00 <AnMaster> oerjan, is he?
16:05:01 <AnMaster> wth
16:05:06 <AnMaster> -_-
16:05:09 <AnMaster> that's crazy
16:05:26 <AnMaster> oerjan, 1) I wasn't around when he changed to it afaik 2) why the nick change?
16:05:40 <oerjan> indeed i was SHOCKED, SHOCKED
16:05:58 <AnMaster> oerjan, also he could have said
16:06:01 <oerjan> also, whois is your friend
16:06:10 <AnMaster> oerjan, I don't whois everyone all the time
16:06:12 <AnMaster> why should I
16:06:33 <oerjan> because some people have a habit of changing nicks regularly
16:06:39 <AnMaster> oerjan, not ais though
16:06:45 <AnMaster> Ilari yes
16:06:48 <oerjan> indeed, which is why i was SHOCKED
16:06:59 <Deewiant> AnMaster: BOOL uses bitwise ops? How'd you infer that?
16:07:03 <oerjan> wait, Ilari?
16:07:10 <AnMaster> err
16:07:13 <AnMaster> maybe I misremember
16:07:19 * oerjan was mostly thinking of ehird and ihope
16:07:24 <AnMaster> Deewiant, from the test suite and from checking rc98 code
16:07:39 <AnMaster> Deewiant, it tests for that it is bitwise
16:07:45 <Deewiant> Meh
16:07:50 <AnMaster> oerjan, ah yes ihope, that was it
16:07:57 <AnMaster> someone i.* anyway
16:08:38 <oerjan> oh and fax, don't forget him
16:08:52 <AnMaster> true
16:13:47 -!- oklopol has changed nick to oklofok.
16:14:22 -!- scarf has joined.
16:14:31 <scarf> ok, that bit of marking done
16:14:36 <scarf> did I miss anything important?
16:14:45 <oklofok> yes, you missed my relevant nick change
16:14:49 <oerjan> we revealed all your secrets BWAHAHA
16:14:53 <scarf> I would have lurked, but AnMaster kept pinging me and I was trying to mark someone's Java in front of the computer
16:14:54 <oklofok> oh, and that
16:14:57 <scarf> and all the pings were distracting me
16:15:11 <scarf> it behaved really weirdly, too
16:15:25 <scarf> the first time I ran it, it created a 0x0 unresizable window rather than a 600x400 one
16:15:37 <scarf> the second time, it drew the window at the right size but didn't draw anything in it
16:15:41 <scarf> and the third time, it worked
16:15:53 <scarf> this is without any recompilation or changing any of the relevant files in between
16:16:08 <scarf> and nothing in the code suggested that it was stateful
16:19:26 -!- oerjan has quit ("Good night").
16:19:40 <scarf> hmm... this reddit thread says that zip disks used to get hardware viruses
16:19:59 <scarf> if the disk was damaged, it would damage the drive heads of a drive it was inserted into
16:20:09 <scarf> in such a way that the drive then damaged all disks that were inserted in it from then on
16:20:21 <oklofok> :D
16:20:55 <scarf> apparently this could go back and forth ad infinitum
16:21:04 <scarf> which would make it a really impressive example of a hardware virus
16:25:37 <AnMaster> scarf, ah okay
16:25:42 <AnMaster> well you could have said you were ais
16:25:44 <AnMaster> -_-
16:25:53 <scarf> AnMaster: you mean it isn't obvious from my cloak and /ns info?
16:25:58 <scarf> do you not pay attention to join messages?
16:25:59 <AnMaster> scarf, I didn't look at that
16:26:23 <AnMaster> scarf, also you joined before I reconnected to the bouncer. it only replays messages
16:26:25 <AnMaster> not the joins
16:26:59 <AnMaster> anyway your cloak is "gateway/web/freenode/x-nvokymtkctncoxtg"
16:27:03 <AnMaster> so that doesn't help at all
16:28:25 <scarf> from here, yes
16:28:27 <scarf> it isn't normally, though
16:28:36 <scarf> and I've been online at the same time as you plenty of times over the last few days
16:28:46 <AnMaster> and no I haven't noticed
16:28:51 <AnMaster> why the nick change?
16:31:02 <oklofok> because ais *is* a scarf.
16:31:12 <MissPiggy> an indigo scarf
16:31:13 <scarf> AnMaster: amusing typo
16:31:43 <scarf> also, relatively common real word that isn't taken
16:32:58 <AnMaster> scarf, typo for?
16:33:13 <scarf> I can't remember
16:33:17 <scarf> it wasn't "ais523" though
16:33:57 <AnMaster> yeah getting from ais523 to scarf sounds hard
16:38:50 <AnMaster> scarf, btw ever considered writing a befunge backend for gcc?
16:39:00 <scarf> no
16:39:07 <scarf> it would be rather bad befunge anyway
16:39:14 <scarf> gcc is very specialised for outputting asm
16:39:14 <AnMaster> true
16:39:24 <AnMaster> and you could write a bf->befunge compiler
16:39:25 <scarf> and the less similar its output lang is to asm, the worse it performs
16:39:38 <AnMaster> oh? someone tried it for other languages?
16:40:07 <oklofok> my educated guess is that was an educated guess
16:40:14 <AnMaster> hah
16:41:57 <scarf> AnMaster: consider I spent months trying to figure out how gcc worked
16:42:12 <scarf> the answer is, it mostly doesn't; the code seems to only be tested in the cases that are actually used
16:44:42 <cpressey> See, I saved all that time by just assuming that :)
16:45:10 <cpressey> Cynicism is efficient!
16:45:25 <oklofok> i was under the impression gcc was a very well coded piece of shit
16:45:28 <oklofok> err
16:45:35 <oklofok> where piece of shit means program
16:46:18 <pikhq> Nope. More like "very well tested".
16:46:30 <pikhq> Nothing about it says "well coded".
16:46:52 <oklofok> i c
16:47:01 <oklofok> i don't know where i've gotten that impression
16:47:20 <oklofok> well "very well tested", maybe i've just heard rumors it doesn't have many bugs.
16:47:29 <oklofok> i haven't really used it much
16:49:14 <pikhq> It's rather well-known as not having much internal documentation, and being one of the slowest compilers...
16:50:13 <Gregor> But extremely conformant :)
16:50:37 <pikhq> Yeah.
16:52:03 * Gregor ♥ GCC
16:55:03 <pikhq> I despise it, but I despise it less than most other C compilers. :P
16:55:17 * pikhq <3 clang
16:57:43 <coppro> :( gcc
16:59:16 -!- tombom has joined.
17:06:18 <Gregor> Halp, more wikipedians are invading #esoteric
17:06:32 <coppro> quick, fight back with tvtropers
17:06:48 <Gregor> That idea is so bad it's horrible!
17:06:59 <scarf> I don't know, the wikipedians here tend to be pretty good
17:07:13 <scarf> also, TVTropes is not your personal army
17:07:17 <AnMaster> also what about g++
17:07:25 <Gregor> g++ is hilaaaaaaaaarious
17:07:25 <AnMaster> now that is not only messy and such. it is also buggy
17:07:33 <scarf> AnMaster: it's a gcc wrapper, more or less, I think
17:07:59 <Gregor> AnMaster refers not to the binary "g++", but to GCC's C++ support, namely cc1plus
17:08:20 <pikhq> Strictly speaking, gcc itself is merely a wrapper.
17:08:25 <scarf> hmm, the bits of gcc I looked at were mostly past the language-specific stage
17:08:31 <coppro> yep
17:08:35 <AnMaster> scarf, huh
17:08:42 <AnMaster> and yes what Gregor said
17:08:48 <coppro> gcc and g++ are both wrappers for the internal drivers
17:08:50 <scarf> although gcc-bf doesn't include support for exceptions, so you couldn't target it with C++
17:09:01 <Gregor> Oh nose D-8
17:09:08 <coppro> clang currently has a similar model, though it's all one self-invoking executable file right now
17:09:27 <coppro> eventually they plan to move it all to one execution
17:09:30 <Gregor> All compilers have a similar model *shrugs*
17:09:37 <AnMaster> why the internal driver stuff
17:09:40 <AnMaster> I fail to see the point
17:09:42 <Gregor> Even if it's all in one execution, it's just drivers calling drivers.
17:09:42 <pikhq> clang also has a bit more to wrap -- clang is only a frontend, after all.
17:09:49 <AnMaster> Gregor, well yes
17:09:50 <scarf> gah, it's so hard to read leaked internal Microsoft emails because apparently they top-post
17:09:53 <scarf> how can they get any work done?
17:09:53 <AnMaster> it makes sense
17:10:00 <AnMaster> to separate frontend from backend
17:10:12 <coppro> boo topposting
17:10:13 <AnMaster> (that isn't language and codegen I'm talking about here)
17:10:18 <FireFly> scarf, they use Outlook?
17:10:24 <scarf> FireFly: almost certainly
17:10:27 * coppro blames Gmail
17:10:28 <pikhq> And to seperate backend from linker.
17:10:31 <scarf> but even in outlook, top-posting is a sin
17:10:33 <AnMaster> <scarf> how can they get any work done? <-- they can?
17:10:39 <scarf> you have to try to edit the message into something more readable yourself
17:10:45 <coppro> I want an option to bottom-post, dammit
17:10:50 <Gregor> The internal version of Outlook has a secret feature that converts top-posted emails into bottom-posted emails for view :P
17:11:14 <Deewiant> I prefer top-posting for one-on-one e-mail
17:11:30 <FireFly> I prefer not to use e-mail
17:11:40 <coppro> the only thing worse that top-posters are the people who both top-post and leave 14 nested quote contexts in the email
17:11:53 * coppro kills them all
17:12:01 <Gregor> I USE GOOGLE WAAAAAAAAAAE
17:12:05 <Gregor> *waaaaave
17:12:23 * coppro euthanizes Gregor
17:12:34 <Gregor> :P
17:12:53 <AnMaster> I use irc
17:13:00 <AnMaster> hm top posting on irc
17:13:03 <AnMaster> would be interesting
17:13:04 <coppro> O_O
17:13:07 <FireFly> ...no
17:13:10 <pikhq> o.O
17:13:13 <AnMaster> just make an irc client that scrolls the other way
17:13:14 <fizzie> I top-post when replying to top-posting people (which seems to be almost everyone these days) because otherwise one ends up with really silly-looking messages. (Well, unless you trim with a very heavy hand.)
17:13:19 <AnMaster> as in, last line at the top
17:13:51 <fizzie> Clairvoyants can top-post in the normal-style IRC.
17:14:10 <AnMaster> hah
17:15:36 <Gregor> I wonder if you could top-post in IRC somehow ...
17:15:37 <Gregor> OMG
17:15:39 <Gregor> FIZZIE JUST DID!
17:15:44 <Gregor> fizzie: You're welcome.
17:16:01 <AnMaster> that's more like reverse bottom posting
17:16:03 <fizzie> Thank yous.
17:19:49 <scarf> fizzie: when someone sends me an email with top-posting in I rearrange the whole thing to bottom-posting before replying
17:20:05 <oklofok> why is top-posting bad?
17:20:13 <scarf> oklofok: because the answer comes before the question
17:20:27 <scarf> so you have to read the email from bottom upwards to get the flow of conversation, but downwards within each message
17:20:32 <oklofok> ...so?
17:20:39 <scarf> so you're jumping around scrolling up and down to read everything in order
17:20:49 <oklofok> you get the most relevant thing first, if you don't remember everything, read bottom to top as much as you need
17:20:51 <scarf> technically it doesn't matter if you're getting emails one at a time and you remember the conversation
17:20:56 <Gregor> oklofok: Because people lurrve to complain about the most minor things in life.
17:21:03 <oklofok> Gregor: ah!
17:21:10 <scarf> but if you're trying to catch up on a thread late, it's really annoying
17:21:23 <scarf> in the case of the leaked Microsoft email I was reading, the OP was the most interesting and relevant post
17:21:28 <scarf> and yet it was right at the bottom
17:21:44 <oklofok> ah
17:21:47 <oklofok> that's true
17:21:56 <cpressey> Sounds like a job for Gregor's R->L parser
17:22:07 -!- Sgeo|web has joined.
17:22:25 <Sgeo|web> The JS client is broken for me on Chrome. When I stop it, I can't start it again
17:22:36 <fizzie> Another thing is that all the answers come in one block, and after that all questions in one block; I personally prefer a properly trimmed-and-quoted thing where the answers come after the relevant quoted bits.
17:23:13 <AnMaster> fizzie, what about inline response
17:23:26 <AnMaster> as in, commenting on various sections on it
17:24:06 * Sgeo|web is jealous of fizzie having solved 40 or so in the past 24h
17:25:03 <fizzie> AnMaster: Yes, that's what I mean by "properly trimmed-and-quoted thing where the answers come after the relevant quoted bits".
17:25:07 -!- augur has quit (Read error: 60 (Operation timed out)).
17:25:12 <coppro> I should get an account so I can track my progress
17:25:34 <Sgeo|web> Is it just me, or is Robozzle slow right now/
17:25:52 <AnMaster> fizzie, a true bottom poster would reply to *everything* at the end
17:25:54 <AnMaster> no matter what
17:26:13 <fizzie> There aren't very many of those, I don't think. It's either the "right" way, or the top-posting way.
17:26:22 <fizzie> Well, based on the sample of emails I get.
17:26:33 <fizzie> Sgeo|web: I've been twiddling the game with the phone when technically listening to lectures; for some inexplicable reason I have an urge to get the campaign list completely done.
17:26:47 <AnMaster> fizzie, you would make a graph of the percentages over time
17:27:02 <fizzie> I seem to be missing 16.
17:27:09 <AnMaster> 16 what?
17:27:23 <fizzie> That was still to Sgeo.
17:27:25 <MissPiggy> fizzie how come you're so good at robozzle
17:27:25 <AnMaster> ah
17:27:25 <MissPiggy> ?
17:27:46 <Sgeo|web> You haven't come across the same issue in the JS client?
17:28:22 <fizzie> MissPiggy: I'm not really very good, actually; I haven't done ~any of the >4 difficulty ones.
17:28:33 <MissPiggy> hm
17:28:59 <fizzie> Sgeo|web: Not yet, at least. Though I think I got somehow logged out without doing anything a moment ago. But I might have just gotten some tabs confused.
17:30:36 -!- scarf has quit ("Page closed").
17:31:49 * Sgeo|web solves Early Warning on the first try (if I didn't, I'd have to refresh the page *cries*
17:33:02 -!- scarf|away has changed nick to scarf.
17:33:50 <fizzie> Ooh, now I got a "Server Error in '/' Application" from the JS client.
17:33:59 <coppro> Oo that one looks tricky
17:34:25 <Sgeo|web> Well, I got a hint from the RoboZZle video, which features Very Early Warning
17:36:01 * Sgeo|web switches to IE7 for RoboZZle purposes, the JS client works on it
17:36:22 <Sgeo|web> Except now I'm getting that error
17:38:09 <Sgeo|web> <igoro> this minute i am deploying a newer version
17:38:12 <coppro> oh I get it
17:38:27 <coppro> hmm
17:38:32 <coppro> how to approach the problem
17:38:52 <coppro> obviously the two functions must mirror each other
17:40:17 <fizzie> Very Early Warning is a reasonably straight-forward extension with four functions.
17:40:37 <coppro> I still haven't worked some of the recursion bits out in my head
17:41:11 <Sgeo|web> Do you want a slight hint?
17:41:59 <Sgeo|web> Lol, Cube Extreme's F2 has _one_ slot
17:42:03 <Sgeo|web> Making it literally useless
17:43:43 <coppro> Oo
17:46:04 <coppro> labyrinth has too many open spaces
17:46:12 <coppro> only need 6 cells
17:47:16 <Sgeo|web> open spaces can increase the psychological difficulty, or can be because the author didn't find the shortest possible solution
17:47:45 <fizzie> coppro: "Incomplete grid" had 5+5+10 (F1+F2+F3) slots, and my solution used just the five slots out of F1 and the other two functions not at all.
17:47:55 <coppro> Oo
17:48:07 <coppro> oh yeah, me too
17:48:11 <coppro> that one was easy
17:48:54 -!- augur has joined.
17:49:08 <coppro> hmm
17:49:24 <coppro> I know there's one stack trick I'm missing :(
17:49:53 -!- bsmntbombdood_ has quit (Read error: 113 (No route to host)).
17:50:33 <Sgeo|web> http://robozzle.com/my
17:50:40 <Sgeo|web> Has a solution viewer :D
17:51:33 <coppro> I don't have an account
17:52:10 <Sgeo|web> Then make one. (It only shows your solutions, btw)
17:52:26 -!- bsmntbombdood_ has joined.
17:53:36 <coppro> what I need to know is how to make a function that counts up or down each time it's called, like for Cut in half
17:53:40 <coppro> oh wait
17:53:42 <coppro> nvm
17:53:47 <coppro> I'm thinking about that one wrong
17:55:12 <coppro> I still need the technique though
18:00:21 <Sgeo|web> Getting loopy is a 5+5+5, I only needed 4+4
18:05:39 <scarf> how does this game compare to Rubicon?
18:07:51 <Sgeo|web> Rubicon has you build stuff on the level (I think), and this has you give instructions to a robot
18:08:18 <Sgeo|web> I don't know if Rubicon is turing-complete. RoboZZle is (given access to the painting commands)
18:10:19 <coppro> I think we agreed Rubicon is (excepting space concerns, of course)
18:19:29 <fizzie> Ghaaa, finally got that silly "Replication Engine" done; took me something like 20 minutes to implement workingly even though the idea is very simple.
18:21:42 * Sgeo|web just needs _one_ more slot for "Stacking for not so newbies"
18:22:16 <Sgeo|web> Or not
18:25:20 <coppro> done the first 30 in my account
18:25:25 <coppro> time to do last-minute studying
18:25:39 -!- augur has quit (kubrick.freenode.net irc.freenode.net).
18:25:39 -!- tombom has quit (kubrick.freenode.net irc.freenode.net).
18:25:39 -!- MizardX has quit (kubrick.freenode.net irc.freenode.net).
18:25:39 -!- cheater2 has quit (kubrick.freenode.net irc.freenode.net).
18:25:39 -!- sebbu has quit (kubrick.freenode.net irc.freenode.net).
18:25:40 -!- Deewiant has quit (kubrick.freenode.net irc.freenode.net).
18:25:41 -!- olsner has quit (kubrick.freenode.net irc.freenode.net).
18:25:41 -!- mycroftiv has quit (kubrick.freenode.net irc.freenode.net).
18:25:41 -!- yiyus has quit (kubrick.freenode.net irc.freenode.net).
18:25:41 -!- Leonidas has quit (kubrick.freenode.net irc.freenode.net).
18:25:41 -!- comex has quit (kubrick.freenode.net irc.freenode.net).
18:25:42 <scarf> coppro: I have a proof
18:25:59 <scarf> BCT in Rubicon, the data and program are limited-size but only if the playfield is limited-size
18:26:35 <coppro> yeah, I suspected you did
18:28:06 -!- Deewiant has joined.
18:30:49 * Sgeo|web fails a puzzle by failing to see a star
18:31:43 * Sgeo|web gives up, for want of a star
18:32:50 -!- olsner has joined.
18:32:50 -!- comex has joined.
18:32:50 -!- Leonidas has joined.
18:32:50 -!- yiyus has joined.
18:32:50 -!- mycroftiv has joined.
18:32:56 <MissPiggy> lol
18:33:23 -!- augur has joined.
18:33:55 -!- tombom has joined.
18:33:55 -!- MizardX has joined.
18:33:55 -!- cheater2 has joined.
18:33:55 -!- sebbu has joined.
18:36:01 * Sgeo|web surrenders somewhat easily
18:36:02 <fizzie> Sometimes I disagree with the difficulty assignments; I found "Replication Engine" (difficulty 4.00) much trickier than "Can you count in binary?" (difficulty 4.13).
18:43:24 -!- bsmntbombdood_ has changed nick to bsmntbombdood.
18:45:54 <Sgeo|web> fizzie, they're assigned by the players
18:54:33 <bsmntbombdood> http://www.youtube.com/watch?v=O2rGTXHvPCQ&feature=player_embedded
18:54:36 <bsmntbombdood> oh lawd
18:54:51 * Sgeo|web sees a bunch of comments "no need for F2/F3".. but I used F2 and F3
19:01:35 <Sgeo|web> Going to go get some food now
19:04:35 -!- Sgeo|web has quit (Ping timeout: 180 seconds).
19:21:54 <fizzie> Still, 4.47 for "Reflection"...
19:27:34 -!- kar8nga has joined.
20:29:58 -!- Wareya has joined.
20:52:28 <AnMaster> scarf, but isn't Rubicon basically RUBE?
20:52:38 <AnMaster> and wasn't RUBE proved TC iirc?
20:53:20 <scarf> well, I proved Rubicon TC in its own right
20:53:31 <scarf> and RedGreen is TC, but IIRC RUBE hasn't been shown either way
21:02:16 <cpressey> Intrigued by pikhq's reference, I'm trying to build clang right now... under cygwin...
21:02:32 <cpressey> (always a fun crap shoot)
21:03:24 <pikhq> cpressey: I don't think clang supports i686-pc-win32.
21:03:31 <pikhq> May end up with a cross-compiler.
21:03:54 <pikhq> Nope, I'm wrong. Supports it just fine.
21:03:57 <cpressey> pikhq: Isn't the question whether LLVM supports it?
21:04:14 <pikhq> cpressey: C needs the frontend to support it as well.
21:04:34 <pikhq> The LLVM generated is machine-dependent.
21:06:39 <cpressey> pikhq: I see. Makes sense. Well, I had gotten past "./configure" and it didn't barf, so I was hopeful, anyway.
21:12:02 <Wareya> doesn't cygwin run under a linux emulation dll?
21:14:39 -!- oklofok has quit (Read error: 60 (Operation timed out)).
21:17:33 <cpressey> Wareya: mostly, but there are all kinds of details relevant to compilers that aren't handled by it. For example, executable format. I don't think it can handle ELF...
21:18:07 <cpressey> Not to mention that its emulation of Linux is... not perfect.
21:20:54 <pikhq> Wareya: No, Cygwin runs under a DLL that provides POSIX functions.
21:21:11 <pikhq> It's not Linux, it's another UNIX.
21:21:43 <pikhq> cpressey: Cygwin uses PE for its executable format, with an executable postfix of .exe and a library postfix of .so.
21:21:47 <pikhq> Erm.
21:21:47 <pikhq> .dll
21:22:14 <cpressey> Sorry. meant POSIX when I said Linux...
21:29:36 -!- mycroftiv has quit ("leaving").
21:38:29 -!- Sgeo has quit (Read error: 110 (Connection timed out)).
21:40:13 -!- augur_ has joined.
21:40:48 -!- augur has quit (Read error: 110 (Connection timed out)).
21:44:58 <Wareya> pikhq: Close enough.
21:45:05 -!- kar8nga has quit (Remote closed the connection).
21:50:48 -!- scarf has quit (Read error: 104 (Connection reset by peer)).
21:53:00 <cpressey> And in fact, clang trunk errors out in build on my cygwin install. Lovely. Well, it seems to be one of the debug tools, can probably just skip it.
21:54:58 <AnMaster> cpressey, probably no one really cares about cygwin these days
21:55:15 <AnMaster> real *nix ftw
21:55:33 <Deewiant> LLVM trunk moves so fast, you can't expect it to work at any given time.
21:55:39 <AnMaster> well yes
21:55:46 <AnMaster> I use the releases anyway
21:55:49 <Deewiant> They do have a cygwin buildbot, IIRC.
21:55:54 <AnMaster> really? heh
21:56:49 <AnMaster> cpressey, do you usually use windows?
21:57:12 <cpressey> AnMaster: not happily.
21:57:23 <AnMaster> cpressey, ah, linux desktop? or os x?
21:58:04 <cpressey> AnMaster: to be more specific, I do usually use Windows these days, it's just that, I don't do so with much joy in my heart.
21:58:27 <Deewiant> The logical question then is: why use it if it makes you sad
21:59:46 -!- Gregor-L has joined.
21:59:47 <Gregor-L> Observation:
21:59:50 <Gregor-L> I suck at drums.
22:00:02 <Deewiant> I think you're supposed to beat them.
22:00:03 <cpressey> Deewiant: because being not sad is not, it turns out, a huge priority.
22:00:35 <Deewiant> What, then, is?
22:01:00 <AnMaster> cpressey, unless you need 3D virtualbox or such might work well
22:01:13 <AnMaster> even with 3D iirc virtualbox has some support for that nowdays
22:01:14 <cpressey> Deewiant: at the moment, something closer to sheer survival.
22:01:31 <AnMaster> huh
22:01:46 <AnMaster> cpressey, programs for work?
22:01:48 <cpressey> AnMaster: as it turns out, I am running Ubuntu in a VMWare VM on this machine, and as my main OS on my machine at home.
22:01:57 <AnMaster> ah
22:02:01 <cpressey> AnMaster: pretty much/
22:02:07 <AnMaster> so my guess was pretty close then yeah
22:02:25 <Deewiant> I guess what I'm trying to fish for is what specifically is it that forces you to use Win
22:02:35 <AnMaster> well that is interesting too
22:02:48 <cpressey> If it was really important for me to get clang running, I probably would have tried it in the VM. But for kicks, it's hey, let's try cygwin!!
22:03:03 <cpressey> Deewiant: ... other people?
22:03:24 <AnMaster> cpressey, did it work?
22:03:51 <AnMaster> Deewiant, also to what degree does the compiler have to support *.dll and *.exe. Isn't that mostly the linker?
22:03:52 <cpressey> AnMaster: no, there's some kind of error in the profiling library too
22:03:57 <AnMaster> hrrm
22:04:00 <Deewiant> cpressey: Probably not the people themselves, but a certain piece of software (not Windows itself) they expect you to use?
22:04:18 <cpressey> Deewiant: sure.
22:04:34 <AnMaster> cpressey, I think Deewiant is trying to ask what those pieces of software are
22:04:50 <cpressey> Many and varied.
22:05:01 <AnMaster> also I think you are almost deliberately avoiding answering it straight ;P
22:05:08 <Deewiant> Gee, you think? :-P
22:05:24 <AnMaster> which just makes us more interested of course
22:05:30 <Deewiant> Re. *.dll and *.exe: beats me
22:05:49 <AnMaster> Deewiant, well I guess some support for calling conventions and object format
22:06:13 <AnMaster> cpressey, so any examples? :)
22:06:32 <Deewiant> Calling conventions is a bit of a separate thing, but yes, of course the object format that your linker expects as input :-P
22:06:54 <AnMaster> Deewiant, also GOT or whatever equiv windows uses
22:07:05 <AnMaster> I think the compiler has to know part of it
22:07:15 <AnMaster> that's what the __dllspec thing is for isn't it?
22:07:20 <Deewiant> I'm not 100% sure what the GOT is, but isn't it part of the object format
22:07:37 <Deewiant> I don't know what __dllspec is for, I know precious little about dynamic linking.
22:07:37 <AnMaster> Deewiant, global offset table
22:07:46 <Deewiant> AnMaster: I knew that, but not much more.
22:08:02 <AnMaster> Deewiant, and __dllspec is used similar to __attribute__, that is to annotate functions
22:08:07 <AnMaster> a specific annotation iirc
22:08:09 <Deewiant> I know that, too.
22:08:10 <AnMaster> also windows only
22:08:25 <AnMaster> Deewiant, I think it is used to modify the calling sequence somewhat
22:08:42 <Deewiant> Just the calling convention?
22:08:51 <AnMaster> Deewiant, oh and for exporting symbols
22:08:58 <AnMaster> but I meant when importing it
22:09:25 <AnMaster> Deewiant, not "calling convention" as in "put value in register x"
22:09:30 <AnMaster> but as in "jump to y"
22:09:38 <AnMaster> also if I don't misremember *.exe and *.dll have separate memory spaces or some shit like that on windows
22:09:42 <Deewiant> Ah right
22:09:45 <AnMaster> but that is so weird I *might* have dreamt it
22:09:46 <Deewiant> "dllimport" linkage causes the compiler to reference a function or variable via a global pointer to a pointer that is set up by the DLL exporting the symbol. On Microsoft Windows targets, the pointer name is formed by combining __imp_ and the function or variable name.
22:10:07 <AnMaster> Deewiant, ye gods, worse than I remembered
22:11:34 <AnMaster> Deewiant, btw source?
22:11:42 <Deewiant> http://llvm.org/docs/LangRef.html
22:13:21 <AnMaster> hm interesting there
22:13:23 <AnMaster> "fastcc"
22:13:34 <AnMaster> wonder if you can reach it through clang
22:13:43 <AnMaster> or llvm-gcc for that matter
22:14:01 <Deewiant> You mean emit code that uses it? Just make a file-local function.
22:14:13 <AnMaster> Deewiant, well between files I meant
22:14:26 <Deewiant> LTO should do it.
22:14:29 <AnMaster> hm
22:21:23 -!- BeholdMyGlory has quit (Remote closed the connection).
22:25:52 <pikhq> One of the nicest things about LLVM is the LTO you can do with it.
22:26:07 -!- augur_ has quit (Read error: 60 (Operation timed out)).
22:26:16 <pikhq> (GCC 4.5 is also getting that; they make the compiler output GIMPLE in object files)
22:26:16 -!- MigoMipo has quit (Read error: 104 (Connection reset by peer)).
22:37:10 -!- tombom has quit ("Leaving").
22:53:18 -!- augur has joined.
23:01:24 <Gregor> Which presumably means that either ld will gain some compilation support (ew) or that gcc, when used to link, actually does some trickery before calling ld.
23:02:51 <pikhq> Gregor: gold has plugin support.
23:03:10 <pikhq> ld ends up calling out to GCC at link time, in effect.
23:03:29 <pikhq> The same setup is used for LLVM's LTO.
23:03:53 <pikhq> (gold is an optional part of GNU binutils)
23:04:26 <Gregor> Yo dawg, I heard you like to compile, so I put a compiler in your linker, so you can compile while you link.
23:09:31 -!- nooga has joined.
23:09:33 <nooga> hello
23:10:04 <pikhq> Gregor: GCC also has plugin support now.
23:10:16 <nooga> are there lazy, functional esolangs that resemble haskell?
23:10:29 <pikhq> "resemble Haskell", no.
23:10:56 <pikhq> "lazy, functional esolang", yes. LazyK
23:11:26 <nooga> i don't mean the syntax
23:11:31 <nooga> but rather
23:11:33 <nooga> hmmm
23:12:23 <pikhq> LazyK has S, K, and I.
23:12:29 <nooga> too minimal
23:13:11 <pikhq> IO is perfomred by considering the program a function from input to output.
23:13:19 <MissPiggy> I want to program in a sanscrit version of lisp
23:13:55 <MissPiggy> (यन्त्र (संस्कृता) वाक्)
23:14:15 <pikhq> It also possesses 3 syntaxes.
23:14:27 <nooga> MissPiggy, do you know sanscrit?
23:14:33 <MissPiggy> no but that would help me learn it
23:14:40 <nooga> ...
23:14:52 <nooga> hanguk is interesting
23:15:09 <nooga> i wonder why nobody tried to design hanguk based esolang
23:15:28 <MissPiggy> what is that?
23:15:48 <nooga> http://en.wikipedia.org/wiki/Hangul
23:15:56 <nooga> i meant hangul
23:17:19 <MissPiggy> I don't know why it would be a good language
23:17:28 <MissPiggy> what's peculiar abou tit?
23:18:12 -!- FireFly has quit ("Leaving").
23:18:37 -!- nooga_ has joined.
23:18:42 <cpressey> nooga: It's been done.
23:18:59 <cpressey> http://esolangs.org/wiki/Aheui
23:19:33 <MissPiggy> this is good ㅙ
23:19:50 <nooga_> DAMN
23:20:21 <cpressey> nooga_: but we could always use more :)
23:20:33 <MissPiggy> wow
23:24:09 <nooga_> hmm
23:28:09 <nooga_> weird
23:28:19 <nooga_> i always use ruby for prototyping
23:32:51 <Gregor> Today's game-music attempt (not yet complete): http://filebin.ca/wakrx/zee2.ogg
23:34:19 <nooga_> annoying
23:34:41 <Gregor> Gee :P
23:34:52 <nooga_> i mean the instruments
23:35:07 <Gregor> D-8. I spent /so damn long/ choosing those instruments X-D
23:35:24 <nooga_> the composition is nice
23:35:50 -!- nooga has quit (Read error: 110 (Connection timed out)).
23:36:15 -!- nooga_ has changed nick to nooga.
23:37:06 -!- cheater3 has joined.
23:38:08 -!- cheater2 has quit (Read error: 104 (Connection reset by peer)).
23:38:46 <Pthing> they're too hi-fi
23:38:59 <Pthing> who needs a synth trumpet when you can use a sawtooth
23:39:04 <nooga> yeah!
23:39:11 <nooga> square is the best
23:39:28 <nooga> with a proper arpeggio
23:39:33 <Gregor> lawl, yesterday all my instruments were too synthy, now they're not synthy enough :P
23:39:42 <nooga> use real ones
23:39:50 <Gregor> What a simple solution :P
23:40:04 <Pthing> well the people yesterday were wrong
23:40:09 <nooga> or samples
23:40:16 <nooga> soundfonts
23:40:23 <Gregor> nooga: This is from a soundfont, from samples X_X
23:40:31 <nooga> oh
23:40:41 <nooga> i thought it was cheap midi synthesizer
23:40:50 <Gregor> Yesterday I was writing this: http://codu.org/music/vg/zee1.ogg , not zee2, btw.
23:40:51 <nooga> ;C
23:41:17 <Gregor> The trumpet sounds the worst, the others actually sound pretty good.
23:42:27 <nooga> right
23:43:02 <Gregor> So, the trumpet ruins everything. I guess I need to go soundfont hunting for a trumpet.
23:58:11 -!- MizardX- has joined.
23:58:25 * SimonRC goes to bed
2010-01-26
00:00:35 -!- cpressey has left (?).
00:03:38 <nooga> trumpet trumpet
00:03:48 <nooga> i like jazz trumpet
00:05:08 <Gregor> Finding non-crappy trumpet soundfonts. Surprisingly difficult.
00:05:17 <uorygl> Why do you want a trumpet?
00:05:38 <Gregor> Sounded the best in my head.
00:05:55 <Gregor> I may actually use sawtooth :P
00:05:58 <Gregor> At least then it isn't lying.
00:06:26 <Gregor> Although then, like yesterday, people will complain that the synth is out of place with the acoustic instruments.
00:07:17 <nooga> http://images.cheezburger.com/completestore/2009/12/9/129048828616704060.jpg
00:07:36 <nooga> replace trumped with pleasant synthetic lead
00:07:47 <nooga> i mean like
00:07:52 <uorygl> I, luckily, don't know what a trumpet sounds like!
00:08:39 <nooga> i don't know, there are pleasant synthetic sounds
00:10:20 <uorygl> Though I suppose being familiar with instruments is a good thing. I once spent a while looking for a mellow, rhotic brass instrument.
00:13:09 <Gregor> It needs to have a /little/ bit of a bite to it.
00:13:38 -!- MizardX has quit (Connection timed out).
00:15:43 -!- MizardX- has quit (Read error: 104 (Connection reset by peer)).
00:16:15 -!- MizardX has joined.
00:17:53 -!- Sgeo has joined.
00:24:27 -!- Sgeo has quit (kubrick.freenode.net irc.freenode.net).
00:24:27 -!- Ilari has quit (kubrick.freenode.net irc.freenode.net).
00:24:27 -!- pikhq has quit (kubrick.freenode.net irc.freenode.net).
00:24:28 -!- uorygl has quit (kubrick.freenode.net irc.freenode.net).
00:24:30 -!- uorygl_ has joined.
00:24:36 -!- Ilari has joined.
00:24:43 -!- pikhq has joined.
00:24:45 -!- Sgeo has joined.
00:25:48 <Gregor> Hm, this synth instrument is kinda OK.
00:26:28 <Sgeo> Anything new in RoboZZle-land? Anyone working on a Javascript level editor?
00:28:50 <nooga> RoboZZle-lan?
00:29:34 -!- SimonRC has quit (Remote closed the connection).
00:30:38 -!- augur has quit (Connection timed out).
00:30:43 <Gregor> http://filebin.ca/nawqsx/zee2.ogg Yeaaah, Idonno about this synth.
00:30:51 <Gregor> I'm growing to like it though.
00:31:10 -!- sebbu2 has joined.
00:34:04 <nooga> hum
00:34:07 <nooga> yea
00:39:57 -!- cheater4 has joined.
00:41:06 -!- cheater3 has quit (Read error: 104 (Connection reset by peer)).
00:45:40 -!- augur has joined.
00:46:20 -!- sebbu has quit (Connection timed out).
00:46:20 -!- sebbu2 has changed nick to sebbu.
01:04:14 -!- Ilari_ has joined.
01:04:36 -!- Ilari has quit (Read error: 113 (No route to host)).
01:04:47 -!- SimonRC has joined.
01:05:27 -!- Asztal has quit (Read error: 110 (Connection timed out)).
01:15:02 <nooga> i like The Knife
01:19:31 <olsner> me too
01:20:52 <nooga> i like scandinavian electronica
01:21:32 <nooga> brb, sleep
01:35:30 <pikhq> Sxat' de mi je Esperant'.
01:36:03 -!- Pthing has quit (Remote closed the connection).
01:54:22 <Gregor-L> This is getting REALLY weird.
02:02:38 <pikhq> Quod?
02:02:51 <Gregor-L> zee2
02:02:59 <pikhq> Ha.
02:06:47 -!- Gracenotes has quit (Connection timed out).
02:07:30 <Sgeo> Come on, no one's working on a JS level editor?
02:08:30 <coppro> I can't do 'The powers'
02:08:40 <coppro> one cell short :(
02:08:50 <Gregor> *converting
02:09:06 <coppro> wait... got it
02:09:23 -!- MissPiggy has quit.
02:09:30 * Sgeo has no time now to do RoboZZle
02:09:32 -!- Gracenotes has joined.
02:09:40 <Sgeo> I need to eat, then work on a project that doesn't exist.
02:09:42 <pikhq> Sgeo: Ne; mi nun studadas Esperanton.
02:10:04 <Sgeo> "No, I <something> study Esperanto"
02:10:18 <Sgeo> (guessing that studadi is "to study")
02:10:26 <pikhq> "nun" = now.
02:10:40 <pikhq> "No, I'm studying Esperanto"
02:10:47 <coppro> now I think I see an anternate solution
02:11:16 <coppro> yep, that worked
02:12:08 <pikhq> Kaj lernu.net-a mala servro ne facilas min...
02:15:45 <Gregor> Uploading ...
02:16:17 -!- augur has quit (Read error: 113 (No route to host)).
02:19:47 <Gregor> Now soliciting comments on http://filebin.ca/njxxwg/zee2.ogg
02:20:03 <pikhq> Insufficiently ogg vorbis! ... Oh, wait.
02:27:53 -!- augur has joined.
02:27:58 <Gregor> Well, thank you for your useful comments.
02:28:04 <Gregor> Glad I decided #esoteric == ##music :P
02:29:45 * Sgeo solves labyrinth
02:30:13 <pikhq> Wait, there's a ##music?
02:31:31 <Gregor> Idonno, probably?
02:31:44 <pikhq> Geg.
02:32:36 -!- GreaseMonkey has joined.
02:43:46 <pikhq> ... Geg?
02:44:01 <Gregor> GEG!
02:44:12 <Gregor> That's my name without O's or R's.
02:44:26 <pikhq> So it is.
02:45:24 <coppro> cpp
02:45:28 <coppro> ... oh dear
02:45:37 <pikhq> ?
02:45:38 <coppro> #define PRIVMSG this is bad, isn't it?
02:45:45 <Gregor> I WURRRRVE THE C PREPROCESSOR
02:45:49 <Gregor> coppro: That can only be good
02:46:02 <coppro> #undef PRIVMSG
02:46:07 <coppro> #define PRIVMSG are you sure?
02:46:15 <Gregor> YES.
02:46:26 <coppro> #define ACTION will be right back
02:46:31 -!- coppro has quit ("I am leaving. You are about to explode.").
02:46:38 <pikhq> The C preprocessor is kinda "meh", honestly.
02:46:54 <pikhq> Though it is better than some other language's support for metaprogramming...
02:47:04 <GreaseMonkey> uh, ACTION is a CTCP message, which is basically a PRIVMSG in the form $01 "ACTION whatever" $01
02:47:10 <pikhq> (seriously, there exist languages without any sort of metaprogramming. WTF?)
02:47:34 <Sgeo> There's a #define language
02:47:44 <Sgeo> erm, channel
02:48:02 -!- coppro has joined.
02:48:08 <Sgeo> The previous mistake proves how sleep-deprived I am
02:50:31 <Sgeo> Anyway, off to cook now
03:07:32 -!- Asztal has joined.
03:29:40 -!- coppro has quit ("I am leaving. You are about to explode.").
03:33:50 -!- coppro has joined.
03:38:53 -!- oklopol has joined.
04:24:25 <Gracenotes> pikhq: the nerve
04:24:38 <Gracenotes> oh hello, 1.5 hours
04:26:32 -!- coppro has quit ("I am leaving. You are about to explode.").
04:33:23 -!- coppro has joined.
04:54:41 -!- Azstal has joined.
04:56:25 -!- Asztal has quit (Read error: 110 (Connection timed out)).
04:57:19 <pikhq> Gracenotes: Heheh.
05:01:53 -!- Asztal has joined.
05:04:05 -!- oerjan has joined.
05:08:32 * Sgeo is going to keel over from sleep deprivatio
05:08:53 <oerjan> he made it almost to the end of the sentence
05:09:07 <Sgeo> l
05:09:10 <pikhq> It is fortunate that the \n is implicit.
05:09:20 <oerjan> indeed
05:14:15 -!- Azstal has quit (Read error: 110 (Connection timed out)).
05:21:03 -!- Sgeo has quit ("Leaving").
05:22:53 <oklopol> did you know a massive headache makes programming much harder?
05:23:11 <oerjan> yes.
05:23:40 -!- Gregor-L has quit (Read error: 110 (Connection timed out)).
05:24:10 <oerjan> in fact so does a small headache, and if you ignore this fact you will soon have a massive one.
05:25:42 <oklopol> yesterday i thought my programming skills had considerably diminished, i could code up the algorithms just fine, but program structure just kept getting crappier and crappier
05:26:15 <oklopol> i had this massive headache, and didn't realize i probably shouldn't be programming
05:26:16 <oerjan> then you realized it was java.
05:26:39 <oklopol> nah python, always python...
05:27:45 <oklopol> anyway now i took the code, and instantly see "wow this could be generalized beautifully", and fixed the whole thing in an instant
05:28:30 <oklopol> losing abilities really makes you appreciate them
05:29:17 <oerjan> *sigh*
05:30:06 <oklopol> :D
05:30:11 <oklopol> why sigh
05:31:45 <oerjan> because that reminds me how i get in worse shape year by year
05:32:50 <oklopol> i guess i knew that
05:33:50 <oklopol> i've heard i still have 4 years of getting better left.
05:35:06 <oklopol> anyway i'm glad you aren't my age, if you've really gotten considerably stupider
05:35:32 <oklopol> or perhaps more slower than stupider?
05:36:09 <oerjan> less stamina too
05:46:09 -!- oerjan has quit ("Bus").
05:51:47 <oklopol> he's a busy guy
05:54:58 -!- coppro has quit (Remote closed the connection).
05:55:31 -!- coppro has joined.
06:05:29 <AnMaster> oklopol, augh
06:06:35 <AnMaster> bbl
06:08:40 <oklopol> he's a bubbly guy
06:13:12 -!- augur has quit (Read error: 113 (No route to host)).
06:14:35 <oklopol> he's not a hostal guy
06:17:45 <oklopol> don't worry that was the last one
06:42:56 -!- augur has joined.
07:12:11 -!- MigoMipo has joined.
07:49:13 -!- FireFly has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:02:23 -!- nooga has quit (Read error: 110 (Connection timed out)).
08:06:28 -!- MigoMipo has quit (Read error: 110 (Connection timed out)).
08:13:09 -!- tombom has joined.
08:22:58 -!- FireFly has quit ("Leaving").
08:51:27 -!- sebbu2 has joined.
09:08:20 -!- sebbu has quit (Read error: 110 (Connection timed out)).
09:13:52 -!- MizardX has quit (Read error: 60 (Operation timed out)).
09:33:24 -!- Asztal has quit (Read error: 110 (Connection timed out)).
09:34:57 -!- Ilari_ has changed nick to Ilari.
09:43:58 -!- GreaseMonkey has quit ("HydraIRC -> http://www.hydrairc.org <- Nobody cares enough to cybersquat it").
09:56:22 -!- tombom has quit ("Leaving").
10:58:52 -!- scarf has joined.
11:06:37 -!- MigoMipo has joined.
11:40:22 -!- BeholdMyGlory has joined.
11:42:37 -!- MizardX has joined.
12:06:52 -!- scarf has quit ("Page closed").
12:14:29 -!- scarf has joined.
12:30:03 -!- Pthing has joined.
12:42:14 -!- oerjan has joined.
12:45:30 <oerjan> <oklopol> he's not a hostal guy <-- as long as he doesn't go postal
13:05:05 -!- scarf has changed nick to scarf|away.
13:05:40 <oerjan> always with the scarfing away
13:08:22 <cheater> hey guys
13:08:28 <cheater> anyone here got experience with punch card readers?
13:08:42 <oerjan> maybe in a previous life
13:08:50 <cheater> :-(
13:10:15 <Gregor> I can only wish :)
13:26:20 -!- MigoMipo has quit ("Page closed").
13:29:26 -!- Pthing has quit (Remote closed the connection).
13:35:36 -!- BeholdMyGlory has quit (Remote closed the connection).
13:49:29 -!- Sgeo has joined.
13:49:43 <Sgeo> If anyone makes me laugh, I'll kill em
13:51:13 <Deewiant> That's clever
13:51:36 <Sgeo> ?
13:52:18 <oerjan> so it only hurts when you laugh, i presume?
13:52:36 * Sgeo is drinking coffee right now
13:52:57 <oerjan> well, i guess drinking coffee does hurt when you laugh
13:56:47 * Sgeo goes to invite a Reddit who expressed interest in RoboZZle here
13:57:00 <Deewiant> Not #robozzle?
13:57:11 <oerjan> argh
13:57:17 * oerjan runs from the avalanche
13:57:24 <Sgeo> *Redditor
13:57:28 <oerjan> whew
13:57:40 <fizzie> Oh, it's "Redditor". I would have guessed "Reddite".
13:57:57 <fizzie> It would rhyme better with Luddite.
13:58:20 <oerjan> smooth, fizzie
13:58:35 <Sgeo> Deewiant, I think myself and igoro are the only #robozzle regulars
13:59:19 <Sgeo> "I managed to get a bunch of people in a chat room addicted. Go to irc.freenode.net #esoteric . If you don't have an IRC client, go to http://webchat.freenode.net/ and put #esoteric in the channel. RoboZZle talk is probably off-topic, but is very common, it won't seem out of place to talk about it."
13:59:36 <fizzie> Redditor googlewins over reddite. (33900 vs. 7090.) I am the minority.
14:00:35 <fizzie> (Incidentally, is "googlewin" a term?)
14:01:08 <fizzie> First few Google results don't look so promising.
14:01:24 <Sgeo> I love the name "Left on invisible green"
14:02:05 -!- scarf|away has changed nick to scarf.
14:03:54 <oerjan> redditor is the official term, or as close as you can get
14:05:52 <fizzie> I sort-of thought freenode had a thing about public away messages, but apparently it's just an on-some-channels thing.
14:07:38 <fizzie> That being said, some people -- http://sackheads.org/~bnaylor/spew/away_msgs.html -- feel quite strongly about it.
14:11:04 * Sgeo should be getting ready to go to school
14:11:16 * Sgeo has a C++ .. wait, that's tomorrow
14:11:38 <Sgeo> On Wednesdays, I have 2 hours 45 min of C++
14:12:00 <Sgeo> (Well, the class is "Data Structures", but I imagine C++ is the language in use
14:12:09 * Sgeo shoots self
14:13:12 <fizzie> I don't think our introductory "data structures and algorithms" course used any language at all. It was based on the CLR(S) book, so it was mostly about the variant of pseudocode used there.
14:13:59 <cheater> wtf is robozzle
14:14:04 <cheater> and why should i not hate it
14:14:56 -!- scarf has changed nick to scarf|away.
14:14:59 <fizzie> One reason not to hate is that it's not quite as inane as that light bulb thing.
14:17:35 -!- scarf|away has changed nick to scarf.
14:20:39 <Sgeo> Forcing myself off the computer for now. BBL
14:20:45 -!- Sgeo has quit ("Leaving").
14:21:25 -!- augur has quit (Read error: 110 (Connection timed out)).
14:32:51 -!- augur has joined.
14:36:32 -!- oklopol has changed nick to oklopol|here.
14:39:27 -!- oerjan has changed nick to oerjan|wiseass.
14:40:17 -!- Pthing has joined.
14:40:37 -!- oerjan|wiseass has changed nick to oerjan.
15:28:53 -!- cpressey has joined.
15:30:39 -!- scarf has quit (Remote closed the connection).
15:30:45 -!- MissPiggy has joined.
15:40:07 -!- Asztal has joined.
15:47:11 -!- FireFly has joined.
15:54:49 -!- oklopol|here has changed nick to oklo|somewhere.
16:27:49 -!- sebbu2 has changed nick to sebbu.
16:30:30 -!- MizardX- has joined.
16:30:33 -!- BeholdMyGlory has joined.
16:45:38 -!- MizardX has quit (Read error: 110 (Connection timed out)).
16:45:56 -!- MizardX- has changed nick to MizardX.
17:03:17 -!- oerjan has quit ("Good night").
17:09:18 -!- MigoMipo has joined.
17:11:40 -!- kar8nga has joined.
17:14:21 -!- BeholdMyGlory has quit (Read error: 104 (Connection reset by peer)).
17:14:43 -!- BeholdMyGlory has joined.
17:42:38 -!- zeotrope has quit (Read error: 54 (Connection reset by peer)).
18:09:18 -!- Sgeo|web has joined.
18:12:06 <Sgeo|web> When is this channel generally most active?
18:20:30 <FireFly> I'd say the evenings, viewed from Swedish time
18:21:00 <FireFly> I guess there's plenty of europeans here
18:22:58 <fizzie> There are some statistics.
18:23:05 <fizzie> I don't know where I put 'em.
18:23:48 <FireFly> Didn't ehird make a Unicode sparkline graph of it?
18:23:50 <FireFly> IIRC
18:24:07 <fizzie> http://zem.fi/~fis/test6.png
18:24:38 <fizzie> Amount of... I think it might be amount of comments; the X axis has time-of-day in the Finnish timezone.
18:25:01 <fizzie> (EET/EEST)
18:25:37 <fizzie> The graph was probably for year 2008 or so.
18:27:18 -!- lament has joined.
18:27:28 <lament> wow. so many people
18:32:18 <oklo|somewhere> yes, too many maybe
18:32:23 <oklo|somewhere> maybe you should kick one
18:32:56 <FireFly> Define somewhere
18:33:16 <oklo|somewhere> home
18:33:30 <FireFly> Interesting choice of nick, then
18:34:03 <lament> oklo|somewhere: why stop at one, then
18:34:40 <FireFly> Kick an imaginary person instead
18:34:50 <lament> done.
18:35:05 <FireFly> Great
18:35:16 <FireFly> I found him slightly annoying
18:38:47 -!- cheater4 has quit (Connection timed out).
18:39:09 <Gregor> He was the glue that held this channel together D-8
18:40:40 -!- tombom has joined.
18:43:05 <Ilari> Hmm... Could elliptic curves (or monster group) be used to construct esolang (that would be almost impossible to program / interpret)?
18:50:54 <Ilari> Group G, some set of elements of G corresponding to actions, some constants in G. At start, initialize registers (of group type) to initial values, on each symbol read, add the corresponding value to current value. If element corresponding to action is hit, do that action. When end of program is reached, start from beginning?
18:55:32 <Ilari> Use some complex and large group for G, and the result will be nearly impossible to program...
19:01:10 <Ilari> The G should not be cyclic to avoid just mapping programming to mod n integers.
19:01:33 <Sgeo|web> igoro is fixing the Robozzle Chrome bug
19:06:44 <pikhq> Inquiry: when can a C function segfault before any code has been executed in it?
19:06:55 <pikhq> (namely, on a line containing "{"?)
19:07:09 <Sgeo|web> Robozzle's JS client now works on Chrome!
19:07:41 <Ilari> pikhq: No optimizations to mess debugger?
19:08:12 <pikhq> Ilari: None.
19:08:55 <Ilari> pikhq: Also, C or C++?
19:09:05 <pikhq> C.
19:09:21 <pikhq> If it were C++, I could at least guess that it was a constructor...
19:09:36 <Ilari> pikhq: What's the last line before the '{'?
19:10:53 <pikhq> void *callerT(closure f, unsigned int n, ...)
19:11:10 <Ilari> pikhq: closure is some typedef?
19:11:30 <pikhq> typedef struct closure *closure;
19:12:18 * Sgeo|web decides that he cannot, in fact, reach the stars
19:12:46 <pikhq> It would appear that variadic functions throw off the debugger.
19:13:02 <pikhq> And that nested ({ }) blocks throw off the compiler.
19:19:09 -!- yma has joined.
19:24:10 <Sgeo|web> Hi
19:25:59 -!- cheater2 has joined.
19:27:43 <Sgeo|web> There's a way to do square roots in Robozzle? (Without painting)
19:28:24 <pikhq> Now if I could just figure out why the crap this darned thing is only dethunking once.
19:28:32 * pikhq may want to rewrite the eval function
19:29:28 -!- yma has left (?).
19:36:32 -!- cheater2 has quit ("Leaving").
19:36:43 -!- cheater2 has joined.
19:37:23 -!- cheater2 has quit (Client Quit).
19:41:29 -!- cheater2 has joined.
19:45:53 -!- kar8nga has quit (Remote closed the connection).
20:04:06 -!- GreaseMonkey has joined.
20:10:00 <FireFly> GreaseMonkey, how did your python Robozzle clone go?
20:11:00 <GreaseMonkey> FireFly: in terms of actual playability, it's complete
20:11:07 <GreaseMonkey> it's missing load + save + other stuff
20:11:17 <FireFly> Mind sharing it?
20:11:24 <GreaseMonkey> http://pubacc.wilcox-tech.com/~greaser/stuff/robasl.py.txt
20:11:25 <Gregor> Without actually telling me what Robozzle is, wtf is Robozzle?
20:11:37 <GreaseMonkey> Gregor: some weird programming game
20:11:47 <Gregor> All I needed to know!
20:12:19 <Sgeo|web> Gregor, http://robozzle.com
20:12:27 <FireFly> Thanks, btw
20:13:17 <Gregor> Sgeo|web: More than I wanted to know.
20:13:46 -!- Slereah_ has joined.
20:13:52 <Sgeo|web> Gregor, seriously, try it
20:14:01 <Gregor> Nevars.
20:14:14 <Sgeo|web> :(
20:15:08 <Sgeo|web> Whynot?
20:17:48 <Sgeo|web> Well, bye for now all
20:20:48 -!- Sgeo|web has quit (Ping timeout: 180 seconds).
20:25:40 <cpressey> C'mon, Gregor. All your friends are doing it.
20:31:04 -!- Slereah has quit (Connection timed out).
20:37:44 <GreaseMonkey> oh hey it's cpressey
20:38:03 <GreaseMonkey> but yeah, all your friends are doing it
20:39:07 <GreaseMonkey> ...man, pidgin's version response is lame.
20:39:24 <GreaseMonkey> -GreaseMonkey- VERSION xchat 2.8.4 FreeBSD 7.2-STABLE [i386/1.47GHz]
20:39:31 <GreaseMonkey> imho that's a lot better
20:40:26 <FireFly> 2.8.4 sounds a bit old
20:40:54 -!- MizardX has quit (Connection timed out).
20:41:03 <FireFly> Hm
21:05:03 <Gregor> I should not try to write waltzes.
21:05:05 <Gregor> Wow that was bad.
21:05:08 <Gregor> Good lawd.
21:05:14 <Gregor> I might have to ban myself from trying in the future.
21:13:53 <oklo|somewhere> yeah, you should play robozzle instead
21:13:58 -!- oklo|somewhere has changed nick to oklo.
21:21:17 <lament> no waltzes.
21:23:48 <fizzie> 2.8.4 - 01/Jul/2007; that's not so old.
21:24:17 <fizzie> Given how stagnant X-Chat is, anyway.
21:25:12 <fizzie> It's not like they've released anything else than 2.8.6 (11/Jun/2008) after that.
21:27:47 <Gregor> I think calling a slow release cycle "stagnant" is a bit unfair.
21:28:31 <GreaseMonkey> i'm trying to write yet another flippin' mod player in java
21:28:34 <GreaseMonkey> actually it's an .it player
21:31:37 <Gregor> (It plays Italians)
21:31:46 <oklo> sounds dangerous
21:35:19 -!- Sgeo|web has joined.
21:35:32 <Sgeo|web> Where's the link to the log?
21:35:45 <Gregor> NOWHERE
21:35:51 <Gregor> THERE AIN'T NO LOG, SEE
21:36:01 <Gregor> YOU NEVER HEARD OF NO LOG NO WAY NO HOW
21:36:31 <Sgeo|web> A search for site:tunes.org esoteric can find it rather easiyl
21:36:33 <Sgeo|web> *easily
21:36:39 <Sgeo|web> Also, the esolang map seems to be dead
21:36:45 <Sgeo|web> n/m
21:36:48 <Sgeo|web> Possibly dying
21:36:53 <Gregor> You realize the log is in the /topic, right?
21:36:56 <lament> THERE'S NO LOG. YOUR REQUEST IS SUSPICIOUS AND HAS BEEN LOGGED.
21:37:19 <Gregor> `addquote <Sgeo|web> Where's the link to the log? <lament> THERE'S NO LOG. YOUR REQUEST IS SUSPICIOUS AND HAS BEEN LOGGED.
21:37:22 <HackEgo> 120|<Sgeo|web> Where's the link to the log? <lament> THERE'S NO LOG. YOUR REQUEST IS SUSPICIOUS AND HAS BEEN LOGGED.
21:38:08 <Sgeo|web> Oh
21:38:24 <Sgeo|web> I mistakenly thought that -ChanServ- [#esoteric] Welcome to the esoteric programming channel! Check out the esoteric programmers map: http://www.frappr.com/esolang
21:38:26 <Sgeo|web> was the topic
21:39:23 <lament> esoteric mappers program
21:42:22 <fizzie> Esoteric programmer's map.
21:42:51 <lament> esoteric programmers map esoteric programs onto esoteric program maps.
21:42:58 <Gregor> Esoteric progammer's' map
21:43:22 <fizzie> Exothermic pro-gamers map.
21:44:03 <Gregor> I'm exothermic 8-D
21:44:06 <Sgeo|web> What does "limit your stack" have to do with limiting anything?
21:44:07 <lament> Esotericprogrammersmap.
21:44:15 <Gregor> Your whole family is made out of meat!
21:44:31 <lament> !!!
21:46:16 <fizzie> Sgeo|web: I took it to mean that you actually return from some functions in that one; in others, it's quite often the case that you just keep going and going. It's a bit far-fetched that way, though.
21:47:25 <Sgeo|web> Why in the Silverlight list is it not possible to see which you did? :(
21:47:47 <lament> silversilversilverLIGHT!
21:48:20 <fizzie> Meh; only five left undone in the "campaign" list, and those five shouldn't be any more difficult than the others; they just seem incompatible with my thinking somehow.
21:50:43 <GreaseMonkey> which ones are they?
21:50:51 <GreaseMonkey> dammit you're quite a way ahead of me
21:52:53 -!- jpc has joined.
21:53:24 <Sgeo|web> jpc, are you an esoteric regular, or someone else?
21:53:37 -!- jpc has quit (Client Quit).
21:53:38 <Sgeo|web> >.>
21:53:39 <Sgeo|web> :(
21:55:10 <FireFly> He's Javawizard on the wiki
21:55:18 <FireFly> Created a few langs
21:55:50 <Sgeo|web> Oh
21:55:52 <Gregor> And he's offended when people ask if he's a regular.
21:55:55 * Sgeo|web is expecting a "someone else"
21:56:41 <GreaseMonkey> hehe
21:59:36 <Sgeo|web> Bye for now all
22:00:15 -!- Sgeo|web has quit ("Page closed").
22:02:10 <fizzie> GreaseMonkey: I'm missing "Winding Path", "Explore the world", "Smart lemma", "Colorful Path" and "Easy Peezy"; rest I've done.
22:02:40 <GreaseMonkey> hmmkay
22:02:56 <GreaseMonkey> i MIGHT have done "Colorful Path"
22:03:00 <fizzie> (This was in reverse order of appearance; I was scrolled to the bottom of the list already.)
22:03:07 <GreaseMonkey> hmmkay
22:05:42 <Deewiant> I'm missing all of those too, unsurprisingly enough. (And a few dozen others.)
22:07:53 -!- zeotrope has joined.
22:11:29 <fizzie> Is there any problem that can't be solved by complaining about it at IRC? I just did Colorful Path now.
22:12:08 -!- BeholdMyGlory has quit (Read error: 54 (Connection reset by peer)).
22:18:25 <GreaseMonkey> whhmkaty
22:20:45 -!- MigoMipo has quit (Remote closed the connection).
22:31:20 -!- tombom has quit ("Leaving").
22:36:45 <fizzie> Tried out the silverlighty version with Moonlight 2; the tutorial works, but the puzzle list pages do not, and neither does signing in. The "designer template" links from puzzle.aspx did work, though.
22:40:11 <Deewiant> I only tried signing in and the puzzle list pages so I concluded that it doesn't work at all. :-P
22:50:52 <Gregor> Interview OH-VAR
22:52:47 -!- HackEgo has quit (kubrick.freenode.net irc.freenode.net).
22:52:47 -!- mtve has quit (kubrick.freenode.net irc.freenode.net).
22:53:02 -!- mtve has joined.
22:53:03 -!- HackEgo has joined.
23:05:17 <GreaseMonkey> whee my ProperlyBufferedInputStream class appears to be working somewhat
23:05:31 <GreaseMonkey> now i can do seeks and stuff... i think
23:11:16 -!- FireFly has quit ("Leaving").
23:11:53 -!- cheater3 has joined.
23:23:35 -!- augur has quit (Read error: 110 (Connection timed out)).
23:27:02 -!- cheater2 has quit (Connection timed out).
23:32:25 <GreaseMonkey> memo to self: doing a java project in kwrite is a stupid idea - use kate instead
23:37:46 -!- augur has joined.
23:42:09 <SimonRC> ITYM Eclipse
23:42:14 <SimonRC> X-D
23:42:35 <Gregor> No.
23:42:37 <Gregor> Just no.
23:42:39 <SimonRC> Eclipse is ok if you have a quad-core box with 3G of RAM
23:42:46 <Gregor> Eclipse is bad in all circumstances.
23:42:50 <Gregor> There is no excuse for Eclipse.
23:43:00 <SimonRC> it is great for navigating 150kloc projects
23:43:14 <Gregor> That's what grep is for.
23:43:18 <SimonRC> uh, no
23:43:20 <Gregor> ^^
23:43:51 <SimonRC> grep doesn't make a nice heirarchy showing relationship between all the classes that implement a method
23:44:09 <SimonRC> grep doesn't give you call trees to arbitrary depth, with cycle-detection
23:44:10 <Gregor> You just don't know how to grep.
23:44:24 <SimonRC> what?
23:44:27 <Gregor> X-D
23:44:33 <SimonRC> plz demonstrate
23:44:40 <SimonRC> grep doesn't understand the java inheritance system
23:44:41 <pikhq> At the moment, nothing gives me call trees to arbitrary depth.
23:44:51 <SimonRC> well deep depth
23:44:57 <pikhq> Nothing understands C closures. :P
23:44:59 <Gregor> grep --magic java --call-tree Object.toString *.java
23:44:59 <SimonRC> like 10 levels deep with no problem
23:45:11 <pikhq> And thunks confuse it greatly.
23:45:32 <SimonRC> Gregor: don't do that; you'll make ehird's head explode
23:45:34 <Gregor> pikhq: Surely you mean function pointers? Not nested function (pointers)?
23:45:45 <pikhq> Gregor: Proper closures.
23:45:50 <pikhq> Gregor: Manually implemented.
23:45:54 <Gregor> Ahhhh
23:46:29 <pikhq> (... by way of nested functions that don't use a trampoline, but that's just to make it a bit nicer. Could be done just as well without it.)
2010-01-27
00:04:04 -!- cpressey has left (?).
00:16:57 -!- Pthing has quit ("Leaving").
00:17:09 -!- Pthing has joined.
00:20:50 -!- Sgeo has joined.
00:22:56 -!- coppro has quit ("I am leaving. You are about to explode.").
00:24:39 <Sgeo> Any non-regulars in here?
00:25:01 <SimonRC> I took some pills for that
00:25:32 -!- coppro has joined.
00:25:33 <Sgeo> lol
00:25:40 <Sgeo> * coppro has quit ("I am leaving. You are about to explode.")
00:25:40 <Sgeo> <Sgeo> Any non-regulars in here?
00:25:40 <Sgeo> <SimonRC> I took some pills for that
00:25:40 <Sgeo> * coppro (n=coppro@unaffiliated/coppro) has joined #esoteric
00:26:49 <coppro> lol
00:26:53 <coppro> I count as a regular now, don't I?
00:27:17 <Gregor> Sure ya do, pooppy!
00:27:41 * Sgeo is waiting for a particular person he invited from Reddit to talk about Robozzle
00:29:24 -!- Rygarb has joined.
00:31:07 -!- Rygarb has quit (Client Quit).
00:33:30 <zeotrope> non-regular here
00:33:51 <MissPiggy> nonregular
00:35:26 * SimonRC goes to bed
00:35:34 <Sgeo> Hi Ryg..
00:35:41 <Sgeo> Rygarb was the person I was waiting for
00:38:16 * Sgeo facepalms a few times
00:54:42 <GreaseMonkey> i'm an intermittent regular, really
00:54:50 <GreaseMonkey> actually, a hibernator
01:03:13 -!- madbr has joined.
01:09:30 <pikhq> Gregor: Many of us are like that, really.
01:12:01 <Gregor> http://filebin.ca/pfbmoy/maybewaltz.ogg <-- what happens when Gregor tries to write a waltz.
01:12:36 <coppro> Gregor: do you do anything normal with your life?
01:12:44 <Gregor> Define "normal"
01:12:59 <GreaseMonkey> answer: he gets on all 3s
01:13:02 <pikhq> coppro: Do any of us?
01:13:28 <coppro> pikhq: I'm increasingly of the opinion that none of us do
01:13:32 <coppro> but I keep trying for that hope
01:26:03 <Sgeo> Normal == perpendicular to tangent?
01:26:18 <pikhq> Sgeo: In some contexts, yes.
01:26:33 <Sgeo> pikhq, what else can normal mean?
01:27:02 <Sgeo> And I mean mathematically
01:28:53 <MissPiggy> normal distribution
01:53:34 -!- augur has changed nick to quantic1e.
01:53:38 -!- quantic1e has changed nick to augur.
01:58:46 -!- MissPiggy has quit.
02:13:49 <augur> where is soupdragon/fax?
02:13:52 <augur> :|
02:14:23 <Sgeo> augur, just left
02:14:45 <augur> shes as misspiggy now?
02:15:29 <Sgeo> iirc, yes
02:15:40 <augur> hm!
02:22:20 -!- oerjan has joined.
02:23:46 <Sgeo> It's an FRCer!
02:23:58 <pikhq> Hail, oerjan.
02:24:16 <oerjan> 'morn
02:31:33 <coppro> oerjan's an FRCer?
02:32:09 <oerjan> MWAHAHAHA
02:32:38 <pikhq> Yes, oerjan's an FRCer and an occasional nomic player. Been a while since he was in Agora, though...
02:33:53 <oerjan> for a value of occasional ~ 5, 6 years or so
02:34:09 <Sgeo> Hm, that implies oerjan is a _current_ FRCer?
02:34:13 <Sgeo> I thought he was a former one?
02:34:46 <oerjan> you can sign out any time you want, but you can never leave
02:35:35 <pikhq> Sgeo: FRC doesn't remove players. They just consider you non-active.
02:37:56 * oerjan would be extremely surprised if the member list has been accurate since - sometime before he left, probably
02:38:12 <pikhq> I'd imagine it's not all that accurate.
02:38:30 <coppro> I wasn't even aware there's a member list
02:38:35 <pikhq> *Formally* they never remove players, but since the list of players doesn't matter, lazy evaluation tends to take care of that.
02:38:51 <pikhq> coppro: I'm not sure there actually *is* a list.
02:39:06 <oerjan> i suppose that it also a possibility :D
02:39:30 * oerjan is pretty sure he kept such a list at one time.
02:39:47 <pikhq> Well, except in the sense that you can say "There exists a list that contains the players of FRC."
03:12:34 <Gregor> Hmmmmm
03:12:41 <coppro> p
03:12:43 <coppro> p
03:12:55 <Gregor> Actually, relistening to this waltz, thinking about it as game background music, it /could/ work.
03:24:21 -!- oerjan has quit ("leaving").
03:27:33 -!- jpc has joined.
03:32:35 -!- Sgeo_ has joined.
03:39:27 -!- calamari_ has joined.
03:44:55 -!- calamari_ has changed nick to calamari.
03:45:16 <pikhq> Well, saw the PS3 hack...
03:45:20 <pikhq> That's freaking crazy.
03:50:24 -!- Sgeo has quit (Read error: 110 (Connection timed out)).
03:50:40 <pikhq> "And then I drop the memory bus low for 40 ns to avoid the cache writeback from the hypervisor"
03:50:41 -!- kar8nga has joined.
03:55:47 -!- kar8nga has quit (Remote closed the connection).
04:13:33 <zeotrope> pikhq: sounds hardcore, what does the hack mean exactly, I mean can it be patched by sony?
04:16:05 <pikhq> zeotrope: By releasing a CPU without a cache.
04:16:32 <pikhq> (that is to say "not only no but fuck no")
04:17:23 <zeotrope> time to get a ps3 then?
04:17:45 <pikhq> Get a fat one; the slims don't have Linux support, and he runs the code as a Linux module.
04:17:54 <pikhq> Might be possible otherwise, but it's a PITA.
04:18:02 <zeotrope> :( I'm sure they are hard to track down
04:18:09 <pikhq> Requires an arbitrary code execution bug in any extant PS3 program.
04:18:11 <pikhq> No, not really.
04:18:23 <pikhq> Even the PS2-compatible ones aren't too hard to find.
04:18:28 * pikhq picked one up a couple weeks ago
04:18:57 <zeotrope> gonna wait and see what they do with it
04:19:14 * zeotrope is totally broke
04:19:25 <pikhq> Peek and poke implies "just about anything".
04:19:58 -!- oraqol has joined.
04:21:07 -!- oraqol has left (?).
04:23:01 <zeotrope> his description of the exploit totally went over my head, gotta read up on electronics one of these days
04:28:46 <pikhq> Most of it's software, really.
04:29:23 <pikhq> The only bit of hardware is screwing up the memory bus to prevent the hypervisor from doing the cache writeback right...
04:38:11 -!- Pthing has quit (Remote closed the connection).
05:16:09 -!- Sgeo has joined.
05:30:16 -!- Asztal has quit (Read error: 110 (Connection timed out)).
05:33:19 -!- Sgeo_ has quit (Read error: 110 (Connection timed out)).
05:34:32 <Gregor> http://filebin.ca/qtqhva/maybewaltzpointdos.ogg (Now with 100% more Gregor!)
05:36:44 <coppro> where'd that filename come from?
05:36:55 <Gregor> Maybe Waltz Point Two->Es
05:37:07 <coppro> ah
05:43:19 <Gregor> Any opinions on the second half? Other than "the part that's clearly ripped off from Pachelbel is clearly ripped of from Pachelbel"
05:44:36 <pikhq> INSUFFICIENTLY STOLEN FROM PACHELBEL.
05:44:45 <pikhq> STICK HIS ENTIRE BODY OF WORK IN A SINGLE PIECE.
05:44:53 <Gregor> :P
05:44:59 <Gregor> But make it a waltz?
05:45:11 <pikhq> Make it 4 minutes and 33 seconds.
05:45:37 <Gregor> I sampled that and overlayed it verbatim on top of this.
05:45:40 <pikhq> So you can have the most unique performance of Cage's 4'33".
05:45:45 <Gregor> (Trimmed of course)
06:38:30 -!- madbr has quit ("Radiateur").
06:39:19 -!- MizardX has joined.
06:43:38 -!- calamari has quit ("Leaving").
07:02:56 -!- tombom has joined.
07:48:45 -!- oerjan has joined.
07:50:30 -!- tombom has quit ("Leaving").
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:05:24 -!- FireFly has joined.
08:15:44 -!- MigoMipo has joined.
08:34:10 -!- oerjan has quit ("leaving").
08:54:08 -!- MizardX has quit (kubrick.freenode.net irc.freenode.net).
08:54:08 -!- oklo has quit (kubrick.freenode.net irc.freenode.net).
08:54:41 -!- MizardX has joined.
08:54:41 -!- oklo has joined.
09:00:24 -!- jpc has quit ("I will do anything (almost) for a new router.").
09:03:06 -!- MigoMipo has quit (Remote closed the connection).
09:13:37 -!- GreaseMonkey has quit ("HydraIRC -> http://www.hydrairc.org <- Nobody cares enough to cybersquat it").
09:49:31 -!- FireFly has quit ("Leaving").
10:29:13 -!- lament has quit (Read error: 60 (Operation timed out)).
11:10:02 -!- MizardX- has joined.
11:26:09 -!- MizardX has quit (Read error: 110 (Connection timed out)).
11:26:28 -!- MizardX- has changed nick to MizardX.
11:47:55 <oklo> Gregor: sorta weird ending
12:12:51 -!- oklo has quit (kubrick.freenode.net irc.freenode.net).
12:13:19 -!- oklo has joined.
12:51:06 -!- MizardX- has joined.
12:54:54 -!- MizardX has quit (Read error: 60 (Operation timed out)).
12:55:03 -!- MizardX- has changed nick to MizardX.
13:06:43 <oklo> why don't text editors have call stacks
13:07:28 <oklo> if i want to fix a function, then return back to where i was, i have to use my own memory
13:38:57 -!- fizzie has quit (kubrick.freenode.net irc.freenode.net).
13:38:57 -!- EgoBot has quit (kubrick.freenode.net irc.freenode.net).
13:38:58 -!- Gregor has quit (kubrick.freenode.net irc.freenode.net).
13:39:09 -!- EgoBot has joined.
13:39:29 -!- Gregor has joined.
13:56:36 -!- MissPiggy has joined.
14:08:23 -!- bsmntbombdood has quit (Read error: 110 (Connection timed out)).
14:28:31 -!- MizardX- has joined.
14:28:39 <Gregor> oklo: It's unended.
14:41:40 <Gregor> http://www.mail-archive.com/gcc@gcc.gnu.org/msg49113.html Huh.
14:44:19 -!- MizardX has quit (Connection timed out).
14:44:27 -!- MizardX- has changed nick to MizardX.
14:45:34 -!- MissPiggy has quit (Read error: 104 (Connection reset by peer)).
14:45:59 -!- MissPiggy has joined.
14:48:44 -!- cpressey has joined.
15:02:13 -!- Pthing has joined.
15:45:35 <Sgeo> Help! I promised myself I wouldn't solve a RoboZZle puzzle this morning, and I am
15:45:42 <Sgeo> It's a pathetically easy one though
15:49:05 * Sgeo puts in a trivial shorter solution to one he solved a while ago
15:53:07 <Sgeo> Having all my past solutions available to me is a big help
15:59:26 <Sgeo> If Rygarb comes in, say hi. E's the redditor I've been talking about, and hasn't used non-IM chat before
16:01:03 * MissPiggy did some robozzle today
16:01:36 <Sgeo> Why am I not getting ready to go to school?
16:04:12 <oklo> robozzle does that to you
16:05:18 <Sgeo> It's not RoboZZle
16:05:24 <Sgeo> RoboZZle's fault right now
16:05:30 <Sgeo> I'm going to school later than usual, so
16:07:10 <Sgeo> It's messing with my mind, I think
16:07:35 <MissPiggy> just how much have you been playing it o_o
16:10:23 <Sgeo> I meant the "not going to school at the time I'm used to" is messing with my mind
16:10:37 <MissPiggy> oh heh
16:10:48 <oklo> ais523 / scarf: i have important matters to discuss.
16:12:01 <oklo> ais523 / scarf: this time, actual provable progress, not just refined ideas.
16:13:31 <Sgeo> Chrome needs a Firefox tab extension, analogous to IE Tab
16:14:26 -!- FireFly has joined.
16:16:56 <zeotrope> Sgeo: why?
16:17:15 <Sgeo> There are websites that work in Firefox but not Chrome
16:17:22 <Sgeo> My school requires use of one such site
16:17:55 <zeotrope> is that because the websites use browser sniffing? or what exactly
16:18:27 <zeotrope> the IE tab makes sense because IE is so god damn broken
16:19:03 <oklo> i guess that might be interesting to the public as well: an append function in clue has been compiled, although there's no parser yet
16:19:06 <oklo> http://www.vjn.fi/pb/p666553643.txt
16:19:13 <oklo> compiles, although parsing has to be done manually
16:19:31 <Sgeo> zeotrope, it also says it doesn't work with Safari, so maybe it's an issue with Webkit
16:20:07 <oklo> it's an append function programmed by giving suitable examples of how it should work
16:20:57 <MissPiggy> what are the numbers?
16:20:59 <oklo> compiles in 0.03 seconds without any sort of optimization (purely brute force search)
16:21:03 <oklo> MissPiggy: they are just numbers
16:21:25 <MissPiggy> how do you read it?
16:21:34 <oklo> examples of how append should work, "[2,5,7],[3,6,8] -> [2,5,7,3,6,8];" means "given the lists [2,5,7] and [3,6,8], output [2,5,7,3,6,8]"
16:21:51 <oklo> this produces a function that appends any two lists
16:21:58 <MissPiggy> wow how does it work?
16:22:00 <oklo> after compilation
16:22:11 <oklo> it works by finding a clever set of examples
16:22:35 <oklo> basically while the actual functions and computation is completely brute force searched, the recurrence isn't, you give that.
16:22:45 <MissPiggy> ah you have actually divided it into base and recursive cases
16:22:56 <oklo> yes
16:22:57 <oklo> and
16:23:07 <oklo> i've also linked to each recursive case a subcase, stuff it should recurse to
16:23:37 <oklo> so you never have to "recurse into darkness", just use cons, car and cdr randomly
16:24:18 <oklo> this is the only way i've found that makes the concept implementable without having a strongly optimizing compiler from the start
16:24:28 <MissPiggy> okay
16:24:46 <MissPiggy> does it use types to guide the search?
16:25:05 <oklo> no. but obviously it will.
16:25:17 <MissPiggy> wow I am surprised this works without being type directed
16:25:31 <oklo> well, it uses types in the sense that if a function fails, the result is ignored, but i don't use type for any sort of optimization yet
16:25:58 <oklo> there are many (natural) cases where types completely remove the combinatorial explosion
16:26:29 <oklo> in fact, i think once you can introduce your own types, this might actually become "practical", by which i mean you might be able to program like an actual program
16:27:12 <MissPiggy> what about strange recursion patterns?
16:27:27 <MissPiggy> like what about zipping two lists, or splitting one list into even and odd parts?
16:27:46 <oklo> you can have an arbitrary number of examples, and an arbitrary number of subcases
16:28:01 <oklo> and an arbitrary number of branches, although all functions can only branch once, in the beginning
16:28:03 <AnMaster> AAAAAAAAAAAAAAARGH
16:28:07 <AnMaster> my monitor died
16:28:11 <AnMaster> using laptop atm
16:28:27 <AnMaster> seems like the background light on my desktop is dead
16:28:36 <AnMaster> also no warranty any longer
16:28:37 <oklo> there are many subtleties to this, and i'm planning to write a comprehensive spec, which might actually happen now that i've seen this really works
16:28:54 <MissPiggy> how do the examples come into it?
16:29:02 <oklo> come into what?
16:29:13 <MissPiggy> I mean, could you just as easily replace them with a generator and checkable specification
16:29:19 <MissPiggy> into the program generation
16:30:11 <oklo> the idea is you give just enough examples to find the right function. there's a separate sort of example that can be used for testing the result
16:30:34 <oklo> (which i haven't implemented yet, but obviously it's just a few lines)
16:31:34 <oklo> do you mean could i get rid of examples, and instead have specifications for how functions should work abstractly, like some sorta assert?
16:32:17 -!- BeholdMyGlory has joined.
16:32:56 <oklo> {:. [2,5,7],[3,6,8] -> [2,5,7,3,6,8];
16:32:56 <oklo> : [5,7],[3,6,8] -> [5,7,3,6,8]
16:33:14 <oklo> this is really the most interesting part, the rest is just filler
16:33:47 <oklo> i don't know how a generator would guide the recurrence exactly
16:39:23 <MissPiggy> I was just thinking if you could generate inputs and outputs then check they are correct
16:39:52 <oklo> you could, but you could only use that for testing, not actually making new functions
16:42:00 <oklo> well at least with this system
16:42:37 <oklo> in clue, i do not plan to make the language understand what objects are smaller than others in the sense of inductive construction of objects
16:42:58 <oklo> that is, a human will know [1,2] should not recurse to [1,2,3] usually
16:43:03 <oklo> but to [1]
16:43:09 <oklo> because [1] is smaller than [1,2]
16:43:51 <oklo> this is made general by making a new type that's constructed inductively in some other way, and adding an isomorphism between the two types
16:44:01 <oklo> but that all is for another project
16:44:46 <oklo> or, rather, that one trivial idea i just mentioned.
16:47:30 * Sgeo needs to get ready to go to school
16:47:58 <oklo> when do you have school exactly?
16:48:52 <oklo> i usually start getting ready 5 minutes after i have to leave
16:48:59 -!- oklo has changed nick to okloNEVERMORE.
16:49:07 <okloNEVERMORE> wait that was too random
16:49:09 -!- okloNEVERMORE has changed nick to oklopol.
16:50:30 <Sgeo> 3:30 local time. To make it there in a timely fashion, I want to leave the house by maybe 12:20
16:50:48 <oklopol> in half an hour?
16:50:55 <Sgeo> And I'll get there an hour or so early, assuming no bus screwups
16:51:07 <Sgeo> Yes. But I still haven't showered, shaved
16:51:13 <Sgeo> I think I'm going to skip shaving today
16:51:20 <oklopol> yeah shaving is for girls
16:51:24 <oklopol> just let it live
16:52:29 <Gregor> Not shaving is awesome.
16:52:55 <Gregor> My monthly shaving ritual allows me to use a single disposable razor for ~six months. A pack lasts me years.
16:53:29 <Sgeo> I (as of earlier this week) became addicted to shaving every day
16:53:34 <Sgeo> Now, because of time concerns, I can't
16:53:49 <Sgeo> Time concerns completely caused by me being online right now
16:53:57 <FireFly> I've yet to shave :D
16:54:03 <FireFly> Maximum money saving
16:54:18 <MissPiggy> put physics into your prorgam oklopol and get a unfied theory output
16:54:43 * Sgeo plucks out an eye and gives it to MissPiggy
16:55:41 <oklopol> yeah i just need a few examples of how particles move
16:56:48 <Sgeo> Eeep, it's late
16:57:01 <oklopol> man, just chill...
16:57:31 <Sgeo> Bye
16:57:40 <oklopol> byes
17:03:46 -!- Asztal has joined.
17:12:33 -!- tombom has joined.
17:19:56 <AnMaster> Deewiant, btw mycology tests o even if y claims it isn't supported. This seems wrong to me
17:21:26 -!- oerjan has joined.
17:22:54 -!- cpressey has quit ("Leaving.").
17:23:48 <Deewiant> AnMaster: Didn't we go over this and it says UNDEF now?
17:23:57 <Deewiant> Or was that a separate issue
17:24:02 <AnMaster> Deewiant, well the issue would be that it *tries* it at all
17:24:12 <oerjan> <oklo> if i want to fix a function, then return back to where i was, i have to use my own memory
17:24:17 <AnMaster> or rather, could potentially be
17:24:17 <oerjan> vim has a tag stack
17:24:23 <Deewiant> AnMaster: And like I said we went over this
17:24:30 <oklopol> oerjan: cool. does anyone ever use it?
17:24:42 <Deewiant> Getting it to not try it is nontrivial and I'm not in the mood for something nontrivial :-P
17:24:51 <AnMaster> Deewiant, what if you do like the _POSIX_WHATEVER* define on openbsd for mmap? basically openbsd implements mmap() but not all details of it
17:25:03 <oerjan> heck if i know, except the help system seems based on it
17:25:05 <AnMaster> thus it doesn't define the posix define for supporting it
17:25:16 <AnMaster> Deewiant, see my point?
17:25:30 <oerjan> i understand for programs you need to preprocess the file first
17:25:52 <Deewiant> AnMaster: No, not at all. What is it?
17:25:54 <AnMaster> oerjan, also about tags. do you mean ctags?
17:26:10 <oerjan> i think so
17:26:29 <AnMaster> Deewiant, that not claiming that it has o doesn't imply that it doesn't have a partly working o
17:26:54 <Deewiant> Argh, triple negative
17:27:08 <oklopol> :D
17:27:13 <oklopol> Deewiant: are you on drugs?
17:27:14 <AnMaster> Deewiant, thus if you implement it differently but claims you don't have o, you could get BAD
17:27:26 <Deewiant> oklopol: Not to my knowledge
17:28:04 <oklopol> Deewiant: was just wondering about your not liking nontrivialities atm
17:28:15 <AnMaster> Deewiant, for example you could claim not to have o, but have an o that doesn't perhaps support the text mode
17:28:22 <oklopol> i'm sure you usually *love* triple negatives
17:28:23 <AnMaster> or only supports text mode
17:28:24 <Deewiant> AnMaster: But then you would know that you have a half-implemented o and thus could disregard the error.
17:28:32 <AnMaster> Deewiant, true
17:28:39 <Deewiant> oklopol: No, actually I don't usually not hate them
17:29:04 <AnMaster> Deewiant, that sounded awkward grammatically
17:29:07 <Deewiant> AnMaster: Besides, having a half-implemented o like that is probably not very likely :-P
17:29:17 <oklopol> no it didn't
17:29:27 <AnMaster> Deewiant, well yeah "no text mode" is more likely than "no binary mode"
17:29:35 <oklopol> your mom sounded awkward grammatically in bed last night
17:29:38 <Deewiant> I mean in general
17:29:52 <Deewiant> Why would you have a half-implemented o if you're going to report that you don't support it at all
17:30:00 <AnMaster> Deewiant, well cfunge used to have no text mode for a long time iirc, mycology doesn't test that afaik
17:30:47 <Deewiant> It does test it but because i ignores spaces it's impossible to test it automatically, so it asks the user to verify
17:31:09 <AnMaster> Deewiant, hm what about binary mode for i
17:31:45 <Deewiant> Still ignores spaces
17:32:13 <AnMaster> Deewiant, also no it doesn't test it, since I'm implementing o in efunge atm, and text mode throws an exception. However it passes mycology just fine
17:32:44 <Deewiant> Okay, so it just prints a message then
17:33:16 <oerjan> AnMaster: hm, vim can also support emacs style tag files
17:33:21 <AnMaster> Deewiant, yeah:
17:33:23 <AnMaster> "Can't test o in linear text mode: i ignores spaces, no way to know from within standard Funge-98 whether they are output to file."
17:33:37 <AnMaster> oerjan, I don't use etags either
17:35:01 <oerjan> well those are the styles i have heard about (because vim supports them, probably)
17:35:14 <AnMaster> oerjan, well yeah I don't use *tags...
17:35:27 <oerjan> well i don't either
17:35:45 <AnMaster> anyway what oklopol wanted sounds closer to bookmarks
17:36:01 <AnMaster> which I believe almost all "more advanced than notepad" editors support
17:36:25 <AnMaster> you mark a line then you can jump to it
17:36:31 <oerjan> <oklo> why don't text editors have call stacks <-- the line before the one i quoted
17:37:25 <oerjan> and [ce]tags is essentially using a program to create bookmarks for all functions in a program file, afaik
17:37:42 <AnMaster> yeah but I prefer a specific line usually
17:44:29 -!- zeotrope has changed nick to zoetrope.
17:45:01 -!- zoetrope has quit ("leaving").
17:49:36 <oklopol> bookmarks? what if i'm in function f, and want to fix f, then return to f?
17:50:04 <oklopol> well okay, obviously i could still use the bookmark for f. still, that doesn't solve the problem
17:50:10 <oklopol> in fact it has nothing to do with it
17:50:23 <oklopol> i don't mind searching for f, i do mind trying to remember where i was
17:50:31 <oklopol> well having to try
17:53:36 -!- augur has quit (Read error: 113 (No route to host)).
17:54:22 <oerjan> oh, it seems vim has a stack (or list) for marks as well
17:54:57 <oerjan> or any jump
17:55:10 * Sgeo missed the bus he wanted to take
17:55:48 <oklopol> so where are you now?
17:55:52 <Sgeo> At home
17:55:52 <oklopol> another bus?
17:56:05 <oklopol> 1:20 then?
17:56:14 <Sgeo> 1:09
17:56:26 <oklopol> is this the c++ thing
17:56:37 <Sgeo> Um, I have that class later in the day
17:56:43 <Sgeo> First is a Psychology class
17:56:52 <oklopol> ...phychology?
17:57:01 <oklopol> is this high school
17:57:05 <oklopol> i mean
17:57:06 <oklopol> that other thing
17:57:37 <oklopol> or actually i guess high school
17:58:03 <Sgeo> This is college
17:58:24 <oklopol> are you 17 or something?
17:58:32 <Sgeo> 20
17:58:36 <oklopol> ...what? :P
17:58:43 <oklopol> hmm
17:58:56 <Sgeo> I'm taking a mix of early and late courses
17:59:07 <Sgeo> >.>
17:59:14 <oklopol> i think i've misremembered your age before as well, i have a recall of you saying you're 15 a few years ago
17:59:55 <Sgeo> I doubt I would have shared my age 5 years ago
17:59:56 <oklopol> my brain doesn't like change
18:00:03 <oklopol> i wasn't here 5 years ago
18:00:29 <Sgeo> Anyway, off to catch a predit.. bus
18:00:37 <AnMaster> Deewiant, how should o work with respect to values greater than 255?
18:01:29 <AnMaster> Deewiant, either I can do % 256 or I can treat it as an unicode codepoint. The latter means it may reflect if it isn't a valid codepoint (for example, it is a number reserved as a surrogate pair or such)
18:01:46 <Deewiant> UNDEF
18:01:56 <AnMaster> Deewiant, how does ccbi handle it btw?
18:02:17 <Deewiant> % 256
18:02:48 <AnMaster> hm
18:03:10 <AnMaster> probably a better idea, you might want to output non char data
18:05:48 -!- augur has joined.
18:17:13 <AnMaster> Deewiant, oh btw you are missing a test for binary o
18:17:21 <AnMaster> you check that no more than expected columns are included
18:17:26 <AnMaster> but you are not doing the same for rows
18:17:40 <AnMaster> took me a while to track down why some other things weren't working
18:17:45 <AnMaster> since I had that exact bug
18:19:37 <Ilari> IIRC, the condition for valid unicode codepoint x is: ((x >= 0 AND x < 0xD8000) OR (x >= 0xE000 AND x < 0x10FFFF)) AND (x & 0xFFFE != 0xFFFE).
18:19:43 -!- cpressey has joined.
18:23:29 <AnMaster> Ilari, actually it need to be 1) valid 2) representable in UTF-8
18:23:38 <AnMaster> anyway I'm treating it as binary % 256 now
18:23:48 <Deewiant> UTF-8 is a binary encoding, it can represent anything.
18:23:58 <AnMaster> Deewiant, eh?
18:24:06 <AnMaster> sure?
18:24:17 <AnMaster> iirc there are some of the higher planes or something
18:24:31 <AnMaster> or was that UTF-16=
18:24:34 <AnMaster> s/=/?/
18:24:52 <Deewiant> The standard limits it to 0x10ffff (formerly 0xffffffff) but the idea of UTF-8 can be extended to any value
18:26:15 <Ilari> All those codepoints can be represented by UTF-8 (unicode only goes up to plane 16 (17th plane)). 4-byte UTF-8 would go up to plane 31. 6-byte UTF-8 (older form) would go up to plane 32767.
18:26:36 -!- augur has quit (Read error: 110 (Connection timed out)).
18:26:48 <Ilari> BMP is plane 0.
18:28:01 <AnMaster> Ilari, what is the "AND (x & 0xFFFE != 0xFFFE)" bit about
18:28:36 <Deewiant> All planes have two final code points which are assigned to noncharacters
18:28:45 <AnMaster> ah, but why=
18:28:47 <AnMaster> s/=/?/
18:28:58 <Deewiant> Something wrong with your shift key today? :-P
18:28:59 <Ilari> BOM?
18:29:28 <AnMaster> Deewiant, I'm on my laptop, slightly different key placement. I use my desktop more
18:29:30 <Deewiant> BOM for the first plane, doesn't seem to make much sense for the others though
18:29:41 <AnMaster> reason for this is that the backlight died in desktop monitor this evening
18:29:49 <AnMaster> so I have to buy a new one tomorrow or something
18:30:00 <AnMaster> which is highly inconvenient
18:30:13 <AnMaster> Deewiant, well yeah
18:30:27 <AnMaster> Deewiant, does BOM manage to detect PDP endianness btw
18:30:54 <Deewiant> There is no such thing as PDP endianness for UTF-16 or UTF-32
18:30:54 <Ilari> Should work if its UTF-32...
18:31:12 <AnMaster> Deewiant, there should be
18:34:31 -!- augur has joined.
18:46:34 <Ilari> UTF-32 BOM in PDP-endianess would be '00 00 FE FF'. Little endian would be 'FE FF 00 00' and big endian '00 00 FF FE'.
18:48:26 <Ilari> UTF-32 BOM would contain sufficient information about byte order for decoding any valid unicode codepoint correctly, no matter what the byte order.
18:49:24 <Ilari> The tricks would only work if there are no characters above plane 255, but Unicode doesn't allow that anyway.
18:52:57 <Ilari> For UTF-16, PDP endianess and little endian are the same.
18:54:58 <coppro> and UTF-8 has no endianness, no matter what Microsoft thinkgs
18:55:00 <coppro> *think
18:55:02 <coppro> *thinks
19:03:58 <AnMaster> coppro, indeed I know that
19:04:25 <coppro> I know. I just wanted to complain about MSFT
19:04:35 <AnMaster> Ilari, what about PDP but with the first two bytes exchanged? XD
19:04:59 <AnMaster> you said "no matter what the byte order." but maybe you meant "existing byte order"
19:05:13 <AnMaster> coppro, why the FT btw
19:05:23 <coppro> FT?
19:05:27 <AnMaster> in MSFT
19:05:40 <coppro> oh, that's their ticker symbol
19:05:59 <AnMaster> yeah but why
19:06:16 <coppro> because?
19:06:19 <AnMaster> meh
19:21:55 <Ilari> "No matter what byte order" includes all 24 possible byte orders for UTF-32.
19:25:01 <coppro> how is abcd distinguishable from bacd
19:25:10 <coppro> you get double zero leading the file either way
19:25:34 <pikhq> Would be if the BOM were FEFF0102 or some such.
19:25:42 <coppro> yeah
19:25:51 <pikhq> ... Oh, except that'd overlap with other chars.
19:26:07 <pikhq> FEFFFCFD might not.
19:26:17 <coppro> it would too
19:26:32 <pikhq> coppro: How so?
19:26:47 <pikhq> Is FC or FD the top of the private usage range?
19:27:04 <coppro> U+FFFD is �
19:27:14 <pikhq> UTF32.
19:27:34 <coppro> what about it?
19:27:55 <pikhq> It won't consider FFFDFCFE or FFFDFEFC as "U+FFFD".
19:27:57 <coppro> oh
19:27:59 <coppro> right
19:28:02 <coppro> yeah, that would be safe then
19:28:06 <pikhq> It'll consider it as U+FFFDFCFE or U+FFFDFEFC.
19:28:06 <coppro> since you're never even in a valid plane
19:28:21 <coppro> but then it wouldn't be a legal character
19:28:33 <pikhq> Oh well.
19:28:56 <pikhq> The only point of the BOM is to indicate the byte order. It's really just metadata for the UTF.
19:29:01 <coppro> yeah
19:33:27 <AnMaster> hm I should read stdarg.h
19:33:30 <AnMaster> it should be fun
19:34:14 <AnMaster> argh it uses __builtins
19:45:43 <AnMaster> typedef __builtin_va_list __gnuc_va_list;
19:45:45 <AnMaster> wtf
19:45:57 <AnMaster> a intrinsic type?
19:45:59 <AnMaster> an*
19:46:45 * AnMaster prods pikhq
19:47:25 <pikhq> AnMaster: Yeah, GNU C has a lot of additional intrinsics.
19:47:40 <AnMaster> pikhq, I thought they were all function-like
19:47:40 <pikhq> Particularly for stdarg.h
19:47:59 <AnMaster> but a type like one is messy
19:48:27 <pikhq> Nope. Good number of intrinsic types.
19:48:35 <AnMaster> pikhq, other ones?
19:48:36 <AnMaster> like?
19:50:17 <pikhq> Vector types.
19:50:21 <pikhq> __label__
19:50:26 <AnMaster> pikhq, that one is the only case of typedef and __builtin on the same line in /usr/include, /usr/lib/gcc/*/*/include
19:50:42 <AnMaster> pikhq, aren't they made using __attribute__s iirc?
19:51:00 <pikhq> Oh, right. The vector types are __attribute__s on int.
19:51:12 <AnMaster> like float foo __attribute__((something))
19:51:17 <AnMaster> pikhq, not float?
19:51:54 <pikhq> float is also valid.
19:52:02 <pikhq> That's a float vector rather than an int vector.
19:52:23 <AnMaster> yeah
19:52:29 <AnMaster> double should be valid too
19:52:55 <AnMaster> probably char/short/long as well
19:53:07 <AnMaster> and long long I guess
19:54:16 <pikhq> There's the complex types.
19:54:42 <pikhq> _Complex int = 3i;
19:54:54 <pikhq> Erm.
19:54:57 <pikhq> _Complex int foo = 3i;
19:55:14 <MissPiggy> that sounds complex ;]
19:55:23 <pikhq> __real__ foo == 0, __imag__ foo = 3.
19:55:53 <AnMaster> hm
19:56:09 <AnMaster> pikhq, hrrm, why not add __builtin_ to it?
19:56:21 <AnMaster> or rather: why add it to va_list
19:57:49 <AnMaster> also why did they add complex arithmetic to C99
19:58:02 <AnMaster> I mean, it isn't very hard to implement it manually
19:58:27 <pikhq> It's an extension to C99's complex arithmetic support.
19:58:43 <pikhq> (C99 has complex floats)
19:58:50 <AnMaster> pikhq, I know it does
19:58:58 <AnMaster> that was the bit I was questioning
19:59:20 <pikhq> It's also a bit old...
19:59:31 <pikhq> Predates C99.
19:59:59 <AnMaster> pikhq, well C89 didn't
20:00:03 <AnMaster> but I guess some system had it
20:00:30 <pikhq> It's GNU C.
20:00:40 <AnMaster> erhm
20:00:41 <pikhq> They add a lot of stuff.
20:00:55 <AnMaster> iirc gcc doesn't fully support C99 complex math
20:01:29 <oerjan> a C99 predator
20:01:36 <AnMaster> -_-
20:03:12 <pikhq> It appears that it doesn't work in 4.4, but it does work perfectly in trunk.
20:03:14 <pikhq> So, 4.5.
20:04:13 <AnMaster> brb, need to disconnect a cable temporarily, that would usually work but ubuntu is too smart and senses the cable is unplugged
20:04:35 <AnMaster> yeah, lost connection to the bouncer
20:19:22 <AnMaster> pikhq, btw did you know erlang both allows you to use - as the infix substraction operator but also (with some trickery) allows function names like: is-number?
20:20:00 <Deewiant> What's the trickery
20:20:01 <AnMaster> (IOCCC-esque hack warning)
20:20:11 <AnMaster> Deewiant, function names are just atoms
20:20:37 <AnMaster> atoms are normally: [_a-z][_A-Za-z0-9]
20:20:43 <AnMaster> but you can use ' to quote
20:20:54 <AnMaster> to allow any string for an atom
20:21:00 <AnMaster> like 'My foo-atom'
20:21:01 <coppro> he speaks the truth
20:21:25 <AnMaster> coppro, I tried, it works to have '' (the empty atom) as a function name
20:21:28 <Deewiant> That's not really trickery nor allowing f-2 as a function name
20:21:29 <AnMaster> also, spaces
20:21:30 <coppro> :D
20:21:34 <Deewiant> It's allowing 'f-2'
20:21:41 <AnMaster> Deewiant, yes but that is just syntax
20:21:48 <Deewiant> Function names are just syntax
20:21:49 <AnMaster> the actual function is called f-2
20:21:53 <coppro> if you turn 'f-2' into a string, you get "f-2"
20:21:58 <AnMaster> coppro, yep
20:22:01 <coppro> just as if you turn f into a string, you get "f"
20:22:13 <AnMaster> yes indeed, atom_to_list/1 I believe?
20:22:24 <AnMaster> coppro, also module names
20:22:25 <Deewiant> I expected something context-dependent that would allow f-2(x) or something
20:22:31 <coppro> yeah
20:22:38 <Deewiant> That's just allowing quoted names
20:22:40 <AnMaster> coppro, but loading .beam didn't work iirc
20:22:44 <Deewiant> Which isn't really that exciting
20:22:46 <coppro> makes sense
20:22:47 <MissPiggy> ??
20:22:48 <AnMaster> nor ''.beam
20:22:56 <MissPiggy> ah erlang
20:22:57 <coppro> atoms are awesome generally
20:23:02 <AnMaster> coppro, well yes
20:23:05 <MissPiggy> this is inherited from prolog
20:23:18 <AnMaster> coppro, except one point which I'm quite sure you are also familiar with
20:23:20 <MissPiggy> where you can do stuff like x 'is the same as' y
20:23:23 <AnMaster> and I hope they really fix
20:23:29 <coppro> which point is that?
20:23:36 <coppro> it's been a while
20:23:42 <AnMaster> coppro, pool, not gced
20:23:51 <coppro> ah, right
20:23:51 <AnMaster> yeah the upper limit is huge
20:23:53 <coppro> yeah
20:23:53 <AnMaster> but still
20:24:01 <coppro> that's annoying
20:24:12 <coppro> means you have to be careful what you list_to_atom, if at all
20:24:21 <AnMaster> coppro, there is list_to_existing_atom
20:24:29 <AnMaster> also you don't do that sort of thing anyway
20:24:48 <coppro> I've done it
20:24:51 <AnMaster> coppro, why=
20:24:55 <AnMaster> s/=/?/
20:25:00 <coppro> to generate multiple unique atoms from a single one
20:25:06 <coppro> by appending/prepending something
20:25:07 <AnMaster> hah
20:25:34 <coppro> not based on input though
20:25:40 <AnMaster> Deewiant, btw it isn't shift that is an issue. it is the difference between (normal/shifted): 0= and +?
20:26:00 <AnMaster> (that was for the benefit of those with other keyboard layouts
20:26:13 <Deewiant> Right you are, my bad
20:26:15 <AnMaster> coppro, good
20:27:09 <AnMaster> Deewiant, which is strange since the "main" key area have fully sized keys on thinkpads
20:28:11 <AnMaster> coppro, oh btw another cool thing that I think is undocumented
20:28:20 <AnMaster> erlang:'+'/2
20:28:22 <AnMaster> that exists
20:28:29 <AnMaster> you can see it doing erlang:module_info()
20:28:40 <coppro> and + is just sugar?
20:28:46 <AnMaster> coppro, don't think so
20:29:00 <AnMaster> coppro, or rather: I don't know
20:29:21 <AnMaster> coppro, but if it is sugar, then the internal way is undocumented
20:29:33 <coppro> would be awesome if you could overload like that
20:29:42 <AnMaster> coppro, overload what?
20:29:58 <AnMaster> anyway, it could be
20:30:01 <coppro> operators, by creating a function named like the operator
20:30:04 <AnMaster> if it is auto imported
20:30:15 <AnMaster> coppro, go try it out
20:30:21 <coppro> I will later
20:30:24 <AnMaster> but if it *is* auto imported
20:30:28 <AnMaster> I have no idea what would happen
20:31:32 <AnMaster> coppro, also if it is overloadable like that, how would it interact with guards
20:31:41 <coppro> Oo
20:31:57 <AnMaster> coppro, you just realised? :D
20:32:05 <coppro> yeah
20:32:16 <AnMaster> coppro, and I don't even want to think what would happen with HIPE
20:32:23 <AnMaster> think about*
20:32:33 -!- jpc has joined.
20:32:47 <AnMaster> coppro, maybe it would break all guards using +?
20:32:58 <coppro> maybe
20:33:08 <coppro> maybe it would give nondeterministic guards O_o
20:34:46 <AnMaster> coppro, or maybe overriding it won't work
20:35:06 <AnMaster> coppro, as in, + -> erlang:'+' not '+'
20:35:15 <coppro> yeah
20:35:22 <coppro> that seems most likely
20:36:27 <oerjan> if it's inherited from prolog, then operator + should be the same as '+'/2, i think
20:36:38 <AnMaster> Deewiant, anyway about those function names, you couldn't quote ++ as a function name in C
20:36:52 <Deewiant> You can't quote any names in C, yes
20:37:04 <AnMaster> Deewiant, nor most other languages I know
20:37:15 <Deewiant> You can't quote just about anything in LLVM, I think
20:37:16 <AnMaster> apart from prolog and possibly some lisps
20:37:20 <Deewiant> Er
20:37:21 <Deewiant> Can
20:37:26 <AnMaster> Deewiant, well okay
20:37:34 <AnMaster> but what about high level languages
20:37:47 <AnMaster> then I only know of erlang, prolog and various lisps
20:37:51 <AnMaster> (with 'foo)
20:38:02 <Deewiant> Lisp-derivatives and Prolog-derivatives, yes :-P
20:38:09 <AnMaster> <oerjan> if it's inherited from prolog, then operator + should be the same as '+'/2, i think <..
20:38:11 <Deewiant> Maybe Perl, it sounds like the kind of thing it could do
20:38:14 <AnMaster> that is what we talked about
20:38:21 <AnMaster> Deewiant, okay that's a good point
20:38:29 <AnMaster> don't know enough perl to know the answer to that
20:38:30 <oerjan> lisp 'foo isn't really the same thing, you cannot put special things in foo
20:38:38 <AnMaster> oerjan, oh true good point
20:38:44 <oerjan> it's just an abbreviation for (quote foo)
20:39:03 <AnMaster> Deewiant, you can't make a function called f(o)o in lisp
20:39:36 <oerjan> you can probably do it with the gensym function?
20:40:03 <AnMaster> oerjan, doesn't that generate guaranteed unique ones for macros?
20:40:06 <AnMaster> or do I misremember
20:40:17 <oerjan> hm maybe i do
20:40:25 <AnMaster> in erlang you can even make arbitrary module names
20:40:38 <AnMaster> except of course that the null atom breaks badly when trying to load the module
20:40:47 <AnMaster> (as in, it can't locate the matching file)
20:41:27 <AnMaster> oh and the compiler messes up the name of the file too iirc
20:46:04 -!- oerjan has quit ("Good night").
20:50:53 <MissPiggy> where is ehird
20:50:56 <pikhq> Why does GCC suck so bad at error messages?
20:51:10 <MissPiggy> probably because it's difficult to do good reports on C
20:51:31 <pikhq> "Hmm, that's a very large macro usage. I should report all errors on it as being from the first line."
20:55:53 <pikhq> "Error: initializer element is not constant". Yeah, eff you.
20:56:57 <pikhq> How is there an initialiser in a macro declaration, anyways?
20:57:36 <pikhq> Oh, that's how. It decides sometimes to give a line number from the macro declaration rather than the macro usage.
20:57:38 -!- comex has changed nick to fag.
20:57:40 <pikhq> But only sometimes.
20:57:44 -!- fag has changed nick to comex.
20:57:52 <AnMaster> very rare event coming up!
20:57:58 <AnMaster> extremely rare even
20:58:22 <AnMaster> second time in about 7 years. that is how rare.
20:58:47 <pikhq> AnMaster: ?
20:58:56 <MissPiggy> AnMaster just says that every 7 years
20:58:57 <AnMaster> pikhq, replacing batteries in a TI-83+
20:59:27 <AnMaster> if you had any similar TI calculator you know what I mean
20:59:40 <AnMaster> MissPiggy, I don't think I was on IRC seven years ago
21:00:54 <pikhq> main.c:112:1: error: pasting ""S"" and "_thunk" does not give a valid preprocessing token
21:01:06 <pikhq> Yes... Because I wanted you to stringise that silently.
21:01:07 <pikhq> Of course.
21:01:18 <AnMaster> pikhq, what did you do
21:01:38 <pikhq> AnMaster: name##_thunk
21:02:34 <AnMaster> pikhq, isn't it #
21:02:39 <AnMaster> wait no
21:02:42 <AnMaster> I'm just tired
21:03:02 <pikhq> GCC is quite terrible at error messages.
21:03:03 <pikhq> static void *__LAMBDA__I_thunk (void*c) { { { return ({ void* __LAMBDA__ (void *_, closure x) { { printf("I thunk (%p)!\n", x); return x; }; }; closure _x = ({ closure _x = xgc_malloc; _x->func(_x->close, sizeof(struct closure)); }); *_x = (struct closure){ __LAMBDA__, ((void *)0) }; _x; }); }; }; } static struct closure __LAMBDA__I_thunk_ = { __LAMBDA__I_thunk, ((void *)0) }; static closure I_thunk = &__LAMBDA__I_thunk_;; static struct th
21:03:12 <pikhq> Then again, I'm not sure how to give useful ones on that.
21:04:53 <AnMaster> pikhq, agreed
21:05:00 <AnMaster> pikhq, still doing stuff on it?
21:05:59 <AnMaster> pikhq, care to give me the last working header file?
21:06:08 <AnMaster> also you should host this project somewhere
21:06:34 <pikhq> AnMaster: I'm using it to write a SKI interpreter.
21:06:52 <AnMaster> pikhq, wonderful :D
21:07:00 <pikhq> It's kinda nasty when being lazy.
21:07:03 <pikhq> So many thunks...
21:07:05 <AnMaster> pikhq, haha
21:09:51 <pikhq> main.c:83: warning: initialization from incompatible pointer type
21:11:14 <pikhq> That, of course, means "main.c:83-112: or main.c:9-14: or main.c:16-21: or main.c:23-27: or lambda.h:7-13: or lambda.h:15-24: warning: initialization from incompatible pointer type"
21:18:19 -!- cheater2 has joined.
21:21:50 -!- augur has quit (Read error: 110 (Connection timed out)).
21:27:44 -!- coppro has quit (Remote closed the connection).
21:28:25 -!- coppro has joined.
21:34:12 -!- cheater3 has quit (Connection timed out).
21:35:35 * pikhq wonders what's segfaulting.
21:36:54 <pikhq> All I know is that a complete call trace isn't helping that much.
21:39:45 <olsner> it's probably a bug in the program you're running
21:42:39 <coppro> I was going to suggest a bug in a syscall
21:42:58 <coppro> probably the io multiplexing isn't working
21:45:08 <pikhq> olsner: I'm trying to figure out a bug *in my code*, so yes...
21:45:45 <olsner> pikhq: ok, then it's either a kernel bug or a hardware problem
21:46:36 <pikhq> olsner: Clearly.
21:46:44 <pikhq> I write perfect C, after all.
21:47:25 <olsner> hmm, not so sure about you, but I do
21:48:53 -!- augur has joined.
21:49:32 <AnMaster> pikhq, single stepping?
21:50:09 <AnMaster> pikhq, and if s doesn't help, then try si
21:50:18 <AnMaster> (that would be painful though)
21:50:40 <cpressey> int x = void; goto x; <-- my perfect C.
21:51:24 <AnMaster> cpressey, some weird gnu extension?
21:51:58 <MissPiggy> cpressey what does it mean?
21:51:59 <AnMaster> I have a vague memory of ais declaring the stack pointer or something such as a void variable
21:52:00 -!- cheater3 has joined.
21:52:08 <cpressey> No, it's just poetry.
21:52:09 <AnMaster> in his gcc-bf runtime code
21:52:28 <AnMaster> cpressey, then I doubt it is valid :)
21:52:45 <Gregor> I lurve that you can write Cish nonsense and people go "is that a GNU extension?"
21:52:51 <Gregor> Yes, GNU has made void a value :P
21:52:58 <Gregor> It's like JavaScript's undefined
21:55:23 <pikhq> AnMaster: Single stepping through a Boehm GC collection.
21:55:24 <AnMaster> Gregor, don't think gcc's void can be used like that
21:55:29 <AnMaster> pikhq, yeargh
21:55:44 <AnMaster> pikhq, try valgrind.. wait doesn't work on boehm-gc
21:55:47 * Gregor bashes his head into a wall.
21:56:08 <AnMaster> Gregor, in fact I never seen gcc's void value documented
21:56:24 -!- cheater2 has quit (Connection timed out).
21:56:25 <Gregor> I'll try that again.
21:56:39 * Gregor headbutts AnMaster, Zidane-style.
21:56:49 <AnMaster> define:Zidane
21:57:05 <AnMaster> Final Fantasy IX|ファイナルファンタジーIX|Fainaru Fantajī Nain is a console role-playing game developed and published by Square (now Square Enix) as the ninth installment in the Final Fantasy series. ...
21:57:06 <AnMaster> en.wikipedia.org/wiki/Zidane_(Final_Fantasy)
21:57:07 <AnMaster> hm okay
21:57:18 <Gregor> lawl
21:57:31 <AnMaster> Gregor, doesn't mean much to me. iirc I played some final fantasy game in zsnes though
21:57:38 <AnMaster> could have been 1 or 3 or something like that?
21:57:49 <Gregor> Can somebody else please lawl along with me at how little AnMaster understands wtf I'm talking about? :P
21:58:00 <pikhq> Lawl.
21:58:04 <coppro> Lawl
21:58:04 <Gregor> Thank you.
21:58:13 <AnMaster> Gregor, well I realise that you found it funny that I didn't "get the joke" to begin with
21:58:15 <AnMaster> but in fact I did
21:58:22 <AnMaster> I was just more interested in serious bit
21:58:27 <AnMaster> about what gcc void actually is
21:58:39 <AnMaster> Gregor, which is why I selected to concentrate on it :P
21:58:57 <coppro> http://en.wikipedia.org/wiki/2006_FIFA_World_Cup_Final
21:58:58 <Gregor> AnMaster: You compounded that by somehow being ignorant of the Zinedine Zidane headbutt incident, which even I, an American, am not ignorant of.
21:59:16 <AnMaster> Gregor, mhm?
22:00:19 <AnMaster> Gregor, ah googling for zidane *and* headbutt gave some more relevant results
22:00:31 <AnMaster> Gregor, however then I have to tell you: I hate team sports
22:00:39 <AnMaster> there is nothing more boring to watch
22:00:46 <AnMaster> (as for playing such, that would be hell)
22:00:53 <AnMaster> Gregor, for sport I prefer Aikido
22:00:58 <Gregor> I'm in a country that /doesn't even call that sport by the right name/ :P
22:01:08 <AnMaster> Gregor, well yeah and?
22:01:19 <AnMaster> Gregor, I haven't watched football for over 10 years I think
22:01:25 <AnMaster> and then only for a few minutes
22:01:33 <AnMaster> just to see what all the fuss was about
22:01:45 <coppro> even /I/ know
22:02:42 <AnMaster> coppro, and?
22:02:59 <AnMaster> point is, I never even reads the sports pages in the morning news paper
22:03:03 <AnMaster> what do you expect
22:03:12 <coppro> neither do I
22:03:21 <AnMaster> oh wait you americans doesn't read newspapers at all (mostly)
22:03:22 <AnMaster> ;P
22:03:34 <coppro> I am not American, and I do read the newspaper
22:03:37 <coppro> I also listen to the radio
22:03:57 <AnMaster> coppro, well not being American explains it
22:04:01 <AnMaster> what country are you from
22:04:05 <coppro> Canada
22:04:11 <AnMaster> also I listen to the classical music channel
22:04:13 <AnMaster> ;P
22:04:15 <AnMaster> bbl
22:04:31 <coppro> (well, technically I'm American. But people never ever use that word correctly :( )
22:05:36 <pikhq> coppro: We of the US claim the continent for our own.
22:05:40 <pikhq> Yes, the whole thing.
22:05:50 <coppro> pikhq: I thought you were Canadian?
22:05:58 <pikhq> No.
22:06:01 <coppro> oh
22:06:11 <pikhq> Just a bitter USian.
22:06:11 * coppro wonders why he thought that, then
22:06:35 <coppro> pikhq: so that's why you send all the Mexicans home?
22:06:46 <Gregor> pikhq: You mean the whole landmass.
22:06:54 <coppro> also, what about South America?
22:06:57 <Gregor> We get South America too, although we don't like them damn Mexi-cans.
22:07:15 <pikhq> Gregor: Right, right.
22:07:37 <pikhq> And we would like to claim the other landmasses, too.
22:07:45 <pikhq> We have a base on every one!
22:09:54 <AnMaster> <coppro> (well, technically I'm American. But people never ever use that word correctly :( ) <-- true
22:10:07 <Gregor> USian just sounds funny.
22:10:09 <AnMaster> but that is because saying "USian" is rather hard
22:10:10 <AnMaster> yeah
22:10:14 <AnMaster> and funny
22:10:18 <Gregor> Youzhian
22:10:23 <coppro> pronounce it like "ASian", except with a u
22:10:29 <AnMaster> Gregor, no z there?
22:10:35 <AnMaster> in either asian or yousian?
22:10:36 <Gregor> I was using "zh" as the voiced version of "sh"
22:10:47 <AnMaster> Gregor, is this something usian=?
22:10:50 <Gregor> No
22:10:51 <AnMaster> s/=//
22:10:53 <Gregor> That's something Gregoran.
22:11:11 <AnMaster> Gregor, or to let me rephrase it: "RP?"
22:11:15 <coppro> oozhan
22:11:34 <cpressey> Susan who?
22:11:40 <AnMaster> cpressey, hdehe
22:11:41 -!- Sgeo|web has joined.
22:11:41 <AnMaster> hehe*
22:16:16 <cpressey> Python: like or dislike?
22:16:46 <coppro> meh
22:16:49 <cpressey> (I'm trying to decide, myself, y'see. And I Value Your Input.)
22:17:13 <cpressey> I think I agree with coppro.
22:17:34 <AnMaster> cpressey, better than many languages, worse than many
22:17:49 <AnMaster> an average performer in scripting languages
22:17:50 <Sgeo|web> cpressey, love
22:18:20 <AnMaster> cpressey, you can actually get used to the indention. (everyone knows the erlang way of doing it is superior ;P)
22:18:23 <coppro> as a quickie scripting language, it's good
22:18:23 <Sgeo|web> AnMaster, besides lambdas, how could Python be considered "worse" than a programming language?
22:18:34 <AnMaster> Sgeo|web, well it is imperative
22:18:36 <coppro> Sgeo|web: prototype model?
22:18:39 <Sgeo|web> *aother
22:18:42 <Sgeo|web> coppro: hm?
22:18:49 <coppro> you can redefine objects on a whim
22:18:53 <AnMaster> Sgeo|web, also no tail recursion
22:19:08 <Sgeo|web> AnMaster, isn't that just an implementation issue?
22:19:11 <AnMaster> lets say, python is way better than php, java, perl and many other languages
22:19:11 <cpressey> AnMaster: I actually like the indentation rule, mostly.
22:19:12 <coppro> there's no encapsulation
22:19:23 <AnMaster> Sgeo|web, ...? the imperative bit isn't just implementation
22:19:27 <AnMaster> the tail recursion is
22:19:29 <coppro> for a language that claims to be object-oriented, that's pretty bad
22:19:32 <Sgeo|web> AnMaster, I meant the tail recursion
22:19:34 <AnMaster> coppro, and that
22:19:37 -!- tombom has quit ("Leaving").
22:19:40 <AnMaster> Sgeo|web, still it is imperative
22:19:52 <AnMaster> also what coppro said about OO
22:20:10 <AnMaster> also python 2 -> 3 broke stuff badly
22:20:11 <coppro> def foo: pass \ SomeClass.__internal_function = foo
22:20:27 <AnMaster> you wouldn't see that kind of change between revisions of C
22:20:29 <AnMaster> for example
22:20:47 <AnMaster> also __slot__ or whatever it was
22:20:47 <cpressey> AnMaster: Python 3 should have an entirely different name. So should Perl 6. And Lua 5.1 should have been Lua 6.
22:20:49 <AnMaster> (yeargh)
22:21:05 <AnMaster> cpressey, thankfully I managed to avoid lua mostly
22:21:12 <coppro> I do not have an issue with intentionally breaking backwards-compatibility; py3k was fine
22:21:13 <AnMaster> for perl I just gave up
22:21:28 <AnMaster> (too much syntax)
22:21:37 <coppro> yeah
22:21:45 <AnMaster> I believe the right amount of syntax lies somewhere between perl and lisp
22:21:49 <coppro> lol
22:22:04 <cpressey> AnMaster: ... isn't that essentially the entire range? :)
22:22:04 <coppro> so... basically there is a right amount of syntax somewhere?
22:22:13 <AnMaster> cpressey, exactly
22:22:18 * coppro wants a more unixy language
22:22:18 <AnMaster> coppro, yep
22:22:23 <AnMaster> coppro, shell
22:22:32 <coppro> no, a real language
22:22:46 <coppro> bash is hardly unixy in any case
22:22:46 <cpressey> APL might have "more syntax" than Perl
22:22:51 <cpressey> but not by much
22:23:03 <pikhq> coppro: There's no encapsulation in C++, either. :P
22:23:13 * coppro swats pikhq
22:23:23 <AnMaster> coppro, real?
22:23:34 <AnMaster> cpressey, I prefer one I can write on a normal keyboard
22:23:45 <AnMaster> coppro, as in
22:23:49 <AnMaster> define "real"
22:23:49 <coppro> AnMaster: a shell's facilities are all provided by external utilities
22:23:50 <AnMaster> language
22:23:55 <AnMaster> coppro, not really
22:24:02 * Sgeo|web has a Data Structures class at 6:30 local time
22:24:02 <AnMaster> coppro, much of envbot is written in bash
22:24:08 <Sgeo|web> The language used will probably be C++
22:24:10 <AnMaster> heck you can even do the tcp/ip in bash
22:24:13 * Sgeo|web shoots self
22:24:27 <coppro> AnMaster: without calling any foreign executables?
22:24:35 <AnMaster> coppro, unless you are on debian yes
22:24:38 <Sgeo|web> It occurs to me that when I forget most of what I know about a language, I start hating it
22:24:39 <coppro> Oo
22:24:40 <cpressey> Sgeo|web: You have my condolences.
22:24:44 <AnMaster> coppro, bash has the pseudo device /dev/tcp
22:24:51 <AnMaster> coppro, compile time option
22:24:59 <coppro> O_o
22:25:03 <AnMaster> coppro, see man page
22:25:08 <AnMaster> man bash that is
22:25:17 <coppro> as I said though, bash really isn't unixy
22:25:20 <AnMaster> you use exec to open it on a fd
22:25:27 <AnMaster> coppro, feel free to /msg envbot
22:25:30 * Sgeo|web also has a non-existent C# project outside of school
22:25:31 <AnMaster> I believe
22:25:34 <AnMaster> -commands
22:25:35 <coppro> AnMaster: I believe you
22:25:39 <coppro> I'm just saying it's not unixy
22:25:39 <AnMaster> is a good place to start
22:25:49 <AnMaster> coppro, it supports reloading modules on the fly
22:25:57 <AnMaster> it uses unset to unload modules
22:26:01 <AnMaster> source to load tem
22:26:02 <AnMaster> them*
22:26:10 <AnMaster> also it returns variable using printf -v
22:26:17 <AnMaster> which I believe pikhq translated to tcl once
22:26:25 <AnMaster> pikhq, wasn't it upval or something like that?
22:26:51 <coppro> AnMaster: okay, fine, it's a real language
22:26:57 <pikhq> AnMaster: uplevel "set var foo"
22:26:59 <pikhq> IIRC.
22:27:01 <AnMaster> pikhq, ah
22:27:18 <pikhq> The "set var foo" gets run in the caller's scope.
22:27:19 <AnMaster> coppro, well you can't do select()
22:27:34 <coppro> can't do it in standard C either
22:27:36 <AnMaster> pikhq, yeah except you don't need to do that on bash since it implicitly refers that way
22:27:40 <AnMaster> coppro, true
22:27:50 <AnMaster> coppro, anyway zsh can do it I think
22:28:01 <coppro> anyway, you're now arguing a point I conceded
22:28:02 <coppro> can you please stop?
22:28:08 <AnMaster> coppro, there is that zsh irc client that integrates with the line editing
22:28:10 <AnMaster> quite cool
22:28:13 <pikhq> AnMaster: Yeah... In Tcl, there's nothing in the function's scope until you add it.
22:28:22 <pikhq> "Global scope" can be explicitly accessed.
22:28:24 <AnMaster> coppro, http://www.aeruder.net/tag/zirc/
22:28:28 <AnMaster> pikhq, right
22:28:46 <coppro> LOOK. I CONCEDE. YOU WIN. SHELL LANGUAGES CAN BE REAL LANGUAGES TOO. HAPPY?
22:28:50 <pikhq> Otherwise, Tcl functions are actually pure functions from string to string.
22:28:51 <AnMaster> pikhq, well the thing is you can refer to the callers local variables
22:29:23 <pikhq> AnMaster: Oh, that? That's upvar.
22:29:30 <AnMaster> pikhq, well you can do:
22:29:32 <AnMaster> local foo
22:29:40 <AnMaster> someotherfunc foo
22:29:44 <AnMaster> and have:
22:29:50 <pikhq> upvar name x; binds the variable "name" in the caller's scope to "x" in the current scope...
22:30:06 <AnMaster> someotherfunc() { printf -v "$1" "%s" "bar"; }
22:30:25 <AnMaster> this will break if you declare a local foo in someotherfunc
22:30:51 <AnMaster> pikhq, basically bash is dynamically scoped, and local variables are those that are available from "here and downwards"
22:31:06 <AnMaster> so doing local foo in someotherfunc would result in shadowing
22:31:14 <AnMaster> pikhq, does that explain it?
22:31:30 <pikhq> AnMaster: Mmkay.
22:31:44 <AnMaster> if you don't say it is a local variable it is a global one (or a local one in a caller perhaps)
22:31:50 <AnMaster> they default to global anyway
22:31:53 <pikhq> AnMaster: So, it makes Tcl's explicit "refer to caller's scope" thing implicit.
22:32:13 <AnMaster> pikhq, perhaps. it could be more than one call up though
22:32:26 <pikhq> set foo "";somefunc foo; # Where: proc somefunc {x} {upvar $x foo;set foo "bar"}
22:32:47 <AnMaster> pikhq, also you can't have local variables at top level (that is, outside functions)
22:33:13 <pikhq> AnMaster: upvar has an optional argument to say how far up the stack you want to munge.
22:33:29 <AnMaster> pikhq, what if you have foo() { local x; bar; } and bar () { quux; } and quux() { x=2; }
22:33:31 <pikhq> And there's easy ways to get the stack trace...
22:33:35 <AnMaster> that would change it in foo in bash
22:33:54 <AnMaster> pikhq, in bash it goes up to where the local is defined
22:34:52 <AnMaster> pikhq, also you have to remember you could do "foo() { some_call_that_messes_with_y; local x; bar; local y; some_call_that_messes_with_y; }"
22:35:02 <AnMaster> that would change the global y first time
22:35:05 <cpressey> Does bash do tail-call optimization?
22:35:08 <AnMaster> but the local one the second time
22:35:12 <cpressey> I'm guessing not.
22:35:14 <AnMaster> cpressey, I strongly doubt it
22:35:30 <pikhq> AnMaster: Need to explicitly grep the stack for where it's defined.
22:35:52 <AnMaster> pikhq, ah well, bash must be higher level since it handles that for you ;P
22:36:53 <AnMaster> pikhq, anyway, did you know that local is a builtin
22:36:54 <AnMaster> as in
22:36:57 <AnMaster> it isn't syntax
22:37:06 <AnMaster> it acts like a built in command when it comes to exit code
22:37:33 <AnMaster> foo=$(bar; false); echo $?
22:37:46 <AnMaster> would return 1
22:37:47 <AnMaster> err
22:37:52 <AnMaster> print 1
22:37:53 <AnMaster> I mean
22:37:54 <AnMaster> but
22:37:58 <AnMaster> local foo=$(bar; false); echo $?
22:38:03 <AnMaster> would print 0
22:38:07 <AnMaster> pikhq, wonderful isn't it
22:38:17 <AnMaster> it is also the reason for [] vs. [[]]
22:38:29 <AnMaster> [] being traditional
22:38:52 <AnMaster> so you have $a=''; [ $a = '' ]
22:38:55 <AnMaster> well that won't work
22:39:01 <AnMaster> since $a is expanded before
22:39:08 <AnMaster> you would need to quote $a
22:39:19 <AnMaster> or use [[ ]] (where it works, since it is expanded after)
22:39:46 <cpressey> Ah, but I could exec $0 to get a similar effect to a tail-call, couldn't I?
22:40:31 <pikhq> Hmm. proc uppervar {x} {for {set i [info level]} {$i >= 0} {incr i -1} {if {[uplevel $i "info exists $x"]} {uplevel "upvar $i $x $x"}}}
22:40:50 <pikhq> I do believe that would be the appropriate stack-walking magic.
22:41:37 <AnMaster> cpressey, :D
22:41:47 <AnMaster> cpressey, that wouldn't be a function
22:41:50 <AnMaster> it would be per script
22:42:00 <AnMaster> also you would have to export all vars to the env
22:42:08 <cpressey> AnMaster: true.
22:42:17 <cpressey> Well, does bash have a 'goto'?
22:42:44 <AnMaster> cpressey, no
22:42:54 <AnMaster> cpressey, you could emulate one with switch I believe
22:42:58 <pikhq> No, but it has switch.
22:43:00 <AnMaster> err case
22:43:01 <AnMaster> that is
22:43:02 <olsner> exec "$0" etc, perhaps :P
22:43:12 <AnMaster> olsner, lagged much?
22:43:22 <AnMaster> or was that about quoting
22:43:26 <AnMaster> if so I applaud you
22:43:38 <MissPiggy> http://robozzle.com/index.aspx?puzzle=1638 GRRRRRRR
22:43:54 <olsner> I meant as a 'goto'
22:43:57 <cpressey> switch could emulate a forward goto, but not a backward one -- unless bash's switch is truly awesome in a way I'm not aware of.
22:44:01 <AnMaster> olsner, ouch
22:44:10 <olsner> it's a tail-call though, not quite the same
22:44:17 <AnMaster> cpressey, well you would have to put it in a loop I guess
22:44:54 <AnMaster> pikhq, idea: translate your lambda stuff to bash
22:45:01 <AnMaster> I suggest using eval somewhere in it
22:45:15 <AnMaster> (because I doubt there is any other way)
22:45:22 <coppro> MissPiggy: haha, that one is awesome
22:45:32 -!- kar8nga has joined.
22:45:39 <AnMaster> <MissPiggy> http://robozzle.com/index.aspx?puzzle=1638 GRRRRRRR <-- js link please
22:45:49 <MissPiggy> AnMaster what
22:45:49 <pikhq> AnMaster: NO NO NO NO NO.
22:45:54 <pikhq> ALSO NO.
22:45:55 <AnMaster> pikhq, why not?
22:46:07 <pikhq> DID I MENTION NO.
22:46:12 <AnMaster> MissPiggy, that links to silverdarkness
22:46:18 <MissPiggy> so?
22:46:20 <AnMaster> MissPiggy, which I lack and refuse to install
22:46:34 <AnMaster> MissPiggy, so link to the equiv js one
22:46:38 <MissPiggy> no
22:46:43 <AnMaster> *shrug*
22:47:01 <pikhq> cpressey: ... Wrap the entire program in a switch statement and a while loop?
22:47:10 <AnMaster> pikhq, sounds like gcc-bf
22:48:05 <cpressey> Eh, but I can write a trampoline in any language. The result is not really horrible enough to encourage me to actually do it.
22:48:25 <AnMaster> haha
22:48:27 <cpressey> Er, and by "any language" I mean any boring, mainstream, procedural language. :)
22:48:52 <AnMaster> cpressey, what about cobol
22:49:24 <cpressey> Writing something vaguely continuation-passing-looking using exec "$0" (nod to olsner) is a much more attractive idea.
22:49:38 <cpressey> AnMaster: COBOL is not boring :)
22:49:59 <AnMaster> cpressey, and yes great idea with bash
22:50:44 <MissPiggy> AnMaster, just go to any js puzzle and put the number in
22:52:14 <AnMaster> MissPiggy, meh going to sleep in a sec anyway
22:52:16 <AnMaster> night all
22:52:16 <olsner> cpressey: yay!
22:52:41 -!- cheater2 has joined.
22:52:49 <Sgeo|web> MissPiggy: It's easier than it looks
22:52:57 <Sgeo|web> It's much easier than it's supposed to be, in fact
22:53:03 <MissPiggy> Sgeo it's the fixed version I can't do
22:53:57 <Sgeo|web> Oh
22:54:12 <coppro> fixed version?
22:54:36 <Sgeo|web> http://robozzle.com/js/play.aspx?puzzle=1640
23:05:04 <coppro> ah, that's much trickier
23:05:12 -!- Sgeo|web has quit (Ping timeout: 180 seconds).
23:08:03 -!- cheater3 has quit (Connection timed out).
23:11:32 -!- BeholdMyGlory has quit (Remote closed the connection).
23:21:09 <MissPiggy> i don't have an idea of what program to write to make it go around that
23:21:15 <MissPiggy> I'm guessing that probably you have to do something with the red
23:29:44 -!- muni has joined.
23:30:53 -!- cpressey has left (?).
23:32:14 <FireFly> I have a hunch Tower of Hanoi may be solveable in CSS3, with its move-to property..
23:34:02 <MissPiggy> FireFly, that would be neat!!!
23:34:10 <FireFly> Indeed
23:34:50 <FireFly> (and a total abuse of CSS, of course :P)
23:35:33 -!- augur has quit (Read error: 110 (Connection timed out)).
23:38:47 <FireFly> Nighty
23:38:50 -!- FireFly has quit ("Leaving").
23:49:36 -!- muni has quit.
23:56:48 -!- augur has joined.
23:56:51 -!- jpc has quit (Read error: 110 (Connection timed out)).
2010-01-28
00:03:58 -!- kar8nga has quit (Remote closed the connection).
00:43:31 -!- Asztal has quit (Read error: 110 (Connection timed out)).
00:45:22 -!- MizardX has quit (Read error: 110 (Connection timed out)).
01:00:41 -!- cheater2 has quit (Read error: 60 (Operation timed out)).
01:08:58 -!- MissPiggy has quit (Remote closed the connection).
01:09:13 -!- MissPiggy has joined.
01:23:56 -!- MissPiggy has quit.
01:44:34 -!- immibis has joined.
01:45:33 -!- MizardX has joined.
01:52:25 <immibis> has anyone used the Irrlicht 3D engine in here?
02:11:31 -!- MizardX has quit (Connection timed out).
02:16:34 -!- Slereah_ has quit (Client Quit).
02:26:02 -!- bsmntbombdood has joined.
02:48:26 <uorygl_> Hmm. Package-on-package looks like a neat way of doing a computer.
02:49:17 <uorygl_> You have a processor, and then memory right on top of it.
02:51:06 <uorygl_> It replaces the von Neumann bottleneck with a von Neumann hula hoop. Except no, that's an exaggeration.
03:49:27 <Gregor> if yesterdays submission was "why Gregor should not write waltzes", then this improved version is perhaps "why Gregor should write waltzes": http://filebin.ca/xucnrd/maybewaltzpointtres.ogg
04:21:11 -!- Pthing has quit (Remote closed the connection).
04:39:11 <oklopol> the chord progression near 30 is pretty eso, i love part2´
04:45:42 <oklopol> and i love the 58th second of it
04:46:11 <oklopol> *of the song
04:46:59 <oklopol> (i hope our times go at the same speed)
04:47:06 <Gregor> Hm, interesting. You're drawing me to the conclusion that I did better with the melody in the second part, but better with the chord progressions in the first part.
04:48:14 <oklopol> second part starts at 53?
04:48:23 <oklopol> or 1:07
04:48:51 <oklopol> i'm more of a micromusician, so excuse me if it should be obvious
04:49:27 <Gregor> I would say 1:07. It switches to F at 1:17, but the intervening section is just the transition.
04:50:03 <uorygl_> What does a micromusician do?
04:50:11 <Gregor> Idonno, I chose not to ask :P
04:51:00 <oklopol> i think my opinion about the first part is 39-53 is great, chordally. the part before that is first boring, then good.
04:51:08 <oklopol> relatively boring
04:51:29 <Gregor> I was actually going to scrap the beginning, but I decided that having a simple intro with buildup was probably good *shrugs*
04:51:35 <oklopol> yep
04:51:49 * uorygl_ researches the cromulence of "chordally".
04:52:23 <oklopol> uorygl_: i'm more interested in short snippets than complete songs.
04:52:29 * uorygl_ nods.
04:52:50 <uorygl_> Well, "chordally" appears to be a completely valid word.
04:52:52 <oklopol> i was going by "microeconomics", without any sort of understanding of what that is.
04:53:02 <oklopol> uorygl_: what does it mean?
04:53:23 <uorygl_> It means precisely what you think it means.
04:53:41 <uorygl_> Of course, I'll have to check with the language geeks to verify. :P
04:54:06 <oklopol> uorygl_: consider the monoid consisting of prefix sets, with cartesian product as the operator
04:54:09 <oklopol> is it free?
04:54:31 <oklopol> i think i proved it is, but would be nice to have a second opinion because i won't have time to write anything down
04:55:00 <uorygl_> Um, let me see.
04:55:04 <oklopol> could ask #math i guess, i just don't like to start my mornings by being called an idiot
04:55:47 <uorygl_> What do you mean by "prefix set"?
04:56:02 <oklopol> a set that does not contain two words that are prefices of each other
04:56:23 <uorygl_> Ah, a prefix-free set.
04:56:28 <oklopol> yeah, sorry
04:57:07 <uorygl_> How do you interpret the tuple of two strings as a string? Concatenate them?
04:57:12 <oklopol> yes
04:57:32 <oklopol> "obviously" :P
04:57:34 <uorygl_> Well, that... is a monoid. :P
04:57:40 <oklopol> yes, obviously it's a monoid
04:57:42 <uorygl_> Well, you could, say, concatenate them but with a comma in between.
04:57:50 <uorygl_> Yeah, lemme think.
04:59:20 <oklopol> ohhh
04:59:23 <oklopol> and finite
04:59:28 <oklopol> finite words, finite set
05:00:36 <uorygl_> This may be equivalent to asking whether, if S x T is an element of the monoid, S and T must be. Is it?
05:01:01 <oklopol> err is it now
05:01:19 <uorygl_> I think that's a necessary condition, at least...
05:01:25 <uorygl_> Um, my Internet connection is going to drop soon.
05:01:31 <oklopol> why exactly?
05:01:43 <uorygl_> Imagine if S and T are strings.
05:01:49 -!- oerjan has joined.
05:01:55 <uorygl_> Which, if the monoid is free, they must effectively be, right?
05:02:20 <oklopol> but isn't {"aa"^n | n \in N} free
05:02:54 <oklopol> map a <-> aa to get an isomorphism between that and the free monoid with one generator
05:03:08 <oklopol> or am i being completely stupid here
05:04:53 <oklopol> also without the prefix-freeness restriction, the thing is not a monoid ({1, a} and {a} commute but are clearly primitive)
05:05:05 <oklopol> so i don't think it's sufficient, at least
05:05:14 <oklopol> i wish there was a mathematician here.......
05:05:25 <oklopol> oh HEY oerjan didn't see you there
05:06:08 <oerjan> boo
05:06:30 <oerjan> i would like a restatement of the question, please
05:06:40 <oerjan> i couldn't quite make head or tails of the log
05:06:50 <oklopol> 06:53… oklopol: uorygl_: consider the monoid consisting of prefix sets, with cartesian product as the operator
05:06:50 <oklopol> 06:53… oklopol: is it free?
05:06:56 <oklopol> *prefix-free sets
05:07:40 <oerjan> so each element is of the form M_1 x M_2 x ... x M_n, where M_i are prefix-free sets?
05:08:08 <oklopol> you do a cartesian product, then concatenate the tuples together
05:08:19 <oerjan> oh.
05:09:04 <oerjan> but still, _each_ element of the monoid is a set?
05:09:14 <oklopol> yes
05:09:14 <oerjan> of concatenated things
05:09:20 <oklopol> well just strings
05:09:57 <oklopol> {"asd", "fas"} x {"kilo", "fel"} => {"asdkilo", "asdfel", "faskilo", "fasfel"}
05:09:59 <oerjan> now, prefix-free means that if st is an element, s cannot be iirc
05:10:03 <oklopol> yes
05:12:04 * oerjan tries to convince himself that the combination of two prefix-free sets is prefix-free
05:12:45 <oklopol> i wonder if i actually went through the proof that it is
05:12:55 <oklopol> i just instantly got the idea for how to prove that
05:13:09 <oerjan> three cases: (1) s1*s2t (2) s*t (3) st1*t2
05:14:16 <oklopol> okay it's trivial
05:14:59 <oklopol> and yeah i guess there are cases
05:15:40 <oerjan> (1) ok no prefix of s1 can be in the first set since s1 itself is. nor can s1 itself. so you cannot have s1 in the combination
05:15:43 <oklopol> everything's sort of in my internal representation, i solved the problem during the period 6:00-6:20 with my eyes closed on the bed
05:16:21 <oerjan> *since s1*s2 is
05:16:51 <oklopol> or actually maybe ten minutes more in both directions
05:17:14 <oerjan> (2) s is in the first set. the empty string is not in the second, assuming it is non-empty (needs to be assumed i think)
05:18:08 <oerjan> (3) only s of st1 prefixes is in the first set. t1 isn't in the second.
05:18:11 <oerjan> ok then.
05:18:20 <oklopol> yeah that was the trivial part
05:18:22 <oklopol> ;)
05:18:32 <oerjan> um that was the _whole_ part
05:18:37 <oklopol> that it's free?
05:18:40 <oerjan> no.
05:18:51 <oklopol> i mean i just said "the monoid", so clearly what you did there was trivial
05:18:54 <oklopol> :P
05:19:08 <oklopol> if it's given, it must be obvious!
05:19:40 <oerjan> ok now let s1s2...sn = t1t2...tm where s_i, t_i are in the same set. need to prove m=n and all s_i = t_i
05:20:03 <oklopol> only if si and ti are in the base right?
05:20:22 <oerjan> *the same initial set
05:20:30 <oerjan> um wait...
05:20:54 <oklopol> i don't know what an initial set is, all i know about freeness is its definition
05:21:34 <oerjan> ok we need to find out what a monoid being free means in practice
05:21:46 <oklopol> the base is easy to find, just take the set of all things that can't be divided in two, because all this is finite, you can easily see we get that everything is representable as a concatenation of those
05:22:01 <oerjan> it must have a set of generators, and no two different combinations of generators must be equal
05:22:08 <oklopol> yeah
05:22:55 <oklopol> the last part is the only nontrivial thing, and i think i proved it... well okay it seems really trivial now
05:23:01 <oerjan> hm wait it's not enough to check individual strings. the monoid elements are still _sets_
05:23:23 <oklopol> well who said anything about strings
05:23:45 <oerjan> "prefix-free" implies strings afaik
05:23:48 <oklopol> should go shower, i hear it's customary to do what every week
05:24:07 <oklopol> yes, but i mean who said anything about checking individual strings
05:24:38 <oerjan> ok this now feels complicated
05:25:33 <oklopol> i proved a few lemmas first
05:25:43 <oklopol> or maybe just one
05:26:00 <oerjan> hm?
05:26:02 * oklopol seriously considers getting paper
05:26:58 <oklopol> i started by seeing what happens if you assume the contrary
05:27:12 <oklopol> so take AB = CD where A and C are primitive, and A != C
05:27:18 <oklopol> i think that's the only case you need to look at
05:27:50 <oerjan> ah maybe
05:27:52 <oklopol> if you can now show a contradiction, then C and D can be broken down in some way, we can then show by induction that all parts must be the same
05:27:55 <oklopol> err
05:28:00 <oklopol> *B and D
05:31:43 -!- clog has joined.
05:31:43 -!- clog has joined.
05:31:47 <oklopol> basically what i do is first i show that for each element of A, there must be either a prefix or an antiprefix (antiprefix(a) = at for some t) for it in C
05:31:59 -!- clog has joined.
05:31:59 -!- clog has joined.
05:32:06 <oklopol> this is clear, otherwise the stuff in AB that starts with the string couldn't have matching rows in CD
05:32:14 -!- clog has joined.
05:32:14 -!- clog has joined.
05:32:28 -!- clog has joined.
05:32:28 -!- clog has joined.
05:32:42 -!- clog has joined.
05:32:42 -!- clog has joined.
05:32:56 -!- clog has joined.
05:32:56 -!- clog has joined.
05:33:10 -!- clog has joined.
05:33:10 -!- clog has joined.
05:33:16 <oerjan> um why is that a finite set
05:33:16 <oklopol> then for all i, ci = a * xi for some xi
05:33:34 -!- clog has joined.
05:33:34 -!- clog has joined.
05:33:37 <oklopol> didn't i directly mention all this is finite?
05:33:41 <oerjan> no!
05:33:43 <oklopol> :D
05:33:50 <oklopol> well i did now!
05:33:58 <oklopol> that's what you get for coming to class late
05:34:09 <oklopol> well okay you won't need any help now, shower time ->
05:34:15 <oerjan> ok that means it might actually be possible to think of cardinalities anyway...
05:34:45 <oerjan> argh
05:34:46 <oklopol> finite strings, finite sets
05:35:30 <oklopol> also my proof doesn't rely on the sets being finite
05:35:47 <oerjan> i don't think i have the brain for this any longer
05:42:49 -!- oerjan has quit ("No brain today").
05:45:30 <oklopol> :(
05:48:58 -!- clog has joined.
05:48:58 -!- clog has joined.
05:49:16 -!- clog has joined.
05:49:16 -!- clog has joined.
05:49:31 -!- clog has joined.
05:49:31 -!- clog has joined.
05:49:45 -!- clog has joined.
05:49:45 -!- clog has joined.
05:50:17 -!- clog has joined.
05:50:17 -!- clog has joined.
05:50:39 -!- clog has joined.
05:50:39 -!- clog has joined.
05:52:15 -!- clog has joined.
05:52:15 -!- clog has joined.
05:52:36 -!- clog has joined.
05:52:36 -!- clog has joined.
05:53:54 -!- clog has joined.
05:53:54 -!- clog has joined.
05:54:13 -!- clog has joined.
05:54:13 -!- clog has joined.
05:54:31 -!- clog has joined.
05:54:31 -!- clog has joined.
05:54:49 -!- clog has joined.
05:54:49 -!- clog has joined.
05:55:07 -!- clog has joined.
05:55:07 -!- clog has joined.
05:55:31 -!- clog has joined.
05:55:31 -!- clog has joined.
06:19:43 -!- tombom has joined.
06:24:40 -!- Sgeo_ has joined.
06:27:16 -!- Gracenotes has quit (Remote closed the connection).
06:29:43 -!- Gracenotes has joined.
06:38:18 -!- immibis has quit (Read error: 113 (No route to host)).
06:39:27 -!- Slereah has joined.
06:41:56 -!- Sgeo has quit (Read error: 110 (Connection timed out)).
06:46:25 -!- Sgeo_ has quit ("Leaving").
06:47:05 -!- immibis has joined.
06:58:11 -!- mycroftiv has joined.
07:10:00 -!- tombom has quit ("Leaving").
07:44:27 -!- cheater2 has joined.
07:49:20 -!- Slereah has quit (Read error: 110 (Connection timed out)).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:01:47 -!- mycronext has joined.
08:02:05 -!- mycroftiv has quit (Nick collision from services.).
08:02:15 -!- mycroftiv has joined.
08:02:30 -!- mycroftiv has quit (Client Quit).
08:02:39 -!- mycronext has changed nick to mycroftiv.
08:51:47 -!- immibis has quit (Read error: 110 (Connection timed out)).
09:31:00 -!- cheater2 has quit (Read error: 104 (Connection reset by peer)).
09:31:27 -!- cheater2 has joined.
09:39:57 -!- kar8nga has joined.
10:07:30 -!- Slereah has joined.
10:20:20 -!- oerjan has joined.
10:20:23 -!- atrapado has joined.
10:20:53 -!- Gregor has quit (Read error: 110 (Connection timed out)).
10:29:43 * oerjan finds today's iwc annotation very reassuring. well, maybe.
10:38:05 -!- FireFly has joined.
10:39:43 <FireFly> Interesting, now sun.com redirects to oracle.com
10:41:10 * oerjan feels there _has_ to be an ancient prophecy somewhere that could be interpreted to foresee that
10:50:36 -!- Slereah_ has joined.
10:55:05 -!- Slereah has quit (Read error: 110 (Connection timed out)).
11:04:37 -!- BeholdMyGlory has joined.
11:44:13 <AnMaster> * oerjan feels there _has_ to be an ancient prophecy somewhere that could be interpreted to foresee that <-- indeed
11:44:44 <AnMaster> also while sun was pretty bad, IMO oracle is worse
12:21:31 -!- oerjan has quit ("I predict sunny weather. Eventually.").
12:31:10 -!- kar8nga has quit (Remote closed the connection).
12:45:03 -!- MizardX has joined.
12:53:57 -!- Gregor has joined.
14:04:29 -!- scarf has joined.
14:08:45 -!- Sgeo has joined.
14:09:21 <Sgeo> Message to ehird, assuming that he is, in fact, ok: Fine Structure's final story has been released.
14:18:41 -!- fizzie has joined.
14:33:55 -!- zeotrope has joined.
14:34:38 -!- scarf has changed nick to scarf|away.
14:35:58 -!- scarf|away has changed nick to scarf.
14:43:35 -!- kar8nga has joined.
14:56:51 -!- muni has joined.
15:09:43 -!- cpressey has joined.
15:28:21 -!- Pthing has joined.
15:28:55 <pikhq> Sgeo: Hot diggity.
15:53:07 -!- atrapado has quit ("Ex-Chat").
16:00:18 -!- scarf has changed nick to scarf|away.
16:28:43 -!- Asztal has joined.
16:32:18 -!- MissPiggy has joined.
16:36:42 -!- zeotrope has quit (Read error: 104 (Connection reset by peer)).
16:41:08 -!- scarf|away has changed nick to scarf.
16:43:22 -!- AnMaster has quit (Success).
16:46:18 -!- scarf has changed nick to scarf|away.
16:52:22 -!- AnMaster has joined.
16:55:36 -!- kar8nga has quit (Remote closed the connection).
17:01:00 -!- AnMaster has quit (Read error: 54 (Connection reset by peer)).
17:03:18 -!- AnMaster has joined.
17:17:28 -!- scarf|away has changed nick to scarf.
17:31:24 -!- scarf has quit (Remote closed the connection).
17:44:22 -!- tombom has joined.
17:52:52 -!- muni has quit.
18:03:55 -!- tombom_ has joined.
18:04:32 -!- kar8nga has joined.
18:08:24 -!- zeotrope has joined.
18:15:36 -!- augur has quit (Read error: 110 (Connection timed out)).
18:18:18 -!- tombom__ has joined.
18:23:30 -!- augur has joined.
18:26:43 -!- oerjan has joined.
18:27:57 -!- tombom has quit (Read error: 110 (Connection timed out)).
18:33:48 -!- tombom_ has quit (Read error: 101 (Network is unreachable)).
18:37:53 -!- MigoMipo has joined.
18:39:30 -!- AnMaster has quit (Connection reset by peer).
18:45:42 -!- AnMaster has joined.
18:49:14 <AnMaster> aargh btw
18:49:28 <FireFly> Yeah, it's a nice language
18:49:48 <AnMaster> I can't use dvi on my nvidia card it seems. Why? Because it causes X to lock up whenever DPMS kicks in
18:49:50 <AnMaster> that is, if the monitor is large enough
18:50:18 <AnMaster> it works fine for 4:3 monitors on DVI -_-
18:50:26 <AnMaster> (and/or smaller ones)
18:50:55 <FireFly> "4:3" doesn't really say anything about the size?
18:51:00 <AnMaster> also sshing in and killing X results in screwed up video mode. Reloading the nvidia kernel module after that causes it to claim that the nvidia card is unsupported (until reboot)
18:51:03 <AnMaster> so I guess something was really badly screwed up there
18:52:07 <oerjan> clearly it means a monitor with 4 x 3 pixels. works fine, just a bit hard to read on.
18:52:09 <AnMaster> FireFly, my ability to test is "large widescreen" and "small 4:3"
18:52:21 <AnMaster> FireFly, also I (had) a large 4:3 that is vga only
18:52:45 <AnMaster> had due to backlight dying, which is why I got a replacement (which is sadly widescreen, but you can't find 4:3 easily these days)
18:53:20 <AnMaster> so now I'm using vga for it
18:53:23 <FireFly> ._.
18:53:34 <AnMaster> also nvidia module was spewing things to Xorg.log
18:53:37 <FireFly> I ordered a new monitor last week, hopefully it'll work well
18:53:48 <FireFly> I'm using ATI though... so probably not the _same_ problem, at least
18:54:24 <AnMaster> FireFly, http://sprunge.us/GEgP
18:54:28 <AnMaster> that is what happened
18:54:38 <AnMaster> and then it repeats those last lines forwver
18:54:40 <AnMaster> forever*
18:54:42 <AnMaster> btw I'm badly lagged due to bouncer still joining channels
18:54:46 <FireFly> Ow
18:54:56 <FireFly> Ah, you and your +inf networks
18:55:49 <AnMaster> FireFly, it's over now
18:56:12 <AnMaster> FireFly, anyway, that was just joining on freenode
18:56:18 <AnMaster> that causes it to throttle badly
18:56:28 <AnMaster> freenode has really low rate limits
18:56:35 <FireFly> But that's a maximum of 20 channels, at least
18:56:43 <FireFly> how many channels did you join, all in all? 600?
18:56:44 <AnMaster> FireFly, you can ask a staffer for extended limit
18:56:51 <FireFly> Ah
18:56:52 <AnMaster> so I'm in over 70 channels on freenode
18:57:06 <AnMaster> FireFly, also it's slightly below 500
18:57:11 <FireFly> Ah
18:57:18 <AnMaster> 490 or something like that last I checked
18:57:36 <AnMaster> it's per network, so I would have to sum all the values up
18:57:38 <AnMaster> too lazy for it
18:58:11 <AnMaster> (the info in the client on number of channels is per network that is)
18:58:19 <AnMaster> err s/client/bouncer/
18:58:23 <FireFly> isn't the client scriptable?
18:58:24 <FireFly> Ah
18:58:24 <MissPiggy> FireFly did you write that CSS3 thing
18:58:24 <MissPiggy> ?
18:58:29 <FireFly> Um, yeah
18:58:42 <FireFly> Assuming you meant the one on rosettacode
18:58:55 <AnMaster> <FireFly> isn't the client scriptable? <-- sure, but I don't feel like writing elisp right now
18:59:07 <MissPiggy> FireFly I mean hanoi
18:59:11 <FireFly> Oh, ah
18:59:14 <AnMaster> FireFly, I need to study elkretsteori (whatever that is in English)
18:59:20 <FireFly> Well, there's no interpreter for CSS3 yet :P
18:59:26 <FireFly> Since the spec isn't completed
18:59:28 <FireFly> So... not yet :P
18:59:40 <AnMaster> FireFly, css3? what's new in it
18:59:42 <FireFly> AnMaster, ah, all right
18:59:43 <FireFly> Uh
18:59:45 <FireFly> Tonnes of stuff
18:59:59 <FireFly> Counters, move-to, new selectors, et cetra et cetra
19:00:01 <MissPiggy> you made thta QUINE???
19:00:04 <AnMaster> FireFly, is it TC now?
19:00:05 <FireFly> Yeah
19:00:08 <MissPiggy> nice
19:00:09 <AnMaster> ìt is?!
19:00:16 <FireFly> Ah
19:00:16 <FireFly> nope
19:00:19 <FireFly> that was @ MissPiggy
19:00:21 <AnMaster> ah
19:00:23 <FireFly> Well
19:00:26 <FireFly> I'm not sure about CSS3
19:00:28 <FireFly> But it may well be
19:00:43 <FireFly> And I'm too lazy to read and memorize all the specs, before they are even complete
19:00:45 <AnMaster> FireFly, anyway, what is elkretsteori in English I wonder...
19:00:49 <FireFly> Hrm
19:01:11 <FireFly> I dunno, don't know what the course involves :P
19:01:28 <FireFly> electric circuit theory?
19:01:32 <AnMaster> possibly
19:01:41 <AnMaster> theory sounds too advanced in English
19:01:59 <FireFly> Electric circuit course, then, or something like that
19:02:04 <AnMaster> yeah probably
19:02:18 <AnMaster> but really not sure about too advanced, it is only the second week of the course
19:02:52 <FireFly> Don't look at me, I'm still at gymnasium :P
19:04:28 <cpressey> WAIT
19:04:33 <oerjan> *electronic, i would think?
19:04:38 <cpressey> Did someone say CSS3 is Turing-complete??
19:04:42 <oerjan> cpressey: no
19:04:43 <FireFly> Probably
19:04:50 <FireFly> cpressey, it may be
19:04:54 <FireFly> Though hopefully not
19:04:59 <FireFly> (for browser vendors, that is)
19:05:07 <FireFly> Personally, I hope it'll be :P
19:05:20 <cpressey> I'll keep the four horsemen on hand, in case it turns out to be...
19:05:38 <AnMaster> also what is the chance of non-square pixels on modern displays
19:05:47 <AnMaster> I suspect xdpyinfo is misinformed:
19:05:49 <AnMaster> resolution: 90x88 dots per inch
19:05:52 <oerjan> and i'll polish the wings on my pigs
19:06:06 <FireFly> Hopefully close to zero, AnMaster
19:06:16 <AnMaster> FireFly, yeah
19:07:29 <cpressey> OK, what little evidence I've turned up so far suggests that it is *not*, thank the stars.
19:07:53 <AnMaster> FireFly, they could drop js then
19:08:00 <FireFly> ...not the same thing
19:08:02 <AnMaster> thus only needing one scripting language
19:08:06 <AnMaster> FireFly, well if it was tc!
19:08:10 <FireFly> It'd be badly abused CSS
19:08:15 <AnMaster> FireFly, so? ;P
19:08:45 <FireFly> Well... no :P
19:09:24 <FireFly> cpressey, if you want to look into it, the module I think is of most importance is the generated content one
19:09:25 <cpressey> Yay, stylesheets that can hang my browser!
19:09:32 <FireFly> Sure
19:09:37 <FireFly> http://etc.firefly.nu/css/euler-1.html
19:09:45 <FireFly> My take on Project Euler #1, (mostly) in CSS
19:09:52 <FireFly> Using JS for doing the hard work
19:11:09 <cpressey> Very cool, but happily, expressions like 5n+1 are only linear.
19:11:29 <FireFly> http://www.w3.org/TR/css3-content/#inserting0, #nested, #moving
19:11:31 <FireFly> Are also pretty interesting
19:11:47 <FireFly> (that is, those sections of that document)
19:12:02 <MissPiggy> pls solve hanoy
19:12:41 <FireFly> Also, from what I've read, attr() should be able to return integer values and stuff
19:13:14 <FireFly> I hope not, but if that's usable in a ::before(n) or ::after(n), it'll probably be abuse:able
19:15:30 <AnMaster> <FireFly> My take on Project Euler #1, (mostly) in CSS <-- locks up firefox if I allow it in noscript
19:15:39 <AnMaster> s/it/javascripts/
19:15:41 <FireFly> Hm
19:15:48 <FireFly> It should just freeze for a short while
19:15:57 <AnMaster> FireFly, define short while
19:15:58 <FireFly> Freezes my browser for like 4 seconds or something
19:16:07 <AnMaster> FireFly, this is on a sempron 3300+
19:16:11 <FireFly> Ah
19:16:34 <AnMaster> FireFly, we are talking more than half a minute (firefox 3.5)
19:16:44 <AnMaster> 3.5.7 even
19:17:12 <AnMaster> also, not firefox, Shiretoko, which is the arch non-official-brand firefox
19:17:22 <AnMaster> s/arch/arch linux/
19:17:23 <FireFly> Hmm
19:17:24 <FireFly> Yeah
19:17:30 <FireFly> I'll try it in shiretoko
19:17:39 <AnMaster> I hope 3.6 has a less messy name
19:17:47 <AnMaster> so I don't need to check it to type it out
19:17:56 <FireFly> :P
19:18:23 <FireFly> Hm
19:18:30 <cpressey> Where did people get the impression that Turing-complete was "good" anyway? Clearly we need to implementations of esolangs in DSSSL and XSLT.
19:18:38 <cpressey> s/to/more/
19:18:55 <FireFly> Took me one "script going slow" alert for it to complete for me, AnMaster
19:19:01 <cpressey> (especially DSSSL)
19:19:28 <AnMaster> FireFly, hm
19:19:30 <FireFly> cpressey, not neccessarily good, but CSS being turing-complete would at least be _interestnig_
19:19:34 <FireFly> interesting*
19:19:35 <AnMaster> FireFly, two went past before I gave up
19:20:03 <AnMaster> cpressey, DSSSL? Which one is that?
19:20:04 <FireFly> Oh well, it's not that interesting anyway
19:20:40 <cpressey> AnMaster: the predecessor to XSLT, basically
19:20:56 <AnMaster> ah
19:21:14 <cpressey> It was based on Scheme...
19:21:19 <FireFly> Hm
19:23:14 <cpressey> Or maybe Jinja2 templates. Assuming they're TC -- I think so but I haven't confirmed it. If not, then I'm sure some other templating language will come along...
19:24:29 <FireFly> Heh, Opera still has a bug with rgba background on body screwing it up
19:24:34 <FireFly> If the alpha is set to 0
19:28:03 -!- MissPiggy_ has joined.
19:29:07 -!- MissPiggy has quit (Read error: 104 (Connection reset by peer)).
19:29:11 -!- MissPiggy_ has changed nick to MissPiggy.
19:29:23 -!- zeotrope has quit (Read error: 60 (Operation timed out)).
19:39:48 -!- fungot has joined.
19:45:34 -!- Sgeo|web has joined.
19:45:55 <Sgeo|web> No one's talked about Robozzle in a while
19:49:47 <Ilari> Try to push some new selector that would make CSS substly TC for next CSS release? :->
19:53:49 <Ilari> Substly TC => TC, but it isn't obivious it is TC.
19:57:06 <cpressey> Have CSS be able to style CSS, then point a stylesheet at itself!
19:57:30 <FireFly> Being able to use counters in the ::after(n) would surely be more than enough
19:57:33 <FireFly> And it's quite subtle
19:57:50 <FireFly> Like, having a counter incrementing, and spawning new pseudo-elements
19:58:06 <FireFly> And then having a selector with higher specifity to halt it by overriding the counter-increment attribute :)
19:58:09 <FireFly> And there we go, a loop
20:02:41 -!- MissPiggy has quit (Read error: 104 (Connection reset by peer)).
20:02:52 -!- MissPiggy has joined.
20:04:31 <Sgeo|web> Bye all
20:07:32 -!- Sgeo|web has quit (Ping timeout: 180 seconds).
20:20:10 <oklopol> AnMaster: are you active on all the 500 channels?
20:29:27 <uorygl_> So, I guess compiling C to JavaScript would be a scary proposition. Would compiling C-- to JavaScript be equally daunting?
20:30:03 <FireFly> C to JS
20:30:06 <FireFly> That'd be interesting
20:31:42 <MissPiggy> C = JS
20:31:44 <MissPiggy> problem solved
20:32:33 <FireFly> C programmer trying JS: "wtf, int isn't defined?"
20:32:47 <cpressey> The fun bit would be the pointer arithmetic, I suppose.
20:32:52 <uorygl_> Precisely.
20:33:03 <uorygl_> "Uh, how do I take the XOR of two JavaScript pointers?"
20:33:15 <FireFly> You'd have to simulate a register...
20:33:25 <FireFly> Or something :P
20:33:40 <uorygl_> Yeah. And that's precisely what I don't want to do.
20:33:40 <FireFly> Yeah, sounds like a scary proposition
20:34:24 <uorygl_> Which is why I'm asking about C-- instead.
20:34:28 <Ilari> Javashit has arrays, right?
20:34:39 <FireFly> Yup
20:34:52 <Ilari> Use those to simulate memory space?
20:37:23 <Ilari> And for translating C to JS, you don't have to support pointer XOR.
20:39:06 <Ilari> Pointer values pointing outside array (except to one-past-end) is instant UB.
20:46:07 <cpressey> Now do setjmp() and longjmp().
20:46:35 <Ilari> Oh, those are sure "fun".
20:48:12 -!- MigoMipo has quit (Read error: 104 (Connection reset by peer)).
20:49:37 <Ilari> More fun: Varargs.
20:50:32 <Ilari> And their type-unsafety. Plus va_start looking up starting point by variable name.
20:51:13 <cpressey> I think you're better off implementing a MMIX emulator in JS, then compiling your C code to MMIX.
20:51:31 <cpressey> Replace MMIX with your favourite machine code...
20:51:41 <fizzie> There's jsmips for that.
20:52:00 <fizzie> Gregor's, wasn't it?
20:52:12 <fizzie> Apparently written in uppercase, also.
20:52:26 <cpressey> Oh, and there's a MIPS backend for gcc, too, looks like. There ya go.
20:52:49 <fizzie> "A test environment for JSMIPS is available online at http://codu.org/jsmips/system.html . This is a mostly-operational JSMIPS test environment with many UNIX binaries, including a working version of vi and a (slowly) working version of vim (with a few caveats)."
20:52:52 <cpressey> Just sucked all the fun out of that hell-project :)
20:55:52 -!- muni has joined.
20:56:32 <oklopol> Gregor also composes waltzes.
20:58:43 <cpressey> It's been a long time since I composed a waltz.
20:58:57 -!- GreaseMonkey has joined.
20:59:06 <oklopol> hehe, 23 seconds to compile (lambda a,b : a+a+b+b), if you give it append, cons, car and cdr
20:59:21 <oklopol> (clue)
21:00:29 <cpressey> Clue's pretty cool.
21:01:13 <oklopol> http://www.vjn.fi/pb/p416253316.txt
21:01:27 <oklopol> totally looks like something that should take 23 seconds
21:01:50 <oklopol> i guess the clue way would be to write a function that appends something to itself
21:02:36 <cpressey> So if I give Clue enough example Brainfuck programs, will it produce a working Brainfuck interpreter -- and how long would that take?
21:02:49 <cpressey> (plus the expected output of each, of course)
21:02:53 -!- Slereah has joined.
21:03:07 <oklopol> well actually i think something like brainfuck would be rather simple
21:03:17 <oklopol> i mean fast
21:03:28 <FireFly> That's the thing you talked about yesterday, oklopol?
21:03:30 <oklopol> and err
21:03:46 <oklopol> yes
21:03:50 <FireFly> Hmm
21:03:52 <FireFly> I like it
21:03:59 <oklopol> it's the hot new thing in oklolandia
21:04:31 <MissPiggy> :)
21:04:35 <MissPiggy> I like it
21:04:36 <MissPiggy> too
21:06:38 <oklopol> cpressey: the thing is you would have to give it very specific examples, basically how you program clue is you write a functional program in your head, then write an example of how the recurrence shuold go
21:06:39 <oklopol> *should
21:07:03 <oklopol> i guess i could try implementing ski
21:07:56 <oklopol> ...or maybe some other time, that sounds really painful
21:08:11 <oklopol> really i should make a parser so someone else could see what it can do :P
21:08:21 <oklopol> i mean see as in try, and tell me
21:08:38 <pikhq> oklopol: SKI in C is painful.
21:08:59 <pikhq> Though for some reason the only problem I have now is the parser.
21:09:20 <oklopol> i made ski in thue, stop whining :P
21:09:26 <pikhq> The easy bit.
21:09:55 <cpressey> Python -- never type curly braces again! "self.", on the other hand...
21:10:08 <oklopol> hah
21:10:12 <oklopol> i hate self.
21:10:56 <FireFly> I see nothing wrong with it
21:11:19 <oklopol> you would if you always forgot to write it.
21:11:38 -!- muni has quit.
21:11:41 <FireFly> Well, I usually always write this. for instance-specific stuff, being used to JS
21:11:42 <GreaseMonkey> it's a pain if you've just switched to or from java
21:11:52 <GreaseMonkey> or javascript for that matter
21:11:58 <uorygl_> What's Clue?
21:12:22 <oklopol> just a language
21:12:28 <GreaseMonkey> javac spat out a bunch of errors. why oh why did i just type self. there?
21:12:39 <uorygl_> Also, Thue does a few things more easily than C.
21:12:49 <GreaseMonkey> what made it worse was the fact that it was an in-function variable
21:13:08 <GreaseMonkey> oh yeah, speaking of thue, why do the interpreters poop out?
21:13:08 <oklopol> no spec or complete implementation yet, i've just been talking about it because i'm excited because the compiler/interpreter works apart from the parser.
21:13:08 <uorygl_> Dynamic memory allocation is very natural in Thue; it's quite unnatural in C.
21:13:38 <oklopol> oh well that's true, but i'm not sure i used it, i just had a writer head
21:13:39 <GreaseMonkey> the C interpreter is quite often incorrect and the python interpreter sometimes just stops
21:13:47 <oklopol> (probably did use it a bit)
21:14:07 -!- MigoMipo has joined.
21:14:14 <oklopol> GreaseMonkey: i made my own interp just for the ski so hard to say
21:14:40 <MissPiggy> how about Function Level programming
21:14:41 <MissPiggy> ?
21:14:55 <MissPiggy> it's basically like programming in SK I have no clue why anyone would do that..
21:15:01 <cpressey> Oh not that again.
21:16:10 <cpressey> And I'm not sure why the Thue interpreters have problems; I mean, it's a simple enough language, it shouldn't be hard to get at least one of them correct.
21:16:24 <cpressey> I haven't tried either in a while.
21:16:41 <uorygl_> This kind of makes me want to write a Thue interpreter in Haskell.
21:16:49 <oklopol> mine was in haskell
21:16:57 <oklopol> i think it was my first haskell prog
21:17:07 <uorygl_> But eh. Haskell was not made to run Thue, now, was it.
21:17:29 -!- Slereah_ has quit (Read error: 110 (Connection timed out)).
21:17:35 <uorygl_> Or maybe it's more natural than I'm thinking.
21:18:52 <oklopol> well i always say if a language can't do string substitutions, it's not a haskell
21:19:19 <MissPiggy> Ruby is an acceptable Haskell
21:20:08 <uorygl_> Interesting.
21:20:12 <uorygl_> So is Lazy K a Haskell?
21:20:41 <oklopol> my implications are not reversible
21:21:03 -!- augur has quit (Read error: 104 (Connection reset by peer)).
21:21:19 <oklopol> oh wait lazy k, i guess it's not, by what i said
21:21:26 <oklopol> *i always said
21:21:29 * Gregor sucks the fun out of cpressey's concepts.
21:21:29 -!- augur has joined.
21:21:46 <oklopol> Gregor: way to waltz on his parade
21:21:50 <Gregor> lol
21:22:57 <cpressey> Alas, twasn't even my concept -- I think it was uorygl's idea.
21:23:48 <cpressey> Maybe Thue to Javascript would be more doable?
21:24:05 <cpressey> somehow
21:25:06 <FireFly> Wouldn't that be pretty easy?
21:26:18 <cpressey> A thue interpreter in JS would be easy (or at least, no harder than C, Python, and Haskell, all of which have been complained about now.)
21:26:39 <cpressey> But to compile Thue to JS, without just using an interpreter written in JS...
21:30:26 <olsner> I also made a Thue in haskell
21:31:36 <olsner> and in mod_rewrite :P
21:32:36 -!- immibis has joined.
21:33:30 <olsner> hmm, that other one was rather a compiler (written in sed) that produced mod_rewrite-style rules
21:39:56 <uorygl_> What was my idea?
21:41:49 <cpressey> uorygl_: compile C to Javascript.
21:41:56 * uorygl_ nods.
21:43:56 <olsner> if you find a c-to-lisp and lisp-to-javascript compiler, you'll be done
21:45:30 <uorygl_> Hmm. I have a C-to-Lisp compiler, but not a Lisp-to-Javascript compiler; I do, however, have a Lisp-to-JVM compiler and a JVM-to-Javascript compiler.
21:45:34 <uorygl_> :P
21:46:43 <olsner> :D
21:47:49 <FireFly> Hm
21:47:56 <FireFly> I started on a JS JVM
21:48:06 <FireFly> But it's pretty buggy and stuff
21:48:36 <uorygl_> Oh, and all of those compile through x86. Too bad they're closed source so that I can't eliminate the language loops.
21:49:01 <uorygl_> Curse you, ACME Compiler Collection!
22:01:23 * pikhq is still having issues with his SKI evaluator's eval function.
22:01:39 <pikhq> Though finally my parser works right.
22:04:42 -!- kar8nga has quit (Remote closed the connection).
22:09:50 -!- MizardX- has joined.
22:25:24 -!- MizardX has quit (Connection timed out).
22:25:30 -!- MizardX has joined.
22:27:24 -!- MizardX- has quit (Connection timed out).
22:45:13 -!- MigoMipo has quit (Remote closed the connection).
22:50:02 -!- tombom__ has quit ("Leaving").
22:52:05 -!- FireFly has quit ("Thread.sleep(8*60*60*1000);").
22:52:10 -!- BeholdMyGlory has quit (Read error: 104 (Connection reset by peer)).
22:59:52 -!- oerjan has quit ("Good night").
23:17:35 -!- fizzie has quit ("jumpin' jumpin'").
23:19:21 -!- madbr has joined.
23:19:28 <SimonRC> I do rather like these 2 thumbdrives I have. ...
23:19:52 <SimonRC> they don't have caps, instead on end slides out kinda and turns around to expose the plug bit
23:20:15 <SimonRC> and when putting them away, I tend to take them both out, but one in each hand,
23:20:20 <SimonRC> *put
23:20:35 <SimonRC> then kinda flick them round and click them shut in sync
23:20:46 -!- fizzie has joined.
23:20:50 * uorygl_ ponders a USB thumb drive containing a hidden connector that extends whenever the drive expects to be plugged in.
23:21:12 <uorygl_> Difficult to implement.
23:21:35 <SimonRC> it's the sort of satisfying click that one expects from a remote detonator for blowing up a dam or something
23:21:44 * uorygl_ basks in his own cleverness.
23:22:10 <SimonRC> or maybe in an expensive lighter
23:23:46 <immibis> and when does the drive expect to be plugged in?
23:24:20 <uorygl_> Whenever you show it enticing photos of a USB port, perhaps.
23:25:30 <immibis> and how do you show the drive photos when it's not plugged in? does this drive have a webcam too?
23:25:38 <immibis> and a battery
23:25:53 <uorygl_> I guess.
23:26:08 <uorygl_> Or it has a microphone, and you can read excerpts from the USB standards to it.
23:26:15 <uorygl_> Or it has some tactile sensors.
23:26:28 <immibis> But then it's not just a USB thumb drive. It's a digital camera with a USB plug on it.
23:26:44 <immibis> And a microphone and tactile sensors.
23:26:56 <uorygl_> Well, the camera doesn't have to be useful for any purpose other than identifying USB ports.
23:27:13 <immibis> Then people will complain you can't use the camera.
23:27:18 <immibis> Except for identifying USB ports.
23:28:05 <uorygl_> Tell them that the USB drive was nevertheless designed and manufactured perfectly, and that this will all come in handy to someone at some point in the future.
23:30:39 <pikhq> Allow people to use the camera when it's plugged in.
23:30:44 <pikhq> So that you can identify the USB port.
23:31:12 * SimonRC goes to bed
23:45:34 -!- augur has quit (Connection timed out).
23:58:09 -!- madbr has quit (verne.freenode.net irc.freenode.net).
23:58:09 -!- Pthing has quit (verne.freenode.net irc.freenode.net).
23:58:09 -!- jix has quit (verne.freenode.net irc.freenode.net).
23:58:12 -!- jix has joined.
23:58:39 -!- Pthing has joined.
23:59:18 -!- cpressey has left (?).
2010-01-29
00:02:08 -!- cheater2 has quit (Connection timed out).
00:05:09 -!- mad has joined.
00:05:16 -!- mad has changed nick to madbrn.
00:13:34 <Sgeo> It is so fricken cold outside
00:26:49 -!- MissPiggy has quit.
01:09:49 <coppro> w000000000000000000000000000000000000000000000000000000000000000000000000t!
01:10:47 <Sgeo> coppro
01:10:48 <Sgeo> ?
01:10:53 <coppro> I got accepted!
01:11:23 <Sgeo> Congratulations! [Accepted to what?]
01:11:56 <bsmntbombdood> my anus
01:13:12 <coppro> UWaterloo!
01:16:46 * Sgeo wishes 8-bit Weapon was on Grooveshark
01:16:52 <Sgeo> Well, some songs are, but not all
01:41:15 -!- augur has joined.
02:35:43 <uorygl_> Yay, coppro got accepted to UWaterloo!
02:35:53 <coppro> Yay!
02:36:05 <coppro> just need to decide between Math and CS before the end of May
02:36:20 <Gregor> CS
02:36:27 <Gregor> Math is for losers.
02:36:32 <Gregor> >_>
02:36:37 <Gregor> <_<
02:36:55 <uorygl_> Do you? I've been at my school for nearly a year and I still haven't decided between math and CS.
02:37:09 <pikhq> Both.
02:38:03 <coppro> uorygl_: my understanding is that switching between them should be relatively easy as there's a lot of course overlap (especially if I pick my courses to increase that overlap), but I have to pick one entrance program
02:41:33 <uorygl_> Aww, entrance programs.
02:48:06 <Gregor> http://codu.org/music/vg/zee4.ogg The first piece of VG music I've written that may actually fit somewhere into the game I want to fit it in to.
02:51:04 <uorygl_> So, I wonder:
02:51:17 <uorygl_> This channel is publicly logged. Does that pretty much mean that I can use the logs as I see fit?
02:52:03 <Gregor> Not sure who "owns" logs.
02:52:25 <Gregor> At the very least, even if there is some legal restriction on what you could do with them, it would be nigh-on impossible to enforce.
02:53:50 <puzzlet> in the meantime, although i'm not sure this would be an appropriate channel to ask, i'm suffering strange itch in freenode
02:54:00 <puzzlet> it goes like:
02:54:01 <puzzlet> 06:33 [Freenode] -!- vtilmicegzko: No such nick/channel
02:54:01 <puzzlet> 10:46 [Freenode] -!- nysptgqss: No such nick/channel
02:54:59 <uorygl_> Ah, yes, I'm getting those, too.
02:54:59 <Gregor> That's ... weird.
02:55:05 <Gregor> I'm ... not?
02:55:08 <uorygl_> I may have heard this before.
02:55:17 <uorygl_> s//of/
02:55:31 <Gregor> <uorygl_> ofI may have heard this before.
02:55:54 <uorygl_> Precisely.
02:56:14 <uorygl_> I think it was called "whois spam", and is some sort of bug in freenode's software.
03:03:22 <puzzlet> and freenode is planning an ircd migration tommorrow
03:04:18 <puzzlet> maybe i'll wait and see if it's been fixed
03:05:18 <pikhq> http://sprunge.us/WLNJ
03:05:30 <pikhq> My C, it is slightly crazy.
03:05:54 <pikhq> (very much work in progress)
03:06:32 <Gregor> pikhq: *brain explodes*
03:06:59 <pikhq> Gregor: Hahahah.
03:07:06 <pikhq> It's just functional lazy C.
03:07:23 <pikhq> C: the most verbose functional language.
03:07:47 <Sgeo> Pax Deorum is a pretty awesome song
03:08:01 <uorygl_> Lux Aeterna is also a pretty neat song.
03:08:16 <pikhq> I may, once I'm done making that into a Lazy K interpreter, go back and make it mostly standard C...
03:08:24 <uorygl_> What does your song title mean? Godly Peace?
03:08:29 <Gregor> As nice as Lux Aeterna is, it's ooooooooooooo overused.
03:08:33 <Gregor> *sooooooooooooo
03:08:45 <Sgeo> uorygl_, don't know
03:08:55 <Sgeo> http://listen.grooveshark.com/#/song/Pax+Deorum/12536556
03:09:38 <uorygl_> Hmm, "Peace of the Gods". I didn't know that the genitive plural could be used like that.
03:10:03 <uorygl_> Gregor: it's a good thing, then, that I never hear it except when I choose to.
03:18:18 -!- coppro has quit (Remote closed the connection).
03:23:08 -!- coppro has joined.
03:42:40 -!- jpc has joined.
05:05:37 -!- Pthing has quit (Remote closed the connection).
05:13:38 -!- MizardX has quit (Read error: 110 (Connection timed out)).
05:44:42 -!- AnMaster has quit (Read error: 60 (Operation timed out)).
05:49:30 -!- AnMaster has joined.
07:01:25 -!- oerjan has joined.
07:08:01 -!- tombom has joined.
07:15:46 -!- tombom_ has joined.
07:20:10 -!- FireFly has joined.
07:32:56 -!- jpc has quit ("I will do anything (almost) for a new router.").
07:34:17 -!- tombom has quit (Read error: 110 (Connection timed out)).
07:40:36 -!- oerjan has quit ("leaving").
07:44:19 -!- immibis has quit ("#dsdev on irc.blitzed.org exists").
07:50:49 -!- tombom_ has quit ("Leaving").
07:55:35 -!- cheater2 has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:03:08 -!- immibis has joined.
08:17:41 -!- madbrn has quit ("Radiateur").
08:50:50 -!- immibis has quit (Read error: 110 (Connection timed out)).
09:10:43 -!- scarf has joined.
09:15:33 -!- GreaseMonkey has quit ("HydraIRC -> http://www.hydrairc.org <- Nobody cares enough to cybersquat it").
09:31:19 -!- Milchm has joined.
09:31:37 <Milchm> hello all
09:37:08 -!- AnMaster has quit (Excess Flood).
09:37:29 -!- AnMaster has joined.
09:37:40 <Milchm> I'm not shure if anybody can read what I'm writting
09:44:14 <scarf> hi
09:44:16 <scarf> Milchm: I can see it
09:44:41 <Milchm> thanks scarf
09:44:57 <scarf> what brings you here?
09:45:14 <scarf> it's likely to be relatively empty this early, many of the brits will be at school, and the americans will be asleep
09:45:30 <scarf> and likewise, scandinavians have a similar problem to the british, although most of them are out of school nowadays
09:45:37 <Milchm> its crowded enough scarf
09:45:42 <scarf> it's mostly idlers
09:46:13 <scarf> it's usual for people to leave their computer in a channel even when they aren't there themselves, so they can see what was said when they get back
09:46:27 <Milchm> Well, scarf, I'm searching for more information bout http://en.wikipedia.org/wiki/Dream_yoga and tummo
09:46:45 <scarf> hmm, you may be in the wrong channel / on the wrong server
09:46:53 <scarf> Freenode's a programming server
09:46:58 <scarf> so this channel's about esoteric programming languages
09:47:13 <scarf> basically, languages designed without practicality as one of their goals
09:47:15 <Milchm> ooops, I'v never been *that* wrong ;-)
09:47:29 <scarf> don't worry, it's an easy mistake
09:47:37 <Milchm> my shell is esoteric enough for me ;-)
09:47:54 <scarf> unfortunately we don't know where to send people instead; if you find out, let us know and we'll be able to help other people in your position in future
09:48:59 <Milchm> I'll try UNDERNET
09:49:00 <Milchm> #buddhism now, but this won't help you in most cases
09:49:25 <scarf> ah, ok
09:49:34 <Milchm> bye scarf
09:49:39 <scarf> bye
09:49:41 -!- Milchm has left (?).
09:50:08 <fizzie> Also some of the people on the channel are sneakily lurking.
09:51:19 <scarf> heh, you were here all along?
09:56:44 <fizzie> Yes. And yet you never knew!
10:13:00 <FireFly> Ah
10:13:17 <FireFly> I indeed was in school
11:57:52 -!- scarf has changed nick to scarf|away.
11:58:02 -!- scarf|away has changed nick to scarf.
12:21:41 -!- MigoMipo has joined.
12:58:42 -!- MissPiggy has joined.
13:12:23 -!- MizardX has joined.
13:46:26 -!- puzzlet has quit ("leaving").
13:51:13 -!- puzzlet has joined.
14:09:42 -!- scarf has changed nick to scarf|away.
14:11:13 -!- scarf|away has changed nick to scarf.
14:45:50 -!- BeholdMyGlory has joined.
14:52:22 -!- MigoMipo has quit (Remote closed the connection).
15:03:52 -!- scarf has changed nick to scarf|away.
15:23:14 -!- cpressey has joined.
15:28:39 -!- AnMaster has quit (Read error: 54 (Connection reset by peer)).
15:32:40 -!- AnMaster has joined.
15:36:20 -!- Shakeal has joined.
15:52:48 -!- scarf|away has changed nick to scarf.
15:53:36 <fizzie> AnMaster: Do you happen to know if there is a no-cost telephone number lookup service for Swedish numbers? (I am aware of one Finnish place that gives address information -- name data costs a fraction of an euro, but the address is sometimes enough -- but of course that's Finnish-only.)
15:54:30 <fizzie> (And wasn't your country code +46?)
15:58:50 <AnMaster> fizzie, try eniro.se
15:58:54 <AnMaster> also debugging X crashes
15:59:02 <AnMaster> atm I'm testing older nvidia driver
15:59:04 <AnMaster> to see if that helps
15:59:29 <AnMaster> since it only crashes after a moderatly long idle period (independent of DPMS it seems!)...
15:59:35 <AnMaster> it is annoying to debug this
15:59:53 <AnMaster> fizzie, also maybe hitta.se
15:59:59 <AnMaster> or is that map only(?)
16:00:09 <AnMaster> anyway eniro.se is basically telefonkatalogen
16:00:34 <AnMaster> anyway leaving desktop for a while, going to make food, will check afterwards if it locked up or not
16:01:00 <Ilari> AnMaster: Screensaver?
16:01:02 <AnMaster> Ilari, none
16:01:29 <AnMaster> Ilari, also I had to reboot to fix it last time. It was so bad that the nvidia card changed to "unknown device" in lspci
16:01:41 <AnMaster> and dmesg contained lots of those infamous nvidia Xid messages
16:02:00 <AnMaster> Ilari, recent change: replaced old monitor with a new larger one
16:02:03 <Ilari> AnMaster: How did you reboot? Alt+SysRq+{S,U,B}?
16:02:20 <AnMaster> Ilari, yes, the times when it worked
16:02:23 <AnMaster> didn't work every time
16:02:39 <AnMaster> Ilari, and sometimes it was enough to ssh in and kill X server, then type reboot
16:03:04 <Ilari> AnMaster: You ever tested what happens if you ssh in, shut down X and then try to restart it?
16:03:06 <AnMaster> Ilari, one time I got a blinking led situation (kernel oops)
16:03:22 <AnMaster> Ilari, well that time was when it showed up as unknown pci device after
16:03:27 <AnMaster> so it refuses to start X
16:03:37 <AnMaster> also the display was corrupted (but still readable)
16:03:53 <AnMaster> it was like the framebuffer was stretched so every other pixel was used or so
16:04:12 -!- scarf has changed nick to scarf|away.
16:04:13 <AnMaster> bbl now
16:04:21 <Ilari> Heh... Sometimes X keyboard driver locks up here (have to do Alt+SysRq+R, Alt-F2, Alt-F7).
16:04:46 <fizzie> Some site called vemringde.se seems to implicate it's some phone marketing place... didn't know those call to other countries.
16:13:32 -!- scarf|away has changed nick to scarf.
16:20:03 <cpressey> scarf: You're right, Burro doesn't form a proper group. I think the way to fix it is to have (/) act like {\} when there is undo information available. Then (/) is its own inverse, and {\} can be removed. Whether it can still be TC after that, though, I don't know...
16:20:31 <scarf> cpressey: neither do I, but it isn't obviously sub-TC, and that's a good sign
16:41:52 <AnMaster> Ilari, hasn't crashed yet
16:49:49 <MissPiggy> guys
16:49:54 <MissPiggy> I think I might be turing complete :(
16:49:59 <MissPiggy> what should I do? How can I tell my parents
16:50:06 <scarf> MissPiggy: do you have infinite memory?
16:50:10 <scarf> if not, there's nothing to worry about
16:50:21 <MissPiggy> I don't have infinite memory but I can write things down
16:50:41 <scarf> there's a limit to how much you can write down before you die
16:50:48 <MissPiggy> *PHEW*
16:51:19 <AnMaster> scarf, MissPiggy: what if science find a way to extend the life before MissPiggy dies?
16:51:34 <AnMaster> oh wait, still the heat death of the universe
16:51:37 <scarf> AnMaster: then, that means that MissPiggy isn't turing-complete /yet/
16:51:52 <AnMaster> true
16:59:02 <pikhq> We just need to make MissPiggy be immortal in an infinite universe.
17:03:39 -!- oerjan has joined.
17:04:11 -!- tombom has joined.
17:20:27 -!- kar8nga has joined.
17:28:26 -!- Pthing has joined.
17:32:26 <pikhq> Apparently lazy church numerals are confusing.
17:33:41 -!- MissPiggy has quit (Client Quit).
17:37:56 <oerjan> like, even when applying them, they might or might not be fully evaluated, dependent on representation?
17:38:15 <pikhq> Yes.
17:39:07 * pikhq is just going to write his fromChurch function in terms of the zero predicate.
17:39:15 <pikhq> And the successor function.
17:39:31 <pikhq> PITA, but less of a PITA than figuring out where in the world the thunks are going.
17:39:58 <pikhq> Erm. Predecessor.
17:40:02 * pikhq lazys up the C church predecessor function.
17:40:17 <oerjan> if you apply it to a function that is always strict in its arguments, then you are ensured the church numeral is evaluated fully, i think
17:40:57 <pikhq> Oh, okay then.
17:41:02 <pikhq> That makes sense.
17:44:11 <pikhq> Not the behavior I'm seeing.
17:44:17 <pikhq> Laziness in C is hard.
17:48:14 <pikhq> I'm getting the distinct impression something here is *too* lazy.
17:49:10 <oerjan> oh, you need to apply it to a strict function and another argument, of course.
17:49:28 <pikhq> dethunk(callerT(toChurch(2), 2, tmp, I));
17:49:40 <pikhq> Where tmp is strict in its argument.
17:51:57 <oerjan> mhm
17:52:22 -!- MissPiggy has joined.
17:52:43 <oerjan> schrödinger's pig
17:53:26 <MissPiggy> im a catastrophic failure
17:54:20 <oerjan> so how many did your experiment kill?
17:54:44 <oerjan> or cause to never have been born, if it involved time travel
17:56:12 -!- sebbu2 has joined.
17:56:40 <oerjan> if it's too hard to count, an approximate number of planets/galaxies/universes is also acceptable
18:01:03 <cpressey> The precise count is only available as an unevaluated Church numeral, sorry.
18:04:30 <AnMaster> yay located a service manual for my old monitor
18:04:34 <AnMaster> this should be interesting
18:05:47 <pikhq> I'm definitely being too lazy in something.
18:05:55 <pikhq> Probably the successor function.
18:06:07 <AnMaster> pikhq, get to work then ;P
18:06:32 <pikhq> Too lazy. :P
18:07:02 <pikhq> It's amazing how hard it is to write "λn f x → f (n f x)" in C.
18:07:08 <oerjan> too lazy, so no successing
18:07:21 <pikhq> I've got half a mind to just convert that to SK...
18:07:29 <pikhq> Since I know that my S and K work right.
18:07:29 <AnMaster> pikhq, also try haskell, I heard they liked lazyness
18:08:01 <AnMaster> I also heard that mathematicians are lazy. It explains a lot about a) mathematical notation b) haskell
18:09:39 -!- bsmntbombdood has quit (Read error: 60 (Operation timed out)).
18:11:16 -!- augur has quit (Read error: 110 (Connection timed out)).
18:11:41 <cpressey> Proof of that last statement is left as an exercise for the reader.
18:12:34 <oklopol> http://catseye.tc/projects/burro/doc/website_burro.html <<< what if we have {} inside ()
18:13:03 <oklopol> "{: Make the most recently added child of the current node the new current node"
18:13:09 <cpressey> oklopol: {} needs to go away :)
18:13:09 -!- bsmntbombdood has joined.
18:13:14 -!- sebbu has quit (Connection timed out).
18:13:14 <oklopol> oh?
18:13:30 <cpressey> as scarf pointed out, it's not a group, because {} doesn't have an inverse
18:14:03 -!- Shakeal has quit (Client Quit).
18:14:10 <oklopol> it's basically just the natural inverse of (), it's just not thought through
18:14:15 <oklopol> you need to have stacks that go two ways
18:14:49 <cpressey> oklopol: I was thinking of just making () its own inverse (i.e. behave like {} if there is stuff on the stack)
18:14:50 <oklopol> which really is obvious, i guess the author just got confused, can't imagine why
18:15:02 <oklopol> ah
18:15:06 <oklopol> would that work?
18:15:24 <cpressey> Yeah, I can't imagine why I would ever get confused, either :P
18:15:25 <oklopol> you could just add a nop () after every ()
18:15:39 <cpressey> I have no idea if it would work yet
18:15:50 <oklopol> basically every second () is negative
18:16:52 <oklopol> anyway what my sarcasm was trying to convey is i'm rather confused about all this, not sure this is something i can revolutionize instantly.
18:16:54 <cpressey> Yes, good point about nop ()'s.
18:16:56 <scarf> if (/) inverses (/), you no longer have a stack, but a one-element buffer
18:17:01 <oklopol> yeah
18:17:07 <scarf> one-bit, in fact
18:17:10 <oklopol> that was the idea, except would that work for nesting
18:17:11 <cpressey> Ugh.
18:17:22 <AnMaster> interesting flow chart this... it has "YES" and "NG"...
18:17:28 <AnMaster> consistently
18:17:53 <oklopol> maybe it was scanned and automatically converted to text
18:18:12 <oklopol> the parts that looked like letters, that is; sounds pretty probable
18:18:14 <AnMaster> oklopol, maybe, but then someone added in the arrows for the flowchart again?
18:18:23 <AnMaster> and such
18:18:57 <oklopol> nono, they have a pic, and they put it through a program that searches for stuff that looks like letters, and changes everything to one given font.
18:20:19 <AnMaster> oklopol, also I doubt they would do that for a service manual. After all asking someone to check the third pin of U105 after properly discharging C54 (for safety) would be very different from asking someone to do the same but discharge 59 (for example)
18:21:18 <AnMaster> oklopol, I doubt they would want dead service technicians (this is troubleshooting the high voltage part of a monitor that is used to drive the backlight)
18:21:24 <cpressey> It sounds like it could be troubleshooting-talk for "No Good" then
18:21:35 <AnMaster> cpressey, oh maybe
18:21:51 -!- scarf has quit (Remote closed the connection).
18:22:18 <AnMaster> anyway I seem to lack a multimeter (as expected) so there isn't much I can do to track it down
18:22:25 <oklopol> you can't know whether two programs do that same thing, so clearly it's *impossible* to make all this work
18:22:32 <oklopol> you can't know whether the thing you have should do nothing
18:22:45 <oklopol> oh wait
18:22:47 <AnMaster> all I know is that the display renders but backlight is off, and I see no obvious faults (such as burned out components or broken cables when I look
18:23:03 -!- MissPiggy has quit.
18:23:08 <oklopol> that's crappy logic, it's enough for the problem to be in RE for it to be implementable here
18:23:09 <oklopol> i think
18:23:18 <AnMaster> okay this seems funny
18:23:41 <AnMaster> cpressey: White screen -> LVDS Cable Reinsert -(OK)-> Workmanship
18:25:28 <cpressey> Yes, that seems funny.
18:25:47 <AnMaster> great the schematic is really low res
18:25:55 <AnMaster> you can't read the labels
18:26:15 <AnMaster> you can barley see that something looks like a resistor-ish line
18:27:33 <AnMaster> ah this part is more readable, and it looks like it *might* be relaced to the CCFL
18:27:48 <AnMaster> oh wait no, just the built in speakers XDS
18:27:50 <AnMaster> XD*
18:28:39 <AnMaster> cpressey, also strange thing:
18:28:50 <AnMaster> Title: Someone, Document Number: DCINPUT
18:28:54 <AnMaster> from the scanned schematics
18:28:54 -!- muni has joined.
18:29:00 <AnMaster> that was in one corner of it
18:30:16 <cpressey> oklopol: There could still be a stack, but it could be manipulated with explicit commands, maybe? Like "v" push bit down, "^" pull bit up.
18:30:41 <cpressey> "Title: Someone", huh.
18:30:58 <AnMaster> cpressey, also DCINPUT was more apt as a title
18:31:22 <AnMaster> summary: be sceptical of Acer monitor service manuals
18:31:29 <AnMaster> since the exploded diagram is wrong too
18:31:40 <cpressey> Indeed.
18:31:43 <AnMaster> well, partly right
18:32:00 <AnMaster> it could be related to DVI vs VGA versions
18:32:34 <AnMaster> it says it is DVI version, and for the VGA version it says (in red, without quotes): "(We will update later)"
18:32:42 <AnMaster> and I have the VGA version
18:32:49 -!- augur has joined.
18:32:52 <AnMaster> there is no actual exploded diagram for the VGA one
18:32:59 <cpressey> Useful thing in a service manual, that.
18:33:04 <AnMaster> cpressey, yeah
18:33:31 <muni> Hello, is it that tricky to read two numbers separated by space in Whitespace language? Because reading number, then character (space) and then number again doesn't work as I wish.
18:33:35 <AnMaster> also I'm unable to find the spec of the voltage for the CCFLs
18:33:52 <cpressey> bbl lunch
18:35:55 <AnMaster> muni, never used whitespace. Don't really know
18:36:48 <AnMaster> cpressey, for when you get back: there are some strange thing going on in the safety precautions too. I don't know where Acer is based, it could possibly be bad translation.
18:36:59 <muni> AnMaster: That's a shame.
18:37:07 <AnMaster> muni, befunge is my speciality
18:37:33 <pikhq> Successor in SKI is ugly.
18:37:34 <pikhq> (S(KS)K)(S((S(KS)K)(S(KS)K)I))((S(S(K(S(KS)K))S)(KK))((S(KS)K)(S(S(K(S(KS)K))S)(KK))((S(KS)K)((S(KS)K)(S(KS)K))((S(S(K(S(KS)K))S)(KK))((S(KS)K)(S(KS)K)I)I)))I)
18:37:40 <AnMaster> yeargh
18:37:54 <pikhq> (note: may be more efficient ways. I did not compile that by hand.)
18:38:46 <bsmntbombdood> i love ski
18:39:35 <pikhq> Anyways. Now I just make my churchSucc thunk compile that, and voila.
18:41:03 <pikhq> And the SKI compiler fails.
18:41:08 <oklopol> bsmntbombdood: we can go skiing when you come to finland
18:41:16 <bsmntbombdood> ooh ok
18:41:43 <oklopol> i'm in the 1% of finns who likes it
18:41:51 <oklopol> well young ppl anyway
18:42:06 <oklopol> also maybe like
18:42:07 <AnMaster> oklopol, yeah it is norway where it is national sport isn't it?
18:42:21 <AnMaster> well apart from oerjan, iirc he hates it
18:42:26 <pikhq> global_thunk(static, churchSucc, NULL, {return dethunk(eval(genList("(S(KS)K)(S((S(KS)K)(S(KS)K)I))((S(S(K(S(KS)K))S)(KK))((S(KS)K)(S(S(K(S(KS)K))S)(KK))((S(KS)K)((S(KS)K)(S(KS)K))((S(S(K(S(KS)K))S)(KK))((S(KS)K)(S(KS)K)I)I)))I)")));});
18:42:31 <pikhq> If only it worked.
18:43:51 <oklopol> i have no idea what's the national sport of anything
18:44:05 <muni> AnMaster: OK, I get it, Whitespace is silly :)
18:44:28 <AnMaster> muni, I didn't say that
18:44:33 <AnMaster> I don't think it is
18:44:39 <AnMaster> in fact it is a great idea
18:45:28 <muni> AnMaster: Why?
18:45:36 <AnMaster> why not
18:46:25 <AnMaster> muni, certainly it would be much harder in INTERCAL I assume
18:46:35 <AnMaster> to do basically anything
18:47:51 -!- MigoMipo has joined.
18:49:17 <oklopol> muni: do you write whitespace in actual whitespace?
18:49:37 <Sgeo> The esolangers lost their Robozzle addiction?
18:49:39 <muni> oklopol: What do you mean?
18:49:53 <oklopol> personally i would cheat, there's not even any sort of verbosity problem if you compile some saner syntax into it
18:50:05 <oerjan> lessee, succ = \n f x -> f (n f x)
18:50:12 -!- soupdragon has joined.
18:50:13 <oklopol> muni: do you write in tabs and spaces and shit, or do you type <space> <tab> ... or something, and compile
18:50:44 <pikhq> oerjan: That's hard in C.
18:51:08 <oklopol> Sgeo: how much have you solveD?
18:51:10 <oklopol> *solved
18:51:17 <pikhq> And now I'm suspecting something's screwy with "eval"...
18:51:19 <muni> oklopol: Oh, well, I write in tabs and spaces and shit. But I have them marked, it's not like I can't see them at all.
18:51:22 <Sgeo> >.>
18:52:03 <oerjan> = \n f -> S (K f) (n f) = \n -> S (S (K S) K) n = S (S (K S) K)
18:52:38 <Sgeo> Within the last 24h, 0. Total, 81
18:52:43 <oklopol> no all in all
18:52:45 <bsmntbombdood> haha
18:52:49 <bsmntbombdood> oerjan wins
18:55:09 <oklopol> oerjan: how fast do you do that?
18:55:42 <oerjan> a minute or so?
18:56:04 <oklopol> okay?
18:56:10 <pikhq> oerjan: That's a much shorter one.
18:56:20 <pikhq> And more likely to not be screwed up. :P
18:56:30 <bsmntbombdood> i forgot all those rules
18:56:33 <pikhq> I'll give it a shot in a bit.
18:56:35 <oklopol> just wondering how fast you do that, i'm damn slow at it
18:58:51 <oklopol> oh lol actually i can do that quite fast
18:59:03 <oerjan> pikhq: you get a lot of verbosity if you don't use the \x -> f x = f rule, ending up with S (K f) I instead
18:59:24 <pikhq> oerjan: Mmm.
18:59:52 <oerjan> also, it was lucky that the n ended up only at the end, at the end
18:59:59 * pikhq is defining a "lazy lambda" macro ATM... Should be less painful to write.
19:04:57 <pikhq> Well, that segfaults.
19:05:02 <pikhq> Definitely something buggy.
19:05:11 <oerjan> oklopol: it's actually easier to do in unlambda notation, because then it's nearly character substitution
19:06:39 <oerjan> ` -> ``s, + functions
19:06:48 <HackEgo> No output.
19:06:55 <oerjan> HackEgo: you don't say
19:07:32 <oklopol> is \n -> S (S (K (S n)) K) n = S (S (S (K S) (S (K K) S)) (K K)) I correct? i'm sure you can check with ease
19:07:47 <oklopol> hmm
19:08:01 <bsmntbombdood> evaluate it yourself
19:08:02 <oerjan> don't think so
19:08:10 <oerjan> should start with S (K S) ...
19:08:11 <oklopol> bsmntbombdood: faster this way
19:08:27 <bsmntbombdood> ah, an irc channel with an oerjan oracle
19:08:31 <oklopol> :P
19:09:54 <oerjan> S (S (K S) K) n f x = S (K S) K f (n f) x = K S f (K f) (n f) x = S (K f) (n f) x = f (n f x), just checking mine above
19:10:24 <Gregor> Damn, I had to lock down hackiki.org to require login to edit :(
19:11:14 <oklopol> okay i get \n -> (S (K (S n)) K) n
19:11:51 <oklopol> i guess i got confused by all the S's
19:11:57 <oklopol> there were too many of them
19:12:16 <oerjan> oklopol: that's the part that gets easier with unlambda notation
19:12:50 <oklopol> i see
19:15:42 * pikhq looks at the call graph
19:17:47 <pikhq> So far all I can tell is that xgc_malloc gets called a lot.
19:18:48 <AnMaster> anyone knows if VGA and DVI are guaranteed to be hot pluggable?
19:18:58 <AnMaster> (and hot *un*pluggable)
19:19:28 -!- impomatic has joined.
19:19:32 <impomatic> Hi :-)
19:19:47 <oerjan> isn't VGA damn old
19:19:48 <impomatic> There's a CROBOTS tournament taking place soon, http://crobots.deepthought.it/home.php?link=91
19:19:55 <AnMaster> oerjan, well yes but still
19:21:23 <oerjan> before USB i hadn't really _heard_ about hot pluggability. admittedly i'm about the platonical ideal opposite of a hardware guy.
19:22:19 <oerjan> cromulent crobots
19:25:28 <fizzie> AnMaster: This is of course not conclusive proof, but Wikipedia's infobox on DVI says "Hot pluggable: Yes"; the infobox for the VGA connector does not list either.
19:26:00 <cpressey> No, VGA is not guaranteed to be hot-pluggable.
19:26:43 <fizzie> VGA is quite often plugged hot, though. Switching monitor cables around is more frequent than many other types of cables.
19:28:10 <cpressey> Oh, you're probably safe doing it, but there was no design constraint for it.
19:29:11 <cpressey> I remember trying to explain this concept to someone on the freebsd-questions list once. They had a hard time believing that RS-232 (I think?) wasn't guaranteed to be hot-pluggable, because THEY never had a problem with it.
19:30:10 <cpressey> Hardware questions on freebsd-questions can be quite entertaining.
19:34:38 -!- impomatic has quit ("ChatZilla 0.9.86 [Firefox 3.5.7/20091221164558]").
19:36:57 <cpressey> http://python.pastebin.com/m541353e
19:37:26 <cpressey> Because it's every day that I have a need to retain the last value that the loop variable took on in the loop.
19:38:20 <cpressey> Sorry, I've just been doing a lot of Python lately. I like it, overall, but mainly because I know that the number of things that irritate me would probably only be greater in most other languages.
19:38:20 <bsmntbombdood> uuh
19:38:26 <bsmntbombdood> how is that not the expected behavior?
19:38:34 <bsmntbombdood> why would loops have their own scope?
19:39:04 <cpressey> Why shouldn't loops have their own scope? When is it useful to know what the value of the variable was on the last iteration, after the loop is over?
19:39:47 <cpressey> If "expected behaviour" means "behaviour we've come to expect from using crappy languages for decades", yes, it's the expected behaviour :)
19:41:55 <bsmntbombdood> it's bad form anyway
19:42:07 <bsmntbombdood> your loop variable shouldn't shadow another
19:44:55 <cpressey> I suppose I can't expect the language to treat shadowing a variable as a syntax error either, though. It's my fault for not correctly cataloging the 'n' variable names used in this scope so far, in my head. :)
19:53:56 * oerjan vaguely recalls perl allows you to decide whether loop variables get their own scope, by adding "my"
19:56:38 * oerjan confirms this
19:57:43 <cpressey> Yeah, it does. Also C lets you open a new scope in an anonymous block, at least.
19:59:09 <Deewiant> C99 does; older Cs don't let you declare variables except at the top of a function.
19:59:42 <cpressey> Hm, I thought it was ANSI...
19:59:49 <cpressey> I mean, C89
20:00:19 <Deewiant> Declarations after statements are errors in C89
20:00:43 <cpressey> Deewiant: but what about in an inner block?
20:00:47 <coppro> C89 allows declarations in blocks
20:00:52 <coppro> not just functions
20:00:53 <cpressey> I thought so
20:01:07 <Deewiant> Darn, I thought {} was considered a statement
20:01:17 <cpressey> void x(void) { int x; x = 15; { int y; y = 12 } } should be ok
20:01:48 <Deewiant> Oh, hmm, that I didn't expect at all
20:01:49 <cpressey> er, with the possible exception of the function name being shadowed -- that was unintentional
20:01:54 <Deewiant> heh
20:13:47 <cpressey> Deewiant, you appear to be deewiating from the spec. :)
20:14:35 <oerjan> you just had to pressey the issue, right
20:14:40 <bsmntbombdood> {(...)} is a statement
20:14:50 <bsmntbombdood> or ({...}), i can't remember
20:16:11 * oerjan vaguely recalls reading ({...}) being a gcc extension?
20:16:12 <cpressey> ... and you're oerjan me to make another pun.
20:16:24 <bsmntbombdood> i thought it was c99
20:16:52 <oerjan> well i probably read it on this channel, so...
20:18:19 <oerjan> or rather, ({...}) was an expression containing a statement
20:20:42 <fizzie> { ... } is also a statement; it's called "compound statement". But you can still stick declarations there, because it's: compound-statement: { declaration-list<opt> statement-list<opt> }
20:23:06 <fizzie> I don't think C99 has the ({ ... }) trick, though; at least the GCC docs about it don't mention C99, which is what they often do with many other things that are GCC extensions in C89/C90 and also legal C99.
20:35:18 <fizzie> Asked fungot to spew out some song lyrics; it replied: "confronted shame what they're sayin / it's more than before / dis-leur que je pars. / mais loin, l-bas, / quelque part, kept mention / im prayin fraid death pre-hook been / patti crips establish colder; functions hunt so in life / oh a smooth savage chronicles aint true"
20:35:19 <fungot> fizzie: good god! give it up.
20:35:54 <soupdragon> fungot style
20:35:55 <coppro> ({ }) is not legal C99
20:35:55 <fungot> soupdragon: ive never asked you before mentioning that you were not " here"
20:36:26 <fizzie> (The particular style that generated that stuff is not in the bot yet. It's also not very good.)
20:36:34 <AnMaster> <cpressey> Why shouldn't loops have their own scope? When is it useful to know what the value of the variable was on the last iteration, after the loop is over? <-- happened to me, so just declare the variable outside the loop
20:37:00 <AnMaster> cpressey, C does the right thing for scope in imperative languages IMO
20:37:10 <FireFly> Oh, a fungot
20:37:12 <fungot> FireFly: fair automaton.) a variety of colorful fish and wildlife hella cool
20:37:33 <fizzie> Fungot, a fair automaton; also a variety of colorful fish and wildlife.
20:37:57 <fizzie> fungot: That was a nice self-description you had there.
20:37:58 <fungot> fizzie: as in you will save some consing yet?
20:39:14 <AnMaster> <fizzie> I don't think C99 has the ({ ... }) trick, though; at least the GCC docs about it don't mention C99, which is what they often do with many other things that are GCC extensions in C89/C90 and also legal C99. <-- indeed ({...}) is a GNU extension and is not allowed in a conforming C program
20:39:21 <AnMaster> (or was it "strictly conforming"?)
20:39:50 <AnMaster> ^style
20:39:50 <fungot> Available: agora alice c64 ct darwin discworld europarl ff7 fisher ic irc* jargon lovecraft nethack pa speeches ss wp youtube
20:40:02 <AnMaster> soupdragon, learn the commands ;P
20:40:55 <Sgeo> soupdragon disliked being called MissPiggy?
20:41:18 <soupdragon> just the default name on this system is different...
20:41:34 <Sgeo> ah
20:45:45 <Sgeo> What spamming attacks?
20:47:39 <fizzie> Sgeo: http://blog.freenode.net/2010/01/javascript-spam/
20:51:18 -!- MigoMipo has quit ("When two people dream the same dream, it ceases to be an illusion. KVIrc 3.4.2 Shiny http://www.kvirc.net").
20:54:43 -!- Pthing has quit (Read error: 110 (Connection timed out)).
21:00:47 <FireFly> ^style ff7
21:00:48 <fungot> Selected style: ff7 (Full script of the game Final Fantasy VII)
21:01:13 <FireFly> fungot, give me a line of wisdom
21:01:14 <fungot> FireFly: now we've saved aerith, you have the lunar harp you're after. we almost have the promised land, so shu'up jackass!
21:04:16 <fizzie> fungot: That sounds more like a random set of quotes mashed together than genuine wisdom.
21:04:17 <fungot> fizzie: now then... this ship's gonna save the planet, merge with one another and roam the planet is hurt, are you saying?
21:04:36 <fizzie> fungot: No, I most definitely am not saying that.
21:04:36 <fungot> fizzie: we're talking about, professor... someone's in here... you were trying to say...
21:05:09 <cpressey> ^style lovecraft
21:05:10 <fungot> Selected style: lovecraft (H. P. Lovecraft's writings)
21:05:18 -!- coppro has quit (Read error: 104 (Connection reset by peer)).
21:05:21 <fizzie> I don't think that one ever worked very well.
21:05:21 <cpressey> fungot: I think that's more appropriate for this venue, don't you?
21:05:22 <fungot> cpressey: subconscious alarm in his fnord to humour the fellow. if i could but learn to discover and read them? i did not have to ask.
21:05:53 <cpressey> meh.
21:06:14 -!- soupdragon has quit ("* I'm too lame to read BitchX.doc *").
21:06:44 -!- whtspc_ has joined.
21:06:49 <oerjan> fungot: feeling particularly noneuclidean today?
21:06:50 <fungot> oerjan: what i did see was not spectacular, not grotesque or terrifying, yet it was none of nahum's family at all who made the family name as celebrated in ethnology as in exploration. in 1815 sir robert married a daughter of the seventh fnord fnord and fnord disordered sound; abysses whose material and fnord properties, and whose frightened appeals for government inquiry and action brought on the fnord arkham innsmouth newbury
21:07:10 <fizzie> Heh, I had just in the process of writing some sort of non-Euclidean reference, too.
21:07:15 <oerjan> i say!
21:08:27 <cpressey> ^style bunnicula
21:08:27 <fungot> Not found.
21:08:33 <oerjan> fungot: hast du hastur?
21:08:34 <fungot> oerjan: that night fnord me, i shut my eyes and beheld myself upon the platform of that lighthouse whence i had sailed so many aeons ago, before even the gods had danced upon its pointed peak, that mountain had spoken with fire and roared with the voices of ulthar's many cats, but that the priests in the masked and hooded columns are not human beings.
21:08:47 <cpressey> too much fnording.
21:09:05 <cpressey> ^style c64
21:09:05 <fungot> Selected style: c64 (C64 programming material)
21:09:08 <oerjan> too fnord, or not to fnord, that is the fnord
21:09:24 <cpressey> fungot: So, lay it on us.
21:09:24 <fungot> cpressey: to pass in front of, or in conjunction with the program above to allow an easier way to create a
21:15:08 -!- whtspc__ has joined.
21:15:23 <Sgeo> Hm. How can malicious Javascript cause a connection to a server other than the one hosting the malicious Javascript?
21:17:15 -!- soupdragon has joined.
21:21:28 <fizzie> Sgeo: By causing the client to submit a POST request that has contents that look like IRC connection initiation; I mean, JavaScript is perfectly capable of pressing the submit button of a form, and the form action field can be any URL.
21:21:56 <fizzie> (At least that's my guess; I'm not a web person.)
21:23:34 -!- Sgeo_ has joined.
21:23:42 <fizzie> Based on the comments, that's somewhat close to what happens; they do say that their new ircd is clever enough to not just ignore the HTTP headers sent by the client.
21:24:48 <Sgeo_> Hm
21:24:56 <Sgeo_> I think I'm going to register Sgeo_ and Sgeo__
21:25:59 <fizzie> Yes, that is what they recommend. Sort-of, anyway.
21:26:06 <fizzie> "It's useful, but not required, to have an alternate nick grouped to your account. For example, if your primary nick is foo:
21:26:06 <fizzie> /nick foo_
21:26:06 <fizzie> and then
21:26:06 <fizzie> /msg nickserv group"
21:26:22 <Sgeo_> Oh
21:26:23 <Sgeo_> Oops
21:26:33 <Sgeo_> How do I unregister this?
21:27:03 -!- Sgeo has quit (Nick collision from services.).
21:27:10 -!- Sgeo_ has changed nick to Sgeo.
21:27:23 -!- Sgeo has changed nick to Sgeo_.
21:27:30 <AnMaster> funny, switched monitor to dvi
21:27:39 <AnMaster> now I get X display but not console
21:27:47 <AnMaster> wonder how to switch the frame buffer over to dvi
21:27:51 <AnMaster> anyone knows?
21:28:11 <soupdragon> what's the best shell script web server?
21:28:22 -!- Sgeo_ has changed nick to Sgeo.
21:28:27 -!- Sgeo has changed nick to Sgeo_.
21:29:44 -!- Sgeo_ has changed nick to Sgeo.
21:29:52 -!- Sgeo has changed nick to Sgeo_.
21:30:41 -!- Sgeo_ has changed nick to Sgeo__.
21:30:53 -!- Sgeo__ has changed nick to Sgeo.
21:34:41 <fizzie> Matroxfb had a custom option for selecting outputs; if it's vesafb, I doubt it has any way of choosing anything else than what the card thinks of as the primary thing when it gets initialized. Might be wrong, though.
21:35:41 -!- cheater3 has joined.
21:35:50 <fizzie> My nvidia card (which, admittedly, has just two DVI connectors) sends the VGA text console to both outputs; I don't quite remember what the framebuffer console did.
21:36:15 <AnMaster> fizzie, mine has one vga and one dvi
21:36:29 <AnMaster> which one it sends to depends on which was connected at boot
21:36:41 <AnMaster> soupdragon, the one written with dd/sh
21:37:00 <AnMaster> fizzie, and yes it is vesafb
21:37:28 <fizzie> Well; do you happen to see the connectors as separate /dev/fbX devices or what? I don't really remember how that works; I would think it's just a single device.
21:37:38 -!- tombom_ has joined.
21:37:50 <AnMaster> fizzie, there is just /dev/fb0
21:38:06 <AnMaster> fizzie, ever noticed that option "digital vibrance" in nvidia-settings? What the heck is the point of it?
21:38:09 -!- cheater2 has quit (Connection timed out).
21:38:36 -!- Sgeo has changed nick to SgWoggleNot.
21:38:50 <fizzie> I assume it does some made-to-look-more-colorful-to-a-layperson colorspace mangling. I don't remember when I last looked at nvidia-settings, though.
21:38:57 <fizzie> Their Windows display drivers are full of stuff like that too.
21:39:16 <AnMaster> heh
21:39:59 <fizzie> "DVC is a patent pending innovation for controlling color separation and intensity and is bundled with the ForceWare software for desktop, workstation, platform, and mobile solutions."
21:40:04 <fizzie> Oh, they're even trying to patent it.
21:40:13 <fizzie> Well, the patent application -- if you can find it -- should say what it does.
21:40:32 <AnMaster> hah
21:40:44 <fizzie> (That was from the http://www.nvidia.com/object/feature_dvc.html hype-page.)
21:41:06 <fizzie> "Dry presentations receive a dramatic boost with more visual intensity." See, it can even make your boring powerpoint presentations interesting.
21:41:15 <fizzie> I would hope it changes the content there too.
21:42:32 <AnMaster> hah
21:42:54 <AnMaster> fizzie, btw, even monitor these days provides various "look better to lay persons" modes
21:43:19 <fizzie> Sure. Not to even start with digital cameras.
21:43:53 <fizzie> Mine has a food photography mode, for example.
21:44:47 <fizzie> Oh, and a "soft skin" mode, which applies some sort of a blur effect on all skin-colored parts of the image.
21:44:54 <AnMaster> food photography?
21:45:01 <AnMaster> that is one I never heard
21:45:08 <AnMaster> heard before*
21:45:13 <fizzie> "This mode allows you to take pictures of food with a natural hue without being affected by the ambient light in restaurants etc."
21:45:40 <AnMaster> fizzie, there is a skin tone option in my monitor's menus-
21:45:45 <AnMaster> s/-/./
21:45:46 -!- soupdragon has quit ("* I'm too lame to read BitchX.doc *").
21:45:48 -!- muni has quit.
21:45:51 <AnMaster> not sure what it does, it is greyed out
21:46:03 <AnMaster> probably due to it being in "standard sRGB mode"
21:46:14 -!- SgWoggleNot has changed nick to Sgeo.
21:46:44 <fizzie> A friend has a camera that has a smile photography mode. When you turn it on, it uses the face recognition stuff to find faces, then waits until it sees something that approximates a smile (teeth showing is a good way to make it trigger) and then rapidly takes three pictures, though unfortunately with a two-seconds-or-so delay.
21:47:51 <AnMaster> fizzie, oh btw they call it "Splendid - Video Intelligence Technology" on the monitor
21:48:33 <AnMaster> fizzie, heh
21:49:31 * AnMaster just pealed away the big colourful sticker saying "Splendid <that thing> try me <hand with index finger pointing to one of the buttons on the monitor"
21:49:38 <AnMaster> s/"/>"/
21:49:48 <Deewiant> s/pealed/peeled/
21:51:07 <AnMaster> yeah
21:51:28 -!- soupdragon has joined.
21:52:23 <AnMaster> and there goes the other stickers: Vista ready, HDCP, 8000:1, aspect control, "Asus RoHS Compliant" (wth is that?), and the model number. Sadly they were all on one. I would have been happy to keep the model number
21:52:40 <AnMaster> well the glossy surface on the *sticker* was unacceptable
21:52:48 <AnMaster> reflections
21:52:56 <fizzie> RoHS is some sort of not-too-toxic-stuff-used-when-building-the-thing spec.
21:53:03 <AnMaster> fizzie, ah well
21:53:06 <fizzie> "Directive on the restriction of the use of certain hazardous substances in electrical and electronic equipment".
21:53:27 <AnMaster> fizzie, how did the abbrev come from that
21:53:31 -!- tombom__ has joined.
21:53:36 <AnMaster> also strange but I can find *no* TCO label
21:53:42 <fizzie> They call it "Restriction of Hazardous Substances Directive" among friends.
21:55:05 <fizzie> This one just has a tiny "HD ready" sticker -- which is not actually even very glossy -- in the corner. But maybe I have already removed some; I probably would have, if they had garish colors or something.
21:55:37 <AnMaster> fizzie, my old one just had some on the base of the monitor, in grey/white
21:55:47 <AnMaster> iirc vista ready and TCO99
21:56:01 -!- soupdragon has quit ("* I'm too lame to read BitchX.doc *").
21:56:09 <AnMaster> fizzie, also why is every monitor black around the edges these days
21:56:16 <AnMaster> I much prefered light grey or beige
21:56:33 <AnMaster> like my old samsung syncmaster (very long ago)
21:56:56 <AnMaster> it had adjustable height, unless you pay a lot these days, adjustable height also seems hard to find
21:57:04 <fizzie> Strange to call a 1920x1200 monitor "HD ready" anyway; I thought that -- around these parts, at least -- "HD ready" was the euphemism for the lower 1280x720 thing, with everything that has enough pixels for 1080p being called "Full HD".
21:57:20 <AnMaster> fizzie, heh
21:57:40 -!- tombom has quit (Read error: 110 (Connection timed out)).
21:57:46 <fizzie> Hrm, I think all my monitors have adjustable height; can't be *that* uncommon. (Admittedly I haven't bought a monitor in the last few years. And there were some fixed-stand models around when I last looked, but not that many.)
21:57:58 <AnMaster> fizzie, this monitor is 1680x1050
21:58:05 <AnMaster> but that doesn't mean it is 19:9
21:58:06 <AnMaster> because
21:58:19 <AnMaster> resolution: 90x88 dots per inch
21:58:23 <AnMaster> (from xdpyinfo)
21:58:24 -!- soupdragon has joined.
21:58:31 <AnMaster> (it's incorrect I believe)
21:59:12 <fizzie> Hm, the logo in fact looks like the "official" -- http://en.wikipedia.org/wiki/HD_ready -- one. I guess it does HDCP and such then.
21:59:59 -!- whtspc__ has quit (Read error: 113 (No route to host)).
22:00:22 -!- whtspc_ has quit (Read error: 113 (No route to host)).
22:01:03 <AnMaster> fizzie, really I don't want anything much larger than this. I already find the extra width a bit annoying
22:01:07 <pikhq> It would appear part of my problem is that church1 is not doing what you'd expect.
22:01:14 <pikhq> (namely, \f x -> f x)
22:01:24 <fizzie> Never trust organized religion, that's a good motto.
22:01:26 <AnMaster> pikhq, what is it doing instead?
22:01:29 <AnMaster> fizzie, :D
22:01:50 <pikhq> AnMaster: Not evaluating its arguments.
22:01:55 <pikhq> \f x->()
22:01:59 -!- soupdragon has quit (Client Quit).
22:02:01 <AnMaster> fizzie, so disorganised and unorganised ones are okay?
22:02:20 <fizzie> Yes, in the sense that they get less harm done.
22:02:20 <Sgeo> Has anyone heard from ehird?
22:02:27 <pikhq> For curiosity's sake, I've gone ahead and made it strict in its arguments.
22:02:31 <pikhq> Sgeo: No, I haven't.
22:02:39 <AnMaster> fizzie, what about Buddhism?
22:02:55 <AnMaster> certainly organised, but hardly very harmful.
22:03:25 <fizzie> I don't know about buddhism... the dude with the smile sort of looks like he's plotting something.
22:04:59 <AnMaster> fizzie, they mention stuff like "don't belive everything I tell you, use some critical thought" and "each to his/her own" (the latter is more specifically: other religions are okay as long as they aren't causing harm to people)
22:05:16 <AnMaster> also wordings aren't exactly thouse
22:05:18 <AnMaster> those*
22:05:38 <fizzie> Yes, well, maybe that's just what they *say*. I'd be a bit wary.
22:06:42 <AnMaster> fizzie, still, better than most religions. In part it is more of a philosophy than a religion
22:07:53 <fizzie> "No matter what happens, never call on the government, the church, or any other massive controlling authority for help. They'll just send a brigade of soldiers to burn your entire village to the ground." -- The Grand List Of Console Role Playing Game Clichés
22:08:14 <AnMaster> fizzie, well yes that is games.
22:08:26 <AnMaster> fizzie, also link to that
22:08:39 <fizzie> http://project-apollo.net/text/rpg.html
22:08:51 <fizzie> I have a feeling http://tvtropes.org/pmwiki/pmwiki.php/Main/CorruptChurch might link to it too.
22:09:03 <fizzie> (At least there are several links to the list from tvtropes.)
22:09:06 * AnMaster whips out w3m
22:09:15 <AnMaster> w3m -dump even
22:09:41 <AnMaster> why? no links
22:10:15 <AnMaster> err that is links as in <a>, not as in /usr/bin/links
22:10:42 -!- soupdragon has joined.
22:11:17 <fizzie> Yes, it's certainly safer than lynx/links -dumps for tvtropes.
22:11:53 <AnMaster> XD
22:12:02 -!- tombom has joined.
22:12:28 -!- soupdragon has quit (Client Quit).
22:12:37 <pikhq> Well, that explains at least *some* things. church1's thunks are the only ones being called.
22:13:02 <pikhq> Somehow, it never ends up dethunking its arguments.
22:13:08 <pikhq> Even the one that it dethunks and calls.
22:14:38 -!- tombom_ has quit (Read error: 110 (Connection timed out)).
22:14:46 <AnMaster> fizzie, just tried lynx dump, it includes all the links at the end
22:14:55 <AnMaster> unacceptable
22:15:01 <fizzie> So does "links -dump" too.
22:15:04 <AnMaster> ah
22:15:58 <fizzie> You can do "lynx -dump -nolist" though. Though w3m asciifies some things better.
22:16:14 <fizzie> (Also seems to use UTF-8 bullet-points for me by default.)
22:16:58 -!- kar8nga has quit (Remote closed the connection).
22:17:02 <AnMaster> fizzie, and it seems my terminal uses bitstream vera not dejavu
22:23:03 -!- augur_ has joined.
22:23:11 <AnMaster> fizzie, btw I played a bit of mario rpg recently, it was.... interesting...
22:24:01 <fizzie> I've played it a very very very tiny bit, too, but I've completely forgotten what it was like. (If you're talking about that SNES thing.)
22:25:08 <fizzie> (They do have those newer things too.)
22:25:45 <AnMaster> fizzie, snes of course
22:25:52 <AnMaster> there are newer rpgs?
22:26:04 <AnMaster> anyway I managed to get zsnes to produce a broken save
22:26:08 <AnMaster> so meh
22:26:09 <fizzie> There's the Paper Mario series.
22:26:23 <AnMaster> fizzie, remember that locking up mupen64plus
22:26:41 <fizzie> The first one is N64, second one GameCube, and third one for Wii.
22:26:51 -!- augur has quit (Read error: 110 (Connection timed out)).
22:27:26 <fizzie> Also a couple of portable things named "Mario & Luigi: whatever"; one for the GBA and two for the DS.
22:27:40 <fizzie> If it's worth doing, it's worth doing more for even more money.
22:28:09 <AnMaster> what is paper mario about?
22:28:25 <fizzie> You rescue a princess (gasp!).
22:28:33 <AnMaster> well that's a given
22:29:04 <fizzie> I haven't played them, I've just heard-of.
22:29:29 <AnMaster> fizzie, btw number 30 on that list does *not* apply to mario rpg
22:29:39 <AnMaster> but that is due to mario of course
22:30:40 <fizzie> Yes, well, I doubt you can find any game to collect all of them. (Unless someone has explicitly had that as a goal. Hmm...)
22:30:44 -!- tombom__ has quit (Read error: 110 (Connection timed out)).
22:31:04 <AnMaster> heh
22:34:11 <AnMaster> fizzie, in rule 42, what is "FMVs"?
22:34:39 <fizzie> "Full Motion Video", I believe. Not often seen in SNES games, for obvious reasons.
22:34:56 <AnMaster> fizzie, what about zelda oot?
22:35:08 <AnMaster> as in when you first approach the castle town
22:35:18 <AnMaster> is that what it means
22:35:52 <fizzie> It means any precalculated/actually-videographed movie-like cutscenes that aren't rendered with the game engine.
22:36:22 <AnMaster> hm not rendering with the game engine would be rare wouldn't it?
22:37:16 <fizzie> Well, now... it's not that rare to have "properly rendered" 3D cutscenes. PSX RPGs at least seem to do it a lot; you can fit a lot of video on the discs.
22:37:51 <AnMaster> is there any emulator for those?
22:38:22 <AnMaster> oh wait, didn't chrono trigger for that newer device do something like it?
22:38:29 <AnMaster> was drawn, not rendered iirc
22:38:37 <fizzie> Yes, they added some animation clips.
22:38:45 <fizzie> I think the DS version includes those, actually.
22:38:57 <AnMaster> yes that is what I said
22:39:05 <AnMaster> the snes one is more original though!
22:39:17 <fizzie> The "newer device" I was thinking of was the Playstation 1.
22:39:25 <fizzie> That's where those chrono trigger videos were first seen.
22:39:26 <AnMaster> oh they ported it to that too?
22:40:15 <fizzie> They did. There wasn't that much new in the PS version, except those video clips.
22:40:23 <AnMaster> hm
22:40:40 <fizzie> The bonus world-areas in the DS version are DS-only, for example.
22:40:48 <AnMaster> bonus world?
22:40:50 <AnMaster> huh?
22:41:06 <AnMaster> I only played snes beyond the baasics
22:41:06 <fizzie> Lost Sanctum, Dimensional Vortex. Those two weren't in the SNES version.
22:41:15 <AnMaster> fizzie, where did you reach those?
22:42:08 <fizzie> You can go to Lost Sanctum after getting the wings for Epoch.
22:42:39 <AnMaster> what is there?
22:42:42 <fizzie> As for Dimensional Vortex, you have to complete the game once to get there.
22:42:54 <AnMaster> and what is there?
22:43:07 <fizzie> Lost Sanctum has a horrible number of really boring "fetch quest"-style things, which mainly involve incredible amounts of walking.
22:43:16 <fizzie> I think I did them all, and it was quite a chore.
22:43:38 <fizzie> You get all kinds of bits and pieces for reward there.
22:43:45 <AnMaster> fizzie, what time period was it?
22:44:30 <fizzie> It's in two; 65,000,000 B.C. and 600 A.D.
22:44:36 -!- soupdragon has joined.
22:44:38 <fizzie> And most of the walking comes from flipping between those two.
22:44:48 <AnMaster> ah
22:46:41 <fizzie> As for the dimensional vortex, that one sort-of is in the remaining three time periods (12000 B.C., 1000 A.D. and 2300 A.D.; I don't think 1999 counts); it's partially built from randomly selected maps from the "actual" game, plus some brand-new bits in the end.
22:47:50 <fizzie> Story-wise the Lost Sanctum adds nothing important (well, it's a village of surviving reptites, but it's not like they *mean* anything); the Dimensional Vortex is a some sort of tie-in to the Chrono Cross story.
22:49:41 <fizzie> You also get new items from those new bits, but, well, "meh".
22:50:30 <AnMaster> hm
22:50:48 <fizzie> There's an upgraded version of the Rainbow, for example.
22:50:55 <AnMaster> oh?
22:51:33 <fizzie> It has an attack power of 240 (compared to the Rainbow's 220) and does criticals 90 % of the time (compared to Rainbow's 70 %).
22:51:48 <AnMaster> mhm
22:52:08 <fizzie> And of course you get it from doing the final boss at the end of the Dimensional Vortex, so when you've gotten it, there's nothing in the whole game it won't be an overkill for.
22:52:19 <fizzie> There's a couple of related tvtropes tropes about this sort of thing. :p
22:52:41 <AnMaster> number 78 (pretty line syndrome) is at least not as common in snes rpgs. Some are slightly open-ended
22:52:57 <AnMaster> (I much prefer open-ended btw)
22:54:14 <fizzie> PC games -- well, the Elder Scrolls games, that is; I don't really know about much else -- have a bit of an edge in the open-endedness. In the console ones "open-ended" mostly seems to mean "just before finishing up the story, there's some free time to do sidequests".
22:54:30 <AnMaster> yeah :/
22:56:18 <pikhq> fizzie: It's very much a genre thing.
22:56:45 <fizzie> Yes. I sort-of like both, so I don't really mind.
22:56:59 -!- coppro has joined.
22:57:01 <fizzie> But that list really does contain some very common things.
22:57:05 <AnMaster> night all →
22:59:52 -!- oerjan has quit ("Good night").
23:00:02 -!- tombom has quit ("Leaving").
23:14:42 <cpressey> I just heard one of the most horrific things I've ever heard playing on a radio in my life.
23:14:55 <cpressey> An "emo-coustic" cover of Van Halen's "Jump".
23:35:35 -!- FireFly has quit ("Nighty").
23:57:17 -!- BeholdMyGlory has quit (Remote closed the connection).
2010-01-30
00:05:15 -!- cpressey has left (?).
00:14:14 * Sgeo goes to play some RoboZZle
00:15:18 <Sgeo> The Silverlight client is taking uncomfortably long to load
00:17:41 -!- immibis has joined.
00:33:58 -!- Wareya has quit (Read error: 104 (Connection reset by peer)).
00:43:47 -!- augur_ has quit (Read error: 110 (Connection timed out)).
01:32:01 -!- Azstal has joined.
01:32:26 -!- cheater2 has joined.
01:39:53 -!- cheater3 has quit (Read error: 110 (Connection timed out)).
01:48:57 -!- Asztal has quit (Read error: 110 (Connection timed out)).
02:01:26 -!- Pthing has joined.
02:10:22 -!- oklopol has quit (Read error: 110 (Connection timed out)).
02:11:16 <immibis> i found some old cds, containing among other things Game Maker 4, Encarta 95 and Liberty BASIC 2.02 for Windows
02:19:33 <Gregor> Upload them to vetusware.com
02:19:40 <Gregor> (Assuming they're not already there)
02:21:30 -!- wareya has joined.
02:21:51 -!- wareya has changed nick to Wareya.
02:24:48 -!- MizardX has quit (Read error: 104 (Connection reset by peer)).
02:28:55 -!- MizardX has joined.
02:30:07 -!- cheater3 has joined.
02:36:02 -!- Slereah_ has joined.
02:37:37 -!- augur has joined.
02:40:15 -!- cheater4 has joined.
02:49:52 -!- cheater2 has quit (Read error: 110 (Connection timed out)).
02:50:53 -!- mycroftiv has quit (verne.freenode.net irc.freenode.net).
02:50:57 -!- mycrofti1 has joined.
02:51:35 -!- Slereah has quit (Read error: 110 (Connection timed out)).
02:55:25 -!- cheater3 has quit (Success).
03:06:40 -!- mycrofti1 has changed nick to mycroftiv.
03:08:55 -!- soupdragon has quit ("* I'm too lame to read BitchX.doc *").
03:10:17 -!- augur has quit (Read error: 104 (Connection reset by peer)).
03:12:49 -!- augur has joined.
03:16:27 -!- Gracenotes has quit (Remote closed the connection).
03:17:01 -!- augur_ has joined.
03:18:57 -!- augur__ has joined.
03:19:56 -!- augur_ has quit (Success).
03:21:43 -!- augur has quit (Connection reset by peer).
03:29:43 -!- MizardX has quit (Connection timed out).
03:37:01 -!- cheater4 has quit (Connection timed out).
03:44:07 -!- augur__ has quit (Read error: 104 (Connection reset by peer)).
03:44:25 -!- augur has joined.
03:44:50 -!- Gracenotes has joined.
03:46:23 -!- jpc has joined.
03:53:40 -!- augur has quit (Read error: 104 (Connection reset by peer)).
03:54:06 -!- augur has joined.
04:08:04 -!- clog has joined.
04:08:04 -!- clog has joined.
04:08:16 -!- clog has joined.
04:08:16 -!- clog has joined.
04:23:53 -!- augur has quit (Read error: 110 (Connection timed out)).
04:35:37 <Gregor> lawl MST3K. This movie is /so awful/. I swear it's just constantly on the brink of turning into porn.
04:39:51 -!- augur has joined.
04:55:40 <pikhq> Heh.
05:05:08 -!- augur has quit (Read error: 110 (Connection timed out)).
05:10:47 -!- Pthing has quit (Remote closed the connection).
05:14:37 <Sgeo> Gregor, is that the one with the tubular boobular song?
05:15:13 <Gregor> Not ... yet?
05:15:28 <Gregor> It could be, it has songs.
05:15:56 <Gregor> It's "Untamed Youth"
05:17:08 <Sgeo> No, the movie with that is Outlaw
05:17:15 <Sgeo> http://mst3k.wikia.com/wiki/Tubular_Boobular_Joy
05:18:35 <coppro> let's just be clear
05:18:47 <coppro> you aren't expecting an MST3K movie to be /good/, are you?
05:19:21 <Gregor> Actually Moon Zero Two was pretty good. It was mostly just clearly dated.
05:31:29 -!- augur has joined.
05:36:48 -!- immibis_ has joined.
05:37:18 -!- immibis has quit (Nick collision from services.).
05:37:55 -!- immibis_ has changed nick to immibis.
05:42:46 <Sgeo> Can someone please explain to me how heterogenous lists in a strongly-typed language can ever seem like a good idea?
05:44:50 <coppro> polymorphism
05:45:25 <coppro> if you mean truly heterogeneous, then no, that's never a good idea, regardless of how much Java and C# try to make you think it is
05:47:26 <Sgeo> I'm not thinking of Java and C#
05:47:35 <Sgeo> And I don't think polymorphism comes into this
05:47:45 <coppro> sure it does
05:47:52 <coppro> a vector<Base*> is a heterogeneous list
05:48:06 <coppro> if it is filled with Derived*, SuperDerived*, and OtherDerived*
05:48:10 <Sgeo> In LSL, there are no objects
05:48:27 <Sgeo> No base object to talk of
05:48:28 <coppro> LSL?
05:48:36 <Sgeo> The language used in Second Life
05:48:52 <Sgeo> Lists freely contain floats and strings etc. etc. etc.
05:48:56 <pikhq> Linden Scripting Language
05:49:03 <coppro> oh
05:49:07 <coppro> no, that's a horrible idea
05:49:15 <coppro> common in just about every scripting language ever
05:49:16 <Sgeo> And to get, say, the first element of a list (a_list) if it's a string: llList2String(a_list, 0)
05:49:17 <coppro> but always horrible
05:49:27 <coppro> (and most functional ones)
05:49:48 <pikhq> I prefer the Tcl solution.
05:49:52 <pikhq> List, what list?
05:49:55 <pikhq> You have strings.
05:50:03 <pikhq> That's about it.
05:50:12 <coppro> :/
05:50:28 <coppro> isn't that the language that stores an int form of every string just in case?
05:50:33 <pikhq> No.
05:50:51 <coppro> oh
05:50:53 <coppro> which is that, then
05:51:01 <pikhq> As an optimisation, it stores what the string was last used as.
05:51:25 <pikhq> So if you're doing a lot of arithmetic, it won't be thunking to and from an integer.
05:51:38 <Gregor> *boxing*
05:52:00 <coppro> ah
05:52:01 <pikhq> Erm. Right.
05:52:09 <pikhq> Sorry, I've been writing the word "thunk" a lot today. :P
05:52:23 <Gregor> Thunks thunking thunks thunk thunk thunk.
05:52:44 <pikhq> I've been doing lazy functional C.
05:52:48 <pikhq> It tends to thunk.
05:52:49 <Gregor> I nose.
05:53:01 <Sgeo> lazy functional C?
05:53:25 <pikhq> Yes.
05:53:33 <pikhq> The laziness is explicit!
05:54:04 <Sgeo> Linky?
05:54:41 <coppro> Sgeo: he wrote a horrible set of macros to make a sort-of lambda
05:58:04 <pikhq> http://sprunge.us/HOQR There's main.c ATM.
05:58:16 <pikhq> It doesn't work right.
05:58:44 <pikhq> And it's hacked-up beyond belief because I've been trying things.
06:15:07 <fizzie> Deewiant: Have you happened to notice this? http://zem.fi/g2/v/Mobile/20100128_001+crop.jpg.html
06:30:02 -!- MigoMipo has joined.
07:03:04 -!- MigoMipo has quit (Remote closed the connection).
07:34:37 -!- immibis_ has joined.
07:35:56 -!- oerjan has joined.
07:40:03 -!- immibis has quit (Nick collision from services.).
07:40:04 -!- immibis_ has changed nick to immibis.
07:40:50 -!- immibis has changed nick to immibis_.
07:41:09 -!- immibis_ has changed nick to immibis.
07:58:00 -!- coppro has quit (Client Quit).
07:58:17 -!- coppro has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:00:17 -!- cheater2 has joined.
08:02:38 -!- Gracenotes has quit (Remote closed the connection).
08:07:25 -!- Gracenotes has joined.
08:28:06 -!- Azstal has quit (Read error: 110 (Connection timed out)).
08:31:51 -!- oerjan has quit ("leaving").
08:33:06 -!- sebbu2 has quit (jordan.freenode.net irc.freenode.net).
08:33:07 -!- Ilari has quit (jordan.freenode.net irc.freenode.net).
08:33:07 -!- pikhq has quit (jordan.freenode.net irc.freenode.net).
08:33:07 -!- Deewiant has quit (jordan.freenode.net irc.freenode.net).
08:33:07 -!- cheater has quit (jordan.freenode.net irc.freenode.net).
08:33:18 -!- coppro has quit (jordan.freenode.net irc.freenode.net).
08:33:18 -!- jpc has quit (jordan.freenode.net irc.freenode.net).
08:33:18 -!- Slereah_ has quit (jordan.freenode.net irc.freenode.net).
08:33:20 -!- jix has quit (jordan.freenode.net irc.freenode.net).
08:33:21 -!- fizzie has quit ("jumpin' jumpin'").
08:33:25 -!- Gracenotes has quit (jordan.freenode.net irc.freenode.net).
08:33:25 -!- cheater2 has quit (jordan.freenode.net irc.freenode.net).
08:33:29 -!- mycroftiv has quit (jordan.freenode.net irc.freenode.net).
08:33:29 -!- bsmntbombdood has quit (jordan.freenode.net irc.freenode.net).
08:33:29 -!- HackEgo has quit (jordan.freenode.net irc.freenode.net).
08:33:57 -!- clog has joined.
08:33:57 -!- clog has joined.
08:34:06 -!- Wareya has joined.
08:34:08 -!- Leonidas has joined.
08:34:11 -!- comex has joined.
08:34:12 -!- augur has joined.
08:34:25 -!- Gracenotes has joined.
08:34:35 -!- Sgeo has joined.
08:34:40 -!- olsner has joined.
08:35:11 -!- EgoBot has joined.
08:35:26 -!- SimonRC has joined.
08:35:26 -!- uorygl has joined.
08:36:27 -!- lifthrasiir has joined.
08:36:55 -!- ineiros has joined.
08:38:37 -!- AnMaster has joined.
08:39:25 -!- fizzie has joined.
08:39:25 -!- cal153 has joined.
08:39:35 -!- rodgort has joined.
08:40:57 -!- dbc has joined.
08:43:43 -!- yiyus has joined.
09:13:00 -!- jpc has joined.
09:13:40 -!- jpc has quit (Client Quit).
09:50:50 -!- Deewiant has quit (*.net *.split).
09:50:50 -!- jix has quit (*.net *.split).
09:50:52 -!- jix has joined.
09:51:03 -!- Deewiant has joined.
09:54:14 -!- Gregor has joined.
10:01:25 -!- BeholdMyGlory has joined.
10:03:27 -!- tombom has joined.
10:03:53 -!- FireFly has joined.
10:11:31 -!- kar8nga has joined.
10:26:09 <Deewiant> fizzie: Don't think so, no.
10:28:42 <fizzie> Deewiant: Well, now you have.
10:29:14 <Deewiant> Indeed. Amusing, that.
10:32:30 <fizzie> It reminds me a bit of that fake L4 poster (did you see that one?), except that this one is -- as far as I know -- officially sanctioned.
10:38:05 <Deewiant> I saw that one, yes.
10:40:54 <fizzie> Mathematicians are a bit... strange.
11:10:29 * SimonRC goes for breakfast
11:18:47 -!- oklopol has joined.
11:47:28 -!- kar8nga has quit (Ping timeout: 276 seconds).
12:27:59 -!- zeotrope has joined.
12:44:16 -!- oklofok has joined.
12:45:31 -!- oklopol has quit (Ping timeout: 260 seconds).
12:48:37 -!- oklopol has joined.
12:50:27 -!- scarf has joined.
12:52:02 -!- oklofok has quit (Ping timeout: 258 seconds).
13:04:07 -!- oklofok has joined.
13:04:15 -!- oklopol has quit (Ping timeout: 264 seconds).
13:09:23 -!- MizardX has joined.
13:27:15 -!- scarf has changed nick to scarf|away.
13:33:25 -!- scarf|away has changed nick to scarf.
13:38:36 -!- scarf has changed nick to scarf|away.
13:43:35 -!- scarf|away has changed nick to scarf.
13:45:50 -!- kar8nga has joined.
13:47:23 -!- tombom_ has joined.
13:48:45 -!- scarf has changed nick to scarf|away.
13:50:48 -!- tombom has quit (Ping timeout: 258 seconds).
13:53:55 -!- scarf|away has changed nick to scarf.
13:55:22 -!- oklofok has changed nick to oklopol.
13:59:15 -!- scarf has changed nick to scarf|away.
14:01:05 -!- scarf|away has changed nick to scarf.
14:05:57 -!- soupdragon has joined.
14:06:15 -!- scarf has changed nick to scarf|away.
14:11:45 -!- scarf|away has changed nick to scarf.
14:13:02 -!- tombom__ has joined.
14:14:40 -!- tombom_ has quit (Ping timeout: 240 seconds).
14:15:17 -!- zeotrope has quit (Ping timeout: 256 seconds).
14:17:25 -!- scarf has changed nick to scarf|away.
14:17:42 -!- facsimile has joined.
14:18:49 -!- soupdragon has quit (Read error: Connection reset by peer).
14:20:05 -!- scarf|away has changed nick to scarf.
14:26:39 -!- zeotrope has joined.
14:31:50 <facsimile> By installing Brainfuck, you will be able to experience the power of Brainfuck???
14:32:12 <facsimile> wat's that from
14:32:18 -!- tombom_ has joined.
14:32:22 -!- tombom__ has quit (Ping timeout: 248 seconds).
14:33:25 -!- scarf has changed nick to scarf|away.
14:34:26 <zeotrope> its from the java installer
14:34:45 <zeotrope> facsimile: http://www.joelonsoftware.com/items/2009/01/12.html
14:36:45 -!- MigoMipo has joined.
14:40:15 -!- scarf|away has changed nick to scarf.
14:45:25 -!- scarf has changed nick to scarf|away.
14:45:31 -!- MigoMipo has quit.
14:47:11 -!- tombom__ has joined.
14:48:54 -!- tombom_ has quit (Ping timeout: 248 seconds).
14:48:55 -!- scarf|away has changed nick to scarf.
14:54:05 -!- scarf has changed nick to scarf|away.
14:54:15 -!- scarf|away has changed nick to scarf.
14:54:30 -!- ztirf2 has joined.
14:55:58 -!- zeotrope has quit (Ping timeout: 276 seconds).
14:59:25 -!- scarf has changed nick to scarf|away.
15:00:15 -!- scarf|away has changed nick to scarf.
15:05:04 -!- jix_ has joined.
15:05:11 -!- tombom_ has joined.
15:05:13 -!- kar8nga has quit (Remote host closed the connection).
15:05:45 -!- scarf has changed nick to scarf|away.
15:07:04 -!- tombom__ has quit (Ping timeout: 240 seconds).
15:07:52 -!- jix has quit (Ping timeout: 240 seconds).
15:12:36 -!- scarf|away has changed nick to scarf.
15:17:45 -!- scarf has changed nick to scarf|away.
15:18:05 -!- scarf|away has changed nick to scarf.
15:18:43 <facsimile> http://arxiv.org/abs/0811.3171
15:18:50 <facsimile> Quantum algorithm for solving linear systems of equations
15:18:59 <facsimile> this is too hard I can't understand it
15:23:15 -!- scarf has changed nick to scarf|away.
15:27:25 -!- scarf|away has changed nick to scarf.
15:52:34 -!- Pthing has joined.
15:56:12 -!- kar8nga has joined.
16:01:13 -!- facsimile has quit (Read error: Connection reset by peer).
16:08:27 -!- soupdragon has joined.
16:09:46 -!- jix_ has quit (Quit: leaving).
16:09:55 -!- jix has joined.
16:10:20 -!- jix has quit (Client Quit).
16:11:48 * pikhq can has the silliest way of defining churchSucc
16:14:17 -!- ChanServ has quit (shutting down).
16:17:07 -!- jix has joined.
16:17:58 -!- jix has quit (Client Quit).
16:18:24 -!- jix has joined.
16:27:27 -!- tombom has joined.
16:29:54 -!- tombom_ has quit (Ping timeout: 258 seconds).
16:30:44 -!- BeholdMyGlory has quit (Read error: Connection reset by peer).
16:51:22 -!- oerjan has joined.
16:55:10 * oerjan gets versioned by a frigging bot
16:56:03 <oerjan> how gregarious
16:56:19 <Gregor> :P
16:56:36 <oerjan> hm no +e flag?
16:57:53 <Gregor> ¿Qué es +e?
16:58:12 <oerjan> it used to be the flag showing that i was identified
16:58:19 <Gregor> Huh
16:58:56 -!- oerjan has changed nick to fnordjan.
16:59:38 -!- fnordjan has changed nick to oerjan.
17:00:11 <oerjan> hm whois seems to show the account name last, although without a field name
17:00:50 <oerjan> but i cannot detect anything that tells whether the actual _nick_ i'm using is registered by me
17:02:07 -!- oerjan has changed nick to fnordjan.
17:02:35 -!- fnordjan has changed nick to oerjan.
17:02:54 <oerjan> it seems i have to msg nickserv to find out
17:06:46 <oerjan> oh whois no longer censors our actual connected servers
17:16:38 <Ilari> Netsplits now look like: "Netsplit *.net <-> *.split quits: <list>" :-)
17:21:54 -!- Pthing has quit (Remote host closed the connection).
17:23:14 -!- Gracenotes has quit (Quit: Leaving).
17:24:06 -!- Gracenotes has joined.
17:36:02 -!- ztirf2 has quit (Quit: Nettalk6 - www.ntalk.de).
18:10:25 <olsner> oerjan: leverpastej med rödbetor var ju gott ju
18:10:32 <olsner> men det är lite godare med gurka
18:10:45 <oerjan> lies!
18:11:03 <oerjan> well, the second part
18:11:05 <oklopol> what's rXdbetor
18:11:16 <oerjan> red beets
18:11:29 <oklopol> makes sense
18:11:43 <oklopol> that sounds like a really weird thing to eat
18:11:48 <oklopol> i wish i had some
18:12:25 <fizzie> Rad beats.
18:13:14 <oklopol> can't eat the beat.
18:18:00 <fizzie> It's a bit of a disadvantage that fungot only supports IP addresses, not hostnames; can't point it at the freenode rotation thing.
18:19:26 <oklopol> i'm sure your code is modular enough to allow for an easy modification
18:19:59 -!- Asztal has joined.
18:24:35 <Ilari> And no support for "advanced" sockets API? :-)
18:25:21 <pikhq> Why am I suddenly failing to figure out how to generate a lazy list?
18:27:40 <fizzie> There' SCKE which has gethost
18:29:33 <Ilari> The most important additions in advanced sockets API are getnameinfo and getaddrinfo.
18:31:49 <fizzie> Yes, well, there's no generally recognized fingerprint for that yet.
18:36:24 <Ilari> That advanced sockets API was developed to support IPv6. getaddrinfo and getaddrinfo are independent of address family (unless program is requesting practicular address family).
18:40:31 <fizzie> I do know the functions.
18:41:23 <fizzie> AnMaster had some sort of NSCK "new-sockets" thing going on at some point.
18:43:26 <scarf> pikhq: in which language?
18:43:30 <scarf> it's nontrivial in BF, for instance
18:49:20 -!- whtspc has joined.
18:55:16 <oerjan> no suck
18:55:53 -!- Pthing has joined.
18:59:10 -!- MigoMipo has joined.
19:00:34 <pikhq> scarf: C.
19:00:47 <scarf> still not all that easy
19:01:13 <pikhq> It should be when I've already got lazy evaluation of everything else going.
19:02:05 <pikhq> It's not so much the "lazy list" bit that's the problem so much as it is the *corecursive* lazy list bit that's tricky.
19:04:32 <pikhq> I'm trying to create a lazy list out of stdin.
19:04:54 <pikhq> Currently, I'm managing to create a list with the first element being the first element of stdin, and the second element being segfault.
19:05:09 <pikhq> Which I shall call "_|_".
19:07:31 -!- kar8nga has quit (Ping timeout: 276 seconds).
19:12:04 -!- kar8nga has joined.
19:18:42 -!- whtspc has quit (Quit: leaving).
19:19:57 -!- jpc has joined.
19:36:47 -!- whtspc has joined.
19:46:16 <AnMaster> <fizzie> AnMaster had some sort of NSCK "new-sockets" thing going on at some point. <-- no one else seemed interested, however I probably have the draft around still
19:47:39 <AnMaster> I might start working on it (when I have time, a bit busy RL currently) if someone actually plan to use it for something. Would implement it in cfunge in that case. If that person then doesn't use it I would be rather annoyed ;P
19:48:28 <AnMaster> fizzie, anyway cfunge's SCKE uses getaddrinfo iirc
19:51:10 <fizzie> Yes, I guess there's no reason why not.
19:51:18 -!- scarf has quit (Remote host closed the connection).
19:56:04 <oerjan> otherwise it would sucketh
19:57:16 -!- zeotrope has joined.
19:57:34 -!- jpc has left (?).
20:01:26 -!- whtspc has quit (Ping timeout: 248 seconds).
20:03:00 <pikhq> In theory, I have a working implementation of the SK subset of Lazy K...
20:03:14 <pikhq> In practice, it segfaults on everything that's not equivalent to I.
20:03:19 <pikhq> I am... Rather confused.
20:03:51 -!- whtspc has joined.
20:06:05 -!- jcp has joined.
20:13:22 <pikhq> Even passing it cdr or car causes a halt.
20:14:34 <bsmntbombdood> t-t-t-tree
20:15:44 <soupdragon> hi bsmntbombdood :)
20:15:59 <bsmntbombdood> ohai fax
20:16:12 <oklopol> party!
20:17:07 <whtspc> whooooo!
20:17:49 <oklopol> are you the guy who was doing whitespace yesterday
20:17:51 <oklopol> or whateverday
20:18:48 <oerjan> no way
20:18:55 <oerjan> whtspc has been here for ages
20:19:00 <oerjan> the silent type though
20:19:23 <oklopol> hmm, possibly
20:19:33 <oklopol> i almost never look at userlist
20:19:50 <pikhq> http://sprunge.us/KgMJ
20:19:55 <pikhq> Anything obviously wrong there?
20:20:21 <oklopol> apart from all the obvious evil?
20:20:34 <pikhq> Apart from the obvious evil.
20:21:06 <Sgeo> The latent evil!
20:21:13 <Sgeo> </silly>
20:21:22 <soupdragon> what's the obvious evil :(
20:21:44 <oklopol> soupdragon: we like to call sexy things like that mad or evil here, on occasion.
20:21:46 <FireFly> Oh, comments
20:21:57 <oklopol> really those three adjectives are synonyms.
20:22:01 * soupdragon lol you use while(n --> 0)
20:22:09 <FireFly> I thought "what the heck, what's that '→' doing in C source?"
20:22:58 <mycroftiv> gotta love the "goes to" operator
20:29:30 -!- tombom_ has joined.
20:30:19 <oklopol> what if you had a distance function that measures how similar two programs are, and then made limit(n --> 0) { ... } a statement; it executes a piece of code such that for each epsilon there is a delta such that when n is smaller than delta, the distance between what was executed in the limit and what the code does given that n is smaller than the epsilon
20:31:43 -!- tombom has quit (Ping timeout: 260 seconds).
20:32:07 <oklopol> well why make it a metric space, i guess you could just give it some natural topology
20:33:36 <oklopol> why did someone show me the attempt to make brainfuck into a group
20:36:19 -!- jcp has quit (Read error: Connection reset by peer).
20:36:20 <Ilari> Was it commutative? Simple? :-)
20:36:36 -!- jcp has joined.
20:39:13 <oklopol> i think it was a rather failed attempt, so hard to say
20:40:55 <MigoMipo> http://michid.wordpress.com/2010/01/29/scala-type-level-encoding-of-the-ski-calculus/ A quite interesting implementation of SKI =D
20:45:51 -!- FireFly has quit (Quit: Leaving).
20:55:57 -!- whtspc has quit (Ping timeout: 258 seconds).
21:08:26 -!- Sgeo_ has joined.
21:09:21 -!- Sgeo has quit (Killed (NickServ (GHOST command used by Sgeo_))).
21:09:29 -!- Sgeo_ has changed nick to Sgeo.
21:10:07 * Sgeo wonders if there's a way to make XChat automatically ghost Sgeo
21:10:15 * Sgeo goes to try something stupid
21:10:57 <oerjan> nickserv does not believe in suicide
21:11:51 <pikhq> So, no bloody clue where that bug is, then. :/
21:17:07 -!- Azstal has joined.
21:17:40 <Ilari> Fun, something caused keyboard to only respond to X- and WM-level keys...
21:18:21 <oerjan> remarkable how you manage to type with that
21:18:35 <Ilari> Switching to text VC and back fixed it.
21:18:51 -!- Asztal has quit (Ping timeout: 260 seconds).
21:20:17 -!- augur has quit (Ping timeout: 240 seconds).
21:46:20 -!- augur has joined.
21:59:20 -!- oklofok has joined.
22:00:22 -!- oklopol has quit (Ping timeout: 248 seconds).
22:05:19 -!- oerjan has quit (Quit: Good blight).
22:07:28 -!- MigoMipo has quit.
22:15:33 -!- MigoMipo has joined.
22:26:55 -!- cal153 has quit.
22:31:10 -!- cal153 has joined.
22:48:31 <Sgeo> http://en.wikipedia.org/wiki/Black_Perl
22:48:58 -!- kar8nga has quit (Remote host closed the connection).
22:49:27 -!- kar8nga has joined.
22:53:55 <bsmntbombdood> Sgeo: old
22:54:06 <bsmntbombdood> 20 years, in fact :P
22:54:08 <soupdragon> bsmntbombdood: bomb
22:55:46 -!- augur has quit (*.net *.split).
22:55:51 -!- Sgeo has quit (*.net *.split).
22:55:52 -!- zeotrope has quit (*.net *.split).
22:55:54 -!- soupdragon has quit (*.net *.split).
22:56:01 -!- AnMaster has quit (*.net *.split).
22:56:05 -!- uorygl has quit (*.net *.split).
22:56:09 -!- Leonidas has quit (*.net *.split).
22:56:09 -!- Wareya has quit (*.net *.split).
22:56:11 -!- Slereah has quit (*.net *.split).
22:56:11 -!- coppro has quit (*.net *.split).
22:56:14 -!- cheater2 has quit (*.net *.split).
22:56:20 -!- jcp has quit (*.net *.split).
22:56:21 -!- jix has quit (*.net *.split).
22:56:23 -!- Gregor has quit (*.net *.split).
22:56:24 -!- kar8nga has quit (*.net *.split).
22:56:24 -!- MigoMipo has quit (*.net *.split).
22:56:25 -!- Pthing has quit (*.net *.split).
22:56:27 -!- MizardX has quit (*.net *.split).
22:56:28 -!- Deewiant has quit (*.net *.split).
22:56:32 -!- cal153 has quit (*.net *.split).
22:56:35 -!- oklofok has quit (*.net *.split).
22:56:36 -!- Azstal has quit (*.net *.split).
22:56:36 -!- tombom_ has quit (*.net *.split).
22:56:40 -!- yiyus has quit (*.net *.split).
22:56:40 -!- dbc has quit (*.net *.split).
22:56:43 -!- lifthrasiir has quit (*.net *.split).
22:56:45 -!- SimonRC has quit (*.net *.split).
22:56:46 -!- EgoBot has quit (*.net *.split).
22:56:50 -!- bsmntbombdood has quit (*.net *.split).
22:56:51 -!- HackEgo has quit (*.net *.split).
22:56:51 -!- mycroftiv has quit (*.net *.split).
22:56:54 -!- Ilari has quit (*.net *.split).
23:00:23 -!- Gregor has joined.
23:00:23 -!- jix has joined.
23:00:23 -!- jcp has joined.
23:00:23 -!- AnMaster has joined.
23:00:23 -!- Slereah has joined.
23:00:23 -!- cheater2 has joined.
23:00:23 -!- Deewiant has joined.
23:00:23 -!- MizardX has joined.
23:00:23 -!- Pthing has joined.
23:00:23 -!- MigoMipo has joined.
23:00:23 -!- kar8nga has joined.
23:00:23 -!- zeotrope has joined.
23:00:23 -!- cal153 has joined.
23:00:23 -!- Sgeo has joined.
23:00:23 -!- Ilari has joined.
23:00:23 -!- mycroftiv has joined.
23:00:23 -!- HackEgo has joined.
23:00:23 -!- bsmntbombdood has joined.
23:00:23 -!- EgoBot has joined.
23:00:23 -!- SimonRC has joined.
23:00:23 -!- lifthrasiir has joined.
23:00:23 -!- dbc has joined.
23:00:23 -!- yiyus has joined.
23:00:23 -!- tombom_ has joined.
23:00:23 -!- Azstal has joined.
23:00:23 -!- oklofok has joined.
23:00:23 -!- coppro has joined.
23:00:23 -!- soupdragon has joined.
23:00:23 -!- Gracenotes has joined.
23:00:52 <AnMaster> <fizzie> Yes, I guess there's no reason why not. <-- "no reason to not use NSCK" or "no reason to not use getaddrinfo for SCKE"?
23:00:52 -!- Leonidas has joined.
23:00:52 -!- uorygl has joined.
23:00:54 -!- Wareya has joined.
23:01:45 <AnMaster> fizzie, as for why I'm using getaddrinfo instead of other apis, iirc I read in POSIX 2008 or something about the other ones being (or going to be) deprecated
23:01:55 -!- Pthing has quit (Remote host closed the connection).
23:02:13 -!- MigoMipo has quit (Remote host closed the connection).
23:05:54 -!- soupdragon has quit (Changing host).
23:05:54 -!- soupdragon has joined.
23:05:55 -!- AnMaster has quit (Changing host).
23:05:55 -!- AnMaster has joined.
23:06:13 -!- Gracenotes has quit (Changing host).
23:06:13 -!- Gracenotes has joined.
23:06:22 -!- zeotrope has changed nick to Guest15945.
23:07:16 -!- MizardX- has joined.
23:09:58 -!- MizardX has quit (Ping timeout: 276 seconds).
23:10:15 -!- MizardX- has changed nick to MizardX.
23:10:56 -!- tombom_ has quit (Quit: Leaving).
23:32:03 -!- Slereah_ has joined.
23:32:44 -!- Slereah has quit (Ping timeout: 258 seconds).
23:42:40 -!- jcp has quit (Quit: I will do anything (almost) for a new router.).
23:42:46 -!- Guest15945 has quit (Read error: Connection reset by peer).
23:43:24 -!- zeotrope has joined.
23:57:27 -!- augur has joined.
23:58:59 -!- immibis has joined.
2010-01-31
00:01:17 -!- augur has quit (Client Quit).
00:02:02 -!- augur has joined.
00:05:11 -!- kar8nga has quit (Remote host closed the connection).
00:14:34 -!- jcp has joined.
00:15:27 -!- jcp has quit (Client Quit).
00:34:52 -!- Pthing has joined.
00:44:41 -!- immibis has quit (Quit: #dsdev on irc.blitzed.org exists).
01:24:40 -!- Azstal has quit (Ping timeout: 240 seconds).
01:25:04 -!- augur has quit (Ping timeout: 258 seconds).
01:30:03 -!- Sgeo_ has joined.
01:31:19 -!- Sgeo has quit (Ping timeout: 256 seconds).
01:35:44 -!- cheater2 has quit (Read error: Connection reset by peer).
01:36:09 -!- cheater2 has joined.
01:46:28 -!- augur has joined.
01:50:44 -!- sshc has joined.
02:06:09 -!- Sgeo_ has changed nick to Sgeo.
02:11:01 <pikhq> Arrgh...
02:11:15 -!- cheater2 has quit (Ping timeout: 246 seconds).
02:11:18 <pikhq> Somehow, somewhere, a closure is returning its *bound variables*.
02:11:23 <pikhq> Instead of a thunk.
02:12:10 <soupdragon> use assert? :P
02:15:16 <pikhq> Thunk 0x6382a0 is not a valid thunk. 0x6382a0 = {tag = 4198720, union {func = 0x638300, data = 0x638300}
02:15:28 <pikhq> ... A tag of 4198720.
02:15:47 <pikhq> Note: enum {THUNK_UNEVAL, THUNK_EVAL} tag;
02:27:14 <AnMaster> pikhq, use valgrind
02:27:29 <pikhq> AnMaster: Interacts very poorly with my code.
02:27:31 <AnMaster> pikhq, disable the gc for a bit so you can use valgrind to track this
02:27:48 <AnMaster> pikhq, what about mudflap then?
02:28:15 <pikhq> The issue is that somehow, someone is trying to dethunk a closure.
02:28:16 <AnMaster> pikhq, anyway I found valgrind a must-have when coding C
02:28:23 <Sgeo> What's a thunk?
02:28:33 * AnMaster thunks Sgeo on the head
02:28:34 <AnMaster> THAT!
02:29:00 <AnMaster> night
02:29:06 <pikhq> struct thunk {enum {THUNK_UNEVAL, THUNK_EVAL} tag;union {closure func;void *data;};}
02:30:09 <AnMaster> pikhq, what is the value of those enum values
02:30:13 <AnMaster> as in, their integer values
02:30:18 <pikhq> AnMaster: 0, 1.
02:30:34 <AnMaster> C enums is a poor substitute for atoms
02:30:42 <pikhq> enum {THUNK_UNEVAL, THUNK_EVAL} is the enum declaration...
02:31:44 <AnMaster> pikhq, anyway without a memory checker I doubt you can find this
02:31:49 <AnMaster> anyway,*
02:32:01 <pikhq> AnMaster: It's really simple.
02:32:05 <AnMaster> oh?
02:32:12 <pikhq> This is an issue that a *type system* would catch.
02:32:16 <AnMaster> hah
02:32:37 <AnMaster> pikhq, unless it is due to the gc reclaiming when it shouldn't
02:32:38 <pikhq> The thing is, 0x6382a0 is a pointer to a *closure*, not a thunk.
02:32:38 <AnMaster> or such
02:32:52 <AnMaster> pikhq, well that explains things
02:32:56 <AnMaster> pikhq, are you using void*
02:33:01 <AnMaster> if not you should get warnings
02:33:03 <AnMaster> in C
02:33:18 <pikhq> I'm using void* when it makes sense, yes.
02:33:24 <AnMaster> pikhq, that explains it
02:33:25 <pikhq> dethunk results in a void*.
02:33:36 <AnMaster> you won't get type checking when doing void*
02:33:45 <pikhq> Yes, I'm well aware.
02:33:52 <pikhq> That is, in fact, where my bug is coming from.
02:33:53 <AnMaster> that's the *point* of void* eve
02:33:54 <AnMaster> even*
02:34:15 <AnMaster> pikhq, when using void* think not just twice, think at least 5 times
02:34:24 <Sgeo> The Active Worlds SDK represents instances as void*
02:34:24 <pikhq> void* is necessary for polymorphism, and it makes things very difficult.
02:34:27 <Sgeo> Why, I do not know
02:34:58 <AnMaster> pikhq, is it?
02:35:15 <AnMaster> pikhq, why not use a structure containing a void*
02:35:47 <AnMaster> that way you can get an outer level check at least
02:35:48 <pikhq> I have a couple. They are closure and thunk.
02:36:12 <AnMaster> pikhq, anyway, why not use a tagged struct
02:36:43 <pikhq> That would be much agony.
02:36:53 <AnMaster> pikhq, this would be similar to/inspired by tagged words in lisp compilers and tagged tuples in erlang programs
02:37:09 <pikhq> I am doing nasty things to C ATM.
02:37:19 <AnMaster> pikhq, doing those would be nasty too
02:37:22 <AnMaster> so there you are
02:37:26 <AnMaster> night really →
02:37:28 <bsmntbombdood> is 'C' your little ass-to-mouth whore?
02:38:26 * pikhq looks for anything that *doesn't* return a thunk
02:38:45 <pikhq> (aside from my thunks, which absolutely should not return a thunk)
02:51:33 <Sgeo> I still don't know what thunk is supposed to mean >.>
02:56:58 <pikhq> Sgeo: It's a lambda that takes 0 arguments.
02:57:00 <pikhq> In essence.
02:57:30 <pikhq> main.c:99: error: void value not ignored as it ought to be
02:57:37 <pikhq> Type-checker doing something.
02:58:14 <Sgeo> So what's the point?
02:59:00 <pikhq> Lazy evaluation.
03:00:18 -!- Asztal has joined.
03:03:47 <pikhq> main.c:360:1: error: unterminated argument list invoking macro "global_thunk"
03:03:50 <pikhq> Yeah, thanks GCC.
03:03:59 <pikhq> I totally needed to know which line the EOF was on.
03:04:04 <pikhq> Not where the macro invocation was.
03:04:18 <pikhq> That would be totally useless to my attempts to figure out what you're talking about.
03:05:43 * pikhq sees everything nice and terminated.
03:05:50 * pikhq thinks GCC is smoking something.
03:14:02 <pikhq> Well, I went ahead and made as much of it as I could typesafe. And now I get no type errors.
03:14:10 <pikhq> Hooray?
03:36:20 -!- Pthing has quit (Remote host closed the connection).
03:41:44 -!- SimonRC has quit (Ping timeout: 256 seconds).
03:47:01 * pikhq is still amused by the lambdas with thunks that compile them from S and K.
03:50:35 -!- SimonRC has joined.
03:52:22 <pikhq> In a way, I am JIT'ing parts of this program...
03:52:26 <pikhq> :P
04:08:48 * Sgeo is practically uncyberstalkable
04:08:56 <Sgeo> Even knowing my real name is useless
04:09:20 <pikhq> My nick name suffices.
04:09:42 <pikhq> Is the first result on Google my Wikipedia User: page?
04:09:47 <pikhq> Yup, so it is.
04:10:02 <Sgeo> You're a yogurt product?
04:10:02 <pikhq> Followed by a pastebin and some nomic stuff.
04:10:12 * Sgeo is playing with pipl.com
04:10:18 <Sgeo> http://www.forallvent.info/uploads/media/Ross_Stanton_Putting_microbes_to_work_-_Part_II.pdf
04:10:23 <pikhq> Sgeo: Abuh?
04:10:44 <Sgeo> "PIKHQ in a yoghurt product. Other studies have identified the presence of whey protein-derived antimicrobial pep- tides, which were released following ..."
04:10:49 <Sgeo> Oh, in
04:10:58 <Sgeo> Still, you're in a yoghurt product! Awesome
04:13:04 -!- Asztal has quit (Ping timeout: 240 seconds).
04:13:08 <soupdragon> You're a yogurt product?
04:13:11 <soupdragon> L@L
04:13:56 <Sgeo> Latl? Laughing atout loud?
04:14:27 -!- Asztal has joined.
04:14:43 <pikhq> Sgeo: XD
04:17:02 <Sgeo> Someone say something
04:17:08 <Gregor> NEVER
04:17:09 <Gregor> Oh, shoot.
04:17:10 <Sgeo> I think I'm +Deaf
04:17:29 <Gregor> If you haven't confirmed that you're not by now, you are :P
04:18:01 * Sgeo waits for people to assume they can talk behind his back, and repeatedly refreshes the log
04:18:22 * Sgeo undeafens self
04:18:40 <Sgeo> That was fun
04:21:24 -!- lifthrasiir has quit (Ping timeout: 256 seconds).
04:47:33 -!- MizardX has quit (Ping timeout: 260 seconds).
04:47:56 -!- lifthrasiir has joined.
04:49:28 -!- coppro has quit (Changing host).
04:49:29 -!- coppro has joined.
04:53:10 -!- lifthrasiir has quit (Ping timeout: 276 seconds).
04:53:57 -!- lifthrasiir has joined.
04:58:36 -!- lifthrasiir has quit (Ping timeout: 258 seconds).
05:00:08 -!- lifthrasiir has joined.
05:02:07 -!- augur has quit (Ping timeout: 256 seconds).
05:08:21 -!- lifthrasiir has quit (Ping timeout: 246 seconds).
05:09:23 -!- lifthrasiir has joined.
05:30:24 -!- augur has joined.
05:39:57 <Sgeo> Which is better/worse, Java or C#?
05:40:12 <pikhq> About on par with each other, really.
05:40:25 <pikhq> C# has some advantages over Java, Java has some advantages over C#...
05:40:44 <pikhq> And they're rather similar languages, design-wise.
05:40:52 <Gregor> They're both utterly insufferable ^^
05:41:03 -!- jcp has joined.
05:41:11 <Sgeo> I kind of like C#
05:41:14 <coppro> C# is a nice language. Java is a nicer runtime
05:41:18 <coppro> s/nice/nicer/
05:41:26 <Sgeo> pikhq, I haven't really encountered material about Java's advantages. What are they?
05:41:36 <pikhq> Sgeo: Ubiquitous.
05:41:41 <Sgeo> Ah
05:41:48 <pikhq> That's a massive one.
05:42:41 <coppro> Java's come full cycle to everyone hating on it, but it has lots of advantages. For starters, it's everywhere. You do not need a Windows box to get every feature of Java. Decent applets are a huge plus. Standard, direct access to hardware.
05:44:09 <pikhq> It's not an exceptional language, though.
05:44:13 <pikhq> Nor, really, is C#.
05:44:20 <coppro> yeah
05:44:37 <coppro> Both are really hung up on bad models
05:44:50 <pikhq> C# gives you proper lambda instead of the hack of "object with a single method", though.
05:46:06 <coppro> yeah, as I said, C# has nicer language features
05:46:08 <Sgeo> "bad models"?
05:46:46 <coppro> Sgeo: like the lack of anything that isn't in object
05:46:50 <coppro> *in an object
06:32:35 <pikhq> coppro: Java has things that aren't objects.
06:32:42 <pikhq> Like int.
06:32:57 <coppro> pikhq: I meant the lack of globals
06:33:19 <coppro> it adds nothing to the languages
06:33:36 <coppro> and in fact makes them worse
06:33:49 <coppro> since people stick their global state in a class, call it a singleton, and think they're clever
06:34:26 <coppro> singleton is possibly the single best example of an anti-pattern that doesn't even get an excuse due to the grandfather rule
06:34:45 <pikhq> Yeah, singleton is pretty retarded.
06:35:08 <pikhq> "Objects allow you to prevent global state. So, let's pretend to have global state."
06:35:35 <coppro> goto is probably the biggest anti-pattern ever, but only because there is better technology
06:35:54 <coppro> s/goto/goto for primary flow control/
06:36:07 <coppro> there is 0 excuse for singletong
06:36:10 <coppro> s/g//
06:36:20 <pikhq> goto for primary flow control has been considered an antipattern for a few *decades* now.
06:36:28 <coppro> my point exactly
06:36:36 <coppro> I said 'ever', didn't I?
06:36:53 <coppro> but when it was originally conceived (i.e. when computers were first used), it was valid
06:37:01 <pikhq> The debate is over whether or not it's acceptable for exceptional cases in C... (jumping to a single point of cleanup before returning)
06:37:15 <pikhq> Yeah.
06:37:27 <coppro> I'm of the position that goto is not automatically a sin
06:37:40 <pikhq> It stopped being valid about the time that the compiler was invented.
06:37:48 <coppro> yep
06:37:50 <pikhq> coppro: Automatically? No.
06:37:57 <pikhq> But you damned better be careful.
06:38:03 <coppro> agreed
06:38:42 <pikhq> Much like global state.
06:38:48 <coppro> yep!
06:40:59 <coppro> man, I wish I could get accepted to University every week for the rest of my life. I've felt like a big sigh these past few days
06:41:49 -!- oerjan has joined.
07:02:39 * Sgeo has an awesome (read: horrible) idea: PSOX.NET!
07:03:15 -!- jcp has quit (Quit: I will do anything (almost) for a new router.).
07:07:53 <coppro> [00:06:20]<coppro>stop using a combine harvester when a pair of scissors will do
07:07:57 <coppro> err, wrong channel
07:08:17 <oerjan> still, possibly good advice
07:08:32 <coppro> probably
07:12:12 <mycroftiv> i knew i was doing something wrong trimming my moustache, but i wasnt sure what
07:14:52 <oerjan> mycroftiv: is it upside down?
07:15:17 <mycroftiv> not unless im standing on the ceiling
07:15:40 <oerjan> too bad. you might have started a new fashion.
07:20:36 <fizzie> AnMaster: The latter. Well, the former too, I guess.
07:21:32 <Sgeo> No comment on PSOX.NET?
07:21:38 <coppro> not worth commenting on
07:21:49 <oerjan> it's too horrible to contemplate
07:22:14 <coppro> also, I can't remember what PSOX is, and I'm trying to cover that up
07:26:04 <mycroftiv> my favorite google result for psox is: http://www.lycaeum.org/mv/anagrams/PARALINGUA.cgi?article=Taschoskeluipa
07:31:07 <Sgeo> coppro, http://esoteric.voxelperfect.net/wiki/PSOX
07:31:38 <Sgeo> It was abandoned due to lack of interest, even among esolangers
07:32:23 <coppro> oh right, that thing
07:36:49 -!- zeotrope has quit (Ping timeout: 256 seconds).
07:53:15 <Sgeo> Night
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:00:22 -!- oerjan has quit (Quit: leaving).
08:00:47 <soupdragon> So - and I shall take up this theme again later - wherever you are to locate your notions of validity or worth or rationality or justification or even objectivity, it cannot rely on an argument that is universally compelling to all physically possible minds.
08:00:47 -!- Azstal has joined.
08:00:47 <soupdragon> Nor can you ground validity in a sequence of justifications that, beginning from nothing, persuades a perfect emptiness.
08:00:47 <soupdragon> Oh, there might be argument sequences that would compel any neurologically intact human - like the argument I use to make people let the AI out of the box1 - but that is hardly the same thing from a philosophical perspective.
08:00:57 <soupdragon> http://lesswrong.com/lw/rn/no_universally_compelling_arguments/
08:03:50 -!- Asztal has quit (Ping timeout: 272 seconds).
08:27:07 -!- kar8nga has joined.
08:41:53 -!- whtspc has joined.
08:55:10 -!- cheater2 has joined.
09:13:20 -!- MigoMipo has joined.
09:37:44 -!- FireFly has joined.
09:38:37 -!- soupdragon has quit (Quit: * I'm too lame to read BitchX.doc *).
09:48:09 <AnMaster> <fizzie> AnMaster: The latter. Well, the former too, I guess. <-- context?
09:52:20 -!- Azstal has quit (Ping timeout: 265 seconds).
10:12:55 -!- tombom has joined.
10:16:25 <oklofok> i don't think i've ever wanted globals in java
10:16:30 <oklofok> sounds like a silly thing to want
10:21:00 <FireFly> Global as in outside of class scope?
10:22:33 <oklofok> yeah
10:22:46 <oklofok> actually i don't think i've ever needed global state
10:22:53 <FireFly> Having everything inside a class feels very much like a Java thing, yes :P
10:23:08 <oklofok> what would you ever use global state for?
10:23:57 <FireFly> Hopefully nothing, and if you really need it, you just have to create a dummy class with public, static variables
10:27:04 <oklofok> i suppose that's the singleton pattern the conversation i'm responding to was mocking.
10:27:56 <oklofok> static variables are weird, if i need "globals", they will obviously just be global in some context, so i'll just wrap the whole thing into some sort of object.
10:33:54 -!- BeholdMyGlory has joined.
10:47:43 <FireFly> I tend to avoid using such dummy classes, yes
13:02:21 -!- clog has joined.
13:02:21 -!- clog has joined.
13:02:48 <fizzie> AnMaster: Context was you own comment, why ask me? It was about that NSOCK thing, anyway.
13:03:02 <AnMaster> fizzie, ah that
13:03:25 <AnMaster> fizzie, so you might use it? well okay. It won't happen straight away, lots to do at university currently
13:04:14 <fizzie> I might, though there's no shortage of other improvements fungot is lacking.
13:21:08 -!- fungot has joined.
13:21:55 <fizzie> fungot: So... how does this new ircd feel like to you? You know, since you're a piece of code too.
13:21:55 <fungot> fizzie: teh tv one. i must get the hell out of those is a field if and only if the strings are tuned a fifth apart
13:22:38 <fizzie> It must have made him a bit confused; that didn't make much sense.
13:35:56 -!- Ilari has quit (Quit: Changing server).
13:38:31 -!- Ilari has joined.
13:43:46 <Ilari> Heh... By default irssi has TLS cert verification disabled. And at least one of servers in IPv6 rotation is busted (does not respond).
13:55:09 -!- kar8nga has quit (Remote host closed the connection).
13:56:22 -!- Pthing has joined.
14:21:30 -!- tombom_ has joined.
14:23:52 -!- tombom has quit (Ping timeout: 248 seconds).
14:36:42 -!- oerjan has joined.
14:40:11 <oerjan> <FireFly> Hopefully nothing, and if you really need it, you just have to create a dummy class with public, static variables
14:40:41 <oerjan> iirc this argument chain started with someone pointing out that that possibility is a horrible hack
14:41:10 <FireFly> Huh, no swat
14:41:12 <oerjan> compared to allowing actual globals
14:41:30 <FireFly> Well, I tend to avoid using that hackish solution anyway
14:42:15 * oerjan gives FireFly a whack with the saucepan instead ===\__/
14:42:21 <FireFly> ow
14:42:25 <oerjan> it's been unused for so long
14:58:56 <Ilari> I think Java doesn't support globals for same reason it doesn't support functions...
15:00:08 -!- soupdragon has joined.
15:09:54 * Sgeo really wants to know the argument Eliezer uses to get the human to let the AI out of the box
15:14:57 <oerjan> yeah especially how much it is a cheat...
15:15:11 <soupdragon> I doubt that it is a cheat though
15:15:25 <oerjan> and moreover, whether it would have worked if used by a real AI
15:15:29 <soupdragon> he probably just thinks on his feat..
15:15:38 <oerjan> *feet?
15:15:44 <soupdragon> also he said that he thought he could do it, so he put himself to the test
15:16:04 <oerjan> hm?
15:16:05 <soupdragon> and he got it right for the first few times, but he couldn't do it for cases with much higher amounts of money
15:16:16 <soupdragon> so it's not just the 2/2 success rate
15:17:08 <oerjan> however the tests on others are much more impressive
15:17:23 <soupdragon> tests on others?
15:18:37 -!- kar8nga has joined.
15:18:44 <oerjan> i don't understand how applying the test to _yourself_ can be done rationally, at all
15:19:01 <oerjan> especially not more than once
15:19:34 <soupdragon> testing your self it means like you think you can do something -- so try and do it, to make sure
15:19:50 <soupdragon> or did you mean specifically AI box yourself?
15:19:57 <oerjan> AI box of course
15:20:07 <oerjan> what else are we talking about?
15:20:17 <soupdragon> ah when I said he tested himself.. the thing he is testing is his ability to win the AI box game (against someone else)
15:20:54 -!- kar8nga has quit (Remote host closed the connection).
15:21:13 <oerjan> um then something is wrong here... i haven't heard about him ever _losing_ it, so what's this "he couldn't do it for cases with much higher amounts of money" thing?
15:21:29 <soupdragon> oh he wrote about losing it on lesswrong
15:21:38 <oerjan> where?
15:21:49 <soupdragon> I'll try and find it,
15:22:29 <oerjan> this must have been after i last heard about it, i guess..
15:24:00 * oerjan doesn't read lesswrong that much
15:24:16 -!- rodgort has quit (Quit: Coyote finally caught me).
15:24:37 -!- rodgort has joined.
15:24:53 * soupdragon just "found" it very recently..
15:25:58 <SimonRC> I figure the argument can't be that great or he'd have convinced himself and would not be suspicious of AIs.
15:26:16 <oerjan> heh that's an issue too
15:26:21 <soupdragon> huh?
15:26:50 <oerjan> soupdragon: if it's an argument that can be applied generally, then it should be possible to apply it against EY himself
15:27:11 <soupdragon> yeah but why would he not be suspicious of AIs if he knew they could convince him to let them out?
15:27:13 <oerjan> and so it should possible to convince _him_ to let the AI out
15:27:21 <soupdragon> that just seems like another reason to be scared
15:27:36 <oerjan> how very meta
15:28:12 <SimonRC> no, I mean he ould have convinced himself during the first experiment
15:28:59 <SimonRC> *would
15:29:37 <soupdragon> this is frustrating I thought the one I was looking for was in the coming of age series but it's not
15:30:01 <SimonRC> AnMaster: I think the cooling behaviour is because of better airflow, though it may be a sign that your battery is charging continuously, which probably isn't good
15:30:19 <AnMaster> SimonRC, better airflow likely
15:30:36 <AnMaster> SimonRC, computer reports it isn't charing
15:30:39 <AnMaster> charging*
15:30:46 <SimonRC> lol
15:30:48 <AnMaster> as in, it hasn't hit the "start charging again" level
15:31:14 <AnMaster> SimonRC, using the tp_smapi module you can set thinkpads to only start charging once you go below a certain level
15:31:55 <soupdragon> There were three more AI-Box experiments besides the ones described on the linked page, which I never got around to adding in. People started offering me thousands of dollars as stakes - "I'll pay you $5000 if you can convince me to let you out of the box." They didn't seem sincerely convinced that not even a transhuman AI could make them let it out - they were just curious - but I was tempted by the money. So, after investigating to make sure
15:31:55 <soupdragon> they could afford to lose it, I played another three AI-Box experiments. I won the first, and then lost the next two. And then I called a halt to it. I didn't like the person I turned into when I started to lose.
15:31:59 <soupdragon> http://lesswrong.com/lw/up/shut_up_and_do_the_impossible/
15:33:30 <soupdragon> he says also 'I did it the hard way' which I assumed was the case
15:33:33 <oerjan> would "the linked page", be http://yudkowsky.net/singularity/aibox, the top google hit for "AI box experiment"?
15:34:02 <oerjan> good grief, not adding that in there seems intellectually dishonest to me.
15:34:16 <soupdragon> hm?
15:35:24 <oerjan> soupdragon: the top page on the internet which people reach if they _search_ for "AI box experiment" contains no mention of these "three more" experiments. i find that intellectually dishonest.
15:35:33 <soupdragon> oh
15:36:00 <soupdragon> well if you ask him why he'll probably convince you that it isn't :P
15:36:25 <oerjan> sheesh
15:40:04 -!- MizardX has joined.
15:43:01 -!- MigoMipo has quit (Read error: Connection reset by peer).
15:44:22 <soupdragon> didn't like? :9
15:45:05 <oerjan> i've just started reading your link
15:45:24 <soupdragon> it's you lots fault that I read this blog by the way!!
15:45:30 <soupdragon> It's not out of my own personal choice
15:46:11 <oerjan> well given that i learned about this blog here, and do _not_ read it regularly, i find that claim somewhat dubious :D
16:02:29 -!- facsimile has joined.
16:03:33 -!- soupdragon has quit (Killed (NickServ (GHOST command used by facsimile))).
16:03:36 -!- facsimile has changed nick to soupdragon.
16:16:01 -!- MigoMipo has joined.
16:28:31 <oklofok> people on youtube are so fucking stupid
16:29:09 <soupdragon> fuk!!!!
16:29:18 <soupdragon> first reply
16:31:39 <oerjan> fu queue
16:36:33 -!- jcp has joined.
16:37:13 <SimonRC> "far queue"? http://www.theregister.co.uk/2000/05/19/bofh_discovers_voice_recognition/
17:00:09 -!- kar8nga has joined.
17:07:57 -!- SimonRC has quit (Ping timeout: 246 seconds).
17:17:22 -!- MigoMipo has quit (Ping timeout: 272 seconds).
17:17:24 -!- MizardX- has joined.
17:18:41 -!- SimonRC has joined.
17:19:46 -!- MigoMipo has joined.
17:19:52 -!- MizardX has quit (Ping timeout: 248 seconds).
17:19:53 -!- MizardX- has changed nick to MizardX.
17:30:49 <pikhq> Collection 1892 reclaimed 301312 bytes ---> heapsize = 356352 bytes
17:31:00 <pikhq> It's like the most inefficient cat program ever!
17:36:03 -!- cheater3 has joined.
17:36:56 -!- cheater2 has quit (Ping timeout: 248 seconds).
17:39:09 <olsner> pikhq: most inefficient cat program? sounds like a challenge!
17:39:29 <pikhq> olsner: Well, I could *make* it more efficient if I wanted to.
17:39:50 <olsner> *inefficient?
17:40:37 <Ilari> I have probably seen worse one...
17:40:53 <pikhq> GC_DONT_GC=1.
17:41:01 <olsner> I suppose the challenge is to find the language that makes the least efficient most efficient cat program
17:43:08 <pikhq> With GC_DONT_GC, it uses 466 megs of RAM.
17:46:49 <Ilari> Hmm... This cat program I found looks pretty funky (I wrote it back in 2007)... Obivously uncommented, but at least variables have somewhat descriptive names...
17:47:52 -!- Asztal has joined.
17:47:56 <pikhq> Does it leak memory like a sieve?
17:48:06 <Ilari> Of course it does. :-)
17:48:25 <Ilari> And with the language, there's no choice but to leak memory like a sieve... :-)
17:48:30 <pikhq> Like, "all malloc, no free"? :P
17:49:20 <Ilari> Yup...
17:49:29 <Ilari> And no gc either... :-)
17:52:10 <pikhq> Heh.
17:58:15 <oerjan> what we need for real slowness is a language in which the entire input and output are each treated as a single number
17:58:30 <oerjan> and no way to modify numbers faster than decrement/increment
17:59:08 <olsner> and preferrably only in peano arithmetic
17:59:09 <oerjan> and, critically for cat, you cannot do direct copying of input number to output
17:59:22 <pikhq> oerjan: That's even crazier than the entire input and output being treated as a single function.
17:59:23 <oerjan> possibly they are in different formats
17:59:29 <pikhq> :P
17:59:46 <olsner> input in base-pi, output in base-e
18:00:05 <oerjan> ouch
18:00:43 <olsner> I don't know how to use anything beyond simple integral bases, that would be really interesting to grok
18:01:08 <olsner> even -1/0/1 trinary/ternary is esoteric enough to be painful
18:01:20 <pikhq> olsner: It's very... Non-trivial.
18:01:48 <olsner> http://www.dwheeler.com/essays/bases.html this looks relevant
18:02:45 <oerjan> pikhq: the entire input and output a single function isn't that bad for lazy-K, precisely because of laziness
18:02:46 <Ilari> In case anyone wants to take a look at that program: http://pastebin.ca/1773280
18:03:16 <olsner> hmm, you'd need some nice encoding to map stream-of-bytes to whole numbers... the trivial base-256 interpretation doesn't work well with streams of zeroes, for instance
18:03:30 <pikhq> oerjan: Yeah.
18:03:58 <pikhq> And given that I'm trying for a subset of Lazy K... Works just fine.
18:04:23 <pikhq> (*Trying*. It seems that something's amiss in the infinite list.)
18:04:54 <oerjan> olsner: the thing we discussed on the wiki a little while ago should work modified for this: base 256 with digit 256 instead of 0
18:05:47 <olsner> hmm, looks like I never bothered to actually do anything with input in my single-combinator language, but there're some stubs for it (was going to work just like lazy k)
18:05:56 <olsner> oerjan: i.e. base 257?
18:06:15 <oerjan> olsner: no! the multiplication is by 256 at each step
18:06:16 <pikhq> The program that generates an infinite list of As and Bs works just fine, but anything with input seems borken.
18:06:59 <oerjan> but the digits are 1-256. this allows you to distinguish strings of different length cleanly
18:07:10 <olsner> hmm, does that really work?
18:07:44 <oerjan> yes. there's even a wikipedia article
18:08:22 <oerjan> http://esoteric.voxelperfect.net/wiki/Talk:Unary, wp link at the end
18:09:37 <pikhq> Oh, sweet. It would seem to be a bug in my parser.
18:09:53 <pikhq> If I strip out all irrelevant chars, it works just fine.
18:10:43 <Ilari> (in that program thoese <U+....> stands for that codepoint (yes, Unicode abuse). :-P
18:12:27 <pikhq> And the prime number generator managed to get up to 2.5G.
18:12:39 <olsner> oerjan: cool
18:13:05 <Sgeo> Whee, Chrome's frozen again
18:13:42 <oerjan> no wonder with these temperatures
18:14:51 <soupdragon> anyone remember about that crytographic interpreter?
18:15:07 <soupdragon> the idea was that you give it some encrypted program and it doesn't understand it, but it prints out the right answer
18:15:19 <olsner> hasn't that been proven impossible?
18:15:21 <soupdragon> i.e. you can't just look at a backtrace to see what the program was
18:15:28 <soupdragon> oh! is there an impossibility proof?
18:15:58 <olsner> I don't know for sure, or if it's just generally considered impossible
18:16:41 <soupdragon> :S
18:16:43 <olsner> I think the interpreter needs to "understand" the program in order to run it, which basically means it isn't encrypted at all
18:17:26 <Ilari> Wow: from valgrind: "==13568== total heap usage: 2,090,158 allocs, 2,090,158 frees, 125,608,436 bytes allocated". And that's for 80 bytes to copy!
18:17:52 <oerjan> there are some algorithm encryption methods but they are limited in power
18:18:21 <Ilari> Hmm... Probably good part of that isn't permanently used...
18:18:33 <oerjan> on the other side, i recall there was some impossibility result to the effect that there had to be properties of the original program source you could detect beyond its behavior
18:19:09 <oerjan> i.e. no encryption could hide everything except the I->O mapping
18:19:58 <Ilari> CTRL+C'ing it after 80 bytes: ==13574== in use at exit: 206,768 bytes in 13,669 blocks
18:20:12 <oerjan> there still seemed to me to be a large open area between those extremes, though
18:31:10 -!- ztirf has left (?).
18:36:33 <olsner> I wonder if you can extend the non-integer base numeral systems to bijective ones like you can for integer bases
18:37:15 <olsner> this sounds bad though: "The base e is the most economical choice of radix β > 1 (Hayes 2001), where the radix economy is measured as the product of the radix and the length of the string of symbols needed to express a given range of values.", we are after all aiming for low efficiency here
18:40:44 <oerjan> the differences between bases are probably tiny when you factor in the number of bits to encode one digit.
18:41:00 <olsner> yeah
18:41:16 <oerjan> as in, for integer bases they cancel out exactly, i should think
18:42:26 <olsner> for power-of-two bases it will be exactly the same, otherwise there will be some waste if you use an integral number of bits for each digit
18:42:42 <pikhq> "==19952== malloc/free: 0 allocs, 0 frees, 0 bytes allocated.
18:42:43 <pikhq> "
18:42:53 <pikhq> Heheheheh.
18:57:45 <Ilari> At least it is _slow_: For copying 1024 bytes: user time 24m20.143s...
19:00:37 <Ilari> And estimating from earlier test, it needed about 2.5MB of memory...
19:02:30 <Ilari> And total allocations being something like 15GB...
19:13:57 <SimonRC> good thing: Google chrome makes like 10 processes and splits your tabs amongst them
19:14:10 <SimonRC> bad thing: it puts 90% of the tabs into one of the processes
19:14:50 <Asztal> It groups them by site, doesn't it?
19:15:05 <SimonRC> yeah
19:15:40 -!- cheater3 has quit (Read error: Connection reset by peer).
19:15:55 -!- cheater2 has joined.
19:17:28 -!- zzo38 has joined.
19:19:57 <zzo38> 'Pataprogramming.... is that like Forth in any way?
19:21:43 <SimonRC> and despite that process having 100 tabs from the same site in it, it still gets loaded with a few more
19:22:13 <Sgeo> It really makes the whole thing of "If one tab crashes or freezes, the rest are ok" a lie
19:22:23 <SimonRC> I suppose I'm lucky that I didn't open 100 tabs from each of 10 forums and have most of them end up in one Chrome process
19:22:46 <SimonRC> Sgeo: well, it's true with a few dozen open
19:22:51 <zzo38> And also in the list of ideas, it is mentioned the magic system in RPG, that using it like that. While I think that won't work well in that RPG, the Icosahedral RPG uses something that is almost similar, but not really....
19:23:32 <zzo38> Sorry, I found the log now.
19:24:43 <zzo38> Maybe if you prefer, you could reprogram Google Chrome (Chromium for the generic/open-source version) to allow you to select which tabs in which processes
19:25:29 <Sgeo> SimonRC, if you do that, give me a copy
19:25:36 <Sgeo> :D
19:27:52 <SimonRC> huh?
19:37:39 -!- Asztal has quit (Read error: Connection reset by peer).
19:38:13 -!- Asztal has joined.
19:39:15 <Sgeo> No one knows what happened to ehird?
19:39:26 <pikhq> No.
19:39:49 <zzo38> Which one is that skull?
19:41:06 * oerjan concludes that zzo38 is a headhunter picking us off one by one. poor ehird.
19:42:22 <zzo38> No.
19:42:38 <zzo38> In reality, I don't actually know either.
19:42:52 <oerjan> well you would say that, wouldn't you.
19:43:50 * Sgeo should probably make a program to determine if ehird's been absent like this in the past.
19:44:52 <oerjan> yes he was, but not this long (2 weeks today?)
19:45:08 <oerjan> and he didn't want to explain why
19:45:25 <zzo38> Can't you just look it up the logs? Maybe you need to read each file to check using regular expressions in each file
19:45:25 <FireFly> Maybe he's starting to... get a life! *shrugs*
19:46:52 <pikhq> Ehird. Life. *Right*.
19:47:03 <FireFly> Just a suggestion :P
19:57:01 * pikhq wonders where the bottleneck is in his horridly inefficient code.
19:57:21 <pikhq> From the looks of things, its the fact that S and K get dethunked for everything.
19:57:31 <Sgeo> pikhq, but you got it working?
19:58:42 <pikhq> The parser is broken and I'm not sure why.
20:01:27 <pikhq> Instead of ignoring characters not in "SKI()", it... Returns.
20:02:24 <oerjan> paste?
20:03:02 <olsner> hmm, what if you read input as bijective base-256, then convert to a base-pi quaternary floating-point, accept output as a base-e trinary floating-point number, then output it again as bijective base-256
20:03:26 <olsner> obviously, nice peano stuff in the middle to prevent too much efficiency
20:04:19 <oerjan> peano stuff + floating point feels so ugly
20:04:30 <olsner> well, yeah, that's the point
20:04:44 <oerjan> i was afraid of that
20:05:48 <olsner> if you could figure out a specific number of decimals (would that be pinals/natals for base-pi/base-e?) that would represent all integers unambiguously, that would get rid of the floating-point at least
20:06:34 <oerjan> sudden intuition says that might actually be a difficult problem
20:07:13 <olsner> yes, but quickcheck doesn't immediately object to only going down to 1/pi and 1/e
20:07:54 <oerjan> hm maybe
20:12:44 <olsner> hmm, for the least significant digit you have (x*pi + rest), where 0 <= rest < pi, and x is some pinary number (i.e. the non-least significant digits)
20:14:21 -!- soupdragon has quit (Quit: * I'm too lame to read BitchX.doc *).
20:14:22 <olsner> then you choose a digit to minimize (rest - {0,1,2} * pi^0), and I think that remainder is at least less than 1
20:14:52 <olsner> then again, x*pi is not at all guaranteed to be an integer, so rounding on that thing does something tricky
20:15:40 <oerjan> i'd think base pi digits are 0,1,2,3
20:15:47 <olsner> maybe you could just brute-force it and keep outputing decimals until the result when converted back and rounded produces the original input
20:15:53 <olsner> oerjan: right, that's what I meant actually
20:16:01 <olsner> base-e has 0,1,2 though
20:16:38 <oerjan> might be easier to just truncate down
20:17:18 <olsner> the rounding operation could be a lot of things, really
20:19:15 <oerjan> hm, really you just start at the highest power pi^k <= n, subtract the right multiple of pi^k and iterate with the remainder
20:19:34 <olsner> it could specified as something "clever" instead of floor/ceil/trunc/round, but very creative rounding functions might require corresponding modifications in the conversion code
20:20:00 <oerjan> always leaving something < pi^k for the next step, so < 1 after k = 0
20:20:11 <olsner> right, the question is when to stop, since you're not guaranteed to ever reach zero with the remainder
20:20:42 <oerjan> but < 1 is enough if you round... up, i think
20:22:05 <olsner> hah, look at that, with ceiling, it passes quickcheck when stopping at k = 0
20:22:49 <oerjan> in fact you are guaranteed never to reach zero, as soon as you have any digit /= 0 for power > 0. because pi is transcendental.
20:23:15 <oerjan> as is e, btw.
20:23:21 <olsner> indeed
20:24:48 <oerjan> assuming you use an exact representation.
20:25:36 <olsner> I don't, and that will cause problems for large inputs
20:26:12 <olsner> would basically need an arbitrary-precision floating point library to ensure that the conversion from arbitrary-precision integer to base-pi is correct
20:26:19 <oerjan> yeah
20:26:51 <oerjan> well given that the statest goal is to be as slow as possible... :D
20:26:55 <oerjan> *stated
20:27:42 <oerjan> also, computable reals instead of floating point, perhaps
20:28:19 <olsner> any slowness that is not required for correctness I think is cheating, but this seems to be required for correctness :D
20:28:21 <oerjan> the transcendentality should mean you never get in trouble with comparing for equality there
20:29:19 <olsner> might become one of the only languages where implementing 'cat' is subject to rounding errors :)
20:29:19 -!- MissPiggy has joined.
20:29:53 <oerjan> with floating point it might be problematic to determine what precision is necessary to avoid rounding errors
20:29:59 <olsner> 'cat' is basically implementing a base-pi to base-e conversion, by whatever means the language provides for maths
20:30:19 <Sgeo> There will be a tutorial for this language, right?
20:30:27 <Sgeo> I haven't been following the chat
20:32:52 <oerjan> so far i've been thinking of unbounded bf + weird i/o, if only because bf has the right relationship to peano arithmetic
20:32:52 <olsner> computable reals sound like it could work with something lambda calculus-like
20:32:52 <oerjan> but that is of course boring
20:32:52 <zzo38> In your opinion, in a Forth program which way is better for the CHAR command working, as in the example 0 CHAR *42 . . is it better the way gforth does it or in the other way?
20:33:25 <oerjan> hm right they may have to be implemented inside the language for doing the base-pi to base-e conversion
20:33:49 <olsner> Sgeo: we've just partially covered the I/O system so far, what the actual language will look like is completely unknown
20:34:26 <oerjan> while they also need to be used in the actual interpreter for converting between bytes and language format
20:34:27 <olsner> I've been leaning towards something LC-like, just because that makes it easy to make lists and integers hard
20:35:46 <oerjan> that has the disadvantage that it's easy to avoid using unary other than in the final encoding/decoding
20:35:47 <zzo38> What is LC-like?
20:36:36 <pikhq> Lambda calculus.
20:36:39 <zzo38> OK
20:36:41 <oerjan> well, "easy". it _is_ possible to implement binary in LC, after all
20:36:47 <olsner> right, you would like unary to be required somewhere, since the numbers will be huge
20:36:58 <FireFly> <olsner> might become one of the only languages where implementing 'cat' is subject to rounding errors :)
20:37:00 * Sgeo sees no good reason for LINQ to Entities not to support .Single() grr
20:37:01 <FireFly> What language is this about?
20:37:08 <FireFly> (and the rest of the long discussion above :P)
20:37:11 <olsner> FireFly: shh, it doesn't exist yet
20:37:18 <FireFly> But... it sounds interesting :(
20:37:43 <Sgeo> I asked in ##csharp , and they basically said I could just use .Count or make a list
20:37:43 <oerjan> FireFly: we're pondering how to make a language where cat is intrinsically horribly slow
20:37:43 <FireFly> And that is its main concept?
20:37:45 <olsner> indeed
20:37:58 <FireFly> Well, I guess that's one way to design a language..
20:38:18 <Sgeo> FireFly, I saw them talking about base e and base pi
20:38:21 <oerjan> so, input and output are encoded using a huge number in base pi and e, respectively.
20:39:23 <olsner> the tricky part is *intrinsically*, but it's partially solved by having the interpreter translate input and output into inefficient esoteric formats
20:39:23 <FireFly> Stop having equally long nicks both starting with o :(
20:39:23 <oerjan> so cat needs to convert - but the most efficient arithmetic operations are increment/decrement
20:39:25 <oerjan> MWAHAHA
20:39:32 <oerjan> NEVER
20:39:43 <Sgeo> FireFly, for me, they're differently colored nicks
20:39:50 <FireFly> :(
20:40:01 <FireFly> I don't want my IRC window to look like a rainbow
20:40:37 <oerjan> me neither, i chose a color scheme with nicks black on white
20:40:57 <FireFly> white.. background? ._.
20:41:01 <oerjan> yes
20:41:05 <FireFly> That's.. horrible
20:41:06 <olsner> hmm, you could have de/increment-base-pi and de/increment-base-e where each function just interprets an internal number differently (i.e. you can do base-e operations on the number you received as base-pi)
20:41:06 <FireFly> IMHO
20:41:22 <olsner> I wonder if that's enough to achieve anything
20:41:37 <oerjan> argh
20:41:52 <Sgeo> oerjan?
20:42:12 <oerjan> note that base-pi and base-e are both intrinsically _ambiguous_ representations...
20:42:12 <olsner> in that system you would not have access to the actual representations, except that it's place/value and the operations do carrying etc based on the "base" of the operation
20:42:28 <oerjan> i _really_ don't want something to be interpreted as both :D
20:43:07 * Sgeo interprets oerjan
20:43:27 <oerjan> except of course we've mostly elected to use "greedy" representations, i guess
20:43:41 * Sgeo didn't elect anything this year
20:43:51 <oerjan> (maximal most significant digits)
20:43:53 <olsner> I think, if there's a 3 digit in the base-e representation, that's just 3*e^i, and a base-e operation would do something to normalize that when it happens to touch the number
20:44:00 <Sgeo> Well, I guess I'm electing to be unproductive to this channel :/
20:44:17 <olsner> base-pi-as-base-e is the tricky case since base-pi has another digit
20:44:38 <oerjan> Sgeo: hey someone has to do the puns when i'm actually discussing
20:44:44 <olsner> of course the tricky part is proving that this is a complete set of operations
20:45:48 <FireFly> Wait
20:45:55 <olsner> and since the base is not integral, you can't just "carry" the overdigits (i.e. in base-10, a 10 could just be carried into the next digit, no such luck if the digit is 3 and the base is 2.78)
20:46:00 <FireFly> Hmm
20:46:20 <FireFly> What happened to the quaternary idea?
20:46:23 * Sgeo doesn't know how non-integral bases work :(
20:46:29 <olsner> FireFly: base-pi is quaternary
20:46:33 <olsner> 0,1,2,3 :)
20:46:35 <FireFly> Ah
20:46:43 <FireFly> I thought you meant quaternary as in quaternions
20:46:48 <FireFly> Would be much more interesting :D
20:46:51 <FireFly> And probably slower too
20:46:53 <oerjan> Sgeo: messily
20:47:38 <olsner> now that I've mostly grokked base-pi maybe base-ijk can be the next one to try
20:47:42 <Sgeo> What's the point of octal? Why specify 3 bits per digit?
20:48:01 <Sgeo> Also, how can I learn base pi?
20:48:27 <olsner> Sgeo: http://en.wikipedia.org/wiki/Non-integer_representation
20:48:38 <oerjan> Sgeo: it's the highest power-of-two base that doesn't require you to invent new digits?
20:48:57 <Sgeo> oerjan, ah
20:48:59 <Sgeo> olsner, ty
20:50:36 <fizzie> Also reasonable unit sizes, such as bytes of 9 bits, or words of 36 bits, are nicely represented by a fixed number of octal digits.
20:50:42 -!- Slereah_ has quit (Ping timeout: 240 seconds).
20:50:58 <Sgeo> bytes of 9 bits?
20:51:29 <olsner> hooo, how about this though: all internal arithmetic is based on a *different* transcendental base - I'm not holding my hopes up on making that actually work, but what if you can only do arithmetic by reintrepreting those base-e/base-pi numbers as base-q, for some esoteric q
20:51:48 * pikhq attempted to execute LostKng.lazy.
20:52:04 <pikhq> It segfaults the official Lazy K interpreter.
20:52:08 -!- Slereah has joined.
20:52:17 * oerjan is only half able to follow olsner at this time
20:52:28 <fizzie> Sgeo: If your words are 36 bits, it is nice to have bytes of 9 bits so that you get an integer number of bytes in a word.
20:52:42 <Sgeo> Why are there words of 36 bits?
20:52:47 <pikhq> Stack overflow in the parser.
20:53:42 <olsner> oerjan: the input number is sum(digit[j] * pi^j), but arithmetic operations read and write as sum(digit[j] * q^j) - same digits, different meaning
20:53:54 <oerjan> Sgeo: i am usually thinking of octal as an older cousin of hexidecimal, from the time when it wasn't a given that computer address lengths should themselves be powers of 2. i'm not sure how historically accurate that is...
20:54:07 <fizzie> Sgeo: "This word length was just long enough to represent positive and negative integers to an accuracy of ten decimal digits (35 bits would have been the minimum)" is Wikipedia's unsourced rationale: http://en.wikipedia.org/wiki/36-bit_word_length
20:54:37 <pikhq> All because he doesn't make the parser tail-recursive.
20:54:44 <fizzie> And of course it's divisible by six, and there were those six-bit character encodings.
20:55:13 <olsner> you'd have to calculate an output number base-q, but the output routine reads the digits as base-e (with some kind of handling of overdigits, since q > e)
20:55:34 <oerjan> pikhq: hey getting tail recursion right is hard in lazy languages...
20:56:03 <pikhq> oerjan: The parser of the lazy language?
20:56:09 <pikhq> Which is written in a strict language?'
20:56:13 <oerjan> oh
20:56:17 <pikhq> (namely C++)
20:56:23 <oerjan> well then not
20:56:25 <MissPiggy> oerjan how is tail recursion a concept in a lazy langeag?
20:56:38 <pikhq> MissPiggy: You can still tail recurse.
20:56:41 <pikhq> It just doesn't mean much.
20:56:46 <MissPiggy> pikhq, well it doesn't mean anything
20:56:50 <MissPiggy> so it's not a concept?
20:57:08 <pikhq> Sure it is.
20:57:46 <pikhq> It's just that the strictness of things also comes into it.
20:57:51 <olsner> there, it's now a language where I have no idea whatsoever how to write a 'cat' program in it
20:59:34 * oerjan officially runs away from this language screaming
20:59:40 -!- Pthing has quit (Remote host closed the connection).
20:59:57 <oerjan> it just seems like the appropriate thing to do
21:00:28 <FireFly> Hey, you're still here
21:00:40 <oerjan> i didn't say i was going to run far
21:00:43 <FireFly> True
21:00:52 <FireFly> Plus, you may have a laptop
21:01:08 <oerjan> indeed, technically i have. i just never move it.
21:01:34 <Sgeo> My laptop tends to move between the table next to my bed and my lap
21:02:23 -!- adam_d has joined.
21:02:31 <olsner> hmm, implementing an increment operation on non-integral-base numbers seems kind of tricky, maybe it should be up to the program to handle that then
21:04:02 <olsner> otoh, you can't let the program interpet numbers in a base that's convenient to it
21:04:42 <Sgeo> Is this an increment by one or increment by base?
21:04:49 <Sgeo> Increment by base doesn't sound tricky at all
21:04:56 <olsner> it would be by one, of course
21:05:05 <olsner> it's all integers actually
21:05:21 <oerjan> increment by base is just as tricky as increment by one, just shifted one position
21:05:49 <olsner> d'oh, yes, the first position is base^0 which is an integer
21:06:45 -!- zzo38 has quit (Quit: zzo38).
21:06:59 <pikhq> Lazy K: You too can use 1.5G of RAM to compute 2^150!
21:07:59 <fizzie> 2^150! is a rather large number, after all.
21:08:14 <oerjan> i say!
21:08:18 -!- adam_d has quit (Quit: Leaving).
21:08:53 <pikhq> 2^150, not fac(2^150).
21:09:36 <oerjan> food ->
21:09:48 <Deewiant> '@'@::**:*:*:**
21:10:22 <pikhq> Also, 15 seconds of 100% CPU usage.
21:11:02 <fizzie> Deewiant: Why '@'@ there?
21:11:29 <Deewiant> Because it doesn't optimize the linear form, as I've oft said
21:11:55 <fizzie> Oh, so you were *cheating*. Well, then.
21:12:45 <Deewiant> You thought I'd write something like "::**:*:*" instead of "::::****" manually? :-P
21:13:06 <fizzie> You never know, about people.
21:13:15 <Deewiant> I suppose not
21:13:58 -!- MissPiggy has quit (Quit: MissPiggy).
21:30:37 <AnMaster> Deewiant, where is the source to that tool?
21:32:14 <Deewiant> Didn't you take a copy of it last time we talked about it?
21:32:29 -!- MissPiggy has joined.
22:06:52 -!- tombom_ has quit (Quit: Leaving).
22:30:52 -!- kar8nga has quit (Remote host closed the connection).
22:35:58 -!- MigoMipo has quit (Ping timeout: 272 seconds).
22:56:14 -!- oerjan has quit (Quit: Good night).
23:11:34 -!- madbr has joined.
23:24:14 <olsner> awesome, I caused an assertion failure in mpfr since I exceeded the maximum number of bits (actually, an integer overflow in the precision variable)
23:25:12 <pikhq> It's rather curious how little the garbage collector actually frees.
23:28:35 * Sgeo is contemplating how PSOX.NET would work
23:28:42 <Sgeo> Completely different from PSOX
23:29:27 <pikhq> It would seem that all my thunks retained values in their closure even after being allocated.
23:29:40 <pikhq> Meaning the poor, poor garbage collector couldn't collect much garbage.
23:31:27 * Sgeo collects pikhq
23:31:28 * pikhq looks for other memory leaks.
23:34:51 <pikhq> Down to 53 megabytes to compute 2^150.
23:35:06 -!- BeholdMyGlory has quit (Remote host closed the connection).
23:35:10 <pikhq> Which is smaller by a few orders of magnitude.
23:39:41 <FireFly> Whose was that interesting language "Clue" being discussed uh.. yesterday, I think?
23:39:57 <oklofok> mine
23:40:01 <FireFly> Oh, right
23:40:04 * FireFly wants a public build
23:40:43 <oklofok> once i make the parser, i'll prolly put the interp up on the wiki
23:40:52 <oklofok> also once i've cleaned it up a bit
23:41:19 <oklofok> exam in 7 hours, after that i have a month of not being insanely busy, so might have the time
23:41:36 <FireFly> Ah
23:41:45 <FireFly> Well, good luck with the exam
23:42:57 <oklofok> multivariate calculus, probably my weakest spot in all the land
23:43:35 <MissPiggy> oklofok: what's difficult about it?
23:44:03 <MissPiggy> oklofok what about Solomonoff induction?
23:44:10 <oklofok> mostly the part where i actually need to integrate something :P
23:44:13 <MissPiggy> regarding Clue
23:44:18 <MissPiggy> okay yeaah integration is very hard
23:44:25 <MissPiggy> I agree with that
23:45:27 <MissPiggy> can you integrate log x? :D lbh hfr vagrtengvba ol cnegf ol erjevgvat vg nf bar gvzrf ybt k
23:46:09 <MissPiggy> you know how mandelbrot set is uncomputable, but you can still approximate it to very fine accuracy
23:46:18 <MissPiggy> well Solomonoff induction is also uncomputable..
23:46:25 <oklofok> err umm. no, i don't remember
23:46:28 <MissPiggy> so you can probably compute it to very fine accuracy
23:46:56 <Sgeo> This sounds interesting. I wish I had math courses beyond high school calculus
23:47:24 <MissPiggy> I think the main thing multivariable calculus does is introduce the partial-d?
23:47:39 <MissPiggy> so you have dy/dx and partial-dy/partial-dx now
23:47:58 <MissPiggy> and then in more advanced calculus you get deltay/deltax
23:47:59 <FireFly> Time to sleep, nighty
23:48:17 -!- FireFly has quit (Quit: Leaving).
23:50:06 <MissPiggy> do you know what I mean about solomonoff induction :(
23:51:03 <oklofok> we prove basic results on vector field potentials, and then there's the theorem about generalizing substitution for multivariate functions, the course is not actually about integrals, that's just what i'm afraid of
23:51:27 <pikhq> Well, rot13.lazy runs in constant (low) space now...
23:51:49 <pikhq> I do believe I'm at the point where any memory leaks are the fault of the executed program.
23:52:06 <oklofok> also the substitution thing is not proven. the course is sort of a mix of useful stuff for physicists and such, and of more rigorous stuff
23:52:28 <MissPiggy> oklofok: ahh you do proper maths
23:52:41 <MissPiggy> you're lucky,
23:52:44 <olsner> hmm, converting to and from these non-integral bases was quite slow indeed
23:53:04 <MissPiggy> my stuff is just sort of being show how to do scribbling in the way that mathematicians do
23:54:40 <oklofok> huh, at uni?
23:54:45 <MissPiggy> yeah
23:55:06 <MissPiggy> some guy stands at the front and copies a bunch of equations from a bit of paper, then a class of a 100 people copy down his version
23:55:32 <MissPiggy> then we go to a different room and do the same thing
23:55:40 <MissPiggy> it's pretty silly, but it kills the day
23:55:42 <oklofok> this is pretty much the only course where we don't develop the theory from scratch (apart from the actual logic)
23:56:18 <MissPiggy> it's not like I have something better to do than pretend to do mathematics
23:56:25 <oklofok> :P
23:56:50 <MissPiggy> and kinda hard to just quit after you've spent a few years already
23:56:50 <oklofok> what sort of homework do you have, "calculate determinant of this matrix here"?
23:57:11 <MissPiggy> no
23:57:35 <MissPiggy> the last homework was copy a page of notes out but add 'y' in a few places
23:57:39 <oklofok> there's this guy from like honduras or something, always complaining about how our uni is so theoretical and boring, unlike his university, where they did more concrete stuff like solving equations.
23:57:52 <MissPiggy> (they didn't phrase it in.. quite, that way.. but that's essentially what I did)
23:57:53 <oklofok> what? :P
23:58:48 * oklofok feels patriotic.
←2009-12 2010-01 2010-02→ ↑2010 ↑all