←2014-10-23 2014-10-24 2014-10-25→ ↑2014 ↑all
00:00:00 * Taneb goodnight
00:00:12 -!- Froox has changed nick to Frooxius.
00:00:30 * boily waves the goodnight dance at Taneb
00:27:36 -!- ais523 has quit (Read error: Connection reset by peer).
00:27:44 -!- ais523 has joined.
00:39:42 -!- callforjudgement has joined.
00:39:44 -!- ais523 has quit (Read error: Connection reset by peer).
00:40:29 -!- callforjudgement has changed nick to ais523.
00:59:05 -!- damio has joined.
00:59:23 -!- boily has quit (Quit: UNCOMPRESSED CHICKEN).
01:09:39 -!- elliott has joined.
01:27:26 -!- callforjudgement has joined.
01:29:55 <elliott> callforjudgement: is weboflies still a thing?
01:30:07 <callforjudgement> elliott: the code still exists; I haven't worked on it for ages
01:30:35 <callforjudgement> also, it's 32-bit and doesn't compile as 64-bit because it's so level, which isn't necessarily lethal but does make it rather harder to work on
01:30:42 -!- ais523 has quit (Ping timeout: 245 seconds).
01:30:50 -!- callforjudgement has changed nick to ais523.
01:30:56 * elliott nods
01:30:58 <elliott> "so level" :)
01:31:05 <ais523> so low-level
01:31:24 <elliott> I lost my copy of the code on an old hard drive (and it was probably an old version anyway) and could probably use learning some things from it now, would you mind giving me it again?
01:31:49 <ais523> just trying to figure out which of these files are it and which are other things, I need a src/ folder
01:31:56 -!- damio has left.
01:34:11 <ais523> hmm, one of the files here has uncertain copyright information
01:34:45 <ais523> it's the return values of the KDGKBENT ioctl for all possible arguments, determined experimentally
01:35:50 <elliott> sounds uncopyrightable
01:36:02 <ais523> I'm not sure if it's coming from some keyboard driver, for instance
01:36:05 <ais523> I'm busy looking up what it does to find out
01:36:06 <elliott> but gpl at worst, I suppose?
01:36:18 <ais523> at least, the reason I had to determine it experimentally was that I couldn't see any pattern
01:36:25 <ais523> and it was needed for programs to run
01:37:13 <ais523> the problem with ioctls is that they're almost undocumented
01:37:17 <ais523> you just get one line of info on each
01:37:24 <ais523> let me check the kernel source, see if that helps
01:38:45 <ais523> bleh, this always takes so long to decompress
01:40:29 <elliott> keep a git checkout? :)
01:40:41 <ais523> considering it
01:40:44 <elliott> it sort of sounds like the kind of file that'd be very easy to generate...
01:40:51 <ais523> although it's nice to always have the source to your own kernel, exactly
01:41:23 <int-e> looks like fun. http://lxr.free-electrons.com/source/drivers/tty/vt/keyboard.c#L1783
01:41:51 <ais523> ooh, I think I've found basically the same info in the Linux kernel
01:42:02 <ais523> drivers/tty/vt/defkeymap.c_shipped
01:42:30 <ais523> however, it's in a different format
01:42:53 <ais523> tell you what, I'll ship you weboflies without ktt.c, and you can work out how to generate it yourself if you need it
01:43:24 <ais523> the file can definitely be generated, that's how I got it in the first plcae
01:43:29 <ais523> actually, I should just ship you the generator, if I still have it
01:43:55 <ais523> "aimake.config"
01:44:01 <ais523> wow, that's… an old version of aimake
01:45:02 <ais523> I seem to have part of it, but the rest was probably hand-edited in Emacs
01:45:42 <ais523> elliott: anyway, nethack4.org/pastebin/weboflies.c
01:45:49 <ais523> let me know when you have it
01:46:12 <elliott> pah, no https :) got it
01:46:21 <elliott> erm, no I haven't
01:46:22 <elliott> it's a 404
01:46:25 <ais523> err, .tgz
01:46:34 <elliott> thanks
01:47:45 <elliott> ais523: nice tarbomb, btw
01:47:51 <ais523> err, sorry
01:48:04 <ais523> you can't expect me to package it properly when I'm busy trying to figure out which files are which in a hurry
01:48:25 <ais523> really, whether a tar bombs or not should be a recipient-end setting rather than a sender-end setting, but it isn't, so sorry for setting it wrong
01:48:42 <elliott> yeah, I'm not actually mad
01:49:17 <ais523> when I sent violin to alt.lang.intercal, I went to a bunch of effort making sure that I didn't accidentally do anything wrong in the shar
01:49:26 <ais523> because apparently, screwing up a shar even slightly gets you flamed
01:49:35 <ais523> (this may not be true nowadays, but it was back when shar was written, apparently)
01:50:55 <elliott> violin?
01:51:52 <ais523> it's a program for working out the effect of assignment statements in INTERCAL
01:51:58 <int-e> @google violin intercal
01:51:59 <lambdabot> http://www.theviolinsite.com/music_dictionary/interval.html
01:51:59 <lambdabot> Title: Interval - Music Dictionary
01:52:00 <ais523> this is incredibly nontrivial, and all known INTERCAL interps get it wrong
01:52:09 <ais523> anyway, see my recent post to alt.lang.intercal
01:52:18 <ais523> err, in the presence of operand overloading
01:52:19 <int-e> correcting "c" to "v" is so helpful! *admires google*
01:52:19 <ais523> without, it's easy
01:52:46 <int-e> @google violin "intercal"
01:52:47 <lambdabot> https://groups.google.com/d/forum/alt.lang.intercal
01:52:52 <ais523> anyway, I /finally/ managed to do addition in INTERCAL without any sort of loop, where the length of the program is O(1) on the number of bits
01:53:14 <coppro> ais523: congrats
01:53:18 <ais523> and without using the standard library, and without an FFI
01:53:29 <elliott> hmm, I guess a 32-bit chroot is the easiest way to compile it
01:53:31 <ais523> the program doesn't actually /run/ yet because I haven't linked up C-INTERCAL to violin yet
01:53:57 <ais523> also, this is the first time I have ever written a single assignment statement that takes four minutes to run
01:54:25 <ais523> DO :1 <- '"?.1$.2"~"#0$#65535"'$'"&.1$.2"~"#0$#65535"' is the statement
01:54:42 <elliott> I bet weboflies would be a bit easier with the additional container features that've been added since
01:54:43 <ais523> but it's only so slow because I previously redefined :1: DO :2 <- :1/"'"'#65535$#65535'~'"'?"'"'V"'&.4$.2'~'#0$#65535'"$.9'~'#0$#65535'"$#0'~'#32767$#1'"$.2'~'#0$#65535'"$#65535'"$.4'~'#0$#65535'"$.9
01:54:54 <ais523> elliott: it uses most of the container features that existed at the time
01:55:15 <elliott> yeah. there are some more now though
01:55:34 <ais523> elliott: also, there's some debug code that makes my own homedir visible inside the container; you will probably have to remove it or at least change the username
01:55:42 <elliott> heh
01:55:47 <coppro> ais523: presumably once you integrate it with C-INTERCAL, if you try to do a reverse assignment which is impossible, you'll get an error like BROKEN INSTRUMENT
01:55:50 <elliott> I mainly want to learn things from it, but executing it would be convenient too
01:56:05 <ais523> coppro: the current error message is THE LAWS OF MATHEMATICS DO NOT DISTORT THAT FAR or something like that
01:56:07 <elliott> it's a little sad how you need root
01:56:07 <ais523> but changing it might work
01:56:16 <elliott> for a program designed to do complete isolation
01:56:20 <coppro> ais523: that's a good one too
01:56:28 <coppro> ais523: but you should definitely refer to the name "violin" in at least one error
01:56:38 <ais523> yes, I get disappointed when people change error messages in INTERCAL, just because the new one is good
01:56:42 <ais523> but the old one is often good too
01:56:50 <ais523> e.g. PROGRAM HAS DISAPPEARED INTO THE BLACK LAGOON is great
01:56:59 <coppro> yeah, that is one of the more fantastic ones
01:57:06 <ais523> wait, no, that one wasn't a replacement
01:57:23 <coppro> nope
01:57:25 <ais523> I was thinking of THE NEXT STACK RUPTURES. ALL DIE! OH, THE EMBARRASSMENT
01:57:33 <ais523> which replaced PROGRAM ATTEMPTED TO EXIT WITHOUT ERROR MESSAGE
01:58:43 <ais523> (BLACK LAGOON is a NEXT stack overflow, RUPTURES is a NEXT stack underflow, you can't really blame me for getting them muddled)
01:59:50 <coppro> I love ERROR HANDLER PRINTED SOME SNIDE REMARK
02:00:05 <ais523> coppro: right; there's actually WARNING HANDLER PRINTED SNIDE REMARK too
02:00:28 <ais523> ERROR TYPE 621 ENCOUNTERED is fun too
02:00:41 <ais523> I documented it as "The compiler encountered error E621 (*note E621::)."
02:01:00 <ais523> although I also explained what situations cause it, after that, so as to not be completely recursively useless
02:01:21 <ais523> fwiw, my favourite out of the messages I personally wrote is YOU HAVE TOO MUCH ROPE TO HANG YOURSELF
02:03:00 <coppro> haha
02:05:01 <ais523> INTERCAL error messaging is an art, and I don't always succeed, it's pretty hard
02:05:23 <Bike> program attempted to exit without error message <-- good
02:06:01 <ais523> and it isn't used anywhere right now
02:06:18 <ais523> it'd be a decent replacement for PROGRAM FELL OFF THE END, actually
02:06:27 <ais523> but you have the usual problems with stdlib there
02:11:36 -!- Tobor has joined.
02:12:06 <ais523> hmm… if you run off the end of an asm program, do you run into the start of libc?
02:12:17 <ais523> if you did, I'd imagine it would put up a big PLEASE KNOCK BEFORE ENTERING sign too
02:13:37 <Bike> do any static linkers actually do that, i wonder
02:14:19 <coppro> ais523: THIS SOFTWARE DOES NOT SUPPORT BACK DOORS
02:14:42 <ais523> coppro: well part of the problem is, it has to start with "DO" or "PLEASE"
02:16:38 <coppro> ais523: that was an error
02:16:50 <elliott> ais523: incidentally, could you achieve something like weboflies by just running linux in bochs or something?
02:16:56 <elliott> and patching out stuff like timers to be deterministic
02:17:39 <ais523> elliott: yes; actually, weboflies was originally a project to build something like /that/
02:17:45 <ais523> via other means
02:17:57 <ais523> because I thought it'd be easier to get everything deterministic that way
02:18:27 <elliott> I'm not sure you were correct :)
02:18:37 <elliott> as in
02:18:41 <elliott> I'm not sure weboflies is easier than patching bochs
02:18:43 -!- Tobor has left.
02:19:14 <elliott> it's a little unnerving that it's so hard to provide completely reproducible computations...
02:20:36 <ais523> I may well have been wrong
02:27:39 <coppro> why are dolook and do_look different functions
02:27:47 <coppro> I really need to get clang refactoring set up
02:28:17 <ais523> coppro: in what? weboflies? if not, this is probably the wrong channel
02:28:38 <ais523> if NetHack 4, though, the answer is "the devteam are bad at naming things, and possibly didn't even realise there was a near-clash"
02:32:11 <elliott> ais523: btw, does weboflies have, like, a license?
02:32:18 <ais523> not yet
02:32:23 <ais523> it's default-all-rights-reserved
02:32:47 <ais523> if you want to use some of the code in something else directly, or even to finish it and make it work, we could try to agree a license
02:33:05 <coppro> ais523: err, that was meant to be in #nethack4
02:33:40 * elliott nods. I'm mostly interested in seeing how certain things are done rather than lifting any code, I was mainly asking in terms of redistribution in case I wanted to talk about what it's doing with people I know
02:34:05 <elliott> wow, I forgot it does graphics
02:34:09 <ais523> well it was meant to be secret
02:34:23 <ais523> elliott: I actually got Battle for Wesnoth to load in it
02:34:29 <ais523> but never managed to actually provide input past that point
02:34:42 <ais523> then decided I should probably be working on getting X working inside rather than SDL's framebuffer support
02:34:44 <ais523> that's about where I stopped
02:37:12 -!- callforjudgement has joined.
02:37:17 -!- ais523 has quit (Read error: Connection reset by peer).
02:37:28 -!- callforjudgement has changed nick to ais523.
02:39:40 <elliott> ais523: hmm, I wonder how badly getrandom(2) breaks weboflies
02:40:16 <ais523> I'd make it return a constant
02:40:20 <ais523> or step through a lookup table in order
02:40:22 <ais523> or something
02:40:36 <ais523> I remember installing /dev/zero as /dev/null…
02:41:32 <pikhq> ais523: Maybe just it use a weboflies PRNG.
02:41:42 <ais523> pikhq: that would be the eventual solution
02:41:45 <Sgeo> Google is useless for weboflies
02:41:52 <pikhq> Well no shit.
02:41:58 <ais523> although, getrandom and /dev/random are both intended for gathering seed entropy
02:41:59 <pikhq> ais523's brain is what we got.
02:42:08 <ais523> so returning zero constantly would probably have the intended result
02:42:10 <Sgeo> Oh
02:42:26 <ais523> Sgeo: weboflies used to be called The Secret Project
02:42:31 <ais523> until #esoteric managed to coax its name out of me
02:43:03 <pikhq> getrandom can also be used for /dev/urandom access.
02:43:22 <Sgeo> What... is it, if I may ask? Something to make things deterministic?
02:43:40 <pikhq> Yes. It's intended as a TAS tool for Linux binaries.
02:44:09 <pikhq> Making it *really dang awesome*, if a bit frightening.
02:44:33 <Sgeo> TAS as in tool-assisted speedrun?
02:44:36 <pikhq> Yes.
02:44:50 <Sgeo> o.O
02:49:57 <elliott> emacs speedrun (4m21s)
03:13:45 <Melvar> Funness I realized is possible just now:
03:14:11 <Melvar> ( :let data X = X.X
03:14:11 <idris-bot> defined
03:14:14 <Melvar> > :t X
03:14:15 <lambdabot> <hint>:1:1: parse error on input ‘:’
03:14:19 <Melvar> ( :t X
03:14:19 <idris-bot> X : Type
03:14:19 <idris-bot> X.X : X
03:15:17 <Melvar> (It miscolors too for some reason.)
03:52:24 <Sgeo> What's X.X?
03:52:41 <Sgeo> Oh, just a constructor name
03:59:15 <Sgeo> I love how the table listing Scala annotations and Java equivalent has scala.reflect.BeanProperty's equivalent as being... Design Pattern
04:04:30 <Sgeo> Scala unapply is basically pattern synonyms, right?
04:25:38 -!- upgrayeddd has left.
04:53:02 -!- ais523 has quit (Read error: Connection reset by peer).
04:53:08 -!- callforjudgement has joined.
04:53:13 -!- callforjudgement has changed nick to ais523.
04:53:54 -!- oerjan has quit (Quit: ZZZ).
05:00:55 -!- MDude has changed nick to MDream.
05:07:27 <Sgeo> Apple's anti-jailbreak propaganda states that "Additionally, third-party apps that use the Apple Push Notification Service have had difficulty receiving notifications or received notifications that were intended for a different hacked device. "
05:07:49 <Sgeo> If notificat... oh, for a different -hacked- device. Was going to note that that kind of implies security is really bad
05:10:37 <Sgeo> https://discussions.apple.com/message/18740587
05:10:38 <Sgeo> o.O
05:19:14 <Sgeo> Does Apple rely on manual review for security things that a normal OS would provide? e.g. restricting direct access to hardware?
05:20:09 <ais523> I doubt it, they may have some sort of review script
05:22:32 <Sgeo> I meant in terms of, using a review process instead of, say, rings at the OS level
05:22:53 <Sgeo> So that the device assumes that all code is fully trustworthy, and bad apps are blocked at the store level
05:23:11 <Sgeo> Which would make jailbreaking and using arbitrary apps more dangerous than using Android
05:23:40 <Sgeo> Reason I think of this is jailbreak
05:23:41 <Sgeo> oops
05:23:48 <Sgeo> http://www.computerworld.com/article/2491294/malware-vulnerabilities/the-pangu-jailbreak-for-ios-could-turn-into-a-sinister-attack.html
05:24:00 <Sgeo> "Apple thoroughly reviews applications in the App Store to make sure APIs that open up access to functions like a phone's microphone or camera aren't available. But those with special certificates can allow their applications to do anything."
05:24:18 <Sgeo> Could be inaccurate statement or me misinterpreting it
05:24:45 <Sgeo> But it makes it sound like the APIs are only restricted by the review process, not OS level functionality
05:33:31 -!- callforjudgement has joined.
05:33:58 -!- ais523 has quit (Read error: Connection reset by peer).
05:34:15 -!- callforjudgement has changed nick to ais523.
05:41:48 -!- callforjudgement has joined.
05:44:20 -!- ais523 has quit (Ping timeout: 244 seconds).
05:45:21 -!- callforjudgement has changed nick to ais523.
06:00:37 -!- callforjudgement has joined.
06:00:55 -!- ais523 has quit (Read error: Connection reset by peer).
06:00:57 -!- callforjudgement has changed nick to ais523.
06:03:53 -!- ais523 has quit (Client Quit).
06:04:10 -!- ais523 has joined.
06:06:41 <elliott> Sgeo: iOS has pretty heavy sandboxing and security
06:06:57 <elliott> there's some official pdfs about it you can find
06:07:06 <elliott> (of course they will always paint the rosiest picture they can)
06:07:13 <elliott> (but it's definitely not "everything runs in ring 0")
06:07:33 <Sgeo> Hmm, ok
06:09:31 <elliott> ps why are you trusting computerworld.com on technical operating system details
06:09:38 <elliott> like, really.
06:20:02 -!- ais523 has quit (Read error: Connection reset by peer).
06:20:10 -!- ais523 has joined.
06:22:45 <Sgeo> Does Cydia have separate sections for sandboxed and non-sandboxed apps?
06:42:47 -!- MoALTz has quit (Ping timeout: 272 seconds).
06:47:35 -!- sebbu has quit (*.net *.split).
06:47:36 -!- Sgeo has quit (*.net *.split).
06:47:36 -!- mroman has quit (*.net *.split).
06:47:36 -!- shachaf has quit (*.net *.split).
06:47:37 -!- yiyus has quit (*.net *.split).
06:47:37 -!- FireFly has quit (*.net *.split).
06:47:37 -!- Melvar has quit (*.net *.split).
06:47:38 -!- visy_ has quit (*.net *.split).
06:47:38 -!- myndzi has quit (*.net *.split).
06:47:38 -!- mtve has quit (*.net *.split).
06:47:38 -!- brandons1 has quit (*.net *.split).
06:47:38 -!- erdic has quit (*.net *.split).
06:47:39 -!- J_Arcane has quit (*.net *.split).
06:47:39 -!- nisstyre has quit (*.net *.split).
07:00:28 -!- brandons1 has joined.
07:00:28 -!- erdic has joined.
07:00:28 -!- J_Arcane has joined.
07:00:28 -!- nisstyre has joined.
07:00:28 -!- Melvar has joined.
07:00:28 -!- visy_ has joined.
07:00:28 -!- myndzi has joined.
07:00:28 -!- mtve has joined.
07:03:53 -!- Patashu has quit (Ping timeout: 258 seconds).
07:10:40 -!- sebbu has joined.
07:10:40 -!- Sgeo has joined.
07:10:40 -!- mroman has joined.
07:10:40 -!- shachaf has joined.
07:10:40 -!- yiyus has joined.
07:10:40 -!- FireFly has joined.
07:17:53 -!- nisstyre has quit (Max SendQ exceeded).
07:20:23 -!- nisstyre has joined.
07:25:14 -!- ais523 has quit (Ping timeout: 245 seconds).
07:28:58 -!- sebbu has quit (*.net *.split).
07:28:58 -!- Sgeo has quit (*.net *.split).
07:28:59 -!- mroman has quit (*.net *.split).
07:28:59 -!- shachaf has quit (*.net *.split).
07:28:59 -!- yiyus has quit (*.net *.split).
07:28:59 -!- FireFly has quit (*.net *.split).
07:29:00 -!- Melvar has quit (*.net *.split).
07:29:00 -!- visy_ has quit (*.net *.split).
07:29:01 -!- myndzi has quit (*.net *.split).
07:29:01 -!- mtve has quit (*.net *.split).
07:29:01 -!- brandons1 has quit (*.net *.split).
07:29:01 -!- erdic has quit (*.net *.split).
07:29:02 -!- J_Arcane has quit (*.net *.split).
07:32:24 -!- J_Arcane has joined.
07:32:24 -!- erdic has joined.
07:32:24 -!- brandons1 has joined.
07:32:24 -!- sebbu has joined.
07:32:24 -!- Sgeo has joined.
07:32:24 -!- mroman has joined.
07:32:24 -!- shachaf has joined.
07:32:24 -!- yiyus has joined.
07:32:24 -!- FireFly has joined.
07:34:13 -!- callforjudgement has joined.
07:36:45 -!- brandons1 has quit (*.net *.split).
07:36:45 -!- erdic has quit (*.net *.split).
07:36:46 -!- J_Arcane has quit (*.net *.split).
07:37:31 -!- Melvar has joined.
07:37:31 -!- visy_ has joined.
07:37:31 -!- myndzi has joined.
07:37:31 -!- mtve has joined.
07:39:39 -!- brandons1 has joined.
07:40:05 -!- erdic has joined.
07:40:05 -!- J_Arcane has joined.
07:54:43 <elliott> callforjudgement: weboflies' syscall code is so horrific
07:55:03 <callforjudgement> elliott: weboflies is almost entirely syscall code
07:55:13 <callforjudgement> (this isn't meant to contradict /or/ support what you're saying)
07:55:50 <callforjudgement> incidentally, the whole thing where I wind back the IP a fixed number of bytes, the Linux ABI for 86 actually specifically guarantees that that will work no matter what the syscall implementation used
07:55:54 <callforjudgement> * x86
07:57:07 <elliott> yikes
07:57:25 <elliott> I should probably read KDGKBENT's source to find out what the arguments and return even are
07:59:33 <shachaf> What is weboflies?
08:21:17 <elliott> callforjudgement: heh, does ioctl_test have to be ran on an actual VT?
08:21:27 <elliott> I guess I need qemu
08:21:34 <callforjudgement> elliott: control-alt-f1?
08:26:10 <elliott> callforjudgement: well, it's a VM
08:26:16 <elliott> I suppose I can log into the VM's console
08:26:41 <callforjudgement> elliott: oh, the problem is that the VM doesn't allow you to send control-alt-F1?
08:26:52 <elliott> no, just that I access it through ssh
08:26:54 <elliott> so it's more work :p
08:26:59 <elliott> (normally)
08:31:55 <fizzie> I seem to have missed what was going on, but it sounds hacky.
08:32:01 -!- drdanmaku has quit (Quit: Connection closed for inactivity).
08:35:07 <elliott> hm?
08:36:58 -!- scarf has joined.
08:37:16 <fizzie> As in, are you building something in particular, or just playing around?
08:38:59 -!- scarf has changed nick to ais523.
08:39:15 <ais523> fizzie: he asked for weboflies source for some unknown reason
08:39:21 <ais523> and is now presumably trying to get it to work
08:39:22 -!- callforjudgement has quit (Ping timeout: 265 seconds).
08:39:55 <fizzie> Unknown but nefarious reason.
08:43:34 <elliott> I've just had reproducible/deterministic stuff on the mind lately.
08:43:38 <elliott> it reminded me of weboflies.
08:43:43 <elliott> and I felt like reading it again.
08:46:57 <elliott> hmm, is there any way to attach an actual tty to a weboflies program? so you don't have to send everything keys entirely from the debug menu
08:47:09 <elliott> (but time is frozen between keypresess, while it's waiting, or such)
08:47:14 <elliott> if not, maybe I'll try and patch it in (badly)
08:47:33 <ais523> elliott: I was planning for that to be a wrapper around weboflies, eventually
08:48:49 <elliott> right
08:51:54 <fizzie> Can't seem to mentally parse that as web-of-lies instead of web-o'-flies.
08:52:13 <lifthrasiir> we-bo'-flies?
08:52:35 <fizzie> Fruit flies and webo flies.
08:52:46 <Sgeo> Oh look Scala's fixity rules are simpler than Haskells
08:55:03 <elliott> fizzie: nobody can
09:33:50 -!- impomatic_ has joined.
09:45:33 <Sgeo> Scala for syntax doesn't assume >>=
09:53:24 -!- Frooxius has quit (*.net *.split).
09:53:24 -!- heroux has quit (*.net *.split).
09:53:24 -!- applybot has quit (*.net *.split).
09:53:24 -!- olsner has quit (*.net *.split).
09:53:25 -!- heroux_ has changed nick to heroux.
09:53:39 -!- heroux has changed nick to 14WAADDIM.
09:53:50 -!- Frooxius has joined.
09:53:50 -!- heroux has joined.
09:53:50 -!- applybot has joined.
09:53:50 -!- olsner has joined.
09:55:22 -!- erdic has quit (*.net *.split).
09:55:23 -!- J_Arcane has quit (*.net *.split).
09:56:07 -!- erdic has joined.
09:56:07 -!- J_Arcane has joined.
09:58:15 -!- newsham has quit (*.net *.split).
09:58:15 -!- Bike has quit (*.net *.split).
09:58:15 -!- viznut_ has quit (*.net *.split).
09:58:16 -!- KingOfKarlsruhe has quit (*.net *.split).
09:58:16 -!- TodPunk has quit (*.net *.split).
09:58:16 -!- coppro has quit (*.net *.split).
09:58:17 -!- aloril has quit (*.net *.split).
09:58:17 -!- tromp has quit (*.net *.split).
09:58:17 -!- nortti has quit (*.net *.split).
09:58:17 -!- quintopia has quit (*.net *.split).
09:59:00 -!- newsham has joined.
09:59:00 -!- Bike has joined.
09:59:00 -!- viznut_ has joined.
09:59:00 -!- KingOfKarlsruhe has joined.
09:59:00 -!- TodPunk has joined.
09:59:00 -!- coppro has joined.
09:59:00 -!- aloril has joined.
09:59:00 -!- tromp has joined.
09:59:00 -!- nortti has joined.
09:59:00 -!- quintopia has joined.
10:03:22 -!- callforjudgement has joined.
10:04:03 -!- ais523 has quit (Read error: Connection reset by peer).
10:04:18 -!- callforjudgement has changed nick to ais523.
10:17:21 -!- boily has joined.
11:00:20 <HackEgo> [wiki] [[Brainfuck]] http://esolangs.org/w/index.php?diff=40661&oldid=40659 * Rdebath * (-131) Undo revision 40659 not very notable yet (no firsts), by [[Special:Contributions/204.154.122.227|204.154.122.227]] ([[User talk:204.154.122.227|talk]])
11:03:49 -!- impomatic_ has quit (Ping timeout: 265 seconds).
11:04:25 -!- boily has quit (Quit: WHETTING CHICKEN).
11:28:59 -!- callforjudgement has joined.
11:29:02 -!- ais523 has quit (Read error: Connection reset by peer).
11:36:37 -!- callforjudgement has changed nick to ais523.
11:46:54 -!- InputUsername has joined.
11:48:54 -!- InputUsername has quit (Client Quit).
11:51:17 -!- InputUsername has joined.
11:51:59 -!- InputUsername has left.
11:53:04 -!- ais523 has quit (Read error: Connection reset by peer).
11:53:15 -!- ais523 has joined.
11:55:03 -!- copumpkin has quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…).
11:55:41 -!- scounder has joined.
12:02:10 -!- ais523 has quit.
12:02:23 -!- ais523 has joined.
12:17:42 -!- impomatic_ has joined.
12:20:21 -!- callforjudgement has joined.
12:20:35 <HackEgo> [wiki] [[Special:Log/newusers]] create * TomPN * New user account
12:21:38 <HackEgo> [wiki] [[Musical notes]] N http://esolangs.org/w/index.php?oldid=40662 * TomPN * (+4016) Musical notes is an esoteric programming language invented by Tom Price-Nicholson in 2014.
12:23:02 -!- ais523 has quit (Ping timeout: 250 seconds).
12:23:26 <HackEgo> [wiki] [[Main Page]] http://esolangs.org/w/index.php?diff=40663&oldid=39452 * TomPN * (+58)
12:26:07 <HackEgo> [wiki] [[Language list]] http://esolangs.org/w/index.php?diff=40664&oldid=40642 * TomPN * (+20)
12:26:45 <HackEgo> [wiki] [[Musical notes]] http://esolangs.org/w/index.php?diff=40665&oldid=40662 * TomPN * (-2)
12:27:44 <HackEgo> [wiki] [[Musical notes]] http://esolangs.org/w/index.php?diff=40666&oldid=40665 * TomPN * (-11) /* Syntax */
12:27:56 <HackEgo> [wiki] [[Musical notes]] http://esolangs.org/w/index.php?diff=40667&oldid=40666 * TomPN * (-1) /* = Notes */
12:29:00 <HackEgo> [wiki] [[Musical notes]] http://esolangs.org/w/index.php?diff=40668&oldid=40667 * TomPN * (+16) /* Line functions */
12:34:41 <fizzie> Er.
12:34:58 <fizzie> Editing the Main Page like that seems rather unconventional.
12:36:39 <fizzie> ...especially for a brainfuck derivative...
12:36:56 <HackEgo> [wiki] [[Musical-X]] http://esolangs.org/w/index.php?diff=40669&oldid=35550 * TomPN * (+67)
12:37:35 <HackEgo> [wiki] [[Main Page]] http://esolangs.org/w/index.php?diff=40670&oldid=40663 * Ais523 * (-58) Undo revision 40663 by [[Special:Contributions/TomPN|TomPN]] ([[User talk:TomPN|talk]]): I don't think putting new esolangs on the Main Page like that is a good way to go about things
12:38:04 <HackEgo> [wiki] [[Choon]] http://esolangs.org/w/index.php?diff=40671&oldid=13383 * TomPN * (+60)
12:38:06 <callforjudgement> we could sensibly put a link to newpages on the main page, but recentchanges is probably better for the purpose given the nature of Esolang
12:38:36 <callforjudgement> also, wow is that page underlinked
12:38:55 <callforjudgement> I want to put {{wikify}} on it but that template doesn't exist on Esolang (and doesn't exist on Wikipedia either nowadays)
12:39:11 <HackEgo> [wiki] [[Velato]] http://esolangs.org/w/index.php?diff=40672&oldid=33629 * TomPN * (+65)
12:39:27 <callforjudgement> I'll let oerjan shout at the author, oerjan's good at shouting
12:40:04 <HackEgo> [wiki] [[Timesig]] http://esolangs.org/w/index.php?diff=40673&oldid=16288 * TomPN * (+65)
12:40:16 <fizzie> I'm somewhat dubious about putting extra "see also" sections to each and every music-themed language, but at least it's not Main Page.
12:40:28 <HackEgo> [wiki] [[User:Rdebath]] http://esolangs.org/w/index.php?diff=40674&oldid=40586 * Rdebath * (+1441) /* Performance Matrix */
12:40:39 <callforjudgement> I think adding links to and from Velato, etc., is reasonable
12:40:47 <callforjudgement> adding them only one way is pretty like self-promotion, though
12:41:13 <HackEgo> [wiki] [[Bitoven]] http://esolangs.org/w/index.php?diff=40675&oldid=40516 * TomPN * (+59)
12:41:23 <fizzie> Category:Musical or something could exist, along the other "source format" ones.
12:41:28 <fizzie> I hadn't realized there's this many.
12:42:09 <HackEgo> [wiki] [[User talk:TomPN]] N http://esolangs.org/w/index.php?oldid=40676 * Ais523 * (+495) /* Musical esolangs */ new section
12:42:16 <callforjudgement> and indeed, yes
12:42:23 <callforjudgement> this is starting to look like a good category option
12:44:17 <HackEgo> [wiki] [[Esolang talk:Categorization]] http://esolangs.org/w/index.php?diff=40677&oldid=39198 * Ais523 * (+573) /* Musical esolangs */ new section
12:45:15 <HackEgo> [wiki] [[User talk:TomPN]] http://esolangs.org/w/index.php?diff=40678&oldid=40676 * Ais523 * (+383) actually, probably this should be a category
12:45:31 <fizzie> "This design feature [of allowing the Chunnel to be flooded on demand] did not override the concerns of both nations' military leaders, and other concerns about hordes of undesirable tourists who would disrupt English habits of living."
12:45:43 <callforjudgement> at least Esolang still has the Orange Bar Of Doom
12:45:48 <fizzie> I guess drowning would have been a little too harsh even for tourists.
12:46:02 <HackEgo> [wiki] [[Musical notes]] http://esolangs.org/w/index.php?diff=40679&oldid=40668 * TomPN * (+115)
12:48:05 <HackEgo> [wiki] [[Esolang talk:Categorization]] http://esolangs.org/w/index.php?diff=40680&oldid=40677 * TomPN * (+71)
12:50:47 <HackEgo> [wiki] [[Musical notes]] http://esolangs.org/w/index.php?diff=40681&oldid=40679 * Ais523 * (+2) style edits, typo fixes, and make this a little less tragically underlinked; move the "please create an interpreter" request to [[Category:Unimplemented]] which mostly serves that purpose
12:50:50 <HackEgo> [wiki] [[Musical notes]] http://esolangs.org/w/index.php?diff=40682&oldid=40681 * TomPN * (+13) /* Staff and ledger lines */
12:51:20 <HackEgo> [wiki] [[Musical notes]] http://esolangs.org/w/index.php?diff=40683&oldid=40682 * TomPN * (-12) /* Staff and ledger lines */
12:52:19 <HackEgo> [wiki] [[Musical notes]] http://esolangs.org/w/index.php?diff=40684&oldid=40683 * Ais523 * (-204) /* A note from the author */ move copyright note to the talkpage, it's about the article rather than being about the language
12:52:20 <HackEgo> [wiki] [[Talk:Musical notes]] N http://esolangs.org/w/index.php?oldid=40685 * Ais523 * (+394) move copyright note to the talkpage, it's about the article rather than being about the language
12:52:43 <callforjudgement> how many of BF's categories do we put on BF derivatives?
12:53:37 <callforjudgement> oh wow, it's sub-TC
12:53:47 <callforjudgement> all loops have a fixed number of iterations
12:54:02 <callforjudgement> I think we need Phantom_Hoover for this one
12:54:19 <fizzie> Hey, at least you can say it's different from BF.
12:54:52 <Taneb> callforjudgement, which one?
12:55:03 <callforjudgement> Taneb: http://esolangs.org/wiki/Musical_notes
12:56:53 <HackEgo> [wiki] [[Musical notes]] http://esolangs.org/w/index.php?diff=40686&oldid=40684 * Ais523 * (+479) computational class; it bothers me how often people manage to make BF sub-TC by removing useful loops from it
12:57:38 <HackEgo> [wiki] [[Musical notes]] M http://esolangs.org/w/index.php?diff=40687&oldid=40686 * Ais523 * (+0) /* Computational class */ fix cat names
12:57:58 <callforjudgement> oh, loops can't be nested /either/?
12:58:12 <callforjudgement> I was going to say that it was the .,<>+-()* fragment of BF
12:58:13 <callforjudgement> but it isn't even that
12:58:37 <callforjudgement> it's nowhere near as bad as ESME, but I find it rather more offensive
12:59:23 <callforjudgement> also, no accidentals rather limits the /musical/ possibilities
13:07:24 <HackEgo> [wiki] [[Musical notes]] http://esolangs.org/w/index.php?diff=40688&oldid=40687 * TomPN * (+120)
13:07:57 <quintopia> what is going on
13:08:02 <quintopia> that is a lot of edits
13:08:04 <callforjudgement> quintopia: see the page that's been edited a lot recently
13:08:08 <callforjudgement> or, well, recent changes
13:08:15 <callforjudgement> note: you need a high tolerance for awful BF derivatives
13:08:16 <quintopia> it's almost like the wiki is popular again
13:08:36 <HackEgo> [wiki] [[Musical notes]] http://esolangs.org/w/index.php?diff=40689&oldid=40688 * TomPN * (-408) /* Computational class */
13:09:41 <callforjudgement> hmm, I'm still remembering the way that C-INTERCAL has entirely different semantics for ¥ depending on whether it's encoded in UTF-8 or Latin-1
13:09:56 <callforjudgement> and this actually does the right thing in all known existing cases
13:13:12 <quintopia> what is ¥ even supposed to do again
13:13:25 <b_jonas> isn't it a replacement for the bookworm character
13:14:06 <b_jonas> I mean, it sort of looks like that
13:15:16 <callforjudgement> it's a bookworm character in CLC-INTERCAL (thus unary exclusive or), and a currency symbol in C-INTERCAL (thus mingle)
13:15:24 <callforjudgement> which use latin-1 and utf-8 encoding respectively
13:15:40 <b_jonas> ouch
13:15:43 <b_jonas> wtf
13:15:46 <callforjudgement> so C-INTERCAL just uses the CLC-INTERCAL interpretation if the input happens to be latin-1
13:15:52 <b_jonas> so they use the same character for two different purpose?
13:15:58 <b_jonas> how is the bookworm encoded then?
13:15:59 <callforjudgement> b_jonas: this is INTERCAL
13:16:05 <b_jonas> yeah yeah
13:16:12 <callforjudgement> and C-INTERCAL bookworm is normally ?, although V backspace - is accepted
13:16:32 <b_jonas> isn't there some fancy unicode character equated with bookworm?
13:17:00 <b_jonas> or a proposal to add it a new unicode character for it?
13:17:06 <callforjudgement> an upside-down A might or might not be permitted, I'm not sure
13:17:15 <callforjudgement> although obviously that's not quite identical to a bookworm
13:19:17 -!- drdanmaku has joined.
13:22:53 <b_jonas> there's ⊻ which some crazy people use as a sign for 'xor', and ⊽ which is used in APL for 'nor', and I think there's a nabla with either minus or tilde through it, but I don't know of an exact match
13:23:01 <b_jonas> if there isn't, one should be added to unicode
13:23:31 <callforjudgement> hey, TomPN deleted my section about the computational class
13:23:42 <callforjudgement> I don't want to edit war, because that would be really stupid
13:23:53 <callforjudgement> could someone else make a decision about whether it should be included or not?
13:24:21 <callforjudgement> b_jonas? quintopia? fizzie?
13:24:48 -!- callforjudgement has quit.
13:25:07 -!- callforjudgement has joined.
13:26:34 <callforjudgement> ooh, elliott's online and probably has the right opinion about this
13:26:51 <callforjudgement> first time I've come across what is probably a POV pusher on Esolang
13:27:45 <b_jonas> um...
13:28:00 <b_jonas> is this suppsoed to be some strange brainfuck variant described by someone who doesn't understand what he writes?
13:28:05 <b_jonas> I'm still trying to interpret the description
13:28:11 <callforjudgement> b_jonas: yes, and someone who deleted my section on the computational class
13:28:23 <callforjudgement> because it made it clear how useless the language was
13:28:58 <b_jonas> callforjudgement: maybe you shouldn't care too much about that... there's already lots of useless esolangs out there
13:29:25 <callforjudgement> I don't care about the esolang being useless, that much (well, this one's offensively useless, but…)
13:29:26 <b_jonas> or it could be a work in progress or something
13:29:45 <callforjudgement> I care about the user actively making the page worse by deleting information about the language from it
13:29:56 <callforjudgement> knowing the computational class is often interesting with these languages
13:30:09 <callforjudgement> but I don't want to get into a revert war by myself
13:30:15 <b_jonas> sure
13:30:20 <callforjudgement> I'd like you to look at the revert of my edit, and unrevert it if you agree
13:30:29 <b_jonas> I'll try to understand the description first, as much as it's possible
13:30:34 <callforjudgement> fair enough
13:30:40 <b_jonas> it's not a very clear description
13:30:54 <callforjudgement> basically, though, it's the subset of BF with <>+-., and ()* from BF Joust, only the ()* doesn't nest
13:31:09 <callforjudgement> oh, and you can RLE the <>+- with a separate mechanism from the ()*
13:33:28 <callforjudgement> meanwhile, I thought editing the link to the language onto the /Main Page/ of all pages was a bit much, but I just reverted that, rather than yelling
13:35:04 <b_jonas> um... is this description tries to call bf's data tape an “instruction tape”?
13:35:45 <callforjudgement> err, yes it does
13:35:49 <callforjudgement> you could probably fix that
13:35:59 <callforjudgement> or I could, I guess
13:36:01 <b_jonas> no wait
13:36:02 <b_jonas> wait
13:36:30 <b_jonas> maybe it's trying to mean that the data tape is the same as the number parts (the tenor) of the instruction tape, and is mutable,
13:36:50 <b_jonas> and so those numbers can be changed by the program and modify how instructions work?
13:37:03 <b_jonas> seems strange, and is probably not very workable, but still
13:37:16 <b_jonas> maybe there's a reason it's called that
13:37:30 <b_jonas> but I'm probably just overthinking this
13:37:30 <callforjudgement> it describes it as a tape like in BF
13:37:46 <callforjudgement> I think you have a mental bias towards believing that the language can't possibly be that bad
13:37:59 <b_jonas> ok wait, there's another part I don't understand
13:38:10 <b_jonas> first he says “The pitch of the note determines its function, while the value of the note (crotchet, minim etc.) determines how many times the function occurs.”
13:38:12 <callforjudgement> I mean, a version of BF where each command had a repeat count based on the position of the matching tape element would actually be interesting
13:38:22 <b_jonas> then he talks about the notes in the tenor determining how many times the instruction occurs, or something
13:38:27 <callforjudgement> b_jonas: right, I just realised that contradicted the entirety of the rest of the page
13:38:38 <b_jonas> um
13:39:14 <b_jonas> what if we say it's a work in progress because it's been created today, and wait for the author to fix the description
13:39:18 <b_jonas> maybe we should write him a msesage
13:39:22 <b_jonas> TomPN: can you hear us here?
13:39:22 <callforjudgement> this is veering dangerously close into [[Category:Shameful]] territory
13:39:30 <callforjudgement> b_jonas: I've already written two on the talk page, about other things
13:39:45 <callforjudgement> however, I consider linking to your language from the Main Page an indication that you consider it finished
13:40:24 <b_jonas> linking from the main page?
13:40:37 <b_jonas> oh..
13:40:57 <b_jonas> ouch
13:40:59 <b_jonas> that looks bad
13:43:11 <b_jonas> that user seems seriously confused
13:44:17 <int-e> meh, *of course* on can cheat on tetration.
13:44:37 <callforjudgement> I'm going to have to look at Esme again just to relax
13:44:49 -!- augur_ has quit (Remote host closed the connection).
13:45:15 <b_jonas> callforjudgement: ugh
13:45:17 -!- augur has joined.
13:49:40 <callforjudgement> sorry for subjecting you to this
13:49:49 -!- augur has quit (Ping timeout: 245 seconds).
13:49:51 <callforjudgement> I should probably just have gotten into the edit war
13:49:56 <callforjudgement> then blocked for 3RR
13:50:12 <b_jonas> nah, no problem
13:50:29 <b_jonas> I've seen crazier users.
13:50:51 <b_jonas> I hope this one can just be reverted on other pages and left alone on that one page about that “language”
13:50:58 <callforjudgement> doing that at Wikipedia would be mindbogglingly frowned on even though it doesn't violate the letter of any objective rules
13:51:07 <b_jonas> sure
13:51:10 <b_jonas> but this is not wikipedia
13:51:15 <callforjudgement> yes
13:51:22 <callforjudgement> it'd still be incredible admin rougeness, thoguh
13:51:30 <b_jonas> if he gets bored and leaves, we can just delete the page after two weeks
13:51:36 <callforjudgement> ideal situation would be if they got reverted four times by four different users
13:51:41 <callforjudgement> and I'd prefer the page to exist but be accurate
13:52:02 <b_jonas> could we just try to tell him that his description is nonsense and please try to make it clearer?
13:52:26 <callforjudgement> sure, that might work
13:52:33 <callforjudgement> more diplomatic language would be nice unless you were really annoyed
13:52:46 <b_jonas> and tell him the three main reasons why it's unclear (the loop insns; tenor vs note length; the "instruction tape")
13:53:18 <callforjudgement> loop insns are pretty clear to me
13:54:36 <b_jonas> no they're not, not if it claims to be a bf variant and has "([)" there. if they're useless loop structions, they at least need a note.
13:54:41 <b_jonas> wait
13:54:48 <b_jonas> "loops cannot be nested." just like that?
13:54:56 <b_jonas> then it doesn't even matter how they're controlled, right?
13:55:00 <b_jonas> I didn't notice that
13:55:10 <callforjudgement> it could do
13:55:34 <callforjudgement> no control is much more useless than unnested loops
13:55:35 <b_jonas> with more powerful instructions, sure. in brainfuck, I think it doesn't. or does it?
13:55:39 <b_jonas> well
13:55:42 <callforjudgement> if + 1 while is TC
13:55:55 <b_jonas> yeah
13:55:59 <b_jonas> not in bf though
13:56:13 <b_jonas> (otherwise you don't even need if)
13:56:28 <callforjudgement> the lack of if is the missing part here
13:56:37 <b_jonas> yap
13:57:43 <b_jonas> ok, anyway, someone should compose an, um, polite message to this user asking to clarify
14:01:00 -!- scarf has joined.
14:03:59 -!- callforjudgement has quit (Ping timeout: 245 seconds).
14:04:03 <int-e> oh, I missed that the loops amount the plain repetition.
14:04:09 <int-e> how awful.
14:07:46 -!- scarf has changed nick to ais523.
14:08:11 <ais523> that CC section would make them harder to miss
14:09:56 <int-e> that's what I read
14:10:06 <int-e> (as a diff. sigh.)
14:10:39 <ais523> I'd prefer it if someone not-me either reinstated it, or said it shouldn't be reinstated
14:10:52 <ais523> because I don't like to edit war without extra opinions
14:11:13 <int-e> I'm an IP address, I don't think me doing it would help :P
14:16:33 <ais523> it should, at least
14:16:35 <ais523> I know you're not me
14:16:46 <ais523> and the other admins could also verify that
14:17:10 <b_jonas> int-e: um, register?
14:21:12 <b_jonas> ais523: I say, let's not revert that into the article, at least not verbatim, instead write to the author to ask for clarification
14:21:18 <ais523> b_jonas: right
14:21:29 <ais523> are you going to write the message?
14:21:40 <b_jonas> uh. maybe...
14:21:42 <b_jonas> ok, I'll write one
14:22:17 -!- S1 has joined.
14:24:40 <HackEgo> [wiki] [[Musical notes]] http://esolangs.org/w/index.php?diff=40690&oldid=40689 * TomPN * (+476)
14:24:50 <b_jonas> ah, he's still here, great
14:24:58 <b_jonas> I'll try to catch him
14:26:20 <b_jonas> oh no, it's getting weirder
14:27:31 <ais523> they removed the unusable for programming
14:27:37 <b_jonas> ais523: wait
14:27:40 <ais523> it still is, because it cannot add two user input values to each other
14:28:10 <b_jonas> ais523: could we find some category name that sounds more scientific than "unsuitable for programming"? because I could call any of those languages that require a double-exponential time to do anything "unsuitable for programming". or I could even call COBOL that.
14:28:44 <ais523> "unusable", not "unsuitable"
14:28:54 <b_jonas> either way
14:28:58 <HackEgo> [wiki] [[Musical notes]] http://esolangs.org/w/index.php?diff=40691&oldid=40690 * TomPN * (+1) /* Example program */
14:29:43 <ais523> this is basically analogous to the "minsky machine with only one counter" situation
14:29:49 <ais523> it has multiple tape elements, but you can't read any of them
14:29:55 <ais523> only add and subtract constants
14:30:14 <ais523> actually, it'd be pretty funny to write a new computational class section explaining that it /still/ isn't usable, and why
14:30:45 <b_jonas> ais523: well, I still don't understand the semantics, so I'm just trying to ask about that in a message I'm writing
14:31:00 <b_jonas> we can figure out how to insult the language and/or the author's intelligence later
14:31:11 <b_jonas> meh, no kidding, we're doing that already here
14:34:07 <int-e> Every Musical notes program performs a predetermined sequence of operations and terminates.
14:34:23 <ais523> well, I find figuring out computational class interesting
14:34:27 <ais523> and every page should have a section about it
14:34:33 <ais523> (or the "unknown" cat)
14:34:42 <HackEgo> [wiki] [[User talk:TomPN]] http://esolangs.org/w/index.php?diff=40692&oldid=40678 * B jonas * (+1013) /* == Please clarify Mudaical notes */ new section
14:34:48 <ais523> in this case, it is known, but the author's reverting attempts to mention it
14:34:49 <int-e> I think the "computational class" term may not be applicable ;-)
14:34:59 <int-e> As there is no computation going on.
14:35:01 <ais523> "unusable"'s a class, right?
14:35:24 <ais523> at least this whole thing has given me /two/ esolang ideas
14:35:41 <HackEgo> [wiki] [[Talk:Musical notes]] http://esolangs.org/w/index.php?diff=40693&oldid=40685 * B jonas * (+208) /* Unclear description */ new section
14:36:07 <ais523> one is BF where the tape gives repeat counts for the corresponding program elements, and this is the only way to do conditionals (note: obviously, the tape must be bignum for this to have any chance of not being trivially sub-TC)
14:36:16 -!- augur has joined.
14:36:37 <ais523> and the other is a language designed to start from the specification of BF on the wiki, and change the minimum number of words to make an entirely different language
14:37:13 <int-e> ais523: the first idea should give you the same power as primitve recursion.
14:37:19 <ais523> (defined as "any translation from that language to or from BF would more likely be via other languages than direct")
14:37:22 <int-e> (i.e., loop programs)
14:37:29 <b_jonas> I think that example program in that article is in a nonportable key signiture whose behaviour the standard doesn't describe.
14:38:02 <ais523> b_jonas: hmm, that's one of the necessary requirements to be Esme, I think
14:38:15 <ais523> (i.e. "the example given doesn't fit the defined syntax for the language")
14:38:16 <b_jonas> ais523: and the third is to Artificial Evolution on Goat Napper to teach him new tricks
14:38:36 <ais523> b_jonas: that's an M:tG reference, right?
14:38:51 <b_jonas> yes
14:38:58 <ais523> I assume Artificial Evolution lets you rewrite "Goat" to any creature type, and thus gain control of any creature but The Nameless One?
14:39:34 <b_jonas> yes -- or alternately it lets you rewrite Goblin or Rogue which is booring
14:40:04 <ais523> what about Conspiracy, to make everything goats?
14:40:07 <ais523> seems more repeatable
14:40:21 <b_jonas> I think Shields of Velis Vel is much simpler
14:40:31 <b_jonas> Conspiracy is sort of heavy
14:41:00 <ais523> but it's permanent
14:41:09 <ais523> SoVV only lasts for a turn
14:41:34 <b_jonas> or Amoeboid Changeling or Blades of Velis Vel (that one helps because you're going to attack with the goat) or Wings of Velis Vel
14:41:58 <b_jonas> sure, Conspiracy might work too
14:47:48 <b_jonas> but somehow I'm not sure just BF with the data tape overlapping with repetition counts could work. would you have enough time to manipulate the repeat counts?
14:48:01 <b_jonas> hmm, maybe it's possible
14:48:04 <b_jonas> dunno
14:52:32 <ais523> b_jonas: I'm not sure either, that's why it's interesing
14:52:50 <b_jonas> we can repeat < and > too, not only [] right?
14:53:32 <b_jonas> so you could use < > sort of like you use fixed address instructions as indexed instructions by writing to their code
14:53:59 <b_jonas> you can like increment and decrement the count on all such instructions to move a virtual head
14:54:24 <ais523> yes
14:54:25 <b_jonas> hmm, might be as powerful as a multi-taped turing machine then
14:54:33 <b_jonas> but what's the semantics of [] in first place then?
14:54:48 <ais523> maybe we don't have [], but the entire program is in a loop
14:54:53 <ais523> might still be TC
14:55:00 <b_jonas> ugh
14:55:19 <b_jonas> seems dangerous
14:55:33 <ais523> "dangerous"?
14:55:47 <b_jonas> difficult to program
14:56:02 <ais523> if you can figure out how to program in it immediately
14:56:07 <ais523> it's not normally a very good esolang
14:56:11 <b_jonas> sure
14:56:16 <ais523> or, well, a good esolang changes the way you think
14:56:26 <b_jonas> yes it so does
14:56:34 <b_jonas> but I prefer good non-eso langs that do that
14:56:50 <b_jonas> or good libraries in non-eso langs
14:57:28 <ais523> many of the mindbending ideas were pretty eso before they became mainstream
14:57:41 <b_jonas> yeah
14:57:45 <ais523> I think Prolog is /still/ an esolang
14:57:49 <ais523> it fits most definitions
14:58:05 <b_jonas> yeah, but prolog at least has an easily programmable subset
14:58:41 <ais523> even so, trying to figure out how to do something in Prolog is far from obvious
14:58:59 <b_jonas> you can translate lambda expressions and ordinary non-mutable fixed-size cells to prolog in a mostly straightforward way
14:59:10 <b_jonas> (I have a compiler)
14:59:25 <b_jonas> (there's just two tricks you need to know, and one of those is really only needed for debugging)
14:59:45 <ais523> well, Prolog is basically like lambda calculus if you have call and univ
14:59:57 -!- prooftechnique has joined.
15:00:47 <b_jonas> I say if you have call and ... whatever is that thing that copies a structure replacing variables with fresh ones, let me look it up
15:01:11 <ais523> copy_term, IIRC
15:01:57 <b_jonas> yes, copy_term or fd_copy_term
15:02:01 <b_jonas> that's it
15:03:58 <ais523> b_jonas: you use gprolog too?
15:04:16 <b_jonas> I don't really use any prolog, because I don't like the language
15:04:26 <b_jonas> but I ran at least sicstus and gprolog
15:13:30 <b_jonas> and swi prolog too I think
15:13:35 <b_jonas> I knew there was three
15:13:53 <ais523> swi's the most popular, as far as I know
15:30:09 -!- Frooxius has quit (Read error: Connection reset by peer).
15:30:27 -!- Frooxius has joined.
15:34:14 -!- Frooxius has quit (Read error: Connection reset by peer).
15:34:14 -!- Frooxius has joined.
15:38:55 -!- Froox has joined.
15:41:48 -!- Frooxius has quit (Read error: Connection reset by peer).
15:44:45 <fizzie> SWI was the Prolog of choice on our Prolog course.
15:46:15 <ais523> gprolog has a built-in integer sat solver, which is nice
15:50:26 -!- prooftechnique has quit (Read error: Connection reset by peer).
16:06:17 <tromp> have you used that solver?
16:06:24 <ais523> tromp: most definitely
16:06:40 <ais523> it has a tendency to blow up and take forever on complex input, but be very good on moderately simple input
16:06:46 <tromp> can you run it if i give you a simple problem?
16:07:35 <ais523> I can try
16:07:46 <tromp> it's about 3 guys selling chickens
16:07:51 <int-e> Ohmygodmyeyeshelp! http://www.gprolog.org/manual/gprolog.html
16:08:15 <tromp> A has 10 chickens, B has 16, and C has 26
16:08:18 <ais523> int-e: ugh, I've been using the PDF
16:08:34 <Bike> int-e: lol
16:08:40 <ais523> tromp: go on, that's a pretty easy problem so far
16:08:49 <tromp> they sell some in the morning at price x/u, and some in the afternoon at y/u
16:09:13 <tromp> at the end of they day, they sold all chickens and each made 35u
16:09:30 <tromp> so: we have 0<=a<=10, etc.
16:09:33 <ais523> and x and y are integers?
16:09:44 <tromp> and ax+(10-a)y=35u etc...
16:09:52 <ais523> right
16:09:59 <tromp> yes, that's why i added u
16:10:18 <ais523> well, the problem's parametric on u
16:10:25 <ais523> if it has a solution, it has a solution with u=1
16:10:27 <tromp> u is just another integer
16:10:39 <tromp> no
16:10:55 <ais523> tromp: you said "each made 35u", did you mean "each made 35"?
16:10:59 -!- password2 has joined.
16:11:21 <tromp> they make 35$ selling at non-integer prices of x and y $
16:11:24 <ais523> also, this seems like the sort of problem the sat solver would be bad on, because u is unbounded
16:11:38 <ais523> tromp: right, in that case they each made 35, rather than each making 35u
16:11:41 <tromp> so i need to multiply by some u to make prices integer
16:12:03 <ais523> this is linear programming, not integer programming
16:12:14 <ais523> let me enter it and see what happens, I doubt it'll be solved in a reasonable time though
16:12:34 <Jafet> a, b and c are integers
16:12:35 <tromp> if you divide by u, the equation is a*x/u+(10-a)*y/u=35
16:12:45 <tromp> which allows the fractional dollar prices
16:13:17 <tromp> now all of a,b,c,x,y,u are integer
16:16:04 <ais523> tromp: it says that one solution is a=b=c=x=y=u=0
16:16:07 <ais523> which is correct
16:16:12 <ais523> let me demand that u is positive :-)
16:16:58 <ais523> now it's warning that it's discarding potential solutions due to running out of internal storage
16:17:15 <ais523> and saying it can't find any
16:17:41 * ais523 increases the maximum space
16:18:56 <int-e> unsurprisingly, yices is complaining that it's not a linear problem.
16:19:54 <tromp> this is not a particularly big problem:-)
16:20:09 <ais523> tromp: yes, but it's the sort of problem gprolog is bad at
16:20:19 <Jafet> I don't think SAT solvers are very good at diophantine problems
16:20:34 <ais523> it's currently pegging my CPU
16:20:49 <tromp> what sort is that? "small set of linear equations on integer vars" ?
16:20:54 <int-e> but to summarize, 35u = (x-y)(a+b+c) + 52y, 0<=a<=10, 0<=b<=16, 0<=c<=26, u>0, over the integers?
16:21:10 <ais523> tromp: it likes additions and subtractions much better than multiplications and divisions
16:21:15 <tromp> you can restrict it to a+7 <= b <= c-11
16:21:26 <ais523> also, adding additional restrictions rarely actually seems to help
16:21:32 <ais523> let me try that, though
16:21:40 <int-e> tromp: on paper I'd just turn a+b+c into a single variable.
16:22:10 <ais523> yes, isn't obviously helping
16:22:29 <int-e> tromp: wait, why can you assume that restriction?
16:22:56 <tromp> because A will need to sell more at the higher price y
16:23:00 <tromp> you can add x < y
16:23:11 <int-e> oh.
16:23:13 <int-e> "each"
16:23:15 <int-e> thanks
16:23:42 <tromp> so 10-a > 16-b
16:25:14 <ais523> it's still running, hasn't got past U=1 yet
16:25:22 <ais523> I'm going to give up
16:25:53 -!- reventlov has joined.
16:26:28 <tromp> ok, so much for gprolog:(
16:26:49 <ais523> I get the feeling it's only good in very specific circumstances
16:27:22 <tromp> gprolog: for all your solving needs that dont include chickens
16:29:47 <ais523> tromp: as I said earlier, I failed to get it to work with my Bridge AI
16:29:58 <ais523> so I got it doing INTERCAL reverse assignments
16:30:26 <ais523> strangely enough, my addition took four minutes despite all the selects and mingles optimizing out
16:32:32 <fizzie> I think our constrained logic programming course used http://en.wikipedia.org/wiki/ECLiPSe or something.
16:32:42 <fizzie> I just remember it was very Prology.
16:33:14 -!- ais523 has quit (Read error: Connection reset by peer).
16:33:22 -!- callforjudgement has joined.
16:33:53 <int-e> Oh nice. Logical context is inconsistent. Use (reset) to reset.
16:34:16 <int-e> But that's with some pen&paper preparation.
16:35:36 <int-e> and a convenient mistake.
16:37:02 -!- TieSoul_ has joined.
16:37:54 -!- TieSoul__ has joined.
16:38:37 -!- TieSoul has quit (Ping timeout: 245 seconds).
16:41:32 -!- TieSoul_ has quit (Ping timeout: 245 seconds).
16:43:58 <tromp> ok, let me try solve chickens with a Haskell one-liner
16:44:02 -!- mihow has joined.
16:44:52 <tromp> > [(a,b,c) | b<-[7..15],a<-[0..b-7],c<-[b+11..26],(b-a)*(16*c-26*b)==(c-b)*(10*b-16*a)]
16:44:53 <lambdabot> [(0,9,24),(1,10,25),(2,11,26)]
16:48:25 <int-e> > [(a,b,c) | a > b && 5*a+3*c == 8*b]
16:48:27 <lambdabot> []
16:48:38 <int-e> hah!
16:48:56 <int-e> > [(a,b,c) | a<-[0..10], b<-[0..16], c<-[0..26], a > b, 5*a+3*c == 8*b]
16:48:58 <lambdabot> [(8,5,0),(9,6,1),(10,7,2)]
16:49:11 <int-e> > [(a,b,c) | a<-[0..10], b<-[0..16], c<-[0..26], a < b, 5*a+3*c == 8*b]
16:49:13 <lambdabot> [(0,3,8),(0,6,16),(0,9,24),(1,4,9),(1,7,17),(1,10,25),(2,5,10),(2,8,18),(2,1...
16:49:39 <int-e> mmm.
16:50:02 <int-e> that will result in some negative prices, I guess.
16:50:07 <tromp> hmm, when i show the prices as well, the lower one is negative:(
16:50:11 <int-e> the former list is dual to yours
16:51:21 <tromp> > [(a,b,c,(35*(6+a-b))%(10*b-16*a),(35*(b-a))%(10*b-16*a)) | b<-[7..15],a<-[0..b-7],c<-[b+11..26],(b-a)*(16*c-26*b)==(c-b)*(10*b-16*a)]
16:51:22 <lambdabot> [(0,9,24,(-7) % 6,7 % 2),(1,10,25,(-5) % 4,15 % 4),(2,11,26,(-35) % 26,105 %...
16:51:38 <HackEgo> [wiki] [[CHIQRSX9+]] http://esolangs.org/w/index.php?diff=40694&oldid=32999 * 67.78.57.11 * (+83)
16:51:51 <paul2520> what's chickens?
16:52:07 <tromp> use more scrollback
16:52:29 <Jafet> It's the problem that is solved by the above code
16:53:29 <int-e> > [(a,b,c,x,y,10*y+a*(x-y),16*y+b*(x-y),26*y+c*(x-y)) | a<-[0..10], b<-[0..16], c<-[0..26], a > b, 5*a+3*c == 8*b, let y = 5*(a-b), let x = y+30]
16:53:31 <lambdabot> [(8,5,0,45,15,390,390,390),(9,6,1,45,15,420,420,420),(10,7,2,45,15,450,450,4...
16:53:36 <paul2520> is there an explanation of the problem? I got that...
16:53:49 <int-e> tromp: no negative prices.
16:54:26 <int-e> > [(a,b,c) | a<-[0..10], b<-[0..16], c<-[0..26], 5*a+3*c == 8*b, let y = 5*(a-b), let x = y+30, x*y > 0]
16:54:27 <lambdabot> [(0,9,24),(1,10,25),(2,11,26),(8,5,0),(9,6,1),(10,7,2)]
16:59:06 <tromp> i see my error
16:59:20 <int-e> But it's a problem that requires some symbolic computation; the usual bit-blasting and linear arithmetic based approaches will not do well.
16:59:23 <tromp> i should allow 10-a = 16-b
16:59:39 <tromp> A can seel same number as B at higher price
16:59:51 <tromp> just make lower price 0 (give chickens away)
17:00:01 <int-e> > [(a,b,c) | a<-[0..10], b<-[0..16], c<-[0..26], 5*a+3*c == 8*b, let y = 5*(a-b), let x = y+30, x*y >= 0]
17:00:04 <lambdabot> [(0,0,0),(0,6,16),(0,9,24),(1,1,1),(1,7,17),(1,10,25),(2,2,2),(2,8,18),(2,11...
17:00:16 <int-e> > length [(a,b,c) | a<-[0..10], b<-[0..16], c<-[0..26], 5*a+3*c == 8*b, let y = 5*(a-b), let x = y+30, x*y >= 0]
17:00:18 <lambdabot> 28
17:00:25 <int-e> > length [(a,b,c) | a<-[0..10], b<-[0..16], c<-[0..26], 5*a+3*c == 8*b, let y = 5*(a-b), let x = y+30]
17:00:27 <lambdabot> 39
17:00:36 -!- S1 has quit (Quit: S1).
17:00:58 <int-e> so 11 solutions with negative prices, and 22 where the lower price is 0, and 6 "proper" ones.
17:01:32 -!- Phantom_Hoover has joined.
17:01:39 <int-e> and we can assume that the intended solution doesn't allow a=0 or a=10, because then A would not sell any chickens in the morning or in the afternoon.
17:03:42 <int-e> but deriving 5*(a-b) = 3*(b-c) (if u != 0), which lies at the heart of the problem, is beyond automatic tools, I think.
17:04:19 <b_jonas> by the way, I was doing computer hardware stuff yesterday. trivial computer hardware stuff of course, because I don't dare touching anything more serious.
17:05:07 <b_jonas> I decided that the hard disks in my home computer might not like the heat they get because they're placed without gaps, so I ordered a metal rail dohickey to let me insert one hard disk in a 5 inch wide cd drive slot,
17:05:21 <b_jonas> and if I do that, I'll be able to place all hard disks so that there's a slot high gap above each
17:08:57 <tromp> what is a proper solution, int-e ?
17:11:17 -!- MoALTz has joined.
17:15:10 -!- augur has quit (Remote host closed the connection).
17:15:49 <int-e> tromp: those with positive prices.
17:18:39 -!- TieSoul__ has changed nick to TieSoul.
17:19:03 -!- scarf has joined.
17:21:13 <tromp> oh, i had a signb error
17:22:24 -!- callforjudgement has quit (Ping timeout: 255 seconds).
17:24:19 <tromp> > [(a,b,c,(35*(6+a-b))%(16*a-10*b),(35*(b-a))%(10*b-16*a)) | b<-[7..15],a<-[0..b-7],c<-[b+11..26],(b-a)*(16*c-26*b)==(c-b)*(10*b-16*a)]
17:24:21 <lambdabot> [(0,9,24,7 % 6,7 % 2),(1,10,25,5 % 4,15 % 4),(2,11,26,35 % 26,105 % 26)]
17:24:45 <tromp> only the 2nd of these 3 has prices in while number of pennies...
17:25:01 <tromp> whole
17:33:20 -!- scarf has changed nick to ais523.
17:34:39 -!- Froox has changed nick to Frooxius.
17:37:34 <tromp> how would one test if a Data.Ratio Int is an integer?
17:37:55 <tromp> hmm, lemme ask in #haskell
17:38:25 <tromp> oh, i can use denominator function
17:50:08 <tromp> >
17:50:09 <lambdabot> not an expression: ‘’
17:50:09 <tromp> print [(a,b,c,x,y) | b<-[7..15], a<-[0..b-7], c<-[b+11..26],
17:50:11 <tromp> let {d = 10*b-16*a; x=(b-6-a)*35%d; y=(b-a) *35%d},
17:50:12 <tromp> (b-a)*(16*c-26*b)==(c-b)*d, all ((== 0).mod 100.denominator) [x,y]]
17:50:54 <tromp> > print [(a,b,c,x,y) | b<-[7..15], a<-[0..b-7], c<-[b+11..26],let {d = 10*b-16*a; x=(b-6-a)*35%d; y=(b-a) *35%d},(b-a)*(16*c-26*b)==(c-b)*d, all ((== 0).mod 100.denominator) [x,y]]
17:50:56 <lambdabot> <IO ()>
17:51:14 <tromp> > [(a,b,c,x,y) | b<-[7..15], a<-[0..b-7], c<-[b+11..26],let {d = 10*b-16*a; x=(b-6-a)*35%d; y=(b-a) *35%d},(b-a)*(16*c-26*b)==(c-b)*d, all ((== 0).mod 100.denominator) [x,y]]
17:51:16 <lambdabot> [(1,10,25,5 % 4,15 % 4)]
18:02:25 -!- ais523 has quit.
18:02:38 -!- ais523 has joined.
18:04:33 <fizzie> http://www.sssscomic.com/comic.php?page=195 "Finnish -- Absolute gibberish."
18:04:37 <fizzie> So rude.
18:12:35 <int-e> cute cats though
18:17:45 <J_Arcane> also, isn't 'miau' also used?
18:24:24 -!- ais523 has quit (Read error: Connection reset by peer).
18:24:30 -!- callforjudgement has joined.
18:31:42 <b_jonas> oh, Haley gives an explanation (not necessarily the truth) on how he convinced the repair guys
18:45:17 <fizzie> J_Arcane: Yes, for the sound. I think whoever made the image was possibly going by the verb forms, which would be http://en.wiktionary.org/wiki/naukua#Finnish
18:46:01 <fizzie> (There's no verb for the "miau" version, you can't say "miaukuu" or anything.)
18:48:03 -!- scarf has joined.
18:48:44 -!- scarf has changed nick to ais523.
18:52:15 -!- callforjudgement has quit (Ping timeout: 244 seconds).
18:52:30 -!- FreeFull has quit (Quit: BBL).
18:54:31 -!- zzo38 has joined.
18:55:28 -!- ais523 has quit (Read error: Connection reset by peer).
18:55:32 -!- callforjudgement has joined.
18:58:32 -!- Frooxius has quit (Quit: *bubbles away*).
19:03:42 -!- Frooxius has joined.
19:12:30 -!- Sprocklem has joined.
19:17:30 -!- AnotherTest has joined.
19:35:18 -!- AnotherTest has quit (Remote host closed the connection).
19:36:10 -!- password2 has quit (Ping timeout: 244 seconds).
19:46:20 -!- Bicyclidine has joined.
19:50:10 <shachaf> `olist (966)
19:50:11 <HackEgo> olist (966): shachaf oerjan Sgeo FireFly boily nortti
19:51:07 <FireFly> ootses have gotten pretty frequent
19:54:17 <elliott> 14:26:34 <callforjudgement> ooh, elliott's online and probably has the right opinion about this
19:54:28 <elliott> I defer to you over some random dude
19:55:01 <callforjudgement> elliott: a) I don't want to edit war; b) this is dangerously close to turning into another Esme, except one that's POV-pushing for some reason
19:55:33 <callforjudgement> my main reason to not just revert is that I don't want to end up on Esolang's equivalent of WP:LAME
19:56:16 <elliott> 14:39:45 <callforjudgement> however, I consider linking to your language from the Main Page an indication that you consider it finished
19:56:19 <elliott> omg.
19:56:24 <b_jonas> has the buy returned yet? no, he didn't
19:56:30 <callforjudgement> summary: newbie creates a bad BF derivative that's somehow so bad it can't even read memory
19:56:39 <callforjudgement> links it from the main page and like five different articles
19:57:00 <callforjudgement> I fix the formatting, add categories, including a computational class section and unusuable for computing cat
19:57:00 <b_jonas> and with a too vague description (not that it's unique in that respect on the esolang wiki)
19:57:08 <callforjudgement> then he removes the computational class stuff
19:57:12 <callforjudgement> and gives a program that adds two constants
19:57:24 <callforjudgement> as apparent "proof" that it's usable for computation
19:57:26 <b_jonas> oh, it's supposed to add two _constants_?
19:57:26 <elliott> callforjudgement: do we even have 3rr?
19:57:33 <b_jonas> I couldn't figure out how that would work
19:57:46 <callforjudgement> elliott: I was going to invent the rule on the spot, then impose it
19:58:11 <callforjudgement> but I thought it'd look bad if I'd also been the person doing the other three reverts needed to push the newbie to four
19:58:31 <callforjudgement> that's like top of the list of "ok, you haven't actually broken 3RR, but you've broken pretty much every other possible rule surrounding the circumstance
19:58:46 <callforjudgement> "
19:59:13 <elliott> callforjudgement: just relax and remember, it's not as bad as NSQX
19:59:29 <callforjudgement> I forget what NSQX did
19:59:34 <callforjudgement> but anyway, I'm really riled up and biased
19:59:34 <elliott> good
19:59:49 <callforjudgement> this thing has a decent shot at worst BF derivative ever; where's Phantom_Hoover when you need him?
19:59:50 <elliott> you should read user talk:nsqx
19:59:56 <elliott> it's an experience
20:00:05 <callforjudgement> I remember the name
20:00:07 <callforjudgement> just not what happened
20:00:19 <Phantom_Hoover> where is it
20:00:21 <b_jonas> probably better not to read it
20:01:31 <zzo38> Is a UUID too small to store a geolocation?
20:01:34 <callforjudgement> I read it, I remember now
20:01:35 <Phantom_Hoover> is it musical notes
20:01:40 <zzo38> ?messages-loud
20:01:40 <lambdabot> boily asked 2d 8h 33m 41s ago: if AndoDaan were to ask you about z80, would you say it be like it is, but it do?
20:01:45 <callforjudgement> Phantom_Hoover: oh, the new language?
20:01:52 <callforjudgement> yes, http://esolangs.org/wiki/Musical_notes
20:02:13 <callforjudgement> somehow I find this new language even more offensive than BF-without-[-or-] (which, sadly, has been created several times)
20:02:28 <b_jonas> wait, BF-without-[-or-] really?
20:02:38 <elliott> there's no way this is the worst bf deriv ever
20:02:42 <Bicyclidine> haha wow
20:02:48 <Bicyclidine> at least they put effort into the page, though
20:02:48 <b_jonas> I want to ask what it has instead of [ or ] but I think I know the answer
20:02:51 <elliott> off the top of my head, bestfriends.js is worse
20:02:53 <callforjudgement> b_jonas: I think we need a poe's law equivalent for BF derivatives
20:02:57 <Bicyclidine> b_jonas: fixed iteration counts
20:03:04 <callforjudgement> Bicyclidine: I cleaned up the formatting
20:03:15 <b_jonas> what's "poe's law"?
20:03:32 <Bicyclidine> poe's law says that satires are impossible to distinguish from legit fuckers
20:03:46 <b_jonas> I see
20:04:00 <b_jonas> why isn't that called Mark Twain's law?
20:04:01 <callforjudgement> b_jonas: basically the principle where sufficiently crazy extremists are indistinguishable from people holding intentionally crazy positions to parody them
20:04:14 <b_jonas> is there something about Poe I should know to understand that naming?
20:04:32 <Bicyclidine> i don't think it's edgar allen
20:04:55 <Phantom_Hoover> i think there was a guy named poe on usenet 'back in the day'
20:05:02 <Bicyclidine> yeah probably
20:05:10 <b_jonas> ok
20:05:34 <elliott> Phantom_Hoover: actually it's named after a dude on a christian forum i think
20:06:02 -!- augur has joined.
20:06:05 <Phantom_Hoover> http://www.christianforums.com/t1962980-6/#post17606580 fair enough
20:06:23 -!- augur has quit (Remote host closed the connection).
20:06:34 -!- augur has joined.
20:07:05 <callforjudgement> elliott: I think BestFriends.js is just run-of-the-mill bad
20:07:27 <Phantom_Hoover> http://www.conservapedia.com/Poe's_law oh dear
20:07:31 <callforjudgement> but think there was some BF-in-JS that was much worse, and can't remember what it was
20:07:38 <callforjudgement> wait, you're linking to conservapedia, of all places?
20:08:11 <elliott> Reps: 295,212,687,427,838,720 (power: 0)
20:08:19 <elliott> so many reps but so little power
20:14:03 <fizzie> That seems like an odd number.
20:14:18 <fizzie> I mean, not odd as in odd-even, just odd.
20:17:24 <callforjudgement> it's odd modulo 3!
20:17:32 <callforjudgement> (all integers are odd modulo 3)
20:18:44 -!- password2 has joined.
20:18:49 <b_jonas> "odd modulo 3"
20:18:50 <b_jonas> hehe
20:19:20 -!- password2 has quit (Max SendQ exceeded).
20:20:39 -!- password2 has joined.
20:26:53 <int-e> Phantom_Hoover: I have the nagging feeling that this article is not intended to be self-referential.
20:27:16 <Phantom_Hoover> how can't it be
20:27:31 <Phantom_Hoover> there is a picture on that article of a cat walking beside the number 13
20:28:04 -!- MDream has changed nick to MDude.
20:28:21 <callforjudgement> to be fair, Poe's Law arguably applies to the whole of Conservapedia
20:28:30 <callforjudgement> or at least, I'm pretty sure there are people who mistake it for satire
20:28:36 <callforjudgement> then contribute to what they feel is satire
20:28:58 <b_jonas> what? it applies to the whole internet
20:29:13 <b_jonas> oh, you mean as an instance
20:29:14 <b_jonas> sorry
20:33:33 <Phantom_Hoover> callforjudgement, well half of the site is satire that's snuck in under the noses of the admins
20:34:16 <Bicyclidine> yeah i was gonna say it sure ain't an accident
20:40:58 <HackEgo> [wiki] [[Strato]] N http://esolangs.org/w/index.php?oldid=40695 * 83.101.88.18 * (+436) Created page with "'''Strato''' is a language without reserved words. The meanings reserved words normally have, are replaced by sequences of one or more punctuation marks or the relative positi..."
20:41:35 <callforjudgement> from that summary, there is a decent chance this language doesn't suck
20:42:46 <callforjudgement> hmm, actually, seems to be someone who doesn't realise why syntax is unimportant, but that's OK
20:43:01 <callforjudgement> `quote 148
20:43:01 <HackEgo> 148) <ais523> syntax is the least important part of a programming language <ais523> other than Python
20:43:34 <int-e> what about piet or befunge
20:44:12 <callforjudgement> befunge isn't about syntax, it's about grid arrangement
20:44:20 <callforjudgement> you could create, say, [[OrthINTERCAL]] or [[2L]]
20:45:55 -!- S1 has joined.
20:46:38 <fizzie> Replacing words by punctuation does not sound like much of a change.
20:49:34 <b_jonas> meh, the esowiki is full of languages with only the syntax being strange
20:50:13 <callforjudgement> `quote 151
20:50:13 <HackEgo> 151) <oklopol> there's a rather clear separation into the 99% of esolangs that are fun syntax ideas, and the 3% that someone actually put some thought into.
20:50:15 -!- perrier has joined.
20:50:21 <b_jonas> sometimes you can even have a nice language from that, if you make sure not to repeat the same thing twice: think of piet, whitespace, shakespear or chef
20:50:43 <callforjudgement> yes, I bring up Shakespeare and Haifu as examples of well-done thematic languages
20:50:44 <b_jonas> oh, and Ook! of course
20:50:47 <callforjudgement> because the syntax ties into the semantics
20:50:51 <b_jonas> Haifu? let me look taht up
20:51:04 <callforjudgement> you can also have things like Forte, which only works because of the syntax
20:51:42 <b_jonas> then there's boring ones like lolcode
20:52:09 <b_jonas> oh, I think I've seen this Haifu before
20:55:59 -!- FreeFull has joined.
21:02:40 -!- password2 has quit (Ping timeout: 244 seconds).
21:03:13 -!- Bicyclidine has quit (Ping timeout: 265 seconds).
21:13:13 -!- scarf has joined.
21:13:49 -!- Bicyclidine has joined.
21:15:59 -!- password2 has joined.
21:16:35 -!- password2 has quit (Read error: Connection reset by peer).
21:16:54 -!- callforjudgement has quit (Ping timeout: 250 seconds).
21:17:22 -!- scarf has changed nick to ais523.
21:29:06 -!- oerjan has joined.
21:29:40 -!- copumpkin has joined.
21:33:09 -!- password2 has joined.
21:33:35 -!- mihow has quit (Quit: mihow).
21:34:12 -!- nisstyre has quit (Changing host).
21:34:12 -!- nisstyre has joined.
21:49:31 <Sgeo> ais523: "Musical notes is incapable of doing any sort of useful computation, because it has no way to read the value of a cell on the tape (other than outputting it to the user, which affects its control flow). Thus, with no conditional control constructs, each program always runs the same commands in the same order, making it a particularly restricted class of [[finite state machine]]."
21:49:50 <Sgeo> That explanation... could be worded better I think. All deterministic programs with no I always run the same commands in the same order
21:50:02 <ais523> hmm
21:50:24 <ais523> if you can come up with a better wording, you may solve a long-standing problem in theoretical computer science
21:50:35 <ais523> ("how do we unambiguously define TCness, anyway?")
21:51:09 <ais523> now I'm wondering if we can create a language that's incapable of reading memory that nonetheless has TC behaviour
21:51:39 <MDude> How would having to output a vaue effect control flow?
21:52:56 <oerjan> it wouldn't
21:53:11 <Sgeo> Another miswording I assume
21:53:26 <elliott> Sgeo: you kind of have to define input to be able to define TCness
21:53:37 <Sgeo> Or not a miswording but in that case, if output affects control flow, there are control constructs
21:55:55 <MDude> ais523: A Stateless protocol language?
21:56:22 <ais523> right, that much is a miswording
21:56:25 -!- ZombieAlive has joined.
21:56:30 <ais523> MDude: basically you have a black box you can never look inside
21:56:34 <Sgeo> I keep seeing criticisms of Scala that relate to its complexity and constant ability to do things in multiple ways, which makes me sad because I want to like Scala and dislike Go
21:56:35 <ais523> but you can perform arithmetic on it remotely
21:56:59 <ais523> like, you have a fixed sequence of commands you run, without ever being exposed to the actual /values/
21:57:03 <ais523> data dissociated from flow control
21:57:30 <Bicyclidine> i want to like disliking liking scala, but i don't
21:59:01 <b_jonas> ais523: easy, just cheat by making it store state in something you don't call memory, and add a "memory" as a red herring used only for output
21:59:47 <ais523> b_jonas: well you'd have to have a limited set of commands that exist inside
21:59:56 <ais523> no loops, for instance
22:00:04 <ais523> conditionals are probably OK because you can do them arithmetically
22:00:32 <b_jonas> ais523: oh, right, that's another possible
22:00:33 <b_jonas> way
22:01:03 <b_jonas> you can have a language with only a single big unconditional loop, no control flow except for conditinal input and output statements
22:01:23 <b_jonas> like, no conditional control flow
22:01:25 <b_jonas> that already exists
22:01:31 -!- ais523 has quit (Quit: going home).
22:01:57 -!- Bicyclidine has quit (Ping timeout: 245 seconds).
22:02:50 <Sgeo> What's the difference between an output-only language that always terminates and a specification for compression?
22:03:03 <Sgeo> I could have worded that better
22:03:15 <Sgeo> and a compression encoidng?
22:04:27 <b_jonas> compressions always terminate?
22:04:55 <b_jonas> meh, you can run video compression with such exhaustive search parameters that you won't have a powerful enough computer to run it to compleition
22:05:17 <Sgeo> *decompression, I think
22:05:21 <Sgeo> The program is the compressed value
22:05:58 <b_jonas> but yeah, I know it's only at most PSPACE in theory if it's implemented properly
22:10:05 <fizzie> "It's only PSPACE" is probably not very comforting if you're, say, in the business of making video compression systems, and your clients complain about the computational cost.
22:10:29 <fizzie> Even if you prefix it with "don't be such a wuss".
22:10:31 <oerjan> <callforjudgement> I'll let oerjan shout at the author, oerjan's good at shouting <-- argh
22:14:21 <b_jonas> sure
22:14:41 <Sgeo> Scala for comprehensions aren't applicative do? That makes me sad
22:15:01 <Sgeo> Hmm, maybe I'm wrong
22:15:50 <oerjan> <elliott> Sgeo: you kind of have to define input to be able to define TCness <-- not necessarily input separate from code
22:15:58 <elliott> right
22:16:02 <b_jonas> fizzie: sure, that's why I said earlier today that “Unusable for computation” is a strange category name to apply to non-TC esolangs when we also have esolangs that require doubly exponential time to do anything useful
22:16:05 <elliott> but you have to be able to vary it.
22:16:55 <b_jonas> mind you, actually requiring doubly exponential time is a tricky thing to achieve, the only way I know to get it is when you can simulate a two counter machine but not a three counter machine or anything more powerful
22:17:37 <b_jonas> oerjan: for TC, we just say you have to be able to transform any program to that language in polynomial time
22:17:46 <b_jonas> that encompasses the input
22:19:27 <b_jonas> for practically usable languages, you want more than that, but TC doesn't mean practically usable
22:20:24 -!- S1 has quit (Quit: S1).
22:21:13 <Sgeo> Scala implicits remind me of ... hmm. Not totally sure. Kernel static keyed whatchamacallits? Racket syntax parameters?
22:25:32 <oerjan> b_jonas: i have never assumed polynomial time, just "terminating"
22:26:34 <oerjan> TC is in the realm of recursive languages, after all, it would be silly to mention "polynomial" at that level
22:27:26 <oerjan> Sgeo: i thought scala for comprehensions used flatmap and map (the latter to avoid needing return)
22:28:12 <oerjan> this is vaguely recalled from a stackoverflow question that crossed between scala and haskell, mind you
22:28:13 <Sgeo> oerjan: yes, unless you don't use yield but instead an imperative block, in which case it uses foreach in place of flatmap, iiuc
22:28:28 <oerjan> anyway, flatmap is basically >>=
22:29:30 <Sgeo> Yes, but what is foreach basically?
22:29:53 <Sgeo> And it makes me sad that Scala can't just detect when flatmap isn't needed and use something else instead
22:30:01 <int-e> oerjan: would you agree that henkma is a monster?
22:30:40 <oerjan> b_jonas: i tend to interpret "unusable for computation" as considerably stricter than "non-TC", mind you. deadfish might qualify but a terminating language like Coq or Agda would be far from satisfying it
22:31:34 <oerjan> int-e: has he been doing something today, i haven't checked up, last i saw was that we were beating him on the tetration thing but i wasn't expecting that to last
22:31:59 <oerjan> and i have forgot to check if any problems have expired recently
22:32:39 <oerjan> int-e: also, i guess you also were grumbling that monomorphism prevented you from saving a character?
22:34:00 <int-e> oerjan: I did at some point, but it's no longer an issue, since we're all cheating.
22:34:06 <oerjan> int-e: oh.
22:34:08 <int-e> oerjan: except you :P
22:34:17 <oerjan> well i'm not yet.
22:34:18 <oerjan> heh
22:34:24 <zzo38> I try to think how to compress shift-reduce parsing tables. Look at http://www.cs.uic.edu/~spopuri/cparser.html#modified-tables too. You could write: [2] M=7 L=6 [0] L=3 E=4 [9] E=12 P=5 a=1 (=2 <ERROR>
22:34:26 <oerjan> ok i shall have to have a look
22:34:36 <int-e> oerjan: but actually I was referring to swap the characters
22:34:51 <int-e> oerjan: where he somehow shaved off another 6 characters
22:35:34 <zzo38> How do you think of compressing tables for using in a shift-reduce parser?
22:36:09 <oerjan> Sgeo: isn't foreach also >>= just with m () result essentially? just guessing here.
22:36:26 <Sgeo> makes sense
22:36:52 <oerjan> int-e: i think swap the characters is something i gave up on long ago
22:38:12 <oerjan> oh wait, maybe i actually tied on that, then gave up improving further
22:39:33 <oerjan> int-e: incidentally that was the one where i thought i had cleverly used pattern guards, only to see you beat me
22:39:35 <int-e> yeah we were tied on that at 85, then henkma achieved 84
22:39:47 <int-e> and that was it until yesterday
22:40:13 <zzo38> (My code isn't quite right. It specifies an error where there should be a reduce.)
22:40:27 <oerjan> well, i got down to 84 too by abandoning the guards
22:42:23 <oerjan> i recall the possibility of swap commands with equal chars were causing some obvious options to fail
22:43:11 <oerjan> perhaps he's found a more clever way of avoiding that
22:43:22 -!- FreeFull has quit (*.net *.split).
22:43:23 -!- heroux has quit (*.net *.split).
22:43:23 -!- applybot has quit (*.net *.split).
22:43:23 -!- olsner has quit (*.net *.split).
22:43:24 -!- 14WAADDIM has changed nick to heroux.
22:43:35 -!- heroux_ has joined.
22:44:12 -!- FreeFull has joined.
22:48:56 -!- olsner has joined.
22:53:39 <fizzie> I wrote a dc tetration in 25B, then it ballooned up to 44B with the workaround for dc's built-in output line wrapping, and now there's a 28B by tails, and I can't be sure if I'm just missing some really obvious workaround for the printing or what.
22:54:44 <fizzie> (The anagol 'dc' launcher scripts set DC_LINE_LENGTH=9999 -- even though DC_LINE_LENGTH=0 would disable the splitting completely -- and test #1 output is longer than that.)
22:58:03 -!- brandonson has joined.
22:59:36 -!- brandons1 has quit (Ping timeout: 250 seconds).
23:01:37 -!- password2 has quit (Ping timeout: 260 seconds).
23:04:39 <Sgeo> Other than Scala, what languages have first-class pattern synonyms?
23:04:54 -!- copumpkin has quit (Ping timeout: 244 seconds).
23:05:03 <Sgeo> (Although Scala's might be annoying to manipulate in a first-class way... there are a bunch of distinct valid types for them)
23:10:43 -!- Bicyclidine has joined.
23:27:12 <int-e> fizzie: I think both parts can be improved.
23:33:21 <int-e> fizzie: I have 14 without, 29 with workaround.
23:34:05 <int-e> and I'm cheating
23:36:49 <int-e> oh, 28.
23:37:43 <int-e> (shortened the number printing)
23:56:36 -!- ZombieAlive has quit (Remote host closed the connection).
←2014-10-23 2014-10-24 2014-10-25→ ↑2014 ↑all