« first day (1909 days earlier)      last day (1271 days later) » 

12:00 AM
RELOAD!
[rubberduck-vba/Rubberduck] 22 commits. 2 opened issues. 4 closed issues. 6 issue comments. 8189 additions. 3987 deletions.
[Minesweeper] Games Played: 105, Bombs Used: 81, Moves Performed: 15273, New Users: 20
 
It didn't arrive until v4, which was a proper version bump unlike 2->3.5, so perhaps its (way) more involved than that...
 
the problem with static type analysis is that the space is rather large
 
Unrelatedly: newer C# features are allowing closer access to the hardware, which could potentially help with our memory consumption. Thinking of Span, Memory and ref structs in particular, which can minimise the amount of copying and allocations...
@Vogel612 I can imagine... Polymorphic type systems must be bad enough, add generics and it goes to another level...
Or, you could take the opposite approach and just say, "Meh, do whatever..." glares at JavaScript...
 
12:27 AM
polymorphic type systems are actually comparatively boring...
if you want to get funky, stuff like higher-kinded types are really useful
alternatively for someting closer to what C# can do: discriminated record types are a feature in F# AFAIK. Getting those to be actually performant can be ... challenging
 
12:45 AM
uh, cool... whoosh. This is why I don't design type systems :-)
 
1:01 AM
@mansellan that can be applied toward the typelibs’ addressable variables.
 
i'm too high level to really understand it properly, but afaics they allow you to stop copying blocks of memory all over the place, and just look at a mapped view of what's already been allocated and filled
 
which is exactly what the AddressVariables does
 
whoa...
> I'm too high level
:-)
Mind you, C# seems to be getting closer to C every release. Just by following along, we'll all be asm developers by net 6 :-)
seriously though, it's kinda cool that managed code is getting proper access to memory views, without having to leave the safety net behind.
 
that's kind of a lie, unfortunately.
just because we can access memory directly doesn't mean we can do so safely.
 
oh... go on then, burst my bubble...
 
1:12 AM
That's why that particular class is in the Unmanaged folder --- most of the types there are unsafe
heck, even outside the Unmanaged, the "safety" is questionable. If you don't unwind correctly, you can easily corrupt the stack and everything comes tumbllng down, and all king's men and horses can't help you out.
 
ok, but I was talking about, for example, Memory - it seems, um, semi safe? couldn't see any pointers or mallocs?
 
from what I read, it's lecturing me about ownership
the very same topic that I'd expect to be reading were I in C or C++
so... it's still unsafe.
 
well, yeah. you still have to let go of it when you're done, so...
meh, I don't know anything like enough to critique given that I've never done unmanaged, and I don't know if or how it's different.
 
in the end, it's no different from using Declare in VBA/VB6
 
ah
 
1:17 AM
creating a Declared function gives you access to the wonders that you can't have within the walled garden but it can let in gremlins and demons in if you are not careful.
 
oh sure, btdt. Declare ICopiedThisFromTheInternetAndNowIGetGpfs As Any
 
yeah, pretty much. All of that stuff in C# are variants of that.
 
All I know is when my work colleague tried to use Span in a business app, it went badly wrong.
But hey, its new. Maybe I just need to understand it some more.
I'm hoping that, ownership aside (through IDisposable?), at least it might protect against some of the uglier problems like overruns?
otherwise what's the point? Might as well drop in a CPP module...
 
probably. I'm sure there's some safety
it's just a mistake to think it's now 100% safe that's all
 
I do know that if you mess up one method sig in the chain (omitting an in keyword), it stops being a view and goes back to copying. At which point, all benefit evaporates. With no compiler assistance...
 
1:31 AM
> mocked.Drives
null
> mocked
{Castle.Proxies.FileSystemObjectProxy}
    Drives: null
    Scripting.IFileSystem3.Drives: {Castle.Proxies.DrivesProxy}
    Interceptor: {Moq.Mock<Scripting.FileSystemObject>}
    Mock (Castle.Proxies.FileSystemObjectProxy): {Moq.Mock<Scripting.FileSystemObject>}
    Mock: {Moq.Mock<Scripting.FileSystemObject>}
