« first day (1925 days earlier)      last day (1255 days later) » 
00:00 - 23:0023:00 - 00:00

12:01 AM
RELOAD!
[Phrancis/TwitterTools] 1 commit. 1 addition. 1 deletion.
[rubberduck-vba/Rubberduck] 1 opened issue. 7 issue comments.
[Minesweeper] Games Played: 71, Bombs Used: 48, Moves Performed: 9061, New Users: 12
 
 
6 hours later…
6:09 AM
@MathieuGuindon in rubberduckvba.wordpress.com/2019/09/12/… you have a > showing instead of >.
It’s in the code block for Public Property Get IsValid() As Boolean
 
 
5 hours later…
11:09 AM
@MathieuGuindon not the post, per se, but the code? Oy!
@Hosch250 because it's not Apple?
 
11:31 AM
@IvenBach, see:
23 hours ago, by FreeMan
@MathieuGuindon typo in today's blog entry:
23 hours ago, by FreeMan
also, just noticed
you're
23 hours ago, by FreeMan
#LateToTheParty
LOL
On a more uplifting note... my conversion of my simple test sub to figure out how to call this API to an actually useful Interface/Implementation was a success!
</patselfonback>
 
11:51 AM
I think I've asked this before, but don't recall the answer: If I'm working inside the class, is it kosher to reference the Private this.x variables defined within the class or should I use the Public Property Get/Let/Sets? I know that it doesn't matter functionally, just wondering what's the "right" way.
Skipping the extra function calls involved in using the Get/Let/Set seems to make sense, but...
 
12:29 PM
@IvenBach thanks, WP doesn't want me to fix it :/
 
@MathieuGuindon quick yea/nay on my question up there?
 
@FreeMan if the getters do nothing but get the private field (as they should), I don't see a reason to not use the private instance fields directly. But YMMV =)
 
Conventionally, for dumb getter/setters, it's probably better to use the internal access this.x rather than x/me..
I have had one or two scenarios where the getter wasn't dumb and the internal access had to use the public member instead of this.x. But honestly that never felt right to me.
 
12:45 PM
> **Justification**
The wording of the message box can be misinterpreted, leaving the user thinking they are presented with release notes for a newer version that was just installed.
Moreover, clicking "no" makes the next load prompt again, which can get annoying.

**Description**
Let's clarify the message box to:
- include the currently-running version#
- indicate how it can be configured to stop nagging

Let's also track the last time the prompt was displayed, and introduce a settin
> Linking #2941 -- that would be an good opportunity to create the custom implementation of messagebox that Rubberduck should be using instead of lame old WinForms. We get the better UX by having action directly labeled in buttons and ability to toggle setting without having to close the dialog and open up settings.
> @bclothier indeed! "don't ask me again" would automatically adjust the setting to no longer run the version check.
Also an opportunity to pull the version-check settings into their own "Upgrade" settings page.
 
1:03 PM
\o
for some teaching I am going to cover call stack Ctrl + L
In the following:
what is [<non-basic code>] please?
Not vba?
 
@QHarr Probably a C++ DLL, or something.
 
Ahhh.. ta muchly....
Is Excel mostly C# under the hood?
 
No.
 
Or C++ ? Or something else/mixture?
 
I think Excel is before C#? It's probably C++ and/or C.
 
1:10 PM
I think mainly C/C++
 
Aha....
 
also, note that you can get non-basic-code if you call some OM method which then returns
example, you do Worksheet.Select
and it triggers a Worksheet_Change event
in that case, you'll always see a non-basic-code because Excel's OM is running to handle that event
and it call backs into your Worksheet_Change event
There can be several transitions, but I don't usually see more than 2 or maybe 3, though.
 
OM == "Object Manager" ?
 
Object Model
 
Doh
Thanks.
 
I have to explain some code to devs so was thinking of flow charting the code (small code base) and showing them how to use call stack.
I know I will be asked what does non basic mean so thank you..
 
:+1:. They usually can get some code by looking at the VBA code before the non-basic
in above example, it'll be green-highlighting the Select method. You can then infer that it has executed an event.
It doesn't have to be events, though. Running a query in Access that contains VBA function can have that transition, too
 
