« first day (264 days earlier)      last day (2916 days later) » 

00:01
RELOAD!
[Cardshifter/Cardshifter] 1 opened issue. 4 issue comments.
[Cardshifter/cardshifter.github.io] 4 commits. 1 closed issue.
[retailcoder/Rubberduck] 13 commits. 8 opened issues. 1 closed issue. 4 issue comments.
2
[skiwi2/HearthMonitor] 10 commits.
[Vogel612/JavaBot] 1 commit.
00:18
> Another good reason to change this. This is how we mark test modules.

'@TestModule
Option Explicit

Now I consider it to be a bug.
@Mat'sMug don't pull master yet. The gd setup project is in the repo.
> Cleaned up API by hiding controls from tlb
> gd setup project
Okay. Fixed it. Sorry about that.
> removed set up project; for realz this time
Just got home anyway - no RD'ing for another hour or so ;)
@Duga IIRC '@TestModule does not need to be first. But yeah, comments should be ignored.
01:03
Yeah. I know it doesn't have to be first, but that's where the TestExplorer puts it when it inserts a new module.
Registering a COM Add-In with InstallSheild LE http://wp.me/p42nM1-5J
Holy crap. I have almost as many view/visitors in the first two months of this year as I did in all of last year. I'll surpass it by the end of next month!
01:36
does RD have anything to do with that?
01:52
search & replace huh
var HashSetener = new DeclarationSectionListener(module.QualifiedName);
"List" => "HashSet" : "listener" => "HashSetener"
lol
dude, get your R# 30-day trial, you won't regret it!
02:10
undeleted
7
Q: Inspector Rubberduck - Take Two

Mat's MugRelease 1.1 of Rubberduck only had a handful of implemented code inspections, more as a proof of concept than anything else. For release 1.2, we now have 19 implementations of our IInspection interface - here is what happens when the user clicks the refresh button on the Code Inspections toolwin...

02:31
Damn it. I missed one? Sorry. Was in a hurry.
I don't know if Rubberduck has anything to do with it honestly @Mat'sMug. Biggest hits are my progress bar form and that Git article.
well, congrats! :)
I'm parallelizing IdentifierUsageInspector initialization
Thanks! And I so will regret a 30 day trial. It'll eventually be over and I'll either be without an awesome tool (that I by then love) or spending some $$. =)
I'm gonna tackle the Option inspection in the morning I think. Should be easy enough to fix/write tests for.
02:51
just ran a performance profiler on code inspections.
results are somewhat surprising
                    var result = inspection.GetInspectionResults(code);
                    foreach (var inspectionResult in result)
                    {
                        results.Add(inspectionResult);
                    }
var result = GetInspectionResults(code); == 3.9%
in == 55.9%
and the bulk of the work is ANTLR.
and at the peak of CPU usage, it's all about iterators iterating inspection results
yield return
This is of interest: Warning DA0039: (Average)Contention Rate / sec = 19.96; A very high rate of .NET Lock contentions is occurring. Please investigate the reason for this lock contention by running a Concurrency profile.; also there are messages about relatively high % time in GC. — Mat's Mug 2 mins ago
03:07
Hmm. I have no idea what that means. Seems to be a parallel processing issue?
I kind of figured most of the slowdown was in ANTLR though.
It's the price we pay for not having to develop our own parser.
it's probably faster than anything I would have written though
this is costing a lot:
        public static QualifiedModuleName QualifiedName(this VBComponent component)
        {
            var moduleName = component.Name;
            var project = component.Collection.Parent;
            var hash = project.GetHashCode();
            var code = component.CodeModule.Lines().GetHashCode();

            return new QualifiedModuleName(project.Name, moduleName, hash, code);
        }
var code = component.CodeModule.Lines().GetHashCode();
it's also what allows avoiding to parse a code module that wasn't modified.
03:57
> closes #247; made foreach loops Parallel.ForEach, not sure there's any gain though
I don't get the bug with arrays:
VariableSubStmt : AmbiguousIdentifier (WS? LPAREN WS? (Subscripts WS?)? RPAREN WS?)? TypeHint? (WS AsTypeClause)?;
AmbiguousIdentifier doesn't care if a variable is an array - only VariableSubStmt does
 
