« first day (2057 days earlier)      last day (1123 days later) » 

4:02 AM
the only thing im missing is interface type?
 
well, you do need the interface, plus all the attributes.
 
is an interface required?
or are you telling it the class is the interface with that?
 
[
        ComVisible(true),
        Guid(RubberduckGuid.IDeclarationGuid),
        InterfaceType(ComInterfaceType.InterfaceIsDual)
    ]
    public interface IDeclaration
    {
        [DispId(1)]
        string Name { get; }
        [DispId(2)]
        Accessibility Accessibility { get; }
        [DispId(3)]
        DeclarationType DeclarationType { get; }
        [DispId(4)]
        string TypeName { get; }
        [DispId(5)]
        bool IsArray { get; }
        [DispId(6)]
        Declaration ParentDeclaration { get; }
Interface is strongly recommended.
 
so i should add ClassInterface and ComDefaultInterface?
 
Hmm - fyi you don't actually need the EditorBrowsable(EditorBrowsableState.Always). Other attributes should be needed.
ComDefaultInterface isn't strictly required but #BeltsNSuspenders
 
4:05 AM
guid and progid are needed?
 
yes you should really really really specify them
they are a fundamental part of COM
when you use the build setting, it automatically makes one for you but then it's random and won't persist, which will be .... fun.
 
so just set that in the
application -> advanced assembly info
for guid at least?
 
you can use the guid tool via vs tools to generate new guid
and no, you need different GUIDs
the application's assembly GUID is used as a type library GUID.
You need guids for IIDs and CLSIDs
 
ok
so i set it
with that attribute
the RD code is referencing something else but can i just hardcode it there myself?
also i got it to work somewhat
 
yes it's ok to use hard-coded GUID.
in RD we wanted to keep a list of GUIDs in a single location, hence the reference rather than strings as normal
 
4:12 AM
ok sweet
yeah that makes sense for RD
i suppose i would do something similar if i did a substantial project
what is progid vs guid?
 
progid => identifiers for us poor little meatbags who can't remember what a big sequence of hexadecmials we ought to use.
so we can say CreateObject("Scripting.FileSystemObject") instead of CreateObject("<whatever CLSID it is>")
 
oh so guid has to be a hexadecimal
oh lol that is what is done with adding userform controls!
okay
 
it's just a representation. It's actually a 128 bit "integer" (or, 16-bytes)
 
how do i generate it?
 
it's in the VS' tool menu
 
4:16 AM
okay
i will implement this and get back
ty for the help :)
 
4:31 AM
okay
[ComVisible(true), ClassInterface(ClassInterfaceType.AutoDual),Guid("CA289E80-D302-49FB-89AB-CC7DBAB905B9"),ProgId("TestFunction")]
dont cringe at interface type, i know autodual is wrong @this
 
no, youd on'tw ant AutoDual -- lol
 
it worked the first time i did it lol
this time it threw a class not registered error
im assuming i actually want .None
 
pretty sure that's why we don't want AutoDual
Yes.
that put you in full control over how class gets registered.
 
okay but then i need another attribute that i wasnt understanding
in the rd code?
yeah it throws "class member not found"
 
what did you change?
 
4:35 AM
literally just AutoDual to None
 
did you define interface?
 
kappa
because i didnt know how of course
 
COM runs on interfaces internally. No interfaces, no COM object to play with.
 
got it
at least i understand interfaces conceptually
 
look at the RD page again - you just need to define the public-facing members in the interface.
 
4:37 AM
InterfaceType(ComInterfaceType.InterfaceIsDual)
just drop that on the class itself if i want to use it as the interface?
 
won't work because that can only be defined on interfaces, not classes
which is why you need the class to implement an interface. ;-)
 
what is the lowest effort way to do that :)
i mean like is there a built in one i can use
 
it'llb e customized to every COM object you create
look at the RD's IDeclaration interface - if you compare to the Declaration, you'll notice they have same method names & parameters
 
ok
that makes sense
 
e.g. public int Foo(string bar) { ... } in a class would be int Foo(string bar); in the interface
 
