« first day (1001 days earlier)      last day (2179 days later) » 
00:00 - 04:0004:00 - 00:00

12:01 AM
RELOAD!
[retailcoder/Rubberduck] 26 commits. 4491 additions. 2973 deletions.
[rubberduck-vba/Rubberduck] 26 commits. 9 opened issues. 8 closed issues. 47 issue comments. 4247 additions. 2691 deletions.
[rubberduck-vba/RubberduckWeb] 1 commit. 22 additions. 24 deletions.
 
It allows a value for objects to initialize to when they haven't communicated with the parser yet. Think of it as the "I have no idea what state the parser is in state". It should probably be renamed to ParserState.Unknown.
 
Oh nice. Changing the collection of components to parse to a HashSet reduces the pase time by about 15%.
 
:thumbsup:
 
So, should we parse a module in that state regardless whether it is new or modified, or should we not?
 
I need to figure out what happened with #2769.
@M.Doerner I'm not sure a module should ever be in that state. I'd think if it was, it would be a problem.
 
12:05 AM
Good, then I will not special case it.
 
[rubberduck-vba/Rubberduck] build for commit 3d0d9201 on unknown branch: AppVeyor build succeeded
> Not sure if this helps, but there is an common language runtime exception being thrown during the initial parse of my project:
Message "Error HRESULT E_FAIL has been returned from a call to a COM component."
![image](https://cloud.githubusercontent.com/assets/18690257/23532976/db2ad85e-0002-11e7-831f-99b57435ff16.png)
 
12:27 AM
so the test setup only works on Public Function() eh?
that's going to rule out testing on most of this project... :/
guess I'll go do some reading on C#
 
12:45 AM
@FreeMan Public whatever actually. You shouldn't ever need to write a test for a private method anyway
 
I tried calling a public sub in a class and it didn't like it. said it needed to be a function or something else.
 
Not sure what you're doing
 
Public subs in classes are instance members, not subs.
 
I can recreate - I'm just working on a copy of some code from work, so I didn't save it
 
If you need to test a class member, you have to instantiate a member of the class - which means you need a standard module. ;-)
 
12:47 AM
or a predeclared class
 
...or some instantiation code in the "arrange" part of your AAA test
 
@ThunderFrame Does Application.Run work with predeclared classes?
 
> Rubberduck.Setup.2.0.11.0.exe (5.53 MiB) - Downloaded 1166 times.
Last updated on 2017-01-06
 
ok, I'll give it a shot again
 
> Total Downloads 9,858
 
12:50 AM
So... apparently Mid$(foo, 1, 1) is an IndexExprContext now. HTH did that happen - nobody has touched the grammar...
 
