« first day (1897 days earlier)      last day (1283 days later) » 
00:00 - 16:0016:00 - 00:00

12:00 AM
RELOAD!
[rubberduck-vba/Rubberduck] 87 commits. 2 opened issues. 5 closed issues. 164534 additions. 111689 deletions.
[Minesweeper] Games Played: 81, Bombs Used: 41, Moves Performed: 11903, New Users: 6
 
@this bear in mind though, there will be no net core 4. it's core 3, core 3 LTS, then core 5... They don't want to confuse people by having both core and fx at v4.
so, reading between their lines, core 5 is when fx is officially v.Last...
and realistically, v5 is probably when RD needs to seriously start eyeing up the jump
November 2020
 
GTK.
 
trouble is, they'll start dropping OS support after v3 i think
 
Another piece of evidence for @MathieuGuindon :
 
so, tough decisions perhaps
 
12:07 AM
> Compatibility will almost always be given a higher priority than improvements.
what do you mean by OS support? You kind of can't run it without OS....
 
no, I mean by the time v5 lands, Win7 will be EOL
maybe 8.1 too?
 
Oh ok. Yeah.
 
(that's my prediction only, nothing to substantiate)
 
IDK if anyone is actually running 2007 or older version of Office on Windows 10.
 
heh, I am (in a test VM, but still...)
 
12:10 AM
so it can be installed still, then.
 
oh yes
 
though in my mind, 2010 is the last version worth having if you're considering only post-ribbon-era
 
Office 2000 runs in Win10 just fine (other than clippy's mask turning magenta!)
 
2003 is the last version worth having -- 2000 and 2002 are garbage in comparison to 97 or 2003, I think.
LOL
that's a sight!
 
Jul 17 '18 at 23:53, by mansellan
user image
hmm, that looks like Win7. But it does work in Win10 too.
 
12:13 AM
electrifying!
I wonder if it'd work again if you turned off the aero or whatever it is
 
oh yea, didn't think of that!
 
but OTOH, this is an improvement because it makes you want to get rid of clippy even faster. ;-)
 
its probably the aero DWM tricks throwing it out
I think its more important to retain host support than OS support.... fortunately that's an easier task, because the VBE never changes :-)
 
^
 
it's probably reasonable (but not ideal) for RD to drop OS support when the OS goes EOL
fast approaching for win7 :-(
 
12:17 AM
> Is this the reason that renaming a procedure either manually or with RD breaks any references to that procedure from Excel buttons, shapes, ActiveXcontrols, etc.?
 
Unfortunately.
 
win7 is still the best UX to date IMO
 
@mansellan Win10 FTW.
 
more importantly, it's not in your pants.
whereas Win10 wants to be. yuck.
(yes you can turn off blah blah blah, I call bullshit)
 
@23fc9a62-56de-47fb-97b4-737890 meh... kernel is OK. UI is too flat. UX is too stupid-ified.
 
12:19 AM
I'm rejoicing that Win7 is dying.
I won't have to support IE 8 anymore.
 
and god, the telemetry... yuck
 
@mansellan At least it has clickable controls.
 
clickable controls?
 
i think he means buttons.
 
uh, win7 had buttons?
 
12:20 AM
hence the joke. :)
 
feel like i'm missing something...
 
I mean the start menu has tiles instead of lists.
So I can hit what I aim at.
 
1st thing I do on win10, delete all the tiles.
 
And I have a full screen, instead of a tiny little box.
 
> If Rubberduck doesn't know x is a control, then it can't help you with renaming the related handlers. The vanilla VBIDE perhaps knows but is too lazy to care. 😆
 
12:21 AM
@mansellan Hey, I'm not saying it's bad to have the other. I just like it this way.
 
heh, someone has to :-)
my laptop is not a phone...
In general, I like the new MS. But I don't like the control-freakery. They absolutely did not have to rip Aero out, they could have left us the choice. But they want to be Apple, and Apple doesn't do choices.
And they're still at it. Every UV on this topic gets closed as a dupe, pointing to a wont-fix:
</rant>
 
TBH, I do think that having a choice is an issue than an asset.
 