4:40 AM
let me make some edits to my code
oh well one quick thing - the DispId is that mandatory or no?
 
not strictly but recommended
please do note, though.
once you publish a DLL, and you need to publish a new version of the DLL, you cannot change any of the IIDs, CLSIDs or DispIDs.
that would be a breaking change.
 
that is how it keeps things consistent through version changes basically?
internally
 
yes
 
i will note that
thank you
interesting that VS doesnt autospace after comma in c#
 
autospacing happens when you type ; or }
 
4:48 AM
worked perfectly ty :)
edit
that is a lie
got class not registered
@this is that because commas are less important in c# syntax?
 
IDK; just is what it is.
 
that happens on the line i try to new an instance of the class
 
did you run regasm?
 
oh i need to run regasm even if
it shows up after just building?
 
i don't use the com interop via build setting. Too wonky.
 
4:52 AM
see i was not doing that
 
I just run regasm manually (this also can be done as part of build)
 
but then it wasn't showing up after regasm
ok i will try regasm manually
do i need the /tlb switch or no?
yeah i ran it and it does not show up in VBE Add References now
 
you do need the /tlb
usually do it with /tlb & /codebase
 
both after the path to the .dll?
 
and you're supposed to reference the generated .tlb file, not the .dll
yeah, convenient to have the .tlb in the same folder & same name as the .dll
 
4:58 AM
i dont need to include folder path for tlb name right? defaults to same directory?
it worked nvm
ty again for all the help
has made this so much less painful
btw after coding some in visual studio the VBE does feel so antiquated to use, even with RD
Your result is: 30. You indicated that you had a good time.
Your result is: 30. You indicated that you did not have a good time.
Now it does work perfectly.
@this Really, really appreciate the guidance. :)
 
yw!
 
I found Iven's xkcd.
 
 
3 hours later…
8:07 AM
0
Q: Trying to optimize VBA code to create worksheets

HoekPeterI am learning to clean my code and make it more efficient, however I'm having trouble with my code, because most of the post about the subject are specified to a given code. The code below looks like a lot, but it's the same step for different sheets (the code below is for two sheets, there are f...

 
 
2 hours later…
9:43 AM
@this bt;dt. subclassing in VBA is an express ticket to: "Huh?!? Where did Excel go???". No break mode, no crash dialog, just insta-gone.
@MathieuGuindon maybe try mind mapping if you haven't already
 
 
5 hours later…
2:37 PM
why do we have ;assembly= in only some of the XAML markup:
         xmlns:codeExplorer="clr-namespace:Rubberduck.Navigation.CodeExplorer"
         xmlns:controls="clr-namespace:Rubberduck.UI.Controls;assembly="
 
2:47 PM
I find it really annoying that errors I get with WPF designer don't concide with the errors I get when live testing.
 
3:06 PM
@Cyril Well, Kingston Trio/Woody Guthrie/Slim Dusty?
Folk/country. New country is ick.
Same for new rock. Skynyrd is OK, but pretty much everything else is horrid.
 
3:40 PM
woot! ETL completed successfully at 4:29AM!
 
since when?
 
2:15:01
looking at elapsed time for each step, I think I can shave off another 45 minutes
gosh, more than that even
 
so 2 hours & 15 mins.
 
Nice!
 
3:43 PM
:D
got a little scare this morning, was greeted with the dreaded "SSIS ETL Notification - Failure" email in my inbox
turns out it was just package parameterization being out of whack, I was writing the wrong EtlStart timestamp to some metadata table I'm using to determine what to send for a notification
 
4:06 PM
kingston trio is pretty solid
i do like my country gold
in general, i like music. my shuffle goes from pantera to hank III to gang starr to foo fighters to sublime to jimmy rogers to brendon urie. try to appreciate a little of everything, though it's a weighted slate with primarily rock and rap, with a little rap-rock thrown in
 
I'm more folk/classical with an especial love for guitar/voice (the country part) and classical dance music.
 
Fogelberg/Allison Kraus/Cowboy Junkies?
 
Not heard them yet. I'll have to look them up.
 
The Derailers...
their earlier stuff
And there's always Vern Gosden
 
Oh, I love Reggae too.
That syncopation and percussion :)
 
