« first day (329 days earlier)      last day (2851 days later) » 

12:00 AM
RELOAD!
[Cardshifter/Cardshifter] 7 commits. 1 opened issue. 1 closed issue. 1 issue comment.
[retailcoder/Rubberduck] 10 commits. 4 opened issues. 3 closed issues. 6 issue comments.
2
[Zomis/Duga] 1 issue comment.
 
12:24 AM
Got my mug filled up. Booting laptop. Tonight With blocks will bend to my will!
 
1:10 AM
You show 'em who's boss Mug.
 
 
3 hours later…
3:55 AM
 
4:12 AM
@anyone would this be an acceptable edge-case failure?
 
 
2 hours later…
6:16 AM
YEAH BABY!!
 
6:49 AM
@Rubberduck203 At last! With blocks correctly resolve! #BeyondAwesome
 
 
7 hours later…
1:26 PM
Monking
 
Hi!
I won!
With blocks aren't blocking anymore!
And did you see that code? I think I can reuse it to clean up the rest of the identifier resolution :)
.
 
1:49 PM
I think we can release 1.3 this weekend
3 issues. 2 are .
 
> We already have a DeclarationType.LibraryFunction. the best way to handle this would be to add a DeclarationType.LibraryProcedure.
> Ignore declarations where DeclarationType is DeclarationType.Event, DeclarationType.LibraryFunction or DeclarationType.LibraryProcedure.
> The ItemRemoved event unfortunately only seems to exist in an interface that has no exposed implementation in the VBIDE library. We're stuck here.
 
> blog.clockahead.com blog.clockahead.com 21 10
christopherjmcclellan.wordpress.com christopherjmcclellan.wordpress.com 14 8
views/unique visitors
 
@Mat'sMug I've not seen the code actually.
 
it's bee-u-tea-ful!
 
Yeah?! Must look a hell of a lot better than the ugly ass code I've been writing then. =)
 
1:57 PM
+        private readonly Stack<Declaration> _withQualifiers = new Stack<Declaration>();
+        public override void EnterWithStmt(VBAParser.WithStmtContext context)
+        {
+            var implicitCall = context.implicitCallStmt_InStmt();
+
+            Declaration returnType;
+            var call = Resolve(implicitCall.iCS_S_ProcedureOrArrayCall())
+                ?? Resolve(implicitCall.iCS_S_VariableOrProcedureCall())
+                ?? Resolve(implicitCall.iCS_S_DictionaryCall())
+                ?? Resolve(implicitCall.iCS_S_MembersCall());
 
Wow. That does look good.
 
I think there might be a hidden NullReferenceException down the line, I'm pushing a null reference into that Stack<Declaration> if the With block can't be resolved... but I'm not sure it's handled.
 
Oh, we'll find out soon enough.
 
hey, that returnType variable isn't used!
+        public override void ExitWithStmt(VBAParser.WithStmtContext
+        {
+            _withQualifiers.Pop();
+        }
 
Doesn't get much nicer than that ^!
 
2:00 PM
it handles the nastiness of nasty nested With blocks :)
and this is the nastiest Resolve overload:
+        private Declaration Resolve(VBAParser.ICS_S_MembersCallContext context)
+        {
+            if (context == null)
+            {
+                return null;
+            }
+
+            var members = context.iCS_S_MemberCall();
+            for (var index = 0; index < members.Count; index++)
+            {
+                var member = members[index];
+                if (index < members.Count - 1)
+                {
+                    var parent = Resolve(member.iCS_S_ProcedureOrArrayCall())
 
200 issues, woohoo!
Oh, look what's in my inbox..
> April 2015 Employee Satisfaction Feedback
2
 
@sᴉɔuɐɹɥԀ cough
Satisfaction survey eh?
@Mat'sMug It's kind of cool that you found a reason to actually use a stack. =)
 
2:26 PM
@RubberDuck indeed! ....and it's actually the very first time I use one!
 
@RubberDuck IKR. Too bad there's not a comment box, otherwise I'd write "Fewer surveys would increase my satisfaction."
 
2:37 PM
> 200 OK 200 CLEANUP FTW
2
 
2:53 PM
0
A: Is there a place for automated code reviews?

sᴉɔuɐɹɥԀI'm not sure that an automated answering bot or whatever would be appropriate, for a couple of reasons. The primary one is this: It is not a person. Why does this matter? Well, to me, it matters a lot. Sure, a "lint" type tool can show you errors and potential problems, but it cannot teach. I f...

Any thoughts on improving this answer, feel welcome to edit and add to it :)
 
This is a huge problem to tackle for a community challenge, don't you think? I've been working on a project that has this as one of it's core features. We're almost 1000 commits in and it's just now returning consistent results. — RubberDuck 11 secs ago
 
lol - ^^ that
 
3:17 PM
Doesn't teaching just mean explaining why something is wrong? Current lint tools usually don't do that, but a CR-specific one could. — svick 16 mins ago
 
> I left a number of comments on the commit. I have a few concerns yet.
https://github.com/rossknudsen/Rubberduck/commit/9422638b169e7a80705d6a3a99485484fa23b58c#commitcomment-11002609
 
0
A: What static analysis tools exist that can help pick up points for answering CR questions?

Mat's MugLanguage: Visual Basic for Applications (VBA) Tool: Rubberduck Website: http://www.rubberduck-vba.com This open-source project started right here on Code Review, by @RubberDuck and @MatsMug (it started with the porting of a unit-testing framework written in VBA, to a COM add-in written in C#...

 
3:53 PM
@Mat'sMug @RubberDuck I just found a concern about RD, but it's more related to your website than to RD itself. Should I file an issue, or...?
 
sure!
 
@sᴉɔuɐɹɥԀ Sure. We can tag it with meta.
 
Gotcha
 
@sᴉɔuɐɹɥԀ well now I'm curious! ...are you typing it up?
 
4:07 PM
> If you wish to promote RubberDuck further, you should try to find ways to improve SEO. Using Google I searched for a few general VBA queries to see if/where RD would show up. I think it should be *at least* in the first 3 pages, but ideally on the 1st or 2nd. Here are some examples:

- **"VBA lint"**: RD not found

- **"VBA clean code"**: RD not found

- **"VBA code inspection"**: RD not found

- **"VBA refactor"**: RD not found

- **"improve VBA"**: RD not found

- **"VBE plugin"*
 
@Duga website gets a facelift with 1.3's release, too
I wanted the code inspections more reliable before promoting more aggressively :)
 
Haha nice :)
Like I said, LMK if I can help, web design is kind of "my thing" ;)
 
