« first day (357 days earlier)      last day (2823 days later) » 
00:00 - 22:0022:00 - 00:00

12:00 AM
RELOAD!
[Cardshifter/Cardshifter] 14 commits. 2 opened issues. 9 closed issues. 7 issue comments.
4
[retailcoder/Rubberduck] 8 commits. 3 opened issues. 1 closed issue. 13 issue comments.
[Zomis/Duga] 1 issue comment.
 
@Duga Moahahaha.
 
Good job.
 
Ooh good job shifters!
 
12:20 AM
Thank you, thank you!
 
@Mat'sMug I've got the sort working on the Code Inspections!
However, there is one thing.
CodeInspectionsWindow is not based on an interface, and the other windows are.
I started to implement an interface, but got a bit stuck because the presenter is calling .Invoke and other Window controls.
Is there a way to get around this?
I got all the event handlers and stuff in the interface.
I'll commit this mess and try to clean it up after supper.
@SimonAndréForsberg Is that what you've been doing for the past few days - building up a bunch of fixes so you could beat us?
 
12:35 AM
[retailcoder/Rubberduck] Hosch250 pushed commit d2ae35d6 to next: Sort works on Code Inspections
 
@Hosch250 Nope. If you look at the git history for the repo, all of those commits were done today.
 
@Hosch250 the invoke calls are needed because these UI updates are made from another thread. A workaround would be to implement a SafeInvoke in the base dockable presenter.. I might do that tonight
 
1:16 AM
Oh.
OK.
@SimonAndréForsberg Maybe you were saving the commits too ;)
 
1:45 AM
@Mat'sMug Help, please.
RD isn't making unit tests for me, and I don't know how to make them manually, so I can't test my changes.
 
@Hosch250 huh?
 