4:26 PM
@SmileyFtW Derailleurs - they're the gizmos on bikes that shift the gears at the front and back of push bikes aren't they?
 
@SmileyFtW Alison Krauss/Union Station, @Hosch250 She's the fiddler who covered Keith Whitley's "when you say nothing at all"
@SmileyFtW Set'm up joe is the only vern song i can think of
@Hosch250 ska/reggae... i'm a big fan. i have introduced many a people to some third wave ska lol (less than jake, reel big fish, bosstones, etc.)
 
Ska?
Any reggae recommendations? I struggle to find the "old" sound with good recordings.
 
@this that might be on me from back when I was moving to the new csproj format
 
A lot of "reggae" I hear is made on electric instruments now, it seems...
 
the move affected the generation of assembly lookups, because WPF was basically unsupported back then
 
4:32 PM
ska... started in the ~1920s where it was more syncopated horn injections along to a rolling baseline (more rock/r&b of the time, as opposed to the up and coming jazz in its smoothness); it was re-introduced in the 40s/50s alongside bigband as "second wave ska". in the 90s, you have third wave ska, more closely aligned with punk and alt-rock. Sublime is considered a Ska band, dabbling in both reggae and punk/alt-rock
and reggae for me is primarily things related to early wyclef jean and some marley. the ska side of it, where folks use the steel drums and instruments to get the specific sound, as opposed to the singing side, are where i typically go
current folks, like the Dirty Heads, have mixed reggae and rap/rock, feeding off of Rome (guy who sings with Sublime since Bradley died) and his influence on that genre
...and now im' going to go throw on 40 oz to freedom and do some work... that'll be stuck in my head haha
 
if you like Rancid-like ska check out "The Interruptors"
 
@Vogel612 OK - I'm more interested whether there is in fact a semantic difference between including vs not including the ;assembly=
 
i like the interruptors
 
@this AFAIK there isn't
 
rancid is nice, much mroe mellow than when they were sound system... but sound system is amazing
 
4:36 PM
@Cyril I don't get it. Why would you guys like being interrupted?
 
and armstrong's later band with travis barker, the transplants
@this why not? DANCE BREAK!
 
@Vogel612 OK
because WPF is quite annoying, I can't just assume that the small difference is meaningless.
 
if the clr-namespace is in the same assembly as the .xaml, there shouldn't be a need for assembly=whatever
 
AFAIK they are; hence why it ends at the =
there's nothing after that.
do you happen to know why WPF designer will complain about a class not found in a clr-namespace even though it obviously exists and does get used at the runtime?
(this is an intellisense error, not a build error)
 
the xaml designer won't see a new usercontrol or class that wasn't there last time the project was built, until it's built
 
4:42 PM
already has been built several times already
 
it's drunk. happens :)
 
it does make for annoying development because the errors I get there doesn't mash up with what I'd get when I live test.
 
@Cyril Chiseled In Stone
 
ahh, another by Vern
my typical criteria for music is sufficient lyrics, though it's nice to just have something mindless or catchy... what do iron maiden, willie nelson, and GURU have in common? lots of songs with actual stories with (relatively) intelligent lyrics
had to pick out of a list in my head and was like... flash the blade, seven spanish angels, and moment of truth... good variety for genres
 
@sphere I'm showing you how it works, correctly. Feel free to use global variables instead if it's keystrokes you're looking to save. — Mathieu Guindon 10 secs ago
I'm this close to just giving up on SO
 
4:54 PM
@MathieuGuindon so, fun fact about the interruptors... i used to think that was the distillers (very solid punk band), since it sounds like Brody (lead singer) is in this other band... nope, just the guy who was married to Brody who started another band with a girl who sounds just like her
 
apparently someone had a type ...
 
@MathieuGuindon but this is the standard ='/ "i know you're good at this, but i want..."
and will put on sing sing death house after sublime album ends
@Vogel612 yarp
 
