« first day (2 days earlier)      last day (121 days later) » 

03:00
I swore I had Forkhub on this tablet
Anonymous
Languages are being converted to lowercase to work with TIO now
Anonymous
Concurrency will be easy to implement; I can manage that
!eval
@PhiNotPi Syntax: !eval <language name> "<code>" "[input]": Error: not enough arguments: got []
03:00
cool
I guess that leaves me with pyth herokuapp.
ooh should change that help message
Anonymous
Or just get Dennis to host Pyth on TIO :P
Anonymous
Yeah the !help message is also bad
Anonymous
!help eval
03:01
@Mego runs code
Anonymous
^ bad
Such great explanation.
The Herokuapp has docs and junk so Dennis has no reason to put it on TIO
Wish my Physics hw had that level of explanation.
Anonymous
03:02
That was a filler message for when I was adding the module because it needed a help message :P
!eval Perl "{redo}"
@PhiNotPi Something went wrong with your request, sorry! Are you sure that language is on Try It Online?
Anonymous
It just hasn't been updated yet
only reason CJam is on TIO is because aditsu's is JS
Anonymous
03:02
We could also locally host some languages
Anonymous
Locally hosting Pyth would probably be better than using the herokuapp
We'd need to safe mode them.
!eval CJam "\"test\"2*p"
@GamrCorps Something went wrong with your request, sorry! Are you sure that language is on Try It Online?
Anonymous
03:03
Lowercase language names for now because the bot hasn't been rebooted yet
!eval cjam "\"test\"2*p"
@VoteToClose "testtest"
lowercase lang name
oh
!utc
@GamrCorps Mon Feb 1 03:04:29 2016
03:04
Yeah, that needs to be fixed immediately.
Anonymous
It's already fixed
is it possible to add a timezone converter? !timezone {time} {in timezone} {to timezone} (example: !timezone 1:00 UTC MST)
Anonymous
In the EDIT THIS folder
Anonymous
It just needs to be restarted
!eval rotor "1N`10 2{3%!\"Fizz\"~5%!\"Buzz\"N$?~N}\"
03:07
:27242281
dafuq
I just spent a minute hand typing that on mobile too
ohh backslash at the end
!eval rotor "1N`10 2{3%!\"Fizz\"~5%!\"Buzz\"N$?~N}\\"
Caught: org.codehaus.groovy.runtime.typehandling.GroovyCastException: Cannot cast object 'Buzz' with class 'java.lang.String' to class 'int'
org.codehaus.groovy.runtime.typehandling.GroovyCastException: Cannot cast object 'Buzz' with class 'java.lang.String' to class 'int'
at Block.parse(RotorNoEval.groovy:183)
at Block$parse.call(Unknown Source)
at RotorNoEval.run(RotorNoEval.groovy:273)
wtf
how did that happen
Proably typed something wrong.
I was trying to show off the bot but too difficult on mobile
anyways bot is gud
try it
!eval
03:15
@GamrCorps Syntax: !eval <language name> "<code>" "[input]": Error: not enough arguments: got []
how does quotes in eval
!eval cjam "limp" "17"
@GamrCorps 1
@Doorknob escape it
!eval snowman "(\"hai wurld\"sP"
03:15
@Doorknob hai wurld
10/10
Anonymous
Ok I'm gonna try something
Anonymous
There's like a 0% chance this will work right
Anonymous
!stop
03:18
@Mego Bot terminated.
Bot restarted after crash.
Bot started.
Anonymous
!eval CJam "1"
@Mego Something went wrong with your request, sorry! Are you sure that language is on Try It Online?
@Mego Running code...
Anonymous
Yep it didn't work
Anonymous
!stop
@Mego Bot terminated.
Bot started.
Anonymous
03:22
!eval CJam "1"
@Mego 1
Anonymous
Lowercase can be knocked off the hitlist
Anonymous
OK so current hitlist is (descending importance): unicode, more languages, concurrency
3
03:23
!eval CJam "12345678909876543212345678998765432123456789098765432"
@PhiNotPi 12345678909876543212345678998765432123456789098765432
Anonymous
Concurrency will be the hardest because the bot is not set up for it
Anonymous
But the design isn't that bad for implementing concurrency
Anonymous
We'll just have to do it from the bottom up
Greeaaaat...
03:25
are you just going to do it with multithreading?
Anonymous
I have decent experience with concurrency in Python, so I'll tackle that
Anonymous
Multiprocessing actually, so we can dodge the GIL
oh ok
!eval 3var "aaaF['>P]" "hai"
@quartata hai˙
Anonymous
03:28
More languages is just a matter of cloning repos, enabling safe mode, and making a translation table
and a timeout
Anonymous
Yeah that
Anonymous
Bonus points: pickle the translation table and add a command for dynamically adding/removing languages (as well as modifying their run commands)
@Mego Clear to move the current EDIT_THIS copy to RUNNING?
Anonymous
@VoteToClose Yep, though you may want to kill the bot first
03:30
Bot restarted after crash.
Anonymous
And move the bot to the RUNNING version
Anonymous
!stop
Anonymous
Might as well, since you're an owner on the bot
I'd like to try my hand at the multiple language stuff after you get concurrency done.
03:32
Bot started.
Anonymous
If all goes well, the concurrency stuff can be done without needing to change how the eval module works
!eval VITSY "***N" "3" "4" "5" "2"
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: -1
at java.util.ArrayList.elementData(ArrayList.java:418)
at java.util.ArrayList.get(ArrayList.java:431)
at com.VTC.vitsy.Vitsy.index(Vitsy.java:735)
at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:598)
at com.VTC.vitsy.Vitsy.main(Vitsy.java:88)
Anonymous
It should be just rewriting some of the bot API to spin off processes from a mp pool instead of directly calling stuff
Anonymous
03:33
So you can go ahead and work on that without needing to wait for concurrency
Cool.
Anonymous
Maybe while I'm digging through the innards of the bot, I'll find the source of our unicode woes
Then that leaves Unicode..
ninjad
At this point I am sure the mere mention of the word Unicode makes your eye twitch
@quartata Don't forget the STDIN bit...
Anonymous
You have no idea
03:35
!eval VITSY "***N" "" "3" "4" "5" "2"
@VoteToClose 120
Anonymous
Also: I think I worked out how to do special argument parsing for modules
right I am stupid
Anonymous
So we can hopefully stop using this horribly-hacky method of parsing and do it cleaner
Oh cool
Although I personally do not find this to be too hacky
Anonymous
03:36
There's a way to specify a method that takes the raw command string as input and outputs a tuple of arguments
Anonymous
So we can do the argument parsing in a separate method instead of cluttering the eval method
whats the link to the github repo again?
thanks
Anonymous
Working on this thing is making me wish SE used IRC
Anonymous
03:38
IRC bots are ezpz
SE ≠ IRC
Anonymous
@VoteToClose And that makes me a very sad penguin
IRC bots are so easy it's not even funny
Anonymous
The IRC spec is so nice and simple
literally writtten one in less than a half an hour before
sigh
oh well at least chatexchange is kinda helpful
Anonymous
03:42
"kinda"
Anonymous
Why do I get the feeling that I will end up re-writing most of ChatExchange?
To be fair, it does actually work with chat.
Anonymous
ChatExchange works, but it's not very robust
08:34
Bot started.
!eval vitsy "w" "" "60"
:27244486
Bot started.
!eval vitsy "w" "" "60"
:27244496
Bot started.
!eval vitsy "w" "" "60"
08:38
Bot started.
!eval vitsy "w" "" "60"
:27244505
Bot started.
!eval vitsy "w" "" "60"
:27244509
:27244516
Bot started.
!eval vitsy "w" "" "60"
08:44
Bot started.
:27244540
!eval vitsy "w" "" "60"
!eval vitsy "'concurrent'rZ"
@VoteToClose concurrent
YAES
I IS DA CHAMPIONE
Concurrence is off the list, guys.
I don't even know Python. xD
:27244551
Bot started.
 
