« first day (1691 days earlier)      last day (1489 days later) » 
00:00 - 18:0018:00 - 22:00

12:00 AM
RELOAD!
[rubberduck-vba/Rubberduck] 1 opened issue. 2 closed issues. 12 issue comments.
 
12:14 AM
[rubberduck-vba/Rubberduck] build for commit 333c89ac on unknown branch: AppVeyor build succeeded
 
@this I just pushed my current local. I think I only have 3 more test sets to add - structure tests for added and removed components, and tests for the declaration sync.
...which will push us over 5K unit tests. Yay arbitrary thresholds!
 
12:35 AM
:Cheer:
 
12:48 AM
[rubberduck-vba/Rubberduck] build for commit 2fb73ef0 on unknown branch: AppVeyor build succeeded
 
1:41 AM
hmm. weird. I thought we already passed that.
But yes, yay for arbitrary threshold!
 
I might just be VS messing with the count for different test groupings.
 
yeah could be
 
#4358 should probably be addressed at some point. Rendering two identical tree views on every parse is a killer for huge projects.
If we are going to have 2 trees on the same project, they should share a common set of nodes - something along the lines of a ProjectTreeNodeProvider that hands them both a view on the same underlying collection.
 
Just to be clear - why did we add ref to a bunch of members?
I was going to ask about that. If they all come from the same list, they definitely should be one big list (!) projected accordingly.
 
It reduces the computational complexity.
 
1:51 AM
by not materializing the lists every time it gets passed around?
not sure I follow.
 
Dramatically. It allows the list to be rebuilt with .Except() instead of removing members one by one.
 
ah ok
 
There's no way to do a RemoveRange<T>(IEnumerable<T>)
Although in hindsight, I probably could have cooked up my own extension method.
 
perhaps but best to use native methods anyway
 
2:35 AM
@Duga So what do you set the out parameter to if it's a TryGet*? default?
 
hmm. blargh. It's a value type.
 
I'm kind of up in the air on it. The new out var syntax makes it easier to bypass the return check.
 
With the design as is, you still have to check for the null.
using default on a value type would be confusing.
so if you're going to the trouble of using a nullable....
 
...at least it throws an NRE early instead of who knows what down the line with a bad value?
 
2:45 AM
IDK. I'd rather get a NRE than a weird behavior
 
^
And the reference folder test finds its first facepalm.
public override string Name => ReferenceKind == ReferenceKind.TypeLibrary
    ? Resources.CodeExplorer.CodeExplorerUI.CodeExplorer_ProjectReferences
    : Resources.CodeExplorer.CodeExplorerUI.CodeExplorer_LibraryReferences;
"Hi, I'm Comintern, and I've used a ternary before."
 
I figured you were going for an early April's Fool joke.
 
I've probably seen that on a daily basis for the last couple months. I think it's been that way since the references PR.
 
 
2 hours later…
4:26 AM
And sometimes, just sometimes, amazing humans walk into your little project and share the most amazing bits of wisdom you’ll not believe.
 
 
1 hour later…
6:19 AM
[rubberduck-vba/Rubberduck] build for commit 320ee737 on unknown branch: AppVeyor build succeeded
 
 
1 hour later…
 
4 hours later…
 
2 hours later…
 
1 hour later…
ew. Shouldn't be touching COM there
It looks like it's outdated, too - it should be using the same changes that CE is using to retrieve the document name.
Maybe extract that into an extension method? a service?
 
That gets run for every identifier reference for a worksheet.
It should run at most once per.
I was considering making a DocumentDeclaration subclass and making it a lazily evaluated property.
 
Hmm, IDK. Wouldn't it make more sense to evaluate it all once during the parsing run?
That way, we touch COM only once and in that one instant.
 
My thought was it would probably be safer to defer it.
I don't think we want to hit that with multiple threads.
The highlighted line above accounted for 21 seconds in one inspection run BTW.
 
2:23 PM
Yeah, definitely not. But doesn't inspections run on multiple threads anyway?
 
Yeah, that's true.
 
and I thought I understood that the parser is set up to do COM stuff on one thread?
 
I'm pretty sure we don't.
 
OK
 
I need to check to make sure the parser or resolver isn't already enumerating that collection.
 
2:29 PM
I guess for normal typelib consumption it won't matter. For those that touches VBA's COM, well, hazmat suit required.
 
It if is, we should just grab all the results we need at a single point.
 
Yeah that's why I was thinking that might be better since I thought we have to do that anyway.
 
