←2015-03-24 2015-03-25 2015-03-26→ ↑2015 ↑all
00:02:43 -!- AndoDaan has quit (Ping timeout: 250 seconds).
00:06:40 -!- boily has joined.
00:22:37 -!- AndoDaan_ has quit (Quit: Going, going, gone.).
00:26:21 -!- ProofTechnique has joined.
00:28:54 -!- Lymee has quit (Ping timeout: 265 seconds).
00:30:22 <boily> quintopia: QUINTHELLOPIA! *krssshhht* the cookies are home *khkhhhssshhh* over *rrkrhhshttt*
00:43:39 -!- Phantom__Hoover has quit (Read error: Connection reset by peer).
01:01:40 -!- idris-bot has quit (Quit: Terminated).
01:01:57 -!- idris-bot has joined.
01:03:52 -!- mroman has quit (Ping timeout: 256 seconds).
01:06:16 -!- mroman has joined.
01:11:51 -!- idris-bot has quit (Quit: Terminated).
01:12:04 -!- idris-bot has joined.
01:13:08 -!- Lymia has joined.
01:18:29 -!- boily has quit (Quit: REPORTED CHICKEN).
01:23:05 -!- hjulle has quit (Ping timeout: 272 seconds).
01:42:04 -!- PinealGlandOptic has quit (Quit: leaving).
02:36:09 -!- shikhin_ has quit (Ping timeout: 244 seconds).
02:43:38 -!- bb010g has joined.
02:50:41 -!- Phantom_Hoover has quit (Remote host closed the connection).
03:45:39 -!- olsner has quit (Ping timeout: 246 seconds).
03:47:35 -!- olsner has joined.
03:54:43 <orin> https://www.youtube.com/watch?v=djG0j3bpCLQ
03:56:58 -!- L8D has joined.
03:59:42 -!- CADD has joined.
04:27:01 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)).
05:03:30 <J_Arcane> https://github.com/clarus/falso
05:12:09 -!- CADD has quit (Remote host closed the connection).
05:12:21 <ProofTechnique> Well, I'll have to get a dissertation out the door at once.
05:16:32 -!- L8D has quit (Ping timeout: 248 seconds).
05:22:23 -!- gde33 has quit.
05:26:10 -!- vodkode_ has quit (Ping timeout: 250 seconds).
05:26:27 <elliott> J_Arcane: I was disappointed to find out that Coq's trusted kernel core is much more code than I thought it was (30,000+ lines).
05:26:49 <elliott> (Agda is even less stable though.)
05:26:58 <elliott> (I guess HOL Light or Metamath or whatever are the only options if you want a core you can actually trust.)
05:29:29 -!- L8D has joined.
05:54:12 -!- CADD has joined.
06:19:42 -!- qwertyo has joined.
06:19:44 -!- zadock has quit (Quit: Leaving).
06:24:31 -!- oerjan has joined.
07:20:40 -!- L8D has quit (Ping timeout: 252 seconds).
07:24:06 -!- Novtopro_ has joined.
07:26:40 -!- vodkode has quit (Remote host closed the connection).
07:27:10 -!- L8D has joined.
07:28:33 -!- Novtopro_ has quit (Max SendQ exceeded).
07:29:57 -!- Novtopro_ has joined.
07:37:59 -!- Novtopro_ has quit (Quit: Textual IRC Client: www.textualapp.com).
07:38:31 <oerjan> <cpressey> so is there only one ring over the rationals? <-- argh of course not
07:38:37 <oerjan> and he's not here
07:39:01 -!- Patashu has joined.
07:40:58 <oerjan> @tell cpressey <cpressey> what about <Q,+,|> where a|b = 2*a*b <-- that is indeed a ring, but almost trivially so: \x -> 2*x is an isomorphism between that and the ordinary ring of rationals.
07:40:58 <lambdabot> Consider it noted.
07:42:42 <oerjan> @tell cpressey hm it may be that all nontrivial rings that share the same addition as the rationals have to be like that.
07:42:42 <lambdabot> Consider it noted.
07:44:56 <b_jonas> oerjan: no, of course not. the zero ring isn't like that, for one.
07:45:24 <oerjan> well that's the only one, and me just the value of 2 = 0 :P
07:45:43 <oerjan> and in fact that was the ring i tried to exclude with "nontrivial"
07:45:51 <b_jonas> oh
07:45:55 <b_jonas> then... maybe
07:46:04 <b_jonas> but wait
07:46:11 <oerjan> i think it's fairly simply actually
07:46:28 <b_jonas> hmm yeah, I guess
07:46:45 <oerjan> you use the distributive law to show that n|x = n*(1|x)
07:46:51 <oerjan> for an integer
07:47:10 <b_jonas> if the ring has a unit (but not necessarily 1 as the unit) then I think it has to be the same
07:47:43 <oerjan> a|b = (1|1)*a*b
07:47:54 <oerjan> is what you end up with, i think
07:50:15 <oerjan> q*((p/q)|a) = (p/1)|a = p*(1|a) by distributive law, so ((p/q)|a) = p/q*(1|a)
07:50:29 <oerjan> (p,q integers)
07:53:07 <FreeFull> You can define an operation o(x,y) = log(e^x + e^y)
07:53:40 <oerjan> @tell cpressey for p,q integers, q*((p/q)|a) = (p/1)|a = p*(1|a) by splitting p and q into sums of 1 and using the distributive law, so ((p/q)|a) = p/q*(1|a), i.e. b|a = b*(1|a) and by mirror argument = b*a*(1|1)
07:53:40 <lambdabot> Consider it noted.
07:54:07 <oerjan> FreeFull: that's not within the rationals
07:54:20 <FreeFull> Well, no
07:54:33 <FreeFull> I was just thinking about the relation between addition and multiplication
07:55:21 <FreeFull> That operation with addition should form a ring over reals, I think
07:55:23 <oerjan> s/me just the value/is the special case&
07:55:31 <FreeFull> Actually, reals + negative infinity
07:55:57 <FreeFull> You need to adjoin the negative infinity as the identity element
07:56:17 <oerjan> yes, because addition and multiplication aren't groups with the exact elements
07:56:33 <oerjan> so shifting must compensate
07:56:52 <FreeFull> I'm not actually a mathematician
07:57:29 <oerjan> basically, f(x) = e^x is a monoid homomorphism from addition to multiplication
07:57:42 <oerjan> oh and of course it's also missing all the negative numbers
07:59:33 <FreeFull> Yeah, unless you go into the complex numbers
08:00:06 <oerjan> you don't get a ring but maybe a semiring
08:00:19 <oerjan> because o doesn't have inverses
08:00:55 <FreeFull> Oh, good point
08:01:07 <oerjan> complexes doesn't really help, you get a multivalued mess
08:03:22 <oerjan> problem is, i*i*i*i = 1 or even just (-1)*(-1) = 1 means complex multiplication cannot be isomorphic to addition
08:03:37 <oerjan> actually the latter applies to reals too
08:04:38 <FreeFull> Wait, is x^(log(y)) = y^(log(x)) if x and y are positive?
08:05:03 <oerjan> hm they're both e^(log(x)log(y))
08:05:05 <int-e> . o O ( no, of course not ... err, yes it is. )
08:06:00 <FreeFull> Does exp(log(x)log(y)) have any useful properties if we restrict ourselves to positive reals?
08:06:25 <int-e> (This was my spontaneous reaction, followed by the same rewriting that oerjan demonstrated.)
08:06:26 <oerjan> sure, then it _is_ isomorphic to ordinary addition on all the reals
08:06:35 <oerjan> or wait
08:06:57 * oerjan is having trouble keeping the directions straight in his head
08:07:30 <int-e> multiplication on the positive reals is isomorphic to addition on the reals
08:07:39 <FreeFull> ^
08:08:01 <oerjan> FreeFull: what you wrote is "obviously" isomorphic to _multiplication_ on all the reals
08:09:08 <oerjan> and so it's a ring together with ordinary multiplication on the positive reals, by int-e's comment
08:09:17 <oerjan> (in fact a field)
08:10:20 <int-e> Ah, right. We're solving "If addition were ordinary multiplication on the positive reals, what would multiplication look like?"
08:10:47 <oerjan> MAYBE
08:10:57 <int-e> Just trying to clarify by confusion.
08:11:01 <FreeFull> What's the inverse?
08:11:19 <int-e> (It rarely works, but it's often a lot of fun.)
08:11:40 <oerjan> FreeFull: exp(1/log(x)) i assume
08:12:19 <FreeFull> Ah, yeah, that would fit the bill
08:14:10 -!- Patashu has quit (Remote host closed the connection).
08:14:20 -!- Patashu has joined.
08:14:42 -!- hjulle has joined.
08:16:19 <int-e> That reminds me that in a first year course I once proved that f(x,y) = (x + y) / (1 - x y) (on R + { oo })) is a group operation by pointing out the homomorphism to R / 2piZ... that wasn't the expected solution :P
08:17:06 <int-e> Sorry, R / (piZ) of course.
08:17:18 <FreeFull> Why not write inf rather than oo?
08:17:30 -!- v4s has quit (Ping timeout: 252 seconds).
08:17:34 <oerjan> did you get credit
08:17:36 <int-e> because oo is cuter.
08:18:00 <FreeFull> Or ∞
08:18:28 <int-e> I did, together with a comment along the lines of "that's a nifty solution but you need a lot more theory to show that property of arctan than is required for solving this problem."
08:18:48 <int-e> FreeFull: ∞ is ugly here.
08:18:58 <oerjan> oh arctan right
08:19:37 -!- v4s has joined.
08:19:42 <oerjan> int-e: did you know arctanh gives a homomorphism between ordinary addition and the special relativistic velocity addition formula?
08:20:10 <FreeFull> oerjan: That's rather cool
08:20:14 <oerjan> that formula is the same as your, except with + instead of -
08:20:18 <oerjan> *yours
08:20:44 <int-e> oerjan: I knew the latter, but not the velocity addition formula.
08:21:30 <int-e> (I may have seen it, but then it would've been obscured by some extra speeds of light (c))
08:21:38 <oerjan> well naturally
08:22:22 <FreeFull> Something involving 1/(1 - v^2/c^2)
08:22:39 <oerjan> + not -, i say
08:22:39 <edirc> ?
08:22:45 <oerjan> thank you edirc
08:22:55 <mroman> http://codepad.org/HnoU7WuO
08:23:05 <mroman> verbose burlesque :D
08:23:31 <oerjan> a bit more bots and we _all_ need to add the HackEgo zero-width space
08:26:42 <oerjan> is that a Basic/Pascal/Forth hybrid
08:27:19 <oerjan> it like rings 3 different nostalgia bells
08:29:15 <oerjan> and gives me the feeling i'm missing more
08:29:43 <oerjan> especially that D5.0 D-1.1+(5(+:@ line
08:29:48 <mroman> it's supposed to be a nostalgia hybrid yes
08:29:57 <int-e> Line 18 must be an ed reference.
08:30:16 <mroman> http://codepad.org/OASg3VqQ <- that's MATH.LIB btw
08:30:20 <mroman> not much in there yet though :)
08:38:44 <HackEgo> [wiki] [[Taworvor]] http://esolangs.org/w/index.php?diff=42182&oldid=40160 * * (-423)
08:40:30 <HackEgo> [wiki] [[Taworvor]] http://esolangs.org/w/index.php?diff=42183&oldid=42182 * * (+320) /* Example */
08:50:13 -!- L8D has quit (Ping timeout: 272 seconds).
08:50:59 -!- L8D has joined.
08:54:01 -!- hjulle has quit (Ping timeout: 264 seconds).
09:03:20 -!- zadock has joined.
09:15:29 <mroman> oerjan: D is just the prefix for doubles.
09:15:35 <mroman> which is required :)
09:16:02 <oerjan> ok
09:17:49 <Taneb> oerjan, I need to get that bot I was writing in Agda working
09:17:54 <mroman> + is addition, or concat for lists.
09:17:54 <edirc> ?
09:18:01 <mroman> ( takes an element and puts it into a list
09:18:01 <Taneb> +help
09:18:01 <edirc> ?
09:18:02 <idris-bot> No such variable takes
09:18:08 <Taneb> :D
09:18:14 <mroman> : is revrse for list
09:18:20 <mroman> and @ is print
09:19:05 <oerjan> +,p
09:19:05 <edirc> lighter
09:19:18 <oerjan> +c
09:19:24 <oerjan> +,p
09:19:28 <oerjan> +.
09:19:36 <oerjan> hm...
09:19:39 <oerjan> +,p
09:19:39 <edirc> ,p
09:19:54 <oerjan> +%d
09:19:57 <oerjan> +,p
09:19:57 <edirc> ?
09:20:03 <oerjan> +i
09:20:06 <oerjan> heavier
09:20:07 <oerjan> .
09:20:08 <oerjan> +,p
09:20:23 <oerjan> +%p
09:20:28 <oerjan> +1p
09:20:37 <oerjan> oh duh
09:20:38 <oerjan> +.
09:20:42 <oerjan> +%d
09:20:43 <oerjan> +i
09:20:46 <oerjan> +heavier
09:20:48 <oerjan> +.
09:20:50 <oerjan> +%p
09:20:50 <edirc> heavier
09:25:11 -!- qwertyo has quit (Quit: Leaving).
09:31:17 <mroman> but this time not that many builtin as burlesque ;)
09:31:35 <mroman> because I want people to be able to write interpreters/compilers for it :)
09:31:47 <oerjan> int-e: looks like gil is finally showing up
09:33:00 -!- AnotherTest has joined.
09:43:50 <Taneb> Who wants to hear a useless fact?
09:44:05 <oerjan> yay!
09:44:45 <Taneb> There are 8 different pedestrian bridges in the British Isles called the Millennium Bridge
09:45:49 <oerjan> clearly that's because of too many overlapping timelines
09:46:02 <oerjan> i suggesting calling a Doctor
09:58:34 <HackEgo> [wiki] [[Taworvor]] http://esolangs.org/w/index.php?diff=42184&oldid=42183 * * (+114) /* Language Reference */ + draft.
09:59:05 <mroman> so.
09:59:12 <mroman> started working on the ESOSC draft for it :D
10:05:30 -!- L8D has quit (Ping timeout: 250 seconds).
10:05:32 -!- CADD has quit (Remote host closed the connection).
10:06:23 -!- qwertyo has joined.
10:16:05 <mroman> Taneb, nortti: http://esolangs.org/wiki/Taworvor#Language_Reference
10:16:09 <mroman> no hurry though :)
10:20:31 -!- L8D has joined.
10:21:40 <HackEgo> [wiki] [[Special:Log/newusers]] create * Vriskanon * New user account
10:23:37 -!- boily has joined.
10:24:56 -!- shikhin has joined.
10:27:27 -!- Sgeo_ has joined.
10:31:15 -!- Sgeo has quit (Ping timeout: 250 seconds).
10:43:25 -!- L8D has quit (Ping timeout: 256 seconds).
10:46:32 -!- L8D has joined.
11:25:11 -!- boily has quit (Quit: TWIN CHICKEN).
11:32:30 -!- oerjan has quit (Quit: leaving).
11:41:05 -!- Patashu has quit (Ping timeout: 248 seconds).
11:43:28 -!- dianne has quit (Quit: byeannes).
11:49:17 -!- vodkode_ has joined.
11:55:14 -!- vodkode_ has quit (Ping timeout: 255 seconds).
11:55:53 <HackEgo> [wiki] [[Duck Duck Goose]] N http://esolangs.org/w/index.php?oldid=42185 * Vriskanon * (+6129) Rough tutorial and example code for the Programming Language "Duck Duck Goose"
11:56:37 <nortti> mroman: what is the meaning of nss? afaiu it is one char that is not ^, then whiespace?
11:57:47 <HackEgo> [wiki] [[Language list]] M http://esolangs.org/w/index.php?diff=42186&oldid=42170 * Vriskanon * (+22) /* D */
12:00:41 <mroman> nortti: True.
12:00:44 <mroman> That's an error.
12:01:30 <HackEgo> [wiki] [[Duck Duck Goose]] http://esolangs.org/w/index.php?diff=42187&oldid=42185 * Vriskanon * (+302)
12:01:37 <mroman> I think that should've been nss = { n }, ss;
12:02:07 <mroman> or even just { n }
12:02:41 <HackEgo> [wiki] [[Duck Duck Goose]] M http://esolangs.org/w/index.php?diff=42188&oldid=42187 * Vriskanon * (+11)
12:03:10 <mroman> hm
12:03:14 <mroman> nss = n, { n }, ss;
12:03:30 <mroman> but the ss can be dropped
12:03:31 -!- cpressey has joined.
12:03:33 <mroman> n includes spaces anyway
12:08:18 <HackEgo> [wiki] [[Duck Duck Goose]] M http://esolangs.org/w/index.php?diff=42189&oldid=42188 * Vriskanon * (+40) Included credit where it's due
12:08:31 <cpressey> lambdabot: give me my messages
12:11:06 <mroman> https://github.com/FMNSSun/Taworvor/blob/master/TESTS.PROG should cover pretty much everything now.
12:11:10 <mroman> except I/O stuff.
12:11:21 <HackEgo> [wiki] [[Duck Duck Goose]] http://esolangs.org/w/index.php?diff=42190&oldid=42189 * * (+7) He wants me to put his surname on
12:12:49 <mroman> nortti: nss should eat everything between e.g. ^DESC and ^IS
12:12:57 <mroman> so ^DESC(.*)^
12:13:02 <nortti> ah
12:13:15 <cpressey> @tell oerjan so there's more than one ring over the rationals; that's what i suspected/all i wanted to know. thanks.
12:13:16 <lambdabot> Consider it noted.
12:13:21 <mroman> so nss = n, { n }; should do that
12:14:07 <mroman> although I think we could go with nss = { n } even
12:14:17 <mroman> makes no sense to force one character DESCs :D
12:15:34 <mroman> k. pushed with nss = { n};
12:19:37 <izabera> `` { echo 'elliott ' ; printf '%s\n' {a..z} ; } > random_elliott; shuf --random-source /dev/zero random_elliott | tr -d '\n'
12:19:39 <HackEgo> elliott abcdefghijklmnopqrstuvwxyz
12:23:11 -!- qwertyo has quit (Quit: Leaving).
12:27:46 <cpressey> @tell oerjan in your monad-over-finite-lists, is that "finite and fixed length" or "finite but unbounded length"? because if the latter, that would count, in strict/eager functional programming (I don't see why not anyway)
12:27:46 <lambdabot> Consider it noted.
12:30:07 <cpressey> not sure how "proof that there is only one (or none) possible algebraic structure y of Y over set X" proofs generally go, if it all. quantifying over operations, nasty business
12:36:01 -!- ProofTechnique has quit (Ping timeout: 264 seconds).
12:42:44 -!- Phantom_Hoover has joined.
12:47:35 <cpressey> especially when X is infinite. if X is finite, you can probably enumerate the possibilities. e.g. the boolean ring, I wouldn't be surprised if it was unique
12:48:14 <cpressey> or maybe it and a topsy-turvy dual of it where true is false and false is true
13:00:26 -!- ProofTechnique has joined.
13:02:58 -!- L8D has quit (Ping timeout: 252 seconds).
13:19:09 -!- L8D has joined.
13:34:58 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
13:39:42 -!- Phantom_Hoover has joined.
13:42:48 -!- ais523 has joined.
13:46:45 <cpressey> ok n/m "the boolean ring", doesn't mean what i thought it meant. instead, "the possible rings over the set {0, 1}".
13:55:36 -!- ais523 has quit (Ping timeout: 265 seconds).
13:55:57 -!- GeekDude has joined.
14:05:55 -!- L8D has quit (Ping timeout: 244 seconds).
14:09:44 -!- `^_^v has joined.
14:11:01 <Taneb> cpressey, does the ring's 0 have to be 0?
14:14:18 <cpressey> the ring's 0 has to satisfy 0*x = 0 and 0+x = x, for all x, i believe. (i guess "be zero" is kind of a fuzzy way of saying just that :)
14:15:02 <Taneb> I mean, does it have to be the one you have assigned the symbol "0" to when defining the set {0,1}?
14:19:17 -!- shikhin_ has joined.
14:19:37 -!- shikhin has quit (Disconnected by services).
14:19:39 -!- shikhin_ has changed nick to shikhin.
14:25:53 <cpressey> Taneb: no. this would apply equally to any two-element set.
14:26:01 <Taneb> Ah :)
14:35:42 <cpressey> searching for "ring with two elements" gets lots of hits saying "all rings with two elements are isomorphic" and "there is one ring with two elements" (in which i imagine is implied "up to isomorphism")
14:36:17 <cpressey> but i have yet to see anything saying "every set with 2 elements has exactly two rings"
14:36:45 <cpressey> because ring theorists don't care about the concrete bits. they care about the isomorphisms
14:41:28 <cpressey> this whole thing may encourage me to learn to use quickcheck
14:41:38 <cpressey> as a way to search for counterexamples
14:56:42 <HackEgo> [wiki] [[Talk:JSFuck]] N http://esolangs.org/w/index.php?oldid=42191 * Esowiki201529A * (+41) Created page with "new Array().filter(callbackfn[, thisArg])"
14:57:34 <coppro> but of course, because the concrete bits are boring
14:57:38 <mroman> fwiw http://mroman.ch/burlesque/lref.html is back online.
14:58:02 <coppro> you take the symmetry group of the set, mod out by the automorphisms of the ring, and then you get all the different rings on the set
15:01:33 <cpressey> simple like monoids
15:02:49 -!- L8D has joined.
15:07:22 -!- L8D has quit (Ping timeout: 255 seconds).
15:07:55 -!- L8D has joined.
15:08:05 <mroman> mitchs: https://github.com/FMNSSun/Burlesque
15:09:25 <mroman> However, I can see 47 new built-ins that were added (but are not yet on anagol) and are utterly not documented at all
15:10:36 <mitchs> :o
15:11:52 <mroman> https://github.com/FMNSSun/Burlesque/blob/master/Burlesque/Eval.hs#L532
15:11:57 <mroman> built-ins after L532 are new
15:12:10 <mroman> and not documented, not on anagol.
15:13:34 <mitchs> fyi i have a few more ones that i want to work on in whitespace, and after that i'll try to get better at burlesque
15:13:49 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)).
15:13:56 <mitchs> idk how i'll do with it, there are a lot of built ins and i'm only superficially familiar with haskell
15:14:15 <mroman> yeah... :)
15:14:50 <cpressey> coppro: my greater point with all this (if you care) is that the concrete bits are boring to mathematicians (as they should be) but not to programmers (who, alas, must get their hands dirty)
15:15:37 <coppro> fair
15:21:53 <cpressey> coppro: also, I'm interested to know if "the list monad" means "the usual list monad" or "the unique list monad" -- in case you care about that
15:22:23 <cpressey> I have yet to see examples of other list monads; I have yet to see a proof that there are no others
15:29:36 -!- L8D has quit (Ping timeout: 256 seconds).
15:33:32 -!- L8D has joined.
15:59:14 -!- bb010g has quit (Quit: Connection closed for inactivity).
15:59:53 -!- Phantom_Hoover has quit (Ping timeout: 252 seconds).
16:08:11 -!- GeekDude has joined.
16:08:24 -!- L8D has quit (Ping timeout: 264 seconds).
16:23:21 -!- zadock has quit (Quit: Leaving).
16:29:17 -!- L8D has joined.
16:35:17 <mroman> what's this new paper about in-memory vs. disk
16:35:20 <mroman> I mean
16:35:39 <mroman> using += to concat strings in Java is stupid as hell from the start.
16:36:53 <mroman> and what does it have to do with computing?
16:40:37 <mroman> also
16:40:38 <mroman> flushing
16:40:51 <mroman> does not block until all data is written out, does it?
16:41:02 <mroman> I thought it just means "well... the OS has it now"
16:41:09 <mroman> doesn't mean that it's on disk actually just yet.
16:43:39 <mroman> also.. if the computation is concatenation
16:43:47 <mroman> then to get the result you'd have to read it back into memory?
16:44:04 <mroman> which probably works faster because what you just have written out is still in some memory buffer so the disk isn't even actually used?
16:44:47 -!- L8D has quit (Ping timeout: 250 seconds).
16:44:53 <mroman> given that you just want it to have concatenated on file then yes, probably just writing it has less overhead than concating it in memory first
16:45:11 <mroman> also... if you write every piece immediately to file you'll probably have a better memory footprint as well.
16:47:00 <mroman> but... essentially it means that doing a shitload of memcpy because you have to realloc and memcpy all the time because strings are imutable I guess isn't very fast anyway
16:47:25 <mroman> I want the same benchmark with linked strings!
16:47:38 <mroman> anyway it's a stupid benchmark.
16:48:14 <cpressey> flushing... need not block until all data is written out afaiu; that's fsync's job, isn't it?
16:49:07 -!- heroux has quit (Ping timeout: 265 seconds).
16:49:42 <mroman> I thought flush just means that you flushed your "internal buffer" and have given all the data to the OS somehow
16:49:50 <mroman> but it might still be in a write buffer of the OS
16:50:09 <mroman> "We also see that immutable strings are not inherently a problem, as evidenced by Python’s much better performance with the modified code.
16:50:12 <mroman> "
16:50:14 <mroman> ^- that's just plain bullshit?
16:50:26 <cpressey> Note that fflush() only flushes the user-space buffers provided by the C library. To ensure that the data is
16:50:27 <mroman> If you want to do concatenation then immutable strings ARE the problem.
16:50:29 <cpressey> physically stored on disk the kernel buffers must be flushed too, for example, with sync(2) or fsync(2).
16:50:36 <cpressey> excuse the indent, but, yeah
16:50:50 <cpressey> (from `man fflush`)
16:51:20 <mroman> "Java performance numbers did not change when the concatenation order was reversed in the code in Appendix 1. However, using a mutable data type such as StringBuilder or StringBuffer dramatically improved the results."
16:51:35 -!- heroux has joined.
16:51:37 <mroman> pretty obvious.
16:51:37 <cpressey> umm
16:51:44 <mroman> That's what StringBuilders are for :D
16:51:56 <mroman> cpressey: Did you read the paper?
16:52:04 <cpressey> a paper that says that immutable strings are not the problem, then describes improvement when using mutable strings ok
16:52:11 <cpressey> no, i don't even know what this is
16:52:14 <mroman> They do string concatenation and measure how long it takes
16:52:17 <cpressey> not sure i want to know, frankly
16:52:25 <mroman> then instead of string concatenation they just write it to file
16:52:26 <mroman> like
16:52:27 <mroman> uhm
16:52:33 <mroman> loop: string += someData
16:52:34 <mroman> vs
16:52:41 <mroman> loop: fwrite(fhandle, someData)
16:52:56 <cpressey> fantastic, let's abuse the file buffers as string buffers
16:53:03 <mroman> they just do repeated string concatenations
16:53:15 <mroman> cpressey: they don't read the file back anyway
16:53:27 <cpressey> mroman: where did you find this thing?
16:53:30 <cpressey> the paper, i mean
16:53:41 <mroman> http://arxiv.org/ftp/arxiv/papers/1503/1503.02678.pdf
16:54:02 <cpressey> arxiv gonna arxiv
16:54:08 <mroman> I'm no IT expert
16:54:17 <mroman> but I call TOTAL ABSOLUTE BULLSHIT on this paper.
16:55:01 <cpressey> well, you know what they *don't* say... "Publish non-bullshit or perish."
16:56:26 <mroman> It was linked on slashdot
16:56:32 <mroman> and the comments there pretty much support my view :D
16:57:43 <mroman> and it was written by a biology guy?
16:57:46 <mroman> wtf
16:58:28 <mroman> "In this paper we use code inspired by real, production software" yeah right...
16:58:36 <int-e> "naive string concatenation is a quadratic time operation"
16:59:21 <mroman> also
16:59:26 <mroman> there are so many details missing
16:59:34 <mroman> what type of RAM, what type of Disk was used
16:59:40 <mroman> what processor
17:00:01 <mroman> "Java 8 was used to compile the test code
17:00:03 <mroman> "
17:00:06 <mroman> Java 8 can compile things?
17:01:29 <mroman> "In the examples of inefficient code that inspired this paper, and we suspect is many other similar cases, the developers have done what they have been trained to do, carefully reducing disk access, but the approach is obviously failing."
17:01:52 <mroman> ...
17:01:52 <int-e> mroman: It doesn't matter. An O(n^2) algorithm will be slower than an O(n) one if you pick n large enough.
17:02:07 <int-e> But from that perspective, you can condens the "paper" into one paragraph.
17:02:12 <int-e> *condense
17:02:21 <mroman> what the hell does this have to do with web applications o_O
17:02:33 -!- SopaXorzTaker has joined.
17:02:35 <mroman> I'm not going to write to a temp file and then read it for string concatenation o_O
17:02:39 <mroman> i mean
17:02:47 <mroman> it probably won't even spin up the disk due to buffers
17:02:49 <mroman> but...
17:02:53 <mroman> still
17:03:03 <int-e> A lot, assembling strings by concatenating small parts is *very* common.
17:03:41 <int-e> And streaming helps to relieve some memory pressure (now there would be another paragraph for the "paper", but they do not touch upon that part of the problem).
17:04:07 <mroman> small string concat is indeed very common yes
17:04:17 <mroman> but since you need to deliver the "end result" to the client
17:04:28 <int-e> Don't get me wrong, it's an awful paper all around. It's overselling a trivial problem and to top it off, it's drawing the wrong conclusions.
17:04:34 <mroman> I mean
17:04:40 <mroman> php already does streaming anyway?
17:04:42 <cpressey> heh. slashdot still exists?
17:04:43 <mroman> I think
17:05:01 <mroman> of course just writing to a network socket is probably better than concating it in memory and then write it to the socket
17:05:22 <mroman> especially using immutable strings
17:05:38 <mroman> but they don't even get to that point
17:06:07 <cpressey> but but but StringBuilder
17:06:20 <cpressey> it's not like the java architects haven't thought about this problem
17:06:45 <cpressey> tl;dr i share your facepalm mroman
17:07:06 <int-e> I think we all agree on that.
17:08:18 <mroman> hm.
17:08:19 <int-e> (I'm just defending the point that the observed problem is real.)
17:08:21 <mroman> Seems php doesn't do streaming?
17:08:39 <mroman> there's ob_flush at least hm.
17:08:45 <mroman> (I don't know PHP at all)
17:09:16 <int-e> "Why do you want to use a StringBuilder? Strings in php are mutable. Therefore performance is not an issue." - because mutability solves all performance issues!
17:10:40 <mroman> php has mutable strings?
17:14:46 <int-e> You sound surprised, don't youb know that PHP implements all bad ideas found in other programming languages ;)
17:17:45 <mroman> well
17:17:53 <mroman> I'm surprised you can publish something like this :)
17:18:35 <mroman> and what I know about PHP is that uhm...
17:18:40 <mroman> it has these weird things like register_globals?
17:18:43 <mroman> magic_quotes
17:18:44 <mroman> and
17:19:18 <mroman> which I think works like that that it automatically manipulates the input from the user
17:19:33 <mroman> so you don't get the actual user input
17:19:47 <myname> in php, == isn't transitive
17:19:48 <mroman> and then doing some string concat for buildin an SQL query
17:19:49 <int-e> wtf. They're using concatString = addString + concatString .......
17:20:02 <mroman> int-e: of course!
17:20:13 <mroman> You have to check if a = a + b is faster than a = b + a or not
17:20:18 <int-e> but then their "disk writing" code is not even equivalent.
17:20:22 <int-e> mroman: well, it is!
17:20:24 <myname> e.g. false == 0 && 0 == "0" && false != "0"
17:20:44 <mroman> looks like javascript
17:20:46 <mroman> =,==,===
17:20:52 <mroman> My newest esolang will have ====
17:21:02 <myname> great!
17:21:06 <mroman> Yes.
17:21:11 <mroman> "0" == 0 will be true
17:21:20 <mroman> because == tries some automatic conversions
17:21:28 <mroman> "0" === 0 will be false because not same type
17:21:33 <mroman> 0 === 0 is obviously true
17:21:40 <mroman> but!!!
17:21:51 <mroman> $a = 0; $b = 0; $a === $b; will be true
17:21:58 <mroman> however, $a ==== $b; won't
17:22:09 <olsner> more equal signs should mean that it tries harder to make things equal, so that e.g. 0 ================== 1
17:22:17 <mroman> because ==== checks if both are the same variables!
17:22:18 <mroman> so
17:22:23 <mroman> $a ==== $a is in fact true
17:22:24 <myname> mroman: how is thaz any useful?
17:22:30 <mroman> but $a ==== $b is not
17:22:41 <mroman> myname: well it's probably useful when call by reference is used?
17:22:43 -!- Phantom_Hoover has joined.
17:22:44 <mroman> like uhm
17:22:52 <mroman> func foo($a, $b) { return $a ==== $b; }
17:23:08 <mroman> foo($a, $a); will be true but foo($a, $b); won't?
17:23:23 <myname> but in foo they are different variable
17:23:29 <mroman> yeah
17:23:33 <mroman> but the same reference!
17:23:40 <mroman> so ==== would essentially compare references
17:24:02 <mroman> like java's == does
17:24:24 <myname> i thought about using = as a unary symbol and making prime numbers variables
17:24:45 <mroman> and!
17:24:47 <mroman> =====
17:24:57 <myname> like ======7 would set the var 5 to the value 7
17:24:59 <mroman> only compares constants
17:25:30 <mroman> or literals
17:25:30 <mroman> hm
17:25:41 <myname> =======7 would compare var 5 with value 7
17:25:55 <mroman> 5 ==== 5 would probably not be true since it's probably treated as new Integer(5) == new Integer(5)?
17:26:03 <mroman> whatever
17:26:06 <mroman> :p
17:26:08 <mroman> I'm going home.
17:27:17 <cpressey> Do NOT try to reason about PHP.
17:27:26 <cpressey> Just, NO.
17:29:12 <int-e> next you'll tell us not to do surgery with a tea spoon
17:51:54 <cpressey> i'm only trying to save your souls
17:53:11 -!- Koen_ has joined.
18:17:10 -!- zadock has joined.
18:26:22 -!- vodkode_ has joined.
18:43:34 -!- cpressey has quit (Quit: leaving).
18:56:50 <orin> php is basically built so that copypaste programs can work
19:03:00 -!- qlkzy has quit (Ping timeout: 246 seconds).
19:05:58 -!- SopaXorzTaker has quit (Remote host closed the connection).
19:11:55 -!- dianne has joined.
19:13:09 -!- qlkzy has joined.
19:14:24 -!- elliott has quit (Ping timeout: 264 seconds).
19:14:41 -!- elliott has joined.
19:15:04 -!- elliott has changed nick to Guest90077.
19:22:01 <int-e> @metar LOWI
19:22:02 <lambdabot> LOWI 251850Z VRB02KT 9999 FEW050 SCT065 BKN080 11/04 Q1001 NOSIG
19:22:16 -!- Guest90077 has quit (Changing host).
19:22:16 -!- Guest90077 has joined.
19:22:20 -!- Guest90077 has changed nick to elliott.
19:23:03 <elliott> izabera: I was about to ask what the intended purpose of random_elliott was
19:23:11 <elliott> it was very confusing thanks to just having woken up
19:24:16 -!- vodkode_ has quit (Ping timeout: 265 seconds).
19:28:20 -!- Koen_ has quit (Quit: Koen_).
19:30:30 <izabera> yes!
19:30:35 <izabera> i wanted to confuse you
19:34:32 <izabera> you said that with the right random source you could use shuf just like cat
19:35:12 <int-e> ` echo 123 | sort | shuf | cat | tac
19:35:13 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: : not found
19:35:15 <int-e> `` echo 123 | sort | shuf | cat | tac
19:35:16 <HackEgo> 123
19:38:31 <elliott> izabera: yeah, I realised that pretty quickly, hehe
19:38:47 <elliott> izabera: I was just like "is this a command to print random letters at me? what is this for? why me? help?"
19:38:51 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)).
19:52:49 -!- oerjan has joined.
19:54:22 <oerjan> @messages-
19:54:22 <lambdabot> cpressey said 7h 41m 6s ago: so there's more than one ring over the rationals; that's what i suspected/all i wanted to know. thanks.
19:54:23 <lambdabot> cpressey said 7h 26m 36s ago: in your monad-over-finite-lists, is that "finite and fixed length" or "finite but unbounded length"? because if the latter, that would count, in strict/eager functional programming (I don't see why not anyway)
19:55:00 <oerjan> @tell cpressey finite but unbounded length, is the intention.
19:55:00 <lambdabot> Consider it noted.
19:59:11 -!- Patashu has joined.
20:05:16 <elliott> oerjan: are you sure it's a monad btw?
20:05:20 <elliott> you have a bad history with monads on [] :P
20:05:26 <oerjan> heh
20:06:03 <oerjan> i think it is a monad but who is ever sure.
20:06:16 <int-e> oerjan: hmm, I wonder when Cheyenne will get around to coloring the March 4th and 13th comics...
20:06:45 <oerjan> the first monad law is obviously true by construction. the second is nearly obvious.
20:07:12 <oerjan> the third needs a bit of thinking, but i think it is true.
20:09:03 <oerjan> @let dbind [x] f = f x; dbind l f | all ((==1).length) l' = concat l' where l' = map f l
20:09:07 <lambdabot> Defined.
20:10:38 <oerjan> @check \x f g -> (((x::[Int]) `dbind` f :: [Int]) `dbind` g :: [Int]) == x `dbind` \t -> f t `dbind` g
20:10:40 <lambdabot> *** Failed! (after 3 tests and 4 shrinks):
20:10:40 <lambdabot> Exception: L.hs:(157,1)-(159,20): Non-exhaustive patterns in function dbind ...
20:10:48 <oerjan> oops
20:10:54 <oerjan> @undef
20:11:15 <oerjan> @undef
20:11:16 <lambdabot> Undefined.
20:11:19 <oerjan> @let dbind [x] f = f x; dbind l f | all ((==1).length) l' = concat l' | otherwise = [] where l' = map f l
20:11:22 <lambdabot> Defined.
20:11:26 <oerjan> @check \x f g -> (((x::[Int]) `dbind` f :: [Int]) `dbind` g :: [Int]) == x `dbind` \t -> f t `dbind` g
20:11:28 <lambdabot> +++ OK, passed 100 tests.
20:11:34 <oerjan> looks good
20:12:22 <oerjan> int-e: if it's not done already it'll probably be "whenever" up until actual printed version
20:13:42 <oerjan> @check \x -> ((x::[Int]) `dbind` return) == x
20:13:44 <lambdabot> +++ OK, passed 100 tests.
20:15:01 <oerjan> @tell cpressey Checked my monad with @check hth
20:15:02 <lambdabot> Consider it noted.
20:16:13 -!- Phantom_Hoover has quit (Ping timeout: 264 seconds).
20:17:03 -!- lambdabot has quit (Quit: 5.0.1? 5.0.1!).
20:19:32 -!- shikhin_ has joined.
20:19:49 -!- shikhin has quit (Disconnected by services).
20:19:52 -!- shikhin_ has changed nick to shikhin.
20:20:35 <oerjan> int-e: is it getting 7.10 now?
20:20:42 <int-e> no
20:21:02 <oerjan> aww
20:21:06 <int-e> I'm waiting for the official release.
20:21:35 -!- lambdabot has joined.
20:21:53 -!- Patashu has quit (Ping timeout: 252 seconds).
20:24:43 <elliott> int-e: hm, do you maintain lambdabot now?
20:24:46 <elliott> the source code
20:24:56 <int-e> mostly?
20:25:02 <elliott> heh
20:26:19 <int-e> @version
20:26:19 <lambdabot> lambdabot 5.0.1
20:26:19 <lambdabot> git clone https://github.com/lambdabot/lambdabot
20:40:43 -!- zadock has quit (Quit: Leaving).
21:05:04 -!- Lymia has quit (Ping timeout: 256 seconds).
21:17:54 -!- ais523 has joined.
21:18:28 -!- ProofTechnique has quit (Ping timeout: 245 seconds).
21:39:47 <HackEgo> [wiki] [[Duck Duck Goose]] http://esolangs.org/w/index.php?diff=42192&oldid=42190 * * (+67) inspiration
21:42:28 -!- Lymia has joined.
21:45:16 <Vorpal> elliott, there?
21:45:34 <elliott> no. hi
21:46:00 <ais523> I'm here, but not elliott (as opposed to elliott, who is elliott but not here)
21:46:14 <Vorpal> I have no idea if this exists or not... Something like vnc that uses the GPU on the server to render and then compresses the data for reasonable transfer speed, the one you mentioned the other day didn't do OpenGL stuff did it?
21:46:29 <elliott> xpra
21:46:36 <elliott> I think it does OpenGL?
21:46:40 <Vorpal> Ah nice
21:46:43 <elliott> I don't know. it's good, anyway.
21:46:45 <Vorpal> Then this might be salvagble
21:46:47 <ais523> something like that, you'd /expect/ it to use OpenGL
21:46:55 <elliott> you can also adjust it to use lossless compression or lossy H.264 or whatever
21:46:57 <elliott> it's pretty flexible
21:47:06 <elliott> and it does rootless too
21:47:09 <elliott> it's really nice
21:47:15 <elliott> I wouldn't, like, watch youtube videos with it, though.
21:47:19 <ais523> not sure how many servers have working DirectX, and there currently are no other graphics APIs that are nearly as popular
21:47:33 <ais523> well youtube is sending H.264 or WebM anyway
21:47:47 <ais523> so decoding and re-encoding the video could only make things worse
21:48:02 <Vorpal> ais523, well I want it to reasonably be able to run a program using OpenGL, the client I'm connecting from has old old intel graphics
21:48:15 <Vorpal> The desktop I want to remote to has a reasonable AMD GPU
21:49:15 <Vorpal> And I want to use some programs that are GPU heavy (as in GPGPU with OpenCL + OpenGL visualization)
21:50:07 <Vorpal> Though it appears debian has a super old xpra version
21:50:08 <Vorpal> oh wlel
21:50:09 <Vorpal> well*
21:50:20 <Vorpal> Oh no, there is a backports
21:50:36 -!- gde33 has joined.
21:50:39 <Vorpal> which is newer than the version I want to connect from, on an ubuntu laptop
21:56:23 -!- heroux has quit (Ping timeout: 245 seconds).
21:58:08 <HackEgo> [wiki] [[Duck Duck Goose]] http://esolangs.org/w/index.php?diff=42193&oldid=42192 * Vriskanon * (+407) Moved the Tutorial/List_of_Instructions to a table
21:58:11 -!- heroux has joined.
21:59:45 <HackEgo> [wiki] [[Duck Duck Goose]] M http://esolangs.org/w/index.php?diff=42194&oldid=42193 * Vriskanon * (-82) Fixed 10 Ducks (Loop Ends)
22:00:43 <HackEgo> [wiki] [[Duck Duck Goose]] M http://esolangs.org/w/index.php?diff=42195&oldid=42194 * Vriskanon * (+0) Put a Y in the 10 Ducks row where N should have been.
22:03:29 <Vorpal> Yeah that didn't work, time to try to find compatible versions
22:03:59 <HackEgo> [wiki] [[Duck Duck Goose]] http://esolangs.org/w/index.php?diff=42196&oldid=42195 * Vriskanon * (+0)
22:04:43 -!- `^_^v has quit (Ping timeout: 256 seconds).
22:04:56 <Vorpal> elliott, yep, once you install exactly the same version on both sides, it works
22:05:09 <elliott> of xpra? yeah
22:09:49 -!- callforjudgement has joined.
22:09:58 -!- GeekDude has joined.
22:11:09 <HackEgo> [wiki] [[Duck Duck Goose]] http://esolangs.org/w/index.php?diff=42197&oldid=42196 * Vriskanon * (+317) More Clear Sections
22:11:15 <Vorpal> $ glxgears
22:11:15 <Vorpal> X Error of failed request: BadRequest (invalid request code or no such operation)
22:11:15 <Vorpal> Major opcode of failed request: 135 (GLX)
22:11:15 <Vorpal> Minor opcode of failed request: 19 (X_GLXQueryServerString)
22:11:15 <Vorpal> Serial number of failed request: 12
22:11:16 <Vorpal> Current serial number in output stream: 12
22:11:18 <Vorpal> elliott, well, crap
22:11:32 <Vorpal> It works fine for none opengl stuff though
22:11:36 <elliott> I guess you can use VNC?
22:11:47 <Vorpal> x11vnc might be worth a try
22:11:51 <elliott> How do I enable OpenGL or other X11 extensions on the server?
22:11:51 <elliott> Please see Xdummy, for acceleration see ​virtualgl
22:11:56 <Vorpal> Ah
22:11:58 <elliott> https://www.xpra.org/trac/wiki/Xdummy http://www.virtualgl.org/
22:12:02 <Vorpal> I'll look into that
22:12:06 -!- ais523 has quit (Disconnected by services).
22:12:07 -!- callforjudgement has changed nick to ais523.
22:12:23 <elliott> The best way to deal with this is to use ​VirtualGL to take advantage of the OpenGL acceleration provided by the graphics card, just run: vglrun yourapplication.
22:13:00 <HackEgo> [wiki] [[Duck Duck Goose]] M http://esolangs.org/w/index.php?diff=42198&oldid=42197 * Vriskanon * (+62)
22:13:01 <Vorpal> elliott, as long as it is the server that is doing the rendering I'm happy
22:13:02 <elliott> http://www.virtualgl.org/About/Introduction yeah
22:13:04 <elliott> this looks like what you want
22:13:24 <Vorpal> elliott, because the client can't do opengl for shit. It is a core 2 duo and intel graphics
22:14:31 <HackEgo> [wiki] [[User:Vriskanon]] N http://esolangs.org/w/index.php?oldid=42199 * Vriskanon * (+134) Who is Vriskanon
22:15:12 <Vorpal> elliott, need to build it, doesn't appear to be packaged... And yeah
22:16:17 -!- L8D has joined.
22:16:25 -!- L8D has left.
22:25:42 <oerjan> @tell int-e it seems like the fix to Typeable introduced the new bug that is currently holding up ghc :P https://mail.haskell.org/pipermail/ghc-devs/2015-March/008570.html
22:25:42 <lambdabot> Consider it noted.
22:27:38 <int-e> I'm not surprised
22:29:08 <oerjan> well there's also a haddock problem. and spj just went on vacation.
22:34:42 -!- zzo38 has joined.
22:37:23 <Vorpal> elliott, hm I can't get virtualgl to work inside xpra, though it does work natively on the machine
22:37:42 <elliott> maybe run it outside
22:37:45 <elliott> like virtualgl xpra ...
22:37:46 <elliott> uh maybe not
22:37:47 <elliott> but like
22:37:52 <elliott> virtualgl xpra-server-i-forget-how-you-start-it ...
22:37:59 <elliott> or xpra --xpra-server-thing=virtualgl blahhh idk
22:38:01 <elliott> "something like that"
22:38:06 <elliott> if you google xpra virtualgl there's probably something
22:38:26 <elliott> https://www.xpra.org/trac/ticket/320
22:38:55 <elliott> https://www.xpra.org/trac/wiki/Xdummy might help too
22:41:04 <Vorpal> I read both of those already :/
22:41:28 <Vorpal> "Proprietary drivers often install their own copy of libGL which conflicts with the use of software GL rendering. You cannot use this GL library to render directly on Xdummy (or Xvfb).
22:41:28 <Vorpal> The best way to deal with this is to use ​VirtualGL to take advantage of the OpenGL acceleration provided by the graphics card, just run: vglrun yourapplication."
22:41:41 <Vorpal> The former is the case, but the latter should deal with this I thought?
22:41:52 <elliott> well, how are you actually doing it
22:41:56 <elliott> like where are you putting vglrun
22:42:28 <Vorpal> in an xterm opened over xpra I'm trying to run vglrun glxgears (as a test)
22:42:43 <Vorpal> I figure that getting glxgears to work should be the most basic step
22:42:52 <elliott> well, idk. can't really debug from "doesn't work"
22:42:52 -!- Phantom_Hoover has joined.
22:42:57 <elliott> but maybe you need to do the "+extension GLX +extension RANDR +extension RENDER" thing
22:43:00 <elliott> from that wiki page
22:43:46 <Vorpal> xvfb=Xorg -dpi 96 -noreset -nolisten tcp +extension GLX +extension RANDR +extension RENDER -logfile ${HOME}/.xpra/Xorg.${DISPLAY}.log -config /etc/xpra/xorg.conf
22:43:52 <Vorpal> yeah it is already there, checked that
22:43:58 <Vorpal> That is the default setup
22:44:13 <elliott> I dunno, you haven't even told me the error or anything :p I'm no expert though
22:44:16 <elliott> I'd just dig in logs and stuff
22:44:17 <elliott> and try random things
22:44:34 <elliott> and try vglrun wrapping different things
22:44:51 <Vorpal> Yeah tried glxinfo too, no luck
22:44:54 -!- GeekDude has quit (Ping timeout: 246 seconds).
22:44:57 <Vorpal> Right, bug 320 does seem a bit more relevant
22:45:13 <Vorpal> It mentions fglrx issues...
22:47:27 -!- AnotherTest has quit (Ping timeout: 252 seconds).
22:48:18 <Vorpal> elliott, might be worth trying something like turbovnc + virtualgl though
22:51:02 -!- GeekDude has joined.
22:52:16 <int-e> oerjan: #10176 is the bug (hmm, and the fix doesn't touch any of the code that was changed by the Typeable patch, isn't that fun.) I hear (on #ghc) that Austin is struggling with the haddock thing.
22:54:25 -!- vodkode_ has joined.
22:55:23 <oerjan> mhm
22:58:07 <int-e> good morning
23:06:54 -!- Koen_ has joined.
23:11:37 <zzo38> Have you created any RDF namespaces or any XML namespaces or any UUIDs?
23:17:54 -!- shikhin has quit (Ping timeout: 272 seconds).
23:21:51 -!- ais523 has quit (Read error: Connection reset by peer).
23:22:07 -!- ais523 has joined.
23:38:02 -!- ais523 has quit (Read error: Connection reset by peer).
23:38:12 -!- ais523 has joined.
23:38:25 <int-e> `uuidgen
23:38:27 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: uuidgen: not found
23:39:03 <ais523> `cat /proc/sys/kernel/random/uuid
23:39:04 <HackEgo> a8ce6013-1813-47c6-9f42-56be50696a28
23:39:21 -!- vodkode_ has quit (Ping timeout: 250 seconds).
23:39:25 <ais523> is that what you were looking for? it's a kernelspace utility nowadays, not userspace, for some reason
23:39:46 <zzo38> Why is it kernelspace utility now?
23:40:07 <ais523> I don't know
23:40:20 <zzo38> I wrote my own version 1 UUID generator, but I want to know if you have used UUID you make up by yourself
23:43:27 -!- Koen_ has quit (Quit: The struct held his beloved integer in his strong, protecting arms, his eyes like sapphire orbs staring into her own. "W-will you... Will you union me?").
23:51:26 -!- oerjan has quit (Quit: Nite).
23:53:30 <elliott> ais523: http://stackoverflow.com/questions/5873099/is-proc-sys-kernel-random-uuid-strong-keying-material
23:53:41 <elliott> oh, hmm
23:53:47 <elliott> okay so it's not one of the bad UUID formats
23:53:55 <ais523> haha, people are /seeding/ with that? :-)
23:54:00 <elliott> anyway I don't think uuidgen stopped existing or anything...
23:54:56 <ais523> but yes, if you're seeding, use /dev/random or /dev/urandom depending on why you're seeding
23:55:01 <elliott> it is a bit weird that the UUID logic is in kernelspace but I guess it's trivial enough
23:55:01 -!- zadock has joined.
23:55:02 <ais523> that's what they're /for/
23:55:05 <elliott> it's just like /dev/urandom really
23:55:11 <elliott> bu with formatting crap on top of it
23:55:23 <ais523> /dev/urandom is kernelspace for a good reason, though
23:55:31 <ais523> I don't think it's possible to implement in userspace
23:55:37 <elliott> yeah
23:55:41 -!- zzo38 has quit (Remote host closed the connection).
23:55:43 <ais523> for the reason that /dev/random might have zero entropy the first time you try to access urandom1)
23:55:46 <ais523> *urandom(1)
23:57:47 -!- callforjudgement has joined.
23:58:08 -!- ais523 has quit (Disconnected by services).
23:58:09 -!- callforjudgement has changed nick to ais523.
23:58:20 <ais523> hmm, I should probably change aimake's GUID generation to use version 3 or 5 GUIDs
23:58:57 <ais523> because atm it's basically just using a truncated hash as the entire GUID, relying on the chance of collisions being basically 0 for uniqueness
←2015-03-24 2015-03-25 2015-03-26→ ↑2015 ↑all