oh
Awesome.
Yes.... green triangle..
 
Callbacks from API would be another example, I think.
anyway, there are several ways to get that. Events just happens to be the most common reason.
 
Many thanks all.
 
 
1 hour later…
2:30 PM
Excel is great for lookups, but (assuming the data is living in a worksheet) generating unique IDs per record is the job of a database engine, not a worksheet - what happens when a row is deleted? Are IDs reused? Worksheets aren't made to ensure the integrity of relational data. If you really want/need the IDs generated in a worksheet I'd strongly recommend generating GUIDs instead of using row#-based or otherwise sequential IDs. — Mathieu Guindon 14 mins ago
#ExcelDB strikes again
 
I love GUIDs as a PK!
x_x
 
2:51 PM
ooh, the data actually comes from another system phew
@ticker damn, is it "gimmeh teh codez" day on SO?
 
3:29 PM
in other news, I rewrote my About Me SE profile
 
LOL.
Looks like something @this could do too.
 
?
it is perfectly fine.
 
Did you see his new profile? :P
 
Ahoy there, Captain Oblivious!
 
3:40 PM
:)
 
Love it, though!
 
I was editing that chunk into an existing answer after some random upvote, and then figured "hey that would make great 'about me' content on my profile"
 
Yeah, creative!
huh, my about me is blank
 
Hi, #@user53505.
 
omg I just stumbled on old meta-ads I made for CR - this deleted one wasn't well-received for some reason (I still think it's funny AF):
 
3:51 PM
I guess it's not SE-universal. It's there on cR
 
@this there's a button to push the profile to all of SE
this was the winner:
 
doesn't seem to be working.
yeah I like the 2nd better.
 
@this change a comma or something :)
 
doh.
this is a computer I'm dealing with. this. It's dumber than a bucket of nuts. You must tell it it's dirty first.
 
haha awesomely meta, love it!
 
4:01 PM
:) Gonna love them non-descriptive description.
 
4:16 PM
> relabelling as enhancement, because strictly speaking this is not "wrong" behaviour, just crappy behaviour. FWIW I'd expect the preview box itself to be readonly and therefore skipped when tabbing. That would make it unreachable via keyboard navigation, which carries accessibility implications (not that the VBE is accessible...)
 
@MathieuGuindon @this Hadn't considered smart getters 'cause I don't have any in this instance. Nice to have confirmation. thx
 
IMO getters shouldn't be "smart"
setters, fine, but getters? KISS
also: with the exception of indexers (i.e. parameterized getters, which should raise index out of bounds given an invalid index argument), generally go out of your way to make a getter never raise any errors.
 
a hacky scenario woudl be to increment the times a variable has been read.
but I think that's where you should be using a method, not a getter.
 
I could see me doing that in a test fake
 
Yeah, that's the other thing. if getter gets smart, it can throw errors
which really goes against the idea.
 
4:25 PM
^
Dim invokeCount As Byte '<~ expect fireworks at one point or another
 
@MathieuGuindon lol
 
hope you don't plan to call it more than 255 times....
 
exactly
2 mins ago, by Mathieu Guindon
I could see me doing that in a test fake
until mocking comes along, that is
 
@Duga weeeell... if the cursor goes somewhere that it can't get out of, that's kinda buggy. Frankly, you can label it for all I care, it's on the radar for fixing enhancing.
gah... I have a procedure to call stored procedures. I felt pretty clever when I wrote it. Now I'm looking at it like, "carp - what id10t designed this horrific interface???"
Once I actually have the current crisis resolved, I'll get to tweaking that one.
 
Sorry another question....
How is it the cells is a member also of Application? And the OM has two entries for Cells against Worksheet?
All calls above yield same result.
So I guess Application is Application....Activesheet....Range....Cells ?
 
4:44 PM
@MathieuGuindon - a RD ad tag line: "You've been mocking VBA for years, now you can mock 'MsgBox()'"
 
That's already the case right now
except, we don't mock it, really. We fake it.
 
You've been mocking VBA for years. Now you can fake it!
:)
 
