« first day (402 days earlier)      last day (2778 days later) » 

12:01 AM
RELOAD!
[Cardshifter/Cardshifter] 14 commits. 1 opened issue. 3 issue comments. 348 additions. 124 deletions.
[Hosch250/Rubberduck] 21 commits. 8801 additions. 2822 deletions.
[rubberduck-vba/Rubberduck] 23 commits. 1 issue comment. 6404 additions. 2676 deletions.
[Vogel612/JavaBot] 1 commit. 1 deletion.
[Vogel612/TranslationHelper\‌​] 2 commits. 1 opened issue. 1 issue comment. 42 additions. 3 deletions.
 
Good job duckies :)
 
 
2 hours later…
2:00 AM
Wow that code pain factory is a mess
Not your fault @Hosch250, you did exactly as I told you - there's one place I think is really problematic: QualifiedSelection shouldn't have that Select method.
I think that's a violation of SRP, and it really looks like it's what's making everything so painful
I'm refactoring that part
 
 
1 hour later…
3:14 AM
@Mat'sMug Have fun, that select method is used everywhere.
 
6 places actually
 
Huh?
Weird.
 
all recent code
 
I was sure I saw it all over the place.
In my refactorings, maybe?
 
no clue
 
3:15 AM
OK.
 
well
all refactorings actually
the hard part isn't removing these calls... it's replacing them with what it should be
that's breaking a ton of code
and I'm down to 1 error in 1 file before I can build and test
:)
and...
that last spot is the ParameterNotUsedInspection
public ParameterNotUsedInspection(IRubberduckCodePaneFactory factory)
you realize that inspections are instantiated via reflection?
 
Oops.
I think I have that in a few of them.
 
I'm surprised things didn't blow up
but none of these inspections actually run
 
I never tried to run my inspections.
 
that's for sure
    public ParameterNotUsedInspection()
    {
        _factory = new RubberduckCodePaneFactory();
coupling is fine here, until something other than pure reflection is instantiating those
 
3:22 AM
What about DI?
That is going to be a terrible nuisance for testing.
 
v1.5 is exactly why we're doing this
 
Talking about DI, sometimes when I see some code I wonder if the writer didn't DI all the way and not even create any variables.
 
like what?
 
Oh, when you have 9+ parameters in the constructor.
 
that's usually SRP taking a beating.
usually some of the 9+ parameters have something in common - they're really 3-4 groups of 2-3 parameters
and each of these "groups" ought to be an object of its own
 
3:26 AM
public GenericProjectNameInspection(IRubberduckCodePaneFactory factory)
public MultipleDeclarationsInspection(IRubberduckCodePaneFactory factory)
public OptionBaseInspection(IRubberduckCodePaneFactory factory)
public OptionExplicitInspection(IRubberduckCodePaneFactory factory)
public ParameterNotUsedInspection(IRubberduckCodePaneFactory factory)
Those are the 5 that need updating.
 
thanks
 
I would do it for you, but it would probably create a conflict.
 
yeah don't. thanks
 
I guess I don't have anything to do, so I'll go read until I can get ready for bed.
Want to ask me anything before I go?
 
yeah.. for tests you'll be writing in the future, make sure the name acts as a documentation of what a feature is supposed to be doing - not just what the test is taking in
 
3:29 AM
OK.
 
RemoveParametersRefactoring_LastEventParamRemoved_ParamsHaveDifferentNames_TwoHandlers
 
So, I'm stating what I'm testing there. What would be a better name?
 
what are you expecting out of it?
 
A success?
 
lol
 
3:31 AM
UnitBeingTested_SpecificFeature_TestData_TestData
When I see the test fails, I know exactly what the test is covering.
 
and that's good - maybe that was a bad example
 
ParamsHaveDifferentNames actually is bad.
 
it does remove the last parameter right
RemoveParametersRefactoring_LastInterfaceParamRemoved
the test class is RemoveParametersTests
tests don't need to start with RemoveParametersRefactoring_ ;-)
 
I meant that the params have different names than the event params.
@Mat'sMug The TestExplorer doesn't use a nice tree like R#.
So, it is nice to see exactly what happens in there too, but yeah...
Someone on VS2015 should send a frown.
OK, is that it?
See you later then.
 
later!
you can group tests by class in the vanilla test explorer ;-)
 