1 hour later…
09:59
!eval vitsy "w" "" "60"
!eval vitsy "'concurrent'rZ"
@VoteToClose concurrent
:27245162
 
2 hours later…
11:33
We need to apply fixes for links such as smbf.tryitonline.net, slashes.tryitonline.net, and a few others.
 
3 hours later…
14:31
waaat
14:42
:27248967
!eval rotor "1{}|"
!eval cjam "'1"
@quartata 1
!eval 3var "iiaa+sp"
@quartata 4
:27248984
Unbelievable.
Well Mego will be happy
14:50
@quartata \o/ I'm very happy that I figured it out. xD
Turns out I just needed a def statement and a start_new_thread statement (although finding where to put it was really the hard part).
15:03
!eval vitsy "["
Exception in thread "main" java.lang.StackOverflowError
at com.VTC.vitsy.OperativeHandler.doOperation(OperativeHandler.java:5)
at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:162)
at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:152)
at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:365)
at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:152)
at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:365)
at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:152)
at com.VTC.vitsy.Vitsy.opHandle(Vitsy.java:365)
at com.VTC.vitsy.Vitsy.loopHandler(Vitsy.java:152)
!eval vitsy "\"Hello, World!\"rZ"
@VoteToClose Hello, World!
!eval vitsy "w" "" "60"
!eval vitsy "\"concurrent\"rZ"
@VoteToClose concurrent
:27249445
 