makes sense since MsgBox isn't a class
it's just a function
BTW, Mat already had a old post about mocking VBA.
so....
 
Yeah, there was something just a week or two ago, wasn't there? Or was that just reliving the good ol' days?
 
well he is heralding the upcoming mocking framework that will let you mock everything
not just MsgBox
 
4:47 PM
I dunno... Spent the morning in the hot sun doing a Day of Service corporate thing. Just the random musing of a heat-addled brain.
 
5:09 PM
@FreeMan Fake it till you mock it
5
 
You could mock it with fakes. Now you can mock it for real!
Fakes stubbing you? Stub it with mocks!
Trouble with Tests? Fakes! Double trouble with tests? Mocks and Fakes!
Ok, I'll stop now
 
5:24 PM
lol
 
@MathieuGuindon gold.
 
@FreeMan I'm saving that one for the mocking framework walkthrough article =)
 
:thumbsup:
 
It looks like I'm the preferred candidate right now. 2nd Phone interview Tue. If I'm a good boy duck and does well Wed is in person with pending offer. #Breathe
4
@FreeMan I been occupied with putting out work fires.
 
nice, @IvenBach!
 
5:38 PM
@IvenBach no worries, just amusing that you commented after @this and I both did.
 
I consider myself to only have minimal experience with SQL T-SQL Access. Moderate with C#.
 
I used to think I was pretty decent with TSQL. The more I learn, the more I discover I've scratched the surface, at best.
 
FWIW, i'm re-reading this book. A good read if you want to get a good theory.
fairly short, targeting those who are already familiar with SQL but want to understand the relational theory. CJ Date worked with EF Codd and is a mathematician himself, so that's a good resource.
 
I'm confused. #NothingNew I ran this code this morning and it worked just fine. I added a couple of properties to the class and now it's done broke:
Private Sub IRestDriver_ExecuteAPICall()

  Dim restRequest As WinHttp.WinHttpRequest
  Set restRequest = New WinHttp.WinHttpRequest

  With restRequest
    .Open "POST", this.URL & this.apiFunction, True
    .SetRequestHeader "Authorization", "Basic " & Base64Encode(this.userID & ":" & this.password)
    AddHeaders restRequest
    .Option(WinHttpRequestOption_EnableRedirects) = False
    .SetTimeouts 0, 0, 0, 4800000
    .Send
    .WaitForResponse 480000

    this.requestResult = .ResponseText
gives me error 5 Invalid procedure call or argument on the .Open... line
oh... this.URL and this.apiFunction are vbNullString. :/
changed how I was setting them in the .Create and done broke it.
1 hour ago, by FreeMan
I dunno... Spent the morning in the hot sun doing a Day of Service corporate thing. Just the random musing of a heat-addled brain.
 
be wee bit hard to go to a null URL
 
5:49 PM
pfffttt...
I'm using FireChrome, it can do anything, right?!??!?!?
yes, I know WinHttp is just IE at heart...
 
:D
 
Thanks for the book suggestion. Hope they let me read at work cause homework is eating me alive.
 
@FreeMan probably IE 6 at heart, given the age of VBA7
#NapTime
 
6:23 PM
 
no, really, #NapTime. I just typed For 1 = 1 to 100 and couldn't for the life of me figure out why the VBE highlighted that red.
 
@FreeMan safely secured now :)
 
6:42 PM
@MathieuGuindon By a solid 31 points. w00t!!!
@Feeds Is there some new supposedly life-supporting planet that someone thinks he's found, or is this just poking a stick at scientists in general?
 
yes
(to both)
 
that could have addressed any of those 3 things I just said...
;)
 
twice the size and 8 times the mass of Earth IIRC. so sure, possibly life-supporting (habitable zone, water vapour in the atmosphere), but 8g sounds a wee bit too much gravity for me.
OTOH it makes a nice excuse to make exoskeletons
it's >100 LY away though, so.. don't hold your breath for a visit
 
wasn't there something like debug.print "something" : where the : at the end said "don't insert a crlf"?
 
semicolon
 
6:49 PM
close enough...
 