3:50 AM
@Mat'sMug really quick question....
 
sure
 
Do you know if your Antlr grammar is being built when your solution is recompiled?
i.e. on Appveyor?
 
it's not
 
So you're building it and then adding it as a dll reference to the project?
 
build action is set to none
 
3:51 AM
no .g4 files.
ok .g4 files in solution but not compiled.
 
I have the .g4 in the solution, so that it's under source control
 
ok, I've been tearing my hair out wondering why AppVeyor will not compile my project.
Seems that the Antlr4Compile task does not execute.
 
hmm that's likely
 
Which means that the compiled library is missing all my types 8(
Its weird though, since the compile task is conditional on the targets file being present. Which seems to be part of the nuget package.
 
requires java IIRC
 
3:54 AM
Yeah, is that not available on AppVeyor?
 
no idea, Chris set it all up
probably though
@Hosch250 also, Assert.AreEqual(null, foobar) should be Assert.IsNull(foobar), and Assert.IsTrue(false) should probably be Assert.Fail(), or Assert.Inconclusive().
 
Ok, cool. Thanks Mat.
Will do more research, now that I know what seems to be the problem.
 
np
 
At first I couldn't get the projects to build in the correct order. Now that is sorted, I see what the actual problem is.
 
looks like something's missing
 
ah no that bit is actually fine. Its double negative. The error task doesn't execute because the files do exist.
Took me a while to work through that.
 
5:08 AM
@Hosch250 found a better example of what I wanted to say:
Factory_SelectionIsNull
it says what the input is, but not what to expect out of it
renamed to
Factory_NullSelectionCreatesNullPresenter
also
Presenter_TargetIsNull
vs
Presenter_NullTargetCreatesNullModel
Presenter_SingleParameterMemberCreatesNullModel
Presenter_NoParams -> Presenter_ParameterlessMemberCreatesNullModel
that's not a bad one: Presenter_Reject_ReturnsNull
but... Presenter_CancelDialogCreatesNullModel
that's a good one: Presenter_Accept_ReturnsModelWithParametersChanged
aaand QualifiedSelection.Select is gone
 
5:38 AM
and all green
well except that rename test
 
[rubberduck-vba/Rubberduck] retailcoder pushed commit be0945e5 to next: removed QualifiedSelection.Select(); removed dependency from QualifiedSelection, refactored unit tests to build project. All tests pass but one.
 
oh wow, I don't get how there was no merge conflicts here, but woohoooo!!
 
> 32 changed files with 841 additions and 579 deletions.
 
[rubberduck-vba/Rubberduck] build for commit bf9c5100 on next: AppVeyor build succeeded
[rubberduck-vba/Rubberduck] build for commit bf9c5100 on next: AppVeyor build succeeded
 
5:48 AM
and that's all folks
 
 
5 hours later…
 
2 hours later…
12:34 PM
posted on July 12, 2015

Master Banzen was approached by his apprentice Djishin, who said: “The Temple needs a REST library with JSON support. I have located several third-party candidates, but I do not know how to choose among them.” Banzen seemed taken aback. “Did you not author such a library yourself, and provide it to the Spider Clan?” “Yes,” said Djishin, “but now it is a stone around my neck. Every week th

3
 
 
5 hours later…
5:10 PM
Hello? tap, tap, tap... Is this thing on?
 
HAI!
 
OK, @Mat'sMug, got it.
 
'sup?
 
Nothing, apparently.
Show's over:
 
yeah, seems that way...
 
5:18 PM
11 hours ago, by Mat's Mug
and that's all folks
 
ah... I didn't realize the implication of that.
TTGH, then...
 
lol, I meant that as "TTGTB" :-)
 