2 hours later…
05:54
bugs cleared - TTGTB
@Duga no gain whatsoever :(
 
7 hours later…
13:07
#Rubberduck #VBA Editor add-in version 1.2 prelease just dropped. Come report ALL OF THE BUGZ. =) https://github.com/retailcoder/Rubberduck/releases/tag/v1.2-pre.1
13:37
Monking @Phrancis.
 
1 hour later…
14:53
Optimising before you know where the slow parts are is premature optimisation. Releasing the thing before you know where the slow parts are is premature releasing! — MathematicalOrchid 22 hours ago
@Mat'sMug LOL. Where did I see that? Hot Network list?
On a personal note, welcome to Code Review! Feel free to drop by Code Review Chat or the CR VBA chatroom. — RubberDuck 1 min ago
15:17
GRUMBLE...
(Monking)
4 freaking data update tickets just today that I had to send back to our DBA because they did not execute correctly
Is this spam?
@MarkShepherd as a side note, I'm working with another fellow VBA reviewer here, on a little project that might interest you - get the latest release of Rubberduck, a COM add-in for the VBA Editor, that can find code issues and help you refactor your VBA code (and lots, lots more) - we need people like you to find and report bugs in our little ducky! ;) — Mat's Mug 24 secs ago
> I might have gotten a little over zealous when cleaning up the registry entries for the installer. Creating a new instance of a `Rubberduck.AssertClass` raises

Run-time error `429`:
ActiveX component can't create object

This means that Unit Testing is completely broken in the pre-release.
I missed it until just now.

Pulling the installer from the releases page. It's an issue with it, not the actual code.
@Phrancis 'morning!
lol.. what a timing!
15:25
@Mat'sMug A bit... but eff it. Spread the good word.
should I add "PS - the latest release build is broken"? ;)
@Mat'sMug Latest Release isn't. =)
Latest pre release is.
lol
semantics
Hey man.. installers are hard. lol
there are 2 3 things that are hard in programming: naming and, cache invalidation and deploying.
that said I'm happy that you've been dealing with the installers and deploying :)
15:29
I'm eventually moving us to a CI service and Wix. This shit's getting old. =)
whatever works!
At least I'm not the only one in dll hell this morning.
in The 2nd Monitor, 2 mins ago, by nhgrif
It builds them just fine. The code runs just fine. But I can't inherit from a custom control because it claims none of my DLLs are .NET assemblies.
seriously, we gotta find a way to make code inspections run much faster.. otherwise performance is only going to decrease as we implement more and more :(
something needs to change at the architecture level
...but I don't know what yet
I think providing some UI cues will help it seem like it's running faster. That's half the battle.
People are good so long as they know the program is actually doing something.
well the main annoyance right now (to me at least) is that if you have a relatively big VBAProject and bring up the code inspections toolwindow, there can be 30 whole seconds elapsing before the window even shows up (filled with your inspection results) - that's just bad UX
and I need to get MZ-Tools installed; I need to know how many LoC's that project is!
15:36
That I can agree with.
Okay. WTF? How can it just suddenly break if all of the things are registrered correctly?
They can't be registered correctly.
ugh
oh wow.. it's a small project after all
6,465 lines in 944 procedures
That's fair sized for a VBA project.
MZ-Tools "source code review" only looks at unused identifiers (the inspection I disabled for being too painful) and completes in less than 3 seconds.
and it finds usages in comments
we gotta be doing something wrong
OTOH it finds 32 items. Rubberduck finds 120.
actually, the version I have here (first release) finds 98 issues faster than MZ-Tools
but it's not the ANTLR parser
we definitely need a progress bar on the CI toolwindow
Oh wow. This is messed up. I can create the late bound AssertClass, but not the early bound one.
I've gotta be missing some keys here.
15:51
interesting
I might be back to building Rubberduck.dll, running regasm /regfile and manually importing keys prior to building the installer. Which sucks.
I was trying to streamline. Kind of my bad I guess.
> Short of significantly improving inspections performance, let's try to squeeze this one for the 1.2 release: - [ ] Make the Code Inspections toolwindow show up before inspection tasks start. - [ ] Add a progressbar to the Code Inspections toolwindow's toolbar, and have it report inspection progress. - [ ] Have the issue count label on the Code Inspections toolbar update as issues are found, and make it say "inspecting..." until inspections are completed, so the toolbar says...
"inspecting... N issues" and updates every time an inspection task completes. We can do it!
^^ yeah, new label
2
How long have you guys been working on Rubberduck now?
16:00
October I think
Quite some time ;)
What do you think about releasing alpha/beta versions (0.x)?
I don't really care about version numbers... should I?
@skiwi 708 commits, 63 issues opened, 164 closed ;)
Only in terms of assembly versions.
oh and 5 releases
Increasing the Major means we broke the API, minor is a backward compatible change.
16:03
@skiwi We've been working on Cardshifter since August you know :)
@RubberDuck not necessarily... I feel like 2.0 would have all the major issues of 1.x fixed, and all the features we want to have
Unless we broke the API first, yes. I can see that.
@Phrancis Yeah, Cardshifter hasn't had a "public" release though
I'm mainly wondering what to do with HearthMonitor
Fortunately, there's not much to break.
2
There's always something that still needs to be done
16:04
@skiwi That's the problem and it leads to some projects never making it to 1.0.
LibGit2 for example...
@skiwi then release more... that ^^
I get what you say, but
0
Q: Access VBA loop freezes after 10 seconds

