« first day (1924 days earlier)      last day (1256 days later) » 
00:00 - 19:0019:00 - 23:00

7:00 PM
My point is, companies monitor what traffic their users go to.
If they detect telemetry, they can, and will, shut it down at the network level.
But, I do see your point--I just think it should be consistent.
 
if they say "I'll have none of it" and then they browse the install folder and see Rubberduck.Telemetry.dll, then they'll escalate to network monitoring.
@Hosch250 bwahaha yeah, right
if that were the case, I wouldn't be #3 in the all-time VBA contributor rankings on SO
 
It makes it hard to explain to users (and troubleshoot problems) if we say "Telemetry isn't there when you have it disabled--unless you didn't choose disable at install".
I'd either have it be "enabled--on, disabled--completely gone" if that's what you want.
 
"why do you even install that dll if I said I'll have none of it? you spying on me?"
 
And disabling it will actually delete the DLL, and enabling it will download it (maybe after a confirmation prompt).
 
7:03 PM
Then it's consistent, and it's one state to track.
Of course, we also need to be aware of the state when people have it toggled on and manually delete the DLL.
 
@MathieuGuindon You have an understanding employer that lets you learn.
 
@Hosch250 easy - silently switch the setting to "disabled", and have a log entry about the DLL load failure
 
Yep, just saying that's something to handle.
 
FWIW it's palindrome week, all week
9-12-19
9-13-19
...
 
That's a very American view.
 
7:10 PM
Mug should be reported to this. 201909012 is definitely not a palindrome.
 
@M.Doerner my exact thoughts when I saw the tweet!
 
I think I want to redesign the reference resolver a bit.
I really do not like that it stores its results as a side effect.
My current PR will add three more parameters to the DeclarationFinder just to store data from the resolver.
This could go into some deticated storage instead.
 
I like your thinking :)
 
To best place to put things into said storage would be in the resolve runner base. But if we push all this data back, we can as well do it for all the data from the resolution.
That would be in line with how the parser does its work.
It collects all parse trees etc. per module and returns them to the caller that then deals with it.
However, that will be a future PR.
For this PR, I will go with the lazy route.
 
Kaz
Hi everyone
 
7:17 PM
hey @Kaz!
 
Kaz
How's it going?
 
like a payday :)
 
Kaz
:)
 
what have you been up to?
 
Kaz
I quit my job on Monday, and gave my MD 48 hours to persuade me not to. He doubled my salary. Consider me persuaded ^^
 
7:19 PM
wut
 
Kaz
So, you know, interesting week :)
 
my first thought is dang you were massively underpaid
 
Kaz
@MathieuGuindon Juuuuust a little
 
or very, very lucky
 
Kaz
I went from mentally-unstable-barely-functional-intern to de-facto head of IT and proto-executive in 5 years.
 
7:23 PM
wow
 
Kaz
And my compensation hadn't quite kept up with my blistering pace of personal development.
So I saw my moment of maximum leverage and took a calculated risk.
£55k a year, not in London (so that's the equivalent of ~£75k a year in London salary).
I'm still a little buzzed about it :)
 
that's euros or pounds?
(lost track of whether brexit is happening)
either way, congrats!
 
Kaz
Pounds, but these days there's not much difference.
 
Nice job, @Kaz.
 
Kaz
How's life as a dad treating you these days?
 
7:31 PM
@Kaz Good. Switching jobs myself.
My boss and his boss are freaking out, the rest of the company doesn't know yet.
 
@Kaz about $10K CAD
 
Kaz
@Hosch250 Sounds much like how mine went ^^
 
They told me they'd change me to an architect, let me work from home more, and push for some of the systems to be redesigned if I'd stay, but I already signed paperwork with the new company, and I'm excited to do some contract work to get more exposure to other tech.
The company I signed with also emphasizes training heavily, so that's great--I love learning new things.
 
Kaz
@Hosch250 Awesome man, I hope it goes brilliantly for you!
 
And I'm getting a $10k pay raise in the process.
@Kaz Same for you. Been doing more acquisitions?
 
Kaz
7:35 PM
@Hosch250 We just agreed terms-in-principle on a new one.
Aiming to have the whole thing done inside of 12 weeks.
 
The company that just bought my employer out does that kind of thing.
We're about the 4th system they bought (unless it's the 5th--not sure if one of the systems is their home-grown one or not) that they are still running (phasing 2 out right now). They also sold a 6th system last year...
They specialize in credit card point programs and stuff.
And advertising. Like you walk into a store, and they send you ads about stuff there.
 
I like how my phone asks me "How was McDonald's?" whenever I come out of there with a coffee
 
@Kaz :+1: for you. Hope my situation ends up like yours.
My wife got the job she applied for. Hoping lightning strikes twice.
 
Kaz
@IvenBach Best of luck!
 
Thanks. It'd be working with .NET, C#, VB/A SQL and SSMS. Lots of learning would be involved.
3
I'll let the pond know if I do get it.
 