Some parents seem so out-of-touch with kids.
Just read a post on Parenting about a kid just singing quieter when asked to stop.
 
I heard Porky Pig
 
I was a bit of a brat when I was younger, and know of two possibilities:
1) Kid thinks the parents don't like the noise, but don't really mind the singing.
2) Kid is deliberately being disobedient.
 
5:24 PM
@Hosch250 I saw that too. Modern society seems to want children to be nothing more than compact size adults.
Get up too early in the morning, go off to "work" (daycare/school), come home, veg in front of a screen.
Heaven forbid a parent should play with his/her kids. Especially outside... Gasp!
/soapbox
 
My neighbor's kids never play outside.
We used to play outside, but we haven't so much this year.
Partially because the yard is a mini swamp with all the storms lately (we are the low spot).
Partially because our yard is infested with worms, so our dogs can't play out there anymore (related to the wetness).
Partially because we have more computers now.
2
 
[Hosch250/Rubberduck] Hosch250 pushed commit 74b9b26f to next: Remove unnecessary data in test.
[Hosch250/Rubberduck] retailcoder pushed commit be0945e5 to next: removed QualifiedSelection.Select(); removed dependency from QualifiedSelection, refactored unit tests to build project. All tests pass but one.
[Hosch250/Rubberduck] Hosch250 pushed commit aa2b95c5 to next: Merge branch 'next' of github.com/rubberduck-vba/Rubberduck into next
 
I've been taking my dog on a walk every day, still (can't go today, too hot).
 
2
Q: Split a single workbook into multiple workbooks containing multiple worksheets using Excel VBA

Abdul ShiyasI have a workbook with single worksheet as given below. I want to split it into many workbooks containing many worksheets according to the values in it. I want to make 'n' number of workbooks according to 'n' unique values of column 1 as in the picture. And I want to make 'm' worksheets accordi...

Does a bounty automatically make a bad question good
??
33
A: How can we close questions with bounties?

Jeff AtwoodThe moderators have a menu to remove / refund the bounty, so this is no longer an issue. Flag such things for moderator attention as the moderators have all the tools necessary to deal with this now.

Mods have to refund bounties to close...
0
Q: Change Close Vote to Mod Flag - Bad Questions with Open Bounty

Chrismas007The official stance on closing bad questions with an open bounty is to flag for moderator attention, get the mod to issue a refund, and then the question can be closed Official Source. However, once you have close vote privileges, most options in the flag menu become "close vote" prompts: Whe...

 
 
4 hours later…
9:35 PM
No no. @FreeMan back on the soapbox. Preach it brother.
 
Hi, @RubberDuck.
 
Hey @Hosch250!
 
How are you liking your new job?
 
Just popped by to say hi. Gotta go make dinner in a minute.
 
OK.
 
9:37 PM
Yes & no. The guy training me is afraid of his own code base.
 
LOL.
Doesn't sound funny.
 
Yeah.... Lol is right.
 
Sounds like me half a year ago.
 
I scolded him the other day.
> This is how code bases rot.
 
@Hosch250 @RubberDuck ... I am afraid of the codebase at my job
then again that codebase is probably beyond redemption ...
@Hosch250 can I bounce my new Design for the translation helper model off of you?
 
9:42 PM
Yes.
 
If you truly believe that @Vogel612, then it is.
 
You are aware of how I represent the resx files?
 
Sorry. Reading The Codeless Code gets me speaking in koans...
 
Not really.
 
so basically I have a Translation class. that translation currently has { Key, RootValue, Translation } as "properties"
 
9:44 PM
OK.
Sounds like my old version.
 
I have two documents in the model, one for "en-US" one for "de-DE"
 
Yep.
 
now I want to change the model to eliminate the "RootValue" from translation, so as to allow configurable root values
so the Translation class shrinks a little.
 
Like, how?
 
Key, Translation
 
