« first day (1266 days earlier)   

12:00 AM
I feel so smrt. Implemented everything that needed to occur except the caller that gets everything started throw new NotImplementedException(); for the win!
[retailcoder/Rubberduck] 25 commits. 4331 additions. 1468 deletions.
[rubberduck-vba/Rubberduck] 9 commits. 1 closed issue. 6 issue comments. 672 additions. 606 deletions.
@IvenBach I see... so you're that sort of coder who enjoy lying to people about things being not implemented.... how despicable!
I only lie to myself.
I left it there knowing I'd be distracted with other office stuff and need it. Indeed I was right.
@this Okay, kind of have it. Tomorrow is a day too. Thanks for the help :-)
Duck check: why does Foo[n] = Bar work exactly? Is it because Foo as a List<T> has an indexer that allows it to occur?
12:12 AM
<guessing>it's accessing the object directly at the index position. OTOH, a IndexOf() returns a result so it can't be assigned to.` That's why lambda may be needed if you use functions instead of indexer.</guessing>
@SonGokussj4 you're welcome!
The difference between the result and actual access I now understand.
Or are you lying to yourself that you understand? :p
@SonGokussj4 Coding while tired: If you can avoid it, then do so. I've done terrible things while tired. Had to rewrite them and have a CodeReview with Tired-Last-Night-Self full choice words and head scratching.
@this IndexOf() is returning a value a la style of a get property whereas Foo[n] is allowing you to grab at it directly a la style of field. That's what I understand.
This is why so often I Rubberduck out loud to make sure I've understood it.
@IvenBach IList<T> exposes an indexer, yes
:AirFistPump: Awwww yeh! I can be learned.
12:20 AM
Next step: build reflexes "c# list<t> interface" should take you to the MSDN page with the interface members in a split-second ;-)
As far as C#6 and 7-ification.
should I concern myself with naming convention?
^^ Primary source documentation always win.
@IvenBach always. what's the concern?
fooBar as opposed to FooBar for private methods.
Uh, nope. Members are PascalCase regardless of accessibility...
Tweak your R# settings to match the conventions in place where needed
...not sure where these settings are exactly though
12:23 AM
Ok. There's a few names that are camelCase instead of PascalCase.
IIRC they were mostly private methods.
What namespace?
Don't take anything under ExtractMethod for cash ;-)
Rubberduck.UI I kept getting the notice for it. Of course I can't find any now that I'm looking.
Actually don't change anything under ExtractMethod namespaces, or @this will find you =)
(truth be told, all current code is likely ending up wiped out, so it would just all be for nothing)
I'm going to work sequentially through. Top -> Bottom
<sidenote>I was given a guitar and mandolin. Now I've got 3 stringed instruments to fail on</sidenote>
How comes your harmonica-ing?
@this wiki edits look good :+1:
@IvenBach got my Hohner Crossover in key of C for a few weeks, but I can't seem to let go of my 1896 Marine Band (Bb). I want a Crossover in Bb now =)
12:33 AM
@Mat'sMug Tools>Options>TextEditor>C#>CodingStyle>Naming?
Probably, yeah
Hopefully I get a Bb Crossover for xmas
I got Sonny Boy's "Help Me" pretty much down now
Seems like you're learning songs really fast.
I also have Indiara Sfair's improv pretty much down too =)
Nowhere near her technique though. Gotta work on my tremolo
And I still practice Whammer Jammer, but that one's got no expectations for the next 5 years
Not sure what's up with that...
@IvenBach FWIW, my R# just uses the default settings.
^ mine too
12:48 AM
@Mat'sMug Thanks!
Actually, @this, that's what I logged in to say. Looks fine.
Just forgot to actually say it :P
Thanks, too, @Hosch250
now that I'm done with my work project, I can get to do some more RD work.
Are you a freelancer?
Nope. I work for a company. I suck as a freelancer, anyway.
I brought my work laptop home... Gotta work on that order form
12:51 AM
Ah, cool.
Just curious, because I finished my project, and didn't have anything to do.
Used to be one, but the sales part is daunting for me. Then I found my current boss and now he's basically my agent. :p
So I made a Linq-to-Entities query go from some 18 seconds/call to about 4 seconds.
would your company frown on moonlighting? Generally they do.
And I just got a new project today.
lol. So beggars do ride after all!
12:53 AM
Actually, I got two new projects today.
is your company a consulting company?
@this Not sure I grok that statement.
Referencing the old saying "if wishes were horses, the beggars would ride."
We are a motivation company.
@this Oh, I know that saying. Just not sure how it fits in context.
I hope you don't mean you actually make those motivation posters.
A convoluted way of saying that wishes do come true.
12:55 AM
No. We have a website.
The website has widgets.
So, clients' employees can, for example, send each other ecards.
Or managers can run promotions.
Aha, I see.
We make our money by a point system, where people can send other people points for good behavior.
These points are worth so many dollars (customized per client), and the employees can buy stuff from our store with them.
So, for example, if Mat's company came out with a new suit, they could run a promotion "If you sell N suits in this time period, you get Y points".
Rephrasing - it's basically a internal store used by fortune 10 companies' employees to get stuff for their performance.
Or if they like his new "webapp", they could send him a "recognition" and/or "eCard" with or without points.
I see. Makes the motivation a bit more tangible. That's nice.
12:58 AM
Well, we have about 20 clients, all Fortune 500.
Most Fortune 100, or just barely not.
And the recognition could be public or private, and we have a "message center" that displays this kind of stuff.
And if anyone comes to the company referred by me, I get lots of points :)
Aha, I see. That was a hint ot IvenBach to get his company to sign up, right. :p
Or Mat's :P
I have negative clout where I work. I'm just an underling in the kogs.
See, you doing it wrong, man.
#GottaStartSomewhere #MustFeedWifeAndDuckling
1:03 AM
You go to your PHB, say, "I'm feeling so de-motivated. I really wish there was a way to motivate me to do my job. My friends' companies use hosch's company and they get cool toys. It'd be a great place to work if we had that...."
HOME TIME! I'ma go get me some Uke practice.
Most of our webpages look nicer, and this stuff is 100% customizable.
Gosh. 4-bar internet, and I can't get even a chat message to load for 20 tries...
Duck check: regression tests. Are they possible for RD? I'm ducking out loud to know if it's possible to have them to be notified when one happens.
1:12 AM
Every single unit test we have is a regression test, isn't it?
Upload speed = 100 kilobits/sec. Download = 3 megabits/sec.
cable or DSL or ?
We are supposed to be able to download a GB in a couple seconds...
1:33 AM
Regarding the code-smell with 3 news for the presenter+VM 2 layers.... is this insane?
    public interface IRefactoringPresenter<TViewModel, TModel>
        TViewModel ViewModel { get; }
        TModel Model { get; }
        void Initialize(TViewModel viewModel, TModel model);

    public class RefactoringPresenterFactory
        public TPresenter Create<TPresenter, TViewModel, TModel>(TModel model)
            where TPresenter:IRefactoringPresenter<TViewModel, TModel>, new()
            where TViewModel : new()
            var presenter = new TPresenter();
@ThunderFrame 3 votes.
Do I get new votes each day?
unsure - i think you get a fixed quota
So, what happens when I use them all?
I'd think you'd used them all by now :P
2:54 AM
there, 20 votes.
each UV implement their votes differently
you can always reallocate whenever but whenever the item get closed (either resolved or not), you will get your votes back
i already have my 20 votes all tied up already. :(
I have 13 left.
there's one about programmability and a bunch about improving ODBC & SQL.
I don't care.
I don't use Access, and 99% sure I won't ever need to.
3:10 AM
An organ with a duck stop: youtube.com/watch?v=o_oA3Mig7Gk
@Hosch250 I saw that just yesterday.
Also, @Mat'sMug, I should totally get you one of these sometime: amazon.com/Hohner-Panther-3-Row-Diatonic-Accordion/dp/…
@Hosch250 I'm thinking about the regression of the insert/delete of modules. There's no test for that, or can there be?
Not sure.
FWIW, I've had that problem for a while. When was our last release?
It's not a unit test.
Mug said 2.1 it was valid. So some prerelease after that.
I think it'd be good to review previous issues for regressions and make tests for them. That way we have another degree of surety that RD is progressing forwards.
3:29 AM
Another one with the duck stop:
@IvenBach Eh, who has the time? That's what the unit tests are for.
And users.
Something doesn't sit well with the idea that 'users will find the issue', for me. Once something is fixed is should stay fixed.
But I for one don't have the time to manually inspect every one of our zillions of documented and undocumented bug fixes and features.
Can unit tests invoke a parse? I'm quacking out loud cause I don't know.
Duh, yes.
How do you think we have several hundred inspection/refactoring tests?
I've warned you about my duckheadedness. :p
3:35 AM
Heck, we have a zillion tests just making sure the grammar parses certain constructs.
Could bundle RegressionTests in with UnitTestes.
Uh, that's what unit tests are for...
To make sure we don't break features primarily when fixing bugs, but also when adding new ones.
Anyway, I have to go.
Time to wash the dishes.
> Unit test: Specify and test one point of the contract of single method of a class. This should have a very narrow and well defined scope. Complex dependencies and interactions to the outside world are stubbed or mocked.

Integration test: Test the correct inter-operation of multiple subsystems. There is whole spectrum there, from testing integration between two classes, to testing integration with the production environment.

Smoke test (aka Sanity check): A simple integration test where we just check that when the system under test is invoked it returns normally and does not blow up.
A regression test is a unit test that targets a specific bug.
There isn't any difference after the fact, really.
Unit tests target the core functionality and edge cases.
Regression tests are unit tests for cases we missed the first time around.
> Acceptance test: Test that a feature or use case is correctly implemented. It is similar to an integration test, but with a focus on the use case to provide rather than on the components involved.

System test: Test that tests a system as a black box. Dependencies on other systems are often mocked or stubbed during the test (otherwise it would be more of an integration test).

Pre-flight check: Tests that are repeated in a production-like environment, to alleviate the 'builds on my machine' syndrome. Often this is realized by doing an acceptance or smoke test in a production like envi
So, most of our tests are system tests, really.
(According to this guy.)
And terminology can differ based on whatever. We do more blackbox testing than whitebox testing, so...
A: What is Unit test, Integration Test, Smoke test, Regression Test?

ddaa Unit test: Specify and test one point of the contract of single method of a class. This should have a very narrow and well defined scope. Complex dependencies and interactions to the outside world are stubbed or mocked. Integration test: Test the correct inter-operation of multiple subsystems. T...

4 hours later…
7:27 AM
> Rubberduck version: 2.1.6535.41637 doesn't have this error. All adds and deletions invoked a reparse.

« first day (1266 days earlier)