« first day (169 days earlier)      last day (2325 days later) » 

12:45 AM
@Dennis Can I get a Pull for RProgN?
 
1:01 AM
@AndrewSavinykh A variable number of code blocks does indeed sound like a good idea. That should be compatible with the current permalink format.
@mbomb007 That sounds doable for v2. If it can execute the same code for different inputs, why not different codes on the same page?
 
1:23 AM
Cool. Still, my most anticipated/desired feature would still be an easy way for non-printable input (like via hex editor).
 
 
1 hour later…
2:49 AM
@ATaco Done. Sorry for the delay.
 
 
2 hours later…
4:43 AM
Feb 1 at 17:10, by Pavel
@Dennis can you add Java 9 and jshell?
@Dennis ^
 
4:54 AM
@Pavel Right, I forgot about that. Do you know how compatible Java 8 and 9 are? Would I have to offer both Java 8 and Java 9 or could I just replace it?
 
@Dennis A program written for Java 8 will perform identically under Java 9 (unless it requires the use of the Java 8 default garbage collector, which is highly unlikely).
 
I have no idea what that means, but I'll take your word for it. I'll try to install Java 9 tomorrow.
 
Unlike Python 2/3, Java 8/9 adds new features without changing any existing behaviour, except for switching to a more efficient garbage collector. Theoretically, someone's code might rely on the old garbage collector, and it will perform differently, but that's incredibly unlikely and probably wouldn't work under TIO anyway.
@Dennis tl;dr, feel free to replace Java 8, nothing should break.
 
5:12 AM
nothing should break Famous last words...
 
Well, it is early access.
Proceed with care
 
5:46 AM
This has probably been mentioned... syntax highlighting would be dope
 
Jan 19 at 1:52, by Dennis
@ATaco On TIO itself you mean? With the current setup, syntax highlighting isn't possible, as the code is displayed in a textarea.
 
6:04 AM
i knew it
i think there's probably something fun with javascript you could do, though...
 
You could make a userscript
 
 
8 hours later…
2:19 PM
When I save and go to copy one of the preset outputs to my clipboard it's a little jarring to have to go all the way to the right of the screen. I don't think that the textarea needs to be as wide as it is. "Less is more" may apply to the screen real-estate used on that pane. (just my opinion)
 
2:48 PM
@Poke I agree, but I think the full width is ok, the clipboard button should just be on the left.
 
3:22 PM
that might be the ticket
i'd need to see it, i guess
 
3:36 PM
@Poke Copying on a wide screen is a lot easier if you use command mode. Pressing, e.g., Esc, S, G copies a code golf submission to your clipboard.
7
 
I did not even know command mode was a thing
holy shit
Had to do ESC>S>ESC>G but yeah that's great
 
3:58 PM
I discovered command mode when trying to get to normal mode thinking that I was in vim
5
 
 
1 hour later…
5:00 PM
Seems to be buggy on mobile. I'll fix that.
 
Okx
hey, if I wanted to add my own language to TIO, are there any requirements? How would I go about getting it added?
 
Just link me to it. As long as I can get it to work on Fedora, I'll add it.
I have to be able to run it as a script though, so no input prompts etc.
 
Okx
well, it's not done yet, but it's made in Java and accepts standard input
 
Perfect. I'll add it whenever you want. Future updates are no problem if it's hosted on GitHub or similar.
@Poke That's a bug. I'll fix that.
 
Okx
Alright, thanks :) hopefully i'll get it to a decent standard in a month or so
and yes it will be on github
 
5:40 PM
Ugh, Java 9 gives me too many open files with the classpath for Apache commons, while Java 8 works just fine with it...
Number of files per process is 192. How many frickin' files does it need?
 
Hey @Dennis a new language got added to the big polyglot that's not in Tio yet. Has anyone talked to you about added it? This is the source code link in the post: esolangs.org/wiki/User:Marinus/Minimal-2D_interpreter
 