@Comintern there's not really a way to tell a function call from an array subscript call...
Not without context anyway (knowledge that what's called is an array or function)
 
@Comintern I don't think so, but CallbyName does IIRC
 
CallByName works off an instance of an object. Shouldn't matter that it's the default one.
 
Grrr... It's the damned Type context that is screwing everything up.
That's the only reason the grammar needs a typedIdentifier and an untypedIdentifier.
Otherwise I could just do indentifier : identifierValue typeHint? and call it a day.
Think I have a work-around...
 
public partial class UntypedIdentifierContext : IIdentifierShit
?
 
1:01 AM
Old:
identifier : typedIdentifier | untypedIdentifier;
untypedIdentifier : identifierValue;
typedIdentifier : identifierValue typeHint;
New:
identifier : untypedIdentifier typeHint?;
untypedIdentifier : identifierValue;
 
ha! nice!
 
typedIdentifier is only used in that one spot.
 
992 tests broken?
 
LOL. Still building.
 
running a test shouldn't take very long, should it?
 
1:10 AM
Not as long as 1700 of them.
How long is very long?
 
Yeah, here's the code:
Public Sub IncrementCurrentRow(Optional ByVal Count As Long = 1)
  CurrentReportRow = CurrentReportRow + Count
End Sub
couple of minutes
here's the test:
Public Sub TestMethod1() 'TODO Rename test
    On Error GoTo TestFail

    'Arrange:
    Dim sut As CareExpSettings
    Set sut = New CareExpSettings
    sut.CurrentReportRow = 1

    Dim Check As Integer
    Check = 2

    'Act:
    sut.IncrementCurrentRow

    'Assert:
    Assert.areequal sut.CurrentReportRow, Check

TestExit:
    Exit Sub
TestFail:
    Assert.Fail "Test raised an error: #" & Err.Number & " - " & Err.Description
End Sub
 
Yeah, that shouldn't take minutes.
 
been doing that for a while now...
"I played a game on my phone while the circle spun" a while
end of the log for me...
2017-03-02 20:08:04.4670;ERROR-2.0.11.2453;Rubberduck.UI.UnitTesting.TestExplorerViewModel;System.Runtime.InteropServices.COMException (0x800A03EC): 'Satisfaction.htm' could not be found. Check the spelling of the file name, and verify that the file location is correct.

If you are trying to open the file from your list of most recently used files, make sure that the file has not been renamed, moved, or deleted.
   at Microsoft.Office.Interop.Excel._Application.Run(Object Macro, Object Arg1, Object Arg2, Object Arg3, Object Arg4, Object Arg5, Object Arg6, Object Arg7, Object Arg8, Object Ar
 
@FreeMan ♪ I can't get no ♪
 
lol ^^ beat me by seconds.
 
1:13 AM
well
played...
 
24 failed tests. I can work with this.
 
I have no idea why it's trying to find satisfaction.htm. I have no HTML in this thing at all. anywhere
 
^^is that RDVBA.com?
 
yeah
 
1:15 AM
106 unique visits in 2 days, huh?
That's on pace to double February.
 
unless there's a difference between Excel2010 (where this was written) and excel2007 (where I'm running it at home), I'm stumped
 
WTH is satisfaction.htm?
 
exactly what I'm wondering!
this does not now, nor ever has it created or read from a .htm file
 
You know, I started getting weird errors on my serialization workbook recently.
 
a global search for satisfaction.htm in the code turned up nothing
 
1:17 AM
 
30 seconds or less, would that be indexer bots?
 
Something about network file could not be found. Of course it works fine now.
 
30 seconds or less sure as hell isn't running the online inspections.
 
1:19 AM
Linux is probably me.
 
> Please let me know if I can send any particular dubugging output during any state, to give some more info on this.
 
Huh. That change I made to the ComAlias fixed that weird deprecated recordset resolver issue.
 
well, leave it to me to find the hardest of all possible ways of doing it... :/
 
1:38 AM
case matters in c# doesn't it.
 
@FreeMan Yes.
 
that's one of the things I like the most about the VBE - I set the case in the Dim statement and the VBE fixes it for me.
 
That's one of the things I hate most about the VBE - I set the case and the VBE messes it up everywhere else.
I want row and Row.
 
1:43 AM
trying to figure out why code doesn't work because I've forgotten that row <> Row is going to burn a lot of brain cells.
 
once you're used to a case-sensitive language, ....VBA will annoy you
 
^
VB* for that matter.
 
I guess I'll live, I manage the Win/Linux switch without much head asploding
 
Woot! 0 failed tests. Now let's see if it worked...
 
@Comintern at the speed the website is loading, 30 seconds or less might just be people giving up and closing the freakin' tab before the home page ever hits the browser
 
1:45 AM
I can totally see that.
Getting closer...
At least it sees the damned functions now.
 
doing a basic c# tutorial. Dictionary<string, long> phonebook = new Dictionary<string, long>(); Why is the <string, long> required on the RHS of the = and what are the () for?
 
That's the ctor argument list.
 
and a ctor is?
 
Dictionary<> doesn't take an arguments.
ctor is shorthand for the class constructor.
Think of it like Class_Initialize with parameters.
 
@FreeMan start with simpler types, that's a generic type
 
1:51 AM
ah, so that would be a factory class that I see y'all tossing about
 
int foo = 42; // declares a 32-bit integer variable and assigns it value 42
 
@Mat'sMug I've worked through several steps of the tutorial, saw the same on List<>
 
No, the reason for class factories in VBA is because you can't pass parameters to the constructor.
 
oh.
 
the syntax is the same: [type] [identifier] [= value-expression];
and starting with C# 3.5 you can use var instead of specifying the type explicitly on LHS
 
1:53 AM
^Unless you work where I do.
 
so I could say var phonebook = new Dictionary<string, long();
 
yep
 
that makes more sense. the older style seems... redundant
 
With the closing >. ;-)
 