poppycoI am assigning representatives at a call center to a list of call recipients (members). However, I am grouping the members by household. I am trying to assign reps using a loop through the member table while looping through the rep table. The goal is to assign all members of a household to one re...

My application doesn't have one fully complete feature yet
Define complete. Does any one feature work?
Maybe it's not complete, but it may never be.
16:07
Minus the current bugs + 1 more really needed feature you can open a log file, select the game you want to play and see the cards in hand/board/etc.
A problem is that the hero hp doesn't update yet, and that the hero name isn't shown
@skiwi prioritization issues?
To fully assess a game it's very important to see the hero HP at all times
However the application does have some uses right now I would say
Sounds like you're ready for alpha testing.
Really run it through it's paces and prioritize what needs done for a initial release.
What do you need, what can wait until the second release, etc.
wow, poor soul
I'd start by fixing the indentation. Just locating the code that's within the loop's body is hard. Code that's easier to read, is easier to fix. But this site unfortunately isn't the right place to fix code, or to locate bugs. Sounds like you may have an infinite loop going on, have you tried stepping through the code to see if it does what it's supposed to be doing? Once you fix the bug, we'll happily review your code.. in the mean time this question will likely be closed, as broken code isn't ready for peer review yet (see our help center for all the details) - cheers! ;) — Mat's Mug 24 secs ago
Oh. I was just commenting on that.
16:14
@RubberDuck An example... To go to the next action you currently need to click previous/next buttons
There are like 900 actions sometimes in a game
I have made it such that holding a key down triggers more steps at once though, lol
@RubberDuck your comment was posted twice??
@Mat'sMug Thanks.
Yeah.... game development @skiwi. That's a bit different. You almost can't release until you have a full "feature set" because you have a single feature.
Some other interface for previous/next would be way better
better
You have one that works. Make an issue to improve it in the future and move on to getting the next thing working.
> Bonus round 2: get a www.rubberduck-vba.com :)
16:19
I always hit a little mental wall whenever something the "best way" to do things suddenly isn't the best way anymore
I think we all do
Right now I'm avoiding working on it for some hours, not sure if it's the best solution lol
@Duga done
Seriously?
$30 on godaddy for 2 years
private domain registration
16:29
Not shabby.
no idea where to go from there though, but we got the domain name :)
web dev willing to work for nothing
2
AHA! wrong *tlb file......
@Mat'sMug What a nice GUI... :p
The domain just 404's for now :)
Looks like I'm getting into ASP.NET MVC after all!
oh, now it's a "we've registered your domain, now put it to work" page with a "get started" button
16:55
@RubberDuck I've done a little web dev ;p
I think I've got it now.
BTW, if you're OK with the PHP backend, it's super-easy to make a website with the Wordpress.org suite
hisssssss
He speaks evil.
2
@Phrancis but I am not ok with PHP ;)
I think it's just going to be wiki content and links to GitHub for a while... so the GoDaddy wizard might just work
I'll see what that looks like tonight
> Corrected Assembly Description
17:06
@RubberDuck isn't there a ducky icon in the solution somewhere? the one that the extract method dialog uses
@Mat'sMug You could also make a github.io repo
@Phrancis what's that?
(or even clone ours, it's got a whole bunch of built-in shit, including a Java-backend for templating)
See this: http://stats.zomis.net/io-web/
Is pulling from here: https://github.com/Cardshifter/cardshifter.github.io
17:08
@Mat'sMug Is there?
should be
unless it's built into the form... hold on
yeah.. damn
  <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
    <value>
        AAABAAEAEA4AAAEAIADgAwAAFgAAACgAAAAQAAAAHAAAAAEAIAAAAAAAuAMAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAB4AAABxAAEBtQEYGOMCLCz3AzEx/AIhIewABwfFAAAAiQAAADYAAAABAAAAAAAA
        AAAAAAAAAAAAAQAAAJIDODj5CJqa/wzh4f8O/f3/Dv///w7///8O////De/v/wq0tP8ES0v/AAAAewAA
        AAAAAAAAAAAAAAAAAEcFWlr/Dv///w7///8O////Dv///w7///8O////Dv///w7///8O////Dvv7/wMw
^^ there's the icon!
cool!
I need to uninstall the old 1.1 right?
Nope.
Might want to back up your config file, but you shouldn't have to.
It won't install one until you modify the settings through the dialog.
It just installs the Appdata\roaming\rubberduck\ directory now.
Everything else is magic. =)
3
bbiab
> You have successfully installed Rubberduck
3
17:34
> !image This one is relatively tricky, since any class module can be an interface. I suggest the following: > If a function has no body at all, consider it an interface method. That is, the function's End Function is on the line immediately following the function's signature. The inspection result could have the following quick-fixes: - Convert to function to procedure (current...
quickfix) - This is an interface member (remove all content) Clicking this is an interface member would move any comment lines just above the signature, and clear everything else; as a result, the End Function token would be on the line immediately following the function's signature, and that function would no longer be flagged as non-returning.
Good call ^^
> Fixed in pre release 2.
The COM & .Net settings needed to "Extract com information" but leave the "COM Interop" box **unchecked**. Also, I pointed the installer to the wrong `*.tlb` file.
> Consider a standard code module with the following public fields / globals: Option Explicit Public Strings As New StringType Public Fractions As New FractionType Public Data As New SqlCommand Rubberduck considers them as never used, even though this line of code is found in the same project: Private Sub RaiseErrorMustImplementIComparable(member As String) Err.Raise 5, Strings.Format("{0}.{1}", ToString, member), "Invalid operation: method requires a list of numeric, date or string values,...
or a list of objects implementing the IComparable interface." End Sub --- Usages (and assignments) are found if they are in the same module - this looks like IdentifierUsageInspector has a bug with usages of globals, but not with usages of fields.
> Fixed reference description and URL. Will open a separate issue for the icon.
I like that MZ finds 3 unused variables, and Rubberduck finds 9 issues. We need to fix the UnusedVariableInspection and not have our users need to have MZ-Tools for full inspection coverage.
> I'm still not sure exactly what happened here. It could be because I linked the wrong tlb file in the installer. It's fixed now.
17:52
(fun question though)
2
A: VBA Error Handler with "With" Statement

