« first day (381 days earlier)      last day (2799 days later) » 
00:00 - 17:0017:00 - 00:00

12:01 AM
RELOAD!
[Cardshifter/Cardshifter] 10 commits. 3 opened issues. 3 closed issues. 3 issue comments. 88 additions. 27 deletions.
[rubberduck-vba/Rubberduck] 1 commit. 2876 additions. 2054 deletions.
[Vogel612/TranslationHelper\‌​] 3 commits. 311 additions. 103 deletions.
 
@Duga HOLY CARP
 
12:15 AM
Why do I have the feeling that commit was a big fat merge?
 
@SimonAndréForsberg wrong. Was a big fat rewrite.
...involving a regenerated lexer+parser and a fixed grammar bug
 
oh, okay then
 
The rewritten class is the listener responsible for resolving identifier references
Still has issues, but no more StackOverflowException :)
Waiting for it to blow up with a CodeReviewException
 
I'd want one of those so much more than a SO Exception!
 
IKR :)
 
12:48 AM
Booting laptop. Gotta test this class inside out, and iron out the remaining bugs
 
1:27 AM
Hi.
Internet down for ages, got new modem, finished LOTR.
Also, have a WPF app for generic resx managing almost done.
I just need to figure out how to load an external program's resx files without it crashing.
Also, a file picker would be a nice addition, but a couple of textboxes will have to do now.
I suppose, if I have to, I can parse the thing with regex...
 
1:48 AM
OK, I need to use a ResXResourceReader.
It appears I don't have it available, though, and I'm not sure which references to include.
 
thunderstorm here... I'm braving the elements atm
 
The other option is to translate the .resx file into a .resources file.
I don't want to do that.
 
idiomatic WPF localization is fucking hard, and .resx works well
 
I know.
This is a generic resx file translation support.
Thanks so much, blogger.
I found it.
 
2:18 AM
Problem solved.
Now, I just have to eliminate everything but the strings so the missing images don't crash the parse.
 
2:39 AM
in The 2nd Monitor, 3 mins ago, by Mehrad
VB6 should be illegal
 
Probably.
I think I'm about ready for an SO question.
 
I'm having an annoying grammar issue.
 
Probably harder than what I'm doing.
 
Dim c As New Class1
c.DoSomething
c in c.DoSomething gets picked up as a ICS_B_ProcedureCall for some reason.
that's unexpected and throws off the whole resolution code.
hmm
implicitCallStmt_InBlock :
    iCS_B_ProcedureCall
	| iCS_B_MemberProcedureCall
;
changing for that:
implicitCallStmt_InBlock :
	iCS_B_MemberProcedureCall
	| iCS_B_ProcedureCall
;
I bet that'll fix it
makes sense; a procedure call does match a member procedure call, ..but the reverse isn't true.
changing order of evaluation should just work.
let's see...
building
damn
 
2:54 AM
Fixed my issue :)
 
me too! :)
 
Only to hit another.
 
...me too
lol
at least the grammar works now.
I was just missing an override in the listener.
 
Mine isn't so simple.
I still have the resource key, but I don't have the value.
I tried something else, and I got the old exception.
I do have the comment though, if that is of any help...
It is crashing because it expects to find an image which is in Rubberduck's files, but not in mine.
I need to select only the string values out of it.
 
that shouldn't be too hard.. you're treating the .resx as XML?
 
3:07 AM
I'm thinking I might need to read the file, parse it with regex and take the strings, and use them.
This what I'm doing:
 
I'd use LINQ-to-XML
 
(Or rather, what I should be doing):
var resourceSet =
    new ResXResourceSet(@"C:\Users\A\Documents\Visual Studio 2013\Projects\MyDuck\RetailCoder.VBE\UI\RubberduckUI.resx");
Hey, that sounds like a good idea.
Don't know what it is, though.
 
you're querying an XML file
 
I need to do the dishes, BBL.
 
look into System.Linq.Xml
 