^
@FreeMan I call it Java-esque ;-)
 
1:55 AM
@Comintern - oops...
don't know Java either, so that's not helpful...
 
No, Java isn't very helpful.
 
lol
 
with the exception of @Comintern's place of employment is the new style var x = ... preferred?
 
that's ...well, preference
what matters is consistency
 
I really cuts down on the noise.
 
1:57 AM
preferred in the RD world?
 
e.g. if you contribute to RD, I'll cringe if you PR explicit types everywhere
 
It might be helpful if you code exclusively in Notepad.
 
I'll... try not to code in Notepad...
 
But in VS, you can always find out the type by just hovering over an identifier with the mouse.
 
lol
 
1:58 AM
You laugh, but the ASP.NET website I'm responsible for is coded in Notepad++.
 
keep in mind that var is strongly-typed (resolved at compile-time). it's absolutely not like a Variant, or in C#, a dynamic (resolved at runtime)
 
@Comintern I did ASP (Classic) in Notepad
 
^that seems strongly preferrable
 
very
 
2:00 AM
NPP offers syntax highlighting, at least...
why the () at the end of ... = new Dictionary<string, long>();
 
because you're calling the constructor
parens are always mandatory
well, unless you use a dictionary initializer
 
ah, it's a function call... got it.
 
My boss uses CodeWright exclusively. No clue how he does that.
 
var foo = new Dictionary<string, long> { { "foo", 42 }, { "bar", 12 } };
 
That's like ancient-school.
 
2:01 AM
same for List
 
yep. or an array
 
man, I used to use CodeWright! that was ancient days!
I think we were running DOS 6.x
ok, little bits are starting to make some sense.
 
Or objects:
 
right
 
2:03 AM
    var foo = new Bar
    {
        PropertyOne = something,
        PropertyTwo = somethingElse
    };
 
@Mat'sMug Nice.
 
@Hosch250 I had to put the tip back into the tube though
 
Huh?
 
thanks for that pen, it's very nice :)
 
You twist it to do that.
 
2:04 AM
it wasn't really in one piece lol, the tip was off the tube, as if the coil had pushed it out
but it's all good now
 
Weird.
 
2:19 AM
Let me see if VS can now work with Rubberduck
 
Hey there, @IvenBach
 
ComAlias.cs has a red check mark next to it. What did I break?
 
That means it's changed.
Are those 4 lines still commented out?
 
```
//ITypeInfo refType;
//info.GetRefTypeInfo((int)attributes.tdescAlias.lpValue, out refType);
//var doc = new ComDocumentation(refType, -1);
//TypeName = doc.Name;
```
yeah
 
OK, first step is to get in synch with next.
 
2:24 AM
I've already gone to Team Explorer>Sync
what's the next step?
 
That will only get you synched with your fork.
I'm trying to think of the most straight-forward way to do this...
You basically want to do this:
23 hours ago, by Comintern
302
A: Clean up a fork and restart it from the upstream