@KritixiLithos I have jk and kj remapped to ESC, and every time I use another editor it gets filled with random "jk"s everywhere :D
 
 
1 hour later…
7:03 PM
@Dennis 256 seems to be enough. sighs
 
Gotta love object oriented programming
 
Is anybody actually using the Apache commons? The longer CLASSPATH makes Java painfully slow.
 
I was wondering how regular Vim users coped with pressing Esc... it's so far away and hurts my hand to press it.
 
7:24 PM
Alright, simple Hello World timings.
Java 8                 : 2.144 s
Java 8 w/Apache Commons: 2.432 s
Java 9                 : 3.364 s
Java 9 w/Apache Commons: 4.166 s
The extra CLASSPATH for Apache Commons doesn't seem to be a huge issue for Java 8, but it makes Java 9 even slower, and it's already a lot slower than Java 8.
I can try compiling 9 from source instead of using the packaged version from copr, but if that doesn't make a difference, I think we should wait until 9 gets a little more polished.
 
@Dennis When compiler options become a thing, if someone needds apache commons, they can set the classpath.
 
That's a fair point. I wish I knew if some existing permalinks are using Apache Commons though. Removing it at this point from the wrapper would break those links...
 
I've used it once or twice, but never for a codegolf submission. I don't think many people even know it exists on TIO.
 
Hm, yes, it isn't exactly advertised. I think I'll remove it from the wrapper now. Compiler flags should get implemented soon.
 
I didn't know it was on TIO
but I likely would not have used it
things like StringUtils add a lot of bytes
 
7:35 PM
It's useful when I just need totest something in Java and I'm not on a computer with a JDK, but not at all useful for codegolf.
 
that's fair
i've for sure been in that situation
 
I suppose it could be for a really complex task where you could justify the long import with many calls to the method.
 
a lot of the methods you could probably just implement yourself
 
That is also true.
 
I guess it matters how you count third party libraries in code golf
 
7:39 PM
I mean, if you counted import org.apache.commons.lang3.* as part of the optional boilerplate, it would be very useful.
Or I suppose you could dump the entire source of apache commons lang into your working directory.
 
Removed it for now to speed up Java and avoid (more) potential link rot.
 
The Java compiler is getting a pretty major overhaul in JDK 9. JIT compilation, Project Jigsaw
*Optional JIT compilation
 
7:58 PM
@Dennis that's fine with me. i've noticed java being a bit slow
 
Heh, the JDK from jdk9.java.net is even slower.
And I can't seem to find the source code.
Ah, found it. I can't help but wonder why configure isn't executable though...
Or why building a headless JDK would require X11.
 
8:19 PM
Oh, wow, I looked up what 'Headless' means, and now I know why my project wasn't working
So that's great.
 
@Dennis wait what?
that's pretty funny
 
I grep'd for X11 to find a way to disable it. This is what I found.
 # Check if X11 is needed
  if test "x$OPENJDK_TARGET_OS" = xwindows || test "x$OPENJDK_TARGET_OS" = xmacosx; then
    # No X11 support on windows or macosx
    NEEDS_LIB_X11=false
  else
    # All other instances need X11, even if building headless only, libawt still
    # needs X11 headers.
    NEEDS_LIB_X11=true
  fi
OK, bash configure finally ran without errors. Wish me luck.
 
Good luck!
 
Building target 'default (exploded-image)' in configuration 'linux-x86_64-normal-server-release'
gmake[2]: *** No rule to make target 'java.base-libs', needed by 'exploded-image-optimize'.  Stop.

ERROR: Build failed for target 'default (exploded-image)' in configuration 'linux-x86_64-normal-server-release' (exit code 2)

No indication of failed target found.
Hint: Try searching the build log for '] Error'.
Hint: If caused by a warning, try configure --disable-warnings-as-errors.

/opt/jdk9/make/Init.gmk:286: recipe for target 'main' failed
I give up.
 
Welp
 
