« first day (1848 days earlier)      last day (1332 days later) » 

12:00 AM
@mansellan Is a solution to that a weekly cleanup to prevent it from getting that bad?
 
RELOAD!
[rubberduck-vba/Rubberduck] 1 opened issue. 17 issue comments.
[Minesweeper] Games Played: 91, Bombs Used: 49, Moves Performed: 11203, New Users: 15
 
@FreezePhoenix It would be, absolutely. But that would require managers and PMs that understand that code needs to be maintained, not just added-to. That's rare.
"It works, why do you want to change it?"
 
"Cus if i look at it a week later i won't have a clue what it does"
 
yeah, but all that means is that devs start padding their estimates. it gets slower and slower, and the managers have no clue why. till one day, more time gets spent fire-fighting than developing. cue the death march...
TBF, there's some recognition at my current gig. not enough, but still...
 
Could do a presentation. Get some respect. Solve the maintenance problem. 2 birds, 1 stone.
 
12:06 AM
we've just had a maintenance drive. which is good, because it happened. but bad, because there won't be appetite again for a while.
 
 
2 hours later…
1:45 AM
Public Sub LineContinuationsInBetweenMemberCalls()
    Debug.Print Application _
    .WorksheetFunction _
    .Proper( _
    Selection.Value2 _
    )
End Sub
^ #TIL. Checking with ducky and there aren't any inspections that come up. It feels like there should be some inspection alerting the user to this abuse of line continuation.
 
Mike Perry: Inside the Lines... omg
 
Who's that?
 
music. most recommended.
 
 
3 hours later…
5:05 AM
Any licensing concerns if R package compared to python used for data science purposes as I curious to use R tally up from a codebase for reporting and discovery. R is part of GPL 2 though and was discussed earlier when Chris dropped by. Just gather thoughts as I’m learning R on the side thanks to a free ebook discussing the basics...
My goal was to do a discovery from RD codebase to make a small list of variables and compare the effect of those variables over a timeline against a number of Github issues.
 
 
1 hour later…
6:22 AM
Night pond.</iven>
 
 
1 hour later…
7:29 AM
@PeterMTaylor you might want to look into GitHub Torrent for that
it's an open dataset around github metainformation
@PeterMTaylor The language itself being GPLv2 doesn't mean your code is GPLv2
you're not extending the language, you're using it
as such the code you write is licensable like code written in proprietary languages or languages without a copyleft clause
 
8:06 AM
Okay @Vogel612 I’ll include GHTorrent as I work with this very very slowly...
My PC is getting a great upgrade which in turn I’ll be able to get more involved very soon.
 
hai @Peilonrayz :)
 
Hey @Vogel612
 
8:47 AM
@IvanBach

I'm curious . Why is

Public Sub LineContinuationsInBetweenMemberCalls()
Debug.Print Application _
.WorksheetFunction _
.Proper( _
Selection.Value2 _
)
End Sub

an abuse of line continuation.

How about considering the reverse proposition, that there is an inspection for line length with the fix being the insertion of line continuation characters if a line is too long.

E.g a fix along the lines of

Public Sub LineContinuationsInBetweenMemberCalls()
Debug.Print Application.WorksheetFunction.Proper( Selection.Value2, Parameter2, Parameter3, Parameter4 )
 
 
2 hours later…
10:37 AM
> **Description**
I found your addin is quite awesome, but there are nearly nobody used this addin here in China.
If you will start to do it, i can help translate.
but i need you to tell me, which tool should i use, or which files should i translate.

and i guess the locale files are: RubberduckUI.resx, RubberduckUI.Designer.cs, Templates.resx, and many of the resx files in source code. am i right?
my email is loquat520@qq.com
 