Not sure how WebSiteBuilder likes custom html though.. they have this "SEO optimization" paid feature
 
@RubberDuck Aw, I didn't know you were stuck with SA Classic
That sounds horrible
 
4:17 PM
@Mat'sMug Don't know much about WebSiteBuilder. Have you considered Wordpress.org instead?
But, in any event, if it "does" accept custom HTML it's pretty easy to improve SEO just by adding and improving meta tags
 
@skiwi it is horrible.
 
I'm a little bit surprised you didn't hack in a proper language into it yet, but you might've been tempted to do that already!
This is my best hack of today:
if platform.system() == "Windows":
    DJANGO_NODE["PATH_TO_NPM"] = "npm.cmd"
A component only worked on Linux...
It still doesn't work though :|
(By default that variable was set to "npm")
 
@sᴉɔuɐɹɥԀ well it's paid for... for 2 years IIRC ;)
 
Ahh ok
How much do they charge for the SEO features?
 
oh wow
> Loading upgrade dialog... (hangs)
 
4:33 PM
^That might not be the best sign...
 
IKR
 
@Mat'sMug They are all pretty small problems, mind you. Mine has a few things I need to fix, still too! ;)
 
@sᴉɔuɐɹɥԀ I can add custom site-wide HTML between <HEAD> tags and before closing the <BODY> tag.
 
OK good. This might help you especially with the <head> section:
6
Q: Cardshifter website meta-tags for SEO

