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

00:00
RELOAD!
[skiwi2/HearthMonitor-LogReader] 1 commits. 0 issues opened and 0 closed
[skiwi2/GithubHookSEChatService] 0 commits. 0 issues opened and 1 closed
 
12 hours later…
12:27
hey
 
1 hour later…
13:49
hey @skiwi!
hey @Marc-Andre
Weird Java issues here..
Take this code
        Thread thread = new Thread(() -> {
            try (CloseableLogReader logReader = new MonitoringFileLogReader(Files.newBufferedReader(logFile, StandardCharsets.UTF_8), new ABCEntryParsers())) {

                assertTrue(logReader.hasNextEntry());
                logReader.readNextEntry();

                assertTrue(logReader.hasNextEntry());
                logReader.readNextEntry();

                assertTrue(logReader.hasNextEntry());
                logReader.readNextEntry();

                //still believes there is a next entry
Somewhere in the try statement it throws an ClosedByInterruptException, but it uses the general Exception catch block
humm in try-with-resources if an Exception happen in the try itself I think there is a special behavior
Apparently it's an UncheckedIOException, ugh
Suppressed Exceptions

An exception can be thrown from the block of code associated with the try-with-resources statement. In the example writeToFileZipFileContents, an exception can be thrown from the try block, and up to two exceptions can be thrown from the try-with-resources statement when it tries to close the ZipFile and BufferedWriter objects. If an exception is thrown from the try block and one or more exceptions are thrown from the try-with-resources statement, then those exceptions thrown from the try-with-resources statement are suppressed, and the exception thrown by the block i
printing ex.getMessage() wasn't a good idea
Those suppressed exceptions are also ugly for sure
I was close to having it correct
but errors on another thread didn't propogate yet
14:12
test
> Refactored the LogReader interface:
- The readEntry() method has been changed to the readNextEntry() method.
- The readNextEntry() method no longer throws a NoMoreInputException.
- A hasNextEntry() method has been added.
- The AbstractLogReader class now takes an Iterator<String> rather than overriding a method that supplies a String.
 
1 hour later…
15:39
This is... salty
I was on 4 hp for a very long time, and got him down to here from like 30
16:28
> Looks like the Responsible thread terminating is the cause of this. It could be remediated by restarting the thread, given it terminates. It might be sufficient to alternatively wrap the executed code into a pokémon-catch and selectively rethrow
> Ticket on JavaBot has been closed as completed. Linebreaks are not given preference over there, mostly since we're not expecting linebreaks :( Feel free to draw inspiration from our implementation ;)
Hey @SimonAndréForsberg You wanted to shoot some tickets at JavaBot?
16:48
@Vogel612 yes, I'm not sure if I perhaps should wait for JCE though
I doubt it's going to change the underlying problems..
might be true
so I guess I'd better make issues of what I have to say
@Vogel612 I see this in a comment inside the code, but is there a github issue for it? // TODO: get the chatInterface solved via Dependency Injection instead.
no there's no issue yet..
also that should be a fixme
but I fear it will have a rattail of other stuff.
I was considering trying to work on that
and I probably would have, if I could have logged in on chat.stackexchange.com
currently, logging in is the big block for me. unfortunately, I didn't have much time last time to work on that.
you want a place to test it??
17:00
> @Vogel612 from what I have noticed so far, there is no real place to put a pokemon-catch. The logging shown above is from this method:

@ExceptionHandler(Exception.class)
@ResponseStatus(HttpStatus.BAD_REQUEST)
public void handleException(final Exception ex, final HttpServletRequest request) {
LOGGER.log(Level.SEVERE, "exception", ex);
}

i.e. there is no "rethrowing" going on that I have been able to locate.
@Vogel612 I have plenty of chat rooms already that I could use... wait, are you talking about your repo? I haven't understood completely what your repo does, or how it could help
well it's for offline testing.
no chatroom
just you and junior
ok, so I guess you could call it a chatroom simulator?
kinda
17:12
but yes, that chatInterface thing has been bugging me for a long time already
or rather the whole setup thing...
since there is code written and hand tuned to wire things up
17:45
Is there a way I can "measure" how extensive my refactoring has been?
deletions....
diffstat
Let's see how I set that up
Still don't get why it doesn't just auto-star my own repos ^
> Showing 37 changed files with 1,295 additions and 1,403 deletions.
holy..
17:49
That's a lot?
I think the CreateGameEntryParser.java is one of the most important ones
It only needed all those other changes to work
"only"...
and all don't go all that well together usually..
also 1.2k adds and 1.4k dels are a lot for one thing..
The only thing that's bugging me right now is that my AbstractLogReader class has no more abstract methods anymore, but it's a class that is supposed to be extended
make it "DefaultLogReader" then...
I could give it a private constructor, but it would still show up as an instantiable class then
18:15
@skiwi how would you plan to extend it if it has a private constructor?
@SimonAndréForsberg Good point, it needs a protected non-default constructor
I'm mostly bugged with needing to rename it from AbstractLogReader to something else
@Vogel612 yes, that is what is bugging me as well. Program should really be injected with the commands. Or expose the underlying bot so that it can have no commands at first, and those commands are added to the bot from another class
@skiwi then why did you refactor it in the first place?
Because it needed to be refactored
19:05
^^ good reason
@Vogel612 I was wondering about this regex: "([*_]{1,3}.*?[*_]{1,3})"
italics, bold and bold-italics
also I need to test
huh, didn't know _ worked for bold as well
it should does
but what about the .*? ? is the ? really necessary there?
non-greedy matching
else we might consume multiple tokens
19:06
ah, ok.
__if you think__ about somethin _like this_
actually that should be written differently..
I would have normally done [^*_]* in this case (excluding _ and *)
"(([*_]{1,3}).*?(\\1))"
but your way might be better, didn't know that even worked...
this one up there is bactracking to have the ending group match the starting group
but in fact the tokenizing fails for cool stuff like:
__some_ cool markdown_
_some cool markdown_
^^ this is rendered differently in chat and questions..
How about [links to someplace](yadayada) ? Those aren't currently included in the current regex...
they are in another...
@Vogel612 possibly sounds like a bug for MSE. but that's quite interesting
private static final String  linkTokenRegex          = "(\\[[^]]++\\]\\(https?+:\\/\\/[^\\s\"]++(\\h++\"[^\"]++\")?\\))";
19:10
ah, alright
though I must admit that the link token is buggy.
I can imagine that. getting a link right is hard...
what's buggy with it?
it doesn't work properly with title text.
[like this?](http://example.com)
there's two test-cases for it..
but I remember some corner case being borked.
 
1 hour later…
20:20
Fine by me too
 
2 hours later…
21:52
Monking
hey @Phrancis
22:27
@SimonAndréForsberg I went ahead and sent them a message to see if there was any interest, will let you know.

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