I told it to create a unit test, and it didn't :(
And I don't have a list of unit tests to work with, so I can't test my changes :(
 
one thing at a time.
1. bring up the test explorer
 
I set up an interface and sorting for TestWindow, but I can't test it.
 
2. add > test module
3. add > test method
 
1:50 AM
Doesn't work.
I tried that from the Test Explorer.
And no, that doesn't work either.
 
woopsie
I'm firing up VS
 
It's not been working for a while, not at all sure why I didn't create an issue.
 
hmm
in the VBE, go Tools > References, find Rubberduck.tlb and check it
now add a new standard module, mark it as a test module and create the Assert object
'@TestModule
Private Assert As New Rubberduck.AssertClass
 
Which one?
 
which.. huh?
 
1:53 AM
I have Rubberduck, Rubberduck Source Control (not it), and Rubberduck Unit Testing 1.0.
None of them say .tlb.
 
Rubberduck Unit Testing 1.0 should be it (you're only seeing the description - the filename is the .tlb)
I forgot we split the projects
so
Private Assert As New Rubberduck_UnitTesting.AssertClass
if you can't find the .tlb, it's in the build (/bin/debug) folder of the Rubberduck.UnitTesting project
got it?
 
Got it.
Thanks.
 
ok
now every public parameterless method in that module with a name that starts with Test will/should be picked up as a test method
or public parameterless methods with any name and a '@TestMethod marker on the line immediately before the signature
ah, I know why adding a test module doesn't work
there's already an issue for it
 
[retailcoder/Rubberduck] Hosch250 pushed commit ab8a10b6 to next: Sorting works on TestExplorer, almost
 
It crashes when you try to sort by name.
 
2:03 AM
hmm can't find the issue
@Hosch250 not cool
 
It complains about something needing to implement IComparable.
I have no idea why.
 
TestResult by any chance?
 
TextExplorerItem, I believe.
 
right, the "view model wrapper" for TestResult
i.e. what's actually displayed in the grid
it needs to implement IComparable then
 
TestResult, or TestExplorerItem?
 
2:13 AM
public class TestExplorerItem : IComparable
 
Yeah, doing it.
Weird, it didn't help.
 
any exception?
 
Same one.
 
show me
 
It doesn't work for Result or QualifiedMemberName, but not the others.
That is, it does work for the others.
 
2:27 AM
I'd have to see how it's implemented, ..is there an IComparer for each column?
 
No.
        public int CompareTo(object obj)
        {
            var otherVal = obj as TestExplorerItem;

            if (otherVal == null) { return 0; }

            return this.MethodName.CompareTo(otherVal.MethodName);
        }
We don't need that anyway - it didn't fix anything.
 
then the only way it can ever sort is by MethodName, no?
ok
I meant the IComparer
oh hold on
 
I think we need to implement an IComparer for the QualifiedModuleName and the icon.
 
Result is an Image, and QualifiedMemberName is a QualifiedMemberName
neither implement IComparable
the image.. will not be possible
unless you can find a way to compare using the underlying enum value
_result.Outcome
 
Actually, the first is fixed.
> public string QualifiedMemberName { get { return _test.QualifiedMemberName.ToString(); } }
 
2:33 AM
great
 
Simple enough - an explicit cast.
Now for the image.
 
that's not a cast
 
Oh, yeah
 
ToString is actually overridden on that type
 
A cast is (String) item.
 
2:34 AM
yeah
ok here's the problem with referencing the unit testing library
 
How's this for a work-around?
 
the assembly that's running is located under the "core" assembly's bin folder
 
> if (columnName == RubberduckUI.Result) { columnName = RubberduckUI.Outcome; }
 
needs a comment, otherwise it's a wtf ;-)
 
I just made it sort by the outcome, which is tied to the image, no?
 
2:37 AM
yeah
 
> // type "Image" doesn't implement "IComparable", so we need to sort by the outcome instead
 
[retailcoder/Rubberduck] Hosch250 pushed commit 51441f74 to next: Fix crash
 
the build folder for "Rubberduck.UnitTesting.dll" contains the .tlb
but because Rubberduck.dll doesn't reference/need it, it's not in its build folder
I think we need a post-build event here, in the Rubberduck.UnitTesting project
 
Sure, I don't know.
Just the settings dialog left, but, dishes time...
Apparently, we are about 10% done with RD.
18% done with v. 2.0
And only 83% done with 1.4
@Mat'sMug Should I add the duckie icon on all the windows to RubberduckUI.resx?
That way, we don't have it in so many files.
 
yeah.. but I think it has to be in the forms' embedded resources anyway
 
2:45 AM
I think I can edit the .Designer file so it doesn't need to be.
I had to add it to the designer file manually anyway...
Anyway, be back sometime (unless the big bad bus gets me ;)).
 
allright, it works
@Hosch250 that doesn't sound right
 
[retailcoder/Rubberduck] retailcoder pushed commit 6298a481 to next: fixed unit testing; added post-build event in Rubberduck.UnitTesting, to copy .tlb file to Rubberduck.dll build location.
 
uh, where are the inspection names?
InspectionNames.resx is gone, but I don't have them in RubberduckUI.resx...
> 28 errors in 24 files
@Hosch250?
 
[retailcoder/Rubberduck] retailcoder deleted branch indentation
 
hmm
nevermind
had to run custom tool to rebuild the resources
 
2:58 AM
[retailcoder/Rubberduck] retailcoder pushed commit 98b09386 to next: rebuilt RubberduckUI.Designer.cs
 
@Hosch250 .Designer.cs files are generated code that shouldn't be edited manually
 
[retailcoder/Rubberduck] retailcoder pushed commit c7cd4bff to next: added late-binding comments in test module template
> Added comments for late-binding to the code module template; I feel like deferring this issue for now.
 
3:56 AM
@Mat'sMug I put them in RubberduckUI, and it has been working for me.
 
yeah it's ok, I just had to run the custom tool to regenerate the .cs file
 
@Mat'sMug I've been editing them more/less manually all along.
I leave the majority of it to be generated automatically, but I tweak it.
So, I don't know how you did it, but when I put the duck on the Reorder Parameters dialog, I looked at the Rename dialog designer and copy/pasted the code:
> var resources = new System.ComponentModel.ComponentResourceManager(typeof(ReorderParametersDialog));
> this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
See - pretty simple.
And when I removed the "@Hosch250" from the About folder, that was in the About dialog designer file, and nowhere else.
OK, @Mat'sMug, quick question.
 
sure
 
In the Options pane, do we really need the "Type" column?
Because we have to click the type name in the sidebar to see the types, we don't really need to be told the type here too, do we?
 
@Hosch250 the list is populated straight from the designer, that's why. You should use the properties window (F4), not manipulate generated code ;-)
 
4:06 AM
Oh, lol.
 
@Hosch250 good point
we probably don't need it
 
OK, just wondering whether I should remove it or not.
 
originally there was only 1 view for all inspections
it should be removed, yeah
 
I see, I suspected something like that.
OK, here goes.
Before, I didn't like working in RD (or even opening the VBE) because I knew I would have to pause and handle a crash when it closed - now I am more willing to open it to figure something out.
 
[retailcoder/Rubberduck] Hosch250 pushed commit e555c7f5 to next: Remove "Type" column
 
4:11 AM
next release is by far the biggest release ever.
so many fixes
 
Cool.
 
so many new features
 
And I feel like I've finally earned having my name in the list :)
 
:)
damn right you earned it!
 
