←2015-09-07 2015-09-08 2015-09-09→ ↑2015 ↑all
00:11:08 -!- Wright has joined.
00:11:29 <oerjan> oh dear. maybe agatha won't need that party anyway.
00:17:14 <oerjan> also, her complete lack of poker face just has to come back and hurt her.
00:23:44 -!- synthetiques has quit (Remote host closed the connection).
00:45:08 -!- doesthiswork has joined.
00:45:34 -!- hppavilion[1] has quit (Ping timeout: 246 seconds).
00:53:14 <zzo38> It is possible to play poker without poker faced too
00:53:34 <shachaf> zzo38: Aren't you by definition poker faced when you play poker?
00:53:59 <zzo38> No it isn't.
00:54:20 <zzo38> It was supposed to be (which is why it is called "poker faced") but it turns out not to be.
00:59:29 <zzo38> I am now inventing a Panel de Pon game on QUACKVM, but it is a bit more enhanced than other game. However the only mode is the puzzle-mode it doesn't have the other game mode
01:02:06 <zzo38> Do you like Panel de Pon game?
01:08:37 <zzo38> (I happen to like the Pokemon version, it is better than the original, in my opinion)
01:22:36 -!- Phantom__Hoover has quit (Read error: Connection reset by peer).
01:26:18 <doesthiswork> what about it makes it better (in your opinion)?
01:26:48 <zzo38> There are more options and game modes
01:27:35 <doesthiswork> ok
01:29:30 <doesthiswork> I'm looking at the guides to Pokemon puzzle league on gamefaqs so I understand
01:30:25 <zzo38> There are also some secret options, including one to allow 6 digits of the score; I don't know why that is even an option instead of always being 6 digits
01:31:38 <zzo38> And, it does work on black&white GameBoy even though it says it doesn't
01:34:16 <doesthiswork> ok
01:53:19 -!- hppavilion[1] has joined.
01:55:43 -!- Warrigal has changed nick to tswett.
01:55:50 <hppavilion[1]> Dammit
01:55:53 <hppavilion[1]> Missed him
01:56:22 <zzo38> Which one were you trying to not miss?
01:57:24 -!- variable has quit (Ping timeout: 264 seconds).
01:58:43 <tswett> Okay, here's an esolang.
01:59:33 <tswett> Memory is an array of numbers, initially the program source, followed by infinitely many zeros.
01:59:43 <tswett> Execution consists of doing the following forever.
01:59:55 <oerjan> <hppavilion[1]_> @tell fuinho_doido I have no clue what kind of search that is. Why did you ask me? <-- note that lambdabot isn't very reliable unless you know the other person is a regular in a channel with it
02:00:16 <zzo38> Doing the following which is what?
02:00:18 <tswett> First, let x, y, and z be the values at the first three memory positions. Second, shift everything in memory three cells to the left. Third, copy z numbers from address x to address y.
02:00:21 <hppavilion[1]> oerjan: Oh.
02:00:23 <hppavilion[1]> Um.
02:00:28 <hppavilion[1]> Who made LambdaBot anyway?
02:00:37 <oerjan> hppavilion[1]: there's MemoServ which is a network-wide thing
02:00:40 <tswett> Cale, I think... maybe?
02:00:47 <oerjan> for that, they need to be registered, though
02:01:10 <oerjan> ...and they aren't.
02:01:42 <zzo38> tswett: OK. Is there any I/O operation?
02:02:01 <oerjan> hppavilion[1]: int-e is the current maintainer. the bot is more than 10 years old, though.
02:02:13 <hppavilion[1]> whoa
02:02:16 <tswett> zzo38: nope.
02:02:23 * hppavilion[1] worships int-e
02:02:24 <zzo38> OK
02:02:41 <oerjan> huh that's eerily close, it was registered august 31 2005
02:02:51 <tswett> There's also no way to halt.
02:03:28 <oerjan> hppavilion[1]: the features were made by lots of people, and are of varying quality.
02:03:46 <hppavilion[1]> Interesting
02:03:48 <oerjan> (@src *gah*)
02:04:08 <oerjan> @version
02:04:09 <lambdabot> lambdabot 5.0.3
02:04:09 <lambdabot> git clone https://github.com/lambdabot/lambdabot
02:04:49 <oerjan> i think technically int-e is not the repo owner
02:05:35 <oerjan> oh hm it's apparently equal status now
02:06:46 <oerjan> i have a small ancestral part, in the @unlambda implementation
02:07:06 <hppavilion[1]> Cool
02:07:10 <oerjan> i didn't put it into lambdabot, someone else adapted my code
02:07:13 <hppavilion[1]> I kind of want to make a shitty bot now
02:07:15 <hppavilion[1]> Just for fun
02:07:51 <zzo38> I have made up a IRC bot in C which uses SQLite
02:08:08 <hppavilion[1]> OK
02:08:16 <zzo38> If there are no triggers in the database then it will just log the messages it receives, but you can add triggers and views and other stuff to make it to a lot more of stuff too.
02:09:52 <oerjan> tswett: i think your esolang cannot be TC since there's always a bound on the numbers
02:09:55 <zzo38> It does provide SQL function for sending the stuff back to the server, so you can use that within a trigger-program in order to allow it to reply. It also provides a collation for comparing IRC nicknames with ISO 646, so that can also be used
02:10:03 <tswett> oerjan: right, it's an FSM.
02:10:56 <hppavilion[1]> what kinds of functionality shall I add?
02:11:44 <tswett> `loudly This.
02:11:45 <HackEgo> This.
02:12:10 <tswett> That command is probably my greatest accomplishment ever.
02:12:24 <hppavilion[1]> Let's settle down
02:12:29 <hppavilion[1]> I'm not THAT good of a programmer
02:12:31 <hppavilion[1]> xD
02:14:42 <tswett> Well, can you automatically turn the string "hello world" into "-h_e-l_l-o_ -w_o-r_l-d"?
02:14:47 <tswett> Because that's essentially what this is doing.
02:14:59 <hppavilion[1]> Perhaps I should implement polls?
02:15:05 <hppavilion[1]> For voting and stuff?
02:15:11 <oerjan> tswett: i'm pretty sure /// is a greater accomplishment than that hth
02:16:07 <tswett> oerjan: you're right.
02:16:10 <zzo38> I have thought of using NS SET PROPERTY to implement polls
02:17:35 <zzo38> Another way is RDF survey.
02:18:11 <hppavilion[1]> Should I add a "_mourn" feauture
02:18:15 <hppavilion[1]> *feature?
02:18:37 <hppavilion[1]> Basically, when a user leaves, it rather annoyingly mourns their "death" on command
02:18:39 <hppavilion[1]> NO
02:18:49 <hppavilion[1]> USERNAME!
02:19:04 <hppavilion[1]> (S)HE WAS SO YO-O-O-OUNG
02:19:06 * hppavilion[1] sobs
02:19:10 <hppavilion[1]> NOOOOO
02:19:16 <hppavilion[1]> NO! NO! NO! NO!
02:19:19 <hppavilion[1]> WHYYYYYYYYYYYYY?
02:19:23 <hppavilion[1]> Et cetera.
02:19:25 <zzo38> I think not.
02:19:35 <hppavilion[1]> You would have to tell it to
02:19:40 <zzo38> But, it is your choice to implement whatever you like to implement
02:19:46 <oerjan> well that would save you from having to implement a separate _banme feature, i guess.
02:19:59 <hppavilion[1]> I won't
02:20:47 <hppavilion[1]> And I'll make the bot's trigger "T"
02:21:02 <hppavilion[1]> As T is the most common letter
02:22:10 <hppavilion[1]> Unfortunately, I lack a server on which to host my bot xD
02:22:15 <oerjan> *whew*
02:23:49 <hppavilion[1]> Here's an idea for an esolang:
02:23:54 <hppavilion[1]> One based entirely on Emotions
02:23:59 <hppavilion[1]> Represented with Emoticons
02:24:05 <hppavilion[1]> Not to be confused with Emoticon the language
02:24:18 <hppavilion[1]> This one would actually use human emotions
02:24:20 <zzo38> My brother has ask whether or not my new character is allowed to sleep upsidedown but then in order to figure out I had to ask a few other questions to him but he does not know the answer therefore I don't know either. If I asked the other questions in order to figure out maybe would you know?
02:25:12 <hppavilion[1]> `ls
02:25:15 <HackEgo> ​:-( \ 0 \ 113500 \ a \ a.o \ a.out \ argv.py \ bdsmreclist \ bin \ blah \ blah \ blah \ blah \ blah \ blah \ canary \ cat \ Complaints \ :-D \ dc \ dog \ emoticons \ error.log \ etc \ factor \ faith \ fu \ head \ hello \ hello.c \ hi \ hours \ ibin \ index.html?dl=1812 \ interps \ le \ letersort \ lib \ madness \ MaFV \ oerjan \ paste \ people.p
02:25:20 <hppavilion[1]> `ls Complaints
02:25:21 <HackEgo> Complaints
02:25:27 <hppavilion[1]> `ls Complaints/
02:25:28 <HackEgo> ls: cannot access Complaints/: Not a directory
02:25:37 <hppavilion[1]> `cat Complaints
02:25:37 <HackEgo> No output.
02:25:48 <hppavilion[1]> `ls Complaints
02:25:49 <HackEgo> Complaints
02:25:51 <hppavilion[1]> `help ls
02:25:51 <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/
02:26:03 <zzo38> ``` ls -l Complaints
02:26:04 <HackEgo> ​-rw-r--r-- 1 5000 0 0 Jun 9 16:23 Complaints
02:26:14 <hppavilion[1]> So it's empty?
02:26:41 <hppavilion[1]> `touch Complaints/001.txt
02:26:42 <HackEgo> touch: cannot touch `Complaints/001.txt': Not a directory
02:26:51 <hppavilion[1]> Gah!
02:26:55 <hppavilion[1]> I should use unix!
02:26:56 <zzo38> It is not a directory, you can't do like that
02:27:17 <zzo38> It says on the ls -l how the file is
02:27:43 <tswett> `file Complaints
02:27:45 <HackEgo> Complaints: empty
02:27:55 <hppavilion[1]> `touch Complaints/001.txt
02:27:55 <HackEgo> touch: cannot touch `Complaints/001.txt': Not a directory
02:28:15 <tswett> Complaints is an empty file, not an empty directory, so it can't contain files.
02:29:19 <oerjan> `culprists Complaints
02:29:19 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: culprists: not found
02:29:24 <oerjan> `culprits Complaints
02:29:27 <HackEgo> int-e mroman_ mroman_ mroman_
02:29:50 <hppavilion[1]> Oooooooooh
02:29:54 <hppavilion[1]> It's a file
02:30:02 <oerjan> `cat bin/complain
02:30:04 <HackEgo> print_args_or_input "$@" >> Complaints; echo Complaint filed. Thank you.
02:30:33 <hppavilion[1]> I assumed it was a directory given, you know, the lack of FILE EXTENSION
02:30:35 <oerjan> `url Complaints
02:30:36 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/file/tip/Complaints
02:33:46 <oerjan> ah it used to be lower case.
02:34:00 <oerjan> `` ls *omp*
02:34:01 <HackEgo> Complaints
02:34:11 <oerjan> (also it used to be a link)
02:38:06 <tswett> It's reeeeeally common for Unix people not to bother giving files extensions.
02:38:20 <tswett> `run file *
02:38:21 <HackEgo> ​:-(: UTF-8 Unicode text \ 0: ASCII text \ 113500: ASCII text, with very long lines, with CRLF line terminators \ a: ASCII text \ a.o: ELF 64-bit LSB relocatable, x86-64, version 1 (SYSV), not stripped \ a.out: ELF 64-bit LSB executable, x86-64, version 1 (SY
02:38:21 <hppavilion[1]> Well the people over at #minecraft are assholes
02:41:56 <doesthiswork> sounds likely
02:42:03 <doesthiswork> what did they do
02:52:30 -!- hppavilion[1] has quit (Ping timeout: 268 seconds).
03:01:53 -!- oerjan has quit (Quit: Nite).
03:08:50 -!- hppavilion[1] has joined.
03:14:29 -!- augur has quit (Quit: Leaving...).
03:15:43 <hppavilion[1]> `complain Complaints file lacks file extension making it look like a directory. Which is confusing
03:15:46 <HackEgo> Complaint filed. Thank you.
03:17:04 <hppavilion[1]> `cat "print_args_or_input "$@" >> Complaints; echo Complaint failed. Thank you." > bin/complain
03:17:05 <HackEgo> cat: "print_args_or_input "$@" >> Complaints; echo Complaint failed. Thank you." > bin/complain: No such file or directory
03:17:15 -!- sc00fy has joined.
03:17:25 <hppavilion[1]> `echo "print_args_or_input "$@" >> Complaints; echo Complaint failed. Thank you." > bin/complain
03:17:26 <HackEgo> ​"print_args_or_input "$@" >> Complaints; echo Complaint failed. Thank you." > bin/complain
03:17:34 <hppavilion[1]> `cat bin/complai
03:17:35 <HackEgo> cat: bin/complai: No such file or directory
03:17:36 <hppavilion[1]> `cat bin/complain
03:17:37 <HackEgo> print_args_or_input "$@" >> Complaints; echo Complaint filed. Thank you.
03:19:03 <zzo38> It is not wrong for a filename to not have extension.
03:19:10 <zzo38> On DOS it can be problem but this is UNIX
03:21:21 <hppavilion[1]> it's confusing in a command prompt
03:21:42 <hppavilion[1]> `run Complaints
03:21:43 <HackEgo> bash: Complaints: command not found
03:21:44 <zzo38> There is option though to make ls to put / after the directory name or to use different colors for directories
03:22:00 <hppavilion[1]> That option should be enabled by default -_-
03:22:21 <zzo38> I think it commonly is in the shell.
03:22:34 <zzo38> (Even in DOS it displays directories differently actually, so not problem much with DOS either)
03:23:15 -!- Walpurgisnacht has joined.
03:23:18 -!- augur has joined.
03:23:32 <Walpurgisnacht> What does lambdabot use for its weather command
03:24:01 <Walpurgisnacht> or was that hack
03:25:43 -!- mauris has joined.
03:26:09 -!- doesthiswork has left.
03:29:39 <hppavilion[1]> `weather
03:29:40 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: weather: not found
03:32:26 -!- variable has joined.
03:39:06 <hppavilion[1]> So...
03:39:12 <hppavilion[1]> @weather
03:39:12 <lambdabot> Unknown command, try @list
03:39:14 <hppavilion[1]> @list
03:39:14 <lambdabot> What module? Try @listmodules for some ideas.
03:39:18 <hppavilion[1]> @listmodules
03:39:18 <lambdabot> activity base bf check compose dice dict djinn dummy elite eval filter free fresh haddock help hoogle instances irc karma localtime metar more oeis offlineRC pl pointful poll pretty quote search slap source spell system tell ticker todo topic type undo unlambda unmtl version where
03:39:39 <zzo38> If you want weather then the command is @metar I think
03:39:53 <zzo38> @metar CYVR
03:39:53 <lambdabot> CYVR 080300Z 14004KT 20SM BKN053 OVC062 17/10 A3015 RMK SC5SC3 SLP210
03:40:26 <hppavilion[1]> Hm...
03:40:36 <hppavilion[1]> zzo38: Are you the one implementing QUACK?
03:41:09 <zzo38> If you mean QUACKVM then yes, otherwise no
03:41:42 <zzo38> (Other people can implement it too though, or write programs for it, or compilers for it; it is public domain; but I am mainly.)
03:42:08 <hppavilion[1]> What kinds of instructions are there?
03:42:49 <hppavilion[1]> I've added Registry, Arithmetical, Trigonometric, IO, and Branching to mine, totalling at 37 instructions
03:42:53 <hppavilion[1]> Do you have any suggestions?
03:43:59 <zzo38> See the documentation if you want to know, but I can list them now here: ADD, SUB, MUL, DIV, MOD, AND, OR, XOR, LOAD/SAVE, TIME, COLOR, LOCATE, INPUT, PRINT, GET, PUT, PUSH, POP, UNHUFF, PRINTT, PRINTN, PRINTC, CLS, COPYT, WRITE, CALL, QUIT/RESTART, SOUND, RANDOM, LONGCALC, INTBL, EXTOP.
03:44:16 <hppavilion[1]> Oh right
03:44:17 <hppavilion[1]> Bitwise
03:44:20 <zzo38> The instruction set is frozen; none will be added.
03:44:22 <hppavilion[1]> I'll add FileIO later
03:45:01 <zzo38> (Note that LOAD/SAVE are the same opcode, QUIT/RESTART are also the same opcode. Also there are 32 opcodes; that is all that fits.)
03:45:04 <hppavilion[1]> All registries are 64 bit in this xD
03:45:10 <hppavilion[1]> Ah
03:45:47 <zzo38> Well, this one uses 16-bit memory cells. There are no separate registers; even the program counter is memory-mapped.
03:45:56 <hppavilion[1]> Interesting
03:46:49 <zzo38> The assembler provides GOTO, RETURN, DEC, and INC instructions, but all of those are just built-in macros, not actual instructions.
03:48:05 <hppavilion[1]> Cool
03:48:30 <zzo38> The instruction byte contains the 5-bit opcode, 3-bits per operand (there are three operands), and then one bit tells it that it has a predicate branch and one more bit tells it that it should store its result.
03:48:37 <hppavilion[1]> I'm a monster xDF
03:48:39 <hppavilion[1]> *xD
03:48:44 <hppavilion[1]> I'm implementing my ISA in Python
03:48:47 <shachaf> zzo38: What do you think of the Mill architecture?
03:48:49 <hppavilion[1]> It's just the prototype
03:48:52 <hppavilion[1]> But still
03:48:56 <zzo38> shachaf: I don't know.
03:49:00 <hppavilion[1]> xF
03:49:18 -!- PinealGl1ndOptic has quit (Remote host closed the connection).
03:49:20 <shachaf> zzo38: You might like it.
03:49:30 <zzo38> OK, what is it?
03:49:50 <hppavilion[1]> The files are just flat binaries
03:49:54 <hppavilion[1]> Is that a good idea?
03:50:08 <zzo38> hppavilion[1]: That can work.
03:50:12 <hppavilion[1]> OK
03:50:28 <hppavilion[1]> Is there something better I could do?
03:50:30 <zzo38> QUACKVM binaries consist of a series of banks, where each bank starts with the bank size.
03:50:42 <zzo38> But if you don't need banks then just plain binary data works.
03:51:20 -!- variable has changed nick to trout.
03:51:26 <hppavilion[1]> OK
03:51:44 <hppavilion[1]> Hi, variable/trout!
03:51:52 <trout> hppavilion[1]: hi!
03:52:03 <hppavilion[1]> :)
03:52:10 <hppavilion[1]> Do you know anything about binary file formats?
03:52:11 * trout wonders what happens if he tries hppavilion[2] or hppavilion[-1]
03:52:15 <trout> hppavilion[1]: depends on the format
03:52:28 <trout> now a bit about html, and random archive formats
03:52:30 <zzo38> The instructions in my system are do more than one thing, such as ADD will add together the first two operands and that will be the result, and then the predicate succeeds if the result is greater than the value of the third operand.
03:52:31 <trout> nothing about images
03:53:10 <hppavilion[1]> hppavilion[-1] returns the same as hppavilion[1] as hppavilion is a 1-item list and uses pythonic list comprehension
03:53:40 <zzo38> (You can ignore the result and/or the predicate due to the instruction encoding; you can even ignore both but that isn't so useful, but it does allow an instruction byte with a value of zero to mean no operation.)
03:54:41 <trout> hppavilion[1]: oh, I thought it was a C style pointer
03:54:57 <hppavilion[1]> No
03:55:00 <hppavilion[1]> It's a list index
03:55:34 <hppavilion[1]> It's equivalent to hppavilion.get(1), assuming get gets an item from a list
03:56:58 <zzo38> My VM supports two files for each program, the ROM file and the disk file (optional); currently only the Minesweeper game uses the disk file (to store game statistics), and it will check if it does not exist and still work correctly without it.
03:57:41 <zzo38> (Both files have the same format, although bank numbering in the ROM file starts at 0 and goes up, while the bank numbering in the disk file starts at -1 and goes down.)
04:00:56 <zzo38> The instruction set and assembler syntax resemble the Z-machine just a little bit.
04:01:40 <Walpurgisnacht> How many lines is lambdabot btw
04:02:03 <zzo38> I don't know
04:04:15 <zzo38> However I also wanted to know your opinions about the draft of the document of SOUND and EXTOP commands since those currently are draft. Even if they can be as is, their implementation is remain to be optional
04:12:02 <hppavilion[1]> zzo38: Wait, I thought the IS was frozen...
04:12:50 <zzo38> Yes, except the SOUND and EXTOP which aren't even implemented yet. Those instructions are still SOUND and EXTOP, although some details about their semantics are only draft so far
04:13:01 <oren_> should I add devanagari?
04:13:21 <zzo38> Also it is possible in future that further input devices for use with INPUT command might be added, although their implementation will be optional; only device 1 is required
04:14:36 -!- Walpurgisnacht has quit (Quit: Fuck me).
04:18:19 <zzo38> Also EXTOP can be used to define extensions; the number of extensions is unlimited.
04:20:19 <hppavilion[1]> Ugh
04:20:25 <hppavilion[1]> I don't feel like implementing this xD
04:20:49 <hppavilion[1]> If only I could defer the document to someone else xD
04:23:04 <zzo38> If you post a copy of document to public then anyone could try to implement
04:33:07 <hppavilion[1]> I know
04:33:08 <hppavilion[1]> But...
04:33:12 <hppavilion[1]> I don't know xD
04:35:37 <oren_> ⌚⌛
04:37:24 -!- Thisbe has quit (Quit: Thisbe).
04:43:25 <hppavilion[1]> I'm manually compiling a file xD
04:44:13 <zzo38> Manually compiling what file?
04:51:56 <hppavilion[1]> Technically, assembling
04:52:03 <hppavilion[1]> It's called SETinstructionexample.asm
04:52:46 <hppavilion[1]> It was to demonstrate the... unique behavior of SET in my assembly language to my friends
04:52:52 <hppavilion[1]> I have friends :,)
04:53:00 <zzo38> How does the instructions work and what is the unique behavior of SET in your assembly language?
04:55:02 <hppavilion[1]> The instructions are each 2 bytes, followed by a 1 byte arglength indicator, followed by n 8-byte args where n is the ord() of the arglength
04:55:20 <hppavilion[1]> SET takes a registry and a list of values
04:55:28 <hppavilion[1]> Then sets that registry to that value
04:55:34 <hppavilion[1]> Then the next registry to the next value
04:55:39 <hppavilion[1]> Then the next registry to the next value
04:55:45 <hppavilion[1]> etc... until it runs out of values
04:55:50 <zzo38> Ah, OK.
04:55:51 <hppavilion[1]> It makes string handling MUCH easier
04:56:03 <hppavilion[1]> I assume
04:56:26 <zzo38> Can you have different formats of arguments?
04:56:51 <hppavilion[1]> Unfortunately, not in Taurus 0.1
04:57:16 <hppavilion[1]> Later editions of Taurus may allow bytes or 16 bit or 32 bit arguments
04:57:28 <hppavilion[1]> But not this first iteration
04:57:40 <hppavilion[1]> Can you tell I don't know much about low-level programming? xD
04:57:51 <zzo38> I mean also though non-constant values and indirection and so on
04:57:55 <hppavilion[1]> Ah
04:57:56 <hppavilion[1]> Yes
04:58:00 <hppavilion[1]> There's MOV
04:58:37 <hppavilion[1]> And I'm pretty sure that's all you need to do infinite registry reference nesting
04:59:47 <hppavilion[1]> There are 2**64 registries
04:59:49 <hppavilion[1]> Which is a lot
04:59:54 <hppavilion[1]> But I handle it by using Maps
05:00:06 <hppavilion[1]> Only registries that get referenced are actually stored in memory
05:00:07 <hppavilion[1]> Slower
05:00:14 <hppavilion[1]> But more memory-efficient
05:01:41 <hppavilion[1]> I need to go for a bit in a minute
05:02:01 <hppavilion[1]> Bai
05:02:46 -!- MDude has changed nick to MDream.
05:06:42 -!- hppavilion[1] has quit (Ping timeout: 260 seconds).
05:13:40 <zzo38> Can a claw on a bat's feet that can be use for sleeping upsidedown to prevent it from being used like a humanoid feet under the assumption that you do not need to walk faster than ten inches per second (by which I mean not running, flying, swimming, climbing, riding in an elevator, or whatever)?
05:16:44 -!- trout has quit (Ping timeout: 272 seconds).
05:17:11 <zzo38> Is the experiment needed to figure out, or only the question?
05:25:52 -!- hppavilion[1] has joined.
05:26:59 <hppavilion[1]> I'm back
05:27:09 <hppavilion[1]> zzo38
05:42:32 <hppavilion[1]> I seem to remember an interpreter for a language
05:42:42 <hppavilion[1]> Written in a self-modifying language
05:43:21 <hppavilion[1]> That interprets the language by self-modifying its interpreter until its form is that of the language it's interpreting intstead of the language it's made in
05:43:24 <hppavilion[1]> But I can't find that
05:44:44 <hppavilion[1]> We have too many BF derivatives
05:44:46 <hppavilion[1]> Fuck that
05:44:55 <hppavilion[1]> We need too many Thue derivatives instead
05:56:09 -!- impomatic_ has quit (Quit: http://corewar.co.uk).
05:59:52 <mauris> sounds emmental ish?
06:00:34 <mauris> yes, it was emmental -> underload
06:00:45 <mauris> https://esolangs.org/wiki/Emmental#Computability_class
06:01:13 <hppavilion[1]> Ah
06:29:38 <hppavilion[1]> NEW ESOTERIC OBSESSION:
06:29:44 <hppavilion[1]> Weird kinds of Control Flow
06:41:29 -!- Wright has quit (Ping timeout: 265 seconds).
06:52:26 <zzo38> In some variants of INTERCAL there is COME FROM and NEXT FROM, as well as FORGET, and BASIC allows return to optionally specify what line to return to instead of necessarily returning to where it is called from
07:03:12 -!- Phantom_Hoover has joined.
07:03:12 -!- Phantom_Hoover has quit (Changing host).
07:03:12 -!- Phantom_Hoover has joined.
07:20:34 -!- JesseH has quit (Read error: Connection reset by peer).
07:31:45 -!- hppavilion[1] has quit (Ping timeout: 244 seconds).
07:33:56 -!- zadock has joined.
07:39:11 -!- zadock has quit (Remote host closed the connection).
07:56:47 <zzo38> Do you like this? http://zzo38computer.org/textfile/miscellaneous/spell
08:15:38 <HackEgo> [wiki] [[J-why]] N http://esolangs.org/w/index.php?oldid=44107 * Jabutosama * (+2577) Created page with "'''J-why''', orginated from sentence ''Just why'', is an esoteric functional program idea which is meant to be as stupid, hard and annoying to program as possible, yet still k..."
08:32:29 -!- Patashu has joined.
08:42:40 -!- puckipedia has quit (Remote host closed the connection).
09:00:34 -!- heddwch has quit (Read error: Connection reset by peer).
09:01:24 -!- heddwch has joined.
09:15:02 -!- impomatic_ has joined.
09:19:50 -!- mauris has quit (Remote host closed the connection).
09:25:59 -!- sebbu2 has quit (Ping timeout: 264 seconds).
09:50:42 -!- J_Arcane has quit (Ping timeout: 246 seconds).
09:54:24 -!- bender| has joined.
10:01:07 -!- glauxosdever has joined.
10:15:26 -!- sebbu has joined.
10:16:08 -!- sebbu has quit (Changing host).
10:16:08 -!- sebbu has joined.
10:27:22 -!- J_Arcane has joined.
10:30:33 -!- Patashu has quit (Remote host closed the connection).
10:31:22 -!- Patashu has joined.
10:58:52 <myname> nice idea
11:39:49 -!- rodgort has quit (Ping timeout: 240 seconds).
11:40:09 <int-e> @tell oerjan "i think technically int-e is not the repo owner" <-- the repo owner is a github organization of which I'm a member
11:40:09 <lambdabot> Consider it noted.
11:40:44 -!- Virgolang has joined.
11:47:53 -!- virgobeta has joined.
11:51:15 -!- virgobeta has quit (Read error: Connection reset by peer).
11:52:46 -!- rodgort has joined.
11:52:47 -!- virgobeta has joined.
11:52:58 -!- virgobeta has quit (Read error: Connection reset by peer).
11:54:09 -!- virgobeta has joined.
11:55:00 -!- virgobeta has quit (Read error: Connection reset by peer).
11:55:47 -!- virgobeta has joined.
11:56:11 <Virgolang> &channels
11:58:58 <Virgolang> &haha
12:08:01 -!- virgobeta has quit (Read error: Connection reset by peer).
12:11:16 <Virgolang> @help
12:11:16 <lambdabot> help <command>. Ask for help for <command>. Try 'list' for all commands
12:11:25 <Virgolang> @list
12:11:25 <lambdabot> What module? Try @listmodules for some ideas.
12:11:30 <Virgolang> @listmodule
12:11:30 <lambdabot> activity base bf check compose dice dict djinn dummy elite eval filter free fresh haddock help hoogle instances irc karma localtime metar more oeis offlineRC pl pointful poll pretty quote search slap source spell system tell ticker todo topic type undo unlambda unmtl version where
12:11:38 <Virgolang> @list eval
12:11:39 <lambdabot> eval provides: run let define letlpaste undefine
12:11:53 <Virgolang> @list todo
12:11:53 <lambdabot> todo provides: todo todo-add
12:12:00 <Virgolang> @list poll
12:12:01 <lambdabot> poll provides: poll-list poll-show poll-add choice-add vote poll-result poll-close poll-remove
12:12:08 <Virgolang> @poll-list
12:12:09 <lambdabot> ["dictator-for-life","should-lambdabot-be-more-polite"]
12:12:38 <Virgolang> @poll-show should-lambdabot-be-more-polite
12:12:38 <lambdabot> ["maybe","no","yes"]
12:12:53 <Virgolang> @choice-add should-lambdabot-be-more-polite yes
12:12:53 <lambdabot> New candidate "yes", added to poll "should-lambdabot-be-more-polite".
12:13:07 <Virgolang> @poll-result should-lambdabot-be-more-polite
12:13:07 <lambdabot> Poll results for should-lambdabot-be-more-polite (Closed): yes=0, maybe=6, no=13, yes=8
12:13:23 <myname> wat
12:14:21 <b_jonas> what?
12:14:30 <b_jonas> @poll-vote should-lambdabot-be-more-polite yes
12:14:30 <lambdabot> Unknown command, try @list
12:14:33 <b_jonas> @poll-vote should-lambdabot-be-more-polite no
12:14:33 <lambdabot> Unknown command, try @list
12:14:43 <b_jonas> @vote should-lambdabot-be-more-polite no
12:14:43 <lambdabot> The "should-lambdabot-be-more-polite" poll is closed, sorry !
12:14:59 <b_jonas> @poll-show dictator-for-life
12:14:59 <lambdabot> ["monochrom"]
12:15:05 -!- virgobeta has joined.
12:16:51 -!- virgobeta has quit (Read error: Connection reset by peer).
12:21:33 -!- Virgolang has quit (Ping timeout: 246 seconds).
12:26:42 -!- virgobeta has joined.
12:29:57 -!- impomatic_ has left.
12:38:53 -!- athenabot has joined.
12:40:57 -!- virgobeta has quit (Read error: Connection reset by peer).
12:45:17 <glauxosdever> ath.bf
12:45:17 <athenabot> Output: [NON EXISTENT CHARACTER: 0]
12:45:27 <glauxosdever> ath.bf ++
12:45:28 <athenabot> Output:
12:47:12 -!- Patashu has quit (Ping timeout: 264 seconds).
12:49:16 <glauxosdever> ath.bf ++[-->
12:49:16 <athenabot> Missing ']'
12:49:23 <glauxosdever> ath.bf ++[-->]
12:49:23 <athenabot> Output:
12:49:35 <glauxosdever> What did it do?
12:50:54 <myname> ath.bf ++++++[>+++++++++++<-]>.
12:50:55 <athenabot> Output: B
12:50:58 <myname> works fine
12:51:12 <glauxosdever> I just don't know bf.
12:51:28 <myname> how the hell did you get here?
12:51:31 <glauxosdever> +++++[<++<-]
12:51:38 -!- `^_^v has joined.
12:51:44 <glauxosdever> ath.bf +++++[<++<-]
12:51:44 <athenabot> Output:
12:51:59 -!- Virgoxx has joined.
12:51:59 <myname> you really don't
12:52:35 <myname> ath.bf ++++++[>+++++++++++<-]>.++++.
12:52:36 <athenabot> Output: BF
12:52:48 <Virgoxx> o_0
12:52:59 <Virgoxx> i will make an bf interpreter
12:53:14 <myname> there are already like a dozen of them
12:53:20 <glauxosdever> I know someone that has created a bot that handles esoteric languages (athenabot), so I sent it here.
12:53:25 <myname> we even need to make one at university
12:53:57 <glauxosdever> ath.bf ++++++[>+++++++++++<-]>.++++.-.
12:53:57 <athenabot> Output: BFE
12:54:08 <glauxosdever> ath.bf ++++++[>+++++++++++<-]>.++++.-.++++++++++++++++
12:54:08 <athenabot> Output: BFE
12:54:11 <glauxosdever> ath.bf ++++++[>+++++++++++<-]>.++++.-.++++++++++++++++.
12:54:12 <athenabot> Output: BFEU
12:54:17 <glauxosdever> ath.bf ++++++[>+++++++++++<-]>.++++.-.++++++++++++++++.-
12:54:17 <athenabot> Output: BFEU
12:54:20 <glauxosdever> ath.bf ++++++[>+++++++++++<-]>.++++.-.++++++++++++++++.-.
12:54:20 <athenabot> Output: BFEUT
12:54:38 <myname> what it basically does is 6*11 which is B
12:54:39 <glauxosdever> I don't see how bf is useful...
12:54:42 <myname> . outputs that
12:54:54 <myname> welö, i don't see how java is useful
12:55:05 <fizzie> Dozen seems like a low estimate.
12:56:07 <glauxosdever> I don't know about java. C and Python are really useful, and Assembly for low level system programming.
12:56:55 <myname> well, they all can do nothing more than bf can
12:57:04 <myname> so bf is useful :p
12:58:33 <glauxosdever> Can bf read from and write to individual registers? Maybe to ports? Can it read/save files?
12:59:12 <myname> oif you write an os in it, sure thing
13:04:41 -!- athenabot has quit (Quit: Restarting bot after error).
13:08:44 -!- puckipedia has joined.
13:28:23 -!- Wright has joined.
13:29:11 -!- oerjan has joined.
13:29:50 <oerjan> @messages-
13:29:50 <lambdabot> int-e said 1h 49m 41s ago: "i think technically int-e is not the repo owner" <-- the repo owner is a github organization of which I'm a member
13:37:37 -!- Virgoxx has quit (Quit: Page closed).
13:38:09 -!- Virgolang has joined.
13:38:35 -!- virgobeta has joined.
13:39:08 -!- glauxosdever has left.
13:40:09 -!- virgobeta has quit (Excess Flood).
13:44:30 -!- Virgolang has quit (Ping timeout: 246 seconds).
13:56:27 -!- Virgolang has joined.
13:57:06 -!- virgobeta has joined.
13:57:41 -!- Wright has quit (Read error: Connection reset by peer).
13:57:47 -!- Wright has joined.
13:58:23 -!- Virgolang has left.
13:59:22 -!- virgobeta has quit (Read error: Connection reset by peer).
14:00:39 -!- TieSoul has joined.
14:03:06 -!- oerjan has quit (Quit: leaving).
14:04:38 -!- virgobeta has joined.
14:04:47 -!- virgobeta has quit (Excess Flood).
14:06:08 -!- Virgolang_ has joined.
14:06:15 -!- AnotherTest has joined.
14:07:23 -!- Wright has quit (Ping timeout: 264 seconds).
14:07:48 -!- Virgolang_ has changed nick to Chiron.
14:07:59 -!- Chiron has changed nick to ChironBeta.
14:08:14 <ChironBeta> how to register nickname??
14:08:36 <ChironBeta> !help
14:08:36 <zemhill> ChironBeta: I do !zjoust; see http://zem.fi/bfjoust/ for more information.
14:08:36 <EgoBot> ​help: General commands: !help, !info, !bf_txtgen. See also !help languages, !help userinterps. You can get help on some commands by typing !help <command>.
14:08:51 <ChironBeta> !zjoust
14:08:51 <zemhill> ChironBeta: "!zjoust progname code". See http://zem.fi/bfjoust/ for documentation.
14:09:12 <fizzie> That's not what you want if you want to register a nickname.
14:09:17 <fizzie> https://freenode.net/faq.shtml#userregistration would be more like it.
14:17:09 -!- J_Arcane has quit (Read error: Connection reset by peer).
14:18:24 -!- J_Arcane has joined.
14:18:34 <ChironBeta> i am calling my bot
14:18:51 <ChironBeta> it has one difference
14:19:02 <ChironBeta> you send commands to it via pm
14:19:19 <ChironBeta> to prevent channel cluttering
14:19:34 <ChironBeta> when even it is on another channel
14:19:42 <ChironBeta> you can send commands to it.
14:25:06 -!- ChironBeta has quit (Ping timeout: 246 seconds).
14:25:09 <fizzie> I would think most bots accept private messages.
14:30:48 -!- Virgolang has joined.
14:39:07 -!- x10A94 has joined.
14:49:56 -!- JesseH has joined.
14:50:54 -!- J_Arcane has quit (Ping timeout: 244 seconds).
14:58:16 -!- MDream has changed nick to MDude.
15:02:13 <zzo38> Do you know answer of any of my previously questions?
15:05:21 -!- Virgolang has quit (Ping timeout: 246 seconds).
15:06:09 -!- Virgolang has joined.
15:07:06 -!- AnotherTest has quit (Ping timeout: 246 seconds).
15:07:52 -!- Virgolang_ has joined.
15:07:59 -!- AnotherTest has joined.
15:08:44 <b_jonas> zzo38: what questions?
15:08:49 -!- marginale has joined.
15:08:57 <b_jonas> there's one about http://zzo38computer.org/textfile/miscellaneous/spell
15:09:06 -!- marginale has left.
15:10:17 -!- marginale has joined.
15:10:30 -!- marginale has left.
15:11:16 <b_jonas> "Swap two ability scores of the target." -- That's a bit scary, that can instakill by swapping Con with a zero Str. When it doesn't instakill, how permanent is it?
15:11:18 -!- Virgolang has quit (Ping timeout: 246 seconds).
15:11:35 -!- bender| has quit (Ping timeout: 244 seconds).
15:12:41 <b_jonas> "Link two objects so that whatever is written on one (including pictures) is duplicated on the other; does not duplicate magical properties." -- for how long are they linked? permanently?
15:14:46 <b_jonas> "Delay a spell so that it starts as soon as another spell ends" -- how would this work excatly? could be good, but needs more details.
15:15:17 -!- `^_^v has quit (Quit: This computer has gone to sleep).
15:15:54 <b_jonas> "Detect the weight and volume of an object in range without touching it." -- hmm, is this something you almost never cast, and learn the spell only to craft magical weight scales that non-caster farmers can then use on a market to sell their products?
15:16:01 <zzo38> Maybe the saving throw of swapping ability score is increase by their difference, or only affect willing targets, or only affect the caster, or whatever.
15:16:04 <b_jonas> "Increase target's carrying capacity without otherwise affecting the
15:16:47 <b_jonas> strength or size or weight of the target." -- hmm, can it bring a very strong monster past its maximum carrying capacity? or does it work only on weak monsters, such as yourself as a caster?
15:17:14 <b_jonas> Wait, does this even target a monster, or an item instead, like a BoH?
15:17:33 <zzo38> It only increases carrying capacity so it cannot bring anyone past their maximum, unless they carry too much stuff before the spell expires
15:18:03 <b_jonas> "Heal hit points up to the next Fibonacci number." -- shouldn't that be the second next fibonacci number instead, so it heals a lot even when the hp is a bit less than a fibonacci number? and what does it do exactly for hp=1 or for non-positive hp?
15:18:30 <Taneb> Aaaah what's the topos of trees
15:18:38 <Taneb> What bit of maths is that from,
15:18:43 <zzo38> For HP 1 or less it would do nothing I suppose maybe?
15:19:03 <b_jonas> zzo38: I mean, can it increase you past the hard cap of carrying capacity that you'd get if you were a very strong monster? Nethack has such a hard cap of 1000 weight units, no matter what type of monster or how strong you are, but maybe D&D doesn't.
15:19:40 -!- nycs has joined.
15:19:43 <b_jonas> Eg. if the target is already of strength 30 and is a beast of burden with a special ability to have extra carrying capacity when the stuff is on their saddle, does it still increase their carrying cap?
15:20:08 <zzo38> As far as I know D&D doesn't, so yes it may increase carrying capacity beyond whatever, I think
15:20:36 <b_jonas> "Cause a circular area of the ground to rotate." -- sounds good, but for how long duration? how deep does it go? can I use this to burst water pipes in a building?
15:21:06 <b_jonas> "Make any spell language-dependent." -- what does that mean?
15:21:41 <b_jonas> "Penalize target for any magic they are using." -- sure, that can work if you balance it right.
15:21:54 <b_jonas> wait, any magic, not only spells?
15:21:56 <b_jonas> even items?
15:21:56 <b_jonas> hmm
15:22:06 <zzo38> Those are good question, some details I don't know (including the spell level) so I didn't mention them.
15:22:32 <zzo38> But I would expect most durations aren't very long (you could use metamagic to extend them), but some might last longer
15:22:32 <b_jonas> "Automatically alphabetize the pages of a book." -- um, one page as a unit, or can it move entries around within a page too?
15:23:14 <b_jonas> Wait, I have a non-D&D question related to that
15:23:15 <Virgolang_> in the list
15:23:28 <b_jonas> http://scifi.stackexchange.com/q/95289/4918
15:24:33 <zzo38> "Make any spell language-dependent" would mean you can make up a language-dependent fireball so that it does not damage those who do not speak your language, was my idea
15:24:47 <b_jonas> "Use one spell to determine which of two other spells to apply." -- as in a low-leve divination spell? sure, could work
15:25:19 <b_jonas> ah! can it work the other way, damaging only those who don't speak that language?
15:25:37 <b_jonas> this could be useful, yes
15:25:48 <zzo38> b_jonas: No, language-dependent doesn't work that way, unless you apply language-dependency to a protection spell instead and then cast the damaging spell as normal.
15:26:03 <b_jonas> hmm ok
15:27:04 <b_jonas> you can try to use this language-dependent fireball to fry elven spies who speak elven, with some false positives. would cull cultural diversity quickly if it spreaded.
15:27:13 <b_jonas> but yes, it's a good idea.
15:27:58 <b_jonas> "Suppress a spell during even-numbered rounds of its duration." -- oh no, phasing!
15:28:52 <b_jonas> "Delay a spell according to weight or hit points of target." -- um what? this coudl mean anything, just like that other delay thing.
15:29:04 <b_jonas> "Create an extra timelike dimension." -- um... I don't see how that would work
15:29:20 <b_jonas> "Change an effect that normally has a minimum of 1 or 0 to instead have
15:29:36 <b_jonas> no minimum (e.g. 3 damage with DR 5 heals you 2 points)." -- no way. not without some very strong limits enumerating on what it can do. otherwise this can break everything.
15:29:42 <zzo38> Well, I do not see how "Create an extra timelike dimension" would work either; that one is just strange
15:30:07 <zzo38> b_jonas: My limits in my mind were a 9th-level spell that affects only one thing one time, but maybe that isn't enough I don't know
15:31:16 <b_jonas> like, it will allow you to summon -100 fiendish wolves with a Summon Monster II spell
15:32:02 <b_jonas> or maybe not
15:32:05 <b_jonas> but crazy stuff like that
15:32:32 <zzo38> Summon Monster II doesn't seem to work that way
15:33:08 <zzo38> It doesn't allow you to select how many
15:33:15 <b_jonas> I mean, that spell is basically like Look at Me, I'm R&D, which is something you can never allow outside silver bordered land
15:33:48 <zzo38> Also I didn't intend it would affect any number you choose anyways; only calculated results can be affected.
15:33:52 <b_jonas> Oh, it removes a limit?
15:33:56 <myname> https://github.com/alevchuk/vim-clutch awesome
15:34:16 <b_jonas> Then it's like that hypothetical card that removes a word from a card, which was too scary to even be silver-bordered.
15:34:23 <b_jonas> From the text of a card that is.
15:34:28 <b_jonas> Or a sentence or something.
15:34:42 <b_jonas> Just no.
15:35:06 <b_jonas> "Detect if an item is a suitable component for a spell." -- sure, good idea
15:35:11 <b_jonas> we always need more divination spells
15:35:25 <b_jonas> "Variant of True Seeing: Simply view things as if all magic was absent." -- um... I dunno
15:35:46 <zzo38> At least my brother, as well as the DM of the game I am in, likes that variant of True Seeing
15:36:02 <b_jonas> "Make a single dice roll in advance." -- hmm, isn't that basically like a re-roll one dice ability, just a bit better?
15:36:25 <b_jonas> Ok, maybe not, because it doesn't easily let you re-roll multiple dice that are rolled together.
15:36:44 <b_jonas> "Feign invisibility." -- what is that? an SEP field?
15:36:48 <zzo38> Sometimes it is better, sometimes worse, I suppose.
15:36:55 <zzo38> I don't even know what "SEP field" means?
15:37:09 <b_jonas> as in the Hitch Hiker's Guide to the Galaxy
15:37:35 -!- marginale has joined.
15:37:48 -!- rodgort has quit (Ping timeout: 268 seconds).
15:37:53 <int-e> I don't know what SEP means; luckily it's somebody else's problem
15:38:07 <b_jonas> "Create a map of the area (only fixed features)." -- magic mapping, sure
15:38:20 <zzo38> myname: Thank you I didn't know that! I don't really need such thing but it can be helpful to know how these footpedal are hacked to be programmed for released
15:38:32 <b_jonas> "Change an object into its mirror-image form." -- uh, is this a spell that requires biochemistry knowledge to DM or something?
15:38:57 <int-e> b_jonas: anitmatter takes care of itself quickly
15:39:01 <int-e> *antimatter
15:39:07 <zzo38> Actually I wrote some draft like that once and it said it explicitly does not affect biochemistry or antimatter or whatever.
15:39:08 <b_jonas> "Make any surface into a mirror." -- ok
15:39:21 <b_jonas> as long as it's some ordinary cheap mirror, not a very valuable one
15:39:35 <int-e> b_jonas: heh, can that be used to blind monsters?
15:39:45 <zzo38> Yes, an ordinary cheap mirror.
15:40:02 <b_jonas> int-e: probably no, you can't target them
15:40:04 <int-e> (turning the surface of their eyes into a mirror
15:40:06 <int-e> )
15:40:23 <zzo38> No you can't do that you have to target unattended object or your own object
15:40:34 <b_jonas> int-e: no, that'd be similar to targetting an item in their inventoyr, it's banned for normal magic that targets object, except when explicitly written.
15:41:26 <b_jonas> "Force target to decide his action in advance." -- oh, can work, as long as it doesn't last very long
15:42:23 <b_jonas> "Redirect damage from summoned creatures to yourself." -- sure, at least if you have to cast this when they're not very far from you, like within your visual range
15:43:09 <b_jonas> "Apply metamagic to opponent's spell." -- ugh... I'm not sure. this would have to restrict what kind of metamagic, at which point it's better to have separate spells for slowing down an opponent's spell, delaying it, reducing its effect, etc.
15:43:38 <b_jonas> "Save part of the duration of a spell for later." -- could work, at least in most cases.
15:44:02 <b_jonas> but only if it requires you to still hold that spell slot as used as long as you're saving the spell
15:44:17 <b_jonas> otherwise you could delay spells for a year and then discharge them all in a battle
15:44:25 <b_jonas> Gain a temporary slot prepared with the spell that would be the least
15:44:31 -!- rodgort has joined.
15:44:38 <zzo38> Yes you have to still hold the slot and there would be a limited amount too, you can't save it indefinitely!
15:44:43 <b_jonas> useful one in the current situation. -- um... that sounds very useless, but ok
15:45:23 <b_jonas> Wait, why'd you ever cast that, instead of just preparing or casting a useless spell to that slot?
15:45:25 <zzo38> b_jonas: It is a kind of divination, so not too useless. And even if they think it is the least useful one, you could figure out how to use it anyways...
15:46:17 <b_jonas> I'd just prepare some other mostly useless spell instead.
15:46:23 <b_jonas> I don't see what I'd lose.
15:47:01 <b_jonas> "Change one gem into another of equal value." -- a restricted transmutation on items? sure!
15:47:11 <b_jonas> but needs some limits on the quantity probably
15:47:45 -!- marginale has quit (Read error: Connection reset by peer).
15:48:06 <zzo38> Yes clearly does have limit on quantity, like most spells would have.
15:48:36 <b_jonas> "Cause target to believe he is your parent." -- what? a Darth Vader spell?
15:49:33 <b_jonas> "Create coloured water (functions like normal water)." -- um, if this didn't exist, couldn't you just use prestidigitation to create those kinds of paints they use to debug where the cooling liquid pipes of a car is leaking?
15:49:51 <b_jonas> but ok, it could work as a spell
15:49:59 <zzo38> Prestidigitation may make it temporary I think
15:50:06 <b_jonas> it's just that I think those paints are very cheap so it's not worth a spell slot
15:50:11 <b_jonas> you _want_ it temporary
15:50:24 <b_jonas> you need it for up to a few days, until you've debugged the problem
15:50:45 <b_jonas> if it's temporary, you won't have stains remaining on the insides of the car
15:51:17 <b_jonas> But you could make a more powerful variant:
15:51:23 <zzo38> Yes, but this isn't to do pipes in the car, there isn't the such thing in this game. It is so you can do in the time of just one spell to create it work colours
15:51:36 <zzo38> In place
15:52:19 <b_jonas> mark water or oil in such a way that it's not colored or radioactive or changed in its function, but you can still detect it with some magical means easily.
15:52:45 <zzo38> That isn't my intention though
15:53:02 <b_jonas> That would be useful for doctors, because they could apply it more easily than the current methods which generally require radioactivity or other markers.
15:53:12 <b_jonas> And the level could depend on how detailed image you can get.
15:53:35 <b_jonas> Eg. to get something like a high-powered MR image with contrast material, you'd need a high-level detection spell.
15:54:10 <b_jonas> But to just find in which of two bays the underground river flows into, you'd need a lower level detection spell.
15:57:09 -!- Virgolang_ has quit (Ping timeout: 246 seconds).
15:58:28 -!- Virgolang_ has joined.
15:58:51 -!- marginale has joined.
16:03:28 <zzo38> One example of apply metamagic to opponent's spell might be to extend the duration of an opponent's spell without their knowledge
16:03:59 <zzo38> (But it isn't limited to opponent's either; you can use with other spellcaster on your team too)
16:05:46 <b_jonas> without their knowledge?
16:06:37 <zzo38> One example of causing one spell to start when another one ends might be, that Drawmij's Instant Summons is discharged when you summon an item so that can trigger another spell, or Explosive Runes will be discharged when the runes exploded, or Invisibility ends once all targets of the spell have attacked, etc
16:08:46 -!- marginale has quit (Excess Flood).
16:09:43 <zzo38> (It also doesn't work if the spell used to cause this delay expires before the other one does.)
16:10:51 <zzo38> Also some spells have random durations so it could be affected by that too
16:11:27 <zzo38> Can you answer my other questions though before I posted that list of spell?
16:12:07 <b_jonas> What were your other questions?
16:12:50 <zzo38> See in the log what it was
16:12:54 -!- Virgolang_ has quit (Ping timeout: 246 seconds).
16:13:16 -!- AnotherTest has quit (Ping timeout: 265 seconds).
16:13:51 <zzo38> Maybe I will find and copy it, let me see
16:13:51 <b_jonas> "Can a claw on a bat's feet that can be use for sleeping upsidedown to prevent it from being used like a humanoid feet under the assumption that you do not need to walk faster than ten inches per second (by which I mean not running, flying, swimming, climbing, riding in an elevator, or whatever)?"
16:13:58 <zzo38> Yes that is one of them
16:14:54 <b_jonas> I don't know that one.
16:15:01 <b_jonas> I didn't see any other question.
16:15:38 <zzo38> O, I hoped someone would know this answer (but I did also post another question, is the experiment required?)
16:15:44 <zzo38> Although I did post many other questions
16:18:16 <zzo38> But my brother did not know the answer either; he asked me a question and I replied with another question in order to guess the answer
16:21:29 <zzo38> How would you make such an experiment anyways?
16:30:42 <zzo38> But my other (unrelated) question was if you have any objections to the definition of SOUND and EXTOP opcodes of QUACKVM before they are made finalized.
16:50:13 -!- Virgolang_ has joined.
16:50:48 -!- marginale has joined.
16:53:39 -!- marginale has quit (Read error: Connection reset by peer).
16:54:30 -!- Virgolang__ has joined.
16:57:42 -!- Virgolang_ has quit (Ping timeout: 246 seconds).
16:57:50 -!- Virgolang__ has changed nick to Virgolang_.
17:11:06 -!- Virgolang_ has changed nick to jerrylorrly.
17:15:24 <HackEgo> [wiki] [[Whirl]] http://esolangs.org/w/index.php?diff=44108&oldid=36815 * 94.62.69.164 * (-110)
17:16:47 <zzo38> Who does know these questions?
17:19:06 <HackEgo> [wiki] [[CHIQRSX9+]] http://esolangs.org/w/index.php?diff=44109&oldid=40694 * 94.62.69.164 * (+16) /* Examples */
17:39:42 -!- jerrylorrly has quit (Ping timeout: 246 seconds).
17:53:14 -!- bb010g has quit (Quit: Connection closed for inactivity).
18:02:49 -!- ais523 has joined.
18:05:42 <Sgeo__> "Do I see the moon shining?" "No, it's just the flames burning"
18:07:11 <Sgeo__> Why does a Sonic the Hedgehog fanfic contain an extended Evillious Chronicles scene?
18:07:43 <zzo38> I don't know why
18:07:59 -!- hppavilion[1] has joined.
18:08:47 <hppavilion[1]> Hellu
18:09:15 <Sgeo__> Oh apparently it's a character listening to a song
18:09:31 <Sgeo__> https://www.fanfiction.net/s/7427632/3/Xanovias
18:23:08 <hppavilion[1]> THE LINK
18:23:10 <hppavilion[1]> IT BUUUUUUUUUUUUURNS
18:27:25 -!- bb010g has joined.
18:28:09 <int-e> the roof, the roof, the roof is on fire...
18:36:07 -!- AnotherTest has joined.
18:44:48 -!- hppavilion[1] has quit (Ping timeout: 246 seconds).
18:51:16 -!- sc00fy has quit (Ping timeout: 246 seconds).
18:51:50 <b_jonas> zzo38: QUACKVM? where's the draft for that?
18:54:07 <zzo38> b_jonas: http://zzo38computer.org/prog/quackvm.zip Most of it is finalized, although the documentation is not yet complete, and some details of SOUND and EXTOP are not finalized
18:55:57 -!- mihow has joined.
18:57:43 <zzo38> Do you have any other question/comment/opinions/complaints about such thing please?
19:04:21 -!- `^_^ has joined.
19:04:39 -!- J_Arcane has joined.
19:05:32 <shachaf> `olist 1003
19:05:34 <HackEgo> olist 1003: shachaf oerjan Sgeo FireFly boily nortti
19:06:14 -!- nycs has quit (Ping timeout: 260 seconds).
19:06:27 <zzo38> And how can I possibly figure out the answer of my other question?
19:06:28 <FireFly> oooh
19:07:41 <shachaf> `FireFlist
19:08:11 <zzo38> Is there such a file as FireFlist?
19:08:43 <nortti> `run echo 'echo FireFly Eldis4' > bin/FireFlist
19:08:46 <HackEgo> No output.
19:08:58 <nortti> `chmod +x bin/FireFlist
19:08:59 <HackEgo> chmod: missing operand after `+x bin/FireFlist' \ Try `chmod --help' for more information.
19:09:03 <zzo38> Well, now it is.
19:09:04 <nortti> `run chmod +x bin/FireFlist
19:09:07 <HackEgo> No output.
19:09:24 <ais523> huh, I saw the fireflist
19:09:32 <ais523> thought "ooh, I wonder if OOTS updated since I was last online"
19:09:36 <ais523> checked it, found it was only just posted
19:09:42 <ais523> then came to the channel to see if anyone had `olisted yet
19:09:47 <zzo38> In addition to `run there is also `` and ``` which are similar to `run
19:09:56 <shachaf> ais523: You could just add yourself to olist
19:10:00 <zzo38> ais523: Now you know!
19:10:05 <ais523> we've had this conversation before
19:10:06 <nortti> `cat bin/`
19:10:07 <HackEgo> TIMEFORMAT='real: %lR, user: %lU, sys: %lS' exec bash -c -- "$1"
19:10:09 <nortti> `cat bin/``
19:10:10 <HackEgo> export LANG=C; exec bash -c "$@"
19:10:22 <shachaf> I don't remember the conclusion.
19:10:28 <ais523> I prefer to read OOTS on my own pace; however, I know that #esoteric cares about being notified ASAP
19:10:46 <ais523> so I see ensuring that `olists are posted in a timely way as being a service to everyone who's actually on the `olist
19:10:50 <ais523> whilst not caring if I myself am late
19:11:59 <FireFly> `time echo hello
19:12:00 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: time: not found
19:12:08 <zzo38> Are most of my questions too difficult for anyone to answer (including myself)?
19:12:48 <zzo38> `` time echo hello
19:12:49 <HackEgo> real: 0m0.001s, user: 0m0.000s, sys: 0m0.000s \ hello
19:12:51 <FireFly> oh, wait, that'd be `` I guess
19:13:13 <fizzie> It's actually `run.
19:13:23 <zzo38> `cat bin/run
19:13:24 <HackEgo> echo run run run
19:13:32 <fizzie> It's a special command, not a script.
19:13:39 <zzo38> The `run is a different command clearly
19:13:41 <fizzie> For some reason people just started using ``, which actually is bin/`.
19:13:41 <FireFly> `` ls -l bin/`
19:13:42 <HackEgo> bash: -c: line 0: unexpected EOF while looking for matching ``' \ bash: -c: line 1: syntax error: unexpected end of file
19:13:53 <FireFly> `` ls -l bin/"`"
19:13:54 <HackEgo> bash: -c: line 0: unexpected EOF while looking for matching ``' \ bash: -c: line 1: syntax error: unexpected end of file
19:13:55 <ais523> fizzie: `` is shorter
19:13:58 <FireFly> ugh, right
19:14:02 <FireFly> `` ls -l bin/"\`"
19:14:02 <HackEgo> ​-rwxr-xr-x 1 5000 0 65 Jun 21 02:47 bin/`
19:14:04 <zzo38> Yes, the `` changes the time output and ``` changes the locale
19:14:04 <ais523> I added `! for similar reasons
19:14:17 <shachaf> `cat bin/!
19:14:22 <shachaf> Oh, right.
19:14:29 <HackEgo> ​#!/bin/sh \ CMD=`echo "$1" | cut -d' ' -f1` \ ARG=`echo "$1" | cut -d' ' -f2-` \ exec ibin/$CMD "$ARG"
19:14:52 <shachaf> i,i `` ln -s ibin ibid
19:14:53 <FireFly> Ah, interpreters
19:17:02 <zzo38> b_jonas: Did you read this?
19:17:28 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
19:17:36 <b_jonas> zzo38: read what?
19:17:51 <zzo38> The document of the QUACKVM
19:17:56 <b_jonas> still reading
19:18:06 <ais523> FireFly: `! is the entire original purpose of HackEgo
19:18:19 <ais523> it was intended so that we could add esolangs to it ourselves instead of having to bother Gregor
19:18:20 <zzo38> As you could see the documentation is currently incomplete.
19:18:21 <FireFly> Nod
19:18:33 <ais523> but HackEgo has mostly been used for quotes and "wisdom" (actually foolishness) and rainbow welcomes
19:18:45 <zzo38> (It also does not currently document the assembler, although you can look at the provided files for examples.)
19:19:04 <FireFly> `ls ibin
19:19:05 <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
19:21:12 -!- Phantom_Hoover has joined.
19:21:46 -!- hppavilion[1] has joined.
19:28:08 <hppavilion[1]> Hellu
19:35:50 -!- hppavilion[1] has quit (Ping timeout: 240 seconds).
19:57:16 -!- hppavilion[1] has joined.
19:57:37 <b_jonas> zzo38: ok, I have questions
19:57:39 <b_jonas> and comments
19:58:02 <b_jonas> zzo38: what I'm missing the most is describing what an instruction contains, eg. what its arguments can be, and what the basic instruction loop is
19:58:10 <b_jonas> it would be nice if you could tell that now
20:01:49 <b_jonas> zzo38: also, how the instructions are encoded, if they're stored in the writable memory
20:04:24 <b_jonas> whoa I'm looking at the answers for this in quackvm.c
20:04:34 <b_jonas> still, definitely document it because it matters
20:07:36 -!- atrapado has joined.
20:07:49 <hppavilion[1]> zzo38: You there?
20:27:53 <b_jonas> zzo38: ?
20:31:34 <hppavilion[1]> I think he's dead
20:31:41 <hppavilion[1]> @mourn zzo38
20:31:52 <hppavilion[1]> `mourn zzo38
20:31:53 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: mourn: not found
20:32:37 <hppavilion[1]> `ls bin/
20:32:38 <HackEgo> ​` \ `` \ ^.^ \ ̊ \ ! \ ? \ ¿ \ ' \ @ \ * \ ؟ \ \ \ \ 2014 \ 2015 \ 8ball \ 8-ball \ aaaaaaaaa \ addquote \ allquotes \ analogy \ anonlog \ arienvenido \ as86 \ aseen \ benvenuto \ bf \ bienvenido \ blessyou \ botsnack \ bseen \ buttsnack \ calc \ cAt \ CaT \ catcat \ cats \ cc \ cdecl \ c++decl \ chroot \ coins \ CoInS \ complain \ co
20:32:49 <hppavilion[1]> `touch bin/mourn
20:32:54 <HackEgo> No output.
20:33:03 <hppavilion[1]> `echo "echo "Alas, poor $@, I knew him well" > bin/mourn
20:33:04 <HackEgo> ​"echo "Alas, poor $@, I knew him well" > bin/mourn
20:33:15 -!- bb010g has quit (Quit: Connection closed for inactivity).
20:33:25 <hppavilion[1]> `bash "echo \"echo "Alas, poor $@, I knew him well\"" > bin/mourn
20:33:25 <HackEgo> bash: "echo \"echo "Alas, poor $@, I knew him well\"" > bin/mourn: No such file or directory
20:33:50 <hppavilion[1]> `bash "echo \"echo "Alas, poor $@, I knew him well\"" > bin/mourn
20:33:50 <HackEgo> bash: "echo \"echo "Alas, poor $@, I knew him well\"" > bin/mourn: No such file or directory
20:34:10 <hppavilion[1]> b_jonas: How do I do this again?
20:34:14 <b_jonas> Wtf, the godlike robot thingy can't even give ponies to Galatea? I don't think he's even that powerful.
20:34:33 <hppavilion[1]> `run "echo \"echo "Alas, poor $@, I knew him well\"" > bin/mourn
20:34:33 <HackEgo> bash: -c: line 0: unexpected EOF while looking for matching `"' \ bash: -c: line 1: syntax error: unexpected end of file
20:34:48 <hppavilion[1]> `run "echo \"echo "Alas, poor $@, I knew him well\" > bin/mourn"
20:34:49 <HackEgo> bash: -c: line 0: unexpected EOF while looking for matching `"' \ bash: -c: line 1: syntax error: unexpected end of file
20:37:01 <hppavilion[1]> `run "echo \"echo \"Alas, poor $@, I knew him well\"\" > bin/mourn"
20:37:01 <HackEgo> bash: echo "echo "Alas, poor , I knew him well"" > bin/mourn: No such file or directory
20:37:16 <fizzie> Your outermost quotes are wrong.
20:37:37 <fizzie> Compare typing literally "something something whatever" in a shell; it's going to look for a command with that names.
20:37:54 <fizzie> And the second-level quotes do not need escaping.
20:38:08 <fizzie> `run echo "echo \"Alas, poor $@, I knew him well\""
20:38:08 <HackEgo> echo "Alas, poor , I knew him well"
20:38:16 <fizzie> `run echo "echo \"Alas, poor \$@, I knew him well\""
20:38:17 <HackEgo> echo "Alas, poor $@, I knew him well"
20:38:22 <fizzie> That is something you could now > to a file.
20:38:39 <fizzie> (Using single quotes would have been easier.)
20:39:10 <hppavilion[1]> `run "echo \"echo \\\"Alas, poor $@, I knew him well!\\\"\" > bin/mourn"
20:39:10 <HackEgo> bash: echo "echo \"Alas, poor , I knew him well!\"" > bin/mourn: No such file or directory
20:39:24 <fizzie> You keep going further.
20:39:35 <fizzie> `run echo "echo \"Alas, poor \$@, I knew him well\"" > bin/mourn
20:39:37 <HackEgo> No output.
20:39:39 <fizzie> `mourn whoever
20:39:40 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: /hackenv/bin/mourn: Permission denied \ /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: /hackenv/bin/mourn: cannot execute: Permission denied
20:39:47 <fizzie> `run chmod +x bin/mourn
20:39:49 <HackEgo> No output.
20:39:49 <fizzie> `mourn whoever
20:39:50 <HackEgo> Alas, poor whoever, I knew him well
20:39:52 <fizzie> There you go.
20:39:52 <hppavilion[1]> Hopefully that'll go through
20:40:35 <hppavilion[1]> `run echo "echo \"/me picks up a skull\";echo \"Alas, poor \$@, I knew him well!\"" > bin/mourn
20:40:41 <hppavilion[1]> `run echo "echo \"/me picks up a skull\";echo \"Alas, poor \$@, I knew him well!\"" > bin/mourn
20:40:44 <HackEgo> No output.
20:40:49 <hppavilion[1]> `mourn someone
20:40:49 <HackEgo> ​/me picks up a skull \ Alas, poor someone, I knew him well!
20:41:09 <hppavilion[1]> `run echo "echo \"echo \"Alas, poor \$@, I knew him well!\"" > bin/mourn
20:41:12 -!- x10A94 has quit (Read error: Connection reset by peer).
20:41:13 <HackEgo> No output.
20:41:19 <hppavilion[1]> `mourn whoever
20:41:19 <HackEgo> ​/hackenv/bin/mourn: line 1: unexpected EOF while looking for matching `"' \ /hackenv/bin/mourn: line 2: syntax error: unexpected end of file
20:41:34 <hppavilion[1]> `run echo "echo \"Alas, poor \$@, I knew him well\"" > bin/mourn
20:41:35 <HackEgo> No output.
20:41:40 <hppavilion[1]> `mourn whoever
20:41:41 <HackEgo> Alas, poor whoever, I knew him well
20:41:46 <hppavilion[1]> `run echo "echo \"Alas, poor \$@, I knew him well!\"" > bin/mourn
20:41:49 <b_jonas> Oh, he's casting that overpowered death spell that destroys a target without a limit on its hp or level.
20:41:49 <HackEgo> No output.
20:41:55 <b_jonas> That's a very scary spell.
20:41:56 <hppavilion[1]> `mourn whoever
20:41:57 <HackEgo> Alas, poor whoever, I knew him well!
20:42:59 -!- TieSoul has quit (Remote host closed the connection).
20:46:10 -!- hppavilion[1] has quit (Ping timeout: 240 seconds).
20:51:05 -!- heddwch has changed nick to JustSIDS.
20:52:46 <int-e> s/ well//
20:53:29 <int-e> `misquote
20:53:30 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: misquote: not found
20:55:04 -!- copumpkin has joined.
20:56:42 <b_jonas> zzo38: ping
20:56:54 -!- JustSIDS has changed nick to heddwch.
20:57:11 -!- shikhin has changed nick to sortie.
20:57:13 -!- sortie has quit (Disconnected by services).
20:57:20 -!- shikhin has joined.
20:57:46 -!- contrapumpkin has quit (Ping timeout: 252 seconds).
20:59:28 <int-e> `quote
20:59:31 <HackEgo> 591) <ais523\unfoog> Vorpal: your ability to randomly make obvious comments in IRC as if they were profound is not a particularly useful one
20:59:32 -!- `^_^ has quit (Quit: This computer has gone to sleep).
21:00:57 -!- hppavilion[1] has joined.
21:01:12 <hppavilion[1]> We should add more possible things to `mourn
21:01:46 <hppavilion[1]> For example, NOOOOOOOOOOOOOOOOOOOOOOOOOO
21:07:16 -!- Patashu has joined.
21:10:00 <zzo38> b_jonas: OK, I was out but now I am on
21:11:30 <zzo38> Yes I will document it; as I said the documentation is incomplete.
21:13:20 <b_jonas> zzo38: my main problem with this thing is that the program counter is memory-mapped. I hate machines where that's done, because it makes it almost impossible to optimize this system, whether in software or hardware.
21:14:04 -!- Patashu has quit (Ping timeout: 246 seconds).
21:14:22 <b_jonas> zzo38: This way, any indirect store can be a jump if the address is randomly zero, and any indirect load can load from the program counter, so you have to update it in memory before every indirect load, of which an instruction can have more than one.
21:15:03 <b_jonas> zzo38: Further, I don't think memory-mapping the instruction pointer even gives you any useful advantage in a non-eso language.
21:15:06 <zzo38> I do not want to complicate it with a lot of optimization and stuff. Most of the VM (including that part) is now frozen and will not be changed. The documentation isn't though, and some other details also might be changed before done
21:15:24 <b_jonas> zzo38: certainly, but this way an implementation can't optimize it either.
21:15:29 -!- Patashu has joined.
21:15:52 <zzo38> Yes, that is true. Still that part won't be changed
21:16:06 <b_jonas> You could solve this by saying in the documentation that you're not allowed to store the instruction pointer with indirect stores, and that if you load it indirectly it will give an undefined value.
21:17:16 <zzo38> Programs already do use stuff like "PUT ,,X" to unconditionally jump to the label X (the included assembler provides a GOTO macro that compiles into this though)
21:18:05 <b_jonas> zzo38: why wouldn't you use the non-indirect instructions, ADD or OR for that instead?
21:18:30 <b_jonas> let's say OR for simplicity
21:18:34 <zzo38> The encoding ends up shorter with PUT, for one thing.
21:18:49 <b_jonas> does it now? hmm
21:19:06 <zzo38> Yes it does
21:19:07 <b_jonas> anyway, minor comments if you can't change this
21:19:26 <zzo38> An implementation still could optimize it but it would have to be able to disable the optimization when such things like that occur.
21:19:28 <b_jonas> but document how the instruction format works anyway, because I wouldn't have guessed it from the docsw
21:19:38 <zzo38> Yes I am currently documenting that.
21:19:38 <b_jonas> heck, I wouldn't even have guessed that you have the isntructions mapped to the memory
21:19:45 <b_jonas> I thought they were in a separate code memory
21:20:04 <b_jonas> ok, so minor comments
21:20:29 <zzo38> Yes, OK I will mention that they are mapped in the same memory (self-modifying code is also possible)
21:21:10 <hppavilion[1]> Can we do "Part of a series on..." boxes on the Wiki?
21:21:23 <b_jonas> 2. in the docs for LOAD/SAVE, it's not clear what starting address in the memory the load/store uses.
21:21:47 <b_jonas> 3. in put, which operand are you writing? the second or the third?
21:22:11 <b_jonas> 4. in PRINTT, s/with any/without any/
21:22:12 <zzo38> Thank you for noticing that; it is the third.
21:22:40 <zzo38> I fixed that. (I will store them in the .zip after I finished fixing all of them)
21:23:19 <zzo38> The starting address for LOAD/SAVE is equal to the size of bank 0.
21:23:25 <b_jonas> 5. in PRINTC, the cursor move control codes you use seem to be strange, I thought they would be 8=move left, 10=move down, 11=move up, 12=move right
21:23:47 <b_jonas> 6. s/corsor/cursor/
21:24:04 <b_jonas> 7. is there some reason why CLS is a separate instruction rather than a control code for PRINTC?
21:24:25 <zzo38> I don't know why I did that
21:24:53 <zzo38> But it is true that 10=move down; the documentation was wrong
21:24:57 <zzo38> I fixed it
21:25:24 <b_jonas> 8. It seems strange to me that you say the multiplication result of MUL isn't allowed to overflow an int16_t. I think you're just making arithmetic unnecessarily difficult with this. Would there be a drawback of making the result always modulo 65536?
21:26:13 <zzo38> Well, I do not see why it is so important that you would need to be able to do such multiplication, but OK.
21:26:41 <zzo38> I deleted that paragraph from the errors section now.
21:27:19 <b_jonas> 9. It might be too late for that, but I wondered why you don't have an arithmetic instruction for variable right shift (signed or unsigned, your choice if you document it).
21:27:34 <b_jonas> It seems to be missing from the instruction set. I know you have a division but still.
21:28:34 <zzo38> You are right I don't, you have to use division instead.
21:28:34 <b_jonas> 10. For SOUND, how can you tell where the packed code ends? Is there a length or terminating code somewhere? Or is it the sign bit of the 32-byte value of which six five-byte values are used?
21:28:44 <hppavilion[1]> Hello?
21:28:55 <b_jonas> that's about all I think
21:28:58 <zzo38> It is the same as the text, which I have not documented.
21:28:59 <b_jonas> hppavilion[1]: pong
21:29:03 <hppavilion[1]> OK
21:29:08 <zzo38> It is the sign bit of each 16-bit cell though.
21:29:12 <hppavilion[1]> Can we do, for example, infoboxes in articles?
21:29:13 <b_jonas> ok
21:29:19 <hppavilion[1]> Or is that part of a plugin Esolangs doesn't have?
21:29:22 <b_jonas> I think you should mention that in the docs then
21:29:35 <hppavilion[1]> I mean like a box of links that you can expand at the bottom of an article
21:29:40 <hppavilion[1]> Don't remember what they're called
21:29:43 <zzo38> Yes I should add the section about the text packing
21:29:48 <zzo38> Currently it isn't documented
21:30:20 <hppavilion[1]> No one?
21:30:25 <hppavilion[1]> Answer plz :,
21:30:26 <hppavilion[1]> (
21:30:46 <b_jonas> Maybe you could put a right shift (and some bitwise ops) in the LONGCALC instruction instead.
21:31:02 <zzo38> hppavilion[1]: I don't know either, but it could be done with templates I think, no extra plugin is needed
21:31:16 <hppavilion[1]> zzo38: OK
21:32:07 <hppavilion[1]> I'm considering creating an article or series of articles on time and space complexity
21:32:32 -!- oerjan has joined.
21:33:48 <b_jonas> I'm not sure I understand all of the instruction encoding part of the code though.
21:34:18 <zzo38> Well, I am documenting that now
21:34:19 <b_jonas> It has eight addressing modes for the three input arguments each, plus some magic for both the condition code and the output.
21:35:24 <zzo38> That is correct
21:37:17 <b_jonas> ah, so longcalc gives the low word of the result as the result, and optionally stores the high word
21:38:38 <zzo38> It stores both the low and high word optionally. I did not document LONGCALC yet (I have only partially done)
21:39:04 <b_jonas> "stores both the low and high word optionally" that's not what it looked like in the source but ok
21:39:58 <zzo38> You can't tell it to store only one; it stores both if told to do so.
21:40:07 <b_jonas> ok
21:41:03 <b_jonas> good night now.
21:44:01 <zzo38> And actually it is possible I might add a few more control codes into PRINTC to make bold on/off, but I don't expect to add anything more. (If the implementation doesn't support bold then the bold on/off codes do nothing)
21:44:04 <HackEgo> [wiki] [[List of Complexity Classes]] N http://esolangs.org/w/index.php?oldid=44110 * Hppavilion1 * (+132) Created Page
21:44:44 -!- AnotherTest has quit (Quit: ZNC - http://znc.in).
21:45:13 -!- Patashu has quit (Ping timeout: 256 seconds).
21:47:13 <oerjan> hppavilion[1]: um the complexity zoo is thataway
21:49:52 <hppavilion[1]> Ah
21:50:07 <hppavilion[1]> The page is just for the basic classes
21:50:11 <hppavilion[1]> Not the whole zoo xD
21:50:11 -!- yiyus has quit (Ping timeout: 252 seconds).
22:02:50 -!- hppavilion[1] has quit (Ping timeout: 244 seconds).
22:04:10 -!- ais523 has quit.
22:06:11 -!- hppavilion[1] has joined.
22:07:09 <hppavilion[1]> So
22:07:23 <hppavilion[1]> Control Flow Weirdness
22:10:35 -!- J_Arcane has quit (Ping timeout: 244 seconds).
22:10:41 <hppavilion[1]> Anyone have any ideas?
22:11:00 <hppavilion[1]> zzo38, you're my goto (pun intended) user for annoying
22:13:27 <hppavilion[1]> Come From is nice
22:13:36 <hppavilion[1]> But NOT COOL ENOUGH
22:13:53 <zzo38> Yes, I know that
22:14:12 <hppavilion[1]> Perhaps a GOTO, PASS THROUGH FROM, and COME FROM statement that must all be used together?
22:14:13 <zzo38> But then, there is also computed come from
22:14:22 <hppavilion[1]> True, true
22:14:27 <hppavilion[1]> Conditional Come From
22:14:34 <hppavilion[1]> And computed
22:14:40 <hppavilion[1]> Those are /weird/
22:15:06 <hppavilion[1]> But I'm looking for something new that could be considered good practice to use
22:15:16 <hppavilion[1]> Or awful, awful practice
22:15:26 <hppavilion[1]> What kinds of control flow are there?
22:15:40 <hppavilion[1]> * if/elif.../else
22:15:47 <hppavilion[1]> while
22:15:48 <hppavilion[1]> for
22:15:50 <hppavilion[1]> foreach
22:16:02 <hppavilion[1]> I forgot *s xD
22:16:02 <myname> i like setjmp and longjmp as control flow
22:16:06 <hppavilion[1]> I do too
22:16:14 <myname> call/cc
22:16:18 <hppavilion[1]> Yes
22:16:23 <hppavilion[1]> call/pc
22:16:28 <hppavilion[1]> Call with Previous Continuation
22:16:39 <myname> what?
22:17:11 <hppavilion[1]> Call with Previous Continuation
22:17:15 <hppavilion[1]> No clue what it means
22:17:25 <myname> but... how?
22:17:27 <hppavilion[1]> and repeat loop
22:17:29 <hppavilion[1]> um
22:17:30 <hppavilion[1]> Well
22:17:41 <hppavilion[1]> I don't know how call/cc works really
22:18:02 <hppavilion[1]> But it'd work like that, but with the previous continuation from the last call/cc or call/pc instead
22:18:16 <hppavilion[1]> If it's the first caller in the program, it uses a blank continuation or something
22:18:21 <zzo38> Some programming languages have "arithmetic if".
22:18:34 <zzo38> I believe dc would be better if it used arithmetic if for control flow rather than what it currently uses
22:18:44 -!- Wright has joined.
22:19:12 <hppavilion[1]> dc?
22:19:22 <hppavilion[1]> Oh
22:19:35 <hppavilion[1]> Is arithmetic if the a?b:c thing?
22:20:15 <zzo38> No
22:20:31 <zzo38> I mean the branch target is decided based on whether the input is negative, zero, or positive.
22:20:36 <hppavilion[1]> Ah
22:20:41 <hppavilion[1]> HOWEVER statement perhaps?
22:21:00 <hppavilion[1]> y=1;
22:21:01 <hppavilion[1]> x=y, HOWEVER y=5;
22:21:12 <hppavilion[1]> That'd make for some nice obfuscation
22:21:15 <hppavilion[1]> But it's nothing new
22:21:34 <hppavilion[1]> foreachif?
22:21:58 <hppavilion[1]> foreach(x in y if x<5){print(x)}
22:22:29 <hppavilion[1]> Oh
22:22:32 <hppavilion[1]> I remember one
22:22:38 <coppro> hppavilion[1]: what does HOWEVER do?
22:22:57 <hppavilion[1]> HOWEVER changes the environment, but just for the current instruction
22:23:05 <hppavilion[1]> So that snippet sets x to 5
22:23:18 <hppavilion[1]> The strong while loop (I don't know what it's called) which is a while loop
22:23:28 <hppavilion[1]> But it checks after EVERY statement if it should continue
22:23:49 <hppavilion[1]> I have to change positions and might lose wifi
22:23:52 <hppavilion[1]> So, bye maybe
22:24:35 <hppavilion[1]> Nope
22:24:37 <hppavilion[1]> Still here
22:38:12 -!- hppavilion[1] has quit (Ping timeout: 255 seconds).
23:02:29 <zzo38> Have you done any complicated stuff in TeX?
23:05:45 <oerjan> just a phd thesis, nothing complicated...
23:05:56 * oerjan whistles innocently
23:07:31 <zzo38> I think someone has once made up a BASIC interpreter with TeX
23:09:50 <oren_> gVd EvniG! I hav invented yet unuDR iGgliS speliG reform pRpOsL!
23:10:16 <zzo38> I have not quite done that, but I have done other things in TeX, including sorting, date calculations (including calculate when is Easter and several other holidays), PBM parser, list manipulation, PGN parser, FEN parser, an imitation of having multiple classes of marks, POSTNET barcode generator, etc
23:10:45 -!- hppavilion[1] has joined.
23:10:48 <zzo38> TeX could do mail merge too without too much difficulty
23:10:54 <oerjan> oren_: oren_ fEndiS
23:10:59 <oerjan> wat
23:11:18 * oerjan swats his keyboard -----###
23:11:38 <oren_> cRect! Dats exactlE rIt!
23:11:56 * hppavilion[1] slaps his keyboard 3==- NO.
23:13:10 <oerjan> Tot sO
23:13:29 <oren_> I stil nEd tU docUment it DO...
23:14:37 <fizzie> oerjan: Was your thesis .tex file even TC?
23:14:54 <oerjan> fizzie: unlikely
23:15:18 <fizzie> I think the most complicated things in mine (TeXwise) are a few TikZ figures.
23:15:57 <oerjan> it wasn't even one file, i did some contortions with the page numbering scheme to keep the individual article parts separately compiled
23:16:42 <fizzie> This thing is singly compiled (with \input), and it even includes the articles in the resulting PDF. Part of the template.
23:18:00 <fizzie> You just \addpublication[]{}{}{}{}{}{}{}{}{}{} (it takes a lot of arguments) and it adds it to the publication list, the list of author's contributions, adds the article cover divider page thing, and includes PDF content.
23:20:33 <oerjan> my figures were made in xfig (hybrid tex / postscript mode)
23:21:03 -!- atrapado has quit (Quit: Leaving).
23:22:32 <zzo38> I have not needed figures so far, although I could do using rules, making symbols with METAFONT, etc, or if it is necessary even to use a program that can make it in PCL format.
23:23:15 <fizzie> I kind of like TikZ, although there's high chance of wasting time in figuring out how to do something in a fancy declarative way, when you could be done in ten minutes with absolute coordinates.
23:23:46 <oren_> http://www.orenwatson.be/speliG.htm
23:24:20 <zzo38> (The "hpfile" special could be used to include any PCL graphics into the document)
23:25:20 <oren_> I usually just made a SVG in inkscape and then included it
23:25:26 <fizzie> For a course I was half-teaching, I did a lot of TikZ plotting for the exercises. You can call into gnuplot so that on the first round of processing, it writes some files you run gnuplot on, and then later it uses the results from gnuplot to draw the figures.
23:25:51 <fizzie> It can also call gnuplot on its own, but that requires some flags to let TeX call external programs.
23:29:42 <oren_> enE coments on mI nU speliG sistM?
23:29:49 <zzo38> Once I did try to include a picture in a TeX document by converting the picture into PCL format with ImageMagick and then referencing it, but I just got a mess on the output; do you know what is wrong? (Nevertheless I was able to fix it by using PBM instead)
23:31:03 <oren_> dU pEpL rElE distribyUt TeX fILs?
23:31:21 <coppro> only zzo38
23:35:10 <oren_> I sE. jenRLE yU cNvert it tU PDF fRst.
23:37:48 <zzo38> I would use TeX->DVI->PCL
23:38:18 <zzo38> (Possibly with additional postprocessing steps after the DVI is created, in order to reorder pages for bookbinding or whatever)
23:40:43 <zzo38> Most things can be done in TeX but some things might not so you might put in specials which are used by various DVI->DVI filters.
23:58:42 -!- bender| has joined.
←2015-09-07 2015-09-08 2015-09-09→ ↑2015 ↑all