@MathieuGuindon new diet fad upcoming: "shed away 100s of pounds just by living on the planet X!"
 
ummm... 8g would kinda make you read heavier on your bog-standard Earth-spec scale...
 
100s of slugs, then
 
Let's see... I'd weigh roughly 1200 pounds on that planet.
Somehow, I think I'd need jet engines on my limbs to move them.
 
7:04 PM
Really?
I mean, really?????
Seriously???!?!?!???!?!?!
oh. It's gonna list me at the bottom no matter where I fall in the list.
whew!
did I mention
1 hour ago, by FreeMan
#NapTime
 
@FreeMan for comparison's sake, yeah
 
7:29 PM
feels like it invalidates the whole point of signing....
in fact, if it was accepted as such, then that means the whole signing bit is suspect even when using private keys....
 
glad I'm not the only one who thought that
 
@this Seems like it's for dev versions only.
 
a Strong Name like Mike vs a weak name like Biff?
 
TBH, Biff => Biff Tannen. He might be dumb as a ox but he ain't weak....
anyway, "strong name" is a dumb name.
it's basically just a bastardized form of signing
 
7:43 PM
@this smells like an ox, too.
that's funny because in the 80s Biff was often associated with Buffy and the argyle-sweater-over-the-shoulders, drinking-tea-with-your-pinky-in-the-air country club set.
well, at least until BTTF came out. But even after that...
This is irritatingly frustrating and I'm gonna blame it on not getting my nap in.
 
sorry - Buffy the vampire slayer?
I don't remember a Biff in that
A Spike, yes.
 
When I provide some sample data in SSMS and execute the code that became my sproc, I can shred my input XML string and insert into my table. However, when I take that sample data and pass it to the actual sproc, I get nada
I've debugged through it and I'm not getting any errors...
@this no, more Caddyshack and Back To School
 
.... IMDB doesn't list Biff anywhere for either....
 
7:59 PM
what does IMDB know?
Maybe it was a local thing. in High School - that was the mental image Biff or Buffy conjured up
 
hmm.
i guess my mind is forever tainted by BTTF & BTVS
 
never seen BTVS. Took a sec to even figure out the acronym... The judge in Caddyshack is what Biff generally brings to mind for me - pompous, sniveling, selfrightous, self important, spinless country club type.
oh well.
 
hmm... interesting
Not directly useful for RD atm, it's aimed at Net Core.
 
@FreeMan I know what types you're talking about. Those are supposed to have big and pretentious names like Bartholomew William Quinn III or something like that.
 
@this Yeah, Biff for short.
ok, ttgh. I'm not getting anything more productive done this afternoon.
y'all have fun now, ya hear?
 
8:15 PM
@FreeMan but I can't hear you....
 
Got your video recorded on lunch break Mug. Now to find time to upload.
 
8:41 PM
What is it called when a dictator disagrees with the verdict?
 
what did Trump do now?
 
Nothing. He's not a dictator...
(Even if he wants to be.)
 
@MathieuGuindon he played the trump card, I guess.
 
It's called a hung jury.
 
@Hosch250 not de jure, but de facto, all recent presidents has been basically a dictator.
 
8:48 PM
@this Yeah, since FDR, really.
 
@Hosch250 hmm. So don't serve on the jury.
At least not in those countries.
 
8:58 PM
@Hosch250 lol
 
9:16 PM
@Hosch250 Parliament.
(not that I'm bitter that our Parliament is subverting the Brexit referendum...)
 
LOL, they can't make up their minds.
IMO, what they really need is instead of a full-blown "union", they need several standardized trade/movement laws. Much like the US states had to standardize trade/contract laws.
(Movement here was set by the federal gov after some states [looking at you, CA] tried to ban interstate immigration.)
That way, it wouldn't be as much an issue with things like banning selling apples by the pound.
And arresting people for doing so.
Anyway, TTQW. TTYL!
 
@mansellan my understanding is that brexit referendum passed by a hair, after a campaign of, essentially, misinformation and fear-mongering... Kind of like how "no" won twice in Quebec.
am I way off?
(could be - I follow US politics a lot more closely than UK's)
 
> #5121 might ease this. If we implement client/server, the server can be any language. We could implement it in Net Core 3*, which has some low-level memory constructs - disposable ref structs, Span and Memory and others. These can help avoid allocations and copy
 
@Duga #PoCNeeded
@MathieuGuindon maybe we should make UK the 51st state. That'll fix everything, right?
 
@MathieuGuindon well, it was 52/48, but it was also the biggest voter turnout in British electoral history, so that slim margin was 1.3 million votes. They also explicitly said that the result would be implemented... And yes, there were lies. Plenty of them, on both sides. Obviously, as politicians were involved :-)
@this Noooooo..... :-)
 
