« first day (1501 days earlier)      last day (1679 days later) » 
00:00 - 14:0014:00 - 00:00

12:00 AM
RELOAD!
[rubberduck-vba/Rubberduck] 3 commits. 6 opened issues. 4 closed issues. 13 issue comments. 258 additions. 494 deletions.
 
12:11 AM
Reserializing the declarations only broke 34 unit tests. I was expecting much, much worse.
 
12:40 AM
> Closes #3326 Partially addresses #4096 IMPORTANT: This PR does not update the serialized declarations used by the unit tests. At some point these apparently became stale, so 34 tests are failing with the new declarations. I will PR the new declarations when #4182 is resolved. @Future: If you make any changes that effect the behavior of the COM collection, you HAVE TO update the serialized declarations files for the unit tests. If you don't, it basically invalidates the tests and...
potentially masks bugs.
 
Well damn... The Office 8 interop lib looks pretty broken... tried regenerating from MSO97RT, same cast fail. Might need some help from the IDL \ interop gurus on this one...
(#insomnia)
ttg(b)tb
 
[rubberduck-vba/Rubberduck] build for commit b6b9d741 on unknown branch: AppVeyor build succeeded
 
I do not like Powershell, Sam-I-Am. I will not have it.
 
> # [Codecov](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/4189?src=pr&el=h1) Report
> Merging [#4189](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/4189?src=pr&el=desc) into [next](https://codecov.io/gh/rubberduck-vba/Rubberduck/commit/93f51434821ddf0f6ab13ee3f1e30f1003690bad?src=pr&el=desc) will **decrease** coverage by `0.21%`.
> The diff coverage is `0%`.


```diff
@@ Coverage Diff @@
## next #4189 +/- ##
===========================
[rubberduck-vba/Rubberduck] build for commit b6b9d741 on unknown branch: 52.25% (target 0%)
 
12:59 AM
which part is the PS quotes bothering you. There is a SO discussion if this helps @this
is there any configuration you would like me to test on my system while I am online?
 
@PeterMTaylor everything. It's basically that the quoting rules are way too arbitrary and thus difficult to memorize. Sometime you don't quote at all. Sometime you need ' to quote. Sometime you need to use ". Sometime you need to use some different commands (e.g. put in & in front) if you need to embed quotes. I could go on but the overall point is that there is no simple rule to managing the quotes/commands.
It does not help that I'm going from batch to PS (and sometime I'm running batch-like command from PS) which further complicates the quoting issue which was already complicated to begin wtih.
 
> Thanks to @rkapka for the assistance - there is an issue with space in the path for powershell script. This PR fixes the issue and also fixes the issue with MIDL which is uh, weird about backslash in the path (and it doesn't want to take a full path but a directory and file name separately). Since I was mucking in the script, I took liberty of adding auto-deletions of previous debug registration scripts with hard-coded for 10 files. I also noticed that newer project did not have the...
analyzer referenced so I added them as well.
 
@Duga @Vogel612 something to keep in mind when you make new project - you need to manually add the analyzer reference to ensure the project is covered. Technically it's overkill since the only project that should have COM stuff would be within the API and Main but we want to catch them all, so...
 
1:17 AM
[rubberduck-vba/Rubberduck] build for commit fc2c8176 on unknown branch: AppVeyor build succeeded
[rubberduck-vba/Rubberduck] build for commit fc2c8176 on unknown branch: 52.46% (target 0%)
 
okay resync my version to do a test
 
> At some point, changes were made in either the `ComReflection` namespace that let changed the declarations returned by the `ReferencedDeclarationsCollector`. The serialized libraries that are used by the unit tests were _not_ updated. This means that any unit test that relies on a set of `SerializableDeclaration`s is now suspect.

When I attempted to update them for PR #4189, I was greeted with 34 failing tests and hundreds of lines spamming the output window like these:

```
2018-07-15 1
 
1:35 AM
umm...question is it safe to update Castle.Core to 4.3.1 as per Nuget. Anyone know if this is revelant?
 
i wouldn't change versions.
 
oh okay
 
> Instead of serializing declarations, would it be better to maintain `.idl` files, which can be compiled without a backing implementation. That then can be unit-tested without going stale since we now have to actually load the type library and can reliably load it since we are now generating it ourselves?

For contributors that don't have C++ build tools (and therefore MIDL compiler), the tests can be set up to fall into inconclusive state. However, AppVeyor has MIDL so we can rely on it to a
 
Severity Code Description Project File Line Suppression State
Warning CS1762 A reference was created to embedded interop assembly 'stdole, Version=7.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' because of an indirect reference to that assembly created by assembly 'office, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c'. Consider changing the 'Embed Interop Types' property on either assembly. Rubberduck.VBEditor.VBA C:\Users\Peter\Source\Repos\Rubberduck\Rubberduck.VBEditor.VBA\CSC 1 N/A
interesting...Severity Code Description Project File Line Suppression State
Warning There was a mismatch between the processor architecture of the project being built "MSIL" and the processor architecture of the reference "olewoo", "x86". This mismatch may cause runtime failures. Please consider changing the targeted processor architecture of your project through the Configuration Manager so as to align the processor architectures between your project and references, or take a dependency on references with a processor architecture that matches the targeted processor architecture of your pr
 
> @bclothier That's probably not a bad idea at all, especially given the way we're currently using them in the tests. What makes that an even better idea is that we could finally write unit tests for the ComReflection namespace.
 
1:49 AM
@PeterMTaylor expected because olewoo uses C++. Not a problem since no 64 but vs exists and its only for building anyhow.
 
yes i recall conversation this morning about needing C++. I decided to go into features and ensure I have libraries from C++ in and recompile hopefully resolves 401 errors I have now from last resync.
 
You shouldnt need c++ to build.
 
I felt I would need it.
 
Ok, but i worry it may not resolve the 400 errors. There even shouldnt be any errors.
 
okay @this will post any changes from what I had done last time instead of accepting Nuget's upgrades as suggested.
 
If you look at the output console what is the first error reported?
 
sorry had to close VS for the installer to put in C++ stuff. I will post that response once its finish as my hard disk is very slow and old active 100% most of the time even for swapping memory to disk vis versa.
16 out of 129 packages to go. sigh :\
 
2:26 AM
okay updated....rebuilding...
 
> # [Codecov](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/4189?src=pr&el=h1) Report
> Merging [#4189](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/4189?src=pr&el=desc) into [next](https://codecov.io/gh/rubberduck-vba/Rubberduck/commit/93f51434821ddf0f6ab13ee3f1e30f1003690bad?src=pr&el=desc) will **decrease** coverage by `0.21%`.
> The diff coverage is `0%`.


```diff
@@ Coverage Diff @@
## next #4189 +/- ##
===========================
 
okay...first error sorted in my Error List.
Severity Code Description Project File Line Suppression State
Error The type reference cannot find a public type named 'EndOfLineCommentStyle'. Line 20 Position 34. Rubberduck.Core C:\Users\Peter\Source\Repos\Rubberduck\Rubberduck.Core\UI\Settings\IndenterSettings.xaml 20
Error The type reference cannot find a public type named 'CodeInspectionSeverity'. Line 38 Position 25. Rubberduck.Core C:\Users\Peter\Source\Repos\Rubberduck\Rubberduck.Core\UI\Settings\InspectionSettings.xaml 38
 
> Addressed potential leaky pointers, no longer WIP. Props to @MDoerner - the DisposalActionContainer made that a cake walk, it's definitely going in my tool bag.
 
2:46 AM
[rubberduck-vba/Rubberduck] build for commit aa7bfdbe on unknown branch: AppVeyor build succeeded
> # [Codecov](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/4189?src=pr&el=h1) Report
> Merging [#4189](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/4189?src=pr&el=desc) into [next](https://codecov.io/gh/rubberduck-vba/Rubberduck/commit/93f51434821ddf0f6ab13ee3f1e30f1003690bad?src=pr&el=desc) will **decrease** coverage by `0.23%`.
> The diff coverage is `0%`.


```diff
@@ Coverage Diff @@
## next #4189 +/- ##
===========================
[rubberduck-vba/Rubberduck] build for commit aa7bfdbe on unknown branch: 52.24% (target 0%)
German translations for Autocompletion Settings

Signed-off-by: Imh0t3b <cmasius@web.de>
[rubberduck-vba/Rubberduck] Imh0t3b pushed commit 6ce76af1 to next: Issue #4016 AddComponentCommand should use the active project name as a default folder name
[rubberduck-vba/Rubberduck] Imh0t3b pushed commit db533ffc to next: suiggested changes by Vogel612
Merge pull request #4171 from Imh0t3b/next

German translations for Autocompletion Settings + closes #4016
[rubberduck-vba/Rubberduck] retailcoder pushed 13 commits to next (only showing some of them below)
[rubberduck-vba/Rubberduck] WaynePhillipsEA pushed commit 774aed7b to next: push the user defined arguments dictionary into the VBAPreprocessorVisitor
[rubberduck-vba/Rubberduck] WaynePhillipsEA pushed commit 3f08f256 to next: add the user defined compilation arguments to the symbol table
[rubberduck-vba/Rubberduck] WaynePhillipsEA pushed commit f4ba846a to next: removes incorrect whitespace from symbol name
[rubberduck-vba/Rubberduck] WaynePhillipsEA pushed commit ca7cd95f to next: don't try to get user defined compilation arguments for the mocks
[rubberduck-vba/Rubberduck] WaynePhillipsEA pushed commit 5c6bfc64 to next: fix ParentProject / IVBProject leak
[rubberduck-vba/Rubberduck] WaynePhillipsEA pushed commit 7d6b29a1 to next: corrected the builtin compilation constants
[rubberduck-vba/Rubberduck] WaynePhillipsEA pushed commit 18af41aa to next: correction for builtin constants, which are not really Booleans, but shorts (1/0 not -1/0)
[rubberduck-vba/Rubberduck] WaynePhillipsEA pushed commit e6da06f9 to next: fixed incorrect preprocessor unit test
Merge pull request #4175 from WaynePhillipsEA/next

Add user-defined project-level compilation arguments to the preprocessor
[rubberduck-vba/Rubberduck] MDoerner pushed commit 99b41b47 to next: Made the major and minor version on AddReferences on the MockProject mandatory to avoid that people forget to set them when they are required.
Merge pull request #4186 from MDoerner/FixReferenceVersionsInTests

Makes major and minor version numbers mandatory when adding references in tests
[rubberduck-vba/Rubberduck] comintern pushed commit b7f582e5 to next: Fix return types. Ref #4096, others.
[rubberduck-vba/Rubberduck] comintern pushed commit 4a2792d6 to next: Implement short-form properties.
[rubberduck-vba/Rubberduck] comintern pushed commit e8ae8080 to next: Improve resolution of ComField types.
[rubberduck-vba/Rubberduck] comintern pushed commit 54263fce to next: Tweaks for last prior commit, improve object resolution.
[rubberduck-vba/Rubberduck] comintern pushed commit 290e7e25 to next: Update serialized declarations in unit tests to reflect COM collection changes.
Revert "Update serialized declarations in unit tests to reflect COM collection changes."

This reverts commit 290e7e2579ea27e19f967e537314f14eb4325db2.
[rubberduck-vba/Rubberduck] comintern pushed commit aa7bfdbe to next: Implement disposable resource pattern in ComReflection (nice catch @bclothier). Addresses possible pointer leaks.
Merge pull request #4189 from comintern/next

Fixes type name resolution and implements short form properties in COM collector.
Fix space issue in the path for powershell
Handle space for MIDL compiler
Implement deletions of old registry entries (currently set to 10 files)
Add analyzer to the new projects
Merge pull request #4190 from bclothier/FixDeploymentPath

Deployment bug fixes & Analyzer for new projects
[rubberduck-vba/Rubberduck] build for commit b8c99c9d on next: AppVeyor build succeeded
[rubberduck-vba/Rubberduck] build for commit b8c99c9d on next: 52.46% (target 0%)
[rubberduck-vba/Rubberduck] build for commit 693d266f on next: AppVeyor build failed
BUILD FAILURE!
 
3:53 AM
[rubberduck-vba/Rubberduck] build for commit e5e7728b on next: AppVeyor build succeeded
[rubberduck-vba/Rubberduck] build for commit e5e7728b on next: 52.22% (target 0%)
> I'd go 10 steps further with this personally. IDL doesn't have a [Flags] attribute for enumerations like .NET does, but it should be relatively easy to heuristically determine whether or not a set of enum values represent bit masks at a high confidence level. I'd propose adding a custom decoration to those enumerations and basing inspections on _that_ also. I.e.:

> **Mathematical operation on an Enum that doesn't represent flags**
> Mathematically operators are being applied to members of
 
4:27 AM
> I know this is already merged but there is one more consideration...

From [the specs](https://msdn.microsoft.com/en-us/library/cc237750.aspx), we see that:
> ppFuncDesc: MUST be set to a FUNCDESC structure (see section 2.2.42) that contains the data values associated with the specified member of the method or dispatch method table, or NULL if no such member exists.

It might be that the.NET implementation will throw exception in such cases but I would rather not assume. Therefore, before
> This appears to be fixed in next, possibly via the recent PRs with COM collection fixes.
 
4:45 AM
> @bclothier - This line specifies the interface contract:

> MUST be set to a FUNCDESC structure (see section 2.2.42) that contains the data values associated with the specified member of the method or dispatch method table, or NULL if no such member exists.

If no such member exists (and `ppFuncDesc` is set to NULL), this return value documentation applies:

> The value of index did not specify the ordinal position of an element in the method table.

In that case, it returns `TYPE_E_EL
 
4:56 AM
@ThunderFrame Missed this... I underestimate my own knowledge to self detriment. I'm doing it less though.
 
5:42 AM
@Comintern the property get accessor that’s staying in here it’s coming from?
 
5:57 AM
@IvenBach Those properties don't have explicit getters and letters in the MIDL, but they're implied. It's a lot like how a Public variable in a class module, looks like a variable, but a consumer of the class can read and write to the variable, so they're really just a shorthand way of writing a property, albeit without encapsulation, in VBA's case.
In VBA, you can check a class' public variable in the OB, and it will say Public foo As String, without indicating that it is a property, other than the icon. But if that class is an interface, and you create a class that implements the interface, you'll notice that the VBE creates both a Property Get and a Property Let implementation. You'll also find, if you inspect an instance pointer, that there are 2 pointers for each public variable - one for the Get, and one for the Let.
> Another note about properties. Publicly declared variables in the declarations section of class objects (class, form, etc) are actually properties generated by VB at runtime. IIRC, the first declared is actually the &H1C offset, not the first method in the class. But been ages since I looked at that scenario and have opted for writing Get/Let properties vs. using publicly declared variables in classes since I learned that tidbit.
> > [AddressOf for Class Methods (and other VTable exploration)?]vbforums.com/…)
 
6:58 AM
> As per a recent discussion in chat about Objects being capable of having Get, Let and Set procedures, it seems that declaring a Public variable as Variant in the interface, will result in the implementation requiring Get, Let & Set implementations. You can't, optionally add a Let for an Object returning variable. By contrast, a Property declared as Variant only requires implementations for the Property p
> RD's fix for this will also need to take renaming the interface, and *all* of the relevant property procedure implementations - right now, Rename only renames the property procedures implementations for property procedures defined in the interface, and not the public variables.

Likewise, renaming a public variable in the interface, does not currently result in renaming of the associated property procedures in the implementations.
> RD's fix for this will also need to take renaming the interface, and *all* of the relevant property procedure implementations - right now, Rename only renames the property procedure implementations for property procedures defined in the interface, and not the public variables.

Likewise, renaming a public variable in the interface, does not currently result in renaming of the associated property procedures in the implementations.
 
7:32 AM
TIL - Arrays are not allowed as Public variables in object modules, but an object module can have a property that gets/lets an array.
 
@Comintern I think there are only 34 not ignored tests using the serialized declarations.
 
8:17 AM
> Extending [this](https://github.com/rubberduck-vba/Rubberduck/issues/818#issuecomment-344881734), how about blocks of Markdown?
```
Sub Foo(Bar As String)
'@description = "This does the Foo with the Bar"
'@documentation = "
' ### Remarks
'
' Not with a Bar, but a Beep
'"
Beep
End Sub
```
This assumes the possibility of multi-line annotations.
 
 
1 hour later…
9:22 AM
0
Q: Replace path to function or object with Rubberduck

GreedoI've come across a couple of scenarios where I'd like a robust method to change the path (blah.blah.blah.myObject) to an object or routine, and I wonder if this is possible with Rubberduck First scenario: I have a lot of calls to some routine Bar() in my code. I've decided to make that function...

 
9:40 AM
> @zspitz, I guess it's just an extra Interface implementation for each description text format/renderer. There's a risk that we're jumping the shark by offering too many formats, and given the limitations of the VBA codepane and character-sets, I'd be more inclined to stick with XML as at least special characters can be represented with escaped entities, can be readily transformed, is in keeping with .NET documentation, and building snippets will be easier.
 
10:13 AM
> Tried running RD on a fresh install of Windows 7 SP1 (no MS Office). Fails at startup as it's unable to cast Office COM components (such as CommandBarContol) to the corresponding Office.v8 RCW interface.

Further details to follow.
 
@Duga afk atm, will add better details after work
 
@StackDuck there are a gfew good ideas to be had from this
 
 
1 hour later…
11:24 AM
> Dumb question: do the library paths for the freshly serialized declarations agree with those specified in the MockVbeBuilder?
> We don’t want to reinvent anything here, assuming this 3 yr old feature request ever gets implemented. VB.Net style doc comments so the existing Sandcastle tooling can be leveraged.
> Dumb question: do the library paths for the freshly serialized declarations agree with those specified in the `MockVbeBuilder`?

I think, if you update the serialized declarations by new ones generated with a different location of the libraries, the values in the `MockVbeBuilder` have to be updated as well.
 
11:44 AM
> @comintern there's already an issue for `'@Flags` on project-level Enums, so this would tie in nicely:

see: #3375

The problems come with enums like `VbMsgBoxStyle` - where there are flags *and* extra members that are already the result of bitwise operations like `vbDefaultButton4` , or they're repeated, like `vbDefaultButton1` and `vbApplicationModal `
```text
typedef [uuid(ed822011-6d7f-11cf-b949-00aa004455ea), version(0.0)]
enum {
const int vbOKOnly = 0,
const int vbOKCancel =
 
11:55 AM
> The issue is that the refactorings need to work off an accurate representation of the codebase. Otherwise, it can end up doing wrong things to the codebase, so for that, parsing is necessary.

It's not impossible to bypass that requirement but in order to do that, I think we have to revise the parsing strategy. At the moment, parsing will bail out at first encounter of error, so it is possible that we won't have most up to date parse tree for a particular module. This is much bigger change
 
12:15 PM
> There is another potential issue - there may be enums that contains an union. For example, assume we have this enum from some other library that renders in VBE as:

```
Public Enum IAmReallyFlagsPinkyPromise
ModeOne = 1
ModeTwo = 2
BothMode = 3
End Enum
```

The `BothMode` is basically a `ModeOne Or ModeTwo`. Even if it was originally written as `BothMode = ModeOne Or ModeTwo`, there's no guarantee that it won't retain that information once exported into a type library. It woul
> To be honest, our parser can parse quite a lot of broken code. It mostly breaks on incomplete structures like multi-line if blocks without an `End If`. Since the `Implements` statement is a full statement, the parser will not complain.

In case, we end up in an error state, the refactoring should abort anyway.

However, I would propose to solve the major part of this nuisance in another way: why not create an `AddInterfaceImplementation` refactoring? That could ask for a name for the new
 
12:32 PM
Is it correct in VBA that I can infer the value type of a variable from the declared type as long as the declared type is not Variant?
For the Variant I would require the type code from the structure.
In other words, if I assign an Integer to a Long variable, will the result be of value type Long?
 
@M.Doerner By necessity it has to be. VBA would perform implicit conversion for you from integer to long.
or maybe I didn't understand the question.
 
> Using a command like `ThisWorkbook.VBProject.References.AddFromFile "C:\Program Files (x86)\Common Files\microsoft shared\VBA\VBA7.1\VBE7.dll\3"` (note the index numeral, at the tail of the path), it's possible to add a `Reference` that isn't the default TLB for a file (in this case, the `VBInternal` TLB is referenced), and that reference need not be registered. VBA happily allows this, but Rubberduck is unable to successfully parse the type library.

The reasons are potentially twofold:
-
 
@microsoft After you stop rebooting my machine every night, you can stop re-pinning Edge and the MS Store to my task bar.
2
My interface. Not yours.
 
^we can only hope...
 
@Comintern you don't get Candy Crush? you're doing well.
 
12:45 PM
> @ThunderFrame I'm not sure that these would really be a problem. VbMsgBoxStyle can be determined to be set of flags, so in my head, simply using Or to join them shouldn't trigger the inspection noted above. Perhaps a second inspection for semantically stupid flag use (it would need a better name than that)? For example there isn't really a reason to do something like vbOKOnly Or vbApplicationModal. Or maybe (once we're evaluating expressions) generalize that to any bitwise expression
 
@ThunderFrame Oh, it's there too. Although if Candy Crush ever triggers a reboot on my machine, watch the for me in the news, because I'd be driving to Redmond...
 
> I like the direction @MDoerner is going here. I do want to point out a different scenario, however.

Suppose we have a interface `IFoo` and two classes `FooOne` and `FooTwo` that both implements the `IFoo` interface.

We certainly can use the `AddInterfaceImplementation` to create implementation when we create the `FooOne` and `FooTwo` classes. However after that, if we add a new method to `IFoo`, it has to be then implemented in both `FooOne` and `FooTwo`. If we try to parse, we cannot co
 
@this The question was: will the result be a variable with declared type Long and value type Long or a variable with declared type Long and value type Integer?
That is actually more interesting when assigning a Single to a Double variable. There it has implications on comparison operations.
 
1:03 PM
Does this help answer your question?
Public Sub t()
    Dim i As Integer
    Dim l As Long
    Dim v As Variant

    Debug.Print LenB(i), VarPtr(i)
    Debug.Print LenB(l), VarPtr(l)
    Debug.Print LenB(v), VarPtr(v)

    i = 1
    l = i
    v = i

    Debug.Print LenB(i), VarPtr(i)
    Debug.Print LenB(l), VarPtr(l)
    Debug.Print LenB(v), VarPtr(v)

    v = l

    Debug.Print LenB(v), VarPtr(v)

    v = &HFFFFFFFF

    Debug.Print LenB(v), VarPtr(v)

End Sub
 
> @MDoerner Not a dumb question (and yes, I'm an idiot) - they're different. I'll update after work and if everything is kosher I'll get the tests updated and open a new issue for @bclothier 's suggestion.
 
@this I should have thought of testing it that way myself.
 
> @bclothier let's repeat that again: The missing interface implementation is not actually a problem for the parser we have. It's only if we disallow overriding the compilation warning that we get a problem here.

The Parser does not actually compile the VBA code it parses. With quite some extra work, it could conceivably do that, but I'm rather confident when I say that that's a rather complex venture to embark on. The Parser doesn't **need** the code to be compilable in all cases. It just ne
> I recall something about SP 2 being required for one reason or the other... let me dig around a bit...
> As per one of the queries in https://stackoverflow.com/questions/51358346/replace-path-to-function-or-object-with-rubberduck , it would be nice if Rubberduck could refactor identifiers to be qualified, so that their origin/scope is clearer, and/or so that new identifiers can be introduced without adjusting the intended scope of the existing identifier usages.

If I have a public variable name `Foo`, and a public function named `Bar` in `Module1`, and I have usages of `Foo` and `Bar` littered
 
@Comintern What did you do?
Doesn't happen here...
Also, I took Candy Crush out.
 
I think it happens with every major feature update.
 
1:16 PM
> Sorry - didn't mean to imply that the parser depends on the code being compilable in order to tell us that something implements something else. The primary reason behind the compilation check was because a uncompilable code is most likely a unparsable code. However, the `Implement` falls outside the overlap between parsability and compilability of the code.

Unfortunately, there is no way for us to know why a codebase won't compile; all we get back is a Boolean value indicating whether we s
 
@M.Doerner He said every night...
 
> #3033 could be remotely related, that said, the System-Requirements in the Wiki state that Windows Vista or later is required, as such this isn't necessarily something that we want to fix
 
Installing a new basic win10 will probably cause several features updates to be applied in order.
 
@Hosch250 I went to bed?
@Hosch250 In fairness, this VM is only days old.
 
So you get a new feature update nightly?
I don't know what work did, but they turn off the auto-install of updates. At home, it happens at 3AM, so I don't care.
 
1:19 PM
Apparently. I haven't had a chance to muck around in my update policies yet.
My IT department managed to get the disabled too. It was rebooting our master build machine mid build.
 
LOL.
Actually, if it's a VM, have you been saving the changes?
I have that problem occasionally where the VM doesn't save my changes.
 
> From chat, this is probably more related to RD not being able to run for VB6 with no Office installed.
 
Then I have to reconfigure the OS from scratch every time I boot it.
 
Occasionally. I usually just keep it open in another workspace.
 
> The https://stackoverflow.com/questions/51358346/replace-path-to-function-or-object-with-rubberduck question alludes to a situation where you have 2 or more enums or types that you'd like to merge, or existing enums/types that you'd like to split into multiple enums/types.

Eg. I have 2 enums for ScrollingPosition, `prHorizontalScroll` and `prVerticalScroll`:

```vb
Enum prHorizontalScroll
scrollLeft
scrollRight
End Enum

Enum prVerticalScroll
scrollTop
scrollBottom
End En
 
1:23 PM
we're about to hit 200 bugs :/
 
@Vogel612 don't look at me, I'm wearing my enhancement hat.
2
 
ya I know :)
almost 750 open issues just seems rather ... daunting
 
Regarding the windows updates, you can only disable auto-updating in the enterprise edition.
AFAIK, you can only hide specific updates from the updater in all other editions.
 
@M.Doerner IOW, pay more for getting back the same level of control you had in previous versions of OSes.
 
I think they would have removed the option entirely if this was not a no-go for enterprises.
 
That's pretty much why 7 is still my primary VM. I have VMs with 10 but meh.
 
In general windows 10 update behaviour is a darned mess
 
And then it is mocking you with an option to postpone an update.
 
1:30 PM
@Vogel612 definitely need a bugfix release.
 
For a maximum period of three days.
 
FWIW, it's a pain for techies, but I think it's a boon for normal users--and definitely helps improve security for them.
This helps keep them up-to-date and get periodic reboots in to help keep it running smooth.
 
@M.Doerner to be fair MS was in a difficult position. With so many people unwilling/unmotivated to update/upgrade, it made it difficult for software vendors to utilise newer technologies because of reach. we might all pay the price with restarts, but Win10 does have some pretty impressive stats on adoption of the latest build, which makes development easier and cheaper.
 
@IvenBach what was the thing that you didn't know?
 
@Hosch250 for some reason it feel broken to me if you have to update OS to fill a security hole. If the OS was shipped locked down, where the user had to explicitly enable a feature that is a security risk, then it would be less of an issue.
 
1:34 PM
@this Umm...
What happens when there's a kernel bug that is deeper than the lockdown mechanism?
Those are the most important ones to fix...
It's not about features that are known risks. It's about the undiscovered ones that get found later.
 
Sure, patch it up. But that's something that necessarily requires you to install some malware that will abuse that hole.
 
No, it doesn't require you to install malware. Malware installs itself.
 
If your default MO is not randomly download stuff from shady sites, then it won't even happen.
then the OS has failed.
No software should be able to install itself without user's permission.
 
@this LOL, what happens when the bug is deeper than the user permissions go?
 
@this the good exploits don't require a download - just visiting a site is enough
 
1:38 PM
@this You get an phishing email from a legit address.
 
@this says the author of admin-free RD installs
 
You open it, see it's a phishing email, and too late.
 
@ThunderFrame lol
 
@Hosch250 again, OS failure.
 
No downloads or anything. Just opening the email.
@this Not necessarily.
The user permissions can only go so deep before you need something to build them on.
 
1:39 PM
@ThunderFrame Exactly! and that's why a locked down OS is better default than one that let you run flash in your email
 
but.. the cats!
 
@ThunderFrame At least I don't install it via phish email without user's consent.
 
@this Someone else might.
 
@this and has there ever been, and will there ever be such a thing as a locked down OS? it's too hard when there are hardware issues like Spectre and Rowhammer
 
@ThunderFrame Use != Adoption. If I adopt something, it implies a conscious decision on my part.
 
1:41 PM
@Hosch250 Sure but even so, they'll get prompted about installing.
 
@this Unless someone writes a script to automate that part too.
 
@Hosch250 then the OS is too open
 
Actually, it isn't.
 
then it's on Microsoft, not us. Our users asked for this
 
All it takes is a script like Selenium that works on desktop applications. And there are dozens.
 
1:42 PM
@ThunderFrame Yes, those are issues but again, it's simply a matter of not installing stuff that exploit those bugs.
 
Heck, you can even write something that literally sends a click on a certain screen pixel with Win32.
 
@this I'll write up the feature request.
 
@Comintern Ohhh, we can drive use rate up!
(And legit use-rate down.)
 
@Hosch250 Again, a good OS should ensure that the user is aware of any changes or when some code could be executed in some context. That's all I'm saying.
 
Simplifies installation. We could just add the "Click this link to install" URL on the git page.
 
1:44 PM
@this That's the funniest thing I've heard all day.
> some code could be executed in some context
 
@this i don't have to install anything - visiting a webpage (even a reputable webpage that allows 3rd party ads can be dangerous), opening an Office document, inserting a USB, etc. All are risky, and yet I'm not installing anything
 
The whole point of the OS is to make the code executing in most contexts invisible to the user.
 
@Hosch250 #Words -- I don't expect code to be running as a result of me reading an email. That's what I meant.
 
@this No, and that's why it was so hard to write unit tests for Outlook.
 
@ThunderFrame Again, that implies I've given you the access to do those things.
 
1:45 PM
They've locked it down as well as they could.
 
despite our best intentions, we're leaking memory, and crashing the host. it's hard to avoid buffer overflows and all the rest of the holes that don't appear to be holes. Some of the holes being discovered today have been open for decades, despite thousands of hours of vetting
@this take out my network cable, drives and ports. and while you're at it, get rid of pebkac
 
Yes, all those things are true, and I never thought otherwise. My point is simply this: don't allow arbitrary code execution from remote source and you've made most holes unreachable.
that's why social engineering is the most popular method they use to reach those holes, no?
 
@this IDK, there wasn't much Social Engineering in the mass surveillance revealed by Snowdon
 
I think that's something different. They were just watching the traffic which never was really private to begin with.
 
hosepipes, yes. social engineering, not so much
 
1:50 PM
@this The thing is--that's already disabled.
 
@this IIRC, they also injected code at will, on selected targets
 
It's not remote code execution we are worried about. It's local code execution.
 
@ThunderFrame I see. I don't remember hearing that as well.
 
@this This is why I haven't been able to work from my VM host's filesystem in Windows 10. Making it so obnoxious to actually use an operating system that it provokes the user to disable all of the shiny "security" features is IMHO counter-productive. If the UX is "I need to shut this down to work", that's a problem.
 
@Hosch250 but if it's local that we're worried about, that implies I've placed some piece of software that take advantage of that hole, no?
 
1:53 PM
@this No.
 
@this maybe I'm conflating all of the NSA scandals. Point is, state-level intrusion of your system/pc/device/phone must be assumed, if you're an entity of interest.
 
It implies the software has placed itself without your knowledge.
 
@Hosch250 then OS has failed me.
It should never do that without my consent.
 
On the flipside, you know the task is hard when you've got 3rd party companies offering iPhone cracking services, where even Apple doesn't supposedly know how they do it
 
@ThunderFrame When you think about it, all you have to do is watch me long enough and you will know me well enough. Heck, Google probably knows more than NSA does. :\
 
1:55 PM
@this IKR
but so too does doubleclick and facebook, and etc...
 
doubeclick lives at 0.0.0.0 so....
 
@this tell that to Candy Crush
 
@this Exactly. Which is why they need to be able to install these updates.
So they can stop failing you.
 
> @this tell that to Microsoft
T, FTFY
 
00:00 - 14:0014:00 - 00:00

« first day (1501 days earlier)      last day (1679 days later) »