« first day (2506 days earlier)      last day (674 days later) » 

12:02 AM
RELOAD!
[rubberduck-vba/Rubberduck] 1 opened issue. 2 issue comments.
[Minesweeper] Games Played: 107, Bombs Used: 68, Moves Performed: 14699, New Users: 15
 
12:46 AM
I'm stuck on where to new up an IConfigurationService<ProjectSettings> to supply it as an argument. Because of the IoC setup I don't know where to actually instantiate it.
 
12:58 AM
> Closes #5719 This PR introduces a DeleteDeclarationsRefactoringAction to replace IModuleRewritingExtensions - an extension class to handle deletion of Variable and Constant list declarations. Using an extension class to handle these operations received a fairly lukewarm reception when it was introduced about a year ago. Hopefully this refactoring action is considered a better approach. The PR was first started to address #5719 - but while creating the supporting refactoring action, it...
became clear that it was also an opportunity to consolidate all declaration deletion actions. Consequently, the PR replaces IModuleRewritingExtensions and modifies EncapsulateFieldRefactoringActions, MoveCloserToUsageRefactoringAction, and the RemoveUnusedDeclarationQuickFix to use the DeleteDeclarationsRefactoringAction. In addition to #5719, the PR also addresses 3 yet-to-be-reported issues regarding the RemoveUnusedDeclarationQuickFix. 1. Leaves uncompilable code when deleting...
a subset of Variable and Constant declarations declared in a list. The issue is similar to #4319 (for Parameter lists) where a trailing comma is left behind in some removal scenarios. 2. Leaves uncompilable code when deleting the entire list of locally declared Constants and Variables (Leaves Const and Dim tokens behind). 3. Deleting un-used declarations leaves behind a new line character that, if there are several deletions performed, they can result in over-sized gaps between statements...
after the QuickFix. These EndOfStatement newLines are now cleaned-up by the refactoring action. To resolve the trailing comma issue, the DeleteDeclarationsRefactoringAction (like IModuleRewritingExtensions) needs to work with all the declarations-to-be-deleted as a group. To support a QuickFix, this requirement led to adding a FixMany(...) procedure to the IQuickFix interface. FixMany(...) allows a QuickFix to optionally override a default QuickFixBase.FixMany implementation in...
order to receive/operate on the entire InspectionResults set. The DeleteDeclarationsModel includes a flag to indicate whether or not the Indenter should be applied to modules affected by the refactoring action. Applying the Indenter is needed for the general solution to #5719 since removing one or more procedures requires application of the Indenter and its settings to get the correct spacing between the retained procedures.
 
1:13 AM
[rubberduck-vba/Rubberduck] build for commit 68427216 on unknown branch: AppVeyor build succeeded
 
1:33 AM
@IvenBach new Mock<IConfigurationService<FooBar>>() got us past that.
var projectSettings = new ProjectSettings(2);
var projectSettingsProvider = new Mock<IConfigurationService<ProjectSettings>>();
projectSettingsProvider.Setup(provider => provider.Read())
    .Returns(projectSettings);
 
1:51 AM
^ Given the above setup I thought when mockedCodeExplorer.ExecuteImportCommand(); is invoked github.com/IvenBach/Rubberduck/blob/… would assign it the argument I passed in. That's not the case.
 
2:39 AM
> The twinBASIC library was compiling without any "problems", but a closer look at the _DEBUG CONSOLE_ tab revealed an otherwise silent "[LINKER]" compiler error.

Once resolved and built without errors, a referenced twinBASIC library loads just like any other in Rubberduck:

![works fine](https://user-images.githubusercontent.com/5751684/114963478-ddb74780-9e3a-11eb-83b7-bdc6b2566935.png)
 
3:29 AM
VBMVVM_win32.dll: 513 KB
2
 
so if it is not appropriate to use different dbcontext to model different access roles (which @mansellan said directly and seemed to be a consensus statement from the lack of disagreement) is the correct way to handle this different service interfaces exposed by the business logic to the presentation layer?
 
3:49 AM
probably. "keep it simple" :)
 
@MathieuGuindon "probably" gives me pause!
I assume you say that because you don't know all specifics and can't say for sure tho.
If the concept of having multiple service interfaces based on access roles is valid though that is good enough for now.
At this point I have fully embraced the ethos of writing imperfect code and refactoring afterward.
 
yes, the best way is one that works!
'night!
 
ty sleep well!
 
 
3 hours later…
6:45 AM
I am stalled debating whether to drop EF for Dapper :/
I have little idea what I am doing with a db compared to anyone here with actual professional experience but I took a look at it out of curiosity and there is definitely something very alluring about how lightweight/clean it is compared to EF.
 
7:02 AM
Also the non-lazy student that you have all encouraged in me thinks it would a much better learning experience if I were required to write the actual SQL myself.
It seems like cheating a step of understanding not to.
 
 
4 hours later…
11:27 AM
@FreeMan nice try. It was like running away when I was a little kid: Ran out of snack mix within 2 blocks, returned home.
 