9:31 PM
:-D
 
Would that make Canada the 52nd? ;-)
ducks
 
you would think we'd do it sanely and make Canada 51st, but no, this is murica.
oh BTW, PR will be the 53rd.
 
> #5121 might ease this. If we implement client/server, the server can be any language. We could implement it in Net Core 3*, which has some low-level memory constructs - disposable ref structs, Span and Memory and others. These can help avoid allocations and copy
> #5121 might ease this. If we implement client/server, the server can be any language. We could implement it in Net Core 3*, which has some low-level memory constructs - disposable ref structs, Span and Memory and others. These can help avoid allocations and copy
 
@this ha! if that happens under 45, I'll eat my CR ducky
 
apols for the edit spam
 
9:33 PM
@MathieuGuindon 45 as in your age or as in year 2045?
either way.... #NotGonnaHappen
 
@this :facepalm: obviously, not happening before UK and Canada are 51st and 52nd, respectively... totally misread that lol
 
> #5121 might ease this. If we implement client/server, the server can be any language. We could implement it in Net Core 3*, which has some low-level memory constructs - disposable ref structs, Span and Memory and others. These can help avoid allocations and copy
 
@Duga last one, promise!
 
@this was thinking, the framework bump for mocking loses us Vista. Wonder if it's worth going a little more recent anyway, and lose Win8 (original) too? Might be better to get OS drops out of the way in one hit rather than piecemeal, and Win7, 8.1 and 10 are fully supported on all frameworks through to current....
So maybe go to, say, 4.7?
Don't want to go too new because #corps...
4.6.1 is the last version available on Win8 original....
So if we go to it, the very next bump cause another loss
 
9:43 PM
need poc first.
 
For 4.7?
 
no for the LSP
 
oh no, I'm just talking about framework versions atm
 
because if it it doesn't pan out, then there's no loss
 
you need 4.6.1 for mocking iiuc?
 
9:44 PM
right the only reason I bumped to 4.6.1 is because that is the minimum for ExpressiveReflection, yes.
 
so proposing we go straight to 4.7
 
technically I don't even need it but I'm just too lazy to write all extra code for finding the right methods
 
well yeah... but Vista and 8 original are both < 0.5%, so....
 
I get that but it doesn't feel right just to bump just because it's a nice round number
 
laziness justified imo
@this well no, was more that if we jump a little further, we drop both sunsetted OSs in one hit, rather than having to do it twice...
when the next PR is like "dang, I need 4.6.2"...
 
9:47 PM
i suppose. I'd like to hear others' opinion on this, though.
 
^
@MathieuGuindon thoughts?
+ @M.Doerner (good timing :-))
 
Although a version of .Net is supported on an OS, it does not mean that corporate IT will update to it.
Not good timing; I was just too lazy to sign in.
 
agreed, but 4.7 has been out a while. Could do 4.6.2 for the same effect...
not fussed either way, just throwing it out there for comment
 
FWIW I'm still on Win7 at work, and suspect that is the case for the vast majority of corporate world
 
I don't think many corps did 8.anything
(just anecdotally)
 
9:55 PM
IDK but what are the odds that a business still running & maintaining VB6 apps is on Win10?
 
heh, you'd be surprised :-)
but yeah, VB6 is more likely to be hobbyists on 7 or 10
 
hmm makes me think - if we bump the .NET framework, we really can't support VB6 running on XP or Win 7
 
My point really is that when we bump, we'll have to announce an OS loss. Better to have one such annoucement for Vista and 8.0, rather than one for Vista and potentially another for 8.0 some time later?
 