8:35 PM
So hg clone doesn't actually download the source code, only a Bash script that can be used to download it. Why configure would check for a gazillion dependencies but not the actual source needed for compilation is beyond me.
 
yeah i was about to ask why you needed to build awt
 
arena:jdk9# make
Building target 'default (exploded-image)' in configuration 'linux-x86_64-normal-server-release'
Compiling 8 files for BUILD_TOOLS_LANGTOOLS
Compiling 17 properties into resource bundles for jdk.compiler
Parsing 1 properties into enum-like class for jdk.compiler
Compiling 19 properties into resource bundles for jdk.javadoc
Compiling 10 properties into resource bundles for jdk.jdeps
Compiling 7 properties into resource bundles for jdk.jshell
Compiling 115 files for BUILD_INTERIM_java.compiler
And, of course:
arena:jdk9# cat /opt/jdk9/build/linux-x86_64-normal-server-release/make-support/failure-logs/jdk_modules_java.base__the.java.base_batch.log
arena:jdk9#
 
8:53 PM
pfft
that's fantastic
 
I'll just use the version from copr (the least of three evils) and add Java 9 instead of replacing Java 8. When it gets a bit more polished, I'll replace it and set up some redirects.
 
JShell would be neat, it has neat golfing features, like you could argue a snippet as a complete program for it, and you can ommit a semicolon.
 
JShell seems to come with OpenJDK. I'll see if I can wrap it for TIO.
 
you said tio is on fedora?
 
@Poke It is
 