Wow, the oldest issue is #13.
 
that one is actually implementable now
 
in a moment, once I push what I have :)
 
5:03 AM
OK.
It seems like there are a ton of issues right in a row, then there will be a large jump of 20-30 issues.
I'm beginning to wonder if we will ever get 1.4 out.
It was supposed to go tomorrow.
(counting today as the 29'th.)
 
I'll do that tomorrow.
Oh, that reminds me.
When you close the ToDo explorer, then reopen it, it gets a permanent spinny cursor, and you have to force-quit it.
Something about trying to access a disposed item, I believe.
I don't know if this has something to do with what I did removing memory leaks, but I do not think so because everything else still works.
Also, the same thing happens when you refresh it and there are no items.
 
> When you open the ToDo explorer, then close it, then reopen it, it gets a permanent spinny cursor, and you have to force-quit Excel (or whatever). It doesn't give an error, but in Debug mode, I believe it said something about trying to access a disposed/GC'ed item.

I don't know if this has something to do with what I did removing memory leaks, but I do not think so because everything else still works.

The same thing happens when you refresh it and there are no items.
 
Good night.
 
5:16 AM
@Hosch250 on it already ;) all that's left is getting the language name to display localized in the dropdown... for some reason it displays in English regardless of which language is selected..
 
Oh, lol.
If you want to assign me to something, go ahead; otherwise, I'll start refactoring the refactorings.
Night.
 
'night!
 
[retailcoder/Rubberduck] retailcoder pushed commit 6f66c793 to next: added language settings; #566, #318 - for some reason the language displayed in the dropdown always seems to be in English.
[retailcoder/Rubberduck] retailcoder pushed commit 50100cbd to next: fixed display language in combobox
> Still a number of issues, notably in the settings dialog and gridviews - not closing just yet.
 
 
7 hours later…
12:56 PM
posted on May 29, 2015 by Christopher J. McClellan

I’ve been promising you an update on my pet project, Rubberduck, for quite some time now. I apologize for taking so long to get around to it. Both the project and this blog tend to come last in the grand scheme of my life, so it sometimes takes me some time to get around to […]

 
1:29 PM
@StackExchange reorder methods? nope... I mean, not yet..
 
1:46 PM
@Mat'sMug fixed.
 
 
2 hours later…
3:30 PM
@RubberDuck Lol, your blog is on the first page of results for "Semper Cogitet"
2
 
Odd, it's midway down the 2nd page for me. The first page is full of Google books full of other random latin words...
but no definitions.
 
@FreeMan I use Bing.
 
> Always we think.
 
ah...
@RubberDuck So, this phrase is never uttered in Washington, DC. Got it.
 
@Mat'sMug Typically, for a list of languages, you would do something like "English, Français, Español..."
I don't suppose this is that likely, but what if the user can't recognize the name of their language in English?
 
3:46 PM
@Hosch250 then they wouldn't have downloaded RD in the first place ;-)
 
What type of project should I add for the refactorings?
 
huh?
 
oh
 
I was going to make a new project for the refactorings, like the Source Control.
And Unit Tests.
 
3:48 PM
nah
unit tests are on their own because we don't want to break the COM API every release anymore
 
OK, just move them to Rubberduck.UI.Refactorings?
 
source control is on its own because of licensing
refactorings are core functionality
logic should go to Rubberduck.Refactorings, leaving only presenters and actual UI under Rubberduck.UI.Refactorings
 