sᴉɔuɐɹɥԀI have written the following meta-tags for SEO, please let me know if you think this could use any improvement. I have used this article to help me put it together. I have left out the page content on purpose, if you wish to see it I posted it here on CR and on Github (note the following updates ...

Funny enough, before I implemented the suggested changes, my <head> section shown zero errors on HTML5 validator... now I have 16... perhaps I should roll it back lol.
 
4:44 PM
@skiwi Wait a sec, are you actually familiar with space automation?
 
<title>Rubberduck</title>
<meta name="description" content="Rubberduck VBE add-in for VBA. Unit testing, code inspections / static code analysis, refactorings, enhanced navigation, and more!" />
<meta name="author" content="Mathieu Guindon" />
<link rel="author" href="http://github.com/retailcoder/" />
<link rel="publisher" href="http://github.com/retailcoder/rubberduck" />
@sᴉɔuɐɹɥԀ ^^ like that?
 
Yes that's a good start
 
how do I get a favicon?
 
um, hold on
 
    <link rel="icon" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.0/favicon.ico" />
 
4:48 PM
You would need to link to an actual .ico file
 
also can I not specify a list of keywords of some sort?
 
For example, you can make a copy of the RD logo and save as .ico file - Or better yet, if you have a small "icon" version even better
 
I have an actual 16x16 ducky.ico in the repo
 
@Mat'sMug You can but it doesn't do much
@Mat'sMug Perfect, just put in the URL for that then!
 
so there more stuff I put in the description, the better?
<meta name="description" content="Rubberduck VBE add-in tool for VBA. Unit testing, code inspections / static code analysis, rename refactoring, extract method refactoring, enhanced navigation, todo comments, and soon integrated source control and automagic indentation.">
> googles "automagic" -> Rubberduck comes up
3
lol
 
4:54 PM
s/and soon integrated source control and automagic indentation/,integrated source control and automatic indentation/
 
right.. although it's not yet implemented ;)
 
Unimportant detail ;D
2
 
Very important detail if you ask the guy who's developing it!!! Lol
 
@Mat'sMug As long as it's succinct and not ridiculously long. Keep in mind SEs also looks at the page content
 
> Just wanted to give my experience of how I found out about RD, since it was fairly recent.

I was searching Google for "vba unit test" and found "http://stackoverflow.com/questions/4547487/how-to-unit-test-excel-vba-code", which has an answer from Mat's Mug promoting RD.

More references to RD on StackOverflow questions and Excel/VBA forums would be a good start to getting more users, especially for the search terms that Phrancis listed.
 
4:59 PM
80% of rubberduck-vba.com's traffic comes from Stack Exchange
2
5% from Google
<meta name="description" content="Rubberduck, a smart VBE add-in tool for VBA. Unit testing, prevent runtime errors with code inspections / static code analysis; refactor code for better maintainability and readability with rename and extract method refactorings; find all references to any identifier; enjoy enhanced navigation, todo comments, integrated source control and automagic indentation.">
^^ publishing...
done
now go google, invalidate that cache
 
> There are two hard things in computer science, naming things, cache invalidation, and off by one errors.
2
 
> 80% of the project website's traffic is coming from combined Stack Exchange sites (Stack Overflow, Code Review, and chat server).

Search engines are ~5% of the hits.
> I've added a <meta name="description" tag on every page, let's see if that helps :)
 
11
Q: vba code refactoring - are there any tools to assist?

Siraj SamsudeenI am trying to refactor my VBA code. I am so used to using refactoring in Java-based IDEs for a number of years. Does VBA editor support any refactoring or are there any add-ins? MZ Tools did not have any such functionality. I want to be able to do at least the following: 1. Rename variables 2....

 
> You might want to take a look at Google's Webmaster Tools if you haven't already.

https://www.google.com/webmasters/tools/
 
@RubberDuck No, not at all, why?
 
5:07 PM
LOL. Oh, because you seemed to know what it was.
 
Pff normal web pages are sooo 2014, I'm working (for university project and also personally) on a brand new setup
@RubberDuck That's because I read your blog.
 
=) d'awwww someone actually reads that trash.
 
Django + React + JSX + Server-side rendering
It's really interesting
Using Django you pretty much host a single page application that loads a React page, and Django also provides a REST API for the data
Then your pages are written in JSX (enhanced JavaScript) only, by returning a virtual DOM (as opposed to hard-coding HTML)
 
Curse you for making me clear my cache and logging back in!
(JK)
 
And with server-side rendering you actually render the full webpage on the server and send that to the client, and then you hook regular JavaScript files (compiled from JSX) up to that rendered page
 
5:10 PM
@Mat'sMug No shameless self promotion yet? Get on it, you slacker!
 
0
A: vba code refactoring - are there any tools to assist?

Mat's Mug Disclaimer: I'm the main author and owner of the project's repository. Rubberduck is an open-source add-in for the VBA IDE under [very] active development, that includes this functionality. Version 1.2 includes an Extract Method refactoring tool: Version 1.3 includes a Rename refactori...

 
@Mat'sMug Got a bit of BTW.Work to do, but I'll Google-Fu and comment back on the question a bit later
 
The web setup looks really promising an maintainable
 
@FreeMan where are my votes? ;)
I see alcohol in your future. — kingdango Oct 9 '12 at 18:42
 
This sounds more like sarcasm than a useful answer. — Phrancis 8 secs ago
DV applied ^^
 
5:15 PM
lol I DV'd too
and yet, pre-RD, it's the oh-so-painful truth!
> I want to be able to do at least the following: 1. Rename variables 2. Split Procedures into sub-procedures to make the code more readable 3. Change the scope of the variable from global to procedure and vice-versa
1: check. 2: check. 3: next!
 