> mockFso.Object
{Castle.Proxies.FileSystemObjectProxy}
    Drives: null
    Scripting.IFileSystem3.Drives: {Castle.Proxies.DrivesProxy}
    Interceptor: {Moq.Mock<Scripting.FileSystemObject>}
yes, yes, makes total sense to me....
 
At this point, it seems to be exclusively for low-level use - frameworks and (massively tested) libraries, rather than general consumption. But given how low-level the analysis bit of RD are, I thought I'd mention it...
 
(note: dynamic mocked = mockFso.Object)
 
heh... null ≠ null. obvs!
 
@mansellan technically, null ≠ null = null
 
= null
 
1:39 AM
With the FooBarFormatters taking over the IExportable interface should I plan on removing it from ToDoItem and InspectionResult to isolate the finctionality?
 
ttgtb
gn
 
gn
@IvenBach yes
 
 
2 hours later…
3:33 AM
I got some news....
Firstly...Github has adapted new version of Git 2.23 which contains more easier use of commands namely switch and restore. Source: infoq.com/news/2019/08/git-2-23-switch-restore/… and github.blog/2019-08-16-highlights-from-git-2-23
Lastly... Microsoft .net team had finally recognised how challenging managing different repositories and now consolidating their 55 down to 5 and planned to become one. Source: infoq.com/news/2019/08/mcrosoft-consolidate-dotnet-repo/…
^ to quote some lines..”led to a number of complications, including confusion about which repo an issue belongs to, more complexity when sharing source code or setting up an installable runtime, cross-repositories PRs, duplication of efforts and lack of consistency.

Part of those problems stems from the deep, complex dependencies entangling the runtime, CoreLib, and other core libraries, but it is not specific to them only”
Had a chuckle that “...but StackOverflow engineer Nick Craver warned that the cost of contributing to a repo while it is being merged into another may hamper contributions from the community until things settle”
 
 
3 hours later…
6:43 AM
> A unit test that takes 1/10th of a second to run is a slow unit test.
That gives me a benchmark to compare against.
3-5ms now seems like a good speed for unit tests.
 
7:09 AM
@IvenBach Most unit tests for RD are slow and some glacial.
Using the mack parser already pushes most to about 0.2s.
Loading the Excel type library usually pushes the test to a runtime between one and four seconds.
So, if not absolutely necessary, do not load those huge libraries.
 
 
2 hours later…
9:41 AM
 
10:02 AM
> Just catching up now with 2.4.1.4881. Not seen this behaviour yet, thanks.
However, when I open first a .xlsm then a big .xlsx (say 200MB) I get the hourglass flickering and the VBEIDE shows "Resolving declarations" for VBProject.Module1 which does not exist.
Then when I close it it starts again on the original .xlsm I opened.
Could we have RD only do something when I tell it to?
 
10:12 AM
> Just checking - it's still the case that to suppress parsing addins or indeed any other workbook open at the same time as the workbook under test I need to protect their VBProject with a password?
> Oh shoot, I'm developing something with it right now
> Oh shoot, I'm developing something with it right now.

On a more constructive/ discursive note, IIRC one of the major reasons the Source Control feature was removed (as opposed to just no-longer maintaining) was that there are countless other (better) git & source control options available.

Rubberduck _is_ however the only good VBA parser I know of, and exposing those parsing tokens seems better than not.
> Oh shoot, I'm developing something with it right now.

On a more constructive/ discursive note, IIRC one of the major reasons the Source Control feature was removed (as opposed to just no-longer maintaining) was that there are countless other (better) git & source control options available.