11:56 AM
I need to write about how using constructors in twinBASIC eliminates every need for static factory methods.
 
1:00 PM
 
1:11 PM
Anyone have an opinion on my edit?
https://stackoverflow.com/posts/67123670/revisions
Question title included "Visual Basic" and tags were VBA and VBScript. Another user adds VB6 and VB.Net. I remove everything except VBA.
@user692942 VBA, VB6, VB.Net and VBScript are all different. Please don't add tags that OP did not intend. — BigBen 20 mins ago
 
1:29 PM
It's also very much a dupe - I presume that was your VtC?
 
Not my VtC cause I would have dupe-hammered it. I'm just wondering whether a VB.Net dupe should be use to close a VBA question.
 
 
1 hour later…
2:43 PM
Hey, @all, didja see this:
83
Q: Suspicious GitHub fork

GiorgiUpdate (April 15): The forked repo and the user do not exist any more. Yesterday, one of my GitHub projects was forked and there is a suspicious commit on the fork of the repo. As you can see from the commit the GitHub Actions configuration installs ngrok on the server, enables firewall access to...

Interesting attack vector. Doubt it's happened to the ducky, but it's something to be aware of. I know everything here gets a thorough review, so I doubt anything would go through, but... keep an eye open.
 
I did see but didn't read.
 
Seems that it's mostly a GH issue that they're now well aware of. It actually impacts their build servers, not anything to do with the project at hand, so it won't impact RD at all. Still, though, just something to be aware of and report if noted, it seems.
 
interesting
This is the reason why Gitlab takes the CI config (build script) from the main branch, not from the one to be merged. — Bergi yesterday
 
Yeah, saw that. Didn't read the whole thing in full detail, but if that's the case, I'm not sure how this would work at all unless someone PRd a build script and it wasn't carefully reviewed before being accepted into master. Then it would kick off on the next build.
 
CI builds the branch too
 
3:05 PM
@MathieuGuindon question about tB -- was the This pattern necessary only because VBA intellisense sucks? If VSC intellisense is more intelligent and lists the private module variables, do we still need the This pattern?
 
it's actually the case-insensitive nature of the language that makes it nice: you can have a Foo property with a Foo backing field. Without it, Foo property needs some mFoo backing field.
I just hate prefixes (*says the guy that prefixed an underscore to every single private field he wrote in C# in the last, oh, decade or so)
if we could have a foo field for a Foo property, it wouldn't be necessary
 
Right we do want to get away from the bastardized Hungarian notation, too.
 
I too hate prefixes, but you can pry my field underscore, interface I and generic param T prefixes from my cold, dead, IDE :-)
 
^ same
 
3:22 PM
Within VBA and in the absence of a 'this', I've resigned myself to mFoo as backing field for Foo because anything else is simply too hard to manage. For me, 'm' is to VBA what underscore is to C#.
 
Just curious. I get that the m prefix indicates backing field, but how did that become the standard?
Was it copied/borrowed from some other language where it was "macking field" instead? :)
 
Of course, in VBA, you can be more sophisticated than just using 'this' In my code I came to the conclusion that 'this' was perpetuating limitations in other languages and so spread my wings to use s and p type variables to encapsulate Private Type State and Private Type Properties
 
@FreeMan module scope
@Freeflow aren't properties encapsulating state?
 
ah. so a bastardized Hungarian. Though, TBF, that does seem to be more helpful as a reminder than s, i, l, etc...
 
@MathieuGuindon do I have this right? github.com/WaynePhillipsEA/twinbasic/issues/51
heh, I guess so :-)
 
3:37 PM
replying :)
 
@FreeMan rather than as a 'reminder', I only use it to avoid casing issues. The case insensitivity of VBA drives the use of some kind of prefixing ('this.' or 'm', or 'p')...for me, it is not so much a nod to Hungarian notation as it is a reliable mechanism for identifier collision avoidance.
 
posted
 
envisions a tB GH feed coming soon to a chat room near you
 
> where its hard-worked diagnostics and features get integrated into the [tB] compiler one by one
^ heh: for an example, see VS eating all of ReSharper's lunch, one morsel at a time...
but yeah, good point
 
@mansellan exactly what I had in mind
basically it's an architecture decision that Wayne alone can take; in order for extensions to provide static code analysis, IMO the built-in static code analysis should be implemented in an extension too (one that downloads as a dependency of the tB compiler extension)
@FreeMan webhooks are repository settings, unfortunately :)
 
3:48 PM
yep, will be interesting to see how he replies
 
@MathieuGuindon wasn't actually advocating for such a thing, just wouldn't have been surprised if it did. I guess that means it won't be happening.
 
I guess we could ask Wayne nicely
 
wasn't actually advocating for such a thing
 
lol but it would be a useful feed to have, as we're all already sold on tB
 
3:56 PM
oh wait, you were replying to FreeMan. Now I grok.
 
@MathieuGuindon "as we're all already sold on tB" No... really???
:)
s'pose I should probably take a look into it, too.
 