iDevlopJust add a byRef argument to SetRST. e.g: Sub SetRST(byref myrs as recordset) 'do stuff set myrs = ... By the way, your error handling sample sucks: just add an Exit Sub before ErrHand:, so you won't need to test if err.number<>0, because you know it will always be. In your error h...

> By the way, your error handling sample sucks: just add an Exit Sub before ErrHand:,
so you won't need to test if err.number<>0, because you know it will always be.
My Rubberduck VBE add-in says "Use of obsolete Call statement" on that Call SetRST rst line ;) — Mat's Mug 6 secs ago
now I really feel like I'm spamming '~'
Nah. Just noisy comments.
well I normally would have commented along the lines of "Isn't the Call statement obsolete? It can be removed for cleaner code..."
18:09
Spoken like a true CRer.
18:26
Well...
I never write the 'Call', which is useless, I just wrote it here to keep asker's style. You're right, it's useless and (therefore) unelegant. — iDevlop 18 mins ago
Ugh. That's enough SO Close Votes for a day.
I like you. We could always use more VBA Reviewers on Code Review if you get tired of SO. — RubberDuck 18 secs ago
18:54
Rubberduck 1.2 pre-release is out! Programming in #VBA will never be the same, try it now: https://github.com/retailcoder/Rubberduck/releases/tag/v1.2-pre.2
19:19
> Probably very similar to the Variable Not Used Inspection #190. If a Function/Sub is never called, it can be removed.
^^ YES!! for 1.3!
@RubberDuck we're going to have to review what we want to ship for 1.3 soon.. I get this feeling that there's a lot :)
nICE!
^^ cAPS lOCK fAIL :)
@Mat'sMug Yes. We'll need to review the list.
We also owe ourselves some technical debt. Gotta figure out how that fits in too.
19:39
define technical debt?
19:50
What do you guys think of this?
SELECT
  cont.Contract_Number