Rubberduck is however the only good VBA parser I know of, and exposing those parsing tokens seems better than not.
> What's this page all about:
![Capture_LI](https://user-images.githubusercontent.com/25348920/63848484-cb4b7a00-c987-11e9-99b7-16d06040a97c.jpg)

Specifically, I'm wondering what is meant by "tracking" references, and what happens when I add a new path to that list? Does it include sub-directories?
> @Greedquest, may I ask how you’re using the API?
 
10:54 AM
> Thanks for reporting back! Since this seems to be no longer an issue, I'll close the issue. Your other question seems better addressed in #3041.
> @rubberduck203 Just toying around with inheritance, using RD to look at what methods different classes have as an alternative to using interfaces, very much a WIP.
> Closing this in favor of #3041
> Version 2.4.1.4881
OS: Microsoft Windows NT 10.0.18362.0, x64
Host Product: Microsoft Office x86
Host Version: 16.0.11901.20218
Host Executable: EXCEL.EXE


Error: To the variable 'PT1' of declared type 'EXCEL.EXE;Excel.PivotTable' a value is set assigned with the incompatible declared type 'NotAnObject'
Set PT1 = ResultsPT()
Function ResultsPT() As PivotTable
> This is my understanding, yes.

Briefly reviewing the PR #4535 suggests to me that in the end no changes was made due to some blocking issues which existed at that time of merging the PR. This should be no longer a blocking issue since that the PR #4706 was also merged which also fixes issues with loading user projects. When a PR is started on that subject, it will likely impact the question of how locked projects will get parsed.
> @Greedquest I'm glad to know that there's at least one user.

As mentioned, the main problem is the lack of maintenance. Truthfully, I have no idea how much of API is still working, and how much of it is outdated due to the changes we've been making to the rest of the ducky. We also don't have a good unit test coverage -- for a while it has been assumed that it was basically untestable but I think it can be tested via COM marshaling to at least approximate VBIDE. And as noted, API is missi
 
11:37 AM
> Part of why the API is so unmaintainable is the difficulty of wiring up the parser. As it stands, for Rubberduck's internal needs we're wiring up the parser with CW. The API is *manually* wired up, though. This means that changes to how the parser works and is internally functioning need to be mirrored in the manual parser setup for the API, which is... not ideal.

We might be able to make good use of CW for the API if we can wire up the parser and only the parser to expose it. This would si
 
11:52 AM
@Duga hmm the history doesn't go back far enough - did anyone ever try taking a CW instance from an internal provider?
 
Rubberduck.API is a different entry-point
it would need a "separate" configuration root
 
No, there's an APIProvider class already
it should be able to reference an internal provider that takes the CW-injected instance.
and pass that along. Right?
 
we don't have any CW in there..
we're newing up our CW in AddIn.cs
 
Correct, hence the internal provider to link it?
 
and since we can't guarantee the AddIn is actually run (or loaded) when the API is called from VBA code, we can't rely on it
 
11:57 AM
Yes we definitely want to defer it as much as we can possibly.
BTW, I think it'd be more rather a factory than a provider, really.
 
> So you’re not using it for any kind of production workload. That’s good to know.

I would call our that Git integration wasn’t killed because there were other good options (there really aren’t IMO, although there are acceptable ones), but due to lack of a maintainer to support the feature.

Ultimately this is about cost vs. the benefit it brings to the community. All things considered, Git integration is of a much higher benefit to the community than the parser API, but perhaps the parse
 
my suggestion would be to basically ship CW with the API and split the RubberduckIoCInstaller to allow configuring only a part of the dependency graph to expose it via the API
 
i'm not sure we can actually use CW in a COM visible API
 
why wouldn't we be able to?
 
primarily because CW works mainly via ctor-injection
and COM objects cannot have parameterized ctors
 
12:06 PM
the CW would only be responsible for internally wiring up and resolving the parser in the APIProvider
The COM calls will need to take the place of AddIn.cs
 
so the APIProvider news up its own instance of CW implicitly, resolves the parser, and return it?
 
yes
or even better: since we're managed, we can cache the resolved parser instance in a Lazy that's accessible to all the API exposed methods
 
I think that's what I was getting at with my earlier suggestion (only that I didn't mention Lazy, only a provider/factory)
 
> Thanks to PR #4706, we can mock VBA types:
![image](https://user-images.githubusercontent.com/2367644/63854760-7d247f80-c963-11e9-8e5e-3968a39f0b4f.png)

Some more work are needed to make this more operational, though.
 
12:45 PM
> Thanks for reporting this. I will have a look at it tonight.
 
Hi, guys.
I had an interesting interview yesterday.
 
that sounds good?
 
Kind of.
 
so you've got a new job soon?
 
I think it's a no-go, though (I'll get to that later).
So, the coding part of the interview was:
- Implement a method that takes an int[] and returns an int of the sum of the items. Linq .Sum() FTW.
- Implement a method that takes a string and returns a string without any duplicated characters.
string.Join("", input.Distinct())
The guy said he'd never seen that solution to the problem before :D
 
