00:11:00 <Pikhq> oerjan: Only if you define your measurements in terms of light's motion in a certain unit of time over that unit of time.
00:11:28 <Pikhq> If you use the metric system, then you get a wildly different integer. ;)
00:14:27 <oerjan> um, planck's constant is independent of c
00:15:24 <oklopol> shut up you! i know a big word
00:16:03 <oerjan> the reason to use c = 1 is that it makes all the relativistic formulas simpler
00:26:22 <Pikhq> The reason not to use c = 1 is that it makes all humanly obtainable speeds simpler. ;)
00:35:18 <ihope_> What, speeds near c aren't humanly obtainable?
00:35:29 <ihope_> You just need energy loans, that's all.
00:35:54 <ihope_> Hawking radiation or something.
00:42:15 -!- sebbu2 has quit ("@+").
00:45:47 -!- Pikhq has quit (Read error: 60 (Operation timed out)).
00:46:16 <oerjan> Ask the First Interstellar Bank
00:47:08 <SimonRC> ICBA to report it, as they want a Bugzilla account
00:49:17 <oerjan> bugzilla accounts will be the death of open source
00:50:16 <SimonRC> Follow the instructions very carefully to see if *your* browser has this semi-bug http://compsoc.dur.ac.uk/~sc/tmp/test.html
00:54:45 <oerjan> one of the advantages to using IE is that i can simply assume i have all bugs in existence, and not worry about checking
00:55:01 <SimonRC> Although the chapter and verse I quoted doesn't actually say that is the wrong behaviour, it certainly implies it is a little too simple for a web-browser.
00:56:09 <SimonRC> I could use this to write a webpage, that when you recursively follow all links in one user-agent, you get an exponential blopwup, but in another user-agent you don't.
00:56:53 <SimonRC> It would link back to itself lots of times with random variations on the link-back URL that *shouldn't* change its meaning.
00:57:03 <SimonRC> dynamically-generated, of course
00:57:08 * bsmntbombdood wants a gyrotheodolite and an optical distance meter
00:59:41 -!- ehird` has quit.
01:03:43 <SimonRC> moved it to: http://compsoc.dur.ac.uk/~sc/fxbug/test.html
01:04:18 <SimonRC> interestingly, I only found *that* because of a Hoogle bug. :-S
01:05:03 <SimonRC> Is there a name for the phenomenon of a bug exposing another bug?
01:12:03 <oklopol> well.. you'd expect them to respect each other more than that
01:12:46 <oerjan> there is no honor among bugs
01:14:41 * oklopol is the creator of all that is good and cappuccino
01:16:51 <ihope_> oklopol: pff. Nothing is both good and cappuccino.
01:17:31 <oklopol> you don't like cappuccino 8|
01:18:05 <oklopol> if you don't like it, you haven't tasted my special lidl-microwave bake!
01:18:16 <ihope_> Hmm... maybe I should have said "Isn't 'good and cappuccino' redundant?"
01:19:10 <oklopol> so you only parse syntactically what we say and create clever answers by swapping words?
01:19:43 <oklopol> well, i guess some mix in some semantics
01:22:07 <bsmntbombdood> hot damn, http://en.wikipedia.org/wiki/Image:Hollow_dollar.jpg
01:33:14 -!- ihope_ has quit (Read error: 54 (Connection reset by peer)).
01:50:46 <SimonRC> bsmntbombdood: that wouldn't be accepted by a machine, of course
01:52:31 -!- oerjan has quit ("Good night").
01:52:32 <SimonRC> "ZOMG! I accidentally put the secret microfilm in a vending machine"
02:29:50 * SimonRC sings _The Ultimate Showdown Of Ultimate Destiny_ in the style of Tom Lehrer.
03:12:21 * SimonRC contemplates pointer-free datastructures.
03:13:13 <SimonRC> They're not actually any worse than linearly-typed data, apart from the copying time, and theproblem of having enough space to expand the datastructure.
03:17:40 <SimonRC> pointer-free trees might not be to bad...
03:18:40 <SimonRC> tree = [A=label][B=left subtree][C=right subtree][length of ABC]
03:19:59 <SimonRC> an empty tree would have a special label field.
03:20:34 <SimonRC> you might want a way to skip to the middle too...
03:20:42 <SimonRC> i.e. look at the right subtree
03:21:18 <SimonRC> this would be optimised for lookup and linear traversal of course, but in the latter case it would do *fantastic* things to the cache.
03:23:36 <SimonRC> this is most definitely an esoteric programming topic.
03:26:30 <SimonRC> It will go fater than anything else possibly can, as long as you traverse it correctly.
03:26:43 <bsmntbombdood> it makes more sense to have length at the begining for a tree
03:26:59 <SimonRC> or rather, as long as your algorithm requireds the right sort of traversal.
03:27:22 <SimonRC> bsmntbombdood: quite possibly, but you'd have to backpatch it.
03:27:43 <SimonRC> I suppose you will want pointers in your algorithms
03:28:06 <SimonRC> maybe array indices are enough...
03:28:54 <bsmntbombdood> you can't put anything in the right subtree untill you find how long the left one is
03:33:43 <SimonRC> sometimes that is how you generate the data
03:34:06 <SimonRC> this type of things isn't universally applicable, but it might be perfect sometimes
03:34:23 <SimonRC> consider for example this usenet post: http://groups.google.com/group/rec.games.roguelike.development/msg/62df77aa41921dda
03:34:59 <SimonRC> the major datastructures in his program have almost no pointers at all (inteheir interfacse at least)
03:35:16 <SimonRC> he claims this makes things easier to debug, and I am sure it does
04:06:04 -!- wooby has joined.
04:33:58 -!- wooby_ has joined.
04:34:28 -!- wooby has quit (Read error: 104 (Connection reset by peer)).
04:36:23 -!- wooby_ has quit (Client Quit).
04:44:31 -!- calamari has quit ("Leaving").
05:37:29 -!- Pikhq has joined.
05:39:31 * Pikhq may very well have came up with a replacement name for BFM and BASM. . .
05:39:55 <Pikhq> PEBBLE: Practical Esoteric Brainfuck-Based Language, Eh?
05:40:17 <Pikhq> PFUCK: Pebble's Fucked Up Compiler, Kay?
05:46:41 <Pikhq> It's better than conflicting with a different esolang.
06:31:16 -!- Sgeo has quit ("Ex-Chat").
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
09:37:50 -!- sebbu has joined.
13:11:21 -!- jix__ has joined.
13:19:07 -!- jix__ has changed nick to jix.
13:37:14 -!- sebbu2 has joined.
13:56:16 -!- sebbu has quit (Read error: 110 (Connection timed out)).
14:32:53 -!- ehird` has joined.
14:50:41 -!- jix has quit ("This computer has gone to sleep").
15:45:25 -!- jix has joined.
17:04:26 -!- Joe38 has joined.
17:06:26 -!- Joe38 has quit (Client Quit).
17:21:58 -!- jix has quit ("Bitte waehlen Sie eine Beerdigungnachricht").
17:29:15 <SimonRC> # Get out there and dance like an idiot #
19:00:39 -!- Sgeo has joined.
19:52:38 * bsmntbombdood is starting "the uberman's sleep schedule": http://www.kuro5hin.org/story/2002/4/15/103358/720
19:53:52 <SimonRC> bsmntbombdood.employmentStatus()
19:56:59 <SimonRC> if it works, it looks like a brilliant but somewhat brittle hack
20:01:00 <SimonRC> so much stuff makes sense if one considers the human body to be a craply-designed system
20:12:07 -!- jix has joined.
20:12:13 <ehird`> maybe it's the computers that are craply-designed
20:12:52 <Pikhq> pikhq.employmentStatus() == false;but pikhq.desiredEmploymentStatus() == true
20:13:43 * Pikhq should read kuro5hin more. . . Ben a few months.
20:14:14 <ehird`> pikhq.setEmploymentStatus(pikhq.desiredEmploymentStatus())
20:14:55 <SimonRC> # 9 out of 10 sociopaths agree // you've gotta see Hyakugojyuuichi #
20:15:14 <Pikhq> ehird`: Function "setEmploymentStatus" in pikhq (inherited from class person) can only be accessed by someone of class employer.
20:15:46 <Pikhq> SimonRC: Why should I see 151, exactly?
20:15:51 <ehird`> employer.new().classEval { pikhq.setEmploymentStatus(pikhq.desiredEmploymentStatus()); }
20:15:56 <Pikhq> And what the hell is it, anyways?
20:16:45 <Pikhq> ehird`: employer can only be constructed via another member of class employer, or by forcesOfTheFreeMarket().
20:18:05 <ehird`> forcesOfTheFreeMarket().classEval { employer.new().classEval { pikhq.setEmploymentStatus(pikhq.desiredEmploymentStatus()); } }
20:18:26 <SimonRC> I could explain if you really want
20:18:40 <Pikhq> I really, really want to know what the hell it is.
20:18:49 <Pikhq> ehird`: Curiosity killed the cat.
20:19:18 <Pikhq> ehird`: forcesOfTheFreeMarket() may only be called by the system administrator, which you are not.
20:19:33 <ehird`> Pikhq: Hyakugojyuuichi = one of the first animutations (which is a warped style of animation)
20:19:48 <ehird`> that line = a line from Hyakugojyuuichi 2003, which is a vanity song 2 years later by... the same maker.
20:19:55 <SimonRC> The line is from a song about it, which in turn has it's own animutation :-S
20:20:02 <ehird`> Pikhq: sudo forcesOfTheFreeMarket().classEval { employer.new().classEval { pikhq.setEmploymentStatus(pikhq.desiredEmploymentStatus()); } }
20:20:54 <Pikhq> You will be reported to God@universe.
20:21:11 <ehird`> fastpwdcrack root > pwd
20:21:15 <Pikhq> SimonRC: Blegh. Me no like animutation
20:21:22 <Pikhq> ehird`: Hello, World!
20:22:08 <Pikhq> Message from God@universe (1:20 MST, May 27, 2007):
20:22:13 <ehird`> sudo logrm sudo-logs <pwd && sudo forcesOfTheFreeMarket().classEval { employer.new().classEval { pikhq.setEmploymentStatus(pikhq.desiredEmploymentStatus()); } } <pwd
20:22:13 <Pikhq> Don't make me smite you.
20:22:30 <ehird`> sudo kill God@universe <pwd
20:22:37 <Pikhq> Message from God@universe (1:21 MST, May 27, 2007):
20:22:47 <Pikhq> Alright. That's enough.
20:22:57 <Pikhq> Message from universe:
20:23:00 <SimonRC> Pikhq: me neither, but the songs by the artist are good
20:23:02 <Pikhq> You have been smote.
20:23:02 <ehird`> ^Clogout^D^D^D^D^D^Dlogout^Clogout
20:23:29 * Pikhq thinks it's a stupid form of animation
20:23:50 <Pikhq> Of course, Lemon Demon has proven that he can do better stuff, so he is redeemed in my book.
20:24:30 <ehird`> trapezoid/"deporitaz" is painful to the ears.
20:24:34 <ehird`> (pre-lemondemon lemondemon)
20:24:56 <SimonRC> his non-wordy stuff can be good
20:26:25 <SimonRC> "<ehird`> word. y." <--- ???
20:26:43 <ehird`> <SimonRC> his non-wordy stuff can be good
20:27:17 <SimonRC> ITYM "werd", which is the more usual spelling of the expression of sgreement.
20:58:14 -!- ehird` has quit.
21:04:26 -!- sebbu has joined.
21:11:08 -!- oerjan has joined.
21:12:01 -!- Sgeo has quit (Remote closed the connection).
21:23:54 -!- sebbu2 has quit (Connection timed out).
21:49:53 <bsmntbombdood> given log(a), calculate log(a+1) without storing exp(log(a))
21:51:17 <oerjan> should be possible to give a series
21:55:35 <bsmntbombdood> log(2) + log(a)/2 + log(a)**2/8 + log(a)**4/192 + ...
21:56:33 -!- StevenBao has joined.
21:56:43 -!- StevenBao has left (?).
21:57:53 <bsmntbombdood> not sure what the general form of the denomiators is
21:58:42 <oerjan> you should be able to find them with differentiation
21:59:18 <oerjan> presumably that is the Taylor series for log(exp(a)+1)
21:59:47 <oerjan> *log(exp(x)+1) with x = log(a)
22:01:37 <oerjan> derivative exp(x)/(exp(x)+1)
22:01:46 * Pikhq curses at the PEBBLE interpreter. . .
22:02:17 <Pikhq> Currently, I've got it saying that 3%10==111
22:03:48 <oerjan> after you renamed it PEBBLE, it obviously started calculating with roman numerals
22:04:14 <oerjan> i gave you the first derivative
22:04:47 <Pikhq> Works if I turn off -O 2
22:05:25 <Pikhq> Which, of course, defeats the purpose, since it's -O 2 I want working before I release.
22:06:17 <oerjan> maybe it is doing some wrong aliasing assumptions?
22:06:40 <oerjan> that would be very easy when you are dealing with a bf tape
22:06:53 <Pikhq> I bet it's the damned language-specific macros breaking something.
22:07:14 <Pikhq> Just got the C collection working, so I moved on, and I'm running into the same issues.
22:10:56 * Pikhq gets the feeling he'd be better off removing the interpreter backend, and just make the -lang interpret target call a seperate Brainfuck interpreter
22:13:01 <Pikhq> . . . Ah. Found it.
22:13:04 <Pikhq> (and me == stupid)
22:14:05 <Pikhq> I managed to evaluate (3/10)%10, somehow.
22:14:37 <oerjan> hm... exp(x)/(exp(x)+1) = 1/(1+exp(-x)), might be easier
22:17:41 <oerjan> d^n(1/(1+y))/dy^n = (-1)^n * n! / (1+y)^(n+1) or something close to it
22:20:05 * oerjan might do this quicker if he had a computer algebra system
22:22:08 <oerjan> anyway then you use the chain rule with exp(-x) and the product rule
22:36:20 <oerjan> With u = exp(-x), f(y)=1/(1+y), I get (u^n)' = -n*u^n, and d[u^n*f^('n)(u)]/dx = -n*u^n*f^('n)(u) - u^(n+1)*f^('n+1)(u)
22:37:41 <oerjan> which actually seems to give a simple recursion
22:38:51 <oerjan> since the power of u and number of differentiations of f is always the same
22:40:31 <oerjan> actually i don't use what f is in that part
22:42:10 <oerjan> i said already that (log(exp(x)+1)' = exp(x)/(exp(x)+1), which is = 1/(1+exp(-x)) if you divide by exp(x) in both numerator and denominator
22:50:45 <oerjan> now we think of this as a linear combination of terms of the form u^n*f^('n)(u), then derivation multiplies with a matrix with -n on the main diagonal and -1 just below it
22:53:57 <oerjan> now for x = 0, u = 1 and f^('n)(1) = (-1)^n * n! / 2^(n+1)
23:25:01 <SimonRC> Have you ever had one of hose arguments that feels like (bad analogy coming up):
23:25:54 <SimonRC> The person on the other side might be stating that the moon landings were faked, or might be stating that the moon itself is fake, and it is unclear which.
23:25:58 <oerjan> whoops. bsmntbombdood, you sure the sign in front of log(a)**4/192 is right?
23:26:29 <SimonRC> And you are struggling to get him to state the former, because you can't quite beleive that anyone would beleive the latter.
23:27:58 <oerjan> good. then my method gives the right coefficients.
23:28:42 <oerjan> no, more complicated, you need to do the recursion too
23:29:32 <oerjan> to find the coefficient for each n
23:31:30 <oerjan> ah, they are not all reciprocals. - log(a)**8 * 17/645120
23:32:04 <SimonRC> oerjan: what is the pattern?
23:33:32 <oerjan> it's quite complicated. they start out small but eventually i think the factorial becomes dominant.
23:35:11 <oerjan> [1 % 2,1 % 8,0 % 1,(-1) % 192,0 % 1,1 % 2880,0 % 1,(-17) % 645120,0 % 1,31 % 14515200,0 % 1,(-691) % 3832012800,0 % 1,5461 % 5115781120,0 % 1,(-929569) % 64134053888,0 % 1,(-3202291) % 3593732096,0 % 1,221930581 % 16817061888,0 % 1,(-4722116521) % 2090860544,0 % 1,968383680827 % 12415139840,0 % 1,(-14717667114151) % 7415529472,0 % 1,2093660879252671 % 11005853696,0 % 1,86125672563201181 % 5637144576,0 % 1]
23:35:36 <SimonRC> do you have a formula for them?
23:35:48 <oerjan> the only easy part is that every second one is 0
23:38:11 <oerjan> oh and of course there is a division by factorial in there, so the derivatives are even larger
23:38:53 <SimonRC> what happens if you adjust them to all have the same numerator?
23:41:04 <SimonRC> ah, I'm not the only one...
23:41:33 <oerjan> darn Hugs is buggy with big calculations
23:41:54 <oklopol> heh, i usually assume they are stupid, and turns out i'm wrong
23:42:24 <SimonRC> oerjan: are you using Int or Integer?
23:42:46 <SimonRC> that shouldn't be a problem
23:43:07 <SimonRC> oerjan: Try *proving* it has a bug.
23:43:31 <oerjan> oh that is obvious. the output is messed up.
23:43:41 <oklopol> "assuming they are stupid" is one of the two options
23:44:00 <oerjan> i think it is the memory bug that has been discussed on the hugsbugs list
23:44:26 <oerjan> but there hasn't been a new release since it was fixed
23:45:44 <SimonRC> bsmntbombdood: give details
23:46:06 <oerjan> i'll paste my algorithm
23:46:20 <SimonRC> bsmntbombdood: why DSLs are so good right now
23:46:49 <bsmntbombdood> because haskell doesn't have symbolic differentiation built in
23:48:20 <bsmntbombdood> after removing the n! part, all the denominators are powers of 2
23:48:43 <oerjan> yes, of course they are
23:49:37 <oerjan> http://pastebin.ca/514838
23:50:12 <oerjan> the derivatives are all linear combinations of (-1)^n * fact n / 2^(n+1)
23:52:33 <SimonRC> I think we should get rid of the 1/2 at the beginning
23:54:31 * SimonRC boggles at the speed of Haskell's numeric library
23:54:49 <SimonRC> It is printing out numbers at amazing speed
23:57:49 <oerjan> anyway dL and dLn calculate the recursive coefficients i mentioned earlier
23:58:30 <SimonRC> what do the arguments mean?
23:58:54 <SimonRC> it means the wand has one chatge left and has never been rechargeds
23:58:56 <oerjan> (0:l) is l with a 0 prepended