> @Ryankey I agree, leveraging Stack Overflow's awesomeness is ...easy. But I feel like a dirty spammer every time I do that.. not to mention that SO questions asking for tools, books or libraries.. are off-topic. These answers are useful *for Rubberduck*, but they don't make me a very good SO citizen:

- "vba unit testing"; http://stackoverflow.com/a/28798705/1188513
- "vba refactoring": http://stackoverflow.com/a/29991570/1188513
 
@Mat'sMug Have you considered perhaps checking on the Software Recommendations SE site to see if there's anything related to VBA?
 
nope
 
If there is, might be worth adding a hook to it
 
there's such a site?
 
5:22 PM
Looks like there are a few although, there's not a tag for it, so might be difficult to hook
Welcome to Code Review! This looks like a great first question, I'm sure you'll get some equally great answers from our Java pros! — sᴉɔuɐɹɥԀ 7 secs ago
 
5:39 PM
@Mat'sMug I regret that I have but one vote to give
 
eh, you could always put a bounty on it ;)
 
@sᴉɔuɐɹɥԀ doesn't look like there's anything there.
 
> @retailcoder good job updating the HTML meta tags. I performed the same searches as before, after clearing my cache and cookies of course, and here are new results:

- **"VBA lint"**: _RD not found_

- **"VBA clean code"**: _RD not found_

- **"VBA code inspection"**: RD Twitter found on page 3, main site not found

- **"VBA refactor"**: RD **Features** page found on page 3!

- **"improve VBA"**: _RD not found_

- **"VBE plugin"**: _RD not found_

- **"VBE addon"**: RD Github on
 
@Mat'sMug ahem... ;)
<lunch>
 
5:55 PM
<work>
 
@Mat'sMug May I perhaps suggest reaching out to the Twittersphere? Perhaps someone has had to do some SEO before and could provide useful information :)
 
6:11 PM
</lunch>
 
6:45 PM
@sᴉɔuɐɹɥԀ you bountied it?!!
 
@Mat'sMug Just send a check later ;)
 
:)
 
@Rubberduck203 heck, #WhyNot?
 
6:49pm? what time zone you in?
Oh, that's UTC, isn't it...
 
that's UTC
 
6:51 PM
since when to twits come with a UTC time stamp, or is that normal?
 
no idea ;)
 
Heh also 6:49 PM here
but it's 9:54 PM by now
 
it's 6:49 PM everywhere!
 
ToDo Explorer isn't getting much love at the poll... I haven't used it much, but mostly because I forget that it's there.
I've added some 'TODO: and 'NOTE: comments, I just forget to pull up the list...
 
@Rubberduck203 heck, #WhyNot?
Hm. I think it's SE doing the conversion, on Twitter it shows local time
 
7:06 PM
@RubberDuck did you see my email?
 
@Mat'sMug Yes, and I am reminded that I'm a cold calculating businessman... I don't quite like that part of myself.
 
lol
 
...... no joke. I struggle with it.
@sᴉɔuɐɹɥԀ working hard today?
 
7:20 PM
Just going through the language tags and knocking 'em out :)
I like that idea a lot better than some "auto-reviewer-bot-thing"
 
Hello from 37,000 feet.
2
 
whiskey.... tango.... foxtrot........
    Do Until rct = 5
        If rct = 1 Then
            strSQL = ""
            proName = "deletes_compare_find_existing_tmp"
            cpct = 4
            Call udt_progress
        ElseIf rct = 2 Then
            strSQL = ""
            proName = "deletes_compare_adds"
            cpct = 7
            Call udt_progress
        ElseIf rct = 3 Then
            strSQL = ""
            proName = "deletes_compare_deletes_facil"
            cpct = 16
            Call udt_progress
        ElseIf rct = 4 Then
 
> Help people help themselves.
 
Does any of that mean anything to anybody? cuz it sure as shit doesn't mean anything to me.
Oh. Hey @Chrismas007.
 
Does anything change rct in the loop?
 
7:22 PM
What's rct and cpct mean?
 
Also should probably be using Case
 
@sᴉɔuɐɹɥԀ I have no idea....
@Chrismas007 Oh, it gets better.
 
The presence of strSQL scares me a bit
 
strSQL = strSQL + "EXEC " + proName + " @livekey =" + strVERSIONKEY + ", @pendingkey = " + strPOGKEY2 + ", @USERNAME = " + strUsername + ", @userid = " + strUserID
 
These Southwest fuckers are throttling my Outlook
and yet SE chat works just fine
 
7:24 PM
strUserID = "42); DROP TABLE inventory;--"
 