3:09 AM
You see, with that thing above, I can also add values in, so I could actually make it a full stand-alone resx editor.
I suppose I could create a separate writer (that should work - it shouldn't care about missing images).
 
with LINQ-to-XML you to everything you need to do to an XML DOM.
 
OK.
Sounds like something I'll need to do.
 
and you get all the power of LINQ to .Where-out the non-strings
 
BBL, really, now.
 
later
 
3:35 AM
IT WORKS
 
4:26 AM
Hurrah!
 
Class1
Public Function DoSomething() As Class2

End Function
Class2
Public Sub DoSomething()

End Sub
ThisWorkbook
Public Sub Foo()
    With New Class1
        .DoSomething.DoSomething
    End With
End Sub
I go to Class1.DoSomething, right-click, find all references, highlights the correct one in ThisWorkbook.Foo
 
Great.
 
I go to Class2.DoSomething, right-click, find all references, highlights the correct one in ThisWorkbook.Foo
 
Send me the changes.
 
not finished
 
4:29 AM
OK.
 
AsTypeClauseContext has no override, so type references aren't in
and I haven't tested return values
 
I need to go to bed now; I'll look into the Xml/Linq thing tomorrow.
 
cool
I'll push before I go to bed
 
OK.
 
to GrammarIsFun though
 
4:31 AM
Are you going to sleep at your computer again if you don't get it done?
 
nope.
which reminds me...
I need a coffee
assignments work
 
If I were you, I'd go to bed and try to stay fresh.
 
man, this commit is going to fix all the resolution bugs
 
That is music to my ears.
Anyway, this bright screen in the dark room is burning my eyes, BBT.
And have fun!
 
5:08 AM
ok.. screw nested With blocks allright
this blows up:
Public Sub Foo()
    With New Class1
        With .DoSomething
            .DoSomething
        End With
    End With
End Sub
this works perfectly:
Public Sub Foo()
    With New Class1
        .DoSomething.DoSomething
    End With
End Sub
now the only problem is the regex replace that renames both usages... but references are correctly resolved.
 
5:22 AM
hmm references in If blocks don't seem to be accounted for.
but that's not a new bug
 
5:39 AM
only left-side Set assignments are accounted for
anything right-side or Let (implicit or explicit) doesn't count as an identifier reference.
Friend Property Get ProgressView() As ProgressView
    Set ProgressView = view
End Property
and ProgressView has no references.... you know, because Set ProgressView = view is a call to the setter right? ugh....
enough for tonight.
committing what I have
 
[rubberduck-vba/Rubberduck] retailcoder pushed commit 09035e36 to GrammarIsFun‌​: rebuilt grammar again - fixed block statement rule. With blocks resolve correctly, but not nested ones. Left-side "Set" assignments are also resolved.
[rubberduck-vba/Rubberduck] build for commit 09035e36 on GrammarIsFun: AppVeyor build succeeded
[rubberduck-vba/Rubberduck] build for commit 09035e36 on GrammarIsFun: AppVeyor build succeeded
 
6:09 AM
If you're wondering, last-minute grammar fixes, and reference resolution fix is delaying the 1.4 release.
 
 
6 hours later…
12:06 PM
[rubberduck-vba/Rubberduck] Hosch250 pushed commit 17eb19a7 to next: Fix selection bug
Merge pull request #656 from Hosch250/next

Fix reorder/remove selection bug
[rubberduck-vba/Rubberduck] build for commit f94cb3d1 on next: AppVeyor build succeeded
[rubberduck-vba/Rubberduck] build for commit f94cb3d1 on next: AppVeyor build succeeded
 
monking, all! Looks like a quiet, but productive weekend
 
Yeah. Looks like it.
 
 
1 hour later…
1:19 PM
It's not ready yet. But it's understandabe code that doesn't recurse till stack overflows.
2
 
1:34 PM
And we'll need to document the fact that nested With blocks throw an exception.. might want to catch that one and show user some "Dude, WTF" message though...
(or alternatively, get that to work, too. Shouldn't be impossible)
I think part of why it's not blowing up and works pretty well is because I didn't override EnterAmbiguousIdentifier on the listener... but I think I'll have to, to pick up the rest of the identifier references. I need it to only resolve identifiers that haven't been resolved already... that's the hard part.
 
It sounds like the hard part.
 
1:49 PM
@Mat'sMug that's always handy!
 
@RubberDuck might not be. The 1.3 code finds identifiers and attempts to find what it's referring to. That's how Application.Selection becomes a reference to a Selection local variable. The new code doesn't do that.
Can't wait to get back to it tonight
@RubberDuck how's wifey?
 
@Mat'sMug She's good buddy. Just a minor concussion, so she's feeling better.
Just had to go do the whole ER thing to make sure she was all right is all.
 
Good to hear er, read
 
Yeah. Thanks buddy.
 
2:13 PM
I don't get RobH's answer. He starts by saying your struct is fine, and then suggests making it a class.....
 
He's saying the concept was right, the implementation was wrong.
 
..ok. (lol, phone gives me 3 choices for autocomplete: "ok", "okay", and... "ok-ish")
2
 
> In either case the should come from a db, feed or even text file and not be hardcoded. Like this you need to recompile/redeploy each time a new strategy is created *(even if C# 6 has Roslyn).
I don't get it... yeah. Of course I hardcoded it into my tests. They're frakking tests for christ's sake...
 
dude
public class PricingStategyA : SaleStrategy
{
    public override Sku Sku { get; } = 'A';
    protected override double PricePerOne { get; } = 50;
    protected override double PricePerX { get; } = 130;
    protected override int X { get; } = 3;
}
next week make PricePerOne 47.90
 
oh.. YEAH. It was the old version of the code that I posted.....
 
2:24 PM
I tried real hard to make a "short-ish" answer, so I didn't mention anything about the pattern and tried to avoid scalability/maintainability issues
I like Margus' answer
 
It was a good answer. You caught things the things I didn't realize.
I'm on the fence about his answer. He's right about a lot of it, but very unclear about it as well.
This bothers me.
> 1) Is my implementation of the strategy pattern correct?

Even semantically it is not. Consider
Because, yes, it is correct. I just borked the strategies themselves.
But he did see the same opportunity with the pattern that I came to.
 
..which is what I take he's referring to as "the implementation of the strategy pattern" ;-)
 
Using a dict instead of having a sku attached to the strategy.
Yeah. I guess so.
I'm not a fan of this either.
> However note that testing first starts bottom-up, meaning you only use tested components and build upon them.
 
that was a very cool question anyway
 
Because that's really very opinionated. It depends on what you're defining as a unit.
@Mat'sMug Thanks!
Make sure to upvote the inspiration for it!
 
2:28 PM
napalm'd ;)
 
Can I ask you one more question about your answer while you're here?
 
sure
 
How does a copy constructor break encapsulation?
> If you can break encapsulation and do this:

public Sku(Sku sku)
{
    _value = sku._value;
}
 
private char _value;
 
Putting aside that it's useless with value semantics...
 
2:30 PM
field is private
 
It is isn't it? How the hell does that even work!?
 
my guess is that it's because you're in the same type - private is for the type, not the instance... maybe. IDK, it just smells.
and it could have been
public Sku(Sku sku)
{
    _value = sku;
}
WTF nonetheless IMO, but a little less so than accessing a private field from another "instance"
you see that's the thing - it's not an "instance", it's a "value"
I'm starting to hate structs
 
I like it for what I did there. A Sku "Is A" char, but not just any char "Is A" Sku.
Prevents things like this.
char Key = 'A';
new KeyValuePair<Sku, IPricingStrategy>(Key, new RegularStrategy());
 
@ticker what's the deal with the ???
 
I just screwed it up with the implicit casting.
 
2:36 PM
implicit cast should be banned
 
Yeah.
 
except for this:
6
A: When must we use implicit and explicit operators in C#?

Jon SkeetBasically when you want to provide conversions between types. LINQ to XML provides good examples... There's an implicit conversion from string to XName, so you can write: XName name = "element"; but there's an explicit conversion from XAttribute to int (and many other types) so you have to inc...

actually... I remember the first time I used an XName, and went all WTF over "name" being accepted for an XName arg.
I'd rather have seen XName.FromString("name")
I get the syntax sugar, but implicit conversions are utterly confusing
implicit conversions are like C# behaving like... VBA
 
And they defeat the purpose of using strong typing to begin with.
 
@Mat'sMug yes
you can access private fields from the same type (often used in .Equals())
 
isn't that counter-intuitive and encapsulation-defeating?
 
2:44 PM
Java has the same thing so I would wager it's a remnant from that (or another C-ancestor)
I thought it very confusing as well when I first came across it
though at one hand I do see where they're coming from: you're not exactly accessing it "from the outside"
 
yes you are
 
brb, gotta get my teeth tortured
(brb = be back in 4 hours)
 
ooh have fun!
 
Appointment in 1 hour
Only bike available
This will be fun, yes
 
FWIW Ruby's private is instance-private
also:
Under COM, "private" meant "instance-private". I think this was in some measure because a definition of class Foo effectively represented an interface and an implementing class; since COM didn't have a concept of a class-object reference--just an interface reference--there was no way a class could hold a reference to something that was guaranteed to be another instance of that class. This interface-based design made some things cumbersome, but it meant one could design a class which was substitutable for another without it having to share any of the same internals. — supercat Dec 17 '12 at 2:16
hi @FelipeCostaGualberto!
 
2:56 PM
Hello guys, have a good week.
 
I GOT THE JOB!
6
 
@RubberDuck congratulations!
 
Thanks!
Dude, I'm so excited right now it's unreal.
 
lol
 
@RubberDuck CONGRATULATIONS!
(What job?)
 
3:00 PM
@skiwi .Net dev job at a prosthetics company.
 
@RubberDuck High-tech science level, or interesting enterprise level?
 
Interesting enterprise level to start, but I'll have an opportunity to learn C++ and do some embedded development down the road.
 
That's freaking awesome
So... no more working from home?
 
And in a year's time he'll tap into the VBA stack trace with nasty assembler code
2
 
@skiwi no, but that's okay. It's not all it's cracked up to be.
 
3:04 PM
@RubberDuck Wife... kids... pets?
 
Partly, but if the company doesn't have a remote culture, you miss a lot of important context.
Or, more accurately, people just forget that you still work there.
 
@RubberDuck Ouch
That sounds painful
 
It can be. But on the other side of the coin, people forget that you still work there.
3
 
lol ^^
Now I'm waiting for my job interview results...
 
> A Computer Programmer in Montréal, Québec earns an average salary of C$55,131 per year.
dang, I thought my previous job was underpaid... was right on average
looks like I'm not going to ever be a C# dev :(
 
3:12 PM
huh?
 
I'm not a programmer anymore.. haven't been for just about a year now.
 
If you're not a programmer, what are you then?
 
the title is Business Analyst
 
@RubberDuck +1 to that. Congrats, RD!
 
@Mat'sMug What do you do? then
 
3:13 PM
@Mat'sMug you too, eh? Actually, I've moved on from BA to DA. Not sure what either means, since both involved mostly programming.
hi @Chrismas007!
 
@FreeMan hello
 
ATM I'm trying to set up a data warehouse and automate all the reporting
mostly T-SQL and SSIS stuff
eventually SSAS and SSRS too
I've written a little CRUD app in C# / WPF to collect customer service call logs
...what they wanted was a spreadsheet
 
Doesn't sound like too much fun...
 
> If I had asked people what they wanted, they would have said faster horses
@skiwi yeah, well, it pays
 
@Mat'sMug True, that's the important part
 
3:18 PM
which sucks, because if I want to get a job as a C# dev I'd have to take a massive cut
looks like average salary for a programmer in the US is $10K higher than in Canada
 
What about Software Engineer?
 
...mixed $. converted currencies make that something like $13K higher
@skiwi potato - po-tah-toe?
 
@Mat'sMug H-uh?
 
"Software Engineer" sounds like a flashy name for a programmer.
 
@Mat'sMug Well, that's exactly what it is.
But it probably pays more?
 
3:23 PM
and you can't be a "Software Engineer" in Canada (at least not in Quebec), because you can't just call yourself an engineer. just like you can't just call yourself a doctor.
 
That's probably the part where my (upcoming) grade starts to matter...
 
My scholarship isn't my greatest achievement. last diploma I have is my high school.
 
Makes two of us, but that's the beautiful thing about our field. You don't need a CS degree to do the job.
 
Ah okay, then that's probably difficult...
 
And no offense to anyone in school, but I've met some CS students that couldn't code their way out of a paper bag.
4
 
3:26 PM
@RubberDuck But there are rumors CS degrees give you higher pay!
@RubberDuck They should be offended!
 
Oh sure. Sure it will.
 
Gotta love one of my project group members that didn't want to code anything because he was only getting a CS degree
 
@skiwi what's difficult is being in the 1% of high-school grads that make a decent salary without any other degree
 
He thought he could pick it up whenever he would get a job
@Mat'sMug I would personally go for personal success/fun with your job, but taking a cut in income is always painful
 
@skiwi I probably would, if it wasn't for the kids
 
3:30 PM
What matters more, a rich or a grumpy dad?
 
That ^^
 
That may sound harsh... but still
 
would I qualify for a senior C# position?
 
It's not about rich.. it's about paying the bills.
 
^^ that. totally that.
 
3:30 PM
@RubberDuck If it's about paying the bills, then by all means stay with the job where you get paid
I thought you here more meant luxury goods
 
It's just a bit different when you've got kids. You'll get it someday.
Curses @skiwi with many children
3
 
@RubberDuck I don't know... children cost, but there may be differences between here and there?
 
eh, she got pregnant and 13 weeks later we learned it was going to be twins
 
Oh that's right! You've got twins!
I forgot.
 
@Mat'sMug Double... everything
 
3:32 PM
@skiwi probably, but they're damn expensive no matter where you live.
 
^^ and double that
 
I should really check to what C$55K translates
 
probably not much
CAN$ is the northern pesos
I'd say something like 30-35K Euros
 
€40K is a lot around here... for regular office jobs
 
or 40
 
3:35 PM
I'm not really in touch with the proramming world though :/
So hard to say
 
$1 Can = $0.81 US
So, 55k is severely underpaid for a dev.
 
I guess you gonna try to survive your work and have fun with RubberDuck then, @Mat'sMug?
 
@RubberDuck ...it's the average
 
I take it that's not broken down by jr/sr then.
 
probably not
 
3:37 PM
That would make sense then.
 
When do you become a senior?
 
I've seen places that want Jr. devs w/5 years experience for $20k a year....
Jr. dev w/ 5 yrs experience
 
I just don't see me selling myself as a senior dev with a high school and a 58-stargazers project on GitHub and a #6 ranking on CodeReview.SE
@RubberDuck gosh
 
You probably couldn't.
 
How are you a junior after 5 years... damn
 
3:39 PM
@Mat'sMug that was a bit of sarcasm... that person obviously had no clue.
Around here, you're considered a senior dev after 5-6 experience.
 
probably also asking for 15 years experience in .net
2
(hint: .net isn't 15 years old)
 
@Mat'sMug Or 25 years of experience with Java?
 
no, JAVA.
 
Always JAVA.
 
What would 2 years of 8h/week experience translate to? As intern
 
3:41 PM
@skiwi Preferred candidate for a Jr. position.
 
@skiwi 1/5th of 2 years
3
 
@Chrismas007 Well... what else would I really expect :P
 
Nice going, @RubberDuck
 
@Hosch250 thanks. =)
 
0
Q: How to retrieve ListBox.column values and store into object more efficiently

Jabberbyter'Create instance Dim wellObj As CWell Set wellObj = New CWell . . . Private Sub Well_List_Click() 'Must check if null.. If Not (Well_List.Column(1, row) = "") Then wellObj.wellName = Well_List.Column(1, row) End If If Not (Well_List.Column(2, row) = "") Then wellObj.wellActive = Wel...

 
3:42 PM
Now I just need to get an internship lined up for next summer so I can graduate on time.
 
So, I'll need to get lots of RD dev and CR rep over the next two weeks.
I'll probably have a bit less time for a little while.
 
@RubberDuck Already bought your prothestics books?
Or, received them
 
@Mat'sMug how hard to you think it'd be to implement a UPC (without the barcode)?en.wikipedia.org/wiki/Universal_Product_Code
@skiwi no, but I'm ordering this right now.... amazon.com/Working-Effectively-Legacy-Michael-Feathers/dp/…
 
@RubberDuck Uh...
That doesn't sound promising
 
@RubberDuck LOL
it's not COBOL, is it?
 
3:46 PM
VB.Net
 
@RubberDuck oh I want that book
 
At least to start. There's lot of stuff to work on.
 
it defines "legacy code" as any code that isn't unit-testable
2
 
The only good definition IMO.
So, I can prove the techniques work on RD, then go use them at work. =;)-
 
@Mat'sMug Can you unit teest COBOL?
 
3:47 PM
Sure. You'd just have to write a framework to do it.
Mat's already done that once...
 
in COBOL? uh, no.
@RubberDuck yeah, thanks to my fugly crap code
;-)
oh wow
incoming crap code
oh, it was already posted.
wow, since when is @StackExchange faster than me?
anyway, that was a quick review
 
4:17 PM
It's working!
Now you just need to be able to edit them.
So, there are a few more values in both translations that need to be updated.
I'll release this later, once I get it cleaned up a bit and get the editing working.
And, allow you to enter a file location instead of hard-coding it.
 
4:39 PM
ooh, I have in my rep score :)
3
 
@Mat'sMug where? I can't find it...
 
@Mat'sMug 404 - rep not found error.
3
@FreeMan 35,404
 
@Hosch250 makes pun, fails to get pun
3
 
Oh, lol
 
sigh...
;)
 
4:46 PM
Come on come on come on. Send me the paperwork so I can put my notice in.
3
 
@RubberDuck so, you repcappin' today? ;-)
 
Idk. Thinking that question might go hot.
102 atm. That's a long way to go.
 
Well my last vba answer is completely wrong.
 
It looked right.
 
It's not. The thing needs a CallByName. Editing.
 
4:57 PM
Shouldn't you be able to double-click in a DataGrid to edit the values?
 
@Hosch250 depends how editable you make it, but yeah it's a reasonable UX assumption
 
It isn't letting me.
 
00:00 - 17:0017:00 - 00:00

« first day (381 days earlier)      last day (2799 days later) »