Maybe copy it out to a Dictionary<string, object> instead of just grabbing one property.
 
Either way, I do agree we should have a DocumentModuleDeclaration
I don't know - it's not always safe to read values from the properties at all times.
 
It has to inherit from ClassModuleDeclaration. That's about the only special consideration.
 
2:31 PM
It's usually safe to enumerate the properties' names, but not necessarily values.
 
Right. That Access thing.
 
I guess Microsoft like to put little firecrackers in every nooks and corners.
Must have been a bunch of practical jokers back then.
 
More like, must've had deadlines.
 
You'll subscribe to your boring old reality. I'll subscribe to my much more interesting and fantastic reality.
 
Do we want a naive easy fix in there for 2.4?
It would be simple to just cache the result in the inspection as a short term fix.
 
2:49 PM
at this point, only bugfixes should go into 2.4
as long an issue is opened and a TODO marker left, I'd be fine with that.
 
That's why I mentioned it. I consider that a "bug".
 
yeah, the whole thing about COM-touching is a bigger but ultimately a separate issue.
 
Hosch250 has made a change to the feeds posted into this room
 
At least you could just copy-pasta the changes that CE has for getting that information (primarily for safety)
 
Hosch250 has made a change to the feeds posted into this room
Hosch250 has made a change to the feeds posted into this room
 
2:53 PM
Nah, CE only hits it once per declaration.
The inspection hits it N times where N is the number of identifier references for worksheets.
 
Right but the code the inspection has now is unsafe
e.g. it should not be hitting the VBComponent.Properties
 
I don't know if I'd go as far as "unsafe". Unwise maybe.
 
I would because it will leak pointer, which causes zombifying on the exit
 
@this The cake is a lie! Seriously? Nobody else went there?
This is an interesting bit of chaos:
0
Q: Office 2019 VBA IDE

Israel HoydaAfter installing office 2019 I encounter in some very strange VBA IDE problems (32 bit) (I check it in EXCEL, WORD and ACCESS VBA) Ctrl F - Find dialog, when hitting the "Find Next" the dialog closed without finding anything (even a single character). sometime shows "Out of memory" message -...

 
@Vogel612 I've heard of Cake. It's modeled after CMake.
I've never needed it, but it sounds pretty good.
 
3:06 PM
Mmmm... cake.
 
Let them eat cake.
 
@Comintern I prefer π
 
If we are covering sweets, kisses are some of my favorites.
 
Given the choice, I'd take the π too. Just not the squared ones.
 
Talking about that, my sister is a piano teacher, and she gave her students some chocolate kisses, depending on how much they practiced.
So, one of her kids comes out of the lesson and tells his dad "Xxx gave me 5 kisses!" The dad thinks she's being a pedophile.
 
3:09 PM
lol
Reminds me of this:
 
Today is NOT a good day so far.
Tired, and already ready to snap about the bugs coming in.
Oh yeah, who thought it was a good idea to give us 1 week testing to shift our site to UTC (other than the devs testing as they make the changes).
 
Well, Tuesday is the day you have to pay your dues.
 
Hmm?
 
I thought that was Duesday.
 
What dues?
 
3:18 PM
#Pun Failure
 
Oh, thought it was something about year-end stuff.
Like taxes, and stuff.
 
well, it is almost the time for The Duesday.
 
Yeah, not until April.
I'm waiting for a 1099, or something, from Robert Half, from a recommendation bonus.
 
Probably a bit later than that, due to the current terrorist attacks.
 
Otherwise, I'm ready.
@this You mean the shutdown? No, taxes are due anyway.
And the IRS is working and going to be giving refunds as normal.
 
3:20 PM
Hmm, I read that they may be backlogged because of that.
 
We get our tax rush in January. Our customers are generating the 1099s as opposed to consuming them.
 
The Ds wanted them to, but Trump issued an executive order that the courts upheld based on a previous president who did the same.
And the court upheld it then, so this time they just said BTDT.
 
Don't you love it when the terrorists argue over how to spend other people's money and using human shields at it?
 
I just hope things will be resolved by mid-March :-)
 
That's the MVP meeting?
 
3:25 PM
yeah
 
Did you get your MVP back, @this?
 
otherwise the flight is going to be fun.
yeah, back in July
 
Nice.
 
the renewal cycles used to be on quarterly basis but recently they now do it on July for all MVPs.
(but even back then my cycle was on July)
 
3:27 PM
Had you lost it for a year, or something?
 
nope. been at the mast for 10 years straight.
 