12:44 AM
> To clarify - we have plan in the works to make RD know so it might be possible to help with renaming the handler. However, being a VBIDE add-in, we can't have a complete visibility into how the host references the controls which may require you to make changes in host (example renaming of a control might break an expression used in Access macro or in an custom ActiveX control using expression rather than VBA). In those cases, we just encourage to not write "code" in those properties but rather
 
grumbles grumbles stupid VS cache
 
@this you don't like choice?
 
I just want it to work.
 
well sure :-) they're not mutually exclusive...
 
ah, but if I have to flip a switch, push a lever or push a button to get something I want, then I'm doing too much.
 
12:50 AM
hmm... I guess you don't redecorate much ;-)
 
 
I'm being flippant of course. I take your point that good UX is often about removing choice to provide a workflow. But I don't think wanting to select a UI theme is unreasonable...
 
I guess my problem is that they keep changing the default theme for .... what?
 
yeah...
 
so saying "you can switch it back!" just rubs me the wrong way
 
12:53 AM
Flat is in. Lets do flat. EVERYONE MUST DO FLAT!
 
yeah, pretty much.
it's funny because I'm pretty sure we were doing the flats in the 90s
late 80s/early 90s, rather.
 
yep, give it 5 years and glass will be back on trend.
 
the circle of life....
 
anyway, ttgtb. night all :-)
 
later!
 
1:07 AM
> So I might use the Worksheet_SelectionChange event instead of setting the OnAction property of a Shape to check when a certain object is clicked?
> So in Excel for example, I might use the Worksheet_SelectionChange event instead of setting the OnAction property of a Shape to check when a certain object is clicked?
 
1:21 AM
A question for anyone --- I have those tests setup testing the mock argument resolutions:
[TestCase(MethodSelection.DoInt, MockArgumentType.IsAny, typeof(int), 1)]
[TestCase(MethodSelection.DoInt, MockArgumentType.IsAny, typeof(int), 2.2)]
[TestCase(MethodSelection.DoInt, MockArgumentType.IsAny, typeof(int), "1")]
[TestCase(MethodSelection.DoInt, MockArgumentType.IsAny, typeof(int), null)]
[TestCase(MethodSelection.DoString, MockArgumentType.IsAny, typeof(string), 1)]
[TestCase(MethodSelection.DoString, MockArgumentType.IsAny, typeof(string), 2.2)]
[TestCase(MethodSelection.DoString, MockArgumentType.IsAny, typeof(string), "1")]
note that with IsAny, the actual type of argument (the last parameter) doesn't matter.
so it's "loosely-typed"
however, with Is, tests will fail for wrong types (e.g. "1" for int and so on). Do we ant to make the Is loose, too?
 
1:36 AM
> @CHI-IS-B I wouldn't say you should change your ways. Setting a shape's OnAction to some macro is perfectly idiomatic, and not assigning a macro to a shape has user-facing UX consequences, such as the mouse pointer not turning into a hand to indicate clickability - no, IMO the real way to do this is to somehow probe the host document for controls/shapes, just like we do for a UserForm... even if it means host-specific logic needs to be implemented for it.
 
@this is the IAssert approach possible? i.e. having a default/strong implementation along with a permissive one with VBA-like rules?
 
the VBA expression will ultimately be likes so Mock.Setup("SomeMethod", .It.IsAny, .It.Is(1), .It.IsNotNull) or something like that.
Obviously I cannot do generic as is the case with It type; it'll always have the same type as provided by the ParameterInfo.ParemeterType
 
hmm
I say go with treating "1" as a string
 
which means I have no way of guaranteeing that the input will be same type - not sure if VBA will already have cast before sending to me or I'll get them as-is.
the test is failing because I'm basically assigning a string to an expression expecting an int.
I can put in an explicit Expression.Convert, I guess but that might blow up if it's not convertible.
 
How about It.IsConvertible?
 
1:44 AM
IsAny doesn't care.
it's Is that cares.
which feels inconsistent.
 
Eh, this is a first pass - let's just have something that works, and fine-tune later?
 
I know - trying to decide on a reasonable behavior
whether to make it all loosey-goosey or make it all strict (I want the first to be at least consistent)
 
I vote for strict =)
 
thinking about it some more, strict would be easier for me to implement.
alright. thanks for sounding off with me - I'll revise the resolver & tests to be strict all the way
 
Just to be sure, float types don't matter right? i.e. double won't care for a single?
ditto integer vs long
 