OK, sounds good.
You already did the Extract Method one?
 
yeah
feel free to clean it up further
 
OK, good.
I might have to reboot IE - installing an update.
 
Oh, I need to reboot the entire computer.
BBIAS.
 
4:02 PM
void IRefactoring.Refactor(Declaration target)
{
    throw new NotImplementedException("This refactoring requires a QualifiedSelection.");
}
Why throw an exception?
Why not build the QualifiedSelection like this?
var selection = new QualifiedSelection(target.QualifiedName.QualifiedModuleName, target.Selection);
 
because you extract a method out of a selection, not out of an identifier...
 
Oh, OK.
So, I could do that with the Remove Parameter, though?
Because the target is always a single Declaration.Parameter.
 
I think so.. depends how you're passing the target in
 
Would it be possible/reasonable to create a Code Inspection for OERN and treat it like a one-statement IF statement. i.e. if OREN is on line 50, but there's not an OEG0 on line 52, throw a warning.
 
yes
 
4:14 PM
Excellent....
:)
Treat them like parenthesis. When there's an Open there can't be more than one line of code before a Close. If you ignore the error, RD randomly deletes code, because, effectively, that's what you're doing...
 
What is an OERN anyway?
 
On Error Resume Next The statement straight from the pit of Hell.
2
On Error Goto 0, before you ask. ;)
2
 
@FreeMan along with Def[Type] statements ;)
2
 
yes, those too. (never used one in VBA, so wouldn't get bitten by that...)
 
4:35 PM
Man. I didn't even know about Def statements in VBA until a few months ago.
 
4:51 PM
@RubberDuck and that is a very very good sign ;-)
 
lol. I guess.
So, I think I actually like Razor.
It's pretty cool once you start to get what it does.
It just feels a little weird to mix code w/ HTML like this.
 
5:08 PM
This is practically magic. It just generates most of the code...
Of course, it also does crap like this.
        @Html.ValidationSummary(true, "", new { @class = "text-danger" })
        @Html.HiddenFor(model => model.ID)

        <div class="form-group">
            @Html.LabelFor(model => model.Title, htmlAttributes: new { @class = "control-label col-md-2" })
            <div class="col-md-10">
                @Html.EditorFor(model => model.Title, new { htmlAttributes = new { @class = "form-control" } })
                @Html.ValidationMessageFor(model => model.Title, "", new { @class = "text-danger" })
God help you if you want to use a reasonable CSS class name.
 
Kind of. Yeah.
Been working through a tutorial and.... I've not actually written any code yet.
 
When you get to the C#, you'll see how magic it is ;-)
 
<3 linq in this context.
 
uh-huh
 
It just occurred to me why it lazy executes.
You have an opportunity to modify the query before it executes.
        // GET: Movies
        public ActionResult Index(string searchString)
        {
            var movies = db.Movies.Select(m => m);

            if (!string.IsNullOrEmpty(searchString))
            {
                movies = movies.Where(movie => movie.Title.Contains(searchString));
            }

            return View(movies);
        }
 
@Mat'sMug No, it's not.
@Mat'sMug No, it's not.
 
mwahahaha
 
is missing it's meme entry.
 
@nhgrif indeed it is.
I think at this point, it's though...
Where x is... whatever.
 
6:11 PM
@RubberDuck For some values of x?
2
 
Obviously.
=)
bahahahahah
> x is magic for some values of x
Only works in the form of a variable though.
> VBA is magic... for some value of magic!
Waits for the pin....
 
@RubberDuck: you will like the new ASP.NET 5 tag helpers
 
@JeroenVannevel I like that it's cross platform. Makes me feel like learning it isn't stupid.
Ohhh. You're right! I do like this.
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
<div class="form-group">
    <label asp-for="UserName" class="col-md-2 control-label"></label>
    <div class="col-md-10">
        <input asp-for="UserName" class="form-control" />
        <span asp-validation-for="UserName" class="text-danger"></span>
    </div>
</div>
 
The code will be a lot clearer instead of the mess with getting the right razor overloads
and I believe there is intellisense support for everything, so all is good
 