7:58 PM
@IvenBach You better :D
2
We'll all need to congratulate you.
 
^that
congrats, @Kaz!
Your Debug.Print is showing the "right path" because it's printing a fixed, constant string. It's going to print C:\Users\Admin\Desktop\MacroExcerise` no matter what the contents of MyFile` because that's exactly what you've told it to print. — FreeMan 12 secs ago
 
8:33 PM
@FreeMan so many issues with that post
 
8:46 PM
One thing I'm looking forward to in Core 3 is the love they're giving to gRPC. REST is nice and all, but sometimes you need something with a little more speed. It's gonna be key in sunsetting some of our busier WCF services at work.
 
is that the same thing as the one that Chris mentioned few days ago when we were talking about LSP?
 
Please tell me Me.Update_record isn't the big "update record" button. — Mathieu Guindon 26 secs ago
wtf
 
Woot! Powershell is so not scary once you know how to work with it.
 
@mansellan REST and gRPC both work over HTTP/2, right?
What's the difference?
 
@Hosch250 protobuf, in a word :-)
@this yes
 
8:54 PM
Cool. Thought it was interesting that MSFT had no problem incorporating Google's works. :)
 
Yeah, they play nice with others these days :-)
 
@IvenBach it's not really scary but it is WTF.
 
MS loves Android.
 
Also, re "disable permanently" - big corps tend to deploy over SMS, which means taking install snapshots. If Rubberduck.Telemetry pops up as an installed file, it'll set the paranoia off...
(lol edit, SSMS is something else entirely!)
@Hosch250 not sure if you missed it, but in chat a while ago we were discussing using NLog to do the telemetry, rather than injecting anything new. Rubberduck.Telemetry would then just hold a custom NLog target. No DLL, no target, no telemetry
 
@mansellan Huh.
 
8:59 PM
Also I think it's self-defeating to allow a "download" option later. The idea is to reassure corporate IT that users can never opt in to telemetry.
 
I was thinking it would be more each DLL would gather telemetry on itself, then send the JSON/XML result to somewhere to be sent off to us.
 
out of curiosity - should we care about signing the telemetry DLL?
 
code signing is dead afaiu
 
I've heard mainly arguments against for strong naming, too.
 
as in, net fx ignores it in full-trust settings since 3.5
 
9:03 PM
hm. So you can't digitially sign your code anymore?
 
ah sorry I was thinking of strong naming.
 
But yes the "security" (bit neon scary quotes there) and strong naming is... historical footnotes.
 
@this you can, but it's of limited benifit. iiuc there is no CAS in net core anyway, so its on borrowed time
 
but I got wondering whether big corp IT care that a DLL could be injected or hijacked or etc. etc.
which was why I asked
 
yeah, I'm hazy on the details, so we should look into it
maybe signing is still a thing. then RD.Core would check against the public sig.
 