12:53 PM
welp
the secone one can be a bit more "non-onelinery" if you require preserving order
not sure whether Distinct does that. it should, though
 
Then I had to fix a few unit tests, one of which was throwing a divide-by-zero exception. I slapped an [ExpectedException(typeof(DivideByZeroException))] on it, but then he asked me to change the data in the test, which was easy enough.
@Vogel612 Yes, it does.
I noticed immediately they didn't specify that, though. I didn't mention it, but I was prepared.
Then they had a few SQL questions around querying, joining, inserting, updating, etc.
I finished the whole test in time without the internet. They said it was rare for people to finish even with the internet.
One of the unit tests was to sort a list by A, then B. I used ThenBy which was also new to him.
He was extremely interested in Rubberduck VBA, though--he started programming with VBA.
He was much impressed when I told him about the mocking feature.
I did call out that I hadn't worked on it, but that was where the project was at.
 
that's because it is extremely impressive :)
 
I know. I can barely believe it myself.
 
@Hosch250 Nice! Thanks for sharing!
 
Now for the bad news:
They use TFS. In single-user mode.
So if one person edits (and maybe even opens) a file, nobody else can touch it until they check their work in.
 
12:59 PM
@Hosch250 FWIW, were I the interviewer, I'd have asked you to implement the Distinct() & Sum()` yourself, mainly to demonstrate that you know how to write a method that will at least perform OK. Otherwise, how do I know that you're not just jargon-spewing zombie?
 
@this LOL, they didn't :D
 
@Hosch250 Welp, time to bust out the 8 tracks, then.
 
The guy said it's mainly the choice of someone who's been there 25 years, and they can't get him to agree to switch.
 
@Hosch250 I assume they're not using the git integration, huh?
 
No, LOL.
I told him if I accepted the job, I'd run a Git server locally and sync it.
He said "Fine, but don't tell anyone else."
 
1:01 PM
so they don't want to deal with an employee of 25 years not keeping up with the times, huh?
@Hosch250 you don't actually need a server for local git version control
 
The other thing is, they have a hard deadline of the end of January and want feature development "done" by the end of December.
 
they shouldn't hire for that deadline right now...
 
@Vogel612 True, but it basically treats it like one.
And I'm not available until the beginning of November.
 
like... software management 101: adding people to a late project makes it later
2
 
@Vogel612 Oh, no, it's not even started.
 
1:02 PM
@Vogel612 I doubt many people even know about the Mystical ManMonths
 
I'd be the primary dev on it.
They are finalizing the specs and UI mockups, and want a dev to start ASAP.
 
Still, 1 month worth of dev from zero in a new environment? That's pushing it, esp. if the project is significant.
 
if you're only available from november, you're only available from november..
 
It's a data input form.
To process requests from companies to see things like credit reports, driving records, court records, etc.
They provide data to insurance companies, especially car insurance.
@this FWIW, if I was going to do that, I'd do a foreach loop for the Sum one and just sum them up.
For the second, I'd create a HashSet<char> of what I've seen so far.
Then if I found something that wasn't in there, I'd append it to the string and the hashset. Otherwise, I'd continue.
 