9:46 PM
I mean, how configurable?
Display different languages configurable?
 
Display multiple languages configurable?
 
basically I'd maintain a Map<String, Document>
or in C# terms a Dictionary
 
I see.
 
the keys would be "de", "", "sv", "fr" ...
Document btw. is the parsed XML DOM
 
9:48 PM
Oh, what is the key now?
 
which one?
 
I was thinking the key was the XML value key, like "Reorder_OptionalParamsMustBeLastError"
{ Key, RootValue, Translation } That one.
 
it is
key as in Dictionary key
 
OK, so the type will change from a String to a Map<String, Document>
 
the Document can be transformed into a List<Translation> rather simply
Document as in .resx file..
 
9:50 PM
Of course.
So, what is the end goal here?
 
the end goal is allowing arbitrarily switching between languages
 
OK.
What I did was something somewhat different.
 
for both sides of the translation chain
 
I had a filepicker return a filepath string.
I had two buttons, one for each side.
 
and you loaded the resx "into" the side from an arbitrary, user-chosen location?
 
9:53 PM
When the user picked a file, it would load the file from the string.
No, I left it where it was and just loaded it into my app.
 
yes, that's what I mean :D
 
When the user finished editing a cell, I would handle the event and save the changes.
 
how do you resolve key conflicts?
 
I don't handle key commands.
Oh, those.
 
soo.. file 1 contains key X, that's not present in file 2
but file 2 contains key Y that's not present in file 1
user-resolution?
 
9:55 PM
I would display a table like | KEY | VAL1 | VAL2 |
If one file didn't have a key, the value cell for that file would be left empty and the row highlighted red.
If the user didn't edit the value, the key wasn't added, but the second the user edited the value, it was added and saved.
 
did you ever remove keys?
 
Yes.
When the user deleted a row.
 
figures...
 
Now, I have a list of files (not sure exactly what type I used).
The user can add/remove files at their leisure.
 
the type's kinda non-portable across C# and Java :D
 
9:59 PM
I have my code on GitHub and CR (one is still waiting for a review).
So, anyway, I believe I have a key and a list of values in one of my classes.
 
hmm. I don't quite understand your code ...
 
In the other, I have the file data and methods to add/remove/save.
 
yea I found that one.. these ICommands, right?
 
A lot of what I'm using is Linq-XML and a built-in XML editing classes.
@Vogel612 Those are bound to the buttons - they execute when the buttons are pressed.
The VM handles pretty much everything for the view.
 
figures. XAML can bind directly to code-behind, right?
 
10:07 PM
Yep.
 
in java you'd need to add an ActionListener or Annotation defined binding..
 
Data binding is a pain to learn, and a joy ever after.
 
C#'s cooler at that.
 
All those public properties and stuff are bound to the XAML.
 
hmm. I love how JSF does it though.
then again that's where I think java is a little stronger than C#..
web based stuff
 
10:09 PM
JavaServer Faces?
 
yea.
 
Never used C# with the web, so won't try to argue.
 
basically you'd go Classname.method or Classname.property and you'd access your nicely encapsulated classes
methods being the exception, actually.
also the Scoping would be done with one Annotation, and you're usually good to go for Sessions, Request and Application lifetime
 
In fact, I've not used client/server anything, so I don't get what you are talking about :(
 
doesn't matter, just hope you don't ever have to debug it
 
10:12 PM
Debug what?
 
webapps.
 
WPF, or JSF?
OK.
 
JSF and ASP.NET
 
It sounds somewhat like multi-threading.
 
they're both a royal PITA
it's multithreading in a gigantic state-machine where everything can change everything else if you just try hard enough
 
10:50 PM
[ckuhn203/VBEX] kentat starred us
 
11:28 PM
Dude, web is weird. I spent the better part of the day trying to figure out why an event wasn't being raised only to realize I had to setup the control to "post back", whatever the hell that is.
 

« first day (402 days earlier)      last day (2778 days later) »