Option Compare Database
Option Explicit
Private Const MODULE_NAME As String = "pog_compare"

    Public strCat As String
    Public strEXT As String
    Public strPOGKey As String
    Public strPOGKEY2 As String
    Public strVERSIONKEY As String
    Public rst1 As ADODB.Recordset
    Public strUsername As String
    Public strUserID As String
    Public xlApp As Object
    Public xlWb As Object
    Public xlWs As Object
    Public strExcelFile As String
    Public svName As String
    Public svPath As String
I'm gonna have his gd head...
 
Holy JC that looks dangerous
 
Needs more variables.
 
Needs more global variables.
3
 
Public MightNeedThis As Variant
3
 
7:27 PM
Hungarian notation much?
 
Worst part is, if they decide they only need one of us, guess who's probably gonna keep his job?
 
7:42 PM
I can't even begin to describe how bad this code.
I just opened up one of the sprocs to find hundreds of lines of plain text that gets executed with exec sp_executesql @SQL
I need a smoke before I do something I'm gonna regret later. brb
 
ouch
 
That's the moment when you hope that it's some auto generated code
 
It's not.
 
exec sp_executesql @SQL is almost like doing SQL injection within the database itself... bleh.
 
7:57 PM
> but the user can't put their own input in there. The system generates it.
Riiiiiiggggggghhhhhhhhtttttttttt
 
^^ stargreed
I've seen that used for sorcery dynamic SQL, which is fine (mostly), but anything other than that, there's always a better way, methinks.
 
I see what he's doing. He's using an open query to keep the logic in the db instead of the app. Which, is genuinely the wrong thing to do here. Put it app side where we can contact directly to the external data. sigh
We're gonna have a long talk about this at our staff meeting.
On the bright side, I didn't have to actually touch the code. Today at least
 
8:25 PM
in TCG Creation, 1 hour ago, by sᴉɔuɐɹɥԀ
I noticed recently that she seems to miss github events at random. Only noticed while using the web interface though. Have not noticed a pattern, but next time I notice it I'll make a note of the event ID(s) and post an issue
in TCG Creation, 1 hour ago, by Simon André Forsberg
@sᴉɔuɐɹɥԀ I think the ducks and mugs have experienced that too
@RubberDuck @Mat'sMug FYI ^^
 
just now you notice??
lol
 
Nah, skiwi just happened to say something related
 
8:42 PM
I personally use Rubberduck and can vouch for it's usefulness. — SOofWXLS 5 mins ago
 
#ForTheRecord ;)
 
9:28 PM
You can start by browsing the many fizzbuzz examples (FizzBuzz seems like a good "hello world" to start with) on this site, then pick a language you find most appealing, implement your own, get it to work as expected, and then post the working code here to get tips from this community! Good luck! — Mat's Mug 38 secs ago
^^ I lol'd. Hopefully they don't stumble on yours ;D
 
You can start by browsing the many fizzbuzz examples (FizzBuzz seems like a good "hello world" to start with) on this site, then pick a language you find most appealing, implement your own, get it to work as expected, and then post the working code here to get tips from this community! Good luck! (whatever you do, just don't start with lolcode! ;-) — Mat's Mug 1 min ago
 
> > **Running 32-bit and 64-bit versions of Office on the same computer isn’t supported**

https://technet.microsoft.com/en-us/library/ee681792.aspx
 
9:48 PM
hey guys
regarding the addin keys
it may just work even though it seems like it shouldn't
 
hey
 
its not hard to do, just remove the conditionals.
 
you mean registering both?
 
have to be careful about what you mean.
registering == regasm IMO
 
ok
yes
"addin keys" got me confused
 
9:50 PM
not sure what to call installing the addin keys
 
lol
 
talk about overloading.
 
"addins key" vs "COM keys"
 
ok
putting the "addin keys" for both x64 and x32 is easy.
 
yeah
 
9:52 PM
just remove the conditional checks and do both.
its probably not that harmful either.
 
but you registering the COM keys under both hives for the heck of it would be useless IMO
 
so I am ambivalent
 
well, there's no point in registering it under \addins if it's 64-bit. Office won't even look there.
 
yup, that's my opinion that I expressed in the GH comments.
Just thinking out loud.
I'm checking for whether Office 32bit is installed at install time and uninstall time.
but I'm pretty sure that it isn't cached.
so you could have some weird effects if they change bitness between performing the install and uninstall!
 
lol
TTGH, TTYL :)
 
9:59 PM
Later!
 
 
1 hour later…
11:06 PM
> Well, ok then. That's inconsistent with the advice I read about registering add-ins. (No. I don't have the link handy. =)
 

« first day (329 days earlier)      last day (2851 days later) »