I did a 6 week contract a while back, hooking up a website to a payment processor. It went OK.
(slightly more complex than it sounds - they didn't own the website source so I had to adapt an existing interface)
 
1:13 PM
@Duga that is a good question. Especially since I think this is the first time I've seen that dialog
 
1:32 PM
> I think I found the problem, but I will have to verify later.

In my last two PRs, I changed how part of the resolution of index expressions works and introduced a bug: the check that arguments are present was dropped in the part leading to the default member resolution. This leads to a default member resolution pointing to the default member returning a `String`, the name of the pivot table.

Should I be able to confirm my analysis later, there should be an easy fix.
 
@this LOL
 
@Hosch250 If you are only dealing with ASCII characters, a bit mask or even a list might be faster.
Hashing takes time.
 
@M.Doerner I bet chars hash is just the backing int.
 
That would actually make sense.
Then, it essentially works like a bit mask.
 
  public override int GetHashCode() {
      return (int)m_value | ((int)m_value << 16);
  }
Yep.
 
1:52 PM
I have disabled automatic code-inspection on parse. If I manually kick off the inspections, does it force a parse or does it only parse if the code is dirty?
 
it might actually force a parse, though that should only parse dirty modules, soo ..
 
0
Q: Look for existing pivottables and change date/year colums based off the “Value” filter

Andreas RasmussenWe have a macro that updates all dates/years in all our pivottables (around 100 of them pulling out data from our OLAP cube) based off of a "Master Date" at the top of our sheet (which is being updated monthly). The problem is, that the way we're doing it, takes up a lot of space, and we've been...

 
Also, If I use a quick fix it does seem to parse, but I'm not sure that it then runs the inspections, which it should, no matter what the auto-run setting is. After all, if I'm working through inspections, I want them updated each time I fix something...
Nope, when I run a quick fix, I'm left with a blank CI window
 
interesting ..
I'd say that's a good enhancement request
it should boil down to setting a flag when quickfixes request a reparse
 
I don't think CI & QF are using anything besides normal parser events
which would not be adequate in that case, I think.
meaning, CI has no way of knowing that it was a QF that triggered the reparse
 
2:06 PM
 
#TIL rummaging in VBA/VB6's private stuff is 4 steps away from dementia and Alzheimer's. Which is probably why you don't hear anymore from original developers who worked on VB*:
3
 
@Vogel612 well, I was wrong ... inspection refreshing is triggered by the InspectionResultsViewModel if either the refresh is triggered from the window or the automatic refreshing is enabled
 
Ugh.
So, my work locked in a work/school account on my computer. I can't remove it (reasonably enough...
Their password reset policy came along, and I reset my password.
I CANNOT get into any Office app now.
 
welp
 
It says "Password needed" and pops the box.
I enter my email address, and the box closes.
It's not the password box, but the box to add a new account (I removed the old one to try to fix the issue--before the box would just insta-close before I could put anything in).
The web says the only reliable way to fix it is remove the account and re-add it :(
 
2:19 PM
what about going to the microsoft account apge directly?
 
@this Online?
I did that, and did sign-out-everywhere.
Didn't help.
Apparently our IT has a solution :D
 
turning it off then turning it back on?
 
No, doing the motivactionllc.onmicrosoft.com address.
Then it fails to sign in.
Then you do the "log in with another account" and do the normal one.
Then you restart the apps, and they work :)
Big issue, though.
We do bi-monthly all-employee meetings.
You're supposed to attend, but nothing has happened before if you didn't.
We had one scheduled today at 1PM.
Now we just got an email "MANDATORY all employee meeting at 10AM".
Not sure what in the world is going on.
 
^^ uh oh...
 
IKR? That's what QA said...
 
2:29 PM
probably to wish someone a happy birthday
 
LOL :DDDDD
I wonder...
What if the owner died suddenly?
The president owns 15% and runs the show, but what happens if the 85% owner/CEO died without a clear succession plan?
Or maybe he sold the company.
Last time something like this went out, they had just fired our IT director.
But it was called department by department.
Not full-company.
 
Somebody big just quit or they're announcing layoffs. Slim possibility they're announcing corporate bonuses.
 
Nope, bonuses go out at Christmas.
 
good luck!
 
I said slim...
 
2:35 PM
Hmmm, idea.
 
Yay! Today's the day... The window guys are here - new windows all 'round the house.
2
 
Our CEO is almost NEVER in.
He's been in every day.
 
@FreeMan that would just go via email, actually
no use in making a fuss
 
@Vogel612 sadly, they can't install windows in our house via email.
eh???
 
true, but you don't need to call a mandatory company wide meeting to tell people there will be new windows put in
2
 
2:37 PM
@FreeMan But why do you want to install windows in your house? Normally one does that to a computer...
2
 
maybe if you were saying that you're replacing all windows with linuxes, but...
 
We're replacing leaky old Win286 with <adverb of your choice> new Win10.
Actually these windows far pre-date Win286
 
> IIRC it's paths that are used to track "recent" references; track references not added by Rubberduck would make a reference to a library/project in these paths, added to "recent" refs, even if the reference was added via the VBE's own "add/remove references" dialog.
> @MDoerner does it enter the index expression pipeline with Set PT1 = ResultsPT instead of Set PT1 = ResultsPT()? The parentheses shouldn't be needed here, this looks like it could be an edge case.
 
yippee, it's cowboy-updating-prod-db day
4
#WhatCouldPossiblyGoWrong
 
9 minutes :D
I don't know what's more exhilarating. The wait or the actual announcement.
 
2:52 PM
> **Justification**
I have disabled the Auto-Code Inspection run after a parse. When I'm working through inspections, I don't mind clicking the button to get the CIs to run and the window populated. When I execute a Quick Fix, a parse is triggered, but, since "auto-inspect" is disabled, the CI window is returned empty. I then have to click the button, triggering a parse and the inspection run.

**Description**
Execution of a Quick Fix should cause the code inspections to run no matter the se
> Indeed. Nice catch!
 
Kaz
3:06 PM
@M.Doerner They do in Excel
@IvenBach Not doubled, yes exact match (aside: is there ever a scenario when non-exact-match is appropriate? I'm struggling to think of one).
Though I do have a filename that begins "--Foo"
 
@Hosch250 Or the wait to find out what you've found out.
 
Kaz
Which would fail in Excel, if it hadn't already failed in the system that produced the CSV file that got sent to me.
 
@Kaz you have a chain of 57 stores and their historical Fall/Holiday sales, and you want to "cluster" them - "C" stores are doing between average minus half a std.dev and average plus half a std.dev; "B" stores are doing between average plus half std.dev and average plus 2 std.dev; "A" stores are doing better than that, and "A+" stores are your upper outliers - now you have [Store][Sales][Cluster] and lookup/match the [Cluster] column value
with non-exact match, all you need is to sort your lookup table such that the stronger cutoffs are at the bottom
 
Kaz
@MathieuGuindon Interesting, I'l have to bear that in mind (though I feel like I'd probably go about getting that result differently).
 
there's probably different/better ways to do this - but it's how my then-boss taught me 15 years ago :)
although, it's nice having the cutoffs in a lookup table, so you can tweak them directly and see how it affects the distribution of stores per cluster - we were after that "more or less bell curve" distribution :)
seems having one formula to do all that would be... harder to play with
 