5:06 PM
trying to come up with a formula for something i can do in ~3 lines of code is kind of discouraging...
beyond "enable content" being difficult for people to push, because corporate won't give me a digital signature, too many people ask for things that could be simple fixes that they choose to not implement because it's "new"
dim fullStr as string
fullStr = cells(1,1).value
dim leftStr as string
leftStr = left(fullStr,30)
dim i as long
for i = 30 to 1 step -1
    if Mid(leftStr,i,1) = " " then
        cells(1,2).value = left(fullStr,i-1)
        cells(1,3).value = right(fullStr,len(fullStr)-i)
        exit for
    end if
next i
very quick mockup of desire to try to turn into a formula... thinking i need substitute, but getting hung up on most functions requiring a Range as opposed to a string within a cell
i feel like this is a scott craner question lol
 
Are you just looking for a space character?
IE What's left of it and right of it?
 
in the first 30 characters, finding the last space
 
Will there ever be more than a single space?
 
too bad Excel doesn't allow you to define formulas based on other formulas.
That wouldn't require macros and would be always safe but nicer to read.
 
bites tongue
 
5:15 PM
It does?
 
no, it doesn't.
 
Bummer. It's very annoying to read 13 nested formulas and trying to make sense of it.
 
JDE has a 30 character limit on the description field (standard) for the description field. we had a custom field created accept more description, so the request is to split the first 30 characters into one field and the rest into the other, but people don't want the words to break, so the last "space" would be the new delimiter between descriptionFieldA and descriptionFieldB
no one wanted to hear me when i said "why not use everytrhing in the larger field?"
so i told them they have to manually do the split, because they won't take the macro i gave them... a few... older ladies couldn't figure out how to use it, even with a QAB or shortcut
@this i wasn't sure if you were alluding to something with that statement
could just have them use like 3 helper columns... lol
crap, have to go report to directors and site head... back in 30ish
4 minutes late already... whoops
 
^
whoops
 
@Cyril just me wishing
if wishes were horses, beggars would ride.
 
5:21 PM
@MathieuGuindon What's the issue w/ SO (today)?
 
@Cyril =FIND("💩",SUBSTITUTE(LEFT(A1,30)," ","💩", LEN(LEFT(A1,30))-LEN(SUBSTITUTE(LEFT(A1,30)," ",""))))
(assuming A1 holds your value and "💩" is nowhere in the string)
 
I got a DTAP shot last night. My shoulder isn't stiff. Did something go wrong?
It was stiff for about 15 minutes 3 hours after the shot. I stretched/exercised it a tiny bit, and I kind of felt it relax and stop being sore. I then went to bed, and it was fine when I woke up.
My sister says she was sore for a whole week...
 
@MathieuGuindon Moral of the story: Beware of crappy inputs?
 
@MathieuGuindon please refrain from crapping on Excel.
 
5:32 PM
@this eh, Excel is pretty good at doing that itself :)
 
@Hosch250 not necessarily. I think everyone reacts differently. But if you're worried, call your doctor and threat him with malpractice. That'll make for a fun conversation.
lol
 
:D
No, I'm fine with not being sore :)
 
that'd be hilarious to hear in a court
"I'm perfectly healthy! My doctor must have screwed something up!!!"
 