VonCThe simplest solution would be (using 'upstream' as the remote name referencing the original repo forked): git remote add upstream /url/to/original/repo git fetch upstream git checkout master git reset --hard upstream/master git push origin master --force (Similar to this GitHub page, secti...

Problem is that I have no clue how to do that using only VS.
 
Delete it all and re-fork?
 
That would work.
 
So... Yeah... Where's the delete repo button?
 
If you have the git command-line tools installed, I'd go the route in that answer though. A couple of the commands are different though.
 
2:30 AM
I've not installed any git tools
 
OK, that's pretty easy. Let me find the link.
 
I can't find the red delete button. I'm failing pretty hard in getting started with RD.
 
Yeah, I'm not sure how you delete a fork on github TBH. Never done it.
 
This will override Windows tools... message
Use Git from Bash only
Use Git from Windows Command Prompt
Use Git and option Unix tools from the Windows Command Prompt
 
Your preference. I use Bash because, well, Linux user. Command Prompt would probably be more familiar.
I did just have another idea though.
This is way easier.
 
2:38 AM
What's that?
 
Go to the github page for your fork.
Oh wait. The main branch: github.com/rubberduck-vba/Rubberduck
 
Ok
 
Click on the green "Clone or download" button. This time download it.
 
And unzip to directory?
 
Unzip it on top of your clone.
Replace all files when prompted for overwrites.
If you have VS open, you might get some prompts that files have changed outside of the editor. That's good - it's what you want.
 
2:47 AM
Replacing files
 
:thumbsup:
 
Don't get any ideas now. I'm sure there will be some sort of malfuckup
 
The "synching your fork with upstream" is a bit convoluted until you get used to it.
 
I usually end up taking a long time with anything tech
Build started
For some reason I don't get the Rubberduck option in the Rt-Click menu. Parsing
 
Once the parse it done, I'd confirm that you don't have any errors in your log file.
 
2:53 AM
~.~ Parsing worked once. I tested with an indent then it got stuck and crashed.
 
WTH?
The Indenter doesn't really touch anything.
 
Where's that log file again?
 
%appdata%\rubberduck\logs
 
Only Trace/Debug/Warn
Restarting VS
 
Wait, VS crashed?
 
2:57 AM
It didn't but Excel did. The log didn't contain any error that I saw.
 
Ah. OK, before you start the debugger again I'm going to have you set a few options.
 
VS is loaded with RD Solution
 
Go to Debug->Exceptions
 
I don't have an Exceptions option in Debug
 
Expand out the Common Language Runtime Exception tree.
Oh crap, VS 15.
One sec.
 
2:59 AM
I have Community 2015
I'm poor and can only afford the free version.
 
That's not it, it's just the menus are different.
See if the hotkey works. Hold down Ctrl and then hit D then E
 
Nothing
 
OK, it's apparently Tools->Options->Debugging
 
Ok
 
Is there a "Just-In-Time" option?
 
3:02 AM
General, JIT, Output
yes
 
OK, make sure both managed and native are checked.
 
Managed, Native, Script
So uncheck Script, correct?
 
No that's fine - it's a web option.
 
All 3 are enabled
Test it again?
 
OK, in general, make sure "Enable Just My Code" is unchecked.
Sorry, trying to find the settings that aren't defaults.
 
3:07 AM
Where is Enable Just My Code located? Under Tools>Options>Debugging?
 
Yeah. In the General section.
 
for profiler reports?
If so it's currently checked [enabled]
 
In 2013 it looks like this:
You also want the "Break when exceptions cross AppDomain or unmanged/native boundaries" checked.
This is the one I'm really trying to find in 2015:
 
I set it put to look like the 2013 version
 
Huh. I had no clue you could do that.
 
3:13 AM
I meant the toggle buttons
I enabled it to be like the 2013 image shows
 
Ah, gotcha.
OK, it's apparently in Debug->Windows->Exception Settings.
 
Got that opened
 
Check to box next to Common Language Runtime Exceptions.
 
That box is a square
should it be enabled to be a check?
 
Yeah, squared is only some options selected.
There are a ton of them.
 
3:16 AM
OK
 
OK, now launch the debugger.
 
I just scrolled through to see that only 3 were enabled as square option
Building
It loaded excel slower and seems to be stuck trying to get to the VBE
public class _Extension : IDTExtensibility2
private readonly Logger _logger = LogManager.GetCurrentClassLogger();
Error: EntryPointNotFoundException
 
WTH?
Just hit continue.
 
public class XmlPersistanceService<T> : IFilePersistanceService<T> where T : class, IEquatable<T>, new()
public T Load(T toDeserialize)
var deserializer = new XmlSerializer(type);
Error: FileNotFountException
It's always a FlusterCuck when I try
 
That's normal. You'll get about 10 of those. Just continue over the file not founds.
 
3:23 AM
public class CommandBars : SafeComWrapper<Microsoft.Office.Core.CommandBars>, ICommandBars, IEquatable<ICommandBars>
private void DeleteExistingCommandBar(string name)
var existing = Target[name];
Error: ArgumentException
 
That's fine - just means nobody else loaded our commandbar. You can continue on that one.
 
keep going past ArgumentExceptions or list each one?
 
No, just keep going past them. There will be one for each menu IIR.
 
You weren't kidding about feeding people bugs...
 
These are actually all wrapped in try-catch blocks. You'll just hit all of them because of the first chance exception debug settings.
 
3:27 AM
It doesn't feel like it's letting me get past it, or there are just 100s of them
 
OK, we can turn that off and see if we catch the unmanaged one. Just hit the stop button.
 
Should i toggle off Break when this exception is thrown or hard stop it?
 
Try toggling the option first.
I forgot if that allows a run-time change or not.
 
doesn't look like its going to let me get past
stopping it
private void DeleteExistingCommandBar(string name)
is where it got stuck
in the try var existing = Target[name];
 
Yeah, too many try blocks to make that painless. Clear the CLR exceptions box.
 
3:32 AM
Ok
try running again?
 
Yep. Fire it up.
 
var existing = Target[name]; strikes again
not letting me get past it...
 
In DeleteExistingCommandBar?
 
yep
 
Hit continue.
 
3:36 AM
I have but it keeps pausing there
Hitting F11 to step through but it won't go past it
 
And all the checkboxes in the Exception Settings window are empty?
 
in CLR they are all turned off empty box
 
And it breaks here?
private void DeleteExistingCommandBar(string name)
{
    try
    {
        var existing = Target[name];
        if (existing != null)
        {
            existing.Delete();
            Marshal.FinalReleaseComObject(existing);
        }
    }
    catch
    {
        // specified commandbar didn't exist
    }
}
 
yep
first line within
try
{
var existing = Target[name]; <---- Here
 
What happens when you hit F11?
 
3:40 AM
It brings up that same error message
stays on line 34
and doesn't want to move past it
 
ArgumentException?
 
Could it be me messing with the settings and toggling what I could to make it look like the 2013 screenshot earlier?
yeah Argument Exception
 
Possibly - it should just jump out into the catch block. There's not a breakpoint set there is there?
 
no
 
Hover the mouse over name - it should show you the value.
 
3:44 AM
"Rubberduck"
 
That's actually supposed to throw an exception. It should be breaking though.
Do you have TeamViewer?
 
I think so
 
Would you be willing to let me take a look?
 
Yeah
It's not like you're some random stranger.
 
LOL
 
3:47 AM
That was sarcasm, forgot to wrap it.
 
OK, fire up TeamViewer and let me know the ID
 
284 740 892
 
Gimme a sec. I need to update mine.
 
Just saw
 
OK. Pass?
 
3:49 AM
9635
 
OK, need to get used to new teamviewer apparently.
 
3:59 AM
OK, My TeamViewer crashed. Tempted to attached the debugger...
 
00:00 - 04:0004:00 - 00:00

« first day (1001 days earlier)      last day (2179 days later) »