« first day (2330 days earlier)      last day (850 days later) » 

12:01 AM
RELOAD!
[rubberduck-vba/Rubberduck] 1 issue comment.
[Zomis/Games] 2 commits. 2 closed issues. 16 additions. 13 deletions.
[Minesweeper] Games Played: 115, Bombs Used: 72, Moves Performed: 17063, New Users: 10
 
12:34 AM
> I'm willing to wade through this one. Initially perusing RubberduckUI.resx and ToDoExplorerUI.resx I see duplicates. I know my lizard brained Ctrl+F search is sub-optimal. What's the best/preferred/easiest way to do this?
 
 
1:00 AM
@Duga @IvenBach I would probably look at this super duper software everyone uses... it's a great database, I hear and so easy to use. It's on the tip of my fingers.... Expel? Excess? Except?
 
1:12 AM
@this Excrete?
 
@this so copy pasta all resx filed into an excel spreadsheet and ninja data it up?
 
1:29 AM
my thiking is that you'd Find All Usages, put in Excel, then cross-ref overlaps
I quickly googled to see if there was a thing like Find All Usages for a bunch of keywords but alas that doesn't seems to be a thing.
@mansellan maybe... it sounds vaguely but distinctly familiar....
If I could only remember the name...
Excite?
mumbles mumbles, wanders off aimlessly
 
Shouldn’t be too sinful. I’ve done far worse things in Excel.
@this Exclude?
They did that with COVID cases.
 
Expel excess excrete, expect excite except excel. totally not overreaching
 
 
2 hours later…
3:43 AM
[rubberduck-vba/Rubberduck] build for commit f34054f0 on unknown branch: AppVeyor build succeeded
 
 
2 hours later…
6:04 AM
> Closes #5564 This enables the ability to add user-defined templates and have it appear up in Rubberduck's code explorer. Right now, there is no UI for editing nor macros to use (see #4549 for details). Nonetheless, anyone now can create a custom .rdt files and even get custom caption & description to show up in the code explorer. Here's a screenshot showing how it is setup: !image
 
6:24 AM
[rubberduck-vba/Rubberduck] build for commit defb7b8c on unknown branch: AppVeyor build succeeded
 
 
9 hours later…
3:46 PM
Is there a way to get the project currently selected in the Project Explorer from the VBEAPI?
 
VBIDE.ActiveVBProject?
 
Ok, I will try that. I just was not sure whether this really refers to the project explorer. For components, there seems to be a separate SelectedVBComponent.
 
there is also a ActiveVBcomponent, I bleieve
No, either ActiveCodePane or ActiveWindow
 
Ah, right. There is no active component.
#ConsistentNaming
 
now that reminds me. I think ComIntern implemented something in the VBEditor project to keep track of windows to the code panes
since you can't look up the code module or component from the window using native VBIDE API.
 
3:51 PM
Yes, he did and we use it.
 
so i guess that would be the best way to find the active component.
 
Well, you can just use the route vie the ActiveCodePane to get that.
 
that would not work if you have a designer instead of code pane, I think?
 
The problem he solved was that the VBIDE API does not tell us which code pane a window corresponds to and the other way around.
Yes, designers are different.
Anyway, I really want the project I just right-clicked on in the project explorer.
If I ask for the ActiveProject in a command, should I make it a ComCommand?
 
yes
anytime you go through any kind of safe com wrapper, it has to be comcommand
 
 
2 hours later…
6:28 PM
It's unclear from your code, but apparently you expect Range("a" & irow) to come from mySheet, and the other Ranges from the sheet called Summary. Because you never expressed that intention, it does not happen. — GSerg 33 secs ago
If only code did what the coder intended and never bothered to express lol
 
6:40 PM
If only... I'd never write a bug!
 
@FreeMan so you write undocumented features, then?
 
er, um, yeah... that's what I meant!
 
Sure Jan Freeman.
:-p
 
Yeah, my wife... Morgan Fairchild...
 
 
2 hours later…
8:24 PM
> I'm not a lawyer, but I wonder if section 9 is adequate. Licenses are not just for obligations, but also for rights. At it's simplest, one can look at the MIT license, which is basically just a confirmation of assumed rights, a copyright notice, and a "No Warranties" section:

```
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without lim
> > Section 9 is rather explicit:
>
> > Acceptance Not Required for Having Copies.

An expensive lawyer would argue that "having a copy" is different from "using"...
> > Section 9 is rather explicit:
>
> > Acceptance Not Required for Having Copies.

An expensive lawyer might argue that "having a copy" is different from "using"...
> I'm not a lawyer, but I wonder if section 9 is adequate. Licenses are not just for obligations, but also for rights. At it's simplest, one can look at the MIT license, which is basically just a confirmation of assumed rights, a copyright notice, and a "No Warranties" section:

```
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without lim
> That's why I edited the proposal EULA in the PR #5586 to deal with those pigheads. Still, I can re-incorporate the warranty section in its entirety to cover all points.
> Sorry I didn't see you had an open PR. I think we at least need a "no warranties" section before the parody begins (and I love the parody).