11:05 AM
Hi folks. What is going on with VBA under the hood? My application went real slow.
I initialize every control on form as custom Class that has Events and other properties, methods but then when I click on that control, the load time (Combobox's roll out, selecting items) or OptionButton changing what Opt is selected in one group got slow.
When I don't initialize my custom control, it's fast
ElseIf TypeName(Ctrl) = "OptionButton" And IgnoreOpt = False Then
            Dim myOpt As clsUserOptionButtonNew
            Set myOpt = New clsUserOptionButtonNew
            myOpt.InitializeWithValues Ctrl, parentForm:=frm
            Set collUserControls(myOpt.collectionName) = myOpt
This is my Class
Option Explicit
'@Folder("Classes.Controls")

'@MemberAttribute VB_VarHelpID, -1
Private WithEvents pMyOptionButton As MSForms.OptionButton


'=======================================================================================
' TYPE DECLARATIONS
'=======================================================================================
Private this As TView
Private Type TView
    Ctrl As MSForms.OptionButton
    ctrlRawName As String
    parentForm As UserForm
    dict As Scripting.Dictionary
I noticed that when I comment out the ***"_MouseMove" event***, it is blazingly fast. But whatever I have in MouseMove, it just drastically slows the control.

(I want to show a special text within special textbox on the UserForm when my mouse is over a control. (each of them has it's own "help text"))
 
11:37 AM
@SonGokussj4 My speculation is that when your code is handling the _onMouseMove event, it's slowing your processing down because it has to call your code every time the mouse moves a pixel. I'm not sure if it's called for every pixel of movement, or just each group of moves, but I'd imagine it has to be for every pixel.
If it's not every pixel, how would your code know that the mouse has moved across the region of interest and should, therefore, trigger whatever it is you're after.
If you're going to do _onMouseMove, it should probably be some very small, very tight code because it's going to be called a lot.
@IvenBach You posted a series of git learning links a couple of weeks ago. I skiwied them, but didn't bookmark 'em, and now they're lost.
You mind reposting? I'll be sure to bookmark, not just open this time.
 
> I'm trying to add '@Description attributes to api declarations with conditional compilation, like this:

```
'@Description("API: Destination and Source can be byVal pointers or byRef variables, length is LenB(dataType)")
#If Win64 Then
Private Declare PtrSafe Sub CopyMemory Lib "kernel32.dll" Alias "RtlMoveMemory" (ByRef Destination As Any, ByRef Source As Any, ByVal length As Long)
#Else
Private Declare Sub CopyMemory Lib "kernel32.dll" Alias "RtlMoveMemory" (ByRef Destination
 
12:30 PM
@FreeMan not every pixel, no. I'm not sure exactly how fine the resolution is but the mouse move event does get missed if you swipe your mouse very quickly across narrow enough area.
 
@this Yeah. Because of this I can't depend on it to fire "onmouseNOTover" event... Vba is stupid in this way.
@FreeMan I get that. I just implemented geometrically faster way of showing informations I want so I will test that on my ComboBoxes, which were slow as hell. OptionButtons just got faster :-) I hope it is because of the immensive calling and not other "hidden" things.
@FreeMan I would gladly read that as well. Using Git every day but not master in any way. Just got used to creating branches and merging them into my next/master branch.
 
1:26 PM
> More translations are always welcome! Keep in mind that resources that aren't translated will appear in the fallback en-US language, so it's important to keep the translations up to date as more features and inspections are added.

You will need Visual Studio 2017 (Community Edition is free; also note, Rubberduck won't build in VS2019), and to do the French translations I use [ResXManager](https://marketplace.visualstudio.com/items?itemName=TomEnglert.ResXManager), which makes it easy to loc
 
@Duga FWIW, there's an open issue about having a wiki on how to get started on translating...
 
> Rubberduck is only seeing the "live" code (IIRC with whitespace in place of the "dead" code), so stuff around conditionally compiled code is always going to be a rough edge.

Does it work better if you put the annotation inside the conditionally compiled block?

```vb
#If Win64 Then
'@Description("API: Destination and Source can be byVal pointers or byRef variables, length is LenB(dataType)")
Private Declare PtrSafe Sub CopyMemory Lib "kernel32.dll" Alias "RtlMoveMemory" (ByRef
 
1:46 PM
> **Justification**
I use Rubberduck in a bigger ms access project and each refresh takes above 1 minute.

**Description**
It would be great if the refresh period could be shorter.

**Additional context**
I am currently working in Office 2010 environment with i7-5600U @ 2.60GHz and 12 GB RAM.

**Short Project Overview**
- 12 References
- 31 Modules
- 4 Classes
- 66 Reports
- 249 Forms
 
1:57 PM
@Duga ^
 
> I thought that might be the case. No, that change doesn't solve the problem; I'm getting errors in the log like this one:

```
2019-06-28 14:46:41.1293;ERROR-2.4.1.4694;Rubberduck.UI.Inspections.InspectionResultsViewModel;System.NullReferenceException: Object reference not set to an instance of an object.
at Rubberduck.Parsing.VBA.AttributesUpdater.AddAttribute(IRewriteSession rewriteSession, Declaration declaration, String attribute, IReadOnlyList`1 values) in C:\projects\rubberduck\Ru
> I will have to test this case. It might be that the attribute gets added outside the procedure, which would cause the VBE to ignore it.

Another possibility is that it gets added in the wrong branch of the conditional compilation.

I think part of tge problem is that we require annotations to be above the member and the VBE demands attributes to be inside or right below the member.
> I will have to test this case. It might be that the attribute gets added outside the procedure, which would cause the VBE to ignore it.

Another possibility is that it gets added in the wrong branch of the conditional compilation.

I think part of the problem is that we require annotations to be above the member and the VBE demands attributes to be inside or right below the member.
> Hm, looking at the stack trace, there is definitely a bug. I will have to find some time to look into this.
 
2:13 PM
@FreeMan ikr?
 
@FreeMan You know, the whole outfit he's wearing really sells it.
 
2:35 PM
0
Q: I'm reading all line of another sheet and I paste the value thats I want to the active sheet VBA

guenoonI have a program that read thousands of lines and return the value that I need. The problem is that request take a lot of time probably like 1min just to search and paste the value, even when I'm saving the code it takes a lot of time... I think it is around this line that the code is slow : If...

 
2:59 PM
> I'd be curious to see the trace-level logs for the initial parse and a subsequent refresh.

Some code constructs are inherently ambiguous and break the parser's SLL prediction mode; when that happens the entire module is reprocessed using the slower but more accurate LL prediction mode, and such occurrences would be in the trace-level logs.

For example, avoiding `foo!bar` bang notation can go a long way towards improving parser performance *across 350 modules*, among other things. Looking
 
3:58 PM
@this You ever notice he's wearing primary colors? Red, Yellow, Blue. That part of it.
@Freeflow It is more the continuation between the . access operator that don't feel right. I often use continuation between arguments. But never have I used it between an object and the .Foo method.
 
@IvenBach I use C#'s implicit line continuation a lot.
 
Seeing it in C#-landia is fine. For whatever reason seeing it in VBA-landia strikes me as #DontDoThat. Why? :shrug: It just doesn't feel right in VBA.
 
I don't know, line continuations at .'s and between parameters are equally fine, IMO.
 
I didn't open an actual issue for it since it felt more like a personal preference against it than an actual "sin" against the language.
 
the difference is that C# has explicit and mandatory statement terminators
 
4:06 PM
^ That's probably what the difference is for me then.
Duck check: For expression bodied method ` foo => { ... }` is there any performance hit for that as opposed to an explicit method?
 
@IvenBach Not unless it is used in a lazily evaluated scope.
 
@Vogel612 and FTR, T-SQL is in a something of a mess.
 
it's syntax sugar. The compiler transforms it to IL equivalent of a normal method, I assume
 
In fact, it might even be slightly faster, if it actually inlines it.
Although, IIRC, that can happen for normal methods too.
 
I need to re-read C# In Depth. Actually understanding will make a huge difference.
On a positive note I have filtering toggle buttons working in the Text Explorer. Need them to also filter on any name input now.
 
4:28 PM
@FreeMan remember to bookmark. If you Skiwi a tab you'll get it read within 2-3 hours. At worst by end of day. I still don't know how the real Skiwi does it with so many tabs open.
 
> **Rubberduck version information**
The info below can be copy-paste-completed from the first lines of Rubberduck's log or the About box:

Version 2.4.1.4742
OS: Microsoft Windows NT 10.0.18362.0, x64
Host Product: Microsoft Office 2013 x86
Host Version: 15.0.5115.1000
Host Executable: MSACCESS.EXE



**Description**
When I try to rename a Module or Class using the rubberduck.rename function access hangs / stops working and I've to kill the process. Though, the rename has worked.
S
 
Can I get some naming help, please?
I have a class for managing lots of things about Foo's.
Mostly CRUD operations.
It's currently named FooLogic but that doesn't fit nice.
Because then what do I call instances of it? logic?
Maybe a FooManager?
 
*Manager is where good names go to die.
 
LOL.
 
though I will confess I've been guility of that too many times. :(
 
4:35 PM
I can't just call it WidgetInstance.
Because that's the name of the data structure I'm manipulating.
 
a slightly less crappier but still crappy: *Handler
you could try *Command
 
Let's just say that will make all my coworkers think "mediator handler!" when they see that.
 
since it's basically doing CRUD so it's executing "commands"
 
Commands and queries.
 
yes, exactly. that's what I was thinking of
 
4:37 PM
Don't forget the R part :D
Ahhh, I have it.
FooTacticalHeadquarters.
 
lol
if you want to be shorter, FooWarRoom
 
That implies discussion :D
 
FooUser
too Tron-y
 
Or I could just call them all random names like OperationTinkerbell.
 
Operator?
a bit too out there, I think.
you could consider just saying FooCrudManager or FooCrud
at least you know what it's "managing" -- CRUDs.
 
4:41 PM
I fail to see how that's better than FooManager.
Oh.
 
> Rubberduck doesn't pop a success message, although that's a possible enhancement - it does kick off a reparse of the affected modules though. Is it possible to attach a log file? The spinning duckies are running on the UI thread, as is every COM member call (i.e. the actual renaming and writing of the affected modules) - it's possible the duckies freeze for a bit, but hanging the host process isn't expected indeed. Presumably the logs contain information about any error that might have occurre
 
@Hosch250 FooRepository then? FooDataService?
 
i like DataService
 
Me too.
I've seen enough "repository" stuff.
I don't like that pattern at all.
 
I like clean code.
 
4:49 PM
Or, I should say, I don't like that pattern implemented to wrap that pattern.
 
TDIF! Movie night again tonight and BBQ tomorrow. WHOO!
 
Just so you can "swap out the DB at some later date" when your code is so tightly tied to that system that you can't anyway.
 
TBH I never saw the appeal of "swap out the DB" anyway.
this only works if you want to use DB as a dumb data container but if you're... might as well use a NoSQL or heck, even a CSV file
 
Like, EF, for example.
 
ah, see, EF's not the answer.
 
4:51 PM
Our architects wrote a repository so we could swap it out.
 
:D
 
But EF is the repository around the DB in this case.
 
And we can't swap it out because we rely so heavily on linq-to-entities.
There's no plans to swap it out--it's just "so we can down the road if we want".
It's like they got the idea pounded into their head and implemented it, but don't understand it.
 
just for my education - isn't LINQ to Entities supposed to be DB-independent?
it's all C#, no?
 
4:57 PM
Should I include the ability to toggle off SpectacularFail?
 
@this It is DB independent.
Hence, I said EF is the repository pattern in this case.
And nothing else supplies the linq-to-entities, as far as I know.
And we couldn't swap our migration system over without downtime, so it's not happening.
Or, at least without disabling the force the DB to match the schema feature.
 
so in short, the inability to change dB is not related to the using of EF/LINQ to Entities
 
Correct.
We could change the DB.
We can't get away from EF, and their stupid repository implementations aren't going to help.
 
Gotcha
 
5:19 PM
my co-worker is a reddit head, or something like that
and linked me to some code some dude posted on github and linked to a topic(that i never really saw)
and holy crap these guys need to get over to SO
such bad code...
oh the sub is r/vba
but it should be called r/excelvba
based off stuff posted lol
 
> Version 2.4.1.4742
OS: Microsoft Windows NT 10.0.17134.0, x64
Host Product: Microsoft Office x86
Host Version: 16.0.11629.20246
Host Executable: POWERPNT.EXE

**Description**

RD Auto-completion doesn't put cursor within auto-completed double-quote when writing a Case statement in a Select Case construct.

**To Reproduce**
Steps to reproduce the behavior:
1.Type: Case=
2. Add the first double-quote: Case="
3. VBIDE converts it to: Case Is ="
4. RD adds the closing double-quote
 
5:42 PM
@IvenBach What's with the little reddit-dude icon?
 
@FreeMan That's a watch, presumably for pending.
 
puts on old-man reading glasses, peers intently It is?
 
It's really hard to see since the hands are so small.
It's definitely not the reddit guy, though.
That is like a red blob with little sticks coming off.
Like you just smashed a bug, or osmething.
 
I'll take your word for it.
 
5:58 PM
Talking about reddit, I read a hilarious story on the military stories channel yesterday.
About these guys doing op force, and they were getting beat up by the main force.
The NCOs were all dead, but one yelled from beyond the grave "It's your team now".
At that, one of the guys who was kind of known for not being too bright, leapt from cover and charged the vehicles the other team was in.
He climbed on top of one of the vehicles and disabled the gun.
When the other vehicles dropped their ramps to let the infantry out, he used the gun against them (they story said their MILES gear rang out like satan just got married), then pretend-threw a grenade into the cab of the of the truck and won the fight.
The NCOs on the other team were furious, and his NCOs just lay where they were "killed" and laughed.
Then they grouped up and laughed themselves silly that night listening to everyone's version of the story.
 
@FreeMan Second icon is the SpectacularFail icon. I unlocked that one with some of my code. Don't know if I should be proud of that though.
 
6:15 PM
> **Justification**
Managing source code for VBA Projects is currently inelegant. Committing binaries to Git repositories prevents the use of diff tools, and manually exporting/importing modules is tedious and time consuming.

**Description**
* **Export**
The feature should allow the user to Export all modules in a specific VBA project to a specified folder on a per project basis. This will allow exporting directly into a Git repository. Additionally, the Exporter should be able to delete a
 
@IvenBach it's an achievement.
@Duga gotta admit, I like the idea of breaking the code into directories based on RD folder structure.
 
it does means the folder name needs to be handled
e.g. no =#/\%$ for a folder name.
RD's folder annotation does not restrict names beyond the separators themselves.
 
@Hosch250 lol.
 
and I hate it when they change folder names, too. @("Folder\1.Folder\2") => Folder_1\Folder_2 is not fun to discover. Best avoided, IMO.
 
what in the...
O_o
 
6:32 PM
> You'll be happy to know that bulk-export is already implemented, IIRC under Rubberduck/Tools/Export Active Project =)
 
@this True, but it makes it real easy to import Utilities into a new project.
 
@Duga D'oh
 
[rubberduck-vba/Rubberduck] IvenBach pushed 78 commits to issue4149_TestExplorerFilter (only showing some of them below)
Overhaul Busy, Unparsed and IsRefreshing in InspectionResultsViewModel

Fixes #4980
Minor performance improvements for InspectionResults View

Ignoring an inspection type no longer triggers a full reparse.
Grouping behaviour changes are in a defer-cycle to avoid a rerender without any grouping.
Move Resources into Toolbar ResourceDictionary

This clarifies which resources are used where.
[rubberduck-vba/Rubberduck] IvenBach pushed commit 41a7dcc6 to issue4149_TestExplorerFilter: Mark generated docs as ignored
[rubberduck-vba/Rubberduck] IvenBach pushed commit 315b352e to issue4149_TestExplorerFilter: Merge branch 'next' of github.com/rubberduck-vba/Rubberduck into Issue4149_TestExplorerFilter
[rubberduck-vba/Rubberduck] IvenBach pushed commit cbb7fd25 to issue4149_TestExplorerFilter: Correct collection type
[rubberduck-vba/Rubberduck] IvenBach pushed commit d5f051e8 to issue4149_TestExplorerFilter: Delete leftover testing cruft
[rubberduck-vba/Rubberduck] IvenBach pushed commit c02c17d5 to issue4149_TestExplorerFilter: Merge remote-tracking branch 'upstream/next' into issue4149_TestExplorerFilter
[rubberduck-vba/Rubberduck] IvenBach pushed commit f234fb94 to issue4149_TestExplorerFilter: Add filtering to TestExplorer
> Leveraging the folder annotations for bulk import/export is definitely in scope as well.
 
@FreeMan agreed
 
6:44 PM
Hrm. I'm trying to push to my remote repo and getting a regjected message. "Updates were rejected because the tip of your current branch is behind its remote counterpart". Thing is I've already git fetched and git merged confirming that it's up to date.
 
tried pull?
 
If ya can't push, pull!
 
exactly!
 
> # [Codecov](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/4956?src=pr&el=h1) Report
> Merging [#4956](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/4956?src=pr&el=desc) into [next](https://codecov.io/gh/rubberduck-vba/Rubberduck/commit/4f387a27228c881a76258dce1aba8f35c73ed847?src=pr&el=desc) will **decrease** coverage by `0.04%`.
> The diff coverage is `23.68%`.


```diff
@@ Coverage Diff @@
## next #4956 +/- ##
=======================
 
6:57 PM
Turns out to have been another of my struggles with #Words.
 
[rubberduck-vba/Rubberduck] build for commit f234fb94 on unknown branch: AppVeyor build failed
BUILD FAILURE!
 
local branch name was issue... remote was Issue...
:sigh:
@this Printed and proudly displayed on my wall. Thanks for the reminder.
 
lol
 
> This doesn't seem to be solved in the PermissiveAssert class (still failing rather than inconclusive). At any rate, for that I think the test result should be passed to reflect what VBA does.
 
7:20 PM
[rubberduck-vba/Rubberduck] build for commit 0525de37 on unknown branch: AppVeyor build failed
BUILD FAILURE!
 
7:49 PM
@this Suppose I've got an endpoint.
And someone passes data in.
But that data doesn't meet a restraint (like the string property Foo is too long).
Would that be a valid use case for the 422 unprocessable entity response?
Or am I missing something?
 
I think you want 413?
 
Well, it might also be that there's missing data--the string has a length of 0.
271
A: REST response code for invalid data

Darrel Miller400 is the best choice in both cases. If you want to further clarify the error you can either change the Reason Phrase or include a body to explain the error. 412 - Precondition failed is used for conditional requests when using last-modified date and ETags. 403 - Forbidden is used when the se...

Hmmm, that suggests 422.
The context is, I have a bunch of JS validations.
But those can't always be trusted, so I'm putting them on my backend too.
 
would it be acceptable to just use 400, with additional details embedded in body?
 
But I don't want a constant back/forth between my client and my server, so the server will just reject the data if someone bypasses the JS.
Yeah, that would work.
 
the thing about 422 is it's listed for WebDAV which seems strange
 
7:55 PM
It's apparently an unofficial code, but is kind of becoming standard.
 
if we are going to be scratching our head what's a 422, others definitely is going to, I think.
I can see the case for 422, though. Would be nice to see how many others are using status like that.
 
ASP.NET has it as one of the built-in responses.
 
#TIL
 
TBH, I think I'll just use it. I don't really want to bother duplicating my error texts anyway, and trying to keep them in sync.
And 422 gives a bit of an additional hint, I think.
Come to think of it, that's what we're using on our current system for validation errors.
 
8:33 PM
> Consider that Charles Frederick, Duke of Holstein-Gottorp and the one that all Russian emperors after Catherine were descended from, would have been king of Sweden had his aunt not stolen the throne from him.
> The Holstein-Gottorp men had bad luck with women. Charles Fredrick son Peter the III of Russia was himself deposed and killed by his wife Catherine II, or Catherine the Great after only in power for 6 months.
LOL.
 
Beware of power hungry individuals.
 
9:23 PM
@Hosch250 seen that done, its a bad idea. and the second you expose IQueryable from the repository, you destroy any slight benefit it may have had.
 

« first day (1848 days earlier)      last day (1332 days later) »