00:02:16 * int-e would probably look for frotz' source code.
00:02:36 <zzo38> Frotz isn't a compiler (nor is it accurate).
00:02:45 <zzo38> I am using this for compiler optimizations.
00:07:41 -!- nooodl has quit (Quit: Ik ga weg).
00:11:25 -!- atslash has quit (Quit: This computer has gone to sleep).
00:12:09 <Bicyclidine> https://twitter.com/neilyourself/status/440277640533278720/photo/1/large
00:12:13 <FreeFull> zzo38: Are you writing a game?
00:13:00 <zzo38> I am writing a compiler.
00:13:36 -!- mauris has joined.
00:18:28 <zzo38> And then I write a game.
00:19:34 <int-e> zzo38: Sorry, I think you've shown us the tip of an iceberg, but the question goes deeper.
00:25:12 <zzo38> Can you explain if I missed some information, that you would require to make an answer?
00:35:41 <int-e> I was reading a bit on the Z-machine instruction format. So essentially you have some sort of assembly code (namely, Z-machine), with branches (which may go to arbitrary places in principle) and want to figure out parts that resemble well know loops?
00:36:12 <zzo38> Although, that is part of it, and I have partially figure it out.
00:36:28 <int-e> Anyway, since it's a compiler, source language, target language and implementation language would be good information.
00:37:12 <zzo38> Specifically, because of the 'branch target' pseudo instruction, you can tell that a block is internally not jumping into/out of from externally, and I have figured out that much already.
00:37:20 <zzo38> int-e: Implementation language is C and SQL.
00:37:49 <zzo38> The source language is custom and target is Z-machine executables.
00:41:24 <zzo38> Is that what you wanted?
00:44:23 <int-e> yes. I'm resolving other mysteries in the meantime, for example why I could not find IGRTR. "The opcode names used in this document were agreed between 1994 and 1995 as a standard set by Mark Howell, author of the disassembler Txd (part of the Ztools suite of utility programs), and Graham Nelson, author of the assembly level of Inform. They do not correspond to Infocom's unpublished opcode names." says...
00:44:29 <int-e> ...http://www.gnelson.demon.co.uk/zspec/preface.html
00:44:52 <zzo38> I have Infocom's opcode names and that is what I am using.
00:45:16 <zzo38> Also, the question mark is part of the name.
00:45:46 <zzo38> (That document also contains some errors. Actually, so does Infocom's document.)
00:46:11 <int-e> I was using google. It would ignore the question mark anyway. :P
00:46:26 -!- itsy has quit (Read error: Connection reset by peer).
00:46:28 <int-e> Increment, GReaTeR?
00:46:41 <zzo38> It means, increment and check if the new value is greater
00:48:58 <zzo38> I happen to think Infocom's names are better, although it is a matter of opinion.
00:49:05 <zzo38> quintopia: I don't know.
00:50:53 <zzo38> Infocom's documentation (for an unknown typesetting system) is found at: http://zzo38computer.org/backup/zspec/zip.txt for EZIP and XZIP. I also have the YZIP documentation, as well as Graham Nelson's document, and the ZIP documentation. (They all contain a few errors, unfortunately, and there are some things which none of them mention at all.)
00:52:19 <zzo38> I may later be able to implement a subset of that typesetting system (without knowing precisely if it is correct), in order to typeset that document.
00:52:48 <zzo38> quintopia: Which games do you mean? Can you be specific?
00:53:28 <quintopia> zzo38: i mean board games, card games, video games. not sports though.
00:53:41 <zzo38> Ah, OK, that is what I was asking.
00:53:50 <zzo38> I still do not know the answer.
00:54:21 <quintopia> then what is the first game that you think of when i ask the question?
00:54:34 <quintopia> doesn't have to be actual favorite
00:54:35 -!- realzies has quit (Remote host closed the connection).
00:54:37 <zzo38> I didn't actually think of any one specific, really.
00:55:09 <zzo38> Probably chess, just because I wanted to think of whether or not it counts for what you are trying to mean.
00:55:18 -!- realzies has joined.
00:55:38 <int-e> zzo38: by the branch target pseudo-instruction, you mean something to the effect " All branches must be to such a label within the same routine. (The Inform assembler imposes the same-routine restriction.)"?
00:56:30 <zzo38> int-e: Actually, I mean an instruction which has as operands, all addresses of instructions which can jump to it.
00:57:20 <zzo38> The instruction itself does nothing.
00:57:41 <quintopia> is that a real thing in the assembly language?
00:58:17 <zzo38> It is a feature in my compiler. It compiles directly to binary code, deleting all such branch target instructions when writing the output.
00:59:03 <zzo38> It doesn't use assembly language.
00:59:21 <quintopia> "cause a compiler error if anything else would try to branch to here"?
00:59:52 <zzo38> However, it is also an error to branch to anything that isn't a branch target instruction.
01:00:07 <quintopia> sounds like a much safer way to GOTO
01:01:05 <int-e> zzo38: so looking for such an instruction in the z-machine specification will fail? I misunderstood you once again.
01:01:07 <zzo38> Such feature is provided only for optimization, and is removed during the final compiling step (so are all other pseudo instructions, except for FSTACK which is replaced by ICALL to routine 0 taking its argument from the stack).
01:01:20 <zzo38> int-e: Yes, there is no branch target instruction in the Z-machine.
01:01:44 <quintopia> zzo38: how do you use it for optimization
01:02:11 <zzo38> In order to skip past an "inner block", all branch target instructions and all branches must point to within the block.
01:02:22 <zzo38> Otherwise it is not a complete "inner block".
01:02:40 <int-e> so ... i: [come from a: b: c:] ... a: [branch i:] ... b: [branch i:] ... c: [branch i:] would be something like a basic loop.
01:02:57 <int-e> (where I write "come from" for the branch target thing)
01:03:34 <int-e> and ... does not contain branches or branch targets.
01:03:44 <int-e> well, ... can be composed of more such "inner" blocks.
01:05:50 <int-e> In reality it's a bit more fun. This looks reasonable: i: [come from a,b]. [branch skip] a: [branch i] skip: b: [branch i]
01:06:33 <int-e> so i ... b spans an inner block where branches to i, a, b are allowed anywhere.
01:06:38 <zzo38> Internally the program has a table of flags for instructions, and the branches are any instruction with the "IF_predicate" flag set ("IF" means "Instruction Flag"). There are various other flags too, mainly used for optimization although they have other purposes too.
01:07:11 <int-e> (Ah, I had IF = interactive fiction)
01:07:39 <zzo38> int-e: Well, that isn't how it works; to simplify it I am not doing things like that; "skip:" then also needs a branch target from "i:" to do like that.
01:08:27 <int-e> zzo38: right, I forgot the come from for the skip label.
01:08:58 <int-e> that wasn't the point, the point was that some code could jump over the a: label.
01:09:49 <zzo38> Yes, it is possible for code to jump over other labels.
01:09:59 <zzo38> There isn't anything against that.
01:10:22 <zzo38> The code between them then won't constitute an "inner block", but that is OK.
01:14:13 <int-e> So here's you inner block then, formally: Each branch a: [branch b:] defines a *branch interval* from labels a (inclusive) to label b (exclusive) if it's a forward jump; from labels b to a, both inclusive, if it's a backward jump. An inner block is an interval I that for each branch interval B, I fully contains B, B fully contains I, or B and I are disjoint.
01:14:49 <zzo38> The idea is I am trying to pattern match one or more instructions which are specified in the pattern, followed by an inner block (which may have further restrictions placed, depending on the pattern), and then the rest of the pattern specifies what instructions come after that block, and then to replace it using another pattern.
01:16:02 <int-e> [Oh I need some additional care there, at the interval boundaries. Icky, but it doesn't look *too* horrible.]
01:16:47 -!- JWinslow23 has joined.
01:17:43 <zzo38> JWinslow23: Ears is not enough for speaking up.
01:17:49 <int-e> `relcome JWinslow23
01:17:51 <HackEgo> JWinslow23: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: <http://esolangs.org/wiki/Main_Page>. (For the other kind of esoterica, try #esoteric on irc.dal.net.)
01:18:09 <int-e> ears are astonishingly useless with standard IRC interfaces.
01:18:17 <JWinslow23> http://www.mediafire.com/listen/eo3s4eg2794rack/WinningSongJosiahW.wav
01:18:22 <int-e> (I don't have a screenreader)
01:19:24 <zzo38> I have figured that I could find an inner block by keeping track of what is the first instruction in the block, and then to keep track of what instruction is mentioned which is closest to the end, and requiring the target to be earlier than the last instruction in the block. Would this work?
01:23:43 <zzo38> (In addition, depending on what it is doing, it may also have to keep track of stack effect and so on)
01:23:46 -!- boily has joined.
01:24:35 <boily> good randomized evening.
01:24:41 <zzo38> One thing I am not sure of is how to encode the additional conditions.
01:24:48 -!- JWinslow23 has quit (Ping timeout: 245 seconds).
01:28:15 <Bicyclidine> oh yeah, well good DETERMINIST evening to you, JERK
01:28:49 <int-e> zzo38: some idea, which in retrospect sounds like what you described, as python pseudo-code: http://sprunge.us/YMHK?python
01:30:07 <int-e> oh. wrong. end == cur should be end <= cur.
01:31:24 <zzo38> int-e: Yes, this is mainly like what I am doing, actually. What I don't quite know is how to encode all of the additional conditions that are needed, such as local and global variables reading/writing, not doing I/O, and various other things, as parameters to the subroutine which finds it.
01:32:06 <int-e> . o O ( make it a higher order function. )
01:32:38 -!- shikhin has quit (Ping timeout: 264 seconds).
01:32:52 <zzo38> Yes I suppose that would be one way.
01:34:57 -!- prooftechnique has joined.
01:35:48 <boily> Bicyclidine: I played mahjong today. I embodied randomness, embraced it, welcomed it in my brain.
01:36:32 <int-e> zzo38: So I guess I'd start with some regex-like matching language (with basic building blocks that can match instructions), where instructions can be matched in two modes: one that ignores it for 'inner block' tracking, and one where it's taken into account for inner block tracking.
01:38:59 * int-e considers sleep, and approves of the idea.
01:39:31 * boily throws a green dragon tile at Bicyclidine, misses, hits int-e on the head an puts him in a coma.
01:39:47 <Sgeo> Should I read an Agda tutorial to understand dependent typing?
01:39:52 <Sgeo> I prefer Idris
01:39:55 <zzo38> I haven't actually played mahjong recently
01:40:00 <Sgeo> Cumulative universes seem like a good idea)
01:40:45 <zzo38> boily: Have you ever looked at Washizu mahjong at all? I have a set of pieces for playing Washizu mahjong.
01:41:29 <boily> zzo38: I know what it is, but never played it.
01:41:47 * boily is shopping for a laptop. «Maudit que ça coûte cher avoir de quoi de décent au Canada!»
01:42:58 <zzo38> Once I played Washizu mahjong at anime convention.
01:43:17 <zzo38> We each played two hands and kept score in a separate sheet of paper.
01:43:47 <boily> I have a kilogram of poker chips for mahjong scoring.
01:44:46 <boily> zzo38: have you ever bought a laptop in Canada?
01:44:50 <zzo38> I don't own many poker chips. I do have the sticks for mahjong scoring, but I used the paper for keeping track of hit-points (in normal mahjong, you would still use it, to keep track of match points, instead).
01:45:03 <zzo38> I have never bought a laptop anywhere.
01:46:10 <boily> we very rarely use the sticks. I find them confusing.
01:46:34 <boily> (except that one time that guy had some brightly coloured sticks. it was better.)
01:53:47 <boily> holy fungot. I clicked on the confirm order button.
01:53:47 <fungot> boily: snatches of what i have to tell. glancing at these pictures as i took them from the pencil shorthand:
01:54:16 <boily> fungot: the pictures and specs convinced me. plus there was a 30$ sale going on. not much, but it's better than nothing.
01:54:16 <fungot> boily: of unplumbed space. the old tracks crossed river street at grade, and on the clear nights the pole star leered as never before. this time the other odor ahead. paradoxically, it was observed to sink into a well, and some clambering down through networks of limestone caverns in the hollow hills and left the old bed toward the ocean as it blazed in the spectral half-light where the giant trees squirmed and twisted grotesqu
01:54:16 -!- prooftechnique has quit (Quit: Lost terminal).
01:54:31 -!- prooftechnique has joined.
01:55:23 <boily> ouch. a new digit appeared in front of my credit card bill.
01:56:46 -!- Phantom__Hoover has quit (Remote host closed the connection).
02:00:19 <boily> quintopia: quinthellopia!
02:04:20 -!- yorick has quit (Remote host closed the connection).
02:07:12 <boily> I just bought a laptop! I have to wait! my heart is racing! I'm drinking お酒!
02:07:40 <boily> mine comes with ubuntu 13.10!
02:07:42 <quintopia> well i want a windows computer. but i may set it up to be dual boot later
02:08:03 <quintopia> meantime, i can play all those windows-only games i've been meaning to play for years
02:08:34 <quintopia> s see if it's done configuring itself yet...
02:10:20 <boily> I need to find a way to get a pack of 40A-L o-ring dampeners shipped to Canada. my new teammates dislike my new mechanical keyboard.
02:14:47 <boily> I am... the Recenter Consumer.
02:16:08 <boily> (also, there's a strong possibility that I'll just archlinuxify it the moment I can get my mittengraben on it.)
02:17:34 <boily> no idea. I'm a loyal fluxbox user, so all that gnome 3 stuff and suchlike is pretty unknown to me.
02:20:09 <Bicyclidine> i probably won't totally install a new distro. i'll just flay this one.
02:20:22 <boily> they say it comes with 13.10. that's as much as I know.
02:20:36 <boily> (btw, it's a galago from system 76 I bought.)
02:25:03 <Bicyclidine> ...so have you not turned the thing on yet? or did you just put in an arch bootdrive without looking at ubuntu
02:26:19 <quintopia> okay let's see if chrome is done installing
02:26:21 -!- prooftechnique has quit (Quit: leaving).
02:28:55 <boily> can one install firefox on a chromeos machine?
02:31:15 -!- metasepia has joined.
02:31:20 <metasepia> Antonina Georgievna Borissova (19031977) was a Russian botanist, specialising in the flora of the deserts and semi-desert of central Asia.
02:36:50 <boily> fungot: where do you work?
02:36:50 <fungot> boily: above these apparent hieroglyphics was a figure of evident pictorial intent, though carter well knew that such a sound as their stinking green ichor oozed fnord upon that porous earth with the obscene fungi.
02:37:19 <boily> fungot: ancient socio-microbiology of the fungus?
02:37:19 <fungot> boily: document modified: contrasted views of the outer beings and had later killed himself, but elwood could form no guess; and it cost us a genuine pang to leave this probably crippled old fnord a lone survivor to the peril of recapture and a nameless thing had dropped from an overhanging tree into a fnord sleep from which i thought i had seen the sad remains of their ill-made cottages as i passed them by with the party, open
02:37:22 <quintopia> i know a dude who works at google also but i doubt he works on chromeos...
02:37:44 <fungot> Available: agora alice c64 ct darwin discworld enron europarl ff7 fisher fungot homestuck ic irc iwcs jargon lovecraft* nethack pa qwantz sms speeches ss wp youtube
02:37:59 <quintopia> no wonder it seemed so MELODRAMATIC
02:38:16 <fungot> Selected style: qwantz (Dinosaur Comics transcriptions 2003-2011)
02:38:46 <boily> fizzie: I am sad. your infamous bot doesn't have an oots style.
02:39:02 <boily> someone should do it manually!
02:39:14 <boily> not me. I have the Wisdom to take care of.
02:39:32 <quintopia> and not me because i am not an ootser
02:39:48 <quintopia> fungot: please transcribe oots AUTOMAGICALLY
02:39:48 <fungot> quintopia: oh, that may be a fact; it is impossible to know if my dream, everything had turned into plasticine! do i like it because it's so delicious because i like to keep my own counsel.
02:40:15 <boily> quintopia: fungot is eating plasticine. I don't think he'll be of much help there.
02:40:15 <fungot> boily: different ways to say " no, i will definitely not love: not the same: the judge of that!"
02:40:28 <quintopia> there is a dinosaur comics about lucy in the sky with diamonds? now i want to go read DC
02:44:32 -!- mauris has quit (Ping timeout: 265 seconds).
02:46:47 <boily> (murray too, if you happen to like skulls.)
02:47:21 <quintopia> http://www.qwantz.com/index.php?comic=272
02:50:06 <boily> murray, as in that skull from Monkey Island, and as it happens in DCSS too.
02:50:17 <quintopia> when you buy an eel pie but the eel bites your eye...that's a moray!
02:52:02 * boily lightly mapoles quintopia
02:54:23 -!- Bicyclidine has quit (Ping timeout: 245 seconds).
02:54:37 -!- boily has quit (Quit: Payeen to a Twang \\ Derrida \\ Ore-Ida \\ potato. \\ If you dared, \\ I'd ask you \\ to go dig \\ up your ides under brown- \\ tubered skies. \\ where pitchforked \\ you will ask \\ Derrida?).
02:54:50 -!- metasepia has quit (Remote host closed the connection).
02:56:22 <Sgeo> Wonder if 3dna is a bit like a 3d version of Microsoft Bob
02:56:33 <Sgeo> Which doesn't really stop me from liking 3dna
03:00:06 -!- Sellyme has quit (Excess Flood).
03:00:43 -!- Sellyme has joined.
03:08:20 <quintopia> why doesn't boily leave metasepia running when he goes to bed :?
03:20:50 <zzo38> How should a pattern for matching the sequence of instructions be formatted?
03:24:54 <Bike> 3-deoxyribonucleic acid
03:25:25 -!- constant has changed nick to variable.
03:29:49 <Sgeo> I should totally buy Fitznik and Fitznik 2
03:29:59 <Sgeo> I remember a friend helping me solve a Fitznik level
03:30:07 -!- Sprocklem has quit (Quit: Leaving).
03:30:28 -!- Sprocklem has joined.
03:36:52 <Sgeo> :( I can't find where to buy it
03:36:58 <Sgeo> CNET linked me to dexterity.com
03:38:32 -!- tertu has joined.
03:39:58 <Sgeo> http://www.sodaware.net/games/fitznik/
03:43:07 -!- tertu has quit (Ping timeout: 244 seconds).
03:46:50 -!- Gracenotes has quit (Changing host).
03:46:51 -!- Gracenotes has joined.
04:03:57 -!- tertu has joined.
04:13:01 <Bike> http://arxiv.org/abs/1402.7301
04:21:29 <oklopol> The largest TSP instance so far that has been solved optimally has 85,900 vertices.
04:21:48 <oklopol> let me break the world record
04:23:30 <oklopol> consider the labeled directed graph (\{0,\ldots,85900\},\{(i,i+1) (mod 86901)\},(i \mapsto 1))
04:24:28 <oklopol> its only hamiltonian cycle is (up to a rotation), (0,\ldots,85900,0), by considering the possible continuations from 0
04:24:57 <oklopol> the distance traveled is 85901
04:25:45 <oklopol> "Its solution required more than 136 years of total CPU time using the branch-and-cut based Concorde TSP code [1]"
04:25:51 <oklopol> sometimes my brain amazes me
04:29:12 <oklopol> Bike: if you think that's silly, please supply a sensible meaning to their sentence
04:29:19 <oklopol> otherwise, i'm claiming my prize
04:29:37 <oklopol> i'm calling the nobel dudes as we speak
04:30:32 <Bike> gonna go out on a limb here and guess that in tsp studies they imply random or otherwise nontrivial graphs
04:31:07 <Bike> alternately we could assume the authors are fucking stupid
04:33:47 <oklopol> well i'm sad to say that i'm generally not at all surprised to find a claim that stupid in a research article, although i don't think this was such
04:33:48 <Bike> the citation has a pretty cover http://press.princeton.edu/titles/8451.html
04:34:20 <Bike> this is arxiv, not vixra, know what i mean
04:40:50 <oklopol> the "random" is a bit tricky too, often there are multiple natural distributions. if you take n vertices and choose distances uniformly from [0, 2^n), do you get something hard? it could be that because you have only polynomially many edges in there, the gaps are actually big enough that any greedy algorithm is likely to give you the optimal path
04:41:37 <oklopol> wait maybe you should take the distances uniformly from [0, n)
04:42:28 <oklopol> i guess TSP is hard even then because even hamiltonian is, i guess big numbers are only needed in subset sum problem family
04:43:32 <Bike> i meant random like throwing a bunch of needles at a floor or something.
04:43:35 <Bike> no need 4 thought
04:44:39 -!- password2 has joined.
04:45:21 <oklopol> ah, you must be referring to the needle throwing axiom which posits that every set has a natural distribution
04:45:34 <oklopol> known to be independent of both AoC and the axiom of determinacy
04:46:10 <oklopol> meant to say *inconsistent with
04:49:48 <zzo38> Needle throwing axiom?
04:49:55 -!- rambomedic has joined.
04:50:41 <oklopol> yeah AN, introduced by Kalenius in a seminal irc log some minutes ago
04:52:01 <zzo38> How is it "known to be independent of both AoC and the axiom of determinacy"? Prove it.
04:52:28 <Bike> if you want me to leave i can do that.
04:58:20 <oklopol> the needle throwing axiom lets you say "random" without specifying a distribution. it's the wet dream of every mathematician and whatnot. similar to axiom of choice and determinacy, but the dream is even wetter, and unfortunately makes little sense.
05:00:39 <oklopol> (Bike probably just meant that they have some specific graph in mind which they took "randomly" in some sense and it seemed canonical enough; or something. just for the record, i'm not making fun of him, in case he's getting pissed or something.)
05:01:01 -!- tertu has quit (Read error: Connection reset by peer).
05:01:08 -!- tertu has joined.
05:12:08 -!- vravn has quit (Excess Flood).
05:13:09 <zzo38> Someone wrote: "I am amazed that more computer scientists do not reject evolutionary biology out of hand. A cells CPU, the ribosome, perfectly fits the definition of a Turing Machine, including I/O and memory. Computer science, specifically the Computability Theory, proves that the output of a Turing Machine cannot predict the input to it the results cannot create the programming - yet the "theory of evolution" relies on this happening!"
05:13:21 <zzo38> That's silly; it isn't Turing complete.
05:15:05 <oklopol> "the output of a Turing Machine cannot predict the input to it the results cannot create the programming"
05:16:30 <zzo38> I was hoping you know.
05:18:14 <oklopol> unfortunately i'm only good at pointing out parsing errors :(
05:19:47 -!- vravn has joined.
05:22:42 -!- nisstyre has joined.
05:23:21 <Sgeo> > :t (Type, [Type])
05:23:21 <idris-ircslave> Can't disambiguate name: Prelude.List.::, Prelude.Stream.::, Prelude.Vect.::
05:23:22 <lambdabot> <hint>:1:1: parse error on input `:'
05:23:28 <Sgeo> > :t with List (Type, [Type])
05:23:29 <lambdabot> <hint>:1:1: parse error on input `:'
05:23:41 <Sgeo> Hmm, was hoping for someting more bizzare
05:23:45 <lambdabot> <hint>:1:1: parse error on input `:'
05:24:01 <Sgeo> Was hoping to get something like (Type 1, List Type)
05:24:16 <Sgeo> I think Type 1, Type 2, etc. is normally hidden by Idris
05:24:28 <oklopol> well not as good as lambdabot
05:26:43 <Sgeo> > :t the (so (2 == 2)) oh
05:26:43 <idris-ircslave> the (so (fromInteger 2 == (fromInteger 2))) oh : so (fromInteger 2 == (fromInteger 2))
05:26:44 <lambdabot> <hint>:1:1: parse error on input `:'
05:27:04 <Sgeo> > :t the (so (2 == 3)) oh
05:27:05 <lambdabot> <hint>:1:1: parse error on input `:'
05:27:26 <Sgeo> How does Idris know to ... keep holding onto that function, as is, in the type?
05:27:31 <Sgeo> Once it checks unification
05:27:35 <Sgeo> Is that what it's doing?
05:27:57 -!- tromp has quit (Remote host closed the connection).
05:28:20 <Sgeo> > :t the (so (1 + 1 == 2)) (the (so (2 == 1 + 1)) oh)
05:28:21 <lambdabot> <hint>:1:1: parse error on input `:'
05:28:22 <idris-ircslave> the (so (fromInteger 1 + (fromInteger 1) == (fromInteger 2))) (the (so (fromInteger 2 == (fromInteger 1 + (fromInteger 1)))) oh) : so (fromInteger 1 + (fromInteger 1) == (fromInteger 2))
05:28:29 -!- tromp has joined.
05:28:44 <Bike> what are the, so, and oh
05:28:51 <lambdabot> <hint>:1:1: parse error on input `:'
05:29:09 <lambdabot> <hint>:1:1: parse error on input `:'
05:29:10 <Sgeo> the takes a type and gives id for that type, basically, coercing something to the type
05:29:22 <Sgeo> (If it typechecks)
05:29:32 <Sgeo> So, it's like :: on an expression in Haskell, except as a function
05:29:54 <lambdabot> <hint>:1:1: parse error on input `:'
05:30:08 <lambdabot> `s' (imported from Debug.SimpleReflect),
05:30:08 <lambdabot> `o' (imported from Debug.SimpleReflect),
05:30:08 <lambdabot> `iso' (imported from Control.Lens)
05:30:19 <Bike> ok, this one i don't get.
05:31:16 <Sgeo> They're poorly named, because someone thought oh so True sounded funny
05:31:24 <Bike> somehow i expected that.
05:31:29 <idris-ircslave> (input):1:4:oh does not have a function type (so True)
05:31:30 <lambdabot> `F.or' (imported from Data.Foldable),
05:31:30 <lambdabot> `h' (imported from Debug.SimpleReflect)Not in scope: `so'
05:31:50 <Sgeo> so (some boolean expression) is a type that requires a proof that the boolean expression is true
05:32:05 <Sgeo> Because there's a way to construct a so True, but no way to construct a so False
05:32:17 -!- rambomedic has left ("Leaving").
05:32:39 -!- tromp has quit (Ping timeout: 244 seconds).
05:32:53 <idris-ircslave> Prelude.Either.choose : (b : Bool) -> Either (so b) (so (not b))
05:32:54 <lambdabot> <hint>:1:1: parse error on input `:'
05:33:18 <Sgeo> You can construct so's with choose, which takes a boolean and gives Either the proof that it's true or the proof that it's not true
05:33:26 <Sgeo> As in Left prf or Right prf
05:33:59 <Sgeo> Which you can then pass to a function expecting a proof of that boolean
05:36:31 <Sgeo> Best explanation I see (this is where I got my understanding from)
05:36:32 <Sgeo> https://groups.google.com/d/msg/idris-lang/eLn2vfQofoc/drn6fq3cilcJ
05:39:31 -!- Sprocklem has quit (Ping timeout: 265 seconds).
05:42:22 <Bike> it does idris rather than haskell.
05:42:37 <Bike> i must say the colors seemed a lot less annoying in webchat.
05:43:45 <Sgeo> I think there's a purpose to them, I'm not sure what it is
05:45:50 <ion> That usage of Left/Right seems flipped compared to Haskell.
05:46:38 <Bike> well, type variables are pink and type constructors are blue, for a start
05:47:02 <Sgeo> Constructors are red
05:47:17 <Sgeo> um... data constructors?
05:47:56 <Bike> and functions are green. except i don't know what's going on with choose because i'm not a type person ololol
05:53:42 <zzo38> What about, things other than type variables, type constructors, data constructors, functions, etc? Such as comments?
05:54:08 <Bike> how would you go about getting the bot to display a comment
05:56:26 <zzo38> I don't know, but probably it would need to know what color to use, in case you typed in the comment yourself, for example.
05:57:18 <Bike> it's a bot, not an editor.
05:57:46 <zzo38> Yes, but you still need to know the color in case you are syntax highlighting code you have written by yourself (it doesn't have to be an editor).
05:59:02 <Bike> why would idris do that
05:59:08 <Bike> idris-ircslave i mean
06:15:58 <zzo38> So that you can use the same colors in other programs, mainly.
06:29:01 -!- tertu has quit (Ping timeout: 264 seconds).
06:32:40 <HackEgo> lrrcoin selfcoin bfficasmilcoin chneuroncoin gammascoin unlamcoin minimamcoin chamcoin taxicoin neurcoin piecescoin armocoin spircoin bfmcoin befannationcoin browcoin hoshcoin sallercoin x+coin waideaucoin
06:33:09 <ion> Which hosh algorithm does your cryptocoin use?
06:36:23 <Bike> triple des - seven times, for security
06:36:49 <zzo38> Bike: You should use uncorrelated keys with each one.
06:37:21 <zzo38> I have read report of quantum psychokinesis ("The strange properties of psychokinesis" by H. Schmidt, 1987). It look to me these experiements are inconclusive because they are insufficient, and I can think of many ways to improve the experiments. However, RPKP now lists many more reports of other experiments, much of which are the improvments I have thought of.
06:41:45 -!- password2 has quit (Read error: No route to host).
06:42:38 <zzo38> Do you agree with me the experiments mentioned in the report named there seems to be a bit insufficient?
06:45:24 <Bike> 8i would not be surprised
06:46:15 <zzo38> Bike: Can you please be more specific?
06:47:22 -!- nisstyre has quit (Quit: WeeChat 0.4.3).
06:48:33 <zzo38> It has been claimed that quamtum mechanics permits psychic phenomena. According to my opinion, that is like claiming that Einstein's relativity permits time travel. Do you agree/disagree?
06:51:18 -!- ais523 has joined.
06:55:08 <zzo38> Slereah_: Can you explain more specific what you mean by that? I don't quite understand, why not what, to be specific?
06:55:25 <zzo38> I found a 404 error page that lists error message in many languages, including semaphore flags.
06:57:38 -!- tertu has joined.
06:58:06 -!- atslash has joined.
06:59:08 <zzo38> (It is the ibiblio error message)
06:59:47 <Slereah_> Although relativity does permit time travel
06:59:57 <Slereah_> General relativity is lousy with time travelling solutions
07:00:10 <Slereah_> Whether they're physical is another matter though
07:02:32 <Slereah_> Even pretty common solutions like the Kerr solution
07:03:09 <Slereah_> Though it's not really physical because the closed timelike curves are very unstable in the Kerr solution
07:05:17 <zzo38> Yes I have read about those things
07:05:32 <zzo38> Which is why I say what I did
07:06:08 <Slereah_> ...but that's not at all like saying QM permits magic?
07:08:55 <Slereah_> While time travel is a bit marginal because of the probable non-physicality, it is a legitimate field of research of relativity
07:08:55 <zzo38> I didn't say magic; I said, some kinds of psychic phenomena, not necessarily all kinds.
07:09:20 <zzo38> Whether or not it is possible is unknown, but it is as unstable as those time travel solutions at least.
07:09:40 <Slereah_> The time travel solutions are mathematically proved to exist
07:09:53 <Slereah_> I don't think there's any hint that QM permits psychic powers
07:10:15 <Slereah_> Really even articles about any link between QM and the human brain raises red flags
07:11:07 <Slereah_> I don't know why but some people are really into the idea that QM is somehow related to consciousness
07:11:10 <zzo38> There is link between QM and everything, the human brain included, but really it is just a part of a universe. Dividing them into different physical objects in that way is just one way to do so, and doesn't seem relevant here.
07:11:25 <Slereah_> Even though it's pretty unlikely because of the scales involved
07:11:34 <zzo38> It isn't specifically to do with consciousness or human thoughts.
07:11:51 <Slereah_> Sure, the human brain does work on QM, but in the classical limit mostly
07:12:34 <zzo38> Yes, mostly in the classical limit. It too is how I have said before, there is two kind of free will.
07:13:36 <zzo38> Classical free will, which is illusory and is mostly the effect, and quantum free will, which is more free but has little effect.
07:13:58 <Slereah_> I don't even know why people care about free will
07:14:00 <zzo38> Clearly the same laws of physics must effect everything, regardless of scale.
07:14:07 <Slereah_> It doesn't really seem like something desirable
07:14:25 <zzo38> It is just that it doesn't have the effect much compared to scale.
07:14:52 <zzo38> And I mean everything as a whole, rather than as individual parts.
07:15:41 <zzo38> Whether free will is desirable or not is not the point at all.
07:16:13 <Slereah_> Otherwise people wouldn't work so hard on it.
07:17:36 <Bike> zzo38: have you read http://www-tc.pbs.org/wgbh/nova/manyworlds/pdf/dissertation.pdf
07:17:41 <Bike> i'm slowly pretending to read it
07:18:01 <zzo38> I can try to look now
07:18:41 <zzo38> Slereah_: Maybe, to those people it is, but I mean it isn't the point to what my philosophies of science to figure out such things, are.
07:19:34 <zzo38> Bike: Can I buy the book? It is too many pages that I would want to print on my own computer.
07:19:36 <Slereah_> Well free will is kind of a trivial problem if you allow for both non-determinism and reductionism
07:21:03 <zzo38> I don't allow for reductionism. There is many ways to split things into parts, none of which is "real".
07:22:01 <zzo38> Emergent properties, yes.
07:22:12 <Bike> zzo38: it's a dissertation. they're kind of hard to find hard copies of, at least for sale. maybe a uni library has it.
07:22:13 <zzo38> I don't believe in Cartesian dualism.
07:22:28 <Bike> anyway it seems you-ish 'Since the universal validity of the state function description is asserted, one can regard the state functions themselves as the fundamental entities, and one can even consider the state function of the entire universe. In this sense this theory can be called the theory of the "universal wave function," since all of physics is presumed to follow from this function alone'
07:22:43 <Slereah_> zzo38 : http://www.ditext.com/broad/mpn14.html#t
07:23:07 <Bike> also, it's by an actual physicist instead of a crazy person (hard to distinguish eh)
07:23:56 <zzo38> Well, they certainly are better if they are by an actual physicist, or at least by someone who understands much of physics.
07:24:59 <Bike> the author is hugh everett iii; this is his dissertation, where the many-worlds interpretation came from
07:25:25 <zzo38> Slereah_: I would have to read that extensively to do so, but then maybe I will.
07:27:05 <zzo38> Bike: I prefer the "constraint interpretation" which actually I made up. Mathematical equations are possible to have many solutions, one solution, or no solutions, and may or may not be computable.
07:29:01 <zzo38> However, I have made up a lot of crazy things, not only this, but also "matrix accounting".
07:30:17 <Bike> sounds very relevant to wavefunctions
07:36:06 <fizzie> @ask boily Well, is the text of the strips available?
07:40:29 -!- vravn has quit (Excess Flood).
07:40:55 -!- password2 has joined.
07:42:30 <zzo38> Bike: What is relevant to wavefunctions?
07:42:47 <Bike> matrix accounting
07:43:17 -!- vravn has joined.
07:48:13 <zzo38> Not really, although it does use Dirac notation.
07:48:29 <zzo38> It doesn't have much to do with physics.
07:48:39 <zzo38> Although it uses similar notations.
07:49:11 <Bike> heyyyyyy folks here's a shitass of books https://archive.org/details/folkscanomy
07:57:23 -!- copumpkin has joined.
08:02:59 -!- tertu has quit (Ping timeout: 240 seconds).
08:17:23 -!- conehead has quit (Quit: Computer has gone to sleep.).
08:25:25 -!- oerjan has joined.
08:27:09 <oerjan> ais523: happy lawful good day
08:27:47 <ais523> it's a good day for it, too, for reasons I don't really want to go into due to lawful goodness
08:29:10 <Bike> happy september 7489
08:29:27 <fizzie> Happy ddate: command not found.
08:30:07 <ais523> interesting, especially because ddate's in default installs of Debian because it's in the same package as something really important
08:30:33 <fizzie> Ubuntu patched it out, and I'm at work now.
08:30:51 <ais523> ah no, it was mkfs I was thinking of
08:31:01 <fizzie> (Actually, Debian patched it out too, and then restored it. It's all there in the util-linux bug lists.)
08:31:09 <HackEgo> Today is Boomtime, the 62nd day of Chaos in the YOLD 3180
08:32:08 <oerjan> this means of course that ubuntu users will be doomed when CHAOS comes
08:32:34 <fizzie> \renewcommand{\arraystretch}{1.1}
08:32:46 <fizzie> How did that end up in the selection?
08:32:59 <oerjan> stretching and renewing with latex
08:32:59 <fizzie> http://sprunge.us/cJNd is what I was trying to say.
08:34:54 <fizzie> "People with more traditional moral values might not appreciate a reference to or advertisement for this movement being present on their system." #149321
08:36:02 <fizzie> (#174459, #180737 were actual technical issues with ddate.)
08:36:59 <ais523> https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=149321 https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=650321
08:37:11 <ais523> interestingly, both bug numbers end with the same last three digits
08:37:38 <oerjan> is there an islamic date somewhere in the system? i imagine a way to use discrimination issues to raise some hell...
08:38:18 <oerjan> ais523: clearly the work of eris
08:39:19 <lifthrasiir> my long-standing belief includes the ban on non-ISO-8601 date formatting (so that `date` alone crashes)
08:39:27 <shachaf> ok, you know that series of books about Emil?
08:39:46 <shachaf> there was a thing with his father and his foot and a mousetrap under the table or something, right?
08:40:01 <shachaf> or am i thinking of something else
08:40:14 <shachaf> was it his father who talked about the value of shoes that last a long time?
08:40:18 <oerjan> i dunno, i don't remember everything emil
08:40:49 <olsner> the mousetrap thing fits, but I wouldn't remember talk about the value of shoes
08:40:51 <shachaf> i might be thinking of something else
08:41:14 <ais523> lifthrasiir: if you have beliefs that contradict POSIX, then it would be quite difficult to persuade operating systems to accommodate for them
08:41:21 <oerjan> (don't think i've read the books, except occasionaly bits)
08:41:44 <olsner> if you do have religious convictions against POSIX, what operating system could you use?
08:42:19 <lifthrasiir> ais523: I fully understand POSIX's position though.
08:42:32 <oerjan> and i probably haven't seen all the tv series either, but my memory is strangely vague 35 years back
08:42:50 <ais523> olsner: well Windows isn't POSIX-compatible by default, and many operating systems don't claim POSIX compatibility at all
08:44:45 <oerjan> pretty sure TempleOS isn't POSIX
08:45:48 * oerjan suddenly wonders if there's a JihadOS somewhere
08:46:32 <Bike> they mostly use windows, like everyone else.
08:47:01 <oerjan> there's a jihad os youtube channel, but it seems irrelevant.
09:08:21 <fungot> Selected style: sms (National University of Singapore SMS corpus, 2011-08-20)
09:08:30 <fungot> fizzie: today i am in cbe only. but have to seek. hee... i come to get yours.
09:09:04 <ion> Selected style: sms (National Security Agency of USA SMS corpus)
09:10:26 <fizzie> fungot: You're sounding suspiciously grammatic there.
09:10:27 <fungot> fizzie: no i am not near so cant come.pls ask ur famly2b there4 novena i wait for u.
09:10:27 <fungot> shachaf: its just decorative askeveryone bah PAT cineleisure. its really no 1 in most of the sites to take u back
10:01:44 -!- MoALTz has joined.
10:04:11 <fizzie> Bike: "Get MATLAB Certified" "Enhance your credibility and accelerate your career by earning this credential."
10:04:14 <fizzie> 2. certifiable, certified -- (fit to be certified as insane (and treated accordingly))
10:06:03 -!- impomatic has quit (Quit: ChatZilla 0.9.90.1 [Firefox 27.0.1/20140212131424]).
10:11:02 <oerjan> ais523: i'm not quite sure how [[MOS:CODE]] applies here; should i delete the whole section or leave the python https://en.wikipedia.org/w/index.php?title=Look-and-say_sequence&curid=563980&diff=597851911&oldid=590719332#Computer_program
10:11:31 <oerjan> (it has been gradually growing, and today someone added php)
10:12:21 <oerjan> in particular, i'm not sure _any_ of the code samples are particularly illustrative
10:13:04 <oklopol> i'm not sure who i'm asking exactly, but something i've been wondering lately because i've been pretending to read some quantum computation stuff: so is the many-worlds interpretation of quantum mechanics specific to quantum stuff somehow, in the sense that it's not just a many-worlds interpretation of randomness, but with quantum-type probabilities instead? (by the mw interpretation of randomness i mean we assume physics has random stuff, and branch
10:13:04 <oklopol> world when random happens)
10:13:26 <ais523> the PHP definitely needs to be deleted, per that section; I'd say delete them all because none of them implement an algorithm described in the article
10:13:37 <oklopol> (maybe i'm asking oerjan because he surely pretends to vaguely recall this stuff)
10:22:56 <oerjan> well much of the weirdness is because the quantum-type probabilites and entanglements prevent you from dividing it up into what i assume you mean by many-worlds interpretation of randomness. so i'd say yes.
10:37:58 <oklopol> actually i have no idea what a many-worlds interpretation would even be for qm stuff
10:38:14 <oklopol> and the way i've heard it described it applies to randomness, but not quantum stuff
10:38:33 <oklopol> so maybe it's a bit too early for me to ask this kind of question
10:40:08 <oklopol> but i totally grok grover's algorithm
10:41:11 <oerjan> good, good, because i don't.
10:57:46 <olsner> I wonder if fungot shaves
10:57:46 <fungot> olsner: there is no. yellow is yes. i tell. stupid hear after i wont talk to you:-. lg so in lv, her class ends. lets u dwn ur dirty. that was very well done! could see lot ofthought put into it. happy to help anytime :)
11:00:17 <ais523> I love the way that that look likes a relevant answer, and yet it's totally unclear what it means
11:01:28 <olsner> fungot: glad that you're happy but it didn't help
11:01:28 <fungot> olsner: k d i vil cum der dude..u dint create to
11:02:36 <ais523> hmm, I'm reading an article (found via reddit) whose author was actually using numbers so large they broke GMP's deserializer: http://fredrikj.net/blog/2014/03/new-partition-function-record/
11:09:37 -!- password2 has quit (Ping timeout: 240 seconds).
11:09:51 <olsner> I like the last fun fact about the result
11:15:55 -!- boily has joined.
11:17:29 <Jafet> Also links to the nice sequence http://oeis.org/A110375
11:19:09 <oerjan> "With current technology, the most efficient way to determine p(n) modulo a small integer is to compute the full value p(n) and then reduce it." <-- huh.
11:22:42 <Jafet> http://upload.wikimedia.org/math/3/5/d/35dd2572c02024c6ef2767567c153453.png
11:24:28 -!- MindlessDrone has joined.
11:35:44 -!- shikhin has joined.
11:38:57 <ion> http://imgur.com/gallery/18fM5ja
11:40:42 <ion> http://25.media.tumblr.com/65b069ec1d366940e14a407192b163c4/tumblr_n0docrpPEt1qzpsuoo1_1280.jpg
11:48:48 <lambdabot> fizzie asked 4h 12m 42s ago: Well, is the text of the strips available?
11:49:02 <ion> @massages-lord
11:49:04 <ion> @massage-lord
11:49:15 <ion> @massages-lard
11:49:50 <ion> @messages-lard
11:50:01 <boily> fizzie: it was a purposefully silly request, but if the text is available one way or another, then it's a plus.
11:50:05 <ion> It matches anything with L. distance ≤ 2?
11:50:12 <fizzie> boily: I forgot to @tell that I read a bit more of the backscroll and deduced the answer was "apparently not".
11:50:32 <boily> fizzie: fizziello!
11:50:41 <fizzie> boily: It might be an amusing diversion to do a bit of speech bubble recognition and OCR.
11:51:15 <boily> ion: also, do you happen to have a keyboard shortcut to get «≤»?
11:51:21 <ion> boily: compose < =
11:51:25 <oerjan> ion: also an exact unambiguous prefix
11:51:33 <ion> oerjan: ok
11:51:43 <boily> ion: oh. the mysterious compose key.
11:51:44 <ion> @qessages-loud
11:52:12 <oerjan> ok the responses are different
11:52:46 <lambdabot> Maybe you meant: messages? messages
11:53:17 <fizzie> Oh, right, messages- is one of those unambiguous prefixes.
11:53:32 <oerjan> right, that's what i was testing
11:57:23 <fizzie> I guess it's enough that the correction with the shortest L. distance is unique.
11:58:52 <boily> @be ++++[>++++++++<]>+.
11:59:02 <boily> @be ++++[>++++++++<-]>+.
12:04:49 -!- boily has quit (Quit: COMET CHICKEN).
12:06:41 -!- Phantom_Hoover has joined.
12:09:17 <b_jonas> "@be"? wouldn't that be short for befunge?
12:11:52 <fizzie> If only lambdabot did that.
12:26:00 <b_jonas> maybe it's a strange befunge variant that has a call bracket loops and a call stack of positions
12:34:52 -!- oerjan has quit (Quit: leaving).
12:40:51 <lambdabot> Not in scope: `the'Not in scope: data constructor `Fin'
12:40:52 <lambdabot> Perhaps you meant `Fini' (imported from Lambdabot.Plugin.Haskell.Eval.Trusted)
12:55:21 -!- tertu has joined.
13:04:36 <fizzie> Assuming no other commands affecting control flow, in a single-line Funge-98 program [abcd] *is*, in fact, a loop, albeit one that bounces around (executes abcd dcba abcd dcba...) and is not conditional at all. And wouldn't be entered in the first place in "++++[>++++++++<-]>+.".
13:07:06 -!- yorick has joined.
13:17:57 <Sgeo> "Worms developer Team17 revealed at the PlayStation Open Day in Royal Leamington Spa in Warwickshire, Englandthat that a new intellectual property named Flockers is in the works. "
13:18:11 <Sgeo> Who phrases it as 'intellectual property'?
13:19:37 <ion> The kind of people who use a term like “intellectual property”.
13:24:02 <fizzie> That doesn't sound so out-of-place there. Though I'd've expected the abbreviation IP instead.
13:27:46 <Jafet> Intellectual real estate
13:28:59 -!- Phantom_Hoover has quit (Ping timeout: 240 seconds).
13:48:02 <Sgeo> :( http://www.techradar.com/news/software/applications/chrome-rubs-beta-users-the-wrong-way-with-update-1229690
13:49:44 <Sgeo> No option to disable?
13:50:00 <Sgeo> Although I certainly see how even that could be abused by malicious persons, but...
13:56:31 <lambdabot> <hint>:1:1: parse error on input `:'
13:57:03 <Sgeo> I assume that that basically means {k : Nat} -> Fin (S k)
14:01:52 -!- Sgeo has quit (Read error: Connection reset by peer).
14:03:34 -!- idris-ircslave has quit (Quit: Terminated).
14:03:53 -!- idris-ircslave has joined.
14:34:35 -!- Sorella has joined.
14:52:50 -!- ais523 has quit.
14:55:49 -!- itsy has quit (Ping timeout: 244 seconds).
15:03:44 <Jafet> Hmm, firefox.exe is now spinning because it has hit some kind of address space limit in NT.
15:05:37 <Jafet> "Private bytes: 3 400 164 K"
15:34:36 -!- Sprocklem has joined.
15:48:00 -!- tertu has quit (Ping timeout: 244 seconds).
15:51:54 -!- vravn has quit (Excess Flood).
15:53:20 -!- tertu has joined.
15:55:47 -!- vravn has joined.
15:56:58 -!- vravn has quit (Client Quit).
15:59:17 -!- vravn has joined.
15:59:20 -!- vravn has quit (Client Quit).
16:03:17 -!- vravn has joined.
16:11:02 -!- shikhin has quit (Ping timeout: 264 seconds).
16:11:09 -!- tertu has quit (Ping timeout: 252 seconds).
16:13:00 -!- dawg92 has joined.
16:23:59 -!- shikhin has joined.
16:32:17 -!- dawg92 has left ("Verlassend").
16:37:29 -!- spiette has joined.
16:40:23 -!- tertu has joined.
17:02:25 -!- Sprocklem has quit (Ping timeout: 240 seconds).
17:04:10 -!- Sprocklem has joined.
17:07:49 <Bike> i love credibility
17:09:02 -!- shikhout has joined.
17:09:28 -!- tertu has quit (Ping timeout: 252 seconds).
17:11:09 -!- tertu has joined.
17:12:14 -!- shikhin has quit (Ping timeout: 264 seconds).
17:12:15 -!- shikhout has changed nick to shikhin.
17:19:59 -!- tertu has quit (Ping timeout: 240 seconds).
17:40:19 -!- shikhin has quit (Read error: Connection reset by peer).
17:51:17 -!- Sprocklem has quit (Ping timeout: 252 seconds).
17:55:32 -!- Sprocklem has joined.
17:59:57 -!- oerjan has joined.
18:02:22 -!- Tritonio has joined.
18:03:05 <oerjan> y'all realize i'm going to snap and kick idris-ircslave if it keeps requiring lambdabot error messages to operate it, right?
18:06:27 <Melvar> I only brought it here on request of Sgeo, him IIUC understanding this problem. I can remove it anytime if you wish.
18:07:23 <oerjan> it would help if there was at least _some_ way of triggering only your bot. with lambdabot i can use @run instead of >
18:07:50 -!- vravn has quit (Excess Flood).
18:08:28 <oerjan> with idris being written in haskell i'm surprised the bots haven't been in the same channel before...
18:09:59 -!- atrapado has joined.
18:11:09 -!- Phantom_Hoover has joined.
18:11:18 -!- vravn has joined.
18:11:22 -!- Phantom_Hoover has quit (Remote host closed the connection).
18:12:30 -!- Slereah__ has joined.
18:13:16 <quintopia> do the lambdabot errors bother you that much?
18:14:01 -!- Slereah_ has quit (Ping timeout: 264 seconds).
18:14:02 <oerjan> _everything_ out of place bothers me that much, quintopia
18:14:58 <oerjan> ah. i may have to rephrase that.
18:15:19 <oerjan> everything out of place that _moves_.
18:16:28 <quintopia> i see. and thus you can avoid having to keep your car immaculate by eschewing privately-owned vehicles and depending upon public transport
18:16:28 -!- Phantom_Hoover has joined.
18:17:17 <oerjan> yep. except i don't take much public transport either these days.
18:17:36 <Melvar> oerjan: idris-ircslave has so far only been in #idris, and #idris doesn’t keep a lambdabot.
18:18:34 <oerjan> it is possible i am exaggerating. we'll see.
18:20:14 <oerjan> quintopia: in this suburb, yes. and i rarely get out of it.
18:20:54 <quintopia> i could theoretically walk to work. but rain. and getting work clothes sweaty. :(
18:21:30 <olsner> I could theoretically not walk to work, but it would take more time
18:23:59 <oerjan> int-e: you know, a fuzzy command lookup would be great
18:24:14 <lambdabot> system provides: listchans listmodules listservers list echo uptime
18:24:18 <lambdabot> ##categorytheory ##crypto ##logic ##manatee ##megaharem ##proggit ##villagegreen #agda #arch-haskell #csa_uva #darcs #diagrams #dreamlinux-es #esoteric #fedora-haskell #friendly-coders #functionaljava #gentoo-haskell #gentoo-uy #ghc #happs #haskell #haskell-arcade #haskell-blah #haskell-books #haskell-br #haskell-fr #haskell-freebsd #haskell-game
18:24:18 <lambdabot> #haskell-gsoc #haskell-in-depth #haskell-infrastructure #haskell-lens #haskell-llvm #haskell-overflow #haskell-pl #haskell-soc #haskell.au #haskell.cz #haskell.de #haskell.dut #haskell.es #haskell.fi #haskell.hr #haskell.it #haskell.jp #haskell.no #haskell.ru #haskell.se #haskell.tw #haskell_ru #hscraft-srv #jhc #jtiger #learnanycomputerlanguage #
18:24:18 <lambdabot> learnprogramming #ledger #lesswrong #lw-prog #macosx #macosxdev #mainehackerclub #numerical-haskell #rosettacode #scala #scalaz #scannedinavian #simonsolutions #snapframework #tanuki #unicycling #xmonad #yi
18:24:39 -!- Slereah_ has joined.
18:25:00 <oerjan> Melvar: as i thought, #agda is in there. so i thought surely #idris would have been.
18:26:17 <oerjan> I DON'T KNOW WHAT YOU'RE TALKING ABOUT
18:26:18 -!- Slereah__ has quit (Ping timeout: 240 seconds).
18:26:37 <oerjan> there are some interesting channels in there.
18:26:55 <oerjan> as in, not entirely expected.
18:28:28 <olsner> #haskell-infrastructure sounds related to #cslounge-trains, but it's probably not
18:40:07 -!- Sprocklem has quit (Ping timeout: 265 seconds).
18:43:17 -!- Sprocklem has joined.
18:55:51 -!- vravn has quit (Excess Flood).
18:57:19 -!- vravn has joined.
18:59:37 -!- Sprocklem has quit (Ping timeout: 240 seconds).
18:59:44 <Taneb> Those of you who know more about cooking than me (most of you):
19:00:04 <Taneb> I am going to be making like a large Yorkshire Pudding with mushrooms cooked in
19:00:12 <Taneb> Would I need to fry the mushroom first?
19:03:43 <olsner> based on my research, yorkshire pudding does not contain mushrooms
19:03:45 <Taneb> Well, seeing as mushrooms are edible raw I think I should at least be safe not cooking them
19:03:54 <Taneb> olsner, I am mixing things up
19:03:58 <olsner> (so it's clearly a trick question)
19:04:00 <Taneb> I'm also adding chilli powder
19:04:40 <oerjan> this is clearly not the Queen's yorkshire pudding
19:04:58 <Taneb> oerjan, nothing's been the same in York since the Vikings attacked
19:05:14 <oerjan> i don't think they brought chilli.
19:05:44 <oerjan> they may have brought mushrooms, although i'd suggest not eating those.
19:06:31 <oerjan> also, not all mushrooms are edible raw even if they're edible cooked.
19:06:44 <Taneb> oerjan, I bought these in a supermarket
19:06:51 <Taneb> Like, 10 minutes ago
19:06:55 <oerjan> some need heat treatment to break down poisons, or something.
19:07:47 <Taneb> oerjan, they'll get at least tome heat in the cooking of the Yorkshire batter
19:08:03 <olsner> some also need to be boiled and the water discarded for a few cycles to get the poisons out of the mushrooms
19:08:34 <olsner> you probably shouldn't try to eat things that require so much processing to be safe to eat though
19:08:46 <Taneb> Also advice: do not down a litre of milk. It will make it essentially useless to have bought milk in the first place and you will have to buy more milk.
19:09:25 <Taneb> (this actually happened to me today)
19:09:37 <oerjan> i solve that problem by not buying milk.
19:10:04 <Taneb> But then how do you eat cornflakes
19:10:16 <Taneb> HOW DO YOU EAT WEETOFLAKES
19:16:00 -!- conehead has joined.
19:16:58 <Taneb> Also, could I through some tomatoes in the batter too?
19:17:36 <oerjan> no. it is simply not spelt that weigh.
19:18:23 <int-e> oerjan, on the other hand, spells all words correctly.
19:19:01 <int-e> (though honestly, "weight" does not make much sense in that context.)
19:19:40 <int-e> "weigh". I cannot copy words correctly, I should cut&paste.
19:26:40 -!- conehead has quit (Quit: Computer has gone to sleep.).
19:34:41 -!- zzo38 has quit (Remote host closed the connection).
20:05:12 -!- conehead has joined.
20:06:26 -!- nooodl^ has joined.
20:08:29 -!- vravn has quit (Excess Flood).
20:11:18 -!- vravn has joined.
20:16:18 -!- impomatic has quit (Ping timeout: 265 seconds).
20:20:38 -!- nooodl^ has quit (Ping timeout: 240 seconds).
20:21:00 -!- MindlessDrone has quit (Quit: MindlessDrone).
20:22:57 -!- nooodl^ has joined.
20:35:18 -!- nooodl^ has quit (Ping timeout: 240 seconds).
20:36:13 -!- Sellyme has quit (Excess Flood).
20:36:36 -!- Sprocklem has joined.
20:38:12 -!- Sellyme has joined.
20:41:13 -!- Sprocklem has quit (Ping timeout: 240 seconds).
20:52:25 -!- Sprocklem has joined.
21:09:58 -!- MoALTz has quit (Read error: Connection reset by peer).
21:10:32 -!- MoALTz has joined.
21:35:08 -!- vravn has quit (Excess Flood).
21:38:18 -!- vravn has joined.
21:50:34 -!- atrapado has quit (Quit: Leaving).
21:53:21 -!- Phantom_Hoover has quit (Ping timeout: 252 seconds).
21:56:02 -!- Phantom_Hoover has joined.
22:14:34 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
22:15:42 -!- Phantom_Hoover has joined.
22:22:29 -!- atslash has quit (Quit: This computer has gone to sleep).
22:22:34 <Slereah_> Wouldn't using a register be faster?
22:22:58 -!- Sprocklem has quit (Ping timeout: 240 seconds).
22:25:07 <Bike> Slereah_: is this compiler-generated?
22:25:25 <Slereah_> It is from Kolibri OS, which brags about being "entirely written in x86"
22:29:33 <Slereah_> Ooooh, it uses lodsb followed by stosw
22:29:43 <Slereah_> That's a neat trick to move things in the memory
22:29:58 <Bike> probably some x86 weirdness then
22:30:40 <Slereah_> It's in the bootloader so size might be an issue
22:31:19 <olsner> to load a segment register with a constant the common alternatives are push/pop or something like mov ax,imm; mov cs,ax, I think they are equivalent (not sure which is shorter)
22:31:45 <olsner> because obviously you can't just mov cs,imm
22:32:05 <Slereah_> But aren't memory access usually longer
22:32:29 <olsner> stack instructions are short
22:32:48 <Bike> maybe they don't have free registers to use.
22:32:50 -!- nooodl has joined.
22:33:04 <olsner> iinm pop es is even single-byte while mov es,ax would be two bytes
22:33:04 <Slereah_> Or maybe it doesn't matter too much
22:33:37 <Slereah_> Bootloaders are limited to 512 bytes, no?
22:34:23 <Slereah_> 2 is for the AA55 thing I suppose, but why 64?
22:35:04 <olsner> for the partition table
22:35:47 -!- MoALTz_ has joined.
22:35:58 <Slereah_> That's for multiboots, though, no?
22:36:50 <olsner> of course you can put code in the partition table if you don't use it and know that nothing else will try to
22:37:43 <fizzie> It's also only relevant for the MBR of a partitioned device.
22:37:54 <fizzie> Not the boot sector of a floppy, or the boot sector of a particular partition.
22:38:32 <fizzie> CD booting is kind of different.
22:39:01 -!- MoALTz has quit (Ping timeout: 252 seconds).
22:39:32 -!- Slereah__ has joined.
22:39:55 -!- itsy has joined.
22:40:06 <fizzie> In all ways. You have a boot record as a part of the ISO file system, and it can specify the number of blocks to load, for one thing.
22:40:16 <fizzie> (Also there's floppy and hard disk emulation modes.)
22:40:29 <itsy> Just back from the programming games talk in Nottingham :-)
22:41:09 <fizzie> Oh, I'm sure there's some limit. But it's not 512 bytes, I believe.
22:42:25 -!- MoALTz_ has quit (Ping timeout: 240 seconds).
22:42:28 <olsner> logical partitions include partition tables in their boot sectors... I guess they might have a boot loader there too (unless the MBR handles booting of logical partitions too)
22:42:44 <olsner> or whatever the name is for the partitions that contain logical partitions
22:42:48 -!- Slereah_ has quit (Ping timeout: 264 seconds).
22:43:38 <fizzie> olsner: "extended partition", I think.
22:43:44 <fizzie> Something like that, anyway.
22:43:56 -!- Slereah__ has quit (Read error: Connection reset by peer).
22:44:17 -!- Slereah_ has joined.
22:45:27 <fizzie> There seems to be no particular limit to the sector count in the El-Torito spec (the most standard bootable CD-ROM format), though it's a two-byte field.
22:45:47 <fizzie> You can also specify a different load segment than 7C0.
22:47:10 <fizzie> 64k sectors of 512 bytes, which would be 32 megabytes, far over what fits in the 20-bit address space.
22:48:41 <fizzie> (It's counted in terms of virtual 512-byte sectors, not physical CD sectors which are 2k.)
22:49:39 <Slereah_> What happens to the boot loaded in the RAM by the way?
22:49:40 <Slereah_> Is it deleted after the booting?
22:49:40 <Slereah_> Computers are so full of things~
22:49:47 <Slereah_> You learn something new every day
22:50:03 <olsner> it may or may not be overwritten by something else eventually
22:52:21 <olsner> I believe it's common for OSes to completely ignore anything below 1MB and not use it ever (because sometimes firmware uses that memory for e.g. suspending or resuming)
22:53:24 <Slereah_> I am currently trying to discover where the loading of boot occurs in the code, because that bootloader is way too fucking big
22:54:09 -!- oerjan has quit (Quit: leaving).
22:54:12 -!- Phantom__Hoover has joined.
22:55:15 -!- nisstyre has joined.
22:55:39 <fizzie> Re the original thing, "push 0xb800; pop es" does have the side effect of also writing that constant in memory, but it'd have to be p. crafty code to take advantage of that. (The size hypothesis sounds more likely.)
22:55:55 -!- Phantom__Hoover has quit (Read error: Connection reset by peer).
22:56:46 -!- Phantom__Hoover has joined.
22:56:54 -!- Slereah__ has joined.
22:57:47 <Bike> "Euclidean TSP issues are of course metric, but because of problems with floating point accuracy such instances are usually not considered in practice." hehhhhhh
22:57:52 -!- Phantom_Hoover has quit (Ping timeout: 244 seconds).
22:58:24 -!- Slereah_ has quit (Ping timeout: 264 seconds).
22:58:31 -!- Slereah_ has joined.
22:58:54 -!- Tritonio has quit (Ping timeout: 244 seconds).
22:59:02 <Slereah_> There's a Kolibri version from two years ago, let's see if it's a bit more streamlined
23:00:00 <Slereah_> Like perhaps I don't need the russian version of the boot
23:00:51 <Slereah_> Aaaah I like this one more already
23:01:35 -!- Slereah__ has quit (Ping timeout: 252 seconds).
23:03:31 <fizzie> Here's a graph question I was wondering about: if you have a complete graph with weighted edges, does the greedy algorithm of "keep taking the lowest-weight edge that does not form a cycle in the selected edges" result in a minimum-weight spanning tree? It sounds reasonable at a glance.
23:04:05 <olsner> hmm, isn't that one of the standard algorithms?
23:05:22 <fizzie> Now that you mention it, I guess it's just Kruskal?
23:06:16 <olsner> not sure if it goes by "does not form a cycle" though, I remembered something more like pick the minimum-weight edge to any node that isn't connected
23:06:49 <Slereah_> Hm, there is a boot_read_floppy function
23:07:39 <olsner> in the end everything is just repeated matrix multiplication with different operations
23:08:03 <fizzie> olsner: Wikipedia's description says "connects two different trees", with the initialization being a forst of single-vertex trees. That sounds equivalent to "does not form a cycle (in any tree)".
23:08:28 <fizzie> Prim's algorithm is the one that grows a single tree.
23:09:02 <fizzie> (Select any minimum-weight edge that connects the tree to any node not yet in the tree.)
23:09:24 -!- boily has joined.
23:09:59 <Slereah_> It calls the interrupt "Read Sectors From Drive"
23:10:00 <boily> good visible evening!
23:10:11 <fizzie> Borůvka's algorithm, known for having a ů in the name.
23:11:47 <fizzie> That's the usual way. I guess you've heard that BIOS initializes dl to the disk number it loaded the MBR from before jumping to your bootloader?
23:12:38 <Slereah_> Not quite sure what the interrupt does though
23:12:53 <olsner> based on the name maybe it reads sectors from drive?
23:13:00 <Slereah_> Is there a site that describes like all the real mode interrupts?
23:13:11 <fizzie> http://www.ctyme.com/rbrown.htm
23:13:26 <fizzie> It's the Definitive List.
23:13:44 <Slereah_> Damn that's one fancy ass interrupt
23:13:44 <olsner> one of the things you might read from a boot loader is an operating system that you want to boot
23:13:54 -!- metasepia has joined.
23:13:56 <fizzie> (Thanks to all the really niche things, it can be a bit hard to browse.)
23:15:15 <Slereah_> So it takes a bunch of sectors from the device and puts it in the data buffer?
23:16:03 <fizzie> Well, it's not like there's a unique interrupt called "read sectors from drive"; there's a number of them from different time periods.
23:16:37 <Slereah_> Apparently there's a "Extended Read Sectors From Drive" too
23:16:53 <fizzie> What with disks getting bigger and dropping the CHS addressing and so on.
23:18:07 <Slereah_> Also boot_read_floppy does not seem to be actually used in this file, dagnabbit
23:20:34 <Slereah_> The recent version calls it, though, but apparently fairly late?
23:20:58 <Slereah_> It seems way past the 512 byte limit so I am wondering
23:23:46 <fizzie> Sometimes there's a multi-stage thing where the first 512 bytes uses a really simple loader to load K sectors from a fixed offset on the disk, and then that code has a fancier loader that can actually parse filesystem formats to figure out what to load.
23:24:41 <Slereah_> Or it may just be that there's a lot of whitespace and comments and metastuff
23:25:03 <Slereah_> And knowing is half the battle.
23:26:14 <fizzie> You can ask many assemblers to produce code listings that have offsets, hexdumps of opcodes, and the source code.
23:26:58 <Slereah_> Is there some really nifty assembly IDE?
23:27:12 <Slereah_> Usually they just do syntax highlighting
23:27:17 <fizzie> (Re the concept of "loading data from fixed offsets on the disk", I'll just say "LI" here.)
23:30:03 <fizzie> LILO used to be a popular (the most popular?) boot loader for Linux on x86 before GRUB came along; it had a multi-stage loader like that, and for debugging it printed out the letters "LILO" one at a time at different times of the boot process. If you had moved the data files (or had some CHS/LBA mismatch going on), the most common place for it to get stuck was after priting "LI".
23:33:05 <fizzie> (GRUB, on the other hand, had boot loader stages 1, 2 and because that's not nearly enough, a stage 1.5 in-between.)
23:33:07 <Bike> boot bugs are the worst. i had a whole day of trouble a few weeks back because halfway through boot the usb port with the kernel image suddenly became inaccessible
23:34:03 <Slereah_> Though I guess I don't have to worry too much about that if I use virtualbox
23:34:30 * boily shudders at the thought of virtualbox
23:34:30 <Bike> and i still don't know what causes that ugh
23:35:08 <fizzie> Bike: My computer won't boot if I have the USB memory card reader and the SD card I use in the camera attached. It just hangs.
23:35:27 <Slereah_> I'm not gonna do bootloading on my own computer man
23:35:35 <Slereah_> I don't want to reboot it a million times
23:36:08 <fizzie> Bike: (And I don't mean it's trying to boot from the SD card, it hangs long before that, trying to do... something.)
23:36:35 -!- prooftechnique has joined.
23:37:06 <fizzie> I guess it's trying to do some sort of an enumeration of devices and getting confused for some reason.
23:37:11 <Bike> while after that it got to actually booting linux but took whole minutes for each stage. irc help decided my drive was faulty, even though it was new and i couldn't find faults with SMART or anything. i think i hate linux tech support
23:39:23 <fizzie> Bike: Speaking of Linux tech support my DVD drive keeps doing http://sprunge.us/DPHa is that a good sign?
23:39:46 <Bike> uh obviously, it says "succeeded" like nine times
23:40:51 <fizzie> Heh, i seems to have kept walking down the speeds, actually.
23:41:32 <fizzie> http://sprunge.us/ZDOg if at first you don't succeed...
23:44:31 <Bike> configure the shit out of it
23:46:50 <Bike> https://www.iwr.uni-heidelberg.de/groups/comopt/software/TSPLIB95/TSPLOGO.gif nice.
23:57:33 <Phantom__Hoover> man there was this one time when a standard arch update just like renamed grub.cfg to grub.cfg.old and left nothing in its place
23:57:54 <Phantom__Hoover> (the #archlinux response was just 'should've checked the update news you fucking idiot' of course)