←2014-11-15 2014-11-16 2014-11-17→ ↑2014 ↑all
00:00:51 <b_jonas> why ever are they doing that?
00:00:51 <elliott> DNSSEC is nice because instead of relying on four billion master keys, any of which could be compromised by a government, it relies on one master key, which ... well, you can complete the joke
00:01:01 <elliott> (okay, plus one master key per tld)
00:01:07 <b_jonas> I mean, I like chef, it's a good esolang, but still
00:01:30 <quintopia> because it's simple enough for a beginner to pick up
00:01:34 <quintopia> i guess
00:01:45 <quintopia> and it gives them a chance to show some creativity
00:02:44 <elliott> fizzie: you should maybe advertise this somewhere so people can test that it works fine for them
00:03:13 <elliott> I suppose I should change my wiki password
00:03:28 <int-e> not_swordfish
00:03:32 <fizzie> elliott: I might do DANE, since AIUI it doesn't need any changes to the certificate. And it'd theoretically stop $SHADY_GOVERNMENT_SUBORNED_CA from issuing fraudulent esolangs.org certificates.
00:03:43 <fizzie> Huh, irssi has DANE support? Bizarre.
00:03:55 <elliott> fizzie: pretty sure the org. and . keys can still own you?
00:05:08 <int-e> What's the root of trust for DNSSEC?
00:06:31 <elliott> int-e: a key to sign the root zone
00:06:33 <fizzie> elliott: Sure, but maybe it could hypothetically stop someone who just has one single CA browser-trusted CA in their pocket, but no feasible way of faking DNS.
00:06:43 <elliott> int-e: haven't you seen the articles about their fancy international key-signing rituals
00:06:58 <elliott> http://www.theguardian.com/technology/2014/feb/28/seven-people-keys-worldwide-internet-security-web
00:07:04 <elliott> it's pretty funny
00:07:18 <elliott> fizzie: okay, that's not a state actor, though :p
00:08:53 <int-e> arguably if org. does it, they'd be issuing *real* esolang.org certificates, not fake ones.
00:12:44 -!- oerjan has joined.
00:14:24 -!- qwertyo has joined.
00:24:43 -!- myndzi has quit (Ping timeout: 255 seconds).
00:27:02 <elliott> fizzie: so how long until esolangscorewwwi.onion
00:28:06 -!- NotJoel has left.
00:29:11 -!- not^v has joined.
00:29:19 -!- not^v has quit (Read error: Connection reset by peer).
00:29:33 <int-e> elliott: that's a nice article indeed. funny how old-fashioned some of the measures are
00:29:52 <int-e> "a photograph of themselves with that day's newspaper and their key, to verify that all is well." -- haven't those people heard of Photoshop?
00:30:08 -!- ^v has quit (Ping timeout: 258 seconds).
00:30:09 <elliott> I think it's just 90% theatre.
00:30:20 <elliott> people want ICANN to look like they're taking it very seriously and being impartial
00:30:42 <int-e> it's ok.
00:30:56 <int-e> at least this show doesn't hurt anybody
00:30:57 <elliott> especially with the general dislike of them being a US-based organisation
00:31:51 -!- Phantom_Hoover has quit (Remote host closed the connection).
00:32:14 <int-e> So where are those safety deposit boxes located?
00:32:27 <int-e> (I'm not quite through yet)
00:32:51 <elliott> the international space station
00:33:22 <elliott> ("In a nondescript industrial estate in El Segundo, a boxy suburb in south-west Los Angeles just a mile or two from LAX international airport, 20 people wait in a windowless canteen for a ceremony to begin.")
00:39:27 <int-e> So the smartcards are all on site. Is that enough to sign a key? :)
00:40:11 <elliott> I think if you can break in and steal the smartcards you win, yeah.
00:40:34 <elliott> why not just rob fort knox, though?
00:40:57 <elliott> I like http://static.guim.co.uk/sys-images/Guardian/Pix/pictures/2014/2/26/1393417295297/The-Icann-office-with-a-l-009.jpg. very high tech.
00:51:14 -!- boily has joined.
00:56:06 <oerjan> is it shinh.org or my web which is stupidly slow now
00:56:20 <vanila> ih oerjan
00:56:46 <oerjan> something intermittent
00:56:52 <oerjan> hi vanila
00:57:20 <vanila> do you think delay is essential in unlambda?
00:57:35 <oerjan> int-e: at least i'm not the only one who cannot see htf you get 53 bytes on that A057755
00:57:52 <oerjan> vanila: you don't need it to program, no
00:57:57 <oerjan> but it's often convenient.
00:58:07 <vanila> i hate it :(
00:58:10 <vanila> its too hard to implement
00:58:21 <int-e> phew. lucky I had that spare ssh connection ... after an upgrade new logins failed thanks to the loginuid PAM module.
00:58:52 <oerjan> vanila: c is much harder, and is also harder to avoid (although you _can_ do that too, i believe)
00:59:22 <int-e> oerjan: I didn't need to do anything special, all effort went into producing a faster-than-0.3-seconds solution.
00:59:44 <oerjan> vanila: also i don't think d is that hard, but the simplest way of implementing it does require you to be able to compare functions to it
01:00:17 <vanila> oerjan, I implemnted c using CPS tranform
01:00:40 <vanila> http://lpaste.net/114355
01:00:48 <oerjan> int-e: well i have 2 alternative methods that are obviously faster, but i cannot get them to be as short as 53 bytes. i have one that is 53 bytes and prints in reverse :P
01:01:20 <oerjan> vanila: if you want to see how to implement d as a pure function, see my ocaml "compiler"
01:01:22 <int-e> oerjan: fanzy.
01:01:25 <int-e> fancy
01:01:31 <vanila> thanks!
01:01:55 <int-e> "fanzy" is the fanzy way of spelling "fancy".
01:04:44 <oerjan> the variations that use floating point get ruined by the required ceiling :8
01:04:47 <oerjan> *:(
01:04:55 <int-e> same here
01:05:13 <int-e> the best lose 2 characters
01:05:18 <vanila> oerjan, your unlambda code is really nice looking
01:05:26 <vanila> did you write it by hand?
01:05:34 <vanila> i guess not
01:05:35 <oerjan> vanila: thanks i invented the indentation style myself, and yes
01:05:50 <vanila> wow!!
01:05:59 * int-e wonders what unlambda code vanila is referring to
01:06:06 <vanila> the self interpreter
01:06:16 <vanila> http://oerjan.nvg.org/esoteric/interpreter.unl
01:06:24 <oerjan> i believe the lambda expressions i expanded it from were given in the comments
01:07:10 <oerjan> lucky my website is working again, i have been seeing motd's from the server people that the user page server was down
01:07:35 <int-e> ah.
01:08:30 <oerjan> vanila: i think if you strip my interpreter of whitespace and comments, it's the shortest unlambda self interpreter out there, i don't think it would have been that if i used a generator
01:08:35 -!- qwertyo has quit (Ping timeout: 240 seconds).
01:08:55 <int-e> it's pretty much the obvious indentation style
01:08:56 <vanila> that's so cool :D
01:09:01 -!- qwertyo has joined.
01:10:03 * int-e used to use a lambda elimination tool for snippets (like ^v `^v `$F `$G $v `$H $v)
01:10:22 <int-e> but not for complete programs
01:10:49 <int-e> however I never wrote anything more exciting than quines in Unlambda.
01:10:53 <vanila> unlambda seems too long
01:10:56 <vanila> i prefer a minimal language
01:11:13 <vanila> too many weird operators
01:11:23 <elliott> lazy k?
01:11:25 <Bike> what's it's minimize
01:11:55 <int-e> vanila: its existence is justified by d(elay) and c(all/cc), which are mindbending to use in practice.
01:12:20 <int-e> OTOH, its I/O is quite awful.
01:12:29 <vanila> I suppose unlambda can't be lazy or you'd have to use monad for IO
01:12:33 <int-e> especially the I
01:12:35 <vanila> and that would get really stupid
01:12:44 <vanila> so d is kind of acceptable... but i don't like it...
01:12:57 <vanila> c is fine
01:12:58 <int-e> vanila: it's there to break you, not to be liked!
01:13:01 <vanila> v is pointless
01:13:06 <vanila> I dont like v at all
01:13:16 <int-e> v is amazing in conjunction with call/cc
01:13:33 <int-e> it can consume a continuation before it can be applied to anything else
01:13:37 <elliott> (I mean, lazy k is a language. but you probably know that)
01:13:56 <int-e> (yes, you can express it using s and k, but the same holds for i)
01:14:23 -!- AndoDaan_ has joined.
01:15:15 -!- AndoDaan has quit (Ping timeout: 240 seconds).
01:16:46 <oerjan> int-e: i used a lambda elimination tool for snippets too, but iirc it was mainly to check my hand elimination
01:17:06 <oerjan> (the ulify2.scm in the same directory)
01:17:10 <vanila> when I read about unlambda i learned that refcounting is effective for it
01:17:24 <vanila> because there is no cycles
01:17:28 <vanila> so I really like that
01:17:46 <int-e> vanila: yay for strict languages
01:18:16 <vanila> I want to write a compiler for lambda + some?? things for practice at writing compilres which can use ref counting for GC
01:22:54 <oerjan> int-e: the unlambda input system is obviously an attempt to force people to actually _use_ c when programming it. as i've mentioned before, i _think_ you can avoid it, but you'll essentially be CPS transforming instead.
01:23:58 <int-e> oerjan: that part (using i/v for booleans) is ok; what I dislike is the proliferation of ? and . operators, rather than splitting things up into bits.
01:24:12 <oerjan> right.
01:24:32 <oerjan> that meant i had to use an entire character table in the self interpreter
01:24:42 <int-e> right.
01:27:15 -!- qwertyo has quit (Ping timeout: 240 seconds).
01:28:00 -!- qwertyo has joined.
01:34:05 -!- Patashu has joined.
01:50:38 -!- qwertyo has quit (Ping timeout: 258 seconds).
01:51:28 -!- qwertyo has joined.
01:55:57 <oerjan> int-e: gah now i have a 53 byte solution that is slightly wrong on the last two numbers :(
02:01:12 <int-e> s/slightly // ;-)
02:01:47 <oerjan> slightly means that they're close to the right numbers.
02:01:57 <int-e> I know. But...
02:02:07 <int-e> that doesn't help you in any way.
02:02:19 <Bike> doesn't it, int-e? doesn't it
02:03:39 * int-e wonders what Bike is getting at.
02:08:01 -!- qwertyo has quit (Ping timeout: 264 seconds).
02:08:20 -!- qwertyo has joined.
02:09:18 <Taneb> Help, my wikipedia user page redirects to the High Middle Ages
02:09:32 <Taneb> And has done so since 2008
02:09:52 <oerjan> Taneb: you might check it out occasionally, you know.
02:10:36 <vanila> why isn't zzo here
02:10:52 <oerjan> `quote mystery
02:10:59 <HackEgo> 363) <oerjan> as i was filled with zzo38 mystery at the moment i saw <zzo38> quintopia: I am at Canada.
02:11:15 <elliott> he was last here on the 14th
02:12:45 <Sgeo> In an article about cocoa bean shortages: "R-6 was celebrated for its nutty and woody notes, with undertones of brown fruit and chocolate."
02:12:54 -!- olsner_ has changed nick to olsner.
02:13:08 <Sgeo> Chocolate (which apparently has different flavors?) can have undertones of chocolate?
02:13:10 <Sgeo> I am very confused
02:13:17 <Sgeo> http://www.bloomberg.com/news/2014-11-14/to-save-chocolate-scientists-develop-new-breeds-of-cacao.html
02:13:29 <vanila> scientist have saved choclate!
02:13:45 <int-e> science rocks
02:15:12 -!- shikhout has joined.
02:17:56 -!- adu has joined.
02:18:48 -!- shikhin has quit (Ping timeout: 264 seconds).
02:21:14 <oerjan> <elliott> I think it's memoised <-- no, absolutely not.
02:21:34 <oerjan> it would have been weirder if it did, i guess. but also less useful.
02:21:40 -!- adu has quit (Client Quit).
02:22:27 -!- qwertyo has quit (Ping timeout: 258 seconds).
02:23:14 -!- qwertyo has joined.
02:23:57 <oerjan> <vanila> there's more quines in unlambda than there are any other programs <-- that's because they held a competition.
02:24:27 <Dulnes> Back
02:26:09 <vanila> ah!
02:27:10 <oerjan> incidentally the shortest one isn't optimal, i discovered.
02:27:19 <int-e> http://www.madore.org/~david/programs/unlambda/#quine
02:28:22 <vanila> omg
02:28:25 <vanila> he gave away SICP for it
02:30:16 <oerjan> (it contains `kv which can be shortened to just v, also removing the corresponding part in the "string representation")
02:31:12 <int-e> `unlambda `.ai
02:31:12 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: unlambda: not found
02:31:34 <oerjan> `! unlambda `.ai
02:31:37 <HackEgo> a
02:31:51 <int-e> `cat bin/!
02:31:52 <HackEgo> ​#!/bin/sh \ CMD=`echo "$1" | cut -d' ' -f1` \ ARG=`echo "$1" | cut -d' ' -f2-` \ exec ibin/$CMD "$ARG"
02:32:13 <oerjan> int-e: it's the interface to all the stuff transplanted from EgoBot
02:32:24 <int-e> ah, ibin rather than bin
02:32:43 <int-e> `! unlambda `.i````ss``s`k`s.i``s`k`ki|``s``s|.```s``s|..``s``s|.i``s``s|.```s``s|.```s``s|.```s``s|.```s``s|.s``s``s|.s``s``s|.```s``s|.```s``s|.s``s``s|.```s``s|.k``s``s|.```s``s|.s``s``s|..``s``s|.i``s``s|.```s``s|.```s``s|.s``s``s|.```s``s|.k``s``s|.```s``s|.k``s``s|.i``s``s|.|i``s``s|.```s``s|.```s``s|.s``s``s|.```s``s|.```s``s|.s``s``s|.|``s``s|..
02:32:43 <HackEgo> ​./interps/unlambda/unlambda.bin: file /tmp/input.290: parse error
02:32:56 <int-e> `ls bini
02:32:57 <HackEgo> ls: cannot access bini: No such file or directory
02:33:02 <int-e> `ls ibin
02:33:03 <HackEgo> 1l \ 2l \ adjust \ asm \ axo \ bch \ befunge \ befunge98 \ bf \ bf16 \ bf32 \ bf8 \ bf_txtgen \ boolfuck \ c \ cintercal \ clcintercal \ cxx \ dimensifuck \ forth \ glass \ glypho \ haskell \ help \ java \ k \ kipple \ lambda \ lazyk \ linguine \ malbolge \ pbrain \ perl \ qbf \ rail \ rhotor \ sadol \ sceql \ sh \ trigger \ udage01 \ underload \ u
02:33:09 <int-e> `ls ibin/u*
02:33:09 <HackEgo> ls: cannot access ibin/u*: No such file or directory
02:33:14 <int-e> `` ls ibin/u*
02:33:15 <HackEgo> ibin/udage01 \ ibin/underload \ ibin/unlambda
02:33:35 <boily> udage?
02:33:36 <int-e> I guess it's just plain Unlambda, no Unlambda 2.
02:33:42 <boily> `udage01
02:33:43 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: udage01: not found
02:33:50 <oerjan> int-e: not at all
02:34:01 <oerjan> my guess is your program got cut off
02:34:20 <int-e> `! unlambda `.i````ss``s`k`s.i``s`k`ki|``s``s|.```s``s|..``s``s|.i``s``s|.```s``s|.```s``s|.```s``s|.```s``s|.s``s``s|.s``s``s|.```s``s|.```s``s|.s``s``s|.```s``s|.k``s``s|.```s``s|.s``s``s|..``s``s|.i``s``s|.```s``s|.```s``s|.s``s``s|.```s``s|.k``s``s|.```s``s|.k``s``s|.i``s``s|.|i``s``s|.```s``s|.```s``s|.s``s``s|.```s``s|.```s``s|.s``s``s|.|``s``s|..i
02:34:21 <HackEgo> ​`.i````ss``s`k`s.i``s`k`ki|``s``s|.```s``s|..``s``s|.i``s``s|.```s``s|.```s``s|.```s``s|.```s``s|.s``s``s|.s``s``s|.```s``s|.```s``s|.s``s``s|.```s``s|.k``s``s|.```s``s|.s``s``s|..``s``s|.i``s``s|.```s``s|.```s``s|.s``s``s|.```s``s|.k``s``s|.```s``s|.k``s``s|.i``s``s|.|i``s``s|.```s``s|.```s``s|.s``s``s|.```s``s|.```s``s|.s``s``s|.|``s``s|..i
02:34:32 <int-e> oerjan: I selected too little in my terminal
02:35:10 <oerjan> ah
02:36:30 <oerjan> so is this another quine not in the distribution
02:36:51 <oerjan> fancy misuse of |
02:37:01 <int-e> I recall sending David Madore a mail once, but never received a reply.
02:37:29 <oerjan> i recall doing that twice, once for my self interpreter and once for my intercal interpreter
02:38:33 <FireFly> for a moment I interpreted that as "Self interpreter"
02:38:38 <FireFly> As in the Smalltalk dialect
02:38:46 <oerjan> eek
02:39:08 <oerjan> anyway, it's his loss.
02:40:23 <oerjan> presumably he completely lost interest, seeing as that unlambda 3 message has been there for over a decade.
02:44:27 -!- kcm1700_ has joined.
02:47:37 -!- kcm1700 has quit (Ping timeout: 264 seconds).
02:48:56 -!- kcm1700 has joined.
02:49:42 -!- kcm1700_ has quit (Ping timeout: 255 seconds).
02:50:35 -!- qwertyo has quit (Ping timeout: 240 seconds).
02:51:51 -!- qwertyo has joined.
02:56:20 <Dulnes> This is how I feel when I play with lisp https://i.imgur.com/RqI9ncI.jpg
02:57:46 <vanila> lll
02:59:49 <elliott> this is how I feel when I play with intercal https://upload.wikimedia.org/wikipedia/commons/9/9a/Avenger_-_Westphalian_horse.jpg
02:59:52 <Dulnes> lIl?
03:00:22 <Dulnes> Oh it's a horse -3-
03:00:51 <nys> dulnes what the
03:01:10 <nys> could you elaborate on that picture?!
03:01:17 <Dulnes> XD
03:01:17 <vanila> http://www.gnu.org/software/emacs/its-cover.png me when lisp
03:01:48 <Dulnes> Sure it's from a video
03:02:17 <Dulnes> https://m.youtube.com/watch?v=iQ61q4oN7x0
03:02:44 <nys> well that's cool but also how does it connect with your feelings about lisp
03:02:49 <elliott> this is how I feel when I play with noit o' mnain worb https://i.imgur.com/C0BUG.jpg
03:02:52 <elliott> am I doing this right
03:03:47 <Dulnes> It just whenever I use it, I just go crazy with it just like that video
03:04:12 <nys> oh haha
03:04:34 <elliott> this video does not seem to contain the image you linked at all
03:05:20 <nys> it sure doesn't i watched the whole thing to make sure
03:05:46 <Dulnes> Nah it's part of a post
03:06:16 <Dulnes> Anyways I have to go my friend is calling me to LE kitchen
03:06:22 <int-e> vanila: so how many cars have you wrecked by programming lisp when you should've paid attention to the road? :P
03:06:43 <Dulnes> lol
03:06:44 <elliott> int-e: not as many as cdrs
03:07:28 <Dulnes> Bye
03:07:58 <FireFly> So I stumbled upon A000012
03:08:01 <FireFly> @oeis A000012
03:08:03 <lambdabot> The simplest sequence of positive numbers: the all 1's sequence.[1,1,1,1,1,1...
03:08:12 <FireFly> That has to be the silliest sequence on OEIS.
03:09:04 <int-e> Lisp, hmm. I once made the mistake of assuming that Common Lisp is Lisp, rather than an least common denominator of Lisp implementation. Common Lisp fails to acknowledge that there's a large body of Fortran (well, I wanted C) libraries out there that people might want to use; there's no inkling of FFI. So I discounted Lisp at the time. Now I've discovered Haskell, and frankly, to me that means it's too late for Lisp to make...
03:09:10 <int-e> ...much of an impression at all.
03:10:04 <int-e> @oeis 0,0,0,0,
03:10:12 <int-e> @oeis 0,0,0,0
03:10:12 <FireFly> "The partial sums give the natural numbers" shocking
03:10:13 <boily> Lisp is a procedural language with an horrible syntax, nasty scopes and horrible macroes.
03:10:25 <int-e> @oeis 0 0 0 0
03:10:27 <lambdabot> Plugin `oeis' failed with: <<timeout>>
03:10:28 <lambdabot> Expansion of Jacobi theta function theta_3(x) = Sum_{m = -infinity..infinity...
03:11:10 <int-e> FireFly: the iterated partial sums give the binomial coefficients
03:11:21 <int-e> FireFly: including the triangle numbers!
03:11:43 <int-e> (I find this useful, actually)
03:12:07 <int-e> > map (take 4) (iterate (scanl1 (+)) (repeat 1))
03:12:09 <lambdabot> [[1,1,1,1],[1,2,3,4],[1,3,6,10],[1,4,10,20],[1,5,15,35],[1,6,21,56],[1,7,28,...
03:12:18 <FireFly> That's pretty neat
03:12:36 <FireFly> "a(n) is also the number of complete graphs on n nodes." heh
03:12:43 -!- NATT_SiM has joined.
03:13:30 <int-e> guess what, it's also the number of permutations of the numbers 1..n that are sorted in increasing order.
03:13:55 <FireFly> Also shocking
03:14:14 <int-e> I hope that sequence was added on some April 1st.
03:14:43 -!- boily has quit (Quit: AGILE CHICKEN).
03:14:46 <FireFly> I found the sequence while searching for square-free composites, because both of those keywords are mentioned in the list of silly properties of a(n)
03:20:58 -!- zzo38 has joined.
03:21:08 -!- qwertyo has quit (Ping timeout: 255 seconds).
03:21:42 -!- qwertyo has joined.
03:23:42 <HackEgo> [wiki] [[Unlambda]] http://esolangs.org/w/index.php?diff=41014&oldid=33851 * 212.95.7.185 * (-4) Fix link
03:25:58 <int-e> Oh time passes. That 344 character Unlambda 2 quine is 10 years old.
03:28:38 <HackEgo> [wiki] [[Unlambda]] http://esolangs.org/w/index.php?diff=41015&oldid=41014 * 212.95.7.185 * (-13) Update link: follow redirect
03:43:21 <Bike> wanna feel old? this unlambda 2 quine just voted for rick santorum
03:46:32 <nys> i remember when unlambda was big
03:46:37 <nys> as i recall dukakis was running
03:46:43 <nys> for governor
03:49:06 <int-e> Ah, from 100% disk usage to 95% in 23 simple key presses: 'tune2fs /dev/sdc1 -m 0'.
03:49:38 <int-e> (This is an external drive. No system critical log files are stored there.)
03:51:04 -!- qwertyo has quit (Ping timeout: 244 seconds).
03:51:18 -!- qwertyo has joined.
03:58:38 <int-e> Bike: FWIW, I believe the Republicans are generally against lowering the minimum voting age.
04:04:56 <int-e> why ... does systemd have the audacity to use the kernel message buffer for its useless information? sigh...
04:21:01 -!- oerjan has quit (Quit: Zzzz).
04:21:03 -!- qwertyo has quit (Ping timeout: 255 seconds).
04:21:45 -!- qwertyo has joined.
04:25:07 -!- qwertyo has quit (Client Quit).
05:04:54 -!- vanila has quit (Quit: Leaving).
05:18:18 -!- bb010g has joined.
05:26:29 -!- MDude has joined.
05:30:40 -!- AndoDaan_ has quit (Quit: What year is it!?).
05:38:29 -!- adu has joined.
05:47:22 <Bike> http://perlhacks.com/2014/01/dots-perl/ god, what the hell
06:08:21 -!- adu has quit (Quit: adu).
06:14:29 <Dulnes> Back
06:18:38 <Dulnes> Bike: oh god what the fuck
06:22:41 -!- NATT_SiM has quit (Remote host closed the connection).
06:27:57 -!- nys has quit (Quit: quit).
06:29:18 <zzo38> I have played a Dungeons&Dragons game today, and I am now working on write recording of it.
06:40:02 -!- mihow has quit (Read error: Connection reset by peer).
06:40:15 -!- mihow has joined.
06:40:17 -!- mihow has quit (Read error: Connection reset by peer).
06:41:21 <J_Arcane> Yikes. http://www.clickykeyboards.com/index.cfm/fa/items.main/parentcat/9244/subcatid/0/id/585221
06:41:29 -!- mihow has joined.
06:41:51 -!- adu has joined.
06:41:57 <zzo38> Do you think a bat can steal a magic wand in complete darkness while someone is in the middle of casting a spell with it?
06:43:46 <zzo38> `danddreclist 589
06:43:47 <HackEgo> danddreclist 589: shachaf nooodl boily \ http://zzo38computer.org/dnd/recording/level20.tex
06:43:48 <zzo38> `danddreclist 58
06:43:48 <HackEgo> danddreclist 58: shachaf nooodl boily \ http://zzo38computer.org/dnd/recording/level20.tex
06:44:38 <elliott> J_Arcane: hm?
06:44:56 <J_Arcane> elliott: experienced sticker shock.
06:45:22 <J_Arcane> I'd kinda like a keyboard with a built in pointing device, but didn't expect that particular price ...
06:45:30 <elliott> J_Arcane: try unicomp
06:45:37 <elliott> they manufacture new Model Ms etc.
06:45:41 <J_Arcane> Possibly will, yeah.
06:45:47 <J_Arcane> Still deciding.
06:45:51 <elliott> buying rarities is always gonna be expensive
06:46:11 <elliott> I don't know if you have experience with buckling spring but IME it's kind of awful compared to lighter mechanical switches
06:46:39 <J_Arcane> I grew up with a buckling spring AT. :)
06:46:57 <J_Arcane> I don't like a lot of the Cherry switches I've tried so far because they're too shallow.
06:46:59 <elliott> J_Arcane: http://pckeyboard.com/page/category/EnduraPro $99
06:47:14 <elliott> the Model F has really cool switches I think
06:47:16 <elliott> they're not the same as Model M
06:47:20 <J_Arcane> Yeah, I've seen those.
06:47:23 <elliott> (Model F = AT keyboard)
06:47:26 <J_Arcane> Yeah.
06:47:39 <elliott> I believe the unicomps are pretty much identical to what IBM used to sell, FWIW
06:48:09 -!- ZombieAlive has quit (Remote host closed the connection).
06:48:15 <elliott> personally I couldn't bring myself to buy a keyboard with a numpad ever again
06:48:15 <J_Arcane> That's what I've been told. Probably if I'm not getting anything 'special' it's the smarter play.
06:48:51 <J_Arcane> I used to swear by them until I moved to Finland and started using Finnish keyboards.
06:49:07 <elliott> I just use a laptop.
06:49:23 <elliott> scissor switches are a lot better than rubber domes, at least.
06:49:33 <J_Arcane> They all use the , for the decimal, but that just gets in the way whenever I have to type in English.
06:50:02 <J_Arcane> Yeah. I am trialling the Curve Comfort and the rubbery keys are just gross.
06:50:24 <elliott> https://upload.wikimedia.org/wikipedia/commons/2/2c/Foldable_keyboard.jpg have you ever wanted to live in that one dali painting
06:50:45 <J_Arcane> Heh, yeah, I've used one of those.
06:51:38 <J_Arcane> If only they'd made more of the split one.
06:51:50 <Sgeo> Are the functions for adjusting floating point behavior different on Windows and Linux?
06:53:19 <elliott> J_Arcane: clearly get a datahand
06:53:23 <elliott> that has a pointing device
06:53:27 <J_Arcane> :D
06:53:35 <Sgeo> I think it's a libc thing
06:53:37 <elliott> bonus: costs way more than that IBM model
06:53:39 <Sgeo> I just want to do stuff from Rust
06:54:24 <J_Arcane> elliott: About on par with the split model-M, looks like. :/
06:54:42 <J_Arcane> http://www.ebay.com/itm/DataHand-Professional-II-Ergonomic-keyboard-/281497842360?pt=PCA_Mice_Trackballs&hash=item418a9432b8
06:55:23 <elliott> they did split model Ms?
06:55:46 <J_Arcane> Very rare, only 1,000 made. http://www.clickykeyboards.com/index.cfm/fa/categories.main/parentcat/12675
06:55:56 <J_Arcane> Last one to come up on eBay went for $1600.
06:56:20 <elliott> it looks like they literally just sawed a keyboard in two
06:56:44 <elliott> looks like you can't separate the two halves very much? meh
06:57:23 <Dulnes> How do i get stuff to out
06:57:35 <Dulnes> Output threads*
06:58:10 <Dulnes> I am thoroughly confuzzled
06:58:56 -!- shikhout has changed nick to shikhin.
06:59:27 <J_Arcane> Oooh. This looks nice: https://elitekeyboards.com/products.php?sub=pfu_keyboards,hhkbpro2&pid=pdkb400b
07:01:36 <elliott> that has topre switches
07:01:49 <elliott> they're even further away from buckling springs than cherry switches are
07:02:07 <elliott> https://elitekeyboards.com/proddata/images/topreswitch405.png
07:02:23 <J_Arcane> And also expensive, and not likely to show up in a shop any time soon for my to try one ...
07:02:36 <elliott> well, the HHKBs are pretty popular
07:03:08 <Dulnes> Do u need a fancy keyboard?
07:03:35 <Dulnes> I just get a keyboard like if it works ill buy it
07:03:57 <elliott> Dulnes: are you a markov chain bot or something
07:04:16 <Dulnes> What
07:04:36 <Dulnes> What do you mean Elliot
07:05:03 <elliott> nothing
07:05:18 <Dulnes> :1 please tell
07:05:30 <elliott> no, it was too rude to explain :p
07:05:37 <Dulnes> Did you think u was a bot
07:05:50 <Dulnes> Nah its ok i think
07:05:51 <elliott> I already know I'm a bot.
07:05:54 <J_Arcane> Dulnes: I get cramping and pain in my fingers from the impact on cheaper keyboards; and it's been getting worse lately. I tend to do better with something with a deep keystroke (or a really shallow one once I get used to it).
07:06:07 <J_Arcane> Ergo is a plus too because wrist pain.
07:06:21 <Dulnes> Do you slouch?
07:06:37 <J_Arcane> A bit, and I'm working on that.
07:06:43 <coppro> I slouch a lot :/
07:07:18 <Dulnes> Like sit up straight and angle your hands down
07:07:23 <J_Arcane> elliott: OH wow, the IBM split thing isn't just a simple hinge. It's like a knobby thing, adjusts vertically and horizontally.
07:07:28 <J_Arcane> http://www.dansdata.com/clicky2.htm
07:07:40 <elliott> J_Arcane: you could get a kinesis advantage or something
07:07:42 <Dulnes> Slouching encourages a hunch
07:07:44 <elliott> that has cherry mx browns
07:07:54 <J_Arcane> elliott: Yeah, I'm considering one of those as well.
07:08:30 <J_Arcane> A friend just bought the big weird one, with the two bowls, because he's been hacking for years and it's really starting to get to him
07:08:41 <elliott> can't wait until I'm old and have to worry about ergonomics from all my years of slouching and bad typing
07:09:02 <coppro> ^^^
07:09:29 <coppro> if I get a job at google again I'm going to actually set up my desk ergonomics properly
07:09:40 <J_Arcane> I'm only 32. :/ But weak wrists run in my family. Both my parents developed wrist problems relatively young too.
07:09:43 <coppro> right now I'm kind of boned because the university doesn't care
07:09:56 <elliott> J_Arcane: you're over 1.5x my age :p
07:10:04 <coppro> and at home I have non-adjustable furniture that I don't use anyway because I'm terrible and mostly compute from my bed
07:10:25 <J_Arcane> Oooh, and the IBM split is seperatable.
07:10:26 <elliott> same. I'm the laziest person
07:10:29 <Dulnes> J_Arcane: i usually use a touch screen tablet keyboard for my comouter but if i ever want to type fast i use a keyboard that has uplifted key borders so you dont accidently hit the wrong key when you type
07:11:17 <Dulnes> Its very comfy
07:12:02 <Dulnes> Also computer chairs are on my list i have one that is just like asking you to slouch
07:13:34 <J_Arcane> Oh wow. Speaking of keyboards being 'sawn in half': https://www.kinesis-ergo.com/shop/maxim-for-pc/
07:14:50 <int-e> Sigh. Magic is BAD.
07:14:57 <Dulnes> I dont even
07:15:10 <Dulnes> Where do i go with this keyboard
07:17:12 <int-e> (I'm preparing a LaTeX document. When I added an appendix, all labels of figures and chapter numbers obtained an extra . at the end. Turns out this is supposed to implement a former rule in the german orthography.)
07:18:00 <int-e> Crazy. (This is the scrbook style, from KOMA-script. There's an option to switch this behavior off, fortunately.)
07:18:21 <int-e> But it took quite some time to figure it out.
07:19:59 -!- adu has quit (Quit: adu).
07:20:47 <coppro> int-e: wait wha....
07:23:06 <J_Arcane> Well, KOMA-Script is a German standard, as I understand it.
07:23:32 <J_Arcane> It just has so many cool features that it's useful for a lot of other stuff as well. ;)
07:25:15 <int-e> So the rule implemented is, if there's any section label containing a letter (like A.1) then *all* section labels obtain a trailing dot, throughout the document. This isn't too bad for sections (I didn't even notice it there), but Figure 1.1.: Caption looks just awful.
07:27:04 <int-e> And I'm using a style that's built on top of KOMA-script, so at the point where I should've looked for the documentation I was already digging in style files...
07:27:40 <int-e> (and class files)
07:32:02 <J_Arcane> I think my last book was gonna be in KOMA-Script before I cancelled it.
07:32:02 -!- b_jonas has quit (Ping timeout: 264 seconds).
07:32:38 <J_Arcane> Maybe I should order one of those Cherry samplers, see if there's one of the switch types I do like.
07:33:01 <J_Arcane> Mostly I've only tried the 'gaming keyboards' and they tend to use the linear switches instead of clicky/bumpy ones.
07:33:06 -!- m724 has joined.
07:34:29 -!- m724 has quit (Client Quit).
08:00:21 -!- b_jonas has joined.
08:07:22 <J_Arcane> Hah, neat. Unicomp still makes APL keyboards.
08:13:33 -!- MDude has changed nick to MDream.
08:15:56 -!- shikhout has joined.
08:18:57 -!- shikhin has quit (Ping timeout: 258 seconds).
08:30:11 -!- shikhout has changed nick to shikhin.
08:54:02 <Jafet> You know what that means, right
09:12:08 -!- b_jonas has quit (Ping timeout: 255 seconds).
09:17:44 -!- b_jonas has joined.
09:28:52 <mroman> blsq ) {5 4 3 2 1 9 8}6{?d?d==}LO
09:28:53 <mroman> {4 2}
09:51:13 -!- drdanmaku has quit (Quit: Connection closed for inactivity).
10:20:35 <J_Arcane> ahahahaha. The Wikipedia page for the Shakespeare esolang has Inform-7 in the 'see also' section. :D https://en.wikipedia.org/wiki/Shakespeare_(programming_language)
10:26:07 -!- Phantom_Hoover has joined.
10:26:08 -!- Phantom_Hoover has quit (Changing host).
10:26:08 -!- Phantom_Hoover has joined.
10:28:33 -!- S1 has joined.
10:40:14 <HackEgo> [wiki] [[Talk:Main Page]] http://esolangs.org/w/index.php?diff=41016&oldid=40927 * Rdebath * (+267) /* Tom's idea */ new section
10:40:49 <Sgeo> I don't understand frac()
10:41:13 <Sgeo> Trying to find valid small values of p here: frac(250 / (p*fps)) > 0.5 where 40 <= fps <= 45
10:41:31 <Sgeo> That where is a forall
10:41:49 <Sgeo> fps is a variable, not f*p*s
10:42:53 <Sgeo> I mean, I know p=8 works, and there's a bunch of other easy to find large values for p
10:45:04 <Sgeo> In order for frac(250/a) and frac(250/b) not to something between a and b, the difference between a and b must... not... something?
10:45:21 <HackEgo> [wiki] [[Dimensions]] http://esolangs.org/w/index.php?diff=41017&oldid=41005 * Rdebath * (+112) Appears to be the Author's intention.
10:46:16 <HackEgo> [wiki] [[Talk:Dimensions]] http://esolangs.org/w/index.php?diff=41018&oldid=41011 * Rdebath * (+98) /* Proof of Turing-completeness */
10:51:43 <Sgeo> I'm actually only interested in values of p of the form 2^n where n is an integer in [-23, 3], so I could just test all of those with code, I ... no I can't, can't easily check that there are no values in between 40 and 45 that don't make it flip over
10:59:09 <Sgeo> I think I could just check both values and see if the whole portion is the same and frac of both is > 0.5
11:31:30 -!- AnotherTest has joined.
11:34:27 <Jafet> |250/40p - 250/45p| < 1/2 gives the trivial lower bound p > 25/18
11:37:51 <Jafet> (The actual solution is when 250/40p < 4, so p > 25/16)
11:43:53 <J_Arcane> Yay. Well, I finished the basic definitions for my BASIC-inspired Racket/Lisp dialect, but it's unusable because I can't figure out the module system at all.
11:46:51 <b_jonas> J_Arcane: um, how about scheme r7rs module system?
11:48:04 <J_Arcane> My macros aren't being provided properly, and I can't figure out why, and without that it's useless for anything but playing around in the REPL.
11:48:23 <b_jonas> export them
11:48:27 <b_jonas> and import them
11:49:58 <J_Arcane> Tried that.
11:50:23 <J_Arcane> Also tried two different methods for the #lang s-expr (which is what I want to do) and they don't work either. :P
11:54:49 -!- Patashu has quit (Ping timeout: 264 seconds).
12:10:08 -!- AndoDaan has joined.
12:21:26 <mroman> AndoDaan: ww. you did leapfrogging in Burlesque?
12:21:28 <mroman> *wow
12:23:26 <AndoDaan> Yeah, It was easier than I thought (didn't look to golf my code at all though.)
12:24:57 <AndoDaan> And yeah, MNNBFSL might be pretty well suited to implement in Burlesque.
12:27:00 <AndoDaan> mroman, you mentioned that burlesque was going to be Object Oriented (if ircc)?
12:30:27 <AndoDaan> !blsqbot "214365879"ln{JPpL[ro{48.+L[pPjFi}m[0-.+]2CO{<-{.-}r[}m[J{{{0.>}'>{0<.}'<}cn[-}m[jJ2CO{{.*}r[1.<}m[0+]j)abz[{q.+r[}m[z[{{_+}r[}m[++Q}m[p^
12:33:32 -!- AndoDaan_ has joined.
12:36:03 -!- AndoDaan has quit (Ping timeout: 272 seconds).
12:37:48 -!- AndoDaan_ has changed nick to AndoDaan.
12:38:33 <mroman> AndoDaan: I'm not sure yet @oop
12:38:49 <mroman> You can define functions though
12:39:00 <mroman> !blsq %square={^^.*} 9 %square!
12:39:01 <blsqbot> | 81
12:42:16 -!- S1 has quit (Quit: S1).
12:42:39 <mroman> !blsq ??
12:42:39 <blsqbot> | "Burlesque - 1.7.4.dev"
12:44:10 <AndoDaan> cool. wow, that will probably ease a lot.
12:45:25 <mroman> and variables
12:45:33 <AndoDaan> !blsq %a{999} %a!
12:45:39 <mroman> !blsq 99s0{g0}e!
12:45:40 <blsqbot> | 99
12:46:42 <AndoDaan> ha, just tried using a function as a variable.
12:47:02 <AndoDaan> but your way is probably better...
12:47:22 <AndoDaan> !blsq 1 8.+
12:47:22 <blsqbot> | 9
12:48:40 <AndoDaan> !blsq 99s0{g0}e!
12:48:40 <blsqbot> | 99
12:48:51 <AndoDaan> !blsq 99s0{g0} g0 e!
12:48:51 <blsqbot> | ERROR: Burlesque: (e!) Invalid arguments!
12:48:51 <blsqbot> | 99
12:48:51 <blsqbot> | {BlsqGet "0"}
12:49:17 <AndoDaan> !blsq s0
12:49:17 <blsqbot> | That line gave me an error
12:49:51 <AndoDaan> !blsq 15s0{g0}
12:49:52 <blsqbot> | {BlsqGet "0"}
12:49:59 <AndoDaan> !blsq 15s0{g1}
12:49:59 <blsqbot> | {BlsqGet "1"}
12:50:10 <AndoDaan> !blsq 15s1{g1}
12:50:10 <blsqbot> | {BlsqGet "1"}
12:50:17 <AndoDaan> nope, no idea.
12:56:52 <fizzie> Re recent submission, didn't much golf that either.
12:58:30 <J_Arcane> I have at last got Heresy working.
12:58:37 <J_Arcane> Next will have to come actually documenting it.
12:58:54 <AndoDaan> Bah, and still a full 50char less than mine.
12:59:11 <AndoDaan> I'm terrible at golfing.
12:59:36 <AndoDaan> Or... you guys are at the top of your game.
13:05:03 <AndoDaan> But hey, I wrote a deadfish interpreter in python yesterday, soo...
13:05:48 <AndoDaan> nope, don't know how to make that impressive.
13:09:35 <Melvar> < J_Arcane> Oooh. This looks nice: https://elitekeyboards.com/products.php?sub=pfu_keyboards,hhkbpro2&pid=pdkb400b – That looks kinda useless because it has control where the left third-level shift has to be.
13:20:22 <elliott> it's a bit hyperbolic to call a keyboard useless for one design choice
13:20:33 -!- oerjan has joined.
13:22:25 <Taneb> elliott, unless the design choice is something like it not having keys
13:30:27 <oerjan> `perl -v
13:30:29 <HackEgo> ​ \ This is perl 5, version 14, subversion 2 (v5.14.2) built for x86_64-linux-gnu-thread-multi \ (with 88 registered patches, see perl -V for more detail) \ \ Copyright 1987-2011, Larry Wall \ \ Perl may be copied only under the terms of either the Artistic License or the \ GNU General Public License, which may be found in the Perl 5 source kit
13:30:39 <oerjan> `perl-e ...
13:30:39 <HackEgo> Unimplemented at -e line 1.
13:30:54 <oerjan> fancy
13:31:23 <elliott> pearl-e gates
13:31:28 <elliott> ...
13:31:29 <elliott> *perl
13:34:12 <Melvar> Oh huh, it doesn’t have the key to the right of left shift anyway, which is also necessary … and a few other important keys have moved to hard-to-reach locations.
13:35:48 <Melvar> I should have looked more closely before complaining about the most obvious thing.
13:42:26 -!- MoALTz_ has quit (Read error: Connection reset by peer).
13:44:34 -!- MoALTz has joined.
13:44:57 <elliott> true. I'm sure J_Arcane would find it literally impossible to use because it doesn't have keys you personally care about.
13:45:05 <elliott> (p.s., in a US layout, the key to the right of left shift is "z")
13:45:05 <J_Arcane> :D
13:45:26 <J_Arcane> On a Finnish keyboard, it's <.
13:45:29 <elliott> it also doesn't have a numpad or f keys!!11
13:45:36 <elliott> or a PS/2 cable (probably?)
13:47:03 <elliott> I use US keyboards because I dislike the weird large enter keys.
13:47:28 <elliott> and have gotten used to the placement of @ and ". and want a $ key more than a pound sign
13:47:47 <elliott> by which I mean a pound sterling sign, and not what americans call a pound sign, which is #...
13:53:15 <fizzie> mroman: Minor Burlesque documentation issue: [~ is documented to work only on blocks or ints, even though it seems to work also on strings, like ~] and [- and -].
13:55:53 -!- S1 has joined.
13:56:44 -!- MoALTz_ has joined.
13:58:23 -!- MoALTz has quit (Read error: Connection reset by peer).
14:13:46 -!- vanila has joined.
14:15:50 -!- shikhout has joined.
14:18:42 -!- shikhin has quit (Ping timeout: 240 seconds).
14:22:25 <oerjan> it seems that dmm has gone a bit fruitcake
14:23:13 <vanila> hi!
14:23:25 <vanila> oerjan, I was wondering how come you're so good at esolang stuff
14:23:51 <vanila> obviously you work very hard but maybe you also discovered the crystal orb or something?
14:26:19 <J_Arcane> in other fun programming news, Github arbitrarily switched lexers for syntax highlighting, and now half the languages on there are broken ...
14:26:40 <oerjan> vanila: i've always been good at math stuff.
14:28:14 -!- drdanmaku has joined.
14:32:14 <oerjan> esolanging is basically about building a device with building blocks out of pure logic.
14:32:52 <oerjan> more abstract than ordinary programming, but less abstract than heavy math.
14:33:18 <vanila> hmm!
14:35:32 <oerjan> but with no essential sharp border to either side.
14:37:06 * oerjan did not know fruitcake had slided to that meaning in the us.
14:37:53 <oerjan> *slid
14:40:40 -!- shikhout has changed nick to shikhin.
14:50:16 -!- AndoDaan has quit (Ping timeout: 265 seconds).
14:57:14 <J_Arcane> I really hate Markdown right now.
14:58:17 <b_jonas> J_Arcane: I always hate it
14:58:32 <b_jonas> and mostly, it's not even markdown's fault, but the fault of those who misuse it
15:00:00 -!- AndoDaan has joined.
15:00:08 -!- AndoDaan has left.
15:00:15 -!- q3k has joined.
15:00:46 <J_Arcane> FFS, GH Markdown can't even handle fucking newlines sanely.
15:00:53 <J_Arcane> This is patently idiotic.
15:01:37 -!- AndoDaan has joined.
15:06:43 <J_Arcane> Anyway, this is what I did this week. https://github.com/jarcane/heresy
15:10:48 <vanila> J_Arcane, http://lpaste.net/114398
15:11:42 <J_Arcane> ? Code translating to C?
15:11:47 <vanila> yeah
15:11:58 <vanila> im looking at HERESY
15:14:19 -!- S1 has changed nick to S0.
15:16:18 <J_Arcane> Ahaha! My package does work. :D
15:16:54 <vanila> nice
15:16:59 <vanila> the whole thing is just macros
15:17:10 <vanila> that makes the implementation so short and to the point
15:17:14 <J_Arcane> Yup.
15:17:25 <J_Arcane> It was just an excuse to practice macro writing more than anything.
15:17:42 <vanila> you know a really cool macro system is called CK macros
15:17:45 <vanila> you might be interested in it
15:18:08 <vanila> http://okmij.org/ftp/Scheme/macros.html
15:19:38 <J_Arcane> Interesting. Think my brain's a little fried to make much sense out of that right now.
15:26:01 <vanila> it uses syntax-rules to make a new macro system based on interpreting code
15:26:41 -!- MDream has changed nick to MDude.
15:27:25 -!- bb010g has quit (Quit: Connection closed for inactivity).
15:28:48 <J_Arcane> vanila: Nifty.
15:29:37 <J_Arcane> I do kinda like Racket's macro system, now that I've had some time with it. The pattern matching is v. powerful and made something like this mostly easy, right up until it didn't go easy, and then figuring out why can be a nightmare for a noob.
15:30:07 <J_Arcane> In particular, the workarounds needed to do BREAK and CARRY with a hygienic macro system were a pain in the arse.
15:50:32 -!- shikhin has quit (Ping timeout: 258 seconds).
15:56:15 -!- boily has joined.
15:57:20 -!- shikhin has joined.
15:58:36 <HackEgo> [wiki] [[User talk:Bataais]] http://esolangs.org/w/index.php?diff=41019&oldid=40853 * Bataais * (-100) Blanked the page
16:17:17 <Taneb> How does a reduced set of residues differ from a set of units?
16:26:36 -!- S0 has quit (Quit: S0).
16:28:18 <oerjan> Taneb: just independently evolved terminology?
16:28:36 <oerjan> ->
16:28:54 <Taneb> OK
16:32:28 <J_Arcane> I wonder if Heresy really qualifies as an esolang. Other than the insane inspiration, it's pretty useable and normal.
16:36:55 -!- nys has joined.
16:37:58 <b_jonas> J_Arcane: what "Heresy"?
16:38:19 <J_Arcane> https://github.com/jarcane/heresy
16:41:13 <b_jonas> oh, I see
16:41:21 <b_jonas> I didn't know that's what it was called
16:41:56 <b_jonas> wait...
16:42:03 <b_jonas> where's the set! builtin?
16:42:09 <b_jonas> if it's basic-inspired, it has to have that
16:42:19 <Bike> yeah this doesn't seem very eso
16:42:25 <Bike> well it also says functional
16:42:42 <Bike> haha rem as a form
16:43:04 <J_Arcane> b_jonas: IT doesn't have one. :D
16:43:52 <b_jonas> why does it have a basic-like do-while loop then? how do you even use that without mutable storage?
16:45:02 <Bike> you call the body repeatedly with a new parameter.
16:45:15 <b_jonas> Bike: that's how a scheme-like do loop works
16:45:28 <J_Arcane> Mainly just to be able to run a REPL, but it's lack of carry support is an oversight.
16:45:29 <b_jonas> Bike: but this one doesn't appear to work like that
16:45:34 <b_jonas> or maybe it does
16:45:41 <b_jonas> ah
16:45:48 <b_jonas> maybe... but then the description is confusing
16:45:50 <J_Arcane> Under the hood, it *is* a scheme do loop.
16:46:21 <elliott> J_Arcane: it is impure because of input despite having no mutable storage, right?
16:46:25 <elliott> *input/output
16:46:34 <elliott> can it access files? you can use them for mutable state if you really have to
16:46:35 <J_Arcane> OR rather, a (let loop ... (loop)) construction with a break function (yay exit continuations!)
16:47:20 <J_Arcane> elliott: I think that would be technically true; there's no file I/O yet though, just basic print and input; haven't gotten to external IO. That is one reason why I backed off from using the word 'pure' anywhere in the docs. :D
16:48:30 <b_jonas> J_Arcane: but then its description is strange
16:48:32 <b_jonas> oh well
16:48:54 <J_Arcane> Heh, well, it's cut and pasted from the code comments (which are a little out of date.
16:49:04 <J_Arcane> I'll rewrite in a moment.
16:49:15 <b_jonas> J_Arcane: thanks
16:49:20 <Bike> also isn't "lisp but basic" logo
16:49:27 <Bike> not that this is much like logo at all, ofc
16:49:28 <b_jonas> J_Arcane: maybe also add some examples if you can make it work
16:49:37 <b_jonas> Bike: hehe
16:49:47 <J_Arcane> Yeah, I have a 99 bottles and a Fact example, but some better ones would be nice.
16:50:27 <Bike> fn fact 0 = 1
16:51:15 <J_Arcane> Ahh. OK.
16:51:19 <J_Arcane> I'll fix that.
16:52:16 <J_Arcane> Fixed the docs and the fact example. Thanks for the pointers!
16:52:32 <J_Arcane> Also, my mouse just broke. So that's fun.
16:54:17 -!- NATT_SiM has joined.
16:54:48 <elliott> J_Arcane: good excuse to buy one of those keyboards
16:55:17 <J_Arcane> Yeah.
16:59:23 -!- shikhin has quit (Remote host closed the connection).
16:59:41 -!- shikhin has joined.
17:10:40 -!- serika has joined.
17:12:30 <Dulnes> Hallo
17:12:58 <boily> Bon matin!
17:16:29 <serika> Hi
17:17:45 -!- oerjan has quit (Quit: Bye!).
17:19:53 -!- ZombieAlive has joined.
17:23:08 -!- idris-bot has quit (Quit: Terminated).
17:25:09 -!- Melvar has quit (Quit: rebooting).
17:32:59 -!- Melvar has joined.
17:35:20 <J_Arcane> I made the front page on Hacker News. XD
17:37:02 <elliott> J_Arcane: "CL already does this." -- I don't think CL has continuations
17:37:12 <J_Arcane> No, but it does have GOTO. :D
17:37:29 <J_Arcane> I'll edit the comment though.
17:41:54 <elliott> ah, I see
17:42:35 -!- Phantom_Hoover has quit (Ping timeout: 272 seconds).
17:45:39 <J_Arcane> elliott: https://twitter.com/J_Arcane/status/533547756150095872
17:46:01 <elliott> format is scary
17:46:07 <J_Arcane> Yes.
17:46:11 <elliott> you can do loops and stuff with it
17:46:39 <J_Arcane> There's 99bottles implementation entirely in format, in the shape of a bottle.
17:46:45 <vanila> lol
17:46:49 <vanila> FORMAT is so cool
17:48:26 <J_Arcane> http://www.99-bottles-of-beer.net/language-common-lisp-114.html
17:56:19 -!- copumpkin has quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…).
17:59:19 <FireFly> What's the computational class of format?
18:03:18 <J_Arcane> Cthonian.
18:03:34 <vanila> i guess its turing complete
18:07:37 <Bike> i don't think it can do unbounded loops.
18:07:37 <vanila> hmm maybe not!
18:07:45 <Bike> not counting the "call arbitrary lisp functions" part, obviously.
18:09:22 <vanila> http://www.lispworks.com/documentation/HyperSpec/Body/22_cgf.htm maybe this?
18:10:00 <Bike> are you allowing nested calls? like (format nil "...~?..." (format nil ...))
18:10:02 <vanila> and http://www.lispworks.com/documentation/HyperSpec/Body/22_cga.htm might allow goto
18:10:11 <vanila> just a single call
18:10:19 <Bike> ~? doesn't do you much good then
18:10:23 <vanila> oh
18:11:22 -!- idris-bot has joined.
18:12:07 -!- Sprocklem has joined.
18:22:25 <shikhin> #esoteric
18:22:31 <shikhin> Hrm.
18:22:37 <Taneb> shikhin, that is where we are
18:22:40 <Dulnes> having a fullscale argument with a lisp bot is fun
18:23:18 <FireFly> `relcome shikhin
18:23:20 <HackEgo> shikhin: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: <http://esolangs.org/>. (For the other kind of esoterica, try #esoteric on irc.dal.net.)
18:23:46 <Dulnes> its even more colourful on mobile
18:24:07 <boily> shikhin was never `relcomed?
18:24:11 <shikhin> I was?
18:24:18 <FireFly> Oh hm
18:24:20 * FireFly shrugs
18:24:23 -!- oonbotti2 has joined.
18:24:25 <shikhin> I'm sorry, I was testing a bot.
18:24:28 <shikhin> ^ that one.
18:24:33 <shikhin> #esoteric
18:24:33 <oonbotti2> Nothing here
18:24:40 <shikhin> Ah.
18:24:57 <boily> wasn't oonbotti one of fizzie's bot?
18:24:57 <nortti> you could've checked it from the sources
18:25:03 <nortti> no, it is mine
18:25:08 <int-e> `` echo ... ___ ... f | dc
18:25:09 <boily> ah! tdh
18:25:11 <HackEgo> 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0
18:25:33 <nortti> (I originally intended for that command to print ascii-art goatse but decided against it)
18:25:48 <boily> btw, how does one pronounce “oonbotti”?
18:25:49 <shikhin> nortti: Clearly no sane person would do that on a public channel!
18:26:06 <nortti> boily: /o:nbot:i/
18:26:20 <nortti> shikhin: :D
18:26:44 <int-e> t:
18:27:17 -!- hjulle has quit (Remote host closed the connection).
18:27:47 <nortti> int-e: different way to mark a double-consonant
18:28:39 -!- Dulnes has quit (Quit: conception buildup in my compiler have to restart).
18:28:58 <boily> @ask Dulnes what is a conception buildup?
18:28:58 <lambdabot> Consider it noted.
18:29:08 <boily> nortti: makes sense.
18:30:22 -!- Dulnes has joined.
18:31:10 <FireFly> isn't the point of irccloud to not disconnect for computer maintenance?
18:31:24 <FireFly> or s/for/during/
18:31:45 <Dulnes> phone is connected to computer
18:32:02 -!- Sprocklem has quit (Quit: [).
18:32:12 <Dulnes> its charging >_> i dont have a adapter
18:32:16 <fizzie> I think that should be ː, not :.
18:33:39 <Dulnes> my phone just got murdered with lag because its connected ;-;
18:34:36 <fizzie> (And I was under the impression too that you don't have to stay connected to IRCCloud to stay on a channel.)
18:34:37 <boily> fizzie: yes, but I suspect a case of malignant asciiite.
18:36:08 <fizzie> For the record, "oonbotti" is pretty close to a Finnish equivalent of "iamabot" in English. (Or maybe "imabot" to match the colloquiality levels too.)
18:36:09 <int-e> so apparently their pricing page does not work without javascript; the prices are listed as "..." ...
18:38:49 <Dulnes> fizzie: i just had to turn my phone off for the time i didnt want to corrupt my folders
18:40:14 <Dulnes> i dont rlly have it set up to where it still stays connected even if i turn my.phone off
18:42:17 -!- nys has quit (Quit: quit).
18:42:29 <fizzie> And /tː/ is produced almost if not entirely equivalently to /t/ except a longer hold duration.
18:47:18 <fizzie> Heh, Google Translate's (Finnish) synthesis voice apparently has some sort of a fallback when it for some reason or another can't do the normal one. At least for me "hyvä puhesynteesiääni" is done with a relatively high-quality voice (okay, the prosody's pretty off) but "aika hyvä puhesynteesiääni" falls back to something eSpeak-style.
18:47:44 <Dulnes> heh
18:48:08 <Dulnes> Google translate is awful
18:49:21 <shachaf> Compared to what?
18:49:55 <fizzie> To a human, presumably.
18:50:06 <fizzie> At least that'd be a fair statement.
18:50:43 <fizzie> There's been a couple papers with "superhuman" in the title in recent speech recognition conferences.
18:50:46 <J_Arcane> Humans are pretty awful at Finnish too. ;)
18:51:30 <fizzie> (They tend to restrict the scenario quite a lot to get actual superhuman results.)
18:51:31 <Dulnes> but what about the Finnish who speak it
18:51:50 <Bike> gets superhuman results at recognizing audio files consisting solely of the word "bupkis"
18:53:53 <fizzie> Not quite that bad. But I seem to recall some superhuman numbers for speech so noisy humans can't understand it either.
19:08:31 <Dulnes> yeh
19:08:53 -!- hjulle has joined.
19:12:25 <Dulnes> so idk any of you
19:18:19 <boily> we are who we are, except Taneb who isn't elliott.
19:18:29 <Taneb> boily, I am however Taneb
19:18:52 <Dulnes> k
19:22:05 <FireFly> `? Taneb
19:22:08 <HackEgo> Taneb is not elliott, no matter who you ask. He also isn't a rabbi although he has pretended in the past. He has at least two backup keyboards with dodgy SHIFT KEys, and five genders. (See also: tanebventions)
19:22:16 <FireFly> `? Ngevd
19:22:17 <HackEgo> ​A.+6غM8f>6hJLnj0/yvr]Ϡ٫^ÿ \ xa
19:22:26 <Taneb> I am also Ngevd, and atriq
19:22:30 <shachaf> `? tanebventions
19:22:32 <HackEgo> Tanebventions include D-modules, Chu spaces, automatic squirrel feeders, the torus, Stephen Wolfram, Go, weetoflakes, and this sentence.
19:22:35 <shachaf> `? atriq
19:22:36 <FireFly> a very impressive triq
19:22:36 <HackEgo> atriq or two
19:23:07 <FireFly> `? this sentence
19:23:08 <HackEgo> This sentence was invented by Taneb. Taneb invented it.
19:23:12 <FireFly> I see.
19:24:11 <Dulnes> wow
19:25:34 <shachaf> Taneb: do you want to tell me about d-modules
19:25:42 <Taneb> `? d-modules
19:25:43 <HackEgo> D-modules are just modules over the ring of differential operators. Taneb invented them.
19:26:08 <Dulnes> oh ho
19:26:32 <shachaf> `? differential operator
19:26:33 <HackEgo> differential operator? ¯\(°​_o)/¯
19:27:42 <Dulnes> `? Chu spaces
19:27:43 <HackEgo> A Chu space is just a matrix. Taneb invented them, then Chu stole his invention.
19:27:58 <Dulnes> ?
19:28:46 <FireFly> `? Go
19:28:47 <HackEgo> Go is a common verbal game programming language invented by the Germanic Taneb tribes in the strategic territories of East Asia.
19:30:19 <Dulnes> oh wow
19:30:46 -!- serika has left.
19:31:06 <Dulnes> also should i use out of interest these symbols »»» to direct input and output
19:31:53 <shachaf> `` sed 's/rs,/rs, tanebventions,/; s/$/ Taneb invented them./' wisdom/tanebvention # does this go too far?
19:31:54 <HackEgo> Tanebventions include D-modules, Chu spaces, automatic squirrel feeders, tanebventions, the torus, Stephen Wolfram, Go, weetoflakes, and this sentence. Taneb invented them.
19:33:57 <Dulnes> actually
19:34:21 <FireFly> Goes too far? Did Taneb invent the concept of limits towards infinity?
19:34:23 <Dulnes> `? Stephen Wolfram
19:34:24 <HackEgo> Stephen Wolfram is an esolanger with too much money and power. Taneb invented him.
19:34:48 <Dulnes> to many inventions
19:37:10 <fizzie> `? torus
19:37:11 <HackEgo> Topologically, a torus is just a torus. Taneb invented them.
19:37:19 <fizzie> Helpful.
19:37:46 <Dulnes> indeed
19:37:48 <fizzie> `? automatic squirrel feeder
19:37:49 <HackEgo> Automatic squirrel feeders are just feeders in the category of automatic squirrels. Taneb invented them.
19:38:29 <Dulnes> who created hackego
19:38:58 <Taneb> Gregor, originally
19:39:12 <Taneb> I did not invent HackEgo
19:39:19 <Dulnes> :/
19:39:39 <Dulnes> Taneb: you are quite silly
19:39:47 <Taneb> So I am told
19:40:24 <fizzie> `run find wisdom -type f -print0 | xargs -0 grep -El '(is|are) just' | wc -l
19:40:25 <HackEgo> 31
19:40:29 <fizzie> So many things are just things.
19:40:37 <Gregor> In the category of other things.
19:41:06 <fizzie> `run find wisdom -type f -print0 | xargs -0 grep -El '(is|are) just.*category' | wc -l
19:41:07 <HackEgo> 12
19:41:37 <fizzie> `run find wisdom -type f -print0 | xargs -0 grep -El '(is|are) just.*category' | sed -e 's|wisdom/||'
19:41:38 <HackEgo> object \ partial order \ natural transformation \ endofunctor \ functor \ indexed monad \ automatic squirrel feeder \ arrow \ monad \ doodad \ comonad \ preorder
19:41:49 <fizzie> `? doodad
19:41:49 <HackEgo> Doodads are just duoids in the category of endofunctors.
19:41:51 <elliott> `run find wisdom -type f -print0 | xargs -0 grep -El '(is|are) just' | xargs rm
19:41:55 <HackEgo> rm: cannot remove `wisdom/monoidal': No such file or directory \ rm: cannot remove `category': No such file or directory \ rm: cannot remove `wisdom/chu': No such file or directory \ rm: cannot remove `space': No such file or directory \ rm: cannot remove `wisdom/partial': No such file or directory \ rm: cannot remove `order': No such file or direc
19:42:23 <elliott> `run find wisdom -type f -print0 | xargs -0 grep -El '(is|are) just' | xargs -I'{}' rm '{}'
19:42:27 <HackEgo> No output.
19:42:29 <elliott> xargs syntax is so bad.
19:42:44 <shachaf> `revert
19:42:45 <FireFly> this kills the wisdom
19:42:49 <HackEgo> Done.
19:43:31 <fizzie> For the record, that just reverted the last 7 things with spaces in their names.
19:44:20 <shachaf> Right.
19:44:31 <shachaf> `revert 5134
19:44:33 <HackEgo> Done.
19:45:40 <shachaf> `? justice
19:45:41 <HackEgo> Justice is just behavior or treatment.
19:49:09 <shachaf> There are several of those that can quite reasonably be deleted.
19:49:40 <FireFly> `run wc -l wisdom
19:49:40 <HackEgo> wc: wisdom: Is a directory \ 0 wisdom
19:49:42 <FireFly> er
19:49:46 <J_Arcane> Woot. Finally added a useful numeric range generator to Heresy.
19:49:48 <FireFly> `run ls wisdom | wc -l
19:49:49 <HackEgo> 444
19:52:28 <shachaf> `` find wisdom/d/ -type f
19:52:29 <HackEgo> wisdom/d/d/d/d/d/d/d/d/d/d/d/d/d/d/d/d/d/d/d/d/d/d/d/d/d/d/d/d/d/d/d/d \ wisdom/d/da
19:52:43 <shachaf> `` rm -r wisdom/d
19:52:44 <HackEgo> No output.
19:54:40 <Dulnes> gonna go play some vidya ghames
19:56:06 <elliott> fizzie: I wonder why IE 8 / WinXP ends up using TLS_RSA_WITH_3DES_EDE_CBC_SHA for esolangs.org. not that XP matters, but... can't it even do TLS_RSA_WITH_AES_128_CBC_SHA?
19:57:58 <Dulnes> nt rlly
20:03:44 <FireFly> `which !
20:03:45 <HackEgo> ​/hackenv/bin/!
20:03:54 <FireFly> `head bin/!
20:03:55 <HackEgo> ​#!/bin/sh \ CMD=`echo "$1" | cut -d' ' -f1` \ ARG=`echo "$1" | cut -d' ' -f2-` \ exec ibin/$CMD "$ARG"
20:04:39 <FireFly> `ls ibin
20:04:40 <HackEgo> 1l \ 2l \ adjust \ asm \ axo \ bch \ befunge \ befunge98 \ bf \ bf16 \ bf32 \ bf8 \ bf_txtgen \ boolfuck \ c \ cintercal \ clcintercal \ cxx \ dimensifuck \ forth \ glass \ glypho \ haskell \ help \ java \ k \ kipple \ lambda \ lazyk \ linguine \ malbolge \ pbrain \ perl \ qbf \ rail \ rhotor \ sadol \ sceql \ sh \ trigger \ udage01 \ underload \ u
20:05:12 <FireFly> `ls ibin | tail -n 40
20:05:12 <HackEgo> ls: cannot access ibin | tail -n 40: No such file or directory
20:05:18 <FireFly> `` ls ibin | tail -n 40
20:05:18 <HackEgo> axo \ bch \ befunge \ befunge98 \ bf \ bf16 \ bf32 \ bf8 \ bf_txtgen \ boolfuck \ c \ cintercal \ clcintercal \ cxx \ dimensifuck \ forth \ glass \ glypho \ haskell \ help \ java \ k \ kipple \ lambda \ lazyk \ linguine \ malbolge \ pbrain \ perl \ qbf \ rail \ rhotor \ sadol \ sceql \ sh \ trigger \ udage01 \ underload \ unlambda \ whirl
20:05:39 <FireFly> `! help
20:05:41 <HackEgo> The ! or interp command calls various language interpreters transfered from old EgoBot. Try `url ibin/ for a list.
20:06:30 -!- Patashu has joined.
20:06:57 <Dulnes> so what does the bin thing do and where does hackego get the recource from
20:07:45 <FireFly> It's just a linux box
20:07:46 <FireFly> `help
20:07:46 <HackEgo> Runs arbitrary code in GNU/Linux. Type "`<command>", or "`run <command>" for full shell commands. "`fetch <URL>" downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert <rev>" can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/
20:08:03 <Sgeo> http://tvtropes.org/pmwiki/pmwiki.php/VideoGame/BillNyeTheScienceGuyStopTheRock
20:08:12 <Dulnes> oh nvm then
20:11:23 <zzo38> Do you not like All The Tropes instead?
20:12:19 <b_jonas> `fromroman XXI
20:12:19 <HackEgo> 21
20:12:26 <b_jonas> that's what I thought, thanks
20:14:17 -!- nys has joined.
20:16:15 -!- shikhout has joined.
20:16:38 -!- shikhout has changed nick to Guest17485.
20:16:50 <Dulnes> `fromroman M
20:16:50 <HackEgo> 1000
20:16:57 <Dulnes> indeed
20:18:47 <Dulnes> why only 3999
20:19:03 -!- shikhin has quit (Ping timeout: 255 seconds).
20:19:57 -!- NATT_SiM has quit (Remote host closed the connection).
20:20:30 <b_jonas> Dulnes: roman numerals go up to 3999 inclusive
20:20:52 <zzo38> Unless you put bars on top, the Romans only go up to 3999.
20:21:16 <zzo38> Does such program include fractions? There is fractions too in Roman numbers.
20:21:29 <zzo38> One half is "S" and one twelvth is a dot
20:21:32 <b_jonas> no, this program definitely doesn't include fractions,
20:21:48 <vanila> hi zzo38
20:21:54 <vanila> i commented on your phlog
20:21:56 <b_jonas> but feel free to replace it with a better program (with hopefully better handling of unexpected input)
20:21:59 <vanila> but i do not see it
20:22:09 <Dulnes> ok
20:25:01 <zzo38> vanila: Was that on the 13th?
20:25:20 <vanila> proobably, not sure
20:25:21 -!- Patashu has quit (Ping timeout: 272 seconds).
20:25:46 <zzo38> It says (947b/1com) the "1com" part means "1 comment"
20:26:12 <zzo38> That submenu lists the comments and the "send comment" menu, if you reload that menu then you can see a comment.
20:26:23 <zzo38> That's how you see it.
20:27:18 <Dulnes> gnight
20:28:08 <vanila> i see
20:28:17 <vanila> zzo38, I like your gopher site
20:28:26 <vanila> its cool I wabt to set up one too
20:28:35 <vanila> i thought about converting esolang wiki to gopher
20:28:45 <vanila> but id have to handle a very large XML file so i iddnt do it
20:29:52 -!- NATT_SiM has joined.
20:40:15 <zzo38> The XML could also be converted into a SQLite database; do you know about SQLite?
20:42:09 -!- kcm1700 has quit (Ping timeout: 265 seconds).
20:45:01 -!- kcm1700 has joined.
20:45:13 <FireFly> Does a gopher client have to request the directory above a thing to know what type to treat the thing as?
20:45:25 <zzo38> No.
20:45:54 <zzo38> The type is part of the URL. (If it doesn't use URLs, there will be some other variable to keep track of the type.)
20:47:13 <zzo38> For example the URL gopher://zzo38computer.org/0sqlarge.doc indicates the type is "0".
20:48:11 <Dulnes> (hh)++["^§"].g[ss.h]+++-[ " ok " ." irc.web_host " ]+++( " * " )-[ "»»»" ] = <.irc.app_module> [ "«««" ] this should give me an output of 0 but its giving an output of 2 ;-; what am i to do
20:48:39 <FireFly> When I request gopher://zzo38computer.org I see 'images' with type 1 (i.e. dir) and 'fortune' with type 0 (text). Wouldn't those be requested as 'images' and 'fortune'?
20:49:27 <zzo38> FireFly: Yes, they would be requested as such.
20:49:45 <FireFly> So how would I know which has which type, without a request to ''?
20:50:03 <Dulnes> zzo38: nice site
20:50:31 <zzo38> FireFly: You need to provide a way for the user to specify what type to use for the initial request. If no request is specified at all, the request is an enpty string and uses type 1.
20:51:03 <FireFly> Ah, so the type needs to be stored "externally" somehow, so to speak
20:51:03 <zzo38> If URLs are used, the character after the slash that comes after the host/port is the type.
20:51:15 <FireFly> Ah, okay
20:52:07 <zzo38> (A gopher client is not required to use URLs; you may use a different method. However, if it is part of a web browser, you should use URLs.)
20:52:14 -!- nys has quit (Quit: quit).
20:54:42 <Dulnes> oh nvm it was the second output bracket
20:55:44 <FireFly> I looked a bit at the RFC and interacted with zzo38computer.org using netcat
20:57:39 -!- Guest17485 has quit (Ping timeout: 272 seconds).
20:57:55 -!- shikhin has joined.
20:58:01 -!- NATT_SiM has quit (Remote host closed the connection).
20:58:10 <zzo38> Also, gopher servers aren't guaranteed to even use a hierarchical directory structure, so you might not even know what is the above directory. All that is known is each file/program has a selector string for accessing it.
20:58:53 <zzo38> If the selector string contains "x/../y" then that is the string that should be sent exactly as is; it is up to the server to interpret it if necessary.
20:59:03 <Sgeo> Jafet: thank you. Now I just need to understand what you did, like where that 4 came from
20:59:42 <vanila> sqlite is nicer tow ork with I think
20:59:44 <vanila> thanks for that idea
21:00:09 <FireFly> zzo38: ah, okay
21:01:30 <zzo38> vanila: And in case you need additional functions, I have written an extension that provides many additional functions (and a few collations and virtual table modules too)
21:04:23 <Dulnes> slowly eats noodles and watches conversation
21:05:19 <zzo38> (For example, if you want to calculate statistics, trigonometry, and other stuff)
21:12:29 -!- NATT_SiM has joined.
21:15:29 -!- idris-bot has quit (Quit: Terminated).
21:16:14 -!- Melvar has quit (Quit: rebooting).
21:16:39 -!- Vorpal_ has joined.
21:18:00 -!- Vorpal has quit (Ping timeout: 255 seconds).
21:19:12 -!- Melvar has joined.
21:20:42 -!- AndoDaan has quit (Ping timeout: 255 seconds).
21:21:46 -!- Bicyclidine has joined.
21:26:14 <Dulnes> thes death
21:26:44 -!- AndoDaan has joined.
21:45:36 -!- NATT_SiM has quit (Remote host closed the connection).
21:48:26 -!- MDream has joined.
21:51:37 -!- MDude has quit (Ping timeout: 240 seconds).
21:51:49 -!- MDude has joined.
21:51:52 -!- NATT_SiM has joined.
21:53:10 -!- MDream has quit (Ping timeout: 258 seconds).
21:54:12 -!- MDream has joined.
21:58:04 -!- MDude has quit (Ping timeout: 250 seconds).
22:01:58 -!- AnotherTest has quit (Ping timeout: 250 seconds).
22:06:28 -!- Phantom_Hoover has joined.
22:18:00 -!- oerjan has joined.
22:21:54 -!- bb010g has joined.
22:27:34 -!- MDream has changed nick to MDude.
22:32:45 <zzo38> How to reduce a truecolor picture to a palette of a specified number of colors?
22:33:20 <Bicyclidine> sounds like something you'd have several ways to do, like shrinking an image
22:35:19 <boily> k-means.
22:35:59 <zzo38> I believe that, but still I don't know what way is a best way if the palette is pretty small. I could also implement more than one way.
22:37:12 <zzo38> I mean both ways; it can use a supplied palette, if not then it should try to make up a palette.
22:39:05 <zzo38> Probably the simplest way is just to check how many unique colors it is, and if it is too much it will display an error message.
22:47:35 -!- bb010g has quit.
22:48:15 <Phantom_Hoover> <zzo38> I believe that, but still I don't know what way is a best way if the palette is pretty small. I could also implement more than one way.
22:48:30 <Phantom_Hoover> i mean your question hinges on how you actually define 'best'
22:49:06 <Phantom_Hoover> you'll get different algorithms depending on what you're trying to preserve through the palette reduction
22:51:00 <boily> one defining factor when doing a simple k-means could be the colour space where your pixels lie in.
22:51:10 <zzo38> I have a program that claims to be written by Magnetic Scrolls, which implements three algorithms to select the best color to convert into, if already given the palette; they are (if R,G,B are this pixel and r,g,b in the palette): [0] abs(R-r)+abs(G-g)+abs(B-b) [1] R*abs(R-r)+G*abs(G-g)+B*abs(B-b) [2] R*(R-r)*(R-r)+G*(G-g)*(G-g)+B*(B-b)*(B-b); and then whichever index this value is the lowest "distance".
22:51:12 <Gregor> zzo38: Floyd-Steinberg dithering. I find that with a VERY small palette though it looks better if you reduce to about double the number of colors with no dithering (i.e., just choose the closest color), then reduce again with dithering. Maybe that's my own preference though. Anyway, that's not "best", just "what Gregor apparently likes"
22:52:03 <zzo38> Gregor: How does Floyd-Steinberg work?
22:52:13 <boily> zzo38: matrix convolution :D
22:52:14 -!- Vorpal_ has changed nick to Vorpal.
22:53:06 -!- NATT_SiM has quit (Remote host closed the connection).
22:53:07 <ion> Add the quantization error of a pixel onto the neighboring pixels on the bottom right diagonal of a window.
22:53:34 <ion> roughly
23:06:39 <fizzie> I did some sort of octree thing when I was last generating a palette.
23:07:33 -!- TodPunk has quit (Read error: Connection reset by peer).
23:08:00 -!- TodPunk has joined.
23:11:31 <fizzie> Also I seem to have here references to a 1994 paper by Anthony H. Dekker titled "Kohonen neural networks for optimal colour quantization", in Network: Computation in Neural Systems, vol. 5, no. 3, pp. 351-367.
23:14:10 <fizzie> And there's a link to http://www.cubic.org/docs/octree.htm here.
23:14:52 -!- bb010g has joined.
23:15:26 <fizzie> The NeuQuant link on that page seems to have died, but was related to that paper.
23:15:44 <fizzie> And can still be found at http://members.ozemail.com.au/~dekker/NEUQUANT.HTML
23:18:11 <fizzie> Full disclosure disclaimer: Kohonen maps are from our university, I used to have an office maybe three doors left from that of prof. Kohonen, so I might not quite be an unbiased estimator of quality here.
23:19:44 <Bicyclidine> sigh, yet anothe rprogram ruined by the kohonen lobby
23:22:36 <fizzie> I think the median cut algorithm it mentions is kind of the "de-facto standard" for color quantization, if you don't want to go all SOM.
23:24:13 <fizzie> Gah, this is the ugliest C. I think I wrote this.
23:30:28 <fizzie> If I'm reading it right, it does three palette optimization methods (the popularity one, the octree one and the median cut one), some sort of weirdly optimized palette conversion (based on that [0] distance and a palette sorted by G) and Floyd-Steinberg dithering.
23:36:20 -!- S1 has joined.
23:36:30 -!- S1 has changed nick to |S}.
23:39:18 -!- myndzi has joined.
23:40:56 -!- MoALTz__ has joined.
23:41:37 -!- MoALTz_ has quit (Ping timeout: 240 seconds).
23:59:07 -!- boily has quit (Quit: EMERGENCY CHICKEN).
←2014-11-15 2014-11-16 2014-11-17→ ↑2014 ↑all