Kaz
3:18 PM
@MathieuGuindon Always ^^
My personal rule is that you're allowed at most 2 formulas per cell. 1 is preferred.
 
of course when he taught me we were doing everything manually... by the time I left, there was an Excel macro automating most of it
and then you loaded the seasonal buy and it would generate an allocation tool to distribute the units amongs store clusters, using the per-cluster sales budgets to drive everything
 
3:45 PM
> I'd like this to be suppressed for EMPTY sheet modules, but enforced if there is any code present.
> Agh, I had a fix for this, but ended up dropping the PR. I wonder if [the commit]( github.com/retailcoder/Rubberduck/commit/…) can be cherry-picked into a new PR.
 
or, you know, tick the "require variable declarations" box in the VBE settings
 
> I have completed the initial cut at this and created a repository for it on GitHub (I hope that is the proper place for something like this: https://github.com/SmileyFtW/CreateCodeWithCode).

There are 2 files in the zip file. One is the file that does the work and the other ("TestWorkbook") is a proper file for doing the code creation. A "proper file" is one that has at least one worksheet with one table and has not been processed previously by the code creation file. I did not do any Unit
 
@Duga would have been nice to export the code files though
 
@kaz With They do not separate words. I did not mean not visually, but for typographic purposes.
No automatic line wrapping will happen on a non-breaking space.
 
@MathieuGuindon "It looks like you're writing VBA code without ticking the require variable declarations! Can I help?"
 
3:55 PM
it was already suggested though.
 
@this That or they've forgotten they ever worked on it.
 
> This is not an edge case. Personally, I always add the parentheses to distinguish function calls from variables.

Moreover, the resolution was correct before my changes.
 
SE go down?
There it goes. Nope
 
4:11 PM
@this Clippy? Is that you?
 
@Kaz First time ever seeing that kind of behavior where 0 as last argument would error barf when the value is within the list. Good to know.
 
@FreeMan I think that's more of a Quacky:
a slightly more sarcastic version of Clippy, it looks like.
 
I like that!!
He could have Dynamic Snark Levels™ based on how many and what kind of inspections trip. Missing Option Explicit? go easy on the n00b. One Hungarian Notation? go full on abusive! :D
 
Didn't have time for RD last night Mug. I do want to get back to the DependencyProperties for the SearchControl. Maybe Thu/Fri evening?
 
sure :)
 
