←2014-12-14 2014-12-15 2014-12-16→ ↑2014 ↑all
00:00:10 <oerjan> :t flip
00:00:10 <lambdabot> (a -> b -> c) -> b -> a -> c
00:00:31 <int-e> @let z=text"> z"
00:00:33 <lambdabot> Defined.
00:00:33 <int-e> > z
00:00:34 <lambdabot> Ambiguous occurrence ‘z’
00:00:34 <lambdabot> It could refer to either ‘L.z’, defined at L.hs:154:1
00:00:34 <lambdabot> or ‘Debug.SimpleReflect.Vars.z’,
00:00:39 <int-e> argh
00:00:41 <int-e> @undef
00:00:41 <lambdabot> Undefined.
00:00:48 <oerjan> zimple
00:00:51 <int-e> @let q=text"> q"
00:00:52 <lambdabot> Defined.
00:00:53 <int-e> > q
00:00:54 <lambdabot> Ambiguous occurrence ‘q’
00:00:54 <lambdabot> It could refer to either ‘L.q’, defined at L.hs:152:1
00:00:54 <lambdabot> or ‘Debug.SimpleReflect.Vars.q’,
00:00:57 <int-e> ...
00:01:01 <vanila> > let x{- quine -}x=x++show x in x"let x{- quine -}x=x++show x in x"
00:01:02 <int-e> @undef
00:01:02 <lambdabot> Undefined.
00:01:03 <lambdabot> "let x{- quine -}x=x++show x in x\"let x{- quine -}x=x++show x in x\""
00:01:11 -!- augur has quit (Remote host closed the connection).
00:01:23 -!- augur has joined.
00:01:26 -!- copumpkin has quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…).
00:01:57 <int-e> yes, *of course* that module defines all single letter identifiers.
00:02:00 <elliott> @where+ q @where q
00:02:00 <lambdabot> Okay.
00:02:02 <elliott> @where q
00:02:02 <lambdabot> @where q
00:02:06 <elliott> :(
00:02:08 <oerjan> :t (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z)
00:02:08 <lambdabot> (FromExpr t2, FromExpr t1, FromExpr t) => (Expr, Expr, Expr, Expr, Expr, t, t1, t2, Expr, Expr, Expr, Expr, Expr, Expr, Expr, Expr, Expr, Expr, Expr, Expr, Expr, Expr, Expr, Expr, Expr, Expr)
00:02:09 <elliott> does that count
00:02:18 <oerjan> int-e: hth
00:02:27 <vanila> > "quine"
00:02:29 <lambdabot> "quine"
00:02:29 <vanila> thebest quine
00:02:30 <int-e> oerjan: https://hackage.haskell.org/package/simple-reflect-0.3.2/docs/Debug-SimpleReflect-Vars.html
00:02:36 <elliott> here's my quine:
00:02:39 <int-e> oerjan: I found that ;-)
00:02:40 <elliott> [doesn't send a message, gets no response]
00:02:47 <vanila> cheating!
00:02:51 <elliott> I'm executing it consatntly
00:02:53 <elliott> constantly
00:02:54 <vanila> only real quines like mine count
00:03:17 <int-e> > ()
00:03:19 <lambdabot> ()
00:03:37 <elliott> ^def quine ul (^quine)S
00:03:37 <fungot> Defined.
00:03:38 <elliott> ^quine
00:03:38 <fungot> ^quine
00:03:44 <elliott> am I an expert now vanila
00:03:55 <vanila> woah nice quine
00:04:19 <elliott> it's homemade
00:05:08 <vanila> ^ul (:aSS(anewkindofquine)):aSS(anewkindofquine)
00:05:08 <fungot> (:aSS(anewkindofquine)):aSS(anewkindofquine)
00:05:20 <vanila> oerjan, ^
00:05:32 <oerjan> vanila: good, good
00:06:05 <vanila> sorry !
00:06:08 <vanila> i thought it was funny
00:07:13 <int-e> vanila: now do it with rule 110
00:08:01 <oerjan> how do you define quines so they make sense in rule 110
00:08:05 <elliott> it's not a new kind of anything if you do it yourself, int-e
00:08:10 <elliott> you have to get your employees to do it
00:08:31 <int-e> oerjan: I don't know. That's part of the fun of a new kind of science.
00:08:37 <oerjan> int-e: ah.
00:08:51 <int-e> elliott: I'm trying to get vanila do it at no pay at all. ;-)
00:09:45 <oerjan> :t (??)
00:09:46 <lambdabot> Functor f => f (a -> b) -> a -> f b
00:09:51 <oerjan> ah there it is
00:10:26 <int-e> `factor 6561
00:10:27 <HackEgo> 6561: 3 3 3 3 3 3 3 3
00:11:33 <oerjan> oh wait it doesn't do join hmph
00:13:48 <oerjan> > text.(<**>[id,show])$return"text.(<**>[id,show])$return"
00:13:49 <lambdabot> Couldn't match type ‘[GHC.Types.Char]’ with ‘GHC.Types.Char’
00:13:49 <lambdabot> Expected type: GHC.Types.Char -> GHC.Types.Char
00:13:49 <lambdabot> Actual type: GHC.Types.Char -> GHC.Base.StringCouldn't match expected type...
00:13:59 <oerjan> figures
00:14:33 <shachaf> ?where+ q ?where q
00:14:34 <lambdabot> It is forever etched in my memory.
00:14:37 <shachaf> ?where q
00:14:37 <lambdabot> ?where q
00:14:57 <shachaf> lambdabot
00:15:58 <oerjan> > text.ap[id,show]$return"text.ap[id,show]$return"
00:15:59 <lambdabot> Couldn't match type ‘[GHC.Types.Char]’ with ‘GHC.Types.Char’
00:16:00 <lambdabot> Expected type: GHC.Types.Char -> GHC.Types.Char
00:16:00 <lambdabot> Actual type: GHC.Types.Char -> GHC.Base.StringCouldn't match expected type...
00:16:07 <shachaf> oerjan: What are you trying to do here?
00:16:14 <oerjan> a quine hth
00:16:36 <oerjan> oh hm
00:16:44 <shachaf> what's wrong with the classic ap(++)show
00:17:03 <vanila> ^ul (:aS(:^S^:)Sa:):^S^:(:aS(:^S^:)Sa:)
00:17:04 <fungot> (:aS(:^S^:)Sa:):^S^:(:aS(:^S^:)Sa:)
00:17:09 <oerjan> WRONG MONAD HTH
00:17:30 <oerjan> > text.(>>=[id,show])$return"text.(>>=[id,show])$return"
00:17:32 <lambdabot> Couldn't match expected type ‘[GHC.Types.Char] -> [GHC.Types.Char]’
00:17:32 <lambdabot> with actual type ‘[GHC.Base.String -> GHC.Base.String]’
00:17:32 <vanila> this is cool
00:17:37 <int-e> > text$ap(++)show"> text$ap(++)show"
00:17:38 <lambdabot> > text$ap(++)show"> text$ap(++)show"
00:17:47 <vanila> stop makign haskell quines!!!
00:18:00 <vanila> underload quines pls
00:18:06 <shachaf> Better unset that q thing.
00:18:10 <shachaf> @where+ q @where q
00:18:10 <lambdabot> I will never forget.
00:18:18 <oerjan> vanila: too easy hth
00:18:21 <shachaf> wouldn't want any bot loops
00:18:39 <shachaf> oerjan: whoa, does http://slbkbs.org/serp.html work in IE?
00:18:42 <int-e> @where- q
00:18:42 <lambdabot> Maybe you meant: where+ where
00:18:50 <shachaf> does IE even have incremental search?
00:18:54 <int-e> hmm. no?
00:18:57 <shachaf> IE6 didn't
00:19:07 <shachaf> int-e: there's no such command as @where-loud hth
00:19:23 <int-e> @what q
00:19:24 <lambdabot> @where q
00:19:45 <int-e> @url q
00:19:45 <lambdabot> @where q
00:19:56 <oerjan> shachaf: it worked for me yes
00:19:57 <int-e> @where+ q
00:19:57 <lambdabot> I will never forget.
00:20:01 <int-e> @url q
00:20:03 <int-e> ah.
00:20:07 <shachaf> oerjan: does backspace work
00:20:12 <oerjan> yes
00:20:22 <shachaf> too good
00:20:38 <int-e> shachaf: I just found it hard to believe that this module shouldn't have a command for undefining things. But where+ itself does the job, apparently.
00:20:50 <shachaf> @where q
00:20:53 <oerjan> :t (<**>[id,show])
00:20:53 <shachaf> @where somethingelse
00:20:53 <lambdabot> I know nothing about somethingelse.
00:20:54 <lambdabot> [String] -> [String]
00:21:00 <vanila> oerjan, how about a quine in underlambda
00:21:01 <shachaf> int-e: fsvo does the job hth
00:21:07 <int-e> shachaf: hmm. right.
00:21:17 <int-e> @where+ q I know nothing about q.
00:21:17 <lambdabot> Done.
00:21:20 <shachaf> eventually it'll turn out that "it worked" meant oerjan successfully got a blank page, and "backspace worked" meant that oerjan was able to go back to the previous page by pressing backspace
00:21:21 <int-e> well, we can fake it.
00:21:30 <vanila> How about a quine in :()^
00:21:31 <oerjan> vanila: ais523 has never released underlambda so i cannot make a quine in it hth
00:21:33 <vanila> that would be cool
00:21:51 <vanila> step1 prove :()^ turing complete, step2 apply quine theory
00:22:06 <int-e> TC is not enough to allow quines
00:22:11 <shachaf> turing completeness is neither sufficient nor necessary hth
00:22:27 <int-e> (you may have to do some trivial transcoding from output to the language)
00:22:40 <oerjan> silly shachaf, iirc when i tested yesterday i wrote "hi there" then backspaced over it
00:22:51 <vanila> ok revised approach:
00:22:52 <vanila> step1 write a quine in :()^
00:22:54 <shachaf> oerjan: ok
00:23:06 <oerjan> vanila: you need output to have a quine, at a minimum, hth
00:23:12 <shachaf> i have an alternate version that uses css to render text rather than a canvas
00:23:26 <shachaf> do you know what a headache it is to render text on a web page that isn't searchable with Ctrl-F hth
00:23:34 <oerjan> i think a quine without a and S in underload is impossible
00:23:51 <elliott> oerjan: you could define an output encoding for the resulting stack
00:23:57 <int-e> hmm, searching the wiki for :()^ didn't help
00:24:00 <vanila> Has anyone here ever written a quine?
00:24:05 <elliott> yes
00:24:06 <elliott> ^quine
00:24:06 <fungot> ^quine
00:24:08 <oerjan> int-e: Underload section
00:24:09 <vanila> int-e, it's on the underload page
00:24:12 <vanila> http://esolangs.org/wiki/Underload#Quine
00:24:46 <int-e> ah.
00:24:58 <elliott> it feels like if ():^ is TC then toothpaste must be too
00:25:11 <vanila> toothpaste complete?
00:25:51 <elliott> does that mean it can act as any one of whitening toothpaste, sensitive teeth and gums toothpaste, minty-fresh breath toothpaste, ...
00:25:58 <vanila> hehe
00:26:02 <elliott> toothpaste quine
00:26:18 <elliott> you brush your teeth with it and it just coalesces into the original solid
00:27:18 <oerjan> vanila: i wrote the quine in /// and the one in glass, for example
00:27:26 <vanila> I like the /// one...
00:27:28 <oerjan> probably others
00:27:30 <vanila> its' very scary
00:27:35 <oerjan> *MWAHAHAHA*
00:28:12 <oerjan> it's essentially based on the same principles as the looping, just adapted to print instead of run
00:29:20 <oerjan> it uses a slightly different encoding than the BCT interpreter because i couldn't avoid string clashes with that one
00:29:32 <oerjan> (basically, one more initial / in tokens)
00:30:32 -!- GeekAfk has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)).
00:30:52 <oerjan> elliott: the toothpaste i buy is "total" protection hth
00:31:11 <oerjan> it probably doesn't do all those, though.
00:31:28 <elliott> but total things can't be TC [conor mcbride swoops down and punches me]
00:31:50 <oerjan> elliott is now entrapped in a partiality monad
00:31:59 <vanila> total languages can be totally cool
00:32:17 <elliott> I'm partial to horrible jokes, yes!
00:32:32 <glguy> I like that I'm not being charged a subscription fee for this comedy in today's episode ^_^
00:32:44 <oerjan> so will ghc 7.12 be when haskell _really_ becomes dependent
00:33:58 <oerjan> glguy: i suspect you are mischanneling but i hope that's actually a comment on our current topic
00:34:19 <oerjan> *discussion
00:34:19 <vanila> ^ul (a:S^S)a:S^S
00:34:20 <fungot> (a:S^S)a:S^S
00:34:23 <glguy> Nope, just watching the discussion, hth
00:34:25 <vanila> ^ul (:aS::S):aS::S
00:34:25 <fungot> (:aS::S):aS::S
00:34:27 <elliott> this channel is like #haskell-crap, which is why I love it
00:34:33 <vanila> ^ul ((:aS^S)):aS^S
00:34:33 <fungot> ((:aS^S)):aS^S
00:34:38 <vanila> ^ul (aS(:^S)):^S
00:34:38 <fungot> (aS(:^S)):^S
00:34:43 <vanila> ^ul ((:aS^)S):aS^
00:34:43 <fungot> ((:aS^)S):aS^
00:34:59 <elliott> glguy: btw you mean you're using this channel without a subscription?
00:35:10 <elliott> /msg chanserv op #esoteric
00:35:17 <oerjan> elliott: there doesn't seem to be a #haskell-crap, should we get it to redirect here twh
00:35:22 <glguy> I got a splitter from a neighbor's service
00:36:36 <elliott> oerjan: the last thing we need is even more haskellers in here
00:36:44 <oerjan> aww
00:37:26 <glguy> I can stick to JS or C or not talking or whatever
00:37:42 <elliott> don't worry the epidemic is unstoppable already
00:38:29 <elliott> there's like 20 people in here who know haskell
00:38:33 <oerjan> today on wikipedia: fuck
00:38:53 <oerjan> elliott: some of them learned about haskell here, mind you
00:39:13 <elliott> yes they became tainted
00:39:16 <oerjan> aren't you one of them btw
00:39:43 <vanila> haskell isn't as good at quines as underloab
00:39:47 <elliott> I am as tainted as they come
00:40:04 <vanila> can you make a language based on loebs theorme
00:40:13 <oerjan> i knew haskell before i came to this channel, although one of the first programs i wrote was an unlambda interpreter, which as i recall is an ancestor of the one in lambdabot
00:40:34 <int-e> `` echo 28752pP | dc
00:40:35 <HackEgo> 28752 \ pP
00:40:44 <int-e> `` echo 28752pP | dc | dc
00:40:45 <HackEgo> 28752 \ pP
00:41:02 <vanila> that's interesting int-e
00:42:14 <int-e> `` echo '[91Pp93Pp]91Pp93Pp' | dc
00:42:15 <HackEgo> ​[91Pp93Pp \ ]91Pp93Pp
00:42:24 <int-e> `` echo '[91Pp93Pp]91Pp93Pp' | dc | dc
00:42:25 <HackEgo> ​[91Pp93Pp \ \ ]91Pp93Pp
00:42:32 <int-e> ah, darn.
00:42:49 <int-e> `` echo '[91PdP93Pp]91PdP93Pp' | dc | dc
00:42:49 <HackEgo> ​[91PdP93Pp]91PdP93Pp
00:43:15 <oerjan> `` echo '[91PdP93Pp]91PdP93Pp' | cat | cat
00:43:16 <HackEgo> ​[91PdP93Pp]91PdP93Pp
00:43:43 <vanila> `` echo `echo cat` | `echo cat`
00:43:44 <HackEgo> cat
00:44:08 <vanila> maybe you could implement underload as unix programs
00:44:16 <vanila> or something else
00:44:24 <vanila> what sets of unix pipes make a TC language?
00:45:07 <oerjan> but unix pipes aren't very stack based
00:46:29 -!- |oren\ has quit (Ping timeout: 264 seconds).
00:49:14 <oerjan> you could probably make something analogous that treated stdin as a stack of lines
00:49:36 <vanila> its a shame i cant find a symmetrical underload quine
00:50:03 <oerjan> that has been done. isn't there one on the wiki page?
00:50:10 <vanila> yeah
00:50:11 <vanila> but not by me
00:51:31 -!- vanila has quit (Quit: Leaving).
00:57:12 <int-e> `` echo '1xd[[1xd]P91PP93P[dx1]PqP[1xd]P39pP19P[dx1]]dx1' | dc
00:57:47 <int-e> (hmm ... spot the mistake)
00:57:47 <oerjan> `echo hi
00:57:57 <HackEgo> hi
00:58:05 <HackEgo> 1xd[[1xd]P91PP93P[dx1]PqP[1xd]P39pP19P[dx1]]dx1
00:58:48 <oerjan> int-e: there isn't one?
00:59:04 <int-e> it's not symmetric
00:59:09 <oerjan> oh
00:59:32 <oerjan> capital
01:00:42 <int-e> (no big deal, since code after the 'q' is not executed.)
01:11:42 <int-e> > reverse "1xd[[1xd]P91PP93P[dx1]PqP[1xd]P39pP19P[dx1]]dx1"
01:11:43 <lambdabot> "1xd]]1xd[P91Pp93P]dx1[PqP]1xd[P39PP19P]dx1[[dx1"
01:16:56 <FreeFull> What if you flip the brackets?
01:18:32 <elliott> that's prohibited by the geneva convention
01:22:30 -!- nisstyre has quit (Ping timeout: 256 seconds).
01:26:18 -!- |oren\ has joined.
01:36:03 -!- |oren\ has quit (Quit: leaving).
01:36:18 -!- oren has joined.
01:45:17 -!- TodPunk has quit (Ping timeout: 264 seconds).
01:47:10 -!- TodPunk has joined.
01:50:54 -!- nisstyre has joined.
01:55:33 -!- Phantom_Hoover has quit (Remote host closed the connection).
02:10:17 <int-e> `` printf "%x" 32000428082400023
02:10:47 <HackEgo> 71b03844830b17
02:11:27 <oerjan> wut
02:12:15 <int-e> I'm wondering if there is a non-brute-force way of finding such numbers (which are palindromic in several bases, and large compared to the bases)
02:13:44 -!- boily has joined.
02:14:36 -!- glguy has quit (Quit: Computer has gone to sleep.).
02:14:50 <int-e> oh and I guess the bases b, c should not satisfy any relation of the form b^k = c^l for k,l>0.
02:16:52 <oerjan> tricky guy
02:18:28 <lifthrasiir> int-e: is there a brute-forced list for that?
02:18:40 <shachaf> Good evening, boily.
02:18:50 <oerjan> *gasp*
02:19:39 <int-e> lifthrasiir: I just wrote a toy program that finds all 17-digit palindromic numbers (base 10) that are also palindromic in base 16. This is the complete list: 32000428082400023 / 32633196169133623 / 64634327472343646 / 70667820502876607
02:20:25 <shachaf> How many digits are they in base 16?
02:20:53 <lifthrasiir> 14.
02:21:09 <int-e> 14, all of them.
02:21:12 <shachaf> whoa
02:21:41 <shachaf> you could totally golf that down even including the 0x
02:21:46 <oerjan> > logBase 16 (10^17)
02:21:48 <lambdabot> 14.118194403271291
02:21:54 <oerjan> > logBase 16 (10^18)
02:21:55 <lambdabot> 14.948676426993131
02:22:13 <shachaf> the answer I was looking for was 11, obviously
02:23:45 <int-e> I guess I could encode it as a SAT problem and watch minisat fail on it. (or be surprised that it actually manages.)
02:23:55 <oerjan> and here my first thought was "he's been checking upwards from 32000000000000000, and that was the first number he found"
02:24:22 <lifthrasiir> my stupid search script (never optimized) gives: 1-9 11 353 626 787 979 1991 3003 39593 41514 90209 94049 96369 98689 333333 512215 666666 749947 845548 1612161 2485842 5614165 6487846 9616169 67433476 90999909 94355349 94544549 119919911 161131161 190080091 241090142 247969742 (no 10-digit number here)
02:24:35 <lifthrasiir> (cont'd) 26896769862 28586268582 28779897782 30144644103 32442924423 39762526793 43836363834 45961216954 51113531115 56702120765 390189981093 1278169618721 1631645461361 1806872786081 2424058504242 2692667662962 3405684865043 6694367634966 7888195918887 14315822851341 17262755726271 45113388331154 397922151229793 509538666835905 522013020310225 816346555643618 1668739779378661 5099347667439905
02:24:58 <int-e> oerjan: nah, I enumerated the 10^9 decimal palindromes. (I should've enumerated the 16^7 hexadecimal palindromes of length 14 instead)
02:25:12 <lifthrasiir> 5099347667439905 has 16 decimal digits, so the next would be 32000428082400023 (not yet found)
02:25:26 <oerjan> > 16^7
02:25:28 <lambdabot> 268435456
02:26:23 <oerjan> int-e: hm it's because 14 is even and 17 is odd
02:26:31 <int-e> yeah
02:26:36 <oerjan> otherwise it shouldn't matter which base you start with
02:27:02 <oerjan> approximately sqrt(n) numbers below anyway
02:27:34 <lifthrasiir> for the purpose of brute-force search, building decimal numbers is better (trivial hexadecimal conversion)
02:28:49 <oerjan> hm what counts for more, the 4*more to test or the harder conversion
02:28:50 <lifthrasiir> 373019805508910373 is the first 18-digit double palindrome.
02:30:05 <lifthrasiir> aaand of course there is an OEIS entry: http://oeis.org/A029731
02:30:59 <lifthrasiir> http://oeis.org/A029731/b029731.txt
02:32:22 <int-e> so are there infinitely many of those numbers (heuristically, yes, and I expect a proof is way out of reach)
02:32:54 <oerjan> so if approximately sqrt(n) numbers below n are palindromic in one base, hm that's 1/sqrt(n) of all so if were independent there should only be a finite number palindromic in two...
02:33:06 <oerjan> *if they were
02:33:07 <int-e> no.
02:33:32 <int-e> (1/sqrt(n))^2 is 1/n and that series diverges.
02:33:37 -!- oren has quit (Quit: Lost terminal).
02:34:01 <oerjan> oh hm
02:35:32 <oerjan> hm i don't quite trust that heuristic if changing from local to global makes that much difference...
02:35:45 <oerjan> instead...
02:35:53 <int-e> what do you mean by local and global?
02:36:32 <oerjan> or wait hm
02:37:11 <oerjan> ok between n^2 and (n+1)^2 there should be 1 palindrome
02:37:30 <oerjan> in one base
02:38:05 <oerjan> that's 2n+1 numbers
02:38:33 <oerjan> this is too imprecise
02:38:53 <int-e> Way too imprecise for a proof.
02:39:46 <oerjan> ok so say between 1000000 and 1000999 there is one palindrome
02:40:07 <oerjan> that's 1000^2 to 1000^2 + 2*1000 - 1
02:40:56 <oerjan> so the density is 1/(2*sqrt(n)-1) on that interval
02:41:35 <oerjan> oh hm
02:41:55 <oerjan> i guess i am getting approximately theta(1/sqrt(n)) anyway
02:43:05 <oerjan> otoh this means we should expect only finitely many that are palindromes in _three_ distinct bases, iirc
02:43:23 <oerjan> (that sum (1/n^s) converges for s > 1)
02:43:47 <oerjan> which i'm not entirely sure of
02:44:00 <oerjan> s>=2 i'm sure
02:44:29 <int-e> there are b^k palindromes in [b^(2k-1),b^(2k)-1] and in [b^(2k),b^(2k+1)-1].
02:45:05 <int-e> to me that seems easier than arguing about n^2 and (n+1)^2.
02:45:29 <oerjan> OKAY
02:45:53 <oerjan> ok s>1 confirmed
02:46:19 <int-e> ?
02:46:28 <int-e> for three or more, yes
02:46:37 <oerjan> https://en.wikipedia.org/wiki/Riemann_zeta_function
02:47:20 <int-e> (that sum (1/n^s) converges for s > 1) <-- I didn't recognize this as a question.
02:48:01 <oerjan> it was turning into a question while i was writing it
02:48:45 <shachaf> oerjan: that's why question marks go at the end of sentences hth
02:48:53 <int-e> did you notice that I messed up ... I should write, there are b^k palindromes in [b^(2k-2),b^(2k-1)-1] and in [b^(2k-1),b^(2k)-1].
02:49:05 -!- nys has quit (Quit: quit).
02:49:09 <oerjan> shachaf: technically it only turned into a question after i'd pressed return hth
02:49:37 <shachaf> does that still count as writing it twh
02:49:41 <oerjan> no i didn't, i was too lazy to check that :P
02:49:55 <int-e> and by b^k, I mean (b-1)*b^(k-1), thanks to a leading digit that should not be zero.
02:50:17 <int-e> but none of this changes the conclusion.
02:51:03 <oerjan> anyway, if those two-base palindromes are distributed approximately as you'd expect from taking product of densities then that might indicate there _isn't_ a non-brute force method, vaguely...
02:52:02 <int-e> oerjan: So, even simpler, there are 2*b^k-1 palindroms less than b^2k, since you can take every number less than b^k and append it to its reverse, possibly merging the center digits. The -1 term accounts for 0 = 00.
02:52:35 <boily> shachaf: bonshachafoir.
02:52:49 <oerjan> int-e: i was trying to use a smaller interval to prevent that local/global confusion i was sensing
02:53:20 <int-e> oerjan: I see. Well, you needn't worry :)
02:56:39 <oerjan> from 1000000 to 9999999 there are 9000 palindromes...
02:56:43 -!- oren has joined.
02:57:06 -!- glguy has joined.
02:57:20 <oren> hi
02:57:24 <boily> helloren.
02:57:43 <int-e> Though the n^2/(n+1)^2 idea doesn't quite work. The difference between 100001 101101 is 1100, about sqrt(10) times larger than sqrt(100001).
02:58:12 <oerjan> that was too short an interval
02:58:25 <oerjan> i think a single set of digit lengths is better
02:58:29 <int-e> n^2 / (n+b)^2 will work.
03:00:03 -!- GeekDude has joined.
03:05:08 -!- boily has quit (Quit: EXPRESSIVE CHICKEN).
03:08:20 <oerjan> > let dens b x = 1/b^ceiling(logBase b x / 2) in dens 10 1000001
03:08:21 <lambdabot> 1.0e-4
03:08:36 <oerjan> oh hm that's wrong
03:08:47 <oerjan> > let dens b x = 1/b^round(logBase b x / 2) in dens 10 1000001
03:08:49 <lambdabot> 1.0e-3
03:08:53 <oerjan> > let dens b x = 1/b^round(logBase b x / 2) in dens 10 10000001
03:08:54 <lambdabot> 1.0e-4
03:09:25 <oerjan> > let dens b x = 1/b^round(logBase b x / 2) in dens 10 1000000
03:09:26 <lambdabot> 1.0e-3
03:09:40 <oerjan> > let dens b x = 1/b^round(logBase b x / 2) in dens 10 1000000 * 9000000
03:09:42 <lambdabot> 9000.0
03:09:49 <oerjan> > let dens b x = 1/b^round(logBase b x / 2) in dens 10 10000000 * 90000000
03:09:50 <lambdabot> 9000.0
03:10:05 <oerjan> > let dens b x = 1/b^round(logBase b x / 2) in dens 10 999999
03:10:07 <lambdabot> 1.0e-3
03:10:16 <oerjan> > let dens b x = 1/b^round(logBase b x / 2) in dens 10 9999999
03:10:17 <lambdabot> 1.0e-3
03:10:27 <oerjan> > let dens b x = 1/b^round(logBase b x / 2) in dens 10 10000000
03:10:28 <lambdabot> 1.0e-4
03:11:15 <oerjan> > let dens b x = 1/b^round(logBase b x / 2) in sum [dens 10 n * dens 16 n | n <- [100..10000]]
03:11:17 <lambdabot> 7.796289062500727
03:11:29 <int-e> so 1/sqrt(bn) <= dens b n <= sqrt(b/n)?
03:12:13 <oerjan> well that's not too far from the actual number of double-palindromes between 100 and 10000
03:12:58 <oerjan> int-e: i'm just trying to make it give the right density for each number of digits
03:13:29 <oerjan> > let dens b x = 1/b^round(logBase b x / 2) in sum [dens 10 n * dens 16 n | n <- [100..100000]]
03:13:32 <lambdabot> 11.311914062572834
03:14:08 <oerjan> oh hm there's a surprising number of them in the 90 thousands :P
03:14:36 <oerjan> oh it's not too far away anyhow
03:23:28 * oerjan looks at freefall and wonders what gimu means
03:34:10 <int-e> hmm. perhaps http://www.eudict.com/?lang=japeng&word=gimu
03:34:17 <int-e> but it's a wild guess.
03:38:13 <oerjan> it does seem to fit at least
03:49:35 -!- GeekDude has quit (Ping timeout: 244 seconds).
03:58:08 -!- glguy has quit (Ping timeout: 258 seconds).
04:06:52 -!- GeekDude has joined.
04:16:21 -!- CrazyM4n has joined.
04:29:47 -!- oerjan has quit (Quit: Nite).
04:39:05 <CrazyM4n> Are APLs even popular anymore?
04:39:27 <CrazyM4n> I've been thinking about ideas for them
04:40:50 <CrazyM4n> What APLs do people use, anyway? J, K, and APL are the only ones I know of.
04:41:54 -!- zzo38 has joined.
05:22:39 -!- GeekDude has quit (Remote host closed the connection).
05:29:56 -!- CrazyM4n has quit (Quit: Leaving).
05:31:04 -!- glguy has joined.
05:31:14 -!- glguy has quit (Changing host).
05:31:15 -!- glguy has joined.
05:35:02 -!- b_jonas has quit (Ping timeout: 272 seconds).
05:35:26 <zzo38> Let's make in Magic: the Gathering cards, a artifact card, its effect is: {X}, {T}: Change this card's mana cost to the mana you paid for this ability.
05:36:38 <zzo38> You can have another ability to change the name of this card to any other card on the field.
05:41:42 -!- b_jonas has joined.
05:46:57 -!- copumpkin has joined.
05:54:36 <zzo38> Is there any card that allows you to gain life instead of drawing cards?
06:08:12 <shachaf> zzo38: What would that card's mana cost be?
06:08:28 <shachaf> I don't think there's a card with that ability. It would probably not be very popular.
06:14:40 <zzo38> shachaf: If you draft it together with a card that is in combination become useful then you might use it. I don't know what its mana cost would be originally, maybe just {0} or {1} is enough.
06:15:50 <shachaf> There is http://magiccards.info/query?q=!Scornful+Egotist which maybe has some similar uses.
06:17:24 <shachaf> Actually, not really.
06:17:37 <shachaf> I don't know what it would be useful for.
06:17:57 <shachaf> I guess you mean "this permanent's mana cost".
06:18:19 <zzo38> Yes I mean it; even if a token copy is made it can still work.
06:21:34 <glguy> I've only played a bit of Magic. What's the point of this Scornful Egotist?
06:22:08 <zzo38> You can draft multiple sets if that would help! Usually only one set is drafted but I have played once where two sets are drafted.
06:24:35 <shachaf> glguy: I never played in that block, but as I understand it there were a bunch of cards that cared about having permanents with a high converted mana cost.
06:24:53 <shachaf> So this was a cheap roundabout way to get some of those effects.
06:25:55 <shachaf> http://magiccards.info/query?q=e:scg/en+o:%22converted+mana+cost%22
06:25:58 <glguy> http://magiccards.info/sc/en/49.html
06:26:31 <shachaf> Yes, that sort of thing.
06:27:56 -!- zemhill has quit (Ping timeout: 260 seconds).
06:27:56 -!- zemhill has joined.
06:28:24 <glguy> "Once I was human. Now I am far more." -- but apparently there was an errata that stated the Scornful Egotist was still human
06:28:51 <shachaf> Well, it does say "more"
06:29:15 <shachaf> {Human} ⊂ {Human, Wizard}
06:30:01 <glguy> Then he would have said. I am human. Also I am far more.
06:31:54 -!- Sprocklem has quit (Ping timeout: 256 seconds).
06:31:57 <shachaf> Human and Wizard are incomparable
06:32:41 <glguy> Don't tell me, tell him!
06:33:12 <shachaf> imo so annoying that Soldier tokens aren't human
06:33:16 -!- Sprocklem has joined.
06:35:06 -!- adu has joined.
06:37:06 <zzo38> Why is it so annoying?
06:37:19 <zzo38> Maybe some soldiers will not be human soldiers?
06:37:33 <shachaf> Because I'd always mix them up.
06:40:31 <zzo38> I made up a card for Pokemon card game which is called HAND FIXER KIT and its effect is: Put all cards from opponent's trash into his hand.
06:41:41 <glguy> I used to have the first couple sets of pokemon cards... and then my brother traded them away for some hockey cards
06:42:31 <shachaf> i,i traded some hokey cards for some hockey cards
06:47:13 <zzo38> Assume it is your turn after you have drawn a card you have three cards in your hand; in play opponent has only CHANSEY [Lv.55] with no damage and five energy cards attached; you have KADABRA [Lv.39], active, with 2 damage, no energy, and is sleeping, and you have only GASTLY [Lv.8] on bench with 1 energy and 2 damage; opponent has 3 cards remaining in draw pile and 1 side card remaining; you have no cards in draw pile and 5 side cards remaining...
06:48:24 <zzo38> Now, you can play HAND FIXER KIT and opponent is going to scream like "!!???!!!?!?!???!?!!!!!????!!?!????!!!!!?!?!?!!?!!!!??????!!!??!?!?!??!?!?!!!!!!???!?!!?!?!?!!!?!????!?!??!??!!??!?!?!?!?!?!!!!?!???????!!!!!??!?!!!!?????"
06:49:03 <zzo38> What do *you* think???
06:49:23 <shachaf> I don't think my opponent is going to scream like that.
06:49:36 <shachaf> But I don't know the rules of Pokeman card game; maybe it is required.
06:49:47 <zzo38> No, it isn't required.
06:51:21 <glguy> You should probably add that as a requirement to your card
06:51:42 <zzo38> glguy: Why?
06:52:07 <glguy> seems like it'd make it even more complicated and more fun :)
06:52:31 <glguy> Or was that long list of assumptions just a scenario
06:52:43 <glguy> and not the pre-req?
06:52:48 <zzo38> That long list of assumptions is just a scenario.
06:53:01 <zzo38> The effect of HAND FIXER KIT is only "Put all cards from opponent's trash into his hand"
06:54:28 <zzo38> He has exactly fifteen trainer cards in his trash. In your hand you have DEVOLUTION SPRAY and HAUNTER [Lv.26].
06:54:36 <zzo38> Now what do you believe?
07:04:23 -!- Sprocklem has quit (Ping timeout: 264 seconds).
07:05:07 -!- Sprocklem has joined.
07:22:42 -!- glguy has quit (Quit: Quit).
07:41:45 -!- Patashu has joined.
07:45:52 -!- Patashu has quit (Remote host closed the connection).
07:46:03 -!- Patashu has joined.
07:46:50 <Sgeo> o.O http://techcrunch.com/2014/11/19/mozilla-partners-with-yahoo-which-will-become-the-default-search-engine-in-firefox-next-month/
07:53:08 -!- Sprocklem has quit (Ping timeout: 258 seconds).
08:29:23 -!- adu has quit (Quit: adu).
08:29:25 <zzo38> I do not expect changing the default searching engine is anything wrong; regardless what it is by default, you can easily change it to whatever one you want, or add your own
09:09:52 <J_Arcane_> Most won't though.
09:10:17 <J_Arcane_> The Google-Firefox deal was big money for both.
09:22:53 -!- Phantom_Hoover has joined.
09:24:13 <J_Arcane_> Helpful commit message of the day: "zip and zipwith. These work exactly as you'd expect if you've used Haskell. You might not've, so they work exactly as they say."
09:28:09 <Taneb> :D
09:28:11 <Taneb> Link?
09:28:37 <J_Arcane_> https://github.com/jarcane/heresy/commit/61321c114669b366a362c287984b2719708c526c
10:02:54 -!- drdanmaku has quit (Quit: Connection closed for inactivity).
10:22:01 -!- glguy_ has joined.
10:50:19 <Jafet> Is it known whether there is a nontrivial palindrome for bases 2, 3 and 5?
10:53:14 <Jafet> (Or even 2, 3, and 4.)
11:22:47 -!- boily has joined.
11:27:05 <boily> fungot: fungellot. what are you supreming?
11:27:05 <fungot> boily: objc looks like someone mixed malbolge, c, e, r, e, b, c: if a flaw isn't fatal, it's acceptable. 2.0 seconds could be a simple mail server designed to just work
11:29:15 -!- Frooxius has quit (Quit: *bubbles away*).
11:31:36 <b_jonas> uh
11:33:13 <b_jonas> fungot, do you like running double exponential time algorithms?
11:33:13 <fungot> b_jonas: im not sure
11:35:38 <b_jonas> fungot, do you like winger?
11:35:39 <fungot> b_jonas: wait. you intended to impose on your prototype system?' what? it was a list with two elements
11:35:55 <elliott> `addquote <b_jonas> fungot, do you like running double exponential time algorithms? <fungot> b_jonas: im not sure
11:35:55 <fungot> elliott: still law is law...) and ( d or f)
11:36:12 <HackEgo> 1226) <b_jonas> fungot, do you like running double exponential time algorithms? <fungot> b_jonas: im not sure
11:37:14 <boily> if some charitable soul on this Fine Chännel could make the damn wisdom PDF compile on texlive 2014, that'd be very helpful and I could get back to editing it.
11:37:25 <boily> (having some problem with the Greek package...)
11:42:04 <b_jonas> fungot, how do you feel about the conflicting requirements of good practices when no alignment causes performance penalties because the cpu has to access data crossing cache lines, but too much alignment causes performance penalty due to every data trying to share the same l1 cache line?
11:42:05 <fungot> b_jonas: but right now the system is only very hard to replace the sorting order for nick lengths!
11:42:16 <b_jonas> yeah, agreed
11:42:57 <boily> nick lengths are as good as they are. five letters masterrace!
11:43:14 <shachaf> boily: since when is this a Chännel twh
11:43:29 <b_jonas> fungot, which fairy should I forget to invite to the newborn child's christening?
11:43:29 <fungot> b_jonas: if your point is completely bogus.)
11:43:48 <b_jonas> fungot: yeah, but if you had to choose one?
11:43:49 <fungot> b_jonas: when you can be more efficient both in time and they are mostly in canada, i wouldn't assume it to do
11:43:58 <b_jonas> canada, ok
11:44:11 <b_jonas> fungot, do they ride a motorbike in the winter?
11:44:11 <fungot> b_jonas: dhcpd is running as you described it.
11:45:11 <boily> shachaf: according to my logs, since February 13, 2014.
11:45:20 <b_jonas> fungot, if an adolescent boy wishes to honorably sever ties with his family to avoid the consequences of the century old feud between his family and the Capulets, what should he become? a cleric, a monk, or a mercenary?
11:47:50 <zzo38> Are those the only three choices?
11:48:52 <boily> were there engineers in those times?
11:56:58 <b_jonas> zzo38: no, you could give some other choice too if you wish
11:57:12 <b_jonas> these are just the ones that's occurred to me
11:57:32 <b_jonas> I guess they could try to enter the guild of assassins too
11:57:43 <b_jonas> or join a circus/theatre
11:58:05 <b_jonas> but I'm not sure how honorable it is to join a theatre
12:00:59 -!- Patashu has quit (Ping timeout: 250 seconds).
12:01:56 <b_jonas> hehe, this bad translation is amusing. in this list, it has chinese commas between Hungarian words
12:02:07 -!- shikhin has joined.
12:02:31 -!- shikhin has changed nick to Guest24980.
12:04:28 -!- Guest24980 has quit (Client Quit).
12:04:48 -!- shikhout has joined.
12:05:01 -!- shikhout has quit (Changing host).
12:05:01 -!- shikhout has joined.
12:05:34 -!- shikhout has changed nick to shikhin.
12:15:42 -!- boily has quit (Quit: COMPLACENT CHICKEN).
12:27:09 <b_jonas> `ctof -10
12:27:10 <HackEgo> ​-10.00°C = 14.00°F
12:27:17 <b_jonas> `ftoc -30
12:27:17 <HackEgo> ​-30.00°F = -34.44°C
12:34:53 -!- Phantom_Hoover has quit (Ping timeout: 260 seconds).
13:17:07 <J_Arcane_> http://gabrielmartin.net/projects/hipku/
13:21:41 -!- glguy_ has quit (Quit: Quit).
13:33:08 -!- atslash has quit (Quit: This computer has gone to sleep).
13:38:42 -!- shikhin has quit (Ping timeout: 264 seconds).
13:40:33 -!- shikhin has joined.
13:41:17 -!- shikhin has changed nick to Guest53639.
13:41:50 -!- Guest53639 has changed nick to shikhout.
13:41:55 -!- shikhout has quit (Changing host).
13:41:56 -!- shikhout has joined.
13:42:05 -!- shikhout has changed nick to shikhin.
13:42:07 -!- atslash has joined.
13:54:13 -!- atslash has quit (Quit: This computer has gone to sleep).
13:55:50 * J_Arcane_ gazes into the abyss that is random number generation in a functional language.
13:56:41 <Melvar> “abyss”?
13:57:12 * J_Arcane_ is being rather facetious, but it is an issue that needs to be decided for Heresy.
13:59:42 <elliott> don't you already have IO
14:00:53 <J_Arcane_> True. But I have something I might want to do with my first game project in Heresy that might require a more predictable approach.
14:03:37 <fizzie> fungot: Why are you running your own dhcpd? Was it your fault my DHCP clients had stopped working?
14:03:37 <fungot> fizzie: i don't use safari often :)
14:03:51 <fizzie> fungot: O-kay, but that doesn't seem terribly relevant.
14:03:51 <fungot> fizzie: that base blocking technique and improved it with the default formatting and don't want to
14:04:29 <Jafet> If you call into a coroutine, the coroutine calls also into you
14:06:11 <J_Arcane_> :D
14:07:17 <J_Arcane_> Basically, I haven't actually established I/O beyond console print and input in Heresy yet (I'm thinking external IO will take place in parameterized blocks only, but haven't got round to implementing it yet).
14:07:42 <J_Arcane_> So I thought for a game, rather than have a save function, I'd use a password system like the old NES games.
14:09:42 <J_Arcane_> But it begs the question of whether the random number seed should be included in the derivation for the password or not, and that means I have to be more particular about how seeds are generated and used in the program (and indeed, possibly in the language itself)
14:10:57 <elliott> why do you need an RNG seed for this
14:11:56 <J_Arcane_> Oh, right, because it's an RPG. Die rolls and what not.
14:12:09 <elliott> but you want the seed to be predictable given the password?
14:12:15 <elliott> as in the same every time
14:12:32 <elliott> how do you generate the password
14:12:33 <elliott> s
14:14:32 <J_Arcane_> The password would just be a serialization of the player stat values and possibly the RNG seed to a text string, maybe base64 or something if I'm feeling lazy, or something original if I'm not.
14:15:17 -!- oerjan has joined.
14:15:49 <elliott> I mean a PRNG is a pure function of its state
14:15:58 <elliott> so you shouldn't need to change the language
14:16:08 <elliott> (okay it's state -> (output, state))
14:16:24 <elliott> (my point is you can handle it as well as any state if your initial seed is fixed)
14:16:50 <J_Arcane_> elliott: Well, literally, the syntax and functions haven't been defined in Heresy yet. I need to write them before I can start writing a game.
14:16:51 -!- Phantom_Hoover has joined.
14:17:02 <elliott> why do you have to change the language
14:17:06 <elliott> you can implement a PRNG in a few lines
14:17:22 <elliott> https://en.wikipedia.org/wiki/Xorshift
14:20:21 <HackEgo> [wiki] [[Esolang:Sandbox]] http://esolangs.org/w/index.php?diff=41474&oldid=40202 * 80.95.121.33 * (+25)
14:21:04 <elliott> agreed
14:22:12 <elliott> J_Arcane_: btw not trying to seem argumentative, just legitimately curious as to the problem
14:23:37 <J_Arcane_> elliott: Really, it's not necessarily a 'problem' just deciding how to define it. I think probably I'll just implement RANDOMIZE and RND, and then abuse the lexical scoping to rewrite the seed when needed.
14:23:53 <elliott> isn't this language meant to be pure :)
14:24:05 <elliott> I'd just implement the RNG inside the game or something, personally!
14:24:06 <elliott> or in a library
14:24:20 <elliott> if you don't care about getting a seed from the outside world you don't need to change the language at all
14:24:27 <J_Arcane_> Well, 'rewrite' in the sense of redefining it locally.
14:25:01 <HackEgo> [wiki] [[Esolang:Sandbox]] http://esolangs.org/w/index.php?diff=41475&oldid=41474 * 80.95.121.33 * (+64)
14:26:50 <J_Arcane_> Ie. you can still get away with just doing (def seed (randomize timer)) at the top level, and just (def seed [somethingelse]) farther down the tree. Or just say hell with it and not worry about storing the seed.
14:27:34 <elliott> well. okay. I was just thinking you'd make a function that takes a state and returns (list output newstate).
14:27:53 <elliott> xorshift just "reseeds" every step
14:28:04 <elliott> so you pass in the seed initially and then get a new one out and a returned number, etc.
14:28:31 <oren> if you already have I/O, use the old-school keyboard intervals method!
14:32:16 <oren> you can isolate the unfunctional stuff to one thing then
14:47:24 -!- oren has quit (Quit: exam time).
14:51:50 <oerjan> <Jafet> (Or even 2, 3, and 4.) <-- having both 2 and 4 seems like it'll restrict digits quite a lot
14:52:31 <oerjan> if it's even length in binary you can only use 00 and 11
14:52:55 <oerjan> (topic was palindromes)
14:54:17 <oerjan> with odd length, hm
14:55:37 <oerjan> 1(00)*01 is the only possibility with odd length
14:56:20 <oerjan> well except 0 itself
14:57:19 <oerjan> that's 4^n+1
14:57:53 <oerjan> > [showIntAtBase 3 intToDigit (4^n+1) | n<-[1..]]
14:57:55 <lambdabot> [<[Char] -> [Char]>,<[Char] -> [Char]>,<[Char] -> [Char]>,<[Char] -> [Char]>...
14:58:04 <oerjan> > [showIntAtBase 3 intToDigit (4^n+1) "" | n<-[1..]]
14:58:06 <lambdabot> ["12","122","2102","100112","1101222","12121202","211110212","10022220022","...
14:58:31 <oerjan> hm none in the short term...
14:58:43 <oerjan> > [showIntAtBase 3 intToDigit (4^n+1) "" | n<-[8..]]
14:58:44 <lambdabot> ["10022220022","111022121002","1222021101012","21220002111122","101112010100...
14:59:13 <Jafet> Only the base 4 palindromes with the digits 0,1 or the digits 0,3 are base 2 palindromes.
14:59:52 <oerjan> Jafet: um i don't think digits 0,1 work
15:00:04 <oerjan> except for 4^n+1
15:00:18 <int-e> 1111 must also work
15:00:37 <oerjan> int-e: that's digits 0,3
15:00:44 <int-e> oerjan: in base 4
15:00:54 <int-e> so 1010101 in base 2
15:01:12 <oerjan> oh hm
15:01:20 <oerjan> where was my logic error..
15:01:26 <int-e> so I agree with Jafet on this
15:01:36 <oerjan> OKAY
15:02:01 <oerjan> actually no
15:02:06 <oerjan> it's _only_ digit 1
15:02:15 <oerjan> or wait
15:02:18 <oerjan> sheesh
15:02:26 <int-e> we're just inserting 0s between all digits
15:02:47 <int-e> to convert from base 4 to base 2.
15:02:58 * oerjan brain
15:03:16 <Jafet> Brain? I learned this by computer.
15:03:33 <int-e> brains generalize better
15:04:34 <oerjan> so did you find any that were also base 3
15:04:51 <int-e> 1.
15:05:17 <oerjan> i think "non-trivial" was specified in the original question
15:09:29 <oerjan> > let p b n | s <- showIntAtBase b intToDigit n "" = [s|s == reverse s] in [l| n<-[3..], Just l <- mapM (`p` n) [2,3,4]]
15:09:31 <lambdabot> Couldn't match expected type ‘[GHC.Base.String]’
15:09:31 <lambdabot> with actual type ‘Data.Maybe.Maybe t’
15:09:41 <oerjan> that was too clever to work on first try
15:09:56 <oerjan> > let p b n | s <- showIntAtBase b intToDigit n "" = [s|s == reverse s] in [l| n<-[3..], Just l <- [mapM (`p` n) [2,3,4]]]
15:09:57 <lambdabot> Couldn't match type ‘Data.Maybe.Maybe’ with ‘[]’
15:09:58 <lambdabot> Expected type: [[GHC.Base.String]]
15:09:58 <lambdabot> Actual type: Data.Maybe.Maybe [GHC.Base.String]
15:10:12 <oerjan> oh
15:10:28 <oerjan> > let p b n | s <- showIntAtBase b intToDigit n "" = [s|s == reverse s] in [l| n<-[3..], l <- mapM (`p` n) [2,3,4]]
15:10:32 <lambdabot> mueval-core: Time limit exceeded
15:10:39 <oerjan> > let p b n | s <- showIntAtBase b intToDigit n "" = [s|s == reverse s] in [l| n<-[3..], l <- mapM (`p` n) [2,4]]
15:10:40 <lambdabot> [["11","3"],["101","11"],["1111","33"],["10001","101"],["10101","111"],["110...
15:10:56 <oerjan> > let p b n | s <- showIntAtBase b intToDigit n "" = [s|s == reverse s] in [l| n<-[3..], l <- mapM (`p` n) [2,3,5]]
15:11:00 <lambdabot> mueval-core: Time limit exceeded
15:11:18 <oerjan> it seems not immediately clear that any exist
15:11:37 -!- `^_^v has joined.
15:13:08 <int-e> oh the digit 0/3 numbers wont' cut it.
15:13:23 <oerjan> why not
15:13:41 <int-e> trailing digit 0 in base 3.
15:13:48 <oerjan> fiendish
15:14:11 <Jafet> If one exists, it's certainly not going to be less than 8022581057533823761829436662099
15:14:17 <oerjan> digit sum rule for base 4, right
15:14:34 <Jafet> @oeis 1,6643,1422773,5415589,90396755477
15:14:35 <lambdabot> Numbers that are palindromic in bases 2 and 3.[0,1,6643,1422773,5415589,9039...
15:15:18 <oerjan> presumably heuristics mean that unless you find them fast, there won't be any
15:15:36 <int-e> but you can never be sure
15:15:49 <oerjan> indeed
15:16:24 -!- Phantom_Hoover has quit (Remote host closed the connection).
15:16:41 <b_jonas> oh, that reminds me to that open problem about digit something and powers... um what was it
15:17:32 <oerjan> b_jonas: "is there any power of 2 > last obvious one which doesn't contain the digit 0"?
15:17:54 <b_jonas> oerjan: um, I don't think that was it
15:18:14 <oerjan> well i vaguely recall something like it
15:18:14 <b_jonas> but sounds right anyway
15:18:28 <oerjan> although maybe it came up as a consequence of something else
15:18:42 <b_jonas> maybe it was something like "is there a power of two that when you reverse the digits becomes a power of five"
15:19:26 <oerjan> that sounds like another thing that's ridiculously heuristically unlikely :P
15:19:29 <int-e> ok, there's no other base-2-3-4 palindrome smaller than 4^48.
15:19:33 <int-e> > 4^48
15:19:34 <b_jonas> oerjan: yep
15:19:35 <lambdabot> 79228162514264337593543950336
15:19:43 <Jafet> It's apparently been proven that there is a counterexample to the Mertens conjecture below exp(1.59*10^40), though no one actually knows one
15:20:06 <b_jonas> Jafet: what's the Mertens conjecture?
15:20:10 <int-e> (Jafets bound is better)
15:20:41 <int-e> But then again I have not invested very much CPU time.
15:20:49 <Jafet> int-e: just check all the eight known base 2/3 palindromes to confirm that none (other than 1) are base 4 palindromes
15:21:01 <int-e> Jafet: yes.
15:21:38 <b_jonas> int-e: how about numbers that are palindromes in bases 2, 3, 5?
15:22:07 <oerjan> i'd imagine the eight known Jafet is talking about might help there too
15:22:12 <Jafet> For that we also have the trivial lower bound of 8022581057533823761829436662099
15:22:27 <b_jonas> [ 10^. 8022581057533823761829436662099
15:22:30 <oerjan> int-e: @oeis _really_ should give the url :(
15:22:48 <int-e> oerjan: patches welcome, I'm getting notified of mokus' pull requests.
15:22:54 <Jafet> Huh, it should at least give the A-number
15:23:01 <Jafet> (http://oeis.org/A060792)
15:23:29 <int-e> Jafet: I could improve that bound for the 2-3-4-palindromes, because we've so nicely characterized the 2-4-palindromes.
15:23:42 -!- j-bot has joined.
15:23:50 <b_jonas> [ 10^. 8022581057533823761829436662099
15:23:50 <j-bot> b_jonas: 30.9043
15:24:25 <oerjan> hm 2,3 palindromes seem a _lot_ rarer than 10,16 ones
15:24:34 <Jafet> True. But one might suspect that no such integers exist anyway.
15:25:12 <oerjan> well i mean, 2,3 palindromes are so rare that the simple sqrt(n) heuristic must be broken somehow
15:25:27 <Jafet> Larger bases have more palindromes
15:26:02 <int-e> oerjan: smaller bases profit less from the wildcard center digit in the odd-number-of-digts case.
15:26:08 <oerjan> hm
15:26:38 <int-e> so this observation is consistent with my intuition for the problem.
15:26:41 -!- GeekDude has joined.
15:26:47 <oerjan> OKAY
15:26:57 <int-e> just saying!
15:27:27 -!- Sprocklem has joined.
15:28:02 <b_jonas> fungot, what do you think?
15:28:02 <fungot> b_jonas: i now know where to find foo? otherwise why not just make the directory accessible to the right-hand sides are not lambdas, right? :p.
15:28:26 <int-e> I'm actually kind of impressed that the 2-3-palindrome calculation has been pushed so far. Makes me wonder whether there's a trick for speeding things up that I'm missing.
15:29:28 <Jafet> There are apparently tricks that save constant factors, but they are specific to the 2-3 case
15:31:27 <b_jonas> [ 10^. 8022581057533823761829436662099
15:31:27 <j-bot> b_jonas: 30.9043
15:31:36 <b_jonas> [ 2 3^. 8022581057533823761829436662099
15:31:36 <j-bot> b_jonas: 102.662 64.7725
15:31:45 <b_jonas> hmm
15:32:00 <int-e> I guess there is one asymptotic trick that may allow testing numbers up to n in O(n^(max(1-k,2*k))log(n)) time, given O(n^(2*k)) memory.
15:32:19 <Jafet> Yes, you can trade space for time by taking residues.
15:33:04 <b_jonas> int-e: the fun part about that oeis entry is "Next term (if it exists)" so apparently they don't know if there's infinitely many.
15:33:22 <int-e> (make a table of the possible differences resulting from picking the center k*log(n) digits for both bases.)
15:33:23 <Jafet> That's written on many oeis entries.
15:33:41 <b_jonas> int-e: there's a link to an article on computing them though
15:34:08 <oerjan> > logBase 3 8022581057533823761829436662099
15:34:10 <lambdabot> 64.77245314069522
15:34:24 <b_jonas> ^ agrees with j-bot's reply, good
15:34:32 <oerjan> hm they haven't pushed it that much further
15:36:58 <Jafet> Also, once you pick the first few digits in each base, the possible palindromes are in the intersection of two arithmetic progressions
15:39:26 <int-e> oerjan: btw, naively, I would expect 10-16-palindromes to be 23/80 * sqrt(240) more numerous than 2-3-palindromes, about 4.454
15:40:29 <int-e> (missing a "times" in there, somewhere.)
15:41:53 <int-e> > (1/sqrt 160 + sqrt 160) / (1/sqrt 6 + sqrt 6)
15:41:55 <lambdabot> 4.45393084813853
15:42:19 <b_jonas> Jafet: the oeis entry links to http://chesswanks.com/txt/BigDualPalindromes.txt
15:42:30 <oerjan> fancy
15:43:01 <b_jonas> maybe check the other links too
15:43:05 <b_jonas> from http://oeis.org/A060792
15:43:42 <J_Arcane_> http://clientsfromhell.net/post/105178230478/nightmare-fuel-for-designers
15:44:33 <oerjan> argh .txt without line wrap
15:46:39 <oerjan> int-e: i wonder if the fact 10 and 16 have a common prime factor matters there
15:47:08 <oerjan> although given how well my calculation yesterday matched, perhaps not
15:47:19 <b_jonas> oerjan: it does make things worse
15:47:40 <b_jonas> oerjan: http://chesswanks.com/txt/BigDualPalindromes.txt explains how it helps that the last digits of base 2 constrain the middle digits of base 3
15:48:00 <b_jonas> because only the middle digit of a base 3 palindrome can change it modulo 2
15:48:06 <b_jonas> etc
15:48:12 <oerjan> b_jonas: um i wasn't really asking for tdlr
15:48:35 <oerjan> *tldr
15:48:45 <oerjan> (see: today's xkcd)
15:49:02 <b_jonas> oh!
15:49:07 <b_jonas> there's actually more stuff it tells
15:49:12 <b_jonas> basically I'm talking nonsense
15:49:17 <oerjan> good, good
15:50:13 <b_jonas> oh, tricky
15:50:49 -!- zzo38 has quit (Remote host closed the connection).
15:51:11 <int-e> oerjan: So Many Fucking Words. Clearly this is an OOTS reference. *ducks*
15:52:19 <int-e> Now to find an interpretation that turns the caption into a proper sentence...
15:52:28 <oerjan> b_jonas: btw my investigations of the mcculloch machine seem to resolve into about 64 mutually dependent cases, each parametrized by up to 6 numbers
15:52:50 <b_jonas> oerjan: wow
15:52:53 <oerjan> might need a program to do the algebra
15:53:08 <b_jonas> oerjan: if you get something useful, will you write some notes somewhere?
15:53:12 <int-e> See Me Fumble With an acronym [that] almost makes sense.
15:53:18 <oerjan> b_jonas: presumably
15:53:20 <b_jonas> thanks
15:53:46 <b_jonas> I'll definitely be interested, and others (zzo38 maybe) might be too
15:55:18 <b_jonas> hehe, "could easily be generalized to find dual palindromes in ... binary and *balanced* ternary"
15:56:03 <int-e> and hehe, http://www.urbandictionary.com/define.php?term=SMFW
15:56:10 <int-e> 2011.
15:56:29 <b_jonas> and that writeup is from 2014-01
15:57:44 <int-e> the basice principles seem applicable to any pair of bases, really.
16:00:01 <elliott> oerjan: is water turing complete? asking for a friend
16:00:43 <int-e> what is water?
16:00:46 <b_jonas> elliott: depends on how you define it
16:00:50 <int-e> rumor has it we evolved in the ocean
16:00:51 <coppro> int-e: dude, how are you alive
16:00:59 <elliott> int-e: we just don't know
16:01:04 <int-e> coppro: You misunderstood.
16:01:12 <b_jonas> maybe it's only PSPACE-complete
16:01:22 <b_jonas> but maybe it has much less power than that
16:01:32 <elliott> water is very powerful and I live in fear of it every day
16:01:35 -!- oren has joined.
16:01:40 <int-e> coppro: "water" could mean "pure H2O", but it could also mean the stuff that's in the rivers and in the seas.
16:02:13 <b_jonas> int-e: yeah, except in Ankh, which is a river but certainly not water
16:02:33 <elliott> int-e: whichever you are most scared of.
16:02:53 <elliott> this is not a trick question and i am just trying to know the computational class of water please.
16:03:06 <b_jonas> elliott: then it's PSPACE-complete
16:03:12 <elliott> thankyou
16:03:20 <b_jonas> but not very efficient, transistors work much better
16:04:06 <elliott> are birds turing complete
16:04:19 <oerjan> elliott: i think terry tao may be working on that problem hth
16:05:45 <oerjan> (for a certain definition of water equivalent to "ideal fluid")
16:05:48 <elliott> what if they're really big birds
16:05:59 <oerjan> oh birds
16:06:18 <oerjan> elliott: i hear the X bird is turing complete hth
16:06:33 <int-e> does it run Twitter?
16:06:52 <elliott> "Coq: The world’s best macro assembler?" some questions exist just to be posed
16:06:53 <b_jonas> elliott: birds are certainly at least turing complete. they were used for divination afterall.
16:06:55 <int-e> (Err, does Twitter run on the X bird? Or on Combinatory Logic, at least?)
16:07:09 <int-e> @quote assembler
16:07:09 <lambdabot> dons says: that's 3 things i've never seen in the one sentence before: my assembler .. a bunch of type classes .. a natural syntax
16:07:24 <b_jonas> elliott: see also the Mockingbird book of Smullyan
16:07:32 <b_jonas> which also tells that birds are Turing-complete
16:07:35 <elliott> b_jonas: okay but how loudly do they chirp
16:07:50 <elliott> I want a quiet and obedient bird computer to do my taxes
16:07:52 <int-e> b_jonas is mocking birds...
16:07:58 <b_jonas> fungot: how loud do mockingbirds chirps?
16:07:58 <fungot> b_jonas: yes but how do you suggest? i like it
16:08:17 <b_jonas> fungot: elliot suggests a quiet and obedient bird computer to do his taxes. can he get one?
16:08:17 <fungot> b_jonas: ( define foo ( lambda ( k)
16:08:25 <elliott> coq macro assembler is like mustard watch
16:08:37 <b_jonas> elliott: I'm affraid large computing power isn't enough to do your taxes
16:08:53 <elliott> fungot is suggesting I do my taxes in lisp I think
16:08:53 <fungot> elliott: because you are not alone:
16:09:02 <elliott> well, scheme
16:09:18 <b_jonas> that has unbalanced parenthesis
16:09:55 <oerjan> afk
16:10:16 <elliott> Having run
16:10:16 <elliott> coqc over this file we can then run a trivial hex-to-binary tool to
16:10:16 <elliott> produce an executable:
16:10:16 <elliott> >coqc winfact.v >winfact.hex
16:10:16 <elliott> >hexbin winfact.hex winfact.exe
16:10:18 <elliott> >winfact
16:10:20 <elliott> Factorial of 10 is 3628800
16:10:23 <elliott> Factorial of 12 is 479001600
16:10:25 <elliott> all my build processes involve hexadecimal->raw conversion
16:12:37 <int-e> WHY?!
16:12:54 -!- glguy_ has joined.
16:12:59 -!- glguy_ has quit (Remote host closed the connection).
16:13:16 <elliott> because coq is the world's best macro assembler!
16:13:27 <elliott> to be fair this paper is probably doing cool things, it's just also ridiculous
16:13:50 <int-e> why can't they produce binary output?
16:14:30 <elliott> because you can't really write coq programs
16:14:34 <elliott> the result there is like typing something into ghci
16:14:38 <elliott> and getting a Show result back
16:14:59 <elliott> (with "Compute ... .")
16:15:30 <elliott> basically the UI model for coq is interactive proof assistant use (it would be kind of unusable for writing proofs if it wasn't interactive), and files are just workspaces containing a bunch of commands
16:16:38 <oren> ohh, like Matlab
16:16:53 <oren> i like that
16:17:10 <oren> that is the only thing i like about matlab
16:27:44 -!- adu has joined.
16:35:20 -!- nortti has changed nick to lawspeaker.
16:36:06 -!- lawspeaker has changed nick to nortti.
16:44:37 -!- adu has quit (Quit: adu).
16:46:01 -!- oren has quit (Quit: leaving).
16:53:56 -!- glguy has joined.
16:58:13 -!- ais523 has joined.
17:04:39 -!- digitalc1ld has changed nick to digitalcold.
17:06:39 -!- mihow has joined.
17:10:29 <ais523> ooh, I just got some spam from some spammers
17:10:49 <ais523> who outright said they were spammers, and offered to send out 5 million spam emails on my behalf for $999
17:10:56 <ais523> interesting marketing strategy, I guess it makes a lot of sense
17:11:10 <ais523> that price seems pretty expensive to me, but I don't know much about spam
17:12:10 -!- bb010g has quit (Quit: Connection closed for inactivity).
17:12:51 <b_jonas> ais523: apparently some companies advertise that they're hiring to some sort of it position (maybe web developer) in messages hidden as non-text in webpages
17:13:11 <b_jonas> such as in messages to the javascript console
17:13:16 <b_jonas> or so I hear
17:13:24 <ais523> it wouldn't surprise me, there are a lot of companies
17:13:51 <ais523> plot twist: the company didn't think it was hiring, but the existing web developer is sick of their position and wants to hire a replacement
17:14:40 <int-e> plot twist: company is not interested in hiring javascript developers and people who've never heard of noscript.
17:15:36 <b_jonas> ais523: I was considering a similar plot twist: the company is hiring, so the web developer puts a slightly hidden message that they're hiring, and a more hidden message warning that they put that previous message there because their boss asked, but they don't recommend that company because it's terrible working there.
17:16:59 <int-e> followed by a comment from the boss that there are now two more positions available than originally planned
17:19:40 <J_Arcane_> fuck math
17:19:48 <glguy> Is that a new branch of math?
17:22:23 -!- oerjan has quit (Quit: Later).
17:22:48 <J_Arcane_> it's my expression every time I descend the rabbit hole that is reimplementing most math functions ...
17:23:23 <glguy> Which rabbit hole are you in today?
17:23:43 <J_Arcane_> I decided to take another stab at either atan or log.
17:24:02 <ais523> J_Arcane_: I implemented an integer-arithmetic log semi-recently
17:24:06 <J_Arcane_> Or rather, I think I started with atan, and found a proof for solving it that needed log ...
17:24:16 <ais523> as part of removing all floating-point arithmetic from save-affecting parts of NH4
17:27:09 -!- adu has joined.
17:28:23 <b_jonas> ais523: there's floating point arithmetic in nethack?
17:28:25 <J_Arcane_> part of my goal with Heresy was to implement as much as I can myself instead of calling out to Racket.
17:28:32 <b_jonas> ais523: there is only very little I hope
17:28:38 <b_jonas> like, you know, in TeX
17:28:42 <ais523> b_jonas: there was some in the scoring system a while back
17:28:50 <ais523> nowadays, it's only used for display purposes
17:29:02 <ais523> if you see a percentage shown in a message box, that may have been calculated with float arithmetic
17:29:12 <ais523> but anything gameplay-affecting is integer arithmetic
17:29:24 <b_jonas> I'm not really worried about it though because if you only use basic floating point arithmetic (including square root, but excluding exponentials and logarithms and trig) it mostly works as perfect IEEE floats anyway these days
17:29:50 <ais523> b_jonas: it doesn't, and the reason is that different processors have different rounding rules, and different OSes can have different default FPU control words
17:29:51 <b_jonas> though... with many settings compilers still have the choice to optimize certain chained operations to higher precision,
17:30:00 <J_Arcane_> I did manage to get sin and cos in a kinda cheaty way thanks to Racket's built-in support for complex numbers.
17:30:05 <b_jonas> ais523: ok
17:30:56 <b_jonas> ais523: so it's never used to determine the outcome of random events?
17:31:13 <ais523> b_jonas: float arithmetic? no, I'm not crazy
17:31:20 <b_jonas> hey wait, isn't #nethack4 supposed to go off topic when we're talking about nethack here?
17:31:35 <b_jonas> ais523: I'm not thinking you'd add such a thing, only that you'd inherit it from the devteam
17:31:39 <ais523> we can have two different ontopic discussions about NetHack in two different channels!
17:31:52 <ais523> b_jonas: you can expect no floating point in devteam NetHack
17:31:59 <ais523> because it probably runs on systems with no FPU and no FPU emulation
17:32:26 <elliott> so what happened with that leaked version
17:32:44 <ais523> it's still happening, believe it or not
17:33:03 <ais523> the devteam are apparently making some sort of crazy complex new git-based infrastructure, but haven't told us the details
17:33:12 <ais523> it's being slowed down by the fact that they all have to learn git
17:33:13 <elliott> wow, so this actually spurred them into action?
17:33:16 <elliott> haha
17:33:41 <b_jonas> ais523: I thought even old systems always had at least software fp emulation, though it might not be able to use it in nethack because it costs some ram
17:33:53 <elliott> is nethack 4 still incredibly purple
17:34:09 <ais523> "incredibly purple"?
17:34:20 <ais523> b_jonas: software FPU emulation is a compiler feature
17:34:27 <ais523> most compilers of the era had it, but possibly not all of them
17:34:35 <b_jonas> elliott: (devteam is making something they're not telling us about) isn't (spurred to action) nor is any real change from what we've seen in the last 10 years
17:34:51 <elliott> well, ok
17:34:57 <b_jonas> ais523: yes, and most C compilers had it simply because floating point is built into C and used very often
17:35:00 <elliott> ais523: the UI
17:35:05 <elliott> also does it still have that dorky logo
17:35:05 <ais523> right, the main change is that instead of working on NetHack with no public details, they're now working on something else with no public details
17:35:18 <ais523> elliott: oh right, the borders of menus are still purple
17:35:23 <ais523> and yes, it still has the ASCII art logo
17:35:32 <elliott> is it still full of horrible daniel_tisms
17:35:34 <b_jonas> (obviously some compilers don't have it because hardware or kernel floating point is always available on the system they're compiling for)
17:35:48 <J_Arcane_> There are formulas for sin and cos in terms of i, so taking advantage of racket number support turned them into one liners, basically
17:36:14 <elliott> doesn't racket have sin/cos
17:36:44 <ais523> elliott: it's getting less full of daniel_tisms over time, but slowly
17:36:58 <elliott> is it playable with 80x24 yet
17:37:40 <ais523> yes
17:38:04 <ais523> you might need to mess with some options; if you're playing only in 80x24, you can turn off menu borders and make them page by pages
17:38:08 <ais523> then it looks a lot more like vanilla
17:38:15 -!- drdanmaku has joined.
17:38:36 <J_Arcane_> elliott: yes, but it was an interesting exercise anyway. I'll probably wind up refactoring later and just making them all macros to the Racket versions; I trust their code better. But it was interesting to write.
17:39:07 <elliott> does it have #tip or whatever it was
17:39:25 <elliott> oh hey also how did that sokoban generating go
17:39:27 <ais523> no, it doesn't have #tip
17:39:41 <ais523> and the sokoban generator has actually made a lot of progress, it can generate parts of puzzles but not complete puzzles
17:39:45 <ais523> (close to finished, just not finished)
17:39:49 <ais523> and it isn't hooked up to NetHack yet
17:39:50 <ais523> it's just standalone
17:40:07 <b_jonas> I hope you won't put it in nethack because then I won't be able to solve sokoban
17:40:14 <b_jonas> unless you also put in a sokoban solver to autoexplore
17:40:34 <b_jonas> which you should by the way because not having one is interface screw which nh4 is supposed to avoid
17:40:38 <ais523> b_jonas: this is getting into dungeon redesign contest, and I think we decided not to discuss that until it happened so that we don't bias each other's submissions
17:40:38 <b_jonas> (I have a ticket)
17:40:45 <ais523> however, I think I might have a solution that keeps everyone happy
17:41:00 <ais523> also, Sokoban is one of the hardest branches for bots to play
17:42:28 <elliott> b_jonas: this is why nethack is ridiculous
17:42:36 -!- cluid has joined.
17:42:43 <elliott> if you want to be able to solve sokoban without playing sokoban why even have the sokoban part
17:42:53 <elliott> I mean I htink sokoban in roguelikes is kind of awful but :p
17:59:28 <cluid> hello
18:01:48 <elliott> *think
18:01:53 -!- callforjudgement has joined.
18:02:06 -!- ais523 has quit (Remote host closed the connection).
18:02:12 -!- callforjudgement has changed nick to ais523.
18:11:56 -!- oren has joined.
18:12:12 -!- oren has changed nick to |oren\.
18:18:38 <|oren\> aet your terminal to fracktur
18:20:01 <cluid> lol
18:23:13 <|oren\> wait is it even possible to do that?
18:23:46 <|oren\> i have LaTeX installed but I don't see fractur in my font list
18:24:41 -!- MoALTz has joined.
18:26:14 <int-e> Oh, this is a horrible idea.
18:27:20 <int-e> http://int-e.eu/~bf3/tmp/eufm10.png
18:28:34 <|oren\> Oh! so that is it... hmm, doesn't seem like it has all the chars
18:31:08 <|oren\> Aha, i found a similar one that does: http://snag.gy/6iaf9.jpg Sanafon-Kazari
18:33:41 <|oren\> Really i like all the fonts in the Sanafon series
18:34:13 <|oren\> but this one is pleasingly medieval
18:37:24 -!- Sprocklem has quit (Quit: got to go).
18:42:06 <|oren\> https://fabrizioschiavi.wordpress.com/tag/monospaced-font/ <-- there is this but it isn't free
18:49:45 -!- callforjudgement has joined.
18:52:45 <b_jonas> wait, let me repeat my question
18:52:50 <b_jonas> from some days before
18:52:53 -!- ais523 has quit (Ping timeout: 260 seconds).
18:54:02 <b_jonas> if I NFC resp NFD normalize a unicode string, at most how many times its length can it grow, measured in utf-16 code points?
18:54:07 -!- callforjudgement has changed nick to ais523.
18:55:34 <|oren\> i'm not sure. what is the maximum number of diacritics for which a combined glyph esixts?
18:56:17 <|oren\> i found a real typewriter fractur: http://snag.gy/RVLmG.jpg
19:06:24 <|oren\> Hold on: do Hangeul decompose into the letter?
19:06:41 -!- mihow has quit (Quit: mihow).
19:07:53 -!- mihow has joined.
19:09:13 <int-e> |oren\: so what font is that?
19:09:29 <|oren\> http://www.dafont.com/f25-blacklettertypewriter.font
19:09:38 <|oren\> in bold
19:11:08 <|oren\> I am looking through the http://www.unicode.org/charts/normalization/ charts and so far 3 is the maximum for LAitn
19:11:14 <|oren\> *Latin
19:14:04 <|oren\> Hangeul also only decompose into 3 code points at maximum apparently
19:15:12 <|oren\> For NFD that is. for KC or KD you can have ㌙ and crap
19:16:45 <|oren\> which decomposes into 5 or 6 code points
19:18:18 <|oren\> 𝅘𝅥𝅲 decomposes under NFD into 3 code points, each outside the bMP so each being two 16 bit codes
19:19:21 <|oren\> looks like my copypasting it decomposed it. it is char 1D164
19:21:15 <|oren\> so under NFD it appears the maximum is an X3 size increase
19:24:18 <|oren\> Under NFKD the maximum i've found is 7 ㈝
19:25:59 <|oren\> Does that answer it b_jonas?
19:27:21 <int-e> \emph{metasepia knows the weather at your nearest airport, and also something
19:27:25 <int-e> about ducks.}
19:27:25 <int-e> hmm.
19:27:47 <int-e> it had a duckduckgo interface, right?
19:27:49 -!- callforjudgement has joined.
19:27:55 <|oren\> Wat. HOLY SHIT: ﷺ <--that decomposes into 18 code points
19:29:56 <int-e> |oren\: it's a pity that the F25 font uses {} for ck and st.
19:30:40 <|oren\> yah. a pity...
19:30:48 -!- ais523 has quit (Ping timeout: 258 seconds).
19:30:52 -!- callforjudgement has changed nick to ais523.
19:31:15 <|oren\> `unicode ﷺ
19:31:37 <|oren\> is that the command?
19:31:45 <HackEgo> U+FDFA ARABIC LIGATURE SALLALLAHOU ALAYHE WASALLAM \ UTF-8: ef b7 ba UTF-16BE: fdfa Decimal: &#65018; \ ﷺ \ Category: Lo (Letter, Other) \ Bidi: AL (Right-to-Left Arabic) \ Decomposition: <isolated> 0635 0644 0649 0020 0627 0644 0644 0647 0020 0639 0644 064A 0647 0020 0648 0633 0644 0645
19:32:05 <|oren\> SEE? 18 friggin' code points
19:33:06 <int-e> arabic is why they've stopped adding ligatures to Unicode, isn't it?
19:33:29 <|oren\> yah probably
19:34:45 <|oren\> There is this one that should decompose but doesn't
19:35:09 <|oren\> `unicode ﷽
19:35:23 <HackEgo> U+FDFD ARABIC LIGATURE BISMILLAH AR-RAHMAN AR-RAHEEM \ UTF-8: ef b7 bd UTF-16BE: fdfd Decimal: &#65021; \ ﷽ \ Category: So (Symbol, Other) \ Bidi: ON (Other Neutrals)
19:36:04 <|oren\> they probably just decided to stop adding decomposable ligatures
19:38:20 <|oren\> It is also a good thing they never thought to decompose Han characters into radicals.
19:39:07 -!- shikhin has quit (Ping timeout: 250 seconds).
19:39:08 -!- nycs has joined.
19:41:10 -!- `^_^v has quit (Ping timeout: 272 seconds).
20:07:06 -!- Sprocklem has joined.
20:07:39 -!- Patashu has joined.
20:11:37 <b_jonas> |oren\: mostly, though I don't know whether it's enough to count decompositions of single characters, I don't know if there are composed characters that decompose to uglier stuff,
20:11:46 <b_jonas> though most likely single characters give the maximum expansion
20:12:06 <ais523> hmm, |oren\'s nick is making me wonder if it's possible to have a useful Ruby lambda expression as an IRC nick
20:12:25 <b_jonas> |oren\: and I'd also like to know how much NFC can expand, which might be less than how much NFD can
20:13:33 <b_jonas> and I'm specificially asking not about latin nor even about meaningful strings, but more about how much some deliberately meaningless strings that people enter just to make my program choke can expand
20:13:48 <b_jonas> of course if I write the program I'll hopefully add hard limits, but still, I wonder
20:14:18 <b_jonas> the kind of reasonable strings I work with will likely not expand much
20:22:58 -!- nys has joined.
20:25:42 -!- dts|pokeball has quit (Quit: is a client command Fabtasticwill).
20:25:44 -!- Patashu has quit (Ping timeout: 244 seconds).
20:26:45 -!- dts|pokeball has joined.
20:28:48 -!- atslash has joined.
20:31:13 -!- quintopia has quit (*.net *.split).
20:31:13 -!- SirCmpwn has quit (*.net *.split).
20:32:22 -!- quintopia has joined.
20:32:24 -!- SirCmpwn has joined.
20:35:01 -!- ais523 has quit.
20:35:13 -!- ais523 has joined.
21:02:21 -!- esowiki has joined.
21:02:25 -!- esowiki has joined.
21:02:25 -!- esowiki has joined.
21:02:58 -!- esowiki has joined.
21:02:59 -!- glogbot has joined.
21:03:03 -!- esowiki has joined.
21:03:03 -!- esowiki has joined.
21:03:20 -!- nys has quit (Ping timeout: 245 seconds).
21:03:20 -!- nycs has quit (Ping timeout: 245 seconds).
21:03:37 -!- puppy has changed nick to nys.
21:04:35 -!- myname has quit (Ping timeout: 245 seconds).
21:05:22 -!- myname has joined.
21:08:11 -!- Gregor has joined.
21:09:41 <|oren\> ITS HAPPENING AGAIN
21:16:58 <|oren\> oh i guess it's over. Why does it do that?
21:17:58 <ais523> netsplit
21:18:43 <|oren\> how come i never get affected?
21:19:55 <ais523> you might have been, a netsplit is when IRC falls into two separate halves
21:20:01 <ais523> you see everyone in the other half leaving your half
21:20:08 <ais523> looks like you were on the large side this time
21:20:15 <ais523> when you're on the small side, it looks a lot more dramatic
21:20:18 <|oren\> oh i see...
21:20:22 <ais523> but it still looks like it's happening to everyone else, rather than you
21:24:41 <elliott> all I got was
21:24:42 <elliott> 20:30:08 -!- Netsplit *.net <-> *.split quits: SirCmpwn, quintopia
21:24:42 <elliott> 20:31:17 -!- Netsplit over, joins: quintopia, SirCmpwn
21:24:49 <elliott> and a bunch of random ping timeouts and joins that I guess were maybe related?
21:25:35 -!- AndoDaan has joined.
21:41:16 -!- `^_^v has joined.
22:03:18 -!- dts|pokeball has quit (Quit: Leaving).
22:03:40 -!- dts|pokeball has joined.
22:05:35 -!- clog has joined.
22:24:50 -!- Sprocklem has quit (Ping timeout: 255 seconds).
22:26:43 -!- CrazyM4n has joined.
22:30:29 -!- MoALTz has quit (Quit: Leaving).
22:31:53 -!- oerjan has joined.
22:39:28 -!- Sgeo has quit (Quit: No Ping reply in 180 seconds.).
22:39:58 -!- Sgeo has joined.
22:40:04 -!- dts|pokeball has changed nick to dts.
22:43:32 -!- AndoDaan has quit (Quit: bbl).
22:47:58 -!- GeekDude has quit (Ping timeout: 245 seconds).
22:49:00 -!- GeekDude has joined.
23:02:26 -!- idris-bot has quit (Quit: Terminated).
23:02:44 -!- idris-bot has joined.
23:04:02 -!- adu has quit (Quit: adu).
23:10:53 -!- Sgeo has quit (Quit: No Ping reply in 180 seconds.).
23:11:21 -!- Sgeo has joined.
23:11:52 -!- boily has joined.
23:12:51 <|oren\> Eureka! everything is an array!
23:13:48 <oerjan> |oren\: but is it as dense as gold?
23:14:25 <|oren\> using () for subscripts, I(0)+I(1) would make sense
23:15:58 <|oren\> of course! what was i thinking, a language called csrip7 should have sub/superscripts.
23:16:11 <oerjan> a BASIC observation
23:16:29 <oerjan> good, good
23:17:55 <boily> he||oren.
23:17:58 <boily> hellørjan.
23:20:51 <boily> byerjan.
23:20:58 <boily> orenvoir.
23:21:07 -!- boily has quit (Quit: FISSILE CHICKEN).
23:25:06 <cluid> any cool esolangs
23:25:25 <`^_^v> no :(
23:25:31 <CrazyM4n> none of them are cool
23:25:32 <CrazyM4n> sorry
23:25:47 <cluid> :(
23:26:22 <|oren\> lololol treehugger is cool? it's cool how its address space is more infinite than the integers.
23:26:47 -!- dts has changed nick to BillsPC.
23:26:56 <cluid> thanks :)
23:26:58 <oerjan> i'm sorry but it's still countable hth
23:27:05 <CrazyM4n> cluid: Befunge is my favorite
23:27:06 <|oren\> it is?
23:27:50 <|oren\> oh i see, you number them in ternary with ^>< as gitis
23:27:53 <cluid> ill haev a look at befunge
23:27:54 <|oren\> *digits
23:29:18 -!- Phantom_Hoover has joined.
23:29:38 <|oren\> are there any esolangs with uncountable memory space?
23:29:43 -!- BillsPC has changed nick to dts|pokeball.
23:29:49 <oerjan> maybe Gravity counts
23:30:21 <shachaf> oerjan: |oren\ asked for something uncountable hth
23:30:51 <oerjan> it's rather hard to get to an arbitrary address in an uncountable space using finite commands
23:31:15 <shachaf> well offering things that count certainly isn't going to help
23:31:31 <oerjan> just because it counts doesn't mean it can be counted
23:32:02 <|oren\> blah what?
23:32:26 <oerjan> |oren\: shachaf is trying to tempt me with puns hth
23:32:44 <shachaf> i really thought i had a shot there
23:33:02 <oerjan> shachaf: you were close.
23:33:27 <|oren\> I am still using a blackletter font in my terminal
23:33:42 <|oren\> i am getting used to it
23:34:52 <|oren\> Oh, how about if you have a tree of countably infinite branching rate?
23:35:45 <|oren\> E.g. a version of Treehugger where <N> is a command for arbitrary N.
23:36:13 <cluid> |oren\, if you look at the brainfuck algorithms page there is an emergent language there: brainfuck with 'varibales'
23:37:15 -!- `^_^v has quit (Quit: This computer has gone to sleep).
23:39:13 <elliott> a brainfuck with real tape indices would be fun
23:41:13 <CrazyM4n> BF with a real tape
23:41:26 <CrazyM4n> That would be great
23:41:31 <oerjan> |oren\: blackletter? i thought you were using that heart thing? or am i confusing you with someone else.
23:41:38 <elliott> or how about BF with the tape representing one real
23:41:45 <elliott> in normal BF only a finite subset of the tape is ever non-zero
23:41:54 <elliott> so you'd have to come up with operations that work on the entire tape
23:42:13 <|oren\> oerjan: i was using cursive with cute hearts now I'm using blackletter
23:42:37 <elliott> (s.t. the possible tapes get the cardinality \Beth_1)
23:42:52 <oerjan> elliott: hm for that to be weird enough you'd need <> variants that multiplied by something other than a power of 2
23:43:04 <elliott> for which?
23:43:23 <elliott> you'd need to be able to do sufficiently fancy enough operations on the tape pointer for it to actually be a real, yes
23:43:32 <oerjan> although a real still doesn't give you infinite tape both ways
23:43:40 <elliott> (I suppose it's pretty much inevitably a subset of the reals because most of them are indescribeable)
23:43:59 <elliott> (unless you had a command to set the tape pointer to something uniformly random in [0,1) >:) )
23:44:28 <elliott> it would be cool if the tape was continuous
23:44:39 <elliott> like instead of a value being at exactly one real index it sort of diffused throughout an interval
23:45:38 <elliott> like you could have a value 128.4 at 1 that would decay with the inverse square law at indices above/below that. and so values in different but close positions would interfere with each other. or something
23:45:45 <elliott> where's my nobel prize
23:46:08 -!- ZombieAlive has quit (Remote host closed the connection).
23:46:50 <oerjan> elliott: this sounds familiar.
23:47:23 <oerjan> i think there is such a bf derivative already
23:47:26 <elliott> yeah
23:47:33 <elliott> that is because all bf derivatives exist
23:47:45 <elliott> it's just a matter of uniquely identifying which one you're referring to
23:47:51 <|oren\> it is the esolang version of rule 34
23:47:51 <elliott> thanks, plato
23:48:01 <oerjan> i mean one that has been discussed in channel, although not necessarily put on the wiki
23:48:17 <elliott> yes, I agree
23:48:26 <elliott> it's one of those things where I think I'm inventing but am probably actually just remembering
23:50:47 <int-e> mwhaha http://int-e.eu/~bf3/tmp/fmono.png
23:51:25 <|oren\> fmono?
23:52:24 <oerjan> int-e: you know i think monospace blackletter is like epic missing of the point
23:53:16 <int-e> I did something slightly crazy. I started with UnifrakturMaguntia, and fontforge, and produced http://int-e.eu/~bf3/tmp/UnifrakturMonospace.ttf in a process that will make every font designer weep :P
23:53:53 <int-e> (basically reducing the width of capital letters by 60%, except for M and W which were reduced by 50%, plus minor adjustments throughout.)
23:54:06 -!- oerjan has set topic: The font of madness | https://dl.dropboxusercontent.com/u/2023808/wisdom.pdf http://codu.org/logs/_esoteric/ http://tunes.org/~nef/logs/esoteric/.
23:54:45 <int-e> oerjan: yes, it's completely missing the point, which *may* be the reason why so few of those fonts actually exist ;-)
23:55:53 <CrazyM4n> int-e: is that irssi?
23:55:59 <oerjan> now get microsoft to support it as default
23:56:07 <int-e> CrazyM4n: that's emacs.
23:56:10 <cluid> Has anyone been able to write interesting programs in Treehugger?
23:56:18 <shachaf> `quote
23:56:21 <cluid> I would really like to see its potential used
23:56:25 <CrazyM4n> of course it's emacs
23:56:33 <HackEgo> 101) <oerjan> alise: mainly it's the fact it blows so hard i cannot avoid hitting the walls of the thing, which completely goes against my basic public toilet hygiene principles
23:56:36 <CrazyM4n> how could I be so naïve
23:57:32 <olsner> hmm, good quote, makes you simultaneously want and not want to know what it's about
23:57:49 <int-e> oerjan: that said I think that's actually an improvement over http://int-e.eu/~bf3/tmp/forig.png
23:58:01 <int-e> oerjan: and that was the point, more or less.
23:58:05 <oerjan> olsner: it's about the dyson airblade hth
23:58:28 <oerjan> which they had in my once favorite restaurant
23:58:52 <olsner> I see
23:59:03 <|oren\> Ok, so i'll configure my terminal somehow to switch between equally insane fonts at random intervals
23:59:47 <int-e> CrazyM4n: fwiw, if I were actually using emacs in a terminal, the cyan foreground color would be different.
23:59:54 <cluid> Has anyone had any IDEAS for it?
←2014-12-14 2014-12-15 2014-12-16→ ↑2014 ↑all