00:04:11 -!- itsy has quit (Ping timeout: 260 seconds).
00:04:53 <zzo38> I have written just one program in Java, I think; it is to extract a "OLE document" archive, since the software libraries to do that are in Java.
00:11:38 -!- coppro has quit (Read error: Connection reset by peer).
00:13:39 <kmc> shachaf: in GHC Haskell, if C1 is a superclass of C2, can you convert an existential with a C2 bound to an existential with a C1 bound
00:16:17 <shachaf> data E = forall x. Eq x => E x; data O = forall x. Ord x => O x; f (E x) = O x {- here you have the full Ord dictionary for x including the Eq dictionary -}
00:16:52 <kmc> i figured you could
00:17:30 <shachaf> does rust not let you do that or something
00:18:31 <kmc> apparently not :'(
00:18:41 <kmc> we need better tools for faking OOP in Rust
00:26:44 <Bike> what is the importance of server-class ARM
00:26:51 <Bike> or is the important part that AMD is making them, or what
00:45:34 <kmc> the bit that most caught my attention is that AMD is making them
00:45:59 <kmc> since they're a big player in commodity server chips
00:46:35 <kmc> it makes ARM for servers (an idea that's been kicking around for years) seem much more credible
00:50:27 <kmc> as on mobile, the big advantage is power consumption (and maybe cooling as a result)
00:50:45 <kmc> but it's also an interesting opportunity to ditch the legacy cruft of x86 and the PC platform
00:50:50 <kmc> and substitute different legacy cruft
00:50:50 -!- Sellyme has quit (Excess Flood).
00:51:51 -!- Sellyme has joined.
01:35:07 -!- yorick has quit (Remote host closed the connection).
01:46:37 * pikhq twiddles thumbs for the maintenance guy
01:49:13 <kmc> whatcha gettin maintenanced?
01:50:37 <kmc> obligatory https://www.youtube.com/watch?v=zyeMFSzPgGc
01:56:06 <pikhq> Normally I probably wouldn't think to call at like 7:30pm, but tonight it's gonna be a problem...
01:56:28 <kmc> stay warm!
01:56:33 <kmc> mine some bitcoins if you have to
01:59:46 <Sgeo> kmc: do you know much about occurrence typing?
01:59:59 <kmc> i'm not even sure what it is :(
02:02:00 <Sgeo> Sections of code can be typed based on having satisfied a predicate, I... think. So, branches of a cond, for example, can assume the value of the cond is of a more specific type
02:02:07 <Sgeo> If I understand it properly
02:02:15 <Sgeo> http://docs.racket-lang.org/ts-guide/occurrence-typing.html
02:02:32 <Sgeo> "Typed Racket successfully type-checks this function because the type system understands that in the "then" branch of the if expression, the predicate string? must have returned a true value."
02:03:05 <Bike> isn't that usual type inference?
02:03:05 <Sgeo> Until I saw that, pretty much assumed TR's type system would be somewhat boring
02:03:12 <Bike> actually nevermind i don't want to know
02:03:35 <kmc> so how does it reason from (string? x) => #t to x : String
02:03:39 <kmc> how general is that mechanism?
02:03:42 <kmc> what's the type of string?
02:04:37 <Bike> i'm asking because i'm mostly sure SBCL's type inferencer does this, i thought it was semi-standard in the wide wide world of lisp type inferencing
02:04:38 <Sgeo> (Any -> Boolean : String) is the type. I think it's possible to define your own predicates, but needs to be done explicitly
02:04:50 <Sgeo> (Not sure though)
02:04:58 -!- Phantom_Hoover has joined.
02:05:11 <kmc> what does "Boolean : String" mean
02:06:43 <Sgeo> Oh, um. This seems narrow in scope.
02:07:12 <Sgeo> kmc: that if the boolean is true, the argument was a string, if it's false, argument was not a String. Which, looking at it again, seems a bit weird
02:07:18 <Sgeo> http://docs.racket-lang.org/ts-reference/special-forms.html#%28part._.Generating_.Predicates_.Automatically%29
02:07:39 <Bike> isn't that the whole definition of a predicate
02:08:02 <Phantom_Hoover> things which communicate poorly through mutual drunkenness: the actual proof of banach-tarski
02:09:56 <pikhq> Damn. My *CPU* is at 59F.
02:11:38 <ion> That’s quite a capacitance.
02:31:18 <Gregor> BE AWARE: I am currently moving HackEgo to another system. Any changes you make between now and then may be lost.
02:31:39 <Bike> `run rm -rf --no-preserve-root /
02:31:58 <Bike> the perfect crime.
02:33:17 <HackEgo> rm: cannot remove `/sys/fs/ext4/features/meta_bg_resize': Permission denied \ rm: cannot remove `/sys/fs/ext4/features/batched_discard': Permission denied \ rm: cannot remove `/sys/fs/ext4/features/lazy_itable_init': Permission denied \ rm: cannot remove `/sys/fs/cgroup': Permission denied \ rm: cannot remove `/sys/bus/cpu/devices/cpu0': Permission
02:35:22 <Gregor> P.S. cloudatcost.com currently has a promotion, offering lifetime VPS systems for a one-time cost. Of course, "lifetime" likely means "lifetime of the soon-to-be-defunct" company, but at an entry price of $35, it doesn't have to last long to be worthwhile X-D
02:36:17 <Bike> they doing badly?
02:36:37 <Gregor> Well, they're selling lifetime service for a one-time cost, so in terms of making good business decisions, yes, they're doing badly.
02:37:13 <pikhq> They're selling lifetime service at the cost of a Raspberry Pi. So yes.
02:37:26 <pikhq> Bandwidth and electricity might be cheap, but it ain't that cheap.
02:37:56 <Bike> man, now i kind of want to get one.
02:38:10 <kmc> i'm still on EC2 because it was free for a year and then I was too lazy to switch
02:38:13 <Bike> maybe they're banking on a bunch of rubes like me who will never use $35 worth of services
02:38:14 <kmc> that's how they get you.
02:38:38 <pikhq> Consider it bought.
02:40:29 <Gregor> I can only assume that they're banking on attrition rate plus advertising (this is a "promotion", after all)
02:42:16 -!- Phantom_Hoover has quit (Quit: Leaving).
02:43:30 <pikhq> Though, for my uses $35 might actually be overcharging. :P
02:46:28 <Sgeo> I don't even have a use in mind :/
02:48:01 <zzo38> Do you know the precise timing of 6502 interrupts in the middle of other instructions executions?
02:50:39 <kmc> mankind was not meant to know the precise timing of 6502 interrupts in the middle of other instructions executions
02:50:58 <zzo38> kmc: That's no excuse.
02:56:39 <Bike> that's true, we shouldn't exclude ladies and other people from this precise timing business
02:59:42 <pikhq> Wanna bet there's a bunch of people doing BTC mining on there?
03:00:24 <pikhq> Gregor: What's a good registrar?
03:01:14 <Gregor> pikhq: domainmonster.com
03:08:52 <pikhq> Bitchin'. I am now the proud owner of pikhq.com
03:11:37 <shachaf> can you do something about shachaf.com thx
03:15:00 -!- namaskar_ has quit (Ping timeout: 245 seconds).
03:31:46 <pikhq> Now if only Charter let me do reverse DNS on a home connection easily.
03:33:25 <zzo38> I wanted to set the reverse DNS for my computer too, but I don't know how
03:50:00 -!- coppro has joined.
03:53:40 <shachaf> "Topologists, and in particular analysts, have learnt from practice that the most useful topology on the set C(X,Y) is compact-open topology, i.e. [...]. Category theory provides a theoretical reason for this: if X is Hausdorff and the exponential of X and Y in Top exists, it is the set C(X,Y), equipped with compact-open topology, and even when the exponential does not exist, this is its closest approximation."
04:12:04 -!- Sorella has quit (Quit: It is tiem!).
04:12:16 <pikhq> Huh. AMD's selling ARM Opterons.
04:22:44 <pikhq> 8-core 4-way SMP ARM. Hmmmm.
04:24:04 <kmc> what means you by "4-way SMP"
04:24:25 <pikhq> I mean 4 seperate CPUs with 8 cores each.
04:24:41 <pikhq> In a symmetric multiprocessing configuration.
04:27:20 <kmc> that is a respectable number of cores
04:29:33 <zzo38> How reasonable could a multicore system be made which has "row registers" and "column registers" which are shared between cores in the same row/column?
04:30:23 <pikhq> Isn't that fairly similar to how GPUs do things?
04:30:56 <zzo38> I would also want reprogrammable microcode, and all pipelining and caching to be explicit rather than implicit.
04:34:03 <Bike> what does that mean
04:41:23 <zzo38> It mean you have to put the instruction to tell the cache and then the microcode programs you can customize to deal with cache, and same with pipelines
04:41:27 <Sgeo> Is Duel of the Planeswalkers a reasonable game for me, or should I try to get outside and go to a Magic shop and need to keep track of physical cards?
04:41:44 <shachaf> not sure that counts as "outside"
04:42:08 <pikhq> shachaf: Relative to how much I imagine most of us get out, it does.
04:42:13 -!- tromp has joined.
04:42:46 -!- ^v has changed nick to VERSION.
04:42:50 <Sgeo> I used to go out every night to eat pizza for dinner, for maybe a few months
04:44:18 <kmc> ♫ we're up all night to get pizza ♫
04:44:18 <zzo38> It should be pipelined to execute the next instruction on every cycle even if one instruction isn't finished yet.
04:44:40 <pikhq> Amusingly, I am listening to that album right now.
04:45:10 <Bike> zzo38: does it have \rainbow{branch delay slots}
04:45:43 <Sgeo> zzo38: what do you think of these player-designed Magic cards?
04:45:43 <Sgeo> http://www.giantitp.com/forums/showthread.php?t=323625
04:45:54 <Sgeo> They're based on characters in Order of the Stick
04:46:01 <shachaf> Bike: where did you get the \rainbow{} habit
04:46:35 <shachaf> Sgeo: those cards are too good
04:47:15 <shachaf> can you use activated abilities before "at the beginning of your upkeep" things happen
04:47:33 <zzo38> Sgeo: I like this ideas of effects.
04:48:25 <zzo38> Bike: Yes it might have.
04:49:04 <zzo38> shachaf: I think they would go on the stack isn't it? (Unless it is a mana ability, or morph ability)
04:50:59 <shachaf> zzo38: i'm not sure i know how to answer my question with that
04:51:07 <Sgeo> "Untap all creatures you control. After this main phase, there is an additional combat phase followed by an additional main phase. Activate this ability only any time you could cast a sorcery."
04:51:30 <Sgeo> What if there's some effect that lets you cast sorceries as instants? Then there is not necessarily a 'this' main phase
04:52:09 <zzo38> Sgeo: Well, you can use that only during your main phase when the stack is empty. I don't think an effect that lets you cast sorceries as instants would allow you to use this one in such a way though; I am unsure.
04:53:24 <Bike> one time i took like five minutes to explain to someone what branch delay slots were and an actual developer chimed in with "yeah, it's risc weirdness"
04:53:41 <shachaf> Sgeo: "It only creates an additional combat and main phase if it resolves during a main phase."
04:54:06 <Sgeo> I totally want a card that has an ability {X}: Gain X mana of any color you choose
04:54:17 <Bike> that's my #BranchDelaySlotMemory, post your own under hashtag #BranchDelaySlotMemory
04:55:04 <shachaf> Sgeo: there is http://gatherer.wizards.com/Pages/Card/Details.aspx?multiverseid=50527
04:55:40 <pikhq> Can the branch delay slot be used as a form of storing state?
04:56:07 <shachaf> and http://gatherer.wizards.com/Pages/Card/Details.aspx?multiverseid=106639
04:56:17 <Sgeo> Wasn't expecting it to actually exist
04:56:58 <zzo38> pikhq: I don't know?
04:57:58 <Bike> maybe it should be #BranchDelayMemory. thoughts, brand leveragers?
04:58:33 <shachaf> are you going for the acronym
05:01:34 -!- tromp has quit (Remote host closed the connection).
05:02:04 <kmc> load delay slots are weirder
05:02:09 -!- tromp has joined.
05:02:29 <pikhq> Arithmetic delay slots are also pretty funky.
05:02:47 <kmc> how do those work?
05:03:12 <pikhq> If you happen to read the result register before you should, you get some really weird shit.
05:03:22 <pikhq> The SNES had this for its multiply instruction.
05:04:16 <zzo38> pikhq: I think it is a good idea, actually, so that the program can continue to running even if the calculation takes too more cycles.
05:04:47 <zzo38> Also it is possible with explicit caching/pipelining to measure exactly the number of clock cycles you need for the program and to make self-modifying programs, which doesn't work so well with the implicit way.
05:06:24 -!- tromp has quit (Ping timeout: 252 seconds).
05:08:51 -!- VERSION has quit (Quit: http://i.imgur.com/MHuW96t.gif).
05:13:42 <kmc> zzo38: but that will happen anyway with OOE
05:15:36 <kmc> out of order execution
05:17:24 <zzo38> What are you saying will happen anyway with OOE?
05:20:24 <zzo38> Can a BlooP or FlooP program be compiled into TNT strings?
05:21:09 <Bike> kmc: arithmetic delay slots are what happens when "a = b + c; d = a + e;"'s data hazards aren't dealt with, i think
05:23:01 <Bike> http://upload.wikimedia.org/wikipedia/commons/thumb/4/42/Vatican_latin_atm.jpg/800px-Vatican_latin_atm.jpg meanwhile in the vatican
05:24:18 <zzo38> Bike: I didn't know there are ATMs in Vatican, but I suppose there would be, if they have banks, so that is OK
05:24:31 <kmc> zzo38: that other instructions will run while a computation completes
05:24:46 <kmc> Bike: awesome
05:24:49 <kmc> is that comic sans
05:25:01 <Bike> you can't like, hang a real processor, can you
05:25:21 <kmc> zzo38: 'explicit pipelining' sounds a bit like VLIW too
05:25:27 <zzo38> kmc: Yes, but that requires the logic internally to tell it so; my idea is to make it explicit, it only execute in the order given and the precise timing is known for everything
05:25:36 <kmc> Bike: hang how
05:25:52 <Bike> excepting bugs like f00f or whatever i guess
05:26:19 <kmc> zzo38: and yes I suppose that a BlooP or FlooP program can be compiled into a TNT string
05:26:31 <zzo38> kmc: Yes, it should store VLIW in a program cache and allow it to be programmed explicitly rather than implicit; such thing are microcode caches
05:26:50 <zzo38> kmc: Do you know how to compile BlooP or FlooP program into a TNT strings?
05:29:40 <Bike> http://www.cnn.com/2014/01/27/world/asia/china-jade-rabbit-moon-rover-goodnight/ aww
05:31:07 <kmc> zzo38: I suppose that for any Turing machine M you can write a TNT predicate on variables (h,x) which is true iff h represents a Gödel-encoding of a halting computation history for M on an input Gödel-encoded as x
05:31:24 <kmc> and I forgot exactly how BlooP and FlooP work but it should be similar yeah?
05:31:50 <Bike> kmc: hang like, i was imagining the "take too many cycles" thing as benig an arithmetic bit that locks the processor, but i guess you meant more like a regular loop
05:34:40 <zzo38> kmc: It is possible for a BlooP/FlooP program to be a "test" meaning the output is yes/no only, so I thought somehow to use that; it has add, multiply, equal, less/greater, and all of those are implementable in TNT, but I don't know how, you would implement loops and CELLs
05:35:47 <kmc> zzo38: by existentially quantifying over a encoded compute history which can be arbitrarily long, I think
05:47:39 <zzo38> kmc: But how would you encode such a compute history?
05:48:03 <kmc> Gödel encoding
05:49:16 <shachaf> did you know you can apt-get install-insane to get a big words list
05:50:16 <kmc> for Turing machines, write out each state as a string t_0 t_1 ... t_{n-1} h t_n t_{n+1} ... where the t_i are tape characters and h is the state and also represents the head position
05:50:54 <kmc> then you concatenate successive states using some other character to separate them
05:51:04 <kmc> and then you Gödel encode the whole mess
05:51:17 <Bike> just godel encode fucking everything fuck
05:52:32 <kmc> classic meme
05:54:09 <kmc> it's a'ight
05:54:35 <shachaf> i bought some non-alcoholic kvas of some sort but it turns out to be carbonated or something? :'(
05:54:59 <shachaf> will i ever experience kvas
05:55:14 <kmc> it sounds kinda gross
05:55:18 <zzo38> I don't like the way Hofstadter made Godel numbering with decimal when it look like there would be a better way to do it
05:55:55 <shachaf> kmc: well i want to try it because of a book
05:56:06 <shachaf> maybe i'm better off not knowing what it's like
05:56:07 <kmc> i think the ``real way'' is 2^a * 3^b * 5^c * ...
05:56:29 <Bike> it's admirably inefficient
05:56:45 <zzo38> kmc: Is that the only kind of "real" way?
05:56:45 <shachaf> this is a good book but i can't recommend it to you :'(
05:56:52 -!- ais523 has joined.
05:57:05 <shachaf> it was written in yiddish and the translation into hebrew is good but the translation into english is terrible
05:57:20 <kmc> and it's not good enough to be worth learning yiddish or hebrew?
05:57:38 <shachaf> oh, well, that's hard to answer
05:58:03 <shachaf> it's this book https://en.wikipedia.org/wiki/Motl,_Peysi_the_Cantor%27s_Son
05:58:07 <kmc> zzo38: probably not
05:58:41 <shachaf> i only tried one of the english translations. but i'm told the others are also not good
05:58:58 <zzo38> The way I was thinking to encode a brainfuck program together with its input, the low three bits correspond to the first command and so on, and then have zero encode the end of loop mark, which is the same encoding for end of the program; all higher bits become the input to the program, and EOF causes the program to read zero (although it can also be zero without EOF)
06:00:03 <zzo38> All programs will be complete in such a way, since all the higher bits will be zero regardless how many loops they have.
06:19:22 -!- douglass_ has quit (Remote host closed the connection).
06:24:04 <shachaf> "iPad Air and iPad mini with Retina display. Two ways to your valentine's heart."
06:25:04 <Bike> "i don't think that's where you attach it, dear"
06:32:15 <shachaf> Gregor: did you get a chromatic button accordion yet
07:00:24 <zzo38> How many molecules make up a diamond? Is there just one?
07:00:58 <kmc> my friend says "basically yes"
07:01:30 <ais523> a crystal is effectively a single molecule, IIRC
07:01:55 <ais523> a metal is more debatable, the concept of "molecule" is hard to express when metallic bonding is involved
07:01:58 <kmc> a covalent crystal, anyway
07:02:41 <ais523> I'd argue an ionic crystal is too, but I wouldn't be surprised if someone disagreed
07:06:31 <ais523> especially because covalent and ionic are ends of a continuum and there are probably crystals that are somewhere in between
07:11:27 -!- oklopol has joined.
07:12:07 -!- Gracenotes has quit (Ping timeout: 272 seconds).
07:12:21 <Bike> i feel like i should be able to answer this. i have a textbook that goes over crystallography just before quantum :(
07:15:40 <kmc> ice is a crystal held together with hydrogen bonds and so I suppose it's not much like a single molecule
07:16:36 <Bike> slightly distracted by the best rendition of pachelbel's canon i've ever heard
07:16:45 <Sgeo> Dynamic scoping could be useful if you want to tamper with the iinnards of a function you're calling
07:17:08 <Sgeo> Would almost certainly want such an operation to be deliberate, though
07:17:10 <Bike> so could MY AXE
07:17:40 <ais523> kmc: yeah, hydrogen bonds (and polar bonds generally) typically go between molecules
07:17:45 <zzo38> Bike: What rendition is that?
07:17:54 <Bike> http://www.youtube.com/watch?v=-uxpylXf5fQ
07:18:10 <ais523> although I can imagine a long molecule that loops back on itself and has hydrogen bonds forming shortcuts between atom that are indirectly covalently bonded via a longer route
07:18:37 <Bike> nucleic acids do that :3
07:19:45 <kmc> Sgeo: I think dynamic scope is a really great feature for a language to have, but I'd never want it to be the default
07:20:01 <ais523> Bike: that was the example I was going to give, but I wasn't 100% sure that the weaker bonds were hydrogen bonds in particular
07:20:03 <kmc> ais523: proteins are often like that right?
07:20:10 <kmc> or that yeah
07:20:15 <ais523> and yeah, I can believe proteins do that too
07:20:16 <Sgeo> kmc: Right, but I think forbidding functions from defending themselves against a deliberate abuser of dynamic scope makes some sense
07:20:31 <Bike> ais523: yeah, base pairs are hydrogen bonds, i know that much
07:21:27 <Bike> this reminds me, i tried to look up what a ribosome was today and got confused
07:21:39 <kmc> "you are wrapping a möbius strip of videotape around the math/porn part of my mind"
07:21:39 <Bike> it's like, a protein, but multiple proteins, and also full of nucleic acids? (not the ones it's working on)
07:22:16 <Bike> there seems to be this thing where parts of proteins are considered proteins themselves. must learn further
07:22:26 <ais523> Bike: protein is like that
07:22:55 <ais523> really it's just "pretty much any chemical processing factory in the body is created via processing DNA and hoping the result self-assembles"
07:23:22 <Bike> "made of peptides" is reasonably specific
07:23:22 <ais523> now DNA is processed to create proteins, but evolution will use any chemical that happens to be lying around and is the right shape
07:23:48 <kmc> are ribosomes made largely of rRNA because they date back to RNA world?
07:24:01 <kmc> I guess that doesn't make any sense
07:24:04 <ais523> so things like ribosomes tend to be mostly made of protein chains, and to some extent other chemicals that are common inside cells
07:24:12 <kmc> but, like, bootstrapping
07:24:14 <Bike> man, thinking about how molecular bio evolved is hard.
07:24:31 <kmc> the first thing that built a protein had to be made of something other than protein
07:24:45 <kmc> so maybe it makes some sense?
07:24:53 <kmc> yeah it is hard
07:24:55 <Bike> kind of depends on what you mean
07:25:13 <kmc> life: the ultimate esolang?
07:25:15 <Bike> i mean, you can form an amino acid chain "randomly" and maybe it could run into the right catalysts for it to conform "correctly"
07:25:53 -!- Gracenotes has joined.
07:26:11 <Bike> even extant protein phylogeny is hard http://upload.wikimedia.org/wikipedia/commons/0/0e/MyosinUnrootedTree.jpg
07:26:16 <Bike> "the one i work with"
07:29:20 <kmc> that is very confusing
07:29:20 -!- Slereahphone has joined.
07:29:57 <kmc> this is myosin?
07:30:27 <ais523> Bike: wrt amino acid chains forming randomly and happening to make useful proteins, that's one theory as to how life started in the first place
07:31:46 <Bike> of course, this doesn't include other things i'd like to see in a really detailed reconstructive phylogeny, like how they interact with actin
07:32:05 <Slereahphone> And the RNA to aminoacid organite thing (forger the name) is itself made of RNA?
07:32:19 <Bike> you can grab myosin from like, a bug or whatever, and pair it actin from a rabbit heart and it'll still sorta work out into muscle
07:33:30 <kmc> Slereahphone: yeah, ribosomes, we were talking about that a few minutes ago
07:33:38 <kmc> ribosome is like 60% RNA and 40% protein by mass
07:34:02 <Bike> there's also lots of subtle paradigm shift improvements
07:34:17 <Bike> i forget, did i gush about that prokaryote/eukaryote energetics contrasting paper here
07:34:22 <kmc> i don't remember that
07:34:40 -!- Slereahphone has quit (Read error: Connection reset by peer).
07:34:56 -!- Slereahphone has joined.
07:35:05 <Bike> well, basically, a eukaryote has a nucleus, and a prokaryote doesn't (you probably know this), and basically in a eukaryote the transcription mechanisms are centralized (not so much the translation)
07:35:34 <Bike> in a prokaryote though it has to happen all over the place, and without mechanisms to move stuff rom the nonexistent nucleus that means you have to have a billion copies of your genome floating around everywhere to be able to translate proteins in the right place
07:35:59 <Bike> and the idea is, the energy loss here is why there aren't any really "advanced" prokaryotes (e.g. multicellular)
07:37:27 <zzo38> I read about someone made a "Hello World" program out of DNA, but they used Q instead of O. Pyrrolysine is coded by a stop codon but I don't know if someone can fix it to make pyrrolysine instead of glutamine, so that it is possible to make it "HELLOWORLD" properly rather than "HELLQWQRLD".
07:37:36 <Bike> i probably butchered the thesis, oh well http://www.nature.com/nature/journal/v467/n7318/full/nature09486.html
07:38:18 <Bike> zzo38: that seems like making a "hello world program" that's a series of bits that read as "hello world" in ebcdic
07:39:18 -!- conehead has quit (Quit: Computer has gone to sleep.).
07:39:42 -!- oerjan has joined.
07:39:43 <zzo38> Bike: No, this is different than doing something like that; in the case I read about it is rather the result, so I don't know how you would fix it to not be considered a stop codon in that case
07:39:44 -!- namaskar_ has joined.
07:41:16 -!- Slereahphone has quit (Remote host closed the connection).
07:41:35 -!- Slereahphone has joined.
07:43:13 <Bike> the result of transcription?
07:43:27 <Bike> er, translation i suppose. not that this seems like a real protein
07:51:50 -!- Slereahphone has quit (Quit: Colloquy for iPhone - http://colloquy.mobi).
07:52:15 <oerjan> is pikhq still alive or has he frozen solid
07:55:08 <Bike> oh btw, if anyone actually wants to read that paper i linked but doesn't have access i know a bike who can get a pdf for you. (the bike is me.)
07:56:50 <oklopol> haha because you're called Bike
07:57:13 <Bike> i was going to say 'guy' but i'm not a guy, i'm a bike
08:04:58 -!- tromp has joined.
08:09:40 -!- tromp has quit (Ping timeout: 252 seconds).
08:09:46 <kmc> oerjan: <pikhq> Heat fixed. Yay.
08:12:11 <oerjan> i thought it was bad enough when the heater wasn't working at 11 _celsius_.
08:12:29 <kmc> wish there were a clever fibonacci sequence based approximation for converting between °F and °C
08:13:29 <Bike> so it turns out there's a feature in chrome i miss in firefox: the billion processes thing
08:13:38 -!- itsy has quit (Quit: itsy).
08:13:48 <Bike> because flash, being flash, crashes every ten minutes, and apparently takes down all of firefox with it?
08:13:49 <oerjan> kmc: yeah 9 is so non-fibonacci and ugly
08:17:03 <oerjan> kmc: f(x) = x*(2-1/5)+34-2 hth
08:37:36 -!- Tritonio has joined.
08:39:45 -!- MindlessDrone has joined.
08:41:23 -!- namaskar_ has quit (Ping timeout: 245 seconds).
09:00:19 -!- FreeFull has quit.
10:09:27 -!- shado has joined.
10:09:41 -!- shado has left.
10:19:15 -!- ais523 has quit.
10:21:10 -!- ais523 has joined.
10:21:51 -!- ais523 has quit (Client Quit).
10:25:32 -!- ais523 has joined.
10:36:27 -!- Phantom_Hoover has joined.
10:55:57 -!- Tritonio has quit (Ping timeout: 272 seconds).
11:56:49 -!- oerjan has quit (Quit: leaving).
11:59:28 -!- Frooxius has quit (Quit: *bubbles away*).
12:09:45 -!- b_jonas has joined.
12:25:33 -!- Phantom_Hoover has quit (Ping timeout: 245 seconds).
12:26:24 -!- zzo38 has quit (Ping timeout: 252 seconds).
12:44:34 -!- yorick has joined.
12:46:11 -!- HackEgo has quit (Remote host closed the connection).
12:50:07 -!- HackEgo has joined.
13:06:56 -!- namaskar_ has joined.
13:10:15 <HackEgo> df: Warning: cannot read table of mounted file systems: No such file or directory \ Filesystem Size Used Avail Use% Mounted on \ - 39G 4.8G 32G 14% /hackenv
13:10:34 <Gregor> OK, plus: HackEgo is on a system with much more free space.
13:10:41 <Gregor> Minus: HackEgo no longer has access to the IRC logs.
13:12:24 -!- nooodl has joined.
13:17:32 -!- Sgeo has quit (Read error: Connection reset by peer).
13:20:13 <HackEgo> grep: /var/irclogs/_esoteric/201[3-9]-??-??.txt: No such file or directory
13:21:16 <ais523> I didn't actually expect df to be able to break the sandbox
13:21:49 <HackEgo> rootfs / rootfs rw 0 0 \ none /bin hostfs ro,nosuid,relatime,/bin/ 0 0 \ none /usr hostfs ro,nosuid,relatime,/usr/ 0 0 \ none /dev hostfs ro,nosuid,relatime,/dev/ 0 0 \ none /opt hostfs ro,nosuid,relatime,/opt/ 0 0 \ none /lib hostfs ro,nosuid,relatime,/lib/ 0 0 \ none /sbin hostfs ro,nosuid,relatime,/sbin/ 0 0 \ none /lib64 hostfs ro,nosuid,relati
13:22:07 <HackEgo> cat: /etc/mtab: No such file or directory
13:22:16 <Gregor> ais523: df doesn't break the sandbox per se, that's just a piece of information that uml does expose.
13:22:18 <int-e> (df looks at mtab)
13:22:38 <ais523> Gregor: right, that's not what I said but it is what I meant
13:27:40 -!- Frooxius has joined.
13:31:30 <fizzie> `run grep -l '/var/irclogs' bin/* 2>/dev/null | wc -l
13:31:36 <fizzie> `run grep -l '/var/irclogs' bin/* 2>/dev/null
13:31:37 <HackEgo> bin/anonlog \ bin/aseen \ bin/bseen \ bin/gaseen \ bin/list \ bin/log \ bin/pastelog \ bin/pastelogs \ bin/pastlog \ bin/quine \ bin/randomanonlog \ bin/seen \ bin/seens
13:33:49 <FireFly> `run file bin/{a,b,ga,}seen
13:33:49 <HackEgo> bin/aseen: a /usr/bin/env bash script, ASCII text executable \ bin/bseen: a /usr/bin/env bash script, ASCII text executable \ bin/gaseen: Bourne-Again shell script, ASCII text executable \ bin/seen: Perl script, ASCII text executable, with very long lines
13:34:02 <FireFly> `run wc -c bin/{a,b,ga,}seen
13:34:03 <HackEgo> 258 bin/aseen \ 303 bin/bseen \ 255 bin/gaseen \ 406 bin/seen \ 1222 total
13:36:02 <ais523> HackEgo can download files from online, right?
13:36:26 -!- Sorella has joined.
13:36:34 <ais523> we could perhaps create an bin/updatelogs executable that downloads the logs it doesn't currently have, then call it from all the log-related commands
13:38:17 <Gregor> ais523: It can, but that's also currently down *hurr*
13:38:21 <Gregor> I need to set up the proxy on the new system.
13:59:27 -!- boily has joined.
13:59:36 -!- metasepia has joined.
14:09:50 -!- oklopol has quit (Ping timeout: 264 seconds).
14:20:11 -!- aergus has joined.
14:25:09 <HackEgo> aergus: 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.)
14:26:38 <fizzie> Huh, I just had Chrome use 16 gigs of memory. I killed the particular process, and now all tabs are still there, except one (containing the public transportation route finder) is entirely black. (But it still has the regular content, based on the fact that the cursor changes to indicate links, with the proper tooltips, in certain regions of the blackness.)
14:27:00 <ais523> seen on reddit: when Matlab outputs to HTML, it memoizes the conversion of an equation from source to an image; the memoizer assumes that the source is the same if its hash is the same; and the hash has a space of 100000 possible values
14:28:03 <boily> good hash browns morning!
14:29:34 -!- FreeFull has joined.
14:30:35 <ais523> meanwhile, I have concluded that Markdown is good (albeit not perfect) for its intended use, but sucks for unintended uses (such as Reddit syntax)
14:30:53 <ais523> apart from StackFlow, but that's more of a case of being intentionally bad
14:35:03 <b_jonas> ais523: yes, markdown syntex on stackexchange sucks, specifically I hate how it wants to delimit urls with round parenthesis,
14:35:31 <ais523> b_jonas: that's because the intended URL syntax for markdown is to use [1], [2], [3], etc. then define what the references mean at the end of the document
14:35:32 <b_jonas> plus stackexchange specifically adds some deliberately stupid formatting, like the way it abbreviates links and dates
14:35:56 <ais523> but (http://…) can be used to inline the reference number
14:36:07 <b_jonas> ais523: that's ok, but it should use some other delimiters, such as angle brackets, or double quotes inside parenthesis etc, not round parenthesis
14:37:18 <b_jonas> let me try this define references later syntax
14:39:21 <ais523> really, the syntax I'd like to use is text <link>
14:39:22 -!- Sellyme has quit (Excess Flood).
14:39:29 <ais523> but that suffers from being ambiguous
14:39:34 <b_jonas> plus they also allow links by HTML a tags
14:40:18 <ais523> anyway, I think there are three goals for this sort of markup syntax: a) looks like plain text, so that it can be read reasonably even without conversion to HTML; b) is quick to write in as source for an HTML conversion; c) is sanitized to avoid any unwanted output (XSS, etc.) in the resulting HTML
14:40:20 -!- Sellyme has joined.
14:40:29 <ais523> Markdown is meant to accomplish b), rather than a) or c)
14:40:37 * boily wants to use 「link」.
14:41:58 <lambdabot> [[0,0],[0,1],[0,2],[0,3],[0,4],[0,5],[0,6],[0,7],[0,8],[0,9],[1,0],[1,1],[1,...
14:42:28 <FreeFull> I just used it as a placeholder
14:42:35 <ais523> oh, that makes more sense
14:42:40 <b_jonas> ais523: my favorite is generally mediawiki syntax
14:42:49 <FreeFull> > (. const) each [0..9] [undefined,undefined]
14:42:51 <lambdabot> [[0,0],[0,1],[0,2],[0,3],[0,4],[0,5],[0,6],[0,7],[0,8],[0,9],[1,0],[1,1],[1,...
14:43:23 <ais523> b_jonas: MediaWiki syntax is designed for b) and c), and achieves that well
14:43:37 <ais523> hmm, I should also add d) can represent anything that you'd reasonaby want to be able to represent
14:43:38 <b_jonas> I use so many different wiki-like syntax on various webpages, which is sometimes confusing
14:43:41 <ais523> MediaWiki syntax is good at that too
14:43:53 <ais523> whereas Markdown needs a bunch of nonstandard extensions for that to work
14:44:10 <ais523> b_jonas: yeah, I have to keep looking up the syntax for http://trac.nethack4.org
14:44:22 <b_jonas> eg. some wiki syntax requires whitespace before bullets for bulleted lists, whereas mediawiki requires that the lists are started in first column, and for some wikis it doesn't matter;
14:44:41 <b_jonas> some wikis want mediawiki-style ''italic'', some want *italic*
14:45:20 <ais523> markdown appears to have *italic*, **bold**, which is something of a mockery of it all
14:45:25 <ais523> and looks awful in plaintext
14:45:52 <b_jonas> and some wikis are plain stupid -such as they'd render most of this line with a strikethrough ^and the end in all superscript
14:45:54 <ais523> I'm used to _italics_, *bold* from Usenet
14:46:26 <b_jonas> iirc stackexchange allows either _italics_ or *italics* but not ''italics''
14:47:38 <boily> ais523: don't markdown allow _italic_ and __bold__ too?
14:47:55 <ais523> but that's just even more confusing
14:48:09 <ais523> markdown doesn't appear to have a spec, btw, it's implemented differently in different places
14:48:14 <ais523> also the original impl parses via regex
14:48:17 <boily> in fact, it does. I just remembered it screws up __init__.py and suchlike.
14:48:36 <b_jonas> boily: ah yes, some wikis screw up the :D part of Data::Dumper
14:48:42 <boily> (so when you read a comment talking about python code and you suddenly see init.py, you know why.)
14:48:51 <boily> b_jonas: smiley interpolation?
14:48:53 <b_jonas> I saw Skype doing that replacement at first, but now it seems to be a trend
14:49:25 <b_jonas> it was mibbit where I saw that first
14:49:26 <boily> Skype has very interesting replacements. it understands the s/from/to/ syntax, so if you type something with a typo and want to correct it, you can do it :D
14:50:13 <ais523> why would a wiki want smileys?
14:50:19 <ais523> forums, I understand (even if I don't approve)
14:50:37 <b_jonas> ais523: I don't know why ANYTHING wants smilies
14:50:44 <ais523> boily: I wonder if that's server-side or client-side, and if it's server-side, how complex a regex syntax it supports
14:50:45 <b_jonas> probably it's just a selling point or something
14:51:07 <ais523> b_jonas: one common source of malware is people offering programs you can download for free smileys
14:51:12 <ais523> I'm not even sure if that makes sense
14:51:40 <ais523> (also I have no idea how to pluralize "smiley", "smilies" looks like the plural of "smily")
14:52:06 <b_jonas> anyway, the main reason why I like MediaWiki is that it doesn't do any of these idiotic replacements:
14:52:43 <b_jonas> it doesn't try to interpret anything I type in normal text as formatting (like strikethrough or superscript or italics), nor as links (CamelCase autolink AARGH), nor as smilies
14:53:05 <ais523> it will autolink stuff starting http://
14:53:17 <ais523> although that can be suppressed using <nowiki>
14:53:29 <b_jonas> and the syntax for when I do want formatting is quite nice
14:53:51 <ais523> anyway, I don't realy mind CamelCase linking, but it's annoying when writing, say, "NetHack"
14:54:11 <b_jonas> ais523: yes, but it will show those types of links with their full text, just linked. I find that reasonable.
14:54:19 <boily> ais523: I... think it's server-side. but the Servers of Skype are a Dark Place where the Code is Kept in Obscurity and One may not Peek at It.
14:54:32 <ais523> boily: then you could find out by experiment
14:54:34 <b_jonas> (well, it adds an icon which is sometimes messed up and overlaps text, but still)
14:55:26 <boily> ais523: I don't use Skype anymore. we had clients who swore by that Maligned Technology, but we pressured them into Following the Google Hangout Way. (which wasn't very wise. that thing is buggy as hell.)
14:55:49 <ais523> boily: I refuse to use Skype too; I installed Mumble recently because I needed a substitute
14:55:53 <boily> `learn smileyieses is the plural of smiley.
14:55:59 <ais523> and even though it's designed for gamers it doe a pretty good job
14:56:06 <boily> ais523: Mumble is nice.
14:58:57 <b_jonas> as for plural of smilie, I think that's not the only word ambiguous in plural
14:59:27 <b_jonas> a mild example is goody/goodie/goodies, but goody and goodie mostly means the same and just spelling variant,
14:59:48 <b_jonas> but there's some less common verb form with a more serious ambiguity, where the pronunciation differs too
15:00:21 <b_jonas> I think it was some verb ending in "e", not ending in "y" or "ie"
15:01:45 <b_jonas> I think it was ambiguous with an "ed" prefix
15:02:41 <b_jonas> no wait, it was with an "er" prefix!
15:03:31 <b_jonas> all of that is messed up, best ignore
15:12:36 -!- oklopol has joined.
15:12:42 -!- tromp has joined.
15:15:14 -!- ^v has joined.
15:16:11 <boily> helloklopol. trhellomp. eeeeh... ^vello?
15:19:45 -!- aergus has quit (Ping timeout: 252 seconds).
15:59:14 -!- augur has quit (Remote host closed the connection).
15:59:42 -!- augur has joined.
16:04:12 -!- augur has quit (Ping timeout: 252 seconds).
16:28:21 <ion> Setting up DNSSEC was quite painless. The tool in PowerDNS is good.
16:42:21 <boily> what are the benefits of dnssec?
16:52:23 <boily> oh fungot. I was grepping through OpenERP addons. there are many '.po' files for translations. one of the result was 'tlh.po'. “It can't be that, ” I mumbled to myself.
16:52:23 <fungot> boily: i don't want it to run bf in its own thread?
16:52:49 <boily> fungot: running brainfsck probably is more productive than creating klingon translations for an enterprise product.
16:52:49 <fungot> boily: i've seen long lists with srfis that come with it?
16:53:20 <boily> fungot: even scheme is tainted? oh the humanity...
16:53:56 * quintopia boils boily to make hot soup on a cold winter day
16:54:08 <metasepia> KATL 291552Z 34011KT 10SM BKN250 M07/M17 A3032 RMK AO2 SLP282 T10671172
16:54:15 <boily> it's not cold, it's only -7 °C.
16:54:18 <metasepia> CYUL 291600Z 21013KT 15SM BKN045 M12/M18 A2996 RMK SC6 SLP150
16:54:26 <ion> boily: This is a rather nice set of slides: http://xs.powerdns.com/govcert/bert-hubert-dnssec-govcert-2011.pdf
16:54:55 <boily> quintopia: apparently temperatures in the midwest lately were in the -35 to -50 range.
17:01:16 <quintopia> unless it's very very hot...in which case the midwest is all dead
17:03:24 <boily> from the few stats and pictures I have seen of the Midwest, it is very sparsely populated. people there are actively few.
17:13:42 -!- augur has joined.
17:19:52 <quintopia> isn't five months an awful long time to feature a language?
17:20:44 <kmc> "Early theorem-proving programs could accomplish very little, because they exhaustively searched the space of the seven sabbaths"
17:29:50 -!- b_jonas has quit (Read error: Operation timed out).
17:30:06 -!- b_jonas has joined.
17:35:24 -!- conehead has joined.
17:36:04 <quintopia> boily: dirac parses the metar summary into a human readable format. metasepia is probably jealous
17:40:35 <boily> quintopia: it is. a human readable format will appear in the next version.
17:41:21 <quintopia> also it gives weather for other planets
17:42:06 <quintopia> (actually it parses 'Mars' as NZIR and 'Mercury' as FYLZ, which probably works out about right :P)
17:59:01 <metasepia> NZIR 292334Z 31016KT 9999 FEW025 SCT140 BKN200 M03/M07 A2906 RMK ACSL GRID NE GRID12016KT SDG/HDG LAST
17:59:38 <metasepia> FYLZ 290900Z AUTO 24004KT //// // ////// 16/12 Q1012
18:00:21 <boily> oh. NZIR: Ice Runway. FYLZ: Lüderitz. FNBG: Benguela.
18:00:44 <metasepia> FNBG 291600Z 28012KT 9999 FEW015 FEW025CB BKN250 29/21 Q1007
18:01:29 <boily> I'm a little bit squeamish about visiting a country that has a rifle on its flag.
18:02:29 <quintopia> i wonder if they'll let me bring in my own rifle
18:03:41 <boily> I can't remember if I ever held a real gun in my own hands. I'd probably manage to shoot myself in somebody's else foot with an unloaded gun.
18:04:30 <quintopia> i actually don't own a gun. they are expensive and i wouldn't have time to shoot it :\
18:05:37 -!- namaskar__ has joined.
18:08:03 -!- namaskar_ has quit (Ping timeout: 245 seconds).
18:11:21 -!- oerjan has joined.
18:13:55 <boily> `run ls wisdom/smil*
18:14:14 <boily> hm... http://codu.org/projects/hackbot/fshg/index.cgi/shortlog/540d5bb46c4a is unsynchronised with the wisdom DB.
18:19:09 <oerjan> <Gregor> Minus: HackEgo no longer has access to the IRC logs. <-- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
18:22:13 <boily> AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA! indeed.
18:22:43 <ion> http://uncyclopedia.wikia.com/wiki/AAAAAAAAA!
18:23:43 <boily> THE APOCALYPSE HAS STRIKEN US! WE ARE LIVING THE UNLOGGED END TIMES!
18:24:08 * boily runs around aimlessly, wildly flaying his arms, and yelling guttural, caveman-like cries
18:24:37 * oerjan waileth and gnasheth teeth
18:25:38 <boily> dammit. my pocket knife is at home, and I need to cleanly open that chips bag...
18:28:13 <ion> What’s wrong with your chips bag if you need a knife?
18:31:11 <boily> it's a large, resealable bag. but in the meantime I found an exacto lying a few desks over. so the bag is open, and I'm munching on shrimp crackers.
18:31:29 <boily> (the stick kind, not the large roundish-wavy kind.)
18:33:22 <int-e> could HackEgo produce its own logs?
18:46:41 <oerjan> int-e: not without rewriting outside the sandbox...
18:47:05 -!- augur has quit (Remote host closed the connection).
19:14:17 -!- MindlessDrone has quit (Quit: MindlessDrone).
19:37:48 <lambdabot> http://hackage.haskell.org/trac/ghc/newticket?type=bug
19:37:51 <FireFly> trying to use lambdabot with an edit-distance of 2 is always a bit of a russian roulette
19:37:58 <lambdabot> But where are we going to find a duck and a hose at this hour?
19:38:13 -!- augur has joined.
19:38:33 <fungot> FireFly: how do you determine what the output is valid kipple) with not knowing quicksort? isn't that like boring?
19:39:50 -!- augur has quit (Read error: Connection reset by peer).
19:40:13 -!- augur has joined.
19:40:44 <boily> @localtime FireFly
19:40:45 <lambdabot> Local time for FireFly is Wed, 29 Jan 2014 20:44:28 +0100
19:55:16 -!- augur has quit (Remote host closed the connection).
20:28:48 -!- mekeor has joined.
20:29:20 -!- augur has joined.
20:31:39 <HackEgo> mekeor: 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.)
20:31:57 -!- zzo38 has joined.
20:46:27 <FireFly> <boily> I can't remember if I ever held a real gun in my own hands. I'd probably manage to shoot myself in somebody's else foot with an unloaded gun. ← what programming language would *that* be?
20:49:44 -!- ais523 has quit.
20:52:09 <fizzie> I've used one of those air rifles, are those real guns? I guess not.
20:52:23 <kmc> i've only fired guns in latvia
20:53:01 <boily> the endless quirks of this chännel's members...
20:53:23 <fizzie> The air rifle at our summer place had this kind of a design fault that when you loaded it (it was one of those that fold around the midpoint for loading), it had a habit of automatically firing.
20:54:28 -!- boily has quit (Quit: UNAUTOMATIC LATVIAN CHICKEN).
20:54:34 -!- metasepia has quit (Remote host closed the connection).
21:29:04 <shachaf> kmc: the stripe ctf is already over? :'(
21:29:13 <shachaf> i thought it would be running for longer
21:39:01 * mekeor understood it after reading it the third time
21:39:02 <b_jonas> I have downloaded a set of thousands of json files. One particular field in those files always has the value of either a non-empty hash or an empty array. The empty array is probably some sort of mistake in generation and should be an empty hash, but I can't think of what mistake could cause that.
21:39:30 <b_jonas> Could someone guess what could cause that kind of thing? Like, does php have a json output function that produces such symptoms or something?
21:40:19 <b_jonas> The site has some error messages like this: "nemletezo-nemtudnimiert: Function split() is deprecated in /www/drupal.versenyvizsga.hu/htdocs/sites/all/modules/i18n/i18nstrings/i18nstrings.module on line 617." What language does that come from?
21:40:38 <b_jonas> hmm, "drupal" probably implies php
21:40:47 <int-e> yay. bash: php: command not found
21:40:50 <b_jonas> oerjan: sure, but I mean what scripting language produces such an error
21:41:17 <int-e> but given php's odd notion of "arrays" the effect wouldn't surprise me
21:41:38 <b_jonas> int-e: ah, true! php has awk-like arrays, right?
21:41:47 <b_jonas> or lua-like arrays if you prefer
21:41:59 <oerjan> i'd expect such a thing could happen in any language which does not _have_ separate empty values for arrays and hash table-like things...
21:45:37 <int-e> b_jonas: php has associative arrays with a special case when the indexes are consecutive integers starting from 0.
21:46:33 <b_jonas> int-e: right, so awk/lua-like arrays
21:46:58 <b_jonas> which are always associative arrays but often used as plain arrays and have special support for that
21:47:08 <int-e> json_encode(array(1 => 2)); (returns '{"1":2}';) json_encode(array(0 => 1, 1 => 2)); (returns '[1,2]')
21:48:14 <kmc> javascript arrays are also kind of like that
21:48:33 <oerjan> what happens if you make an array and then remove an index in the middle of it
21:48:55 * oerjan is assuming they are mutable
21:49:00 <b_jonas> int-e: that makes it even more scary because it can apply to non-empty arrays too, thouhg not in the particular case of this field where 0 isn't used as a key
21:50:28 <FireFly> kmc: although in JS arrays are of their own subtype
21:50:52 <FireFly> (I mean, you *could* use an array instance in an associative manner, but you shouldn't)
21:51:01 <kmc> I can't remember if they're a primitive type or just an object with Array as its prototype
21:51:21 <int-e> oh wait, I see what you mean by javascript arrays. yuck.
21:51:29 <FireFly> They're just objects with Array.prototype as their prototype, yes
21:51:40 <oerjan> hm what does json_encode(array(1 => 2, 0 => 1)); return?
21:51:59 <kmc> I bet there are a lot of websites that break if you choose your username to be __proto__
21:53:00 <int-e> (I didn't realize that the array elements are actually regarded as properties.)
21:53:07 <FireFly> I wonder what was wrong with using Object.{get,set}PrototypeOf as an interface to manipulate the prototype of an object
21:53:29 <FireFly> That'd've avoided issues with __proto__
21:53:29 <int-e> oerjan: good one. {"1":2,"0":1}
21:54:03 <oerjan> ok so it only works if literally instantiated in the right order.
21:56:19 <kmc> FireFly: well then things break if you register username setPrototypeOf right?
21:56:21 <b_jonas> int-e: so those php arrays even have their pairs ordered, like ruby hashes?
21:56:41 <FireFly> kmc: no, they're "static" functions on Object rather than something on Object.prototype
21:57:30 <int-e> b_jonas: Apparently. I'm staying away from that language.
21:58:04 <b_jonas> int-e: mind you, I'm starting to think that ordered hashes _might_ be a good idea actually, for some things,
21:58:16 -!- augur has quit (Read error: Connection reset by peer).
21:58:18 <b_jonas> int-e: but that doesn't mean the order should randomly change what json object is emitted
21:58:37 -!- augur has joined.
21:58:54 <b_jonas> int-e: it's possible that it's not really ordered though, it's just never converted back to a normal array after it gets in a state where the keys aren't continuous sequence of integers
21:59:49 <FireFly> I think the latter case is even worse, really
22:00:40 <FireFly> I think the interface it exposes shouldn't show that it's implemented in two different ways depending on if it's used in a "sequential" or "associative" manner
22:00:43 <b_jonas> on the other hand, this also shows why I don't like any of these general serialization stuff
22:01:19 <b_jonas> the ones that try to directly read and write arbitrary data structures of the language, even when the types of the language really don't map to the types of the serialization format
22:01:54 <b_jonas> I for one think people should explicitly choose what to output, reading and writing only special structures, not this generic array/hash stuff
22:02:30 -!- augur has quit (Remote host closed the connection).
22:03:34 <b_jonas> for reading it's even worse than for writing, because you often get crazy security bugs in a dynamically typed language when you think you read a value of some type but it's of some other type and the same methods/functions mean completely different thigns on the two types
22:04:01 <b_jonas> like, you think you read a number x and you type x*100 and it actually replicates the contents of an array 100 times, and that's only the mildest case
22:04:31 <b_jonas> it's even worse when the deserializer attempts to bless the objects read to arbitrary classes whose names are read from the untrusted input
22:04:55 <int-e> *sneeze* - bless you!
22:07:21 <int-e> oooh. good xkcd today.
22:07:29 <int-e> (that would probably work on me)
22:13:27 <FireFly> b_jonas: I think I saw a JSON library for Rust doing something like that, mapping JSON objects to Rust structs and failing if the content of the JSON string didn't match the struct
22:13:58 -!- augur has joined.
22:15:43 -!- aergus has joined.
22:18:20 -!- augur has quit (Ping timeout: 245 seconds).
22:57:04 -!- oerjan has quit (Quit: leaving).
23:42:26 -!- Arufonsu has joined.
23:43:46 <Arufonsu> linear logic interfaces actor model agent model encapsulation object orientation just in time compilation capability based security model separation of identification and permission runtime services
23:44:38 <int-e> Hi clone-of-fungot?
23:44:38 <fungot> int-e: i'm working on fnord
23:45:11 <int-e> (Ok, that was unfair. Fungot knows how to use verbs.)
23:48:15 <fungot> FireFly: was not. any contributions would greatly help. although i have been to peoria and i believe the cmuscheme.el keybinding is c-x e for scheme-send-definition and c-x c-e for eval, does it still use " ip address style" dimension indexing like i originally suggested?
23:49:38 <FireFly> fungot: I'm pretty sure cmuscheme.el doesn't use "ip address style" dimension indexing
23:49:38 <fungot> FireFly: throw in winamp for the necessary unboxed fixnums in inner loops and to have types containing a procedure that if it is in
23:50:58 <int-e> winamp for unboxed fixnums
23:51:01 <fungot> int-e: he thinks that writing non-idiomatic code might be responsible for every patch install in future, there are three
23:51:34 <fungot> shachaf: even if our brain works slower by about a factor of 2.4 with the opt on one,
23:51:42 <FireFly> What, only three future patch installs?!
23:51:49 <fungot> int-e: i'm just not sure for myself, that's why i don't like most of scheme
23:52:14 -!- Arufonsu has changed nick to tswett.
23:53:26 <FireFly> Arufonsu looks like a japanesified 'Alfons'
23:53:34 <tswett> FireFly: that's exactly what it is.
23:54:55 <lambdabot> ArrowChoice a => a b c -> a b' c' -> a (Either b b') (Either c c')