Nice. You just didn't go the meeting last year?
 
Well that's new.
 
you didn't notice it until now? It has been up there for awhile
Correct, Hosch - that was my 2nd meeting I missed, though. :(
Sucked but life don't always consent to oblige.
 
3:28 PM
Well, go this year!
Say hi to Mat for me :P
 
yep
just have to book the flight.
 
well... didnt realize i closed this tab
oops
 
You should get in the TSA line now.
 
or just... not fly.
I bet you you'd arrive sooner by bus than by plane.
 
@KySoto Hi. Get your marriage license?
 
3:31 PM
or just go to Vancouver, then hop on the bus.
 
Congrats, BTW. I wasn't in chat yesterday, so I missed it.
@this Haha. I was looking at bus routes just to see how "easy" it would be to use public transportation to get to work.
 
Is it?
 
Turns out it would take me like 6 hours to cross the cities and get here.
 
oooo that's brutual.
 
I have to cross 33 miles through 2 cities, crossing through several sub-cities to get here.
 
3:33 PM
shouldn't they have express routes?
 
In the city, yes.
 
so not between the cities?
 
I don't go through the city, I skirt the city.
I live in the eastern St Paul suburbs and work in the western Minneapolis suburbs.
 
it's just that one'd think that for two city so near each other, there'd be express routes going directly from one hub to the other hub.
 
The freeway system here splits. So we have 35 E/W on the east/west side of the cities.
Then 94 goes through the city, and 694/494/394 kind of wrap around the cities.
I follow 694 to 494 and work in Plymouth.
 
3:36 PM
> My stress project for Excel has somewhere around 100 worksheets, and I noticed that the `SheetAccessedUsingStringInspection` takes around 25 seconds to complete. So... I attached a profiler to see where the bottleneck was and found this:

![pqlau](https://user-images.githubusercontent.com/8944005/51545570-deadca00-1e27-11e9-8b24-08fe8d89c4c9.png)

That points to [this line of code](https://github.com/rubberduck-vba/Rubberduck/blob/next/Rubberduck.CodeAnalysis/Inspections/Concrete/SheetAcce
 
@this There are, but I don't go near the hubs.
 
I see
 
They have express lanes on 94, but not 694 or the part of 494 I use.
Not sure about the rest of 494, haven't done the whole loop.
 
@Duga ouch
 
They have express lanes on 35 E/W too.
 
3:39 PM
down in SA, it's basically one big perpetual construction project
 
Ouch :(
 
they're building the cloverleaf bridges for the 281 and 1604 which really hurts the commute for those in the northern edge. They even say it'll be 3 more years before it's done.
 
I think they might redo the worst part of my drive in a few years. They redid large stretches of the freeways around it.
 
Regarding the release, I think until 2.4 has been released only bug fixes for the CE and translations should be merged.
 
This part is bad because 100 is the chokepoint, and 694 has 2 lanes split off and become 100, then merges with 94 coming out of the cities.
So, until I pass 100, it's really slow. If they redo the stretch of 694 coming up to 100, it's gonna suck.
Same if they redo the stretch going the other way, where 94 splits off 694, and we merge with 100.
I might leave the state before then, though. The wide open west is calling me.
Montana or the Dakotas, perhaps. I'm looking at Sioux Falls and Rapid City and Fargo, especially.
 
3:44 PM
@M.Doerner agree in general - but if I can slip a fix for the SCP issues, I think they should go in too :)
 
The real question is when to release the 2.4?
 
@MathieuGuindon Stupid Code Pane?
 
I tried to test CE changes but I cannot because the application I'm working on OOMs.
LOL
 
Or Source Control Provider?
 
@Hosch250 that's a very, very good one :)
 
3:45 PM
I'm wondering how many else has tested the latest pre-release. The lack of new bug reports might just be that nobody has ran into it yet.
 
what about the IR TW work?
 
Ahh, Safe COM Provider. I always forget that one.
 
inspection? I think that should be 2.4.1?
 
@Hosch250 Self-Closing Pairs, actually
 
@this You're referring to TSA (or lack thereof) screenings? It's all just security theater anyway. Search for TSA red team to see some failures
 
3:49 PM
@this yeah, probably
 
I am rather against merging anything that might even potentially break something not already broken at this point.
We are already missing the original release date of the references explorer by a month.
 
Like ISelection?
@M.Doerner RD always misses release dates.
We missed the release date of 2.0 by over a year.
 
But we are mostly holding off from merging PRs because of the release since the original release date.
 
@FreeMan I didn't say TSA were effective. Only that it's slowing everything from excruciating crawl to agonizing wait of Death™
So to be clear --- we should at least merge the CE hotfix #3
then what? Release 2.4 after tomorrow or on the weekend?
 
Just release tomorrow, and do a quick hotfix or two.
 
4:00 PM
We said that we want a week of field testing after the last feature related merge.
 
I really need to do the translations
 
Moreover, we still need translations.
 
@Comintern is the CE PR good to go or you have more commits coming?
 
@Hosch250 don’t expose our shortcomings. It’s unflattering exposing what goes into the sausage.
 
I don't care.
I think the lack of deadlines helps keep code quality up.
 
4:03 PM
@this PBAP pineapple by agonizing pineapple seems more appropriate.
 
lol
 
So glad I can avoid travel.
 
@Hosch250 and that's what gets us Duke Nukem Forever 3D, right?
 
@this That was closed source, so...
Open source, anyone can work with what's there.
So, not really the same thing.
In open source, everything more or less is a release.
 
meh. the numbers disagree.
 
4:08 PM
@MathieuGuindon That was the last of them last night.
 
people download the "green build" orders of magnitude more often than the latest pre-release build
 
That's where marketing comes into play.
 
Green release would mean we’re confident in stability and comfortable with a public offering of it. No?
 
@IvenBach No.
That's what the public thinks, but it's really not.
I've seen beta versions more stable than final releases, and most releases have an immediate hotfix.
 
@Hosch250 Try installing a beta x-server or dbus on your Linux machine sometime and your attitude toward the non-stable branch will probably change.
 
4:11 PM
@Hosch250 except if the product is Visual Studio
 
@MathieuGuindon My daily driver is VS 2019 Preview 1.
It's nice and stable so far.
 
There's a difference between RC/preview vs beta/insider
blargh my grammar are break
 
Yeah, to the end user, there's a difference. But to a programmer, I'd say less of a difference.
I don't care if there's a bug in an open-source product I use if I know the language(s). I'll just fix it and use my version internally.
And maybe submit a PR.
 
You're definitely an outlyer.
 
^
 
4:15 PM
Mission success. That's been my goal for years.
 
i'd wager that a large majority of OSS consumers don't even know how to fix a bug, much less read source code
 
@this Mmm, I'm not so sure. VS is the open OSS tool I have on my work system.
 
You'd win that by a wide margin.
 
If RD was Debian, master would be "stable", green release would be "testing", and the current next would be "unstable".
 
*nix users usually know some code, even if it's just Bash.
If Office or Windows goes OSS, yeah, easy.
 
4:16 PM
@M.Doerner / @MathieuGuindon OK to merge CE hotfix #3?
 
Some of the config files in *nix almost qualify as code.
 
^
 
and may require you to persue the man to know what it really does.
 
4:17 PM
I have no idea about the CE. So I have no opinion.
 
[rubberduck-vba/Rubberduck] retailcoder is bored so why not move a project card
 
I guess my reluctance is more because I don't want to unnecessarily delay the release as I already did last week.
 
IR should probably merge shortly after the green release to get more "in-field" time.
 
4:20 PM
yeah. About that....
 
we have about 10 PR that needs to be merged.
I don't know about you all but I don't know if I really want to merge them all at once.
 
At the same time, they all need to be merged sooner than later so that they can get the in-field testing for the same reasons.
 
4:21 PM
@this Why's that?
 
Decisions, decisions, decisions.
 
Most of them are dealing with things that don't have a whole lot of interaction.
 
a number of them have large scopes so if a new bug report comes in, it would take a while to track them to which the PR was the offending one?
 
4:23 PM
And if they do, the interaction surface is the more important thing to check.
 
For the record, stuff like #4582 and #4731 shouldn't count for that determination.
 
[rubberduck-vba/Rubberduck] MDoerner pushed commit 18b1505f to next: Add German translation for 2.4 for resources added late
[rubberduck-vba/Rubberduck] MDoerner pushed commit b3052b74 to next: Improve some resources in English and German.
Merge pull request #4731 from MDoerner/MoreGermanTranslations

Add German translation for 2.4 for resources added late
 
The 4582 probably should be merged soon as possible after the 2.4 release, yes.
 
4:27 PM
That will hurt all of us so I'll get to know about it very quickly.
 
So I'm thinking that after the 2.4 release -- merge the #4717 and #4072 -- both PR are UI-facing and hold off any merge for another week?
 
@this I'd consider #4717 almost completely bug fixes at this point. The only functionality I added was an additional grouping.
 
There's another issue, though - we have zero UI tests
 
4:33 PM
Also, the sooner #4582 merges, the sooner I can do meaningful non-work at work.
 
so how do we prove our UI changes aren't regressing?
right now, it's clench our posteriors and hope for the best.
 
@this we have @FreeMan for that :)
 
har har but you know I meant automated UI tests. ;)
 
That's the problem with UI - you need a meatbag.
 
4:34 PM
Well not necessarily anymore.
 
? Should I anxiously await your MockWpf implemenation?
I'm talking about things like "the cursor doesn't stop spinning". Or "the context menu pops up really slow".
 
lol, no. I'm talking about the UI unit test framework they released some time ago
Those stuff you cited, unfortunately might be impossible to test in an unit test
That's more of an integration test which probably needs a meatbag.
 
I should start on my implementation of MockMeatBag.
 
4:40 PM
shouldn't be too hard. Just toss in some Rnd() function and you're good.
FWIW - apparently that framework is recommended now
 
Interesting. Is it compatible with AV's setup?
 
well it installs as a nuget package?
I don't know if it can be run headless, though. I just found out about it now
 
And then communicates with the running application via a server.
My read of it is that you'd need Office installed to use it with RD.
 
looks like someone has done it
and we definitely don't want to interact w/ Office. That should NOT be used in a headless environment. We probably have to provide a mock application
 
Interesting.
I might need to read that more thoroughly.
 
4:46 PM
sounds pretty complicated for something that won't catch half the things F5+eyeballing would... no?
 
well, right now we avoid regression in the functionality by writing a red unit test with a complicated mock parser/project builder.
 
Yeah, there's really only a small subset of stuff you could catch with it.
 
since the mock parser/project is already all set up it's easy to write a new unit test.
 
Like circular bindings for example.
 
But we have basically nothing to verify that the UI is the way we expect it to be.
 
4:48 PM
Eyes?
 
If it could catch data binding errors that's a win, no?
Eyes are unreliable and can't be relied on to do repeated/automated tests to prevent regressions.
 
Catching binding errors would definitely be a win.
 
A different route would be to use something like this: github.com/bblanchon/WpfBindingErrors
Though I'm not as clear as how we'd use that in an automated unit testing system.
 
[rubberduck-vba/Rubberduck] Vogel612 project card. Enough said.
 
@this That would be worth it just to get the damned things in the log files.
 
5:01 PM
now that'd be very simple way to just validate that none of our WPF stuff has data binding errors.
 
I'm sold. I may need to play with that.
 
we might need both, actually. Having it in log would make it easy to write new red unit tests.
Just to be clear, is it really all about data binding errors, though?
Could there be other classes of UI errors that we need to be testing for?
 
@Hosch250 going to in about... 5 hours or so?
 
5:24 PM
@this The binding errors are the ones that are most difficult to find IMO - about the only way I've figured out to find them is by running it and watching the tail of the debug output.
 
and then scratching your head for 3 days trying to figure out what the heck the stupid errors mean. at least, that's been my experience with that damned CRUD app so far.
 
IKR?
 
Mat, curious, was that going to replace the Excel-as-an-application?
 
My favorites are the ones on properties that you aren't even binding to directly.
 
@this yes
 
5:27 PM
Comintern, would I be correct to presume that in the cases of the tribble trouble or missing menu we can write an unit test without involving the UI, right?
 
Yes.
There are about 60 of them in the last push.
 
Yeah, I only skimmed. :(
 
"context menu is slow to open" is meatbag stuff though. or profiler stuff involving every command's CanExecute
 
Agreed.
I don't think that's what UI testing should cover anyway.
 
The race condition I found on the EvaluateCanExecute for the refresh command is a perfect example of something you'd never find without meatbagging.
 
5:31 PM
The samples I saw so far basically covers the questions like "is the menu item enabled and available at that moment?" or "does it pick up the shift modifier modifying my keyboard input"
 
There's another set that pushes them through the main view model too.
 
Right. In that case, though we're testing the viewmodel in isolation.
The UI tests was supposed (at least I think so) to enable testing of the view (e.g. the XAML itself)
 
IfIJamOnTheRefreshButtonLikeAJackHammer_DoesItCrash
 
lol
 
00:00 - 18:0018:00 - 22:00

« first day (1691 days earlier)      last day (1489 days later) »