1:48 AM
RE: that issue above --- I was thinking about expressions embedded in an OnAction or the equivalent. It's kind of those stuff that I wouldn't want anyone doing. A simple name resolving to a method on a standard module is reasonable enough.
good question. I don't have a test for this case yet.
I'll add that
 
@this right. "=MsgBox(""mwahaha"")" is criminal
 
yeah. that was kind of what I was getting at (and failing) in my earlier comment.
 
tbh I didn't even know that was possible until earlier today
 
2:07 AM
in Access you can choose between expressions or event handlers
some get lured because when you use expressions instead of events, it is easy to copy'n'paste without having to program that control's event, or to call a common function using parameters that takes from the context (e.g. current control as a parameter)
Personally I hate them because it only means more hiding places that VBIDE doesn't even know about and is too apathetic/lazy to look
 
 
3 hours later…
5:10 AM
@this soon enough we’ll have Sheldon memes in chat too.
 
 
3 hours later…
8:30 AM
0
Q: Modify code to compare two files and link to user-form

Miriam ListDue to the help of the community here I ended up with a working code that serves its purpose. The code itself compares two sheets and then creates a report file with the differences between the sheets. In want to add a user-form on a separate Excel file. It should have two inputs. Path of the ...

 
> The inconclusive test result "[expected] and [actual] values are not the same type." gives no additional information, making it very hard to identify what went wrong in a test where there are more than one assert.

Ideally it would show the values (and types) of expected and actual, but if this is difficult then it would be ok if we could simply have the assert description show so that one can easily identify which assert failed.
 
 
2 hours later…
 
2 hours later…
12:15 PM
@this Basically the premise of Wall-E
 
12:54 PM
@mansellan I like your rant, please feel free to carry on. I'll be over here cheering you on from the sidelines. </RantVoiceTired>
@MathieuGuindon It.IsRemovableHardTop, It.IsTurbocharged, It.IsSupercharged... I'm down with that
 
@FreeMan need It.IsPoliceMagnet and It.IsGoingToGetALotOfExpensiveTickets
 
Fair enough, but also It.IsQShip... ;)
 
1:15 PM
Sorry, how did we go from cars to a submarine-sinking "merchant' ship?
 
49
Q: What is the hottest thing in the universe?

Bruce BeckerStraight from my 7 year old to you, exactly what it says on the cover: What is the hottest thing in the universe? To make it Stack Exchange-friendly, I'll add the following caveats: it should be bounded, as in an actual compact object, or class of objects, or part of an object it should b...

I think the correct answer here is "Your mom".
 
Me thinks not age appropriate. I approve that answer however.
 
1:32 PM
> **Rubberduck version information**
Version 2.4.1.4819
OS: Microsoft Windows NT 10.0.15063.0, x64
Host Product: Microsoft Office 2016 x64
Host Version: 16.0.4873.1000
Host Executable: MSACCESS.EXE


**Description**
A `UseMeaningfulNames` inspection popped up for a parameter on the 2nd line of a multi-line procedure declaration. I selected the `Ignore Once` quick fix and nothing happened. I took a look at the log thinking this was another occurrance of #5085 and that I'd have a full log
 
@this Q-Ship is the name applied to a fast car that looks bone stock. As opposed to the cars that look like they pillaged a Pep Boys (or 2), but can barely get out of their own way.
 
@this wolves in sheep's clothing...
 
@this Fairly well agreed upon, primary usage depends on which side of the pond you're on. (Or which side's term you prefer to use...)
 
No, you said Q-Ship, they said Q-Car
(and of course, yet another "they" says Sleeper car which I consider an alternate term for same thing)
But! It's a wiki! you can edit it to make it agree to you! :D
 
1:46 PM
oh, gotcha. yea, well, whatever... scurries off to create a wikipedia account so he can correct the internet
 
don't need an account to suggest edits...
anon-edits are a thing
 
 
@Vogel612 Only if you want to broadcast your IP address.
 
yay for TOR and VPNs?
worst case I could actually mask myself by dialing into my uni network.
it's not like they can follow me through the uni firewall
 
@this ^exactly
Is this a false negative inspection result?
Dim x As class1
Set x = New Class1
and x is never used in the procedure, shouldn't that be flagged?
as... something?
 
1:51 PM
yeah if it's actually never used further down, that should have had a result
 