9:06 PM
which would then guarantee that only genuine Rubberduck.Telemetry can hook into the NLog target
(assuming that NLog itself isn't suspectible to hijacking)
 
In high security envs though, Program Files should be locked down to System, so assembly swaps shouldn't be possible.
(in theory)
 
we do user-installs....
 
Sure, but not to Program Files if that's locked out by GPO. If the user subverts that by installing elsewhere, that's on them.
 
in which case the damage would be limited to that one user but in some scenario that might be just enough damage
 
At the banks I worked at, installing software directly was a sackable offence.
 
9:08 PM
even into the userland?
 
Yep
 
do they lock it down, too?
 
Everything had to go through packaging
 
or you just get audited?
 
Both
Silly really, because VBA can cause just as much damage as an exe...
 
9:09 PM
I suppose in that case, it'd be vetted and therefore, it'd end up as a machine install rather user install
(after all you went the trouble of vetting it, right?)
 
^
and the SMS installer runs as system
 
SMS = ?
 
Systems Management Server. Lets corps control vast desktop estates.
(This was a few years back, it might be called something else by now)
 
:+1: I'm used to it as short message service (the text messaging service on cells)
#TooDarnedManyAcronyms
 
"Fun" fact - the classic Nokia SMS tone (beep-beep-beep, BEEEP BEEEP, beep-beep-beep) isMorse code for SMS.
 
9:13 PM
that's cool
 
@this Oh and silently, in the background, all the time. They run services which constantly scan for unapproved software...
I heard after I left my last one they started keylogging too. Glad I left.
 
bet kids won't even recognize it nowadays. Probably not even SOS.
 
Banks are a whole bunch of no fun.
 
They pay well because they have to. Nobody would work for them otherwise.
 
9:27 PM
> Token filtering:

![Token filtering](https://raw.githubusercontent.com/zspitz/ANTLR4ParseTreeVisualizer/master/token-filtering.gif)

Up next: parser rule filtering...
 
9:40 PM
> I think that if RD is installed under the "Disable Permanently" option, the Telemetry page in the settings dialog should still be visible, but with wording like:

"Telemetry is not currently installed. If you wish to enable telemetry, please go to Control Panel, Programs and Features, then run the Rubberduck installer using Modify".

This:
1. Provides a route to enable later, but
2. Gives reassurance to the corporate IT reviewer that enablement is an install-only option (which they can a
 
@Duga @this - doable?
 
> I think that if RD is installed under the "Disable Completely" option, the Telemetry page in the settings dialog should still be visible, but with wording like:

"Telemetry is not currently installed. If you wish to enable telemetry, please go to Control Panel, Programs and Features, then run the Rubberduck installer using Modify".

This:
1. Provides a route to enable later, but
2. Gives reassurance to the corporate IT reviewer that telemetry is an install-only option (which they can and
 
(bear in mind, under SMS, the installer won't be runnable (or even listed?) from P&F, so those users won't be able to)
@this I meant doable as in, can we provide a Modify path through the installer? (because it wasn't complicated enough already!)
 
Right now, it doesn't have Modify.
it's either install/uninstall
I don't know if Inno Setup supports Modify. I'm thinking no because it's not based on Windows Installer technology (MSI)
 
Hmm ok
Maybe a good time to move to that other framewrok you mentioned? (I forget the name)
 
9:51 PM
1
Q: INNO how to use AppModifyPath directive.

user2958328I am looking for a way to un-install previous version of my software. I see that INNO has the AppModifyPath directive. In testing I do see that this adds a change button when you click on the un-install in the Windows control panel - programs and features. I have searched the web and seem to fi...

looks like it might be possible
 
oh cool
 
but yeah, TBH, if I'm going to touch the installer, I'd definitely want to move to WiX#
 
cool :-)
 
cut down the # of tools we use. It's a bit silly that we're using heat.exe (a WiX tool) to generate Inno Setup installer.
 
We'll have to change the installer regardless of whether we add Modify
Heh, I say "we"... :-)
 
9:53 PM
reading the linked answer it looks like weaksauce - I'd be just passing in some constant
and making for even more complicated pascal script. Yuck
 
:-(
 
ISS isn't very OOP
 
Pascal... makes VBA look shiny and new.
 
IKR? and it's not even Pascal. It's Pascal Script.
 
lol! #TIL that's a thing. WHY?
 
9:55 PM
Because why not?
 
I bet it still has some die-hard fans though...
 
Seriously, I think more importantly only because of its age.
It was one of the first few FOSS project dating from 90s
 
Oh ok. Well respect then.
 
you know, the big bad decade where nothing except Stallman was free?
 
9:56 PM
and most likely Pascal Script was the only free software back then that ..... Mr. Russell? could use
and it has been immortalized ever since.
but wow, its long teeth is.... long.
 
And Inno are keeping the flame burning :-)
 
Anyway, TBH I'm not sure how much effort it'll take to convert, and whether it's worth it.
oh don't forget the version check....
 
Uh, version check?
 
probably not best name
the current installer will check for existing installation
to avoid confusion esp when mixing user / machine installs
 
ah ok
 
10:02 PM
so have to check the version and also the user / machine install because technically only one can be active
and IIRC, if you install user install on a machine that has a machine install, that will supersede the machine install
 
Do we have an issue for migrating to WIX#? Even if it never happens, we should log that we should...
 
but if you install machine install on a machine with an user install, then it will apparently done nothing because user takes precedence over machine.
 
You never know, maybe an installer junkie will see it and jump on board...
 
ehhhh. All I have is "wow, that'd be cool!"
need more rationale than just that.
 
stop being rational :-)
 
10:04 PM
You're right. I should start being logical.
 
rationale: ISS is painful to maintain
 
but nobody touched it for months since I updated it....
 
uh, yeah, because it's painful :-)
 
painful to update, yes. Painful to maintain? No.
 
I'm being flippant. Apols.
 
10:07 PM
no, i'm looking it from the standapoint of effort to keeping the existing code working. ISS has so far been zero-cost in that respect.
if ISS was breaking builds because we moved a file, that'd be painful maintenance.
 
Yep, I agree. It has to work, above all else.
So there has to be good reason to risk change.
 
but you're right that I really don't want to go back to the script and modify that.
the script is very noisy with metric ton of comments i have to put in because.... pascal.
 
It feels like a classic case of legacy code. It works, don't touch it.
But that can limit future growth... tricky.
 
^
 
Doesn't help that it's pure grunt work. No real features per-say, just a bunch of effort to get back to where you were.
But with better prospects
 
10:12 PM
Yes that's why I need a better reason
telemetry might be one since WiX, being based on MSI, can be used via the Modify which we can't support ATM because ISS.
 
OK cool, lets see where it goes.
 
@this you know how to create a custom object in PS that can be piped to ` | Export-Csv`?
 
sorry not off the cuff
TBH whenever I did any PS, that came with copious amount of googling duckduckgoing.
along with a high rate of wtfs/minute
 
10:28 PM
I'm on the right path!
Already been doing that.
 
00:00 - 19:0019:00 - 23:00

« first day (1924 days earlier)      last day (1256 days later) »