[retailcoder/Rubberduck] Hosch250 pushed commit 1963ae02 to RefactorRefactorings: Refactor ReorderParameters
[retailcoder/Rubberduck] Hosch250 pushed 1 commit to next
 
6:25 PM
That is so clean in comparison. Okay. I'm kind of excited to play with it, but it's probably smart to learn the older way right now.
 
6:38 PM
[retailcoder/Rubberduck] Hosch250 pushed commit 8bd6594c to RefactorRefactorings: More refactoring
[retailcoder/Rubberduck] Hosch250 pushed 1 commit to next
 
Anyone want to look that over?
Should I post it for review?
Nah, it would be closed as a duplicate.
I just moved things around to different files.
@Mat'sMug Would it be possible to add a Refactoring drop-down to the Edit menu?
 
> :+1: You're good. Simple rename from the looks of it.
 
@Hosch250 Yeah. Of course it is.
 
@Hosch250 yes, ..but why?
 
I thought it might fit in with the rest of the edit stuff.
Apr 9 at 13:01, by Mat's Mug
@RubberDuck We're programmers, we can do anything
 
6:44 PM
it does, but we had a design decision to make - either we have a "Rubberduck" menu with all our functionality there, or we sprinkle our menus into the existing ones
 
Oh, I see.
So, we need to make a Rubberduck command bar?
 
that would be cool actually - perhaps add to the code inspections one?
 
I actually meant the Edit bar:
 
Perhaps, but I'm thinking maybe the inspections should remain separate.
But yes, I think we should have a command bar to perform common functions.
 
@Hosch250 oh yeah
definitely. I mean, yes, a "Refactoring" toolbar could be handy
 
6:46 PM
Until a later release, anyway :)
 
Lord I wish we could just do Ctrl+R,R / rename
and Ctrl+R,M / extract method
and Ctrl+T / goto anything
and, ...and all those R# shortcuts
 
Apr 9 at 13:01, by Mat's Mug
@RubberDuck We're programmers, we can do anything
We can.
We just haven't implemented it ;)
 
yeah... except there's a number of things I know I can't do
like unwinding the stack trace
 
What stack trace?
 
VBA's
 
6:48 PM
Why not?
 
I mean the call stack
 
Oh.
 
because the one person that did it used some nifty assembly code to get it to work
 
My trackpad locked - at least I have my mouse.
If my mouse locks too...
The Synaptic pre-release driver is probably buggy.
It is turning on and off like no tomorrow.
 
@Mat'sMug Oh, but it can be done. It can be done.
 
6:53 PM
It looks like it could rain any second, but I'm going to try to beat it.
See you.
 
Hopefully, I've put VBA in a grave with COBOL before I figure it out though.
3
See ya @Hosch250
 
later!
 
Already raining.
 
The only trouble with online package tracking is that they don't update frequently enough. F5 every five minutes all day and it still says the same thing... :(
 
What do you want, to see the truck driving along the highway?
I'm going to groom my dog instead of going on a walk, later.
 
7:07 PM
@Hosch250 Now that you mention it, yes!!!!
 
in The 2nd Monitor, 3 mins ago, by Mast
Tomorrow I'll get myself a rubber duck
3
 
7:40 PM
Good day, ducks!
 
Indeed!
 
8:14 PM
@Phrancis Hey man. How goes it?
 
Good, we're going to have lots of commits today ;)
@RubberDuck How does the job hunt?
 
It goes.
I'm gonna have a tough time of it, but I keep getting bites.
I just need to make it into an interview where there's a whiteboard involved.
2
 
8:35 PM
y'all have a good evening. I'd like to say I'll start to play with VS and the RD code this weekend, but with a high school graduation coming up, I might not even see my computer this weekend...
 
@FreeMan Enjoy!
 
9:06 PM
[retailcoder/Rubberduck] Hosch250 pushed commit a555ebbc to RefactorRefactorings: Basic Remove Parameters GUI
 
9:31 PM
[retailcoder/Rubberduck] Hosch250 pushed commit fb3c07df to RefactorRefactorings: Remove/Add buttons work
[retailcoder/Rubberduck] Hosch250 pushed commit 10ebb3c2 to RefactorRefactorings: Get double-click working
 
00:00 - 22:0022:00 - 00:00

« first day (357 days earlier)      last day (2823 days later) »