aside: it's pretty funny having to explain RD on that repo.. It's for the benefit of others of course - I'm pretty sure Wayne knows quite a bit about RD :-)
 
4:15 PM
@mansellan @M.Doerner @IvenBach FYI the R# licenses were renewed, there shouldn't be anything special to do on your side; LMK if it doesn't, I'll re-send you your keys
2
 
ty
 
@MathieuGuindon re s and p. I reserve (s) state for those things that are used internally to the object, or which arise as an intermediate state or support a property but which are not directly accessible as a property. There is no public access to s variables. all p variables are public properties. I find the distinction helpful, others may not.
 
^ so p for public and p for private? Oh, wait... :/
 
@MathieuGuindon Thx, it worked like a charm.
 
I feel like I should either PR something soon, or hand mine back... Not contributed in a looong time :-(
And tbh, I have a license through work anyway (and plan to be there for the forseeable) - if there's somebody else who could benefit...
 
4:30 PM
@mansellan Jul 24, 2020 :)
 
eesh... that's forever ago
 
JB's reply was like "so we gave you 5 last year but y'all only used 4, is 4 good for this year?"
 
scans issues list
 
hm, mine says Mar 02, 2020
(forever_ago)*2
 
Did you get 4 or 5?
 
4:33 PM
^didn't you just PR something last week?
 
@this you can have mine if you like, I'm already covered
 
I need to reinstall it, last year's VM doesn't exist anymore
in theory the RD license is strictly for working on RD; if you have another non-OSS R# active license, it's probably better to use that one
...which means I should probably be claiming a MVP license, and spare the RD license for someone else
...i.e. we got 4 but really just need 2 lol
 
Oh, and I also qualify for free JB for non-commercial because of my university too... license faq doesn't say whether that covers oss though
 
it should lol
 
4:43 PM
you'd think right
nothing more educational than oss!
 
JB: Y U NO USE R LICENSES??!
Me, looking at more free licenses than I can handle: ...
JB: HERE'S ANOTHER FREE LICENSE!
 
lol
 
@FreeMan ping me when you do. It’ll scare me into not wanting to be the sole duck not using it.
 
@IvenBach don't hold your breath. That kid o'yours needs you around.
 
As long as she has interwebs access she’s fine. It’s my elderly gma that needs assistance.</responsibility>
 
4:49 PM
kids these days...
 
i would like to reqeust a license key, please
 
@MathieuGuindon you can reassign mine if you like
 
@mansellan done!
@this done! (sent you an email)
 
Thanks! Now I can ®!
 
valid through 2022/03/29 :)
 
5:00 PM
?
 
Hhow does one Registered Trademark?
 
@FreeMan buy a Mac.
 
@this he musta left off a leading 1
huh?
 
@FreeMan on Mac it's alt + R => ®
 
oh...
 
5:02 PM
2020 -> 2022 #BrainFart
 
™ is alt + 2, ¢ is alt + 4 and so forth.
@MathieuGuindon now that makes more sense! would be worrying if JB was handling out expired licenses. ;-)
 
5:28 PM
I'm confused. What do y'all use R for? Don't you need JB for C#?
 
R# is JB's product
 
ReSharper
I know, that confused me for a second too.
 
Blar! I was thinking you were talking about R which is also a language the JB works with
 
@HackSlash that's for mature audience.
 
I want ReSharper but I can never justify the cost because I need it so sporadically.
In other news. I have been getting MSAccess.exe stuck running after the GUI is closed. Wasn't this the odd issue that RD might cause in some edge cases?
 
5:41 PM
the fix that we reverted helped avoid an AV under certain circumstances but in my case it was usually presented as Access crashing on exit
if you have RD open and hten compact & repair database, that usually crashes the instance.
there may be other way to cause an AV which may then make it a ghost process, though.
I'm sure you already know that VBA IDE is a beacon of rock solid stability.
 
@this Ah, so that is what it's called!
 
lol. It's pretty damn good for the herculean feat it's pulling off.
I really don't understand what you guys are doing. Dealing with the VBA IDE on such a low level must be bizarre.
 
6:11 PM
@mansellan @MathieuGuindon that’s very tweet worthy.
So much learned collaborating vampiring-knowledge-from the other ducks here.
 
 
2 hours later…
8:30 PM
ok reading SCREAMING_SNAKE_CASE just made my day.
 
aw, hell why did they have to chop the head off?!?
you dare to code in screaming snake case? Well, here's a picture that will forever traumatize and give you nightmares for the rest of your life!
 
^ pretty much
 
 
2 hours later…
11:03 PM
> And BTW, the addition of these new keywords can break existent code and backward compatibility. Some alternatives to consider:
RefOut
ByRefOut
OutRef
ffs
 
11:27 PM
It's a big assumption you have in your reply there...
 
[rubberduck-vba/Rubberduck]: 1319 stars vs. [decalage2/oletools]: 1509 stars
 

« first day (2506 days earlier)      last day (674 days later) »