2 hours later…
16:41
@VoteToClose what did you even do to it
I can't see the difference :P
Bot started.
!eval rotor ""
@quartata <no output>
There's that.
!eval rotor "1{}|"
!eval golfscript "1"
@quartata Something went wrong with your request, sorry! Are you sure that language is on Try It Online?
16:46
? I thought we had golfscript
@quartata <no output>
!eval cjam "'a"
@quartata Something went wrong with your request, sorry! Are you sure that language is on Try It Online?
da hell
!eval cjam "'a"
@quartata Something went wrong with your request, sorry! Are you sure that language is on Try It Online?
16:47
Err did I break something
?? it's not encoding it
Bot restarted after crash.
!stop
@quartata You don't have the privilege to execute this command.
Anonymous
What's going wrong now?
17:13
Bot started.
!eval vitsy "'Check'rZ"
@VoteToClose Something went wrong with your request, sorry! Are you sure that language is on Try It Online?
@VoteToClose Check
Bot restarted after crash.
Dammit.
Die.
Bot started.
!eval vitsy "'Check'rZ"
17:14
@VoteToClose Check
Someone left an experimental bot running.
Anonymous
!stop
@Mego Bot terminated.
Bot restarted after crash.
When killing the bots: use killall python3 python2 bash
Ah - that's a result of the threading.
!eval vitsy "'Check'rZ"
Bot started.
17:16
It eventually stopped. The ThreadExceptionHook prevented it from dying.
It's off, if you want to do testing now.
!alive
Anonymous
I was just trying to help you kill it :P
Anonymous
!alive
Anonymous
!cat foo
I terminated it. :P
Anonymous
Ahh
Anonymous
17:20
I saw what you did with the threading
Anonymous
I didn't expect it to work that neatly
Yeah - it still took me a while to find that set of lines.
Anonymous
In hindsight, I'm not surprised it was that simple - the big bottleneck is network I/O, which releases the GIL
Anonymous
So threading would actually be an improvement
\o/
Though it seems that once a thread gets a bad input name, it causes continuous failures (from what @quartata's flailing proved earlier).
17:27
Bot started.
!eval vitsy "w" "" "60"
Anonymous
Bad input name, as in a bad language name?
!eval vasdf "as"
@VoteToClose Something went wrong with your request, sorry! Are you sure that language is on Try It Online?
!eval vitsy "'Check'rZ"
17:28
@VoteToClose Check
Oh, maybe not.
He might've been running an experimental.
:27253574
Anonymous
That was because the return variable was result and it was returning results
@Mego I'm still using the stable unedited. o-o
I don't know what you're saying. :D
Anonymous
Oh I'm in EDIT_THIS
17:30
o/ @Mwr247
Welcome to painful debugging land.
@Mego So should I download a whole bunch of interpreters?
Anonymous
Sure
Whadda we need?
Pyth, for sure.
Although we need a server-safe version.
Anonymous
Whatever runs on heroku should be fine; just need to talk to isaac
Pyth already has a safe switch for Heroku.
@Dennis How doz we dis?
17:38
--safe
-s or --safe    Run in safe mode. Safe mode does not permit execution of
                arbitrary Python code. Meant for online interpreter.
Oh.
!eval vitsy "'Check'rZ"
@VoteToClose Check
Anonymous
So did unicode ever get sorted?
!eval jelly "“Unicode»"
@Dennis []
17:41
Nope.
The code that just got queried was:
['jelly', '"â\x80\x9cUnicode»"']
['â\x80\x9cUnicode»']
“Unicode»
code=%C3%A2%C2%80%C2%9CUnicode%C2%BB&input=&args=&debug=on
Anonymous
For a moment I almost saw some reason in that
Anonymous
%C3%A2%C2 %80 %C2 %9C
Anonymous
Bolded terms are the correct escapes
Anonymous
Err nvm
Anonymous
I don't think urllib.parse.quote is quoting it correctly
17:52
The query is totally wrong though - the unicode input gets parsed as something entirely different.
“ ≠ “
Anonymous
encodeURIComponent('“')
"%E2%80%9C"
Anonymous
unescape('%e2%80%9c')
"“"
Anonymous
'\xe2'
"â"
o-o
I'm deeply confused by this.
Anonymous
It should be %u201C
Anonymous
17:54
!stop
@Mego Bot terminated.
Does this mean we have to implement urllib.parse.quote? :c
Bot started.
Anonymous
No
Anonymous
I think I got this
Anonymous
17:58
!eval jelly "“Unicode»"
@Mego []
Anonymous
I don't got this
What was happening earlier was that the code wasn't getting encoded at all for whatever reason
Anonymous
!stop
@Mego Bot terminated.
17:58
@Mego oops
That was my fault.
Anonymous
@quartata No problemo, quick fix
Anyways lemme see about multiple languages

« first day (2 days earlier)      last day (121 days later) »