Shouldn't be necessary, but these are the times we live in...
> Tbf, my lawyer (not expensive) would argue that my commits were made before (_a long time before...) any license change :-)
> Tbf, my lawyer (not expensive) would argue that my commits were made before (a long time before...) any license change :-)
> Frankly I think it's a losing proposition to try and sue a bunch of clowns who shared some code for free on some code sharing repository. Grant them the best case -- they win the lawsuit! Yay! What damages can they get? uh... I have 4 pennies, a button, and some lint? What about you?
 
8:41 PM
@Duga I've got 5 pennies.
Reading this thread is much more exciting than (attempting to) work
 
> Well yes of course, but these are strange times. People have sucessfully sued for being scalded by a fast food coffee...

I think it's possible to do it and still keep the comedy flow. Something like:

"Don't assume this is bug free. We're volunteers, doing this for free for the good of mankind. Officially: <no warranties section>. That's all you need to agree to, nothing that follows is legally enforceable, and is just for giggles: <parody>"

Am I being too paranoid?
> Well yes of course, but these are strange times. People have sucessfully sued for being scalded by a fast food coffee...

I think it's possible to do it and still keep the comedy flow. Something like:

"Don't assume this is bug free. We're volunteers, doing this for free for the good of mankind. Officially: (no warranties section). That's all you need to agree to, nothing that follows is legally enforceable, and is just for giggles: (parody)"

Am I being too paranoid?
 
hmm ... on one hand it's kinda funny, on the other ... do we really want to have a joke EULA?
 
@Vogel612 i'd be OK with it as long as it doesn't cause any real problem
 
> There are sections in the parody that I think ARE legally enforcable, one being the section about that GPL takes precedence over anything else in the EULA where it's in conflict. The "no warranty" is most likely enforceable. And that is the case even if it's a parody. The original version said it was not a legal document, which would have invalidated those sections. The current version now says it could be a legal document, soo...
 
my legal chops are straight up not good enough to deal with that
 
8:50 PM
Leave it to lawyers to suck the fun and joy out of everything.
 
@this you might need to define who "Teh Duck" is
 
Has the GPL ever been in court?
 
yes several times
 
> Intuition tells me it might be safer to have a real section (short), followed by an parody section.
> Intuition tells me it might be safer to have a real section (short), followed by a parody section.
 
@Duga Feels like all the joy is being sucked out of the joke, but these are just our musings. It would still be an awesome easter egg (if safe).
 
8:56 PM
> There are two things I definitely want to be part of the EULA, no matter whether there is some parody in it or not:

1. A very clear and all-encompassing no-warranties clause akin to the one from the MIT license.
2. A severability clause

I might be a bit paranoid, but I really do not want to get into the position that I have to give away my personal money because, say, somebody used RD on an important large legacy program, some of the attributes in the program vanish and the company requ
 
lol... GNU Emacs was violating GPL for two years
 
9:10 PM
@Duga I can juggle but that does not make me a clown.
I nearly resent that remark :p
It is quite sad these things have to be thought of though...
 
Chances of getting sued for contributing to RD? < 0.00000000001% at a guess. But it would suck to get struck by the meteor.
(unless someone managed to get malware past PR, seems unlikely...)
Actually, a more likely scenario might be a creds breach and an attempt to hold the project liable.
@MathieuGuindon we do have strong passwords right? ;-)
 
2FA enabled?
 
9:33 PM
not sure breach changes anything if we have the no warranty section. it's presumed that if you are using FOSS, you generally are the one responsible for making sure it's fit for your needs.
 
@this IIUC that's a grey area, and bear in mind there are potentially global jurisdictions involved. Otherwise, there's be no MIT..
 
is MIT an EULA?
 
yup
 
How many average judges understand FOSS conventions? And how many of those give the conventions legal weight?
 
hmm. seems shortsighted of FSF that GPL isn't an EULA
 
9:38 PM
^
 
but it is an EULA
 
users have obligations too
 
The SO Mat linked said otherwise?
 
like, the obligation not to sue for innocent mistakes
 
that's the indemification clause (which is in there)
 
9:39 PM
@this Ask three lawyers for their opinion, you'll get eleven opinions...
 
IKR?
"hey, how do you suck an egg?"
 
I'll take a proper look at your PR over the weekend, it's the end of a long week (booked tomorrow off).
@this how?
 
@mansellan "well, it depends on how you define "suck" and "egg"...." rambles on about precedents and a bajillion citations
 
lol
 
Completely different topic: is there a good reason why we reuse com menu items between menus?
 
9:46 PM
Example?
 
Or that the menu items know about their display order?
 