@Cyril You have unqualified cells being accessed.
Public Function SplitOnLastSpaceOfFirst30Characters(ByVal value As String) As Variant
    Dim truncatedValue As String
    truncatedValue = Left(value, 30)

    Dim valueReversed As String
    valueReversed = VBA.Strings.StrReverse(truncatedValue)

    Dim positionOfLastSpace As Long
    positionOfLastSpace = InStr(1, valueReversed, " ")

    Const DelimitingChar As String = "|" 'Or whatever character is guaranteed not to be in the input string
    SplitOnLastSpaceOfFirst30Characters = Split(VBA.Strings.StrReverse(Application.WorksheetFunction.Substitute(valueReversed, " ", DelimitingChar, 
 
I do need to call him, though, as I never got a text with a key to log into the site to check my bloodwork.
 
5:33 PM
^^ My quick take for VBA.
 
He said I was perfectly healthy, and didn't know when I was going to die :)
 
pretty sure you're still a bit too young to start worrying about mortality.
 
He said once he had a patient come in for a routine checkup and to get a renewal of some meds for high cholesterol. They got through the exam, and died in the lobby on the way out the door.
@this I asked as a joke.
 
WTF
 
Reason enough to avoid doctors offices.
 
5:37 PM
@Hosch250 good. Hypochondriacs are the worst. :)
 
They wouldn't give me a chickenpox shot just in case I'd already had a silent case.
So I need to get my bloodwork done and go back for that.
 
Interesting. That's new to me.
 
They say they have a lot of people who "haven't had it."
Apparently it's like the opposite of a childhood virus.
It's really mild in the young and gets more severe as you get older.
I'm also planning on getting an updated MMR too.
 
Yes I was told similarly about the chickenpox - but as I recall, there was no problem giving extra shots, except for MMR.
There was uncertainty whether I had all the shots, and I didn't want to go and chase paperwork, asked for shots, they said OK for chickenpox, but not MMR since one too many MMR shots can mess one up.
That was a while ago, though.
 
6:02 PM
We wont hold it against you if you end up with a droopy eyelid after your boosters.
 
6:28 PM
Sounds nasty :(
> In 2019, Stack Overflow added over 2.8 million answers and 2.6 million new questions
Actually, depending on how they counted that, it's almost certainly not 2.6m new questions.
 
^^^^^YESSSS^^^^^^
too many 'gimme the codez'
 
6:58 PM
@Hosch250 every person is different; i've enver been sore from it, but my wife was put up for about a week or so
 
I'm curious about physical differences. I'm pretty muscular, but my sister is not at all.
Maybe that changes it? Because they put the shot in the muscle, not the artery.
 
same; i spent 8 years wrestling, among the plethora of others sports... my wife is not as physically inclined. for one other data point, i have a friend who does triathalons and they are typically laid up for 3 days after any shot/vaccination
 
Hmm.
 
DTAP is IM, and a person's specific ability to disperse makes a difference
 
So, maybe it just didn't stay in my muscle then. Maybe my flexing it last night helped my body pump it out?
 
7:00 PM
so, whether or not you are phsyically fit, if you have a strong lymph system and decent blood flow, you sohuld be in a better position than one who does not
stretching and the sort does help to mvoe it through the body, putting new blood into the area and dispersing
 
BTW, what's the proper BMI again?
Mine is apparently 22.
 
120/80 i think?
wait, that's BPM
LOL
 
do not ask an anorexic that. They'll say 0, probably.
 
Yeah, my BPM is usually between 70-80 resting, but it was 150 or something in the office...
I didn't really feel too stressed, but I was "on alert" since it was a new experience for me.
@this LOL.
 
not positive about BMI; as a person who was muscular, it's a pretty BS measurement, so was always told to diseregard it
doesn't take into account a number of contributing factors
 
7:03 PM
Yeah, I've heard that too.
 
Yet, it is used in army's regulations, AIUI.
 
my one buddy, scandinavian decent, is "morbidly obese" according to BMI
it's 6'6'', pretty solid muscle, and has a near 2 meter wingspan
boy is solidly in shape
 
@Cyril LOL.
 
e.g. if you exceed some value, they can put you on a diet / exercise regiment or punish you for being fat.
 
@this I've read that too, but if you can sink in a pool, you can overrule it.
 
7:05 PM
@this they can request***
 
There was one person who always triggered that, so they always had to do the pool test afterward.
Or so I've read.
 
@Hosch250 oh so the witch's test actually work?!?
 
@this LOL. Fat people bad?
 
density is by far the best measurement for %fat, and in that scenario, only homer simpson could f it up
 
To be fair, if you read the article on Wiki, they show woodcuts of the procedure, and you'd really have to be screwed to float.
 
7:07 PM
water dispersion relative to mass; i had to do those at the start and end of the season by requirement of the NCAA
 
They would hogtie them and chuck them in, and pull them out if they sank. And witches would not only float--they'd practically hover on the surface of the water :D
 
SHE TURNED ME INTO A NEWT!
@Hosch250 i need to find the story where a woman, before being "tested" had asked if anyone else would not sink given the same treatment (she was to be thrown into a river with weighted shackles... so she'd die whether or not she floated).
 
So, it was an execution vs a test?
Normally, they'd pull them out if they sank.
 
"normally"
 
Drowning was a common execution then though, too.
 
7:11 PM
my understanding was, dependent on the magistrate conducting the test, they were required to leave them for a prolonged period in case they were "hiding" their powers, in which case the dead would be acquitted of their crime
 
As was burning and lots of other nasty ways to die designed to cause amusement for idiots.
@Cyril Possibly. I've read that leaving them to drown was a more modern interpretation not supported by evidence, although it's quite probably that some did anyway.
 
@Hosch250 valid point; i'm going off of recollection, which could be heresay
 
Either way, best case to not get accused of it.
 
@Cyril gasp! A newt that talks?!? Preposterous!
 
@this He got better.
Also, that was hilarious, the way it pendulated the way scales do, and they yanked her off as soon as it swung back up, instead of waiting for it to settle.
 
7:15 PM
we do have record of william griggs, though... he was in a capacity to assess people and there is an account of a "morally depraved" individual who was "strongly afflicted" that died from being requested to wait for the spirit to divulge itself. i don't believe it was via water, thoguh. i believe they were being branded and died from cauterizing part of the aorta causing no additional blood to flow
 
Ugh, people back then were nasty.
Well, people now are too.
 
mind you, the "cause of death" was in the book I read, speculated; the account of the person dying from the "test" was as explained in the time-of account
@Hosch250 people suck, yes.
 
> # [Codecov](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5347?src=pr&el=h1) Report
> :exclamation: No coverage uploaded for pull request base (`next@c38ddae`). [Click here to learn what that means](https://docs.codecov.io/docs/error-reference#section-missing-base-commit).
> The diff coverage is `0%`.


```diff
@@ Coverage Diff @@
## next #5347 +/- ##
=======================================
Coverage ? 61.67%
==================
 
@Hosch250 back to yoru BMI question: betterhealth.vic.gov.au/health/healthyliving/…
If your BMI is: under 18.5kg/m2 – you are considered underweight and possibly malnourished. 18.5 to 24.9kg/m2 – you are within a healthy weight range for young and middle-aged adults. 25.0 to 29.9kg/m2 – you are considered overweight.
 
So, I'm considered "healthy".
 
7:19 PM
yarp
 
Hm, I think we will have non-existent coverage reports for quite a while.
Codecov uses the PR base to determine the coverage change.
So, If you pull any changes into your branch that were created by a PR that had no coverage report uploaded for its base, you will most likely also no longer have a base with a coverage upload.
I think the calculation of a reasonable coverage difference only works if you never pull next into your feature branch.
 
hmm but I'm pretty sure my style PR that was merged came from the next
and it still didn't have coverage. (maybe because my PR didn't actually have any code changes)
 
I think so, too. It had no coverage diff to upload.
 
7:35 PM
[rubberduck-vba/Rubberduck] build for commit 741c1941 on unknown branch: AppVeyor build failed
BUILD FAILURE!
 
Gosh there are so many low-quality questions today.
 
> # [Codecov](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/5347?src=pr&el=h1) Report
> :exclamation: No coverage uploaded for pull request base (`next@c38ddae`). [Click here to learn what that means](https://docs.codecov.io/docs/error-reference#section-missing-base-commit).
> The diff coverage is `0%`.


```diff
@@ Coverage Diff @@
## next #5347 +/- ##
=======================================
Coverage ? 61.67%
==================
 
@BigBen i kind of hope jvdv has another project he's working on
he comes up with some interesting thinkers, for lack of better term
 
Yeah he does have good questions.
 
7:58 PM
[rubberduck-vba/Rubberduck] build for commit bd58d297 on unknown branch: AppVeyor build succeeded
 

« first day (2057 days earlier)      last day (1123 days later) »