« first day (2079 days earlier)      last day (1101 days later) » 

12:00 AM
RELOAD!
[Minesweeper] Games Played: 160, Bombs Used: 84, Moves Performed: 19848, New Users: 13
> # [Codecov](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5387?src=pr&el=h1) Report
> :exclamation: No coverage uploaded for pull request head (`SplitRefactorings@eb8dd7b`). [Click here to learn what that means](https://docs.codecov.io/docs/error-reference#section-missing-head-commit).
> The diff coverage is `n/a`.
RELOAD!
[rubberduck-vba/Rubberduck] 1 issues closed. 2 issues opened. 3 issue comments
[rubberduck-vba/Rubberduck] build for commit eb8dd7b3 on unknown branch: AppVeyor build failed
BUILD FAILURE!
 
12:15 AM
@Duga I have not seen that error before.
 
maven repository down
we should make that buildstep optional
I kicked AppVeyor for a retry
 
If it is still down, we will know in a few seconds.
 
seems like an intermediate failure
log is already advanced beyond that
 
uhm, why are we using Maven? Isn't that java unpleasantness?
 
I thought it was gradle, actually
it's for the Java port of RD's grammar
 
12:21 AM
yuck
 
yeap
we're using gradle, which gets the antlr4:antlr-runtime from the maven central repository
 
what I'm hearing is: Antlr needs a net port.
 
well, we have a build target which basically means ... there is one
well, at least one
 
12:34 AM
Keep in mind, though it's actually Sam's thing, not the official port
the official version is "compile your .NET classes by using java"
which is.... fun?
Because we use the uh.... what did they call that.... inline code thingee, there are few difference between the .NET's functions and Java's function... small things like Fd() vs fd() but enough to mess up the grammar files and prevent it from being compiled to the target language.
 
[rubberduck-vba/Rubberduck] build for commit eb8dd7b3 on unknown branch: AppVeyor build succeeded
 
@this Has nobody written language comprehension in .net? That'd be... disappointing.
 
> # [Codecov](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5387?src=pr&el=h1) Report
> Merging [#5387](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5387?src=pr&el=desc) into [next](https://codecov.io/gh/rubberduck-vba/Rubberduck/commit/dc732efef8fb3a7ced16e4af16e3257ed10fea11?src=pr&el=desc) will **increase** coverage by `0.14%`.
> The diff coverage is `87.98%`.


```diff
@@ Coverage Diff @@
## next #5387 +/- ##
=========================
[rubberduck-vba/Rubberduck] build for commit eb8dd7b3 on unknown branch: 87.98% of diff hit (target 60%)
 
@mansellan JetBrains basically implemented their own parser++ when they did R# - that was pre-Roslyn though
 
Not sure what is a "language comprehension" exactly.
 
12:43 AM
And Rosyln is C# and (grudingly?) VB.Net only...
 
ANTLR targets several more languages
I think there's even a JavaScript target
eeeewww
 
@this I just meant lexing and parsing, building trees. I assume that's what RD does at it's core, been too scared to look!
 
I think that's basically Roslyn
 
@this Sure, but ANTLR is implemented in Java right?
 
Yes.
 
12:47 AM
So that's what I meant - ANTLR is unique to Java, there's nothing similar in .net?
 
not AFAIK; unless you count Sam's port
 
:-(
 
Consider, however, that ANTLR is basically a university research project
(at least I think it is)
so they do update it with the latest optimizations at the algorithm level, and then pass it onto other languages via the build targets.
 
Kudos
 
Had our grammar files not need those inline code thingees, we theoretically could target JavaScript for our VBA grammar
meaning, transpiling would be possible. At least for purely algorithmic VBA
 
12:50 AM
I feel pretty ignorant now. I should try and learn.
Until now: parsing => magic that quackheads sort out.
 
All you really have to adjust is the VbaBaseParser.
Some time ago somebody came along and extracted all the stuff for the semantic predicates into a base class.
He wanted to use the grammar to target Java, IIRC.
And our grammar seems to be the best one for VBA out there atm.
 
ah "semantic predicate" was the term I was trying to remember. yes, that.
and I think he was actually working with VB6, not VBA
 
I can read the grammar, and understand that it's strictly prioritised. I have zero clue how that actually translates into a parsing run though.
"semantic predicate": a choice based on meaning?
 
Some predicate that evaluated and disables an alternative in a rule if the result is false.
 
Ah!
 
1:01 AM
And yes, the literal translation actually hits the point.
You can deactivate alternatives based on semantic, i.e. on non-syntactic information.
 
 
2 hours later…
3:11 AM
@this so i set up the interface/class structure in a separate project exactly as I'm intending to have it with the reflection and it worked perfectly
Base<T> : IBase<T> then List : Base<int>, IList
where IList is the same as IBase<int> effectively
so without a doubt the issue is with the reflection emit somewhere
specifically, i would assume, either with how I'm cloning the properties from IBase<T> to IListor with how I'm emitting the blank constructor for List
 
 
7 hours later…
10:21 AM
Have you literally called it IList?
That would be a bit odd since the standard library also has an IList interface.
 
 
1 hour later…
 
2 hours later…
1:30 PM
@this they'd have a fleet of trucks that hadn't had an oil change in 750k miles
maybe that's why Outlook crashes when you try to dragondrop an attachment to Win Explorer
 
1:54 PM
@FreeMan lol, dragondrop
I AM GOING TO DROP THIS DRAGON!
 
It's a pretty crappy situation
 
not sure i've ever had outlook crash when pulling files to local explorer window, but it was crashing regularly if i used the explorer tool via sharepoint... so forced to drag to desktop before dropping onto sharepoint
 
DnD w/ Outlook is borken
we had a customer who wanted to DnD their folder into our managed folder and it wouldn't work unless they DnD'd to the desktop then to our managed folder.
So, yeah, "dragon drop" sounds right.
@FreeMan could it even stay running? I want to say no...
 
2:14 PM
eh... possibly. I've heard stories and rumors of people who have never changed the oil in their car. 30, 40, 50k miles...
750K? I dunno...
 
Yes I'm sure you can go much longer than the recommendation on the same oil, and 50K seems possible, albeit surprising.
That said, I've also heard stories where when they finally change the oil, they actually have more problems
Which is more likely a direct result of the engine getting so pitted by the gunky old oil that when you put in fresh oil, it's basically leaking everywhere.
 
yeah. Not recommended procedure.
Of course, you get the oil change places screaming every 3000 miles or your car will explode and the owner's manual indicating 5-10k miles. I had an '86 Porsche 944 - the manual said 10k miles or 6 months. And that was on good ol' dino-juice, not synthetic.
 
@FreeMan Doesn't stop them from claiming that oil change is a racket based on the anecdotes like those.
@FreeMan That's impressive for a '86. AIUI, newer cars that uses synthetic are now capable of lasting much longer than the usual 3K/3 months formula.
 
2:32 PM
@this it is a monster, and yes i have the same issue as your client (as do many people i know in and outside of my current organization, spanning across winxp, win7, begrudgingly win8, and win10)
 
@this I think a lot of it depends on engineering tolerances. As I understand it, tighter tolerances actually need less oil. Tighter tolerances allow less to slip past rings and other seals, therefore using less oil.
Also, higher precision machining leads to fewer metal-on-metal mismatches leading to less contamination of the oil.
 
Make sense.
 
Older cars needed 3k or more miles to break in when new because the engines were sloppy and you needed to change the oil frequently (1k miles or so) to clean out the junk that was quickly wearing off the poorly machined surfaces.
 
Somethign to keep in mind for the oil and lubrication aspect, particular to diesel engines, before 2010 is was legal to have sulfur in the formulation (banned in 2010 in all countries but Saudi Arabia, and their goal was removal by 2013-15). Sulfur acts as a lubricant. In addition to the inherent lubricant within the fuel, many, many additives are added to the oil for high-impact engines, e.g., semi tractor or train, to provide additional lubrication and removal of moisture, which
add to the lifetime of the existing oil. Soem of the older semi cabs don't typically get oil changes for ~75k miles, because they eat the oil and "new" oil is added at intervals, rather than changing.
So very strategic choice of words "we don't change our oil" does not mean "we don't put in new oil"
 
Of course, Porsche was (and more-or-less still is) known for their engineering, so it stands to reason that they were ensuring that things went out the door just right, as opposed to the "don't buy a car built on Wednesday" mentality of many of the US manufacturers
@Cyril yeah, I've known many people driving old beaters that never change the oil - they just keep topping it up 'cause it burns off quite quickly.
 
2:38 PM
The 2-stroke dream... add oil to your fuel. lol
 
OTOH, some mfgrs (I'm lookin' at you, VW) have rather long oil change intervals that are rather too long.
 
Funny because in general, 2 strokes is much less efficient compared to 4 strokes and more pollutiony
@FreeMan that's kind of backwards compared to others who will swear that your car'll explode if it goes one mile over the recommendation.
 
the longest i've seen a car go without needing a full cleaning of oil (car motors don't typically use the same materials as semi/etc., which are intended to take more of a beating, so the chips/shaving from metal-on-metal is IN the oil, making things worse) was 35k miles. We used a magnet in the oil after and found about half a pound of shit in a 4-cylinder engine
 
The VW 2.0 turbo FSI engine used from around '04 to '07 had a recommended oil change interval of 10k miles. However, dealerships would tell you that it was "common and expected" for them to consume about 1 qt. of oil every 1k miles. When you only put in 5.2 qts at an oil change, then do the math...
I have no idea how that worked out, but I've ready many stories on vwvortex about it. Basically the recommendation there was change it every 5k and check/top-up every time you get gas.
 
i have only once in my life, and it's from a video, seen an angine go to 80k miles without an oil change, and that engine seized. the oil was tacky and near solid, and the amount of metal in the box was ridiculous. it was a diesel car, so had "other" lubricants that aided it get that far, but still should not have made it past 50k miles without "routine maintenance" which would have included an oil change
 
2:42 PM
oh well. That car blew up when the kids failed the "top up" portion of that test.
TTGBTW
 
yeah, the math on that sounds a little wonky. the last VW engine I saw (not the 2.0 turbo, but was a turbo) had listed in the manual as "required servicing" at 10.000 km, and recommended changing the oil every 2.500 km, to ensure the engine would be "live to be 50". btw, translations from german to english for user manuals are pretty hysterical
man, trying to jog my memory... i think it was a '98 6 cylinder volvo stationwagon, so 2.8 L? they used the vw diesel engines (might still do that) because of licensing
 
3:07 PM
weird... since being here, my monthly 1:1 with my boss has always been a quick run-down of the tasks on the list.
I have always thought that it would be like a mini-annual review - "this is what's good, that's where you need to work on improving".
Maybe it's 'cause I'm the lone-ranger IT guy and they really have no idea what I do. So long as the reports come out on time and are accurate, all is good...
 
you could try something new - tell your boss how he's doing as your boss and go over a rundown of his supervising of you.
:D
 
that's true. Of course, she might be offended if I call her "him". ;)
And, actually, I did that last month... Didn't complain about the boss in particular, but the lack of communication in general. It's been a smidge better in the past 30 days!
 
3:25 PM
facepalm
English needs a gender neuter pronoun. (sorry, singular "they" is just too weird AF. I'm rooting for "one", in spite that there's a silly grammar rule that "one" can't be used with any other pronouns except "oneself" but meh)
 
> singular "they" is just too weird
^ 100%!! go Monica!
 
"them"
tell them about it
@FreeMan i can't see that name without thinking of lewinski
 
them is plural. You, @cyril, are not a "them"
 
Remember, kids, there's no "I" in "them"!
 
@this no worries. She'd actually probably just laugh.
@this or "they"!
But there is an "I" in @this!!
 
3:28 PM
@FreeMan surprisingly, it falls into the same linguistic structure as "singular they"... "tell them" which them? that person.
had to check merriam webster about it to verify (them counts!)
 
But the implication is usually that you don't want to specify who (singular or plural)
 
I don't buy into the "singular they", so...
 
there's also shit in this!
 
e.g. "they said so." could very well be "my boss said so" or "my board said so"
@Cyril LMAO
 
'least til he goes to the head
 
3:30 PM
Why does one go to the head, though? Don't you want it to go down, not up?
(FWIW, I understand that "the head" is actually more of a nautical term. Not likely to be used on land)
 
this just reminded me of the joke regarding sparta and rome... "rome invented subtext" stated the spartans... because you can't spell subtext without buttsex
is there a way to put a spoiler tag in this chat? i know that's not exactly PC and work-appropriate
would be helpful for the future, at least
@this "Filling one with hot air" would go to the head, lifting them up to a position about their current status/stature.
i have always assumed the phrase arose around the time of hot air balloons, but never looked into it...
 
Actually, I understood it originated because you used to go to the bow of the ship, aka the head.
 
oh, referring to using "the head"
was thinking about "go to one's head", and i'm having trouble finding something specific to that
idioms.thefreedictionary.com/go+to+one%27s+head is about all i can find... will not copy-paste the sentence from there because it uses a specific word which is highly NSFW
agatha christie is sited with the idiom "go to one's head" in 1939
@this omfg, just realized i read your text wrong... that's why i was stuck on "go to one's head" instead of "go to the head"... are we sure it isn't Monday?
 
Thursday Friday is Monday reloaded.
FML
 
3:56 PM
Friday-Monday-re-Loaded... sure
 
4:11 PM
@Cyril not a polite term by any means, but it's used in an historically accurate manner. And not nearly the NSFW direction I thought you were headed.
 
-1
Q: Good coding practices using VBA

ChangeWorldSince I'm new at this site I will try to start with something very simple. I'm making an "Automatic insert" in a Excel Spreadsheet and my code is working correctly, but I'm not so sure about my way of coding, so I would like to post it here and see if someone is going to help me with. Here is m...

 
Oh my. Just saw the quotation from the book. Did not realize it was the same woman
 
Wow. that's... some pretty amazing stats on her books!
 
> If I understood what "naive" meant, I might be offender'd.
 
We don't use no fancy accents around here, see?
 
4:40 PM
@this nice; had never seen that comic
@Peilonrayz "did she just call us 'knaves'? "
 
4:55 PM
@IvenBach so does XKCD:
 
5:39 PM
Yeah, I saw that. shudder If he updates the post to include that, then he'll get all that roasted outta him on the review. It'll be OK so long as he takes it as a learning experience
 
interesting response, nonetheless
"please view this link and revise" ignores what is posted "i should do X?"
 
@ChangeWorld Please follow K00lman's instructions. It seems I wasn't quite clear enough. You've got to give us something to work with in order to write a review for you. Otherwise, we're left guessing and we could guess wrong. Since a good review can take hours for someone to write up, it's considerate of the asker to give as much info as possible so as to not waste the reviewers time doing the wrong thing. — FreeMan 13 secs ago
and it doesn't mean that I'll come back later to review, either...
 
lol, but you'll get tagged for life ~_* especially in 3 days when they come back to look at the responses "i tried implementing, now this doesn't work"
 
Won't happen. We eat plenty of garlic with our stakes.
 
6:11 PM
@Cyril not sure I ever worked properly.
@IvenBach uh, how do you even chew stakes?!? That sounds.... fibrous.
 
mumble :shrug: ask the I-Need-Halpz-Vampires.
 
6:37 PM
@this guess who learned a valuable lesson about not being lazy with function overloads
i went back and noticed that TypeBuilder.DefineMethod and TypeBuilder.DefineProperty had versions with a much more "complete" set of parameters than the ones I was using
so i decided to use those instead
took the time to make sure i properly extracted the value for everything from the method/property being copied before invoking the Define method
and boom, problem gone literally the first time i ran the code
 
Nice!
 
That is why it pays to be explicit especially when doing something new
overloads are cool when you know what you're doing but for first time, it might not be what you think it would do
 
well that is why i just went with the basic version
having more parameters confused me
CallingConventions and RequiredCustomModifiers were dumbass smile
so i just ignored them
but now i learned not to :)
 
as I said before -- the good news is that the computer does exactly what you tell it to do... but the bad news is that the computer does exactly what you tell it to do.
3
Common sense is just... not there.
 
6:46 PM
@this that is where you, the programmer, add your real value!
except common sense and humans not always such the guarantee
 
IKR?
 
that is why we have our rubber duck i guess
anyways ty for the help yesterday narrowing the problem down
i did kinda know exactly where to look, as i said last night, because of that
 
:+1:
 
you deserve :+10: for all your help imo
 
just pay it forward. :)
 
6:50 PM
always
well hopefully what im making will be useful for a lot of people using vba
i can now basically wrap any generic .Net data structure I want easily
 
Sweet!
 
well except for the dictionary
i actually did want to ask you about that
it complicates things having two generic parameters instead of one
since that moves the number of classes from 10 or so to 100
it makes sense to have IntegerList and SingleList and StringList etc
but not like IntegerSingleDictionary and StringIntegerDictionary and every permutation of that
is it maybe just not worth worrying about that since Scripting.Dictionary seems to be considered pretty good
i could also have that one work through a factory instead of directly newing the class like a native data structure of course
idk what makes sense
 
Why would you need anything other than <string, object>
I guess what you actually want is just <string, T>
e.g. generalize only the value parameter but use strings as keys by convention.
 
coughs while trying to hide the numerous times he's put non strings in dictionary keys :)
 
you know that practically anything can be cast to strings, right?
 
6:57 PM
yes that is why vba is a beautiful language
but i meant objects lol
 
as keys?
 
but learned that is because I was using a dictionary as a hashset
^
like i wanted to store unique things and have the .Exists
 
confused I don't follow how would using objects as keys work...
 
all the values were irrelevant
 
oooh
 
6:58 PM
aka i was using it as a hashset
 
yeah, you don't want a dictionary for that.
right now I follow.
 
well you do because there is nothing else in VBA that has that functionality
 
For the real use of dictionary, I don't think you really need anything other than string; otherwise it get fugly in VBA's calling code.
 
but once I realized what I was actually doing I made sure to include HashSet<T> in the list of .NET structures to wrap :)
 
for the hashset scenario, you can just expose a data structure with only T
 
yep
 
okay so then I can just call it integerdictionary etc like the other structures because the string is assumed
that makes a lot of sense ty
one of those things where your statement about thinking in the idiom of the target language applies i would say
now that i think about it
 
7:43 PM
 
 
2 hours later…
9:23 PM
Climate Change research (on both sides) do it all the time <G>
 
9:45 PM
I wonder if a request to add Option Explicit to every code example on the VBA repository would go over well...
 
@this .GetHashCode() gets involved, and then that's what the key is
 
@IvenBach Sure would be a positive thing to have happen... <G>
 
9:59 PM
@SmileyFtW there's kinda ... no "both sides" in climate change research, actually..
 
^tru dat
"all positions"?
 
10:11 PM
#TIL: The number format displayed in the formula bar is determined by the regional preferences.
 
@MathieuGuindon yeah true. Still, feels a bit too loosey-goosey.
"what object?" "this"
"no, not this. That."
 

« first day (2079 days earlier)      last day (1101 days later) »