I would think that for VB6 apps that are still actively maintained, they're going to be running on some old ass machine or at least in a VM frozen in the time
 
@this XP is way out anyway, RD can't run on XP
But 7 should be fine?
 
9:58 PM
sorry I meant Vista up to fairly recently (?)
 
ah yes
 
and yes, i actually do my RD development on win 7
you will have to pry Win 7 from my cold dead fingers
 
lol
 
I don't mind dropping support for dead EOL'd OSs (well, after my work laptop is upgraded to Win10 please =), but yeah that'll need an announcement. At one point or another, we'll have to drop them anyway
 
@MathieuGuindon it's only Vista and 8.0 that are at risk, both < 0.5%. RD will be able to support 7, 8.1 and 10 for a long time to come.
 
10:00 PM
back to the point, I suspect that for VB6 apps still actively maintained (is that a thing?), we might find ourselves dropping support simply because they run in a time-frozen VM as opposed to installing VB6 on Win 10.
 
@mansellan ok then
@this my vb6 gig was on xp vms
 
and let's be honest. Why would anyone choose to stick with Vista and 8 anyway?
 
@MathieuGuindon and would they continue to?
 
There's really no excuse for 8.0. It's a minor to get 8.1...
 
10:02 PM
well... ...no idea, haven't worked there for 5 years =)
 
actually that begs yet another question - if you're actively maintaining VB6 apps, you'll need to make sure it's going to run on newer OSs --- otherwise what's the point of distributing it... right?
 
Win10 runs 32 bit apps, what's the problem?
 
(I imagine that vast majority of VB6 apps are user-facing users)
 
I would say though, although corps put VB6 out to "maintain" only ages back, there's still hobbyists doing new stuff in it for fun.
 
@MathieuGuindon installing VS6?
 
10:04 PM
dev on xp, build on xp, deploy on win10?
 
no RD then
 
aye. make that win7 then =)
 
but yeah, that'd be more plausible scenario
 
@MathieuGuindon VS6 runs just fine on 10 :-)
and the runtime will be supported for the lifetime of 10, per MS...
 
I suppose most of our users (be it VBA or VB6) are on a recent-ish not-dead OS
 
10:05 PM
^
 
so, yeah
 
If only we had telemetry :-)
 
we do!
 
gotta run
 
10:06 PM
we are the telemetry, right?
 
OK, so I propose that when we bump, we bump to 4.6.2 not 4.6.1. Get the pain out of the way in one hit.
 
that got me thinking though - can you really have a working VBA system that didn't support VB6?
Seems like a dangerous recipe, meaning MS won't risk breaking VB6 for VBA's sake.
 
yep. they're joined at the hip.
 
at least not until we're on 128 bit and 32-bit OSes are non-existent
Hmm, yeah.
 
Worth noting too, that if and when we make the jump to Net Core, this problem evaporates as you can package a versioned CLR with your app. No more relying on having a given version on the user's machine.
Its a private CLR for your app, not a machine-wide install.
 
10:27 PM
> AFAIK we'd already dropped Vista support when upgrading the .NET Framework to 4.6.2 a few months back
 
@Duga huh? I thought we were on 4.6
 
@mansellan how does that not bloat? The whole idea of DLL was to avoid having to have several copies of DLL?
 
@this Heh yeah, it's a trade-off. You can still use machine-wide installs, but you don't have to. I suspect there'll be 2 versions of apps in the future, one with a private CLR and one without. Maybe even an installer thing.
 
ah so it's an option, gotcha
 
10:31 PM
Did I mention I'm looking forward to Core 3 ;-)
 
nah, not lately.
:D
 
Also, they're really going all-in on making the CLR modular. It'll be able to minify the private CLR to just the bits your app uses. They kinda have to do that for client-side Blazor, where the webpage has to DL the runtime on first page load...
There's some very cool stuff happening in Core right now...
 
10:57 PM
@Duga @Vogel612 I think we're on 4.6 atm
 
00:00 - 23:0023:00 - 00:00

« first day (1925 days earlier)      last day (1255 days later) »