isn't that to work with VBIDE which requires that information?
 
FindAllReferencesCommandMenuItem is used both in the project explorer context menu and the code pane context menu.
However, both have different contents and, thus, there are potentially two different display orders.
Actually, there is no ProjectExplorerContextMenuDisplayOrder enum at all.
All items use some unrelated enum for the display order.
 
i thought the enum was mainly for the use for vbide's menu
 
Oooh. Menu ordering is... suboptimal.
 
9:49 PM
E.g. the ProjectExplorerRefactorRenameCommandMenuItem uses RefactoringsMenuItemDisplayOrder.RenameIdentifier, which has nothing to do with the sole menu it is used in.
 
is the ordering even used?
 
IHO, if we want to have to order on the menu item, we should have one class per menu it is used in.
 
I'm wondering if the XAML is the one that governs the order, even if the RefacotringsMenuItemDisplay is specified on the menu item.
 
There is no XAML.
 
No. It all needs reworking. To solve for the general case though, you need to accept that menus in Office are reorderable by the end user.
 
9:51 PM
These are COM menus.
 
And the menu IDs are unreliable. It's almost like MS gave up beyond a certain version number.
 
The CE is a different matter. There, the order is externally defined by XAML or the view model.
 
Sorry yes, I thought you were tallking about COM.
 
I was, but @this mentioned XAML and I wanted to contrast the situations.
 
hmm there is no parent menu for a project explorer
there is one for refactoring, though
 
9:56 PM
Let's see what happens if I give the menu items some DisplayOrder not matching the injected position.
I think it is ProjectWindowContextParentMenu.
 
and that has no ordering defined
Refactoring parent menu does, though
 
All items use some other enum to define their DisplayOrder.
They either take it from the refactoring one or the code pane one.
 
If IIRC (it's been a while), the enums assume standard menu ordering. That's not a safe assumption, but I don't know what the solution might be.
Text matching? How does that localise? Can't use IDs, because they're unreliable...
HBD
 
am I correct in understanding that we are finding child commands via IoC here:
 
I think the only point where this is an issue is for inserting the main menus.
The children are hard-coded in the IoC.
 
10:09 PM
        private void RegisterRubberduckMenu(IWindsorContainer container)
        {
            if (!_addin.CommandBarLocations.TryGetValue(CommandBarSite.MenuBar, out var location))
            {
                return;
            }

            var controls = MainCommandBarControls(location.ParentId);
            var beforeIndex = FindRubberduckMenuInsertionIndex(controls, location.BeforeControlId);
            var menuItemTypes = RubberduckMenuItems();
            RegisterMenu<RubberduckParentMenu>(container, controls, beforeIndex, menuItemTypes);
right, RubberduckMenuItems explicitly enumerates the menu items to show in the Rubberduck menu.
not clear to me if the context menu in the project explorer uses the same Rubberduck menu, given that the menu there is not same as the one that we see via the main menu.
 
That is the one in the top menu, BTW.
 
Correct
 
        private void RegisterProjectExplorerContextMenu(IWindsorContainer container)
        {
            if (!_addin.CommandBarLocations.TryGetValue(CommandBarSite.ProjectExplorer, out var location))
            {
                return;
            }

            var controls = MainCommandBarControls(location.ParentId);
            var beforeIndex = FindRubberduckMenuInsertionIndex(controls, location.BeforeControlId);
            var menuItemTypes = ProjectWindowContextMenuItems();
            RegisterMenu<ProjectWindowContextParentMenu>(container, controls, beforeIndex, menuItemTypes);
 
Yep, and it assumes factory-fresh ordering. Lord only knows what happens if the user moves the anchor menu left, or right.
shrug
 
I thinkt hat's why we have FindRubberduckMenuInsertionIndex
I assume we do something similar for the other context menus like the one on the project explorer.
I really think the menus stuff should be in their own installer. It's not easy to find in the giant installer righ tnow
 
10:16 PM
@mansellan wasn't that an unsupported usecase for ... $time?
 
I can't recall the exact reason, but I do recall the last time I interacted with menu placement I thought: "Meh, good enough".
But I'm sure we haven't considered menu customisation. At all.
 
don't want to suport it anyway
 
that was my thought...
 
At least we do better than a lot of add-ins by inserting before the item with a specific id instead of using a hard-coded placement that collides with other add-ins.
 
It's interesting that the whole "menu reordering" thing was dropped from Visual Studio many years ago...
 
10:25 PM
@mansellan They saw what happened to eclipse and said "nope, not doing that."
 
@M.Doerner If you dump the Ids, you'll find tons of duplicates. Not at the top level, fortunately.
 
10:36 PM
But are there duplicates in the same sub-menu?
 
Yep, that's what I mean. Ids are meaningless below the top level, ignore them.
It was a nice idea, but MS gave up.
 

« first day (2330 days earlier)      last day (850 days later) »