Incomming!!!!
 
@FreeMan that would be "assignment not used"
 
You guys seen the new XKCD yet?
 
it'll probably land in the feed around lunch
but, no :)
 
Funny, it hit another chatroom already...
 
2:01 PM
hm
 
> **Rubberduck version information**
Version 2.4.1.4819
OS: Microsoft Windows NT 10.0.15063.0, x64
Host Product: Microsoft Office 2016 x64
Host Version: 16.0.4873.1000
Host Executable: MSACCESS.EXE

**Description**
I have a variable that's _assigned_ but never again referenced, but no inspection result.

**To Reproduce**
```
Public Function UpdateTableLinks() As Boolean

Const CONNECTION_TYPE As String = "ODBC;"
Const CONNECTION_DESCRIPTION As String = "Description=Development
 
huh, it's not in the feed list
 
@23fc9a62-56de-47fb-97b4-737890 "Serena"? yeah
 
2:39 PM
OK, I'm starting to think it's intentional now... I still can't DL the installer exe files from GH, and they've blocked Google Drive (and basically all file sharing sites).
 
Good for me, they don't know that I can DL the source code and build it myself! Mwhahahahahaha!!!!!
 
Sets task for next week.
RD community braces for incoming bevy of "Why can't I compile this" questions...
oh, I also DL'd the installer on my home machine, changed the extension from exe to txt and emailed it to myself. it got blocked by Exchange Server
Ha!!!
I logged into my Gmail account on my work machine, went to my sent items and downloaded the attachment from the sent email.
Man they make it hard to bypass security...
 
2:46 PM
@Duga I had a suspicion it might have to do with the jump labels, but that didn't pan out..
 
@23fc9a62-56de-47fb-97b4-737890 yeah, I know. It's like TSA - it's all theater. Anyone determined enough will get around whatever security measures they implement.
I was annoyed and determined enough to bypass whatever simple blocks they decided to put in place.
Besides, I need to learn how to compile the project if I'm gonna work on it, so I'll go with that route in the future. This was a "because I can" pass.
 
> The problem here is that you can't just insert the annotation manually, because IIRC we're not currently scoping Annotations to logical lines. Note that I might be wrong here.

If we're **not** scoping them by physical lines, the correct fix here would be to insert it before the logical line instead of just warning and bailing out.
 
I'm glad to know that my insurance information is handled by people who can expose my data to anything they want.
I mean, I know RD won't do anything, but still...
 
@23fc9a62-56de-47fb-97b4-737890 how long have you been in IT?
 
@Vogel612 Too long :D
 
2:50 PM
There are lots of very smart people doing fascinating work on cryptographic voting protocols. We should be funding and encouraging them, and doing all our elections with paper ballots until everyone currently working in that field has retired.
4
 
IT is the reason why the shadow IT is a thing, basically.
 
> wear gloves
lol
 
FWIW, computers are more like cars than airplanes, since anyone has full control of the hardware.
And we all know how safe those are...
 
to be fair, though, airplanes are more computerized than it used to be.
very few, if any still fly by stick in the literal sense of word.
 
Two relatives and several of my parents friends were made incapable of working or killed by cars.
I don't like cars--but I trust computerized versions mixed with human-controlled versions even less.
And I don't trust first-version computerized versions of anything.
Airplanes, for example, are built by a few companies with highly trained engineers.
 
2:58 PM
oh yeah, like Boeing and Airbus, right?
 
Computer software is built by random joe with no knowledge.
 
and still shit like the 737-MAX-8 happened
 
I mean ... sure airplane travel is pretty safe
 
Even experts can make mistakes.
But non-experts make MORE mistakes.
And it taints the whole industry.
 
2:59 PM
you're saying that Boeing and Airbus hired random joes to do their software.
I find that unlikely.
 
but comparing aviation to cs is a bit... unfair, because Aviation existed for two to three more generations than CS
 
IDK, as I said, few still fly by stick nowadays.
 
@this No, I'm saying the accessibility of creating software is different.
And, Vogel is right. CS now is like aviation in the 20s.
 
It is true that Aviation is much older but it was also much more mechanical/physical whereas CS is more abstract
It is literally impossible to build a working airplane that isn't aerodynamic.
 
@this that's not the issue, actually. The primary issue is the safety and security aspect
 
3:01 PM
But it is possible to create a flawed model in abstract.
 
and the fact that CS very much lacks formal verification methods for both aspects
for aviation, even with such formal frameworks, systems still failed and investigations were necessary
 
True. But in all times, you're always constrained by the laws of physics when you're building an airplane.
 
but even having such methods for CS might not help if we keep using turing-complete languages
 
So it was the final arbiter of whether an airplane was airworthy and was safe to use, etc.
CS has nothing like that.
 
physics didn't give a damn whether the airplane was "safe to use"
 
3:03 PM
We must make a model, and hope it is correct to begin with.
 
it just crashed those that weren't
 
which is making my point?
 
and humans decided that it's not so great for planes to crash
and when planes stopped crashing because of physics they started crashing because of humans being stupid meatsacks
which wasn't really involving physics, but still kept planes in the "unsafe to use" area
 
That's why they developed the whole process of testing the airplanes from the blueprint to the production rollout and had test pilots risking their lives to develop the prototype. But they always were verifying it against the laws of physics all the meanwhile.
 
FWIW, airplanes are only safe until some terrorist finds out what security researchers have already found.
 
3:05 PM
> Actually, @Vogel612 , you can insert the inspection manually (so long as you do it before the first physical line of code). I did so on my code that raised this issue.
 
Airplanes can be remotely hijacked through the auto-pilot system.
 
> Then there is no reason for this to be [status-bydesign]. Instead we should just inser the annotation at the appropriate location (before the logical line)
 
the laws of physics in aviation are like the compiler for software
 
> Actually, @Vogel612 , you can insert the inspection manually (so long as you do it before the first _physical_ line of code). I did so on my code that raised this issue.

Well, maybe you can do it if you insert it in the logical middle somewhere, but I didn't try that (and it shouldn't work because you can't continue after a commented line continuation, I don't think).
 
ah ah ah, but how do you know the compiler is correct?
we don't write the phsyics, but we do write the compiler.
which means you must verify that compiler does the correct thing.
 
3:07 PM
the compiler is but one piece of the thing we wrote.
 
that is much harder to do than just going out there and flying
 
@Vogel612 tbh I'm not sure the Max8 jumbo engine being misplaced wrt its weight vs its position under the wing has nothing to do with physics crashing it
 
you might just as well ask how you know the assembly implementation is correct
or how the CPU is correct
verifying the compiler is actually comparatively trivial
 
remember in this case, the software for airplane must accurately model the real world. If it doesn't, then it's going to crash the plane that is otherwise airworthy and safe.
e.g. MAX 8.
 
because you can create a transpilation chain down to assembly
 
3:08 PM
great. how do you transpile to physics?
 
@this i know it as q car. reason is that beyond a certain (heavy) level of modifications, a uk car is (was?) no longer allowed to keep its original registration number with a date-based letter. so it gets issued a new one which starts with a Q.
 
@this assembly transpiles to physics at runtime
that is extremely quotable, actually
 
Now that I nerd-sniped y'all, I'll get the popcorn out.
5
 
yet, MAX 8 managed to crash anyway.
 
it's completely wrong, but it's quotable
 
3:10 PM
I very much doubt they shipped it without testing
but in use, it turned out to be completely wrong.
because the real world is much more complex than the simplified model they used in testing
 
@this that's the thing: Max8 isn't airworthy and safe without the software that compensates for Boeing's "hey let's debalance the aircraft because budgets instead of making a bigger plane for the bigger engine"
 
@MathieuGuindon that's just duct-tape, though.
it's mostly working duct-tape, but it's duct-tape
 
@MathieuGuindon Everything, yet nothing. Boeing wrote the MCAS software to accommodate the difference in physics between the 737-Classic/NG and -Max so that for the pilot, they were supposed to fly the same. They were trying to shortcut the certification process to continue using the 737 name and current training instead of having to spend years type-certifying a whole new aircraft and developing all new training.
 
@this isn’t that valid for most anything?
 
3:11 PM
Keep in mind that this kind of thing was done with fighter jets
since they wanted speed and manueverability and were willing to put in software to make it "flyable"
 
@this fighter jets don't usually have propulsion angle of attacks other than "from straight behind"
 
MAX 8 was (I think?) the first commerical plane to be unstable without software
 
Hopefully the last too
 
@this FWIW, it's not JUST software with fighters.
 
No, but the jerks at Boeing thought "hey, we did it in a fighter, we can do it in MAX 8, too!"
 
3:13 PM
Fighter planes are made to be inherently unstable, regardless of software.
 
Not so much that it's unstable, but that without the flawed MCAS system it was different than the previous 737s
 
If you are just flying a fighter without input, it won't fly steady.
It'll nose up/down and/or roll.
 
@this I read it "hey we did it with a single-pilot aircraft, let's do it for a 300-passenger one"
 
Passenger planes will fly steady without any input.
 
the MCAS was supposed to make it behave as though they hadn't change the CG and thrust line so the pilots wouldn't have to learn to fly a new plane.
Problem is, they based it on only one of the 2 available AoA sensors - if one fails, the whole system fails.
 
@FreeMan see, that ties back to the point I was trying to make earlier, if you're constructing a model, you have to verify the model. If it's constructed in abstract, you're going to find out that it's always flawed or incomplete
 
MCAS should have never been needed. Boeing should have sucked it up and get a brand new plane certified instead of patching up a proven model with a supersized engine
 
When we were building airplanes and flying it by stick, we got to see quickly if it was airworthy because we only had one model --- the laws of physics.
but when we start to write software and thus adding layers of abstraction, well, it will leak.
 
@this which are still usually calculated using abstractions, because nobody wants to solve multidimensional integrals for a "simple" drag force calculation
 
Yeah, but there's a difference between falling 10 feet and ten nanometers, thanks to the differences in error.
 
3:20 PM
That is true and there is still a difference between calculating for a drag force vs. correcting for unstable aircraft and fooling the pilot driving it.
The latter has more abstractions than the former.
and that is always going to end badly.
 
Sheesh.
Symantec just blocked an Office update for being only 2 days old...
It said "Our calculations indicate this file is safe, but it's only 2 days old, so sorry...."
 
fucking symantec.
 
> Symantec
I see the problem.
 
Yeah...
Work computer.
Also, I don't appreciate having to reboot every Friday for KACE updates
 
> Annotations are speed by _physical_ line. If you insert it above the logical line, it will simply not do anything to stuff below the first physical line.

You cannot insert an annotation in the middle of a logical line because it turns everything following it into a comment.
> Annotations are scoped by _physical_ line. If you insert it above the logical line, it will simply not do anything to stuff below the first physical line.

You cannot insert an annotation in the middle of a logical line because it turns everything following it into a comment.
 
3:30 PM
Stupid autocorrect
 
@M.Doerner lol
TBF, I did note that it shouldn't work by inserting it in the middle of the logical line somewhere...
@MathieuGuindon Agreed. However, MCAS probably would have been fine except that Boeing was following the letter of the law regulation, not the spirit. They sent out notifications and alterations to the suggested training, but didn't emphasize enough how it worked and made the MAX different than the NG. Because of that, when it failed, the pilots didn't know what was happening and how to counteract it (i.e. shut off the faulty MCAS and fly by hand).
If they'd made a bigger deal out of the MCAS and had highlighted the training differences required, there probably wouldn't have been 2 crashes and 400+ aircraft sitting in storage.
 
hence "fiasco" being the best descriptive =)
 
yup!
The 737 has been so successful for them, they didn't want anything to appear to upset the apple cart. If there were significant enough differences, airlines like Southwest, which exclusively flies the 737 wouldn't have bought into it. They save a ton on common parts, maintenance and training.
Now they've done gone and shot themselves in das foot.
and... right on cue from The Hanger
in The Hangar, 4 hours ago, by Federico
https://www.schneier.com/blog/archives/2019/08/software_vulner.html
in The Hangar, 4 hours ago, by Federico
> Software Vulnerabilities in the Boeing 787
in The Hangar, 4 hours ago, by Federico
> An attacker could potentially pivot, Santamarta says, from the in-flight entertainment system to the CIS/MS to send commands to far more sensitive components that control the plane's safety-critical systems, including its engine, brakes, and sensors.
in The Hangar, 3 hours ago, by Jamiec
And their response: *fingers in ears* lalalalala if i cant hear you its not vulnerable lalalalaa
 
00:00 - 16:0016:00 - 00:00

« first day (1897 days earlier)      last day (1283 days later) »