4:41 PM
:googly-shiny-eyes: I haz foundz a new VS trick. Shift+Enter will place cursor on line below current one without dropping the rest of the contents onto the next line as well. public string FooBar(string duk|) will leave ) after duk. This will be used extensively. SoMuchHelpful!
 
huh, that's something RD-AC could do too
not quite AC, but still
 
I thought RD's AC was inspired by that feature.
 
@MathieuGuindon Make it so Numbah One!
This may become one of my top favorite keyboard shortcuts.
@IvenBach @M.Doerner If you didn't already know.
 
@this lol it that was the case it would already be implemented :)
 
One of my guesses was correct. I can't tell which for another week.
 
4:46 PM
@MathieuGuindon I thought smart-concat feature worked for nonstrings, too?
 
no, it's actually bailing out if it finds out you're not inside a string literal
 
right, ignore me then.
 
5:00 PM
@Hosch250 Do tell ... we're all eagerly awaiting!
for some values of all
 
5:34 PM
> Closes #5112

Fix that the default member case in IndexDefaultBinding is only taken if there are arguments. (The bug to use it even without was introduces in one of my two previous PRs.)
 
Per yesterday, I'm still getting only XML formatted data back when I'm requesting JSON formatting. I've not yet heard back from their tech support on why.
Is there enough similarity in handling the two of them that it's worth investing in starting to work based on XML, then switch to JSON when that becomes available, or am I going to be wasting time going down one rabbit hole only to jump into a different one?
based on the assertions here that JSON is easier/preferred over XML
Is JSON that significantly better that it's worth waiting for a resolution to the issue, or should I just go with XML and call it good enough?
 
nah. Pepsi v. Coke, basically.
I'd be more interested in what is better supported & easier to work. In VBA's case, that's XML.
In JS's case, that's JSON.
(why JS never had any native XML handling is beyond me...)
 
While both are overly sweet, Pepsi is way too overly sweet to me, so it does matter. :)
OK. Guess I'll just dig into some XML code & figure it out from there. If they ever get back to me on the JSON issue, maybe I'll do something with it for practice...
Of course, one of the API calls is timing out, so I have to wait for feedback on that one no matter what
 
@Duga that was fast! recalls that "tonight" in Germany is much earlier than EST #timezones
 
6:33 PM
> Close #5109. This has some cross-commit contamination from PR #5095.
 
Paying back what I can one commit at a time.
My commit messages have improved.
 
@this iced tea
pepsi and coke both leave a nasty bitter aftertaste
 
            <employee_id>2715</employee_id>
            <staff_screen_name>
                <![CDATA[Nurse]]>
            </staff_screen_name>
Why does one have ![CDATA[]] and the other doesn't
does that indicate string data?
seems to be the case based on evidence of what I'm seeing in the data.
 
I guess they were worried that there'd be funky stuff in names and they don't want to have to deal with malformed XML
e.g. Mr. & Mrs. would need to be encoded as Mr. &amp; Mrs.. With a CDATA, no change is needed.
which may also indicate that they aren't using XML library, and is doing it by hand.
But gosh, they better hope that there's no poor soul named ]]>
 
6:48 PM
[rubberduck-vba/Rubberduck] build for commit 9227d594 on unknown branch: AppVeyor build succeeded
 
@MathieuGuindon at least he didn't use GoSub...Return?
years ago, I ran across a random guy who actually argued that it was better to use GoSub.
 
@this shhhh, don't give 'em ideas!
 
@Warcupine eh, at least they're not GoSub...Return jumps ;-) — Mathieu Guindon 34 secs ago
#StoleIt
 
6:54 PM
come to think of it, I wonder what happens if you GoSub, then GoTo out of the section. then GoSub again or do a Return...
#ThunderCode
@MathieuGuindon Never was mine to begin with. You're welcome to all of my bad ideas. :-p
 
uh, more like #SpaghettiCode, quite literally!
 

« first day (1909 days earlier)      last day (1271 days later) »