9:05 PM
i was going to say something about java 7 still being a thing on red hat but nevermind :[
 
Although I talk shit, I do quite like java
 
No dice. JShell requires TCP sockets.
 
of course you do. everyone does. java is love. java is life
 
Aww
 
After trying to compile Java 9 for the past two hours, I'm quite frankly not to fond of it...
 
9:12 PM
@Dennis Jshell reads code from StdIn
 
Not if it cannot even start.
 
Oh, TCP sockets to start?
 
Yes.
 
That's... intresting.
 
I would use a different word, but I don't want to have to suspend myself.
 
9:13 PM
I can run JShell on my computer without internet access.
 
It doesn't require internet access, it requires TCP sockets.
 
uhhh.... isn't that why TCP sockets are for?
 
If you ever feel like java is actively trying to prevent you from coding in it, don't worry, that's a feature.
 
i suppose you could still communicate locally over tcp
 
Which is exactly what JShell is trying to do, but I don't have a safe way of allowing TCP socket creation without allowing internet access.
 
9:17 PM
iptables?
>.>
not worth it, imo
 
iptables don't work on a per-user basis.
I still need internet access to download interpreters etc.
 
that makes perfect sense
hmm
 
There are ways to remove internet access completely from the arena server and tunnel all outside traffic though the main server, but that's not implemented yet and far from a priority as long as there is only one arena.
@Pavel I'm sorry, but JShell will have to wait until then.
On the bright side, tio.run/nexus/….
 
I found that non-printables (excluding NUL) can be copied/pasted in TIO now. Is that new?
Not only that, but they show up in the output and source code.
 
That depends entirely on your browser.
And your OS, I guess.
 
9:27 PM
Well, I don't remember seeing it this way in Chrome

^ literal \x1A
I can see it for some reason
 
I don't see anything. As I said, it depends on the browser.
 
Must be a recent change in Chrome.
Brb, checking other browsers
 
Firefox always did this afaik.
 
Chrome only
Not even Opera
Safari not tested
Firefox doesn't show it
 
That's just plain weird. I see them in Firefox, but not in Chrome.
 
9:31 PM
I printed range(32) in TIO's Python 2, and I saw every byte except for NUL and the tab/newlines/etc
I have Chrome 56
FF 51
Windows 7
 
I have Chomium 55 and Firefox 50.
 
Well, either way, I like being able to copy/paste non-printable ASCII. Still, it doesn't work for \x00.
Must be new in Chrome 56, then?
 
I guess.
@Pavel What can I try in Java 9 that wouldn't work in Java 8?
 
http 2.0 support
 
On TIO.
 
9:40 PM
right right...
a bad joke, your grace
immutable collections
List<Integer> nums = List.of(1, 2, 3, 4, 5);
i think that's supposed to work
works with Set and Map too i think
 
String version = System.getProperty("java.version");
int pos = version.indexOf('.');
pos = version.indexOf('.', pos+1);
double d = 1 / (Double.parseDouble(version.substring(0, pos)) - 8);
 
haha
 
That's perfect, actually. I just wanted something to make sure I'm running the right version.
 
40
A: Getting version of java in runtime

Aaron Digullajava.version is a standard property which exists in every VM. There is just a tiny trick which might make your life easier: Search for the second dot and cut the string there. Then convert it to double. Now, you can check the version much more comfortably: if (version >= 1.5) ... You can put ...

Taken from there
 
@mbomb007 That doesn't work
The java version is just 9-ea
There's no .
 
9:46 PM
Either way, it answers his question
 
Right, since it does work on Java 8
 
Just change it to get only the first character instead of using .
 
or just print the version
 
Yes
 
On TIO it prints /srv/wrappers/java-openjdk9.
And in 8 it errors, because I was using Java REPL
 
@Dennis Try using Java like a REPL
 
On TIO?
 
@Dennis Can you add I?
 
No main class necessary
 
9:50 PM
WOAH, I DID NOT KNOW JAVA 9 LET YOU DO THAT
 
:D
Java 9: The ultimate golfing language!
 
@mbomb007 this didn't work for me?
 
If you run it normally, the java.version yields 9-ea
 
@Poke huh... now it's not working for me either...
It was tho
 
@mbomb007 When did you run that for the first time? I seem to have broken it somehow.
 
9:52 PM
I disabled output cache, and then it stopped.
 
@Dennis 15:47 UTC
 
tio.run/nexus/… overflows the stack, which means that they lied to me about tail call optimization being completed.
 
@mbomb007 Really? I thought I added it less than an hour ago.
 
Wait, I was looking at the wrong clock
 
@Pavel it's early access. maybe it's not done yet?
 
9:55 PM
But the website says complete...
 
oh
 
@Dennis 9:47 PM UTC
 
Alright.
 
dope sha-3
 
10:04 PM
I have no idea why that would have worked or what I could do to make it work again ._.
 
@Dennis Shouldn't Esc T "click" the TIO button?
 
That would be an option, yes.
@Adám I'll look into it. Still have to come to terms with Java 9 and install another language that was requested.
 
@Dennis Let me know if you need any help when you get around to it. The author of I just became my housemate.
 
@Dennis Curious, what language is that?
 
Oh, cool!
Something in the transcript. Minimalist or something.
 
10:23 PM
@Dennis This is infuriating. I've tried everything I could think of.
 
10:36 PM
Alright, this is my best guess regarding what happened.
I modified the wrapper script while mbomb007 was running their submission, which caused it to glitch. I fail to see how java.version could have printed /srv/wrappers/java-openjdk9 in the first place. It shouldn't even be aware of the name of the script that calls the compiler.
 
cool
 
10:52 PM
@Chance tio.run/nexus/… Had to modify the interpreter a bit...
 
It'd be nice if hovering the mouse over a language (in the selection list) in v2 would display the full language name. I can't see the difference between some items in the list that have long names.
For example, I see three entries of Assembly (x..
That, or give the list flexible columns like Nexus has
 
v2 will be a lot more like Nexus once I start working on it again.
Oh ffs! I know what happened now. The wrapper I wrote wasn't working, so for a split second, I added a echo $0 line to the top.
I tried for an hour to reproduce a frickin' debugging statement with different versions of javac
2
(╯°□°)╯︵ ┻━┻
Sorry for getting everyone's hope up and wasting everyone's time.
 
11:20 PM
@Dennis Thanks! Looks good to me. :)
 

« first day (169 days earlier)      last day (2325 days later) »