, sku.SKU_Description
, sku.Category
, sku.Vendor_Flag
, prod.Sequence_Number
, prod.Model_Number
, prod.Brand_Code AS "Current Brand_Code"
  /*
  ** String pattern matching for brand codes
  ** Model starts with R for Rheem
  ** Model starts with U for RUUD
  */
, CASE
    WHEN prod.Model_Number LIKE "R%" THEN 'RHE'   -- Rheem
    WHEN prod.Model_Number LIKE "U%" THEN '03091' -- RUUD
    ELSE 'UNK'
    END AS "Correct Brand_Code"
, prod.Product_ID AS "Current Product_ID
I think you might need a lookup table instead of all these CASE WHEN branches..
Have not had this much fun with string patterns in a while
@Mat'sMug Yeah, wish that was an option lol.
Thing is, Model_Number is a very arbitrary VARCHAR field where the data usually comes from manual data entry
I can relate to that ;)
So a model number might look like RGPN060230 or RGPN-060-230 or UGPN-060-230 (where in reality it's all the same damn machine)
At least the OEM is consistent with their model nomenclature, kudos to them for that
I figured just letting SQL do a few case operations would be quicker than manually looking up through the result set with Excel
(which will likely be several thousand records)
20:06
@Mat'sMug Tests and Refactoring.
Just a clean up sweep. We've been building for about 4 months. I'm sure we've got some messes to clean up.
damn right
I know I'm guilty.
20:22
@ticker wow, what a dumb question
0
A: Substitution for object name

Mat's MugA String isn't an object reference; you simply can't do that. As already mentioned, all you're doing is re-assigning the strings' values: objcol = myIP(i) & ".ForegroundColor" ' objcol is "[computername].ForegroundColor" ... objcol = 255 ' objcol is now "255"

20:37
It gets dumber.
I updated the tag on your question. Console.WriteLine doesn't exist in VBA. Before you move much farther, I really recommend that you learn which language you're using. You're going to have a really hard time if you don't understand that VBA is not the same language as VB.Net. — RubberDuck 19 secs ago
That one excited me. Seeing that question pissed me off.
Oh. Btw. =)
in The 2nd Monitor, 20 mins ago, by RubberDuck
Taking my case for Git to the director next week. It just got approved by my manager. =)
Sweet!
@RubberDuck Got time for an Access question?
Nvm figured it out
LOL. Sure. Hit me. =;)-
20:54
I was trying to see if there was a way to join a saved query to a table using pure SQL. But I figured I'd just copy & paste the result from the query into a new table and join that instead
Oh. well, sure you could have.
Save the query and then call the query just like it was a table.
It's that simple?
Ugh. Now I have to find some kind of online bs course to take to make HR happy... ftp.
@Phrancis Yup. That simple. Now stop using SQL in Access. Plz. 4 ur health.
3
Just take a VBA for beginners course, should be done quickly
Everything interesting is on the lines of 9-12 weeks and about 10 hours a week. I don't have that kind of time.
I have software to build.
20:59
@RubberDuck Damn I wish I knew that long ago
(on both the former and latter of your statements)
21:44
Gagh! My time is better spent writing code than trying to take some stupid 101 class.
I need a new job.
I learn more in a week of developing rubberduck than I'd learn in four years of CS classes.
Okay, maybe that's a bit of an exaggeration.
Lurker. =)
> A user-defined type is declared, but no variable of that type is declared anywhere in scope.

Rubberduck should suggest to remove the entire declaration.
> A class module is never instantiated: Rubberduck should **hint** about it, and a quickfix should be in place to remove the class from the project (uh, and prompt for user confirmation before doing so!).

Note the emphasis on *hint* - VBA classes can have a default instance, so a class that is never *instantiated* isn't necessarily a class that is never *used*.
@Duga No. Bad juju. I have two closely related classes that would be siblings in any other language.. anyway.... they both share an internal data structure. So, they both use the same type under the hood. That type becomes public and goes in a *.bas file.
Well.... Okay. I can always shut it off.
Yeah. We're getting into things where we'll need a way to ignore an inspection just once via some kind of attribute.
@RubberDuck huh?
Nevermind the first part. I can just shut it off.
Not sure how to explain without digging some code out of my code base.
well if you have a private this As ThatsTheTypeImTalkingAbout then you are using it...
21:57
Oh. Yeah.
My bad. I'm tired and frustrated.
by "in scope" I meant "accordingly with the type's access modifier" ;)
@Mat'sMug I think that's the part that I was concerned about.
so a public/global type ...nevermind
So long as it looks everywhere.
I'm out for a bit. See ya guys.
later!
out as well
22:16
Alright, this is either insanity, or genius (or both)
Took a 40K deep flat record set in Excel, split it into 3 separate subsets, and joined them back together to prepare a large record insertion (4K+) into Production that's going to save lots of man hours
Using Access SQL
SELECT DISTINCT
  c.Contract_Number
, o.SKU_Description
, o.Vendor_Flag
, "Evaporator Coil" AS [Product Type]
, "00" & MAX(s.Target_Sequence) AS [Greatest Current Seq]
, "NULL" AS [Current Sequence_Number]
, "00" & (MAX(s.Target_Sequence)+1) AS [New Sequence_Number]
, "NULL" AS [Current Product_ID]
, "1018" AS [New Product_ID]
, "NULL" AS [Current Brand_Code]
, "LNN" AS [New Brand_code]
, "NULL" AS [Current Model_Number]
, b.Model_Number AS [Correct Model_Number]
, "NULL" AS [Current Serial_Number]
(don't ask about the "NULL" fields, our data team asks for those on insertions for some strange reason)
22:34
Null as text?! (Sorry, couldn't resist.)
@Mat'sMug I'm gonna open up a meta on the repo. Keep your eyes out for it.
23:04
TTQFW
Eh. Never mind. It was a dumb idea.

« first day (264 days earlier)      last day (2916 days later) »