« first day (1785 days earlier)      last day (1395 days later) » 
00:00 - 18:0018:00 - 00:00

6:00 PM
Pictures of one desert here
 
@FreeMan Only some deserts are highly featured like that. Others are flat with at best long rolling dunes.
 
:) I know
 
and Idaho? Who knew?
 
Most people wouldn't think that's a desert.
I did. I grew up there...
 
Huh. I kind of have it in the head that it's mostly forest & farmland area - because of my visits to Priest Lake
 
6:03 PM
I wasn't too into priests when I lived there...
Most of SE Idaho is high desert. Desert is defined by annual rainfall, not by sand dune content.
 
Makes sense, I suppose. Priest Lake is in middle of the panhandle, IIRC.
 
Yeah, don't think that part is classified as desert.
Of course, in Idaho, "farmland" looks a lot different than it does in, say, Indiana.
 
mumble mumble 13 minutes mumble 189 tests mumble average 5ms mumble something not adding up.
 
@IvenBach VBA unit tests in RD?
 
Yep.
I know I had this problem before but can't recall what was the root cause or how to fix it.
 
6:08 PM
pretty sure the execution time only counts the amount of time spent during the test method invocation. not the COM interop overhead, not the @TestInitialize/@TestCleanup, not the @ModuleInitialize/@ModuleCleanup`
13 minutes is terrible though
 
@MathieuGuindon afaict we can't not time the COM interop overhead
 
git installed on possible alternate box.
 
@Vogel612 right - I meant everything but the (very much minimal) overhead of invoking a test method
 
cloning RD to test building on that machine. Wish me luck ducks.
 
Good luck!
 
6:18 PM
@IvenBach :+1: good luck!
 
deletes 1000+ email messages. Reclaim a measly 0.05 GB worth. Sadface
 
Surprise surprise RD builds on the new box. A true :+1: indeed.
3
 
YEAH!!
 
so pour the coffee on the first machine alrady
 
Apr 2 at 19:57, by this
I still think you should have a coffee accident.
 
6:23 PM
Where's my coffee?
 
nice, can't wait for the avalon edit codepanes implemented by Iven :)
 
Ok. I'm way too giddy about this. Time to take a walk.
 
@IvenBach alternatively, introduce it to the nearest window
 
@Vogel612 LAFF. You've forgotten my ignorance already.
@MathieuGuindon 2nd floor ensures non-repairability.
 
@IvenBach stahp. you already know more about AvalonEdit than I do!
 
6:26 PM
if I had infinite time and energy, I'd love to know what was it that made the first box not tick.
oh well
 
@Vogel612 Sorry, not saying anything this time. This weekend, I'm going to get a site running and exposed to the internet on an Azure VM.
 
lol that was not a jab in your direction at all :)
 
I've made several big steps yesterday evening and this morning before tickets came in, so I'm close :)
@Vogel612 I know. I'd love to do it, but this other project is exciting me ATM :)
 
then thoroughly enjoy it :)
 
@Hosch250 you gonna blog about it?
Apr 18 at 19:02, by Mathieu Guindon
btw I bought & parked modernvba.com
 
6:30 PM
@MathieuGuindon I actually might.
What's going to happen to rubberduckvba.com?
Also, for you, I'd actually recommend a web app service, not a VM.
I'm only doing a VM because I can buy a Windows 10 Pro VM and run a couple dozen microservices and SQL servers for cheaper than running a single app on a web app service.
 
@Hosch250 keeping it
 
If I had a single app, I'd already have the thing up using a web app service and single DB :)
 
6:43 PM
@MathieuGuindon VBAdoneRight.com
@MathieuGuindon can’t forget industryDisruptor.com
 
meh. I need to make the time to udpate the RD website first.
 
7:32 PM
@MathieuGuindon And you thought your imposter syndrome was bad...
 
7:50 PM
:derp: git clone https://gethub.com/... is never going to clone me anything.
Must
Type
Correctly
 
Hey everyone! I just applied the hotfix "Add attribute annotation" and it did add the annotation, but then it also replaced every EM dash (—) in the module with this: — Is this something you've seen before?
 
lol
 
@ChrisB Welcome to the pond.
 
Thanks!
 
@ChrisB, that LOL was for @IvenBach, not you. Bad timing...
 
7:52 PM
Pond, not bath?
 
That issue sounds like an encoding problem. I had those sorts of things when doing exports way before RD.
 
@FreeMan I figured so
 
@ChrisB we have a lot of duck-themed word play. This chatroom we often refer to as the pond. :points-at-top-right-of-screen:
 
@ChrisB the dashes are in string literals?
 
Right, I have run into the problem exporting and reimporting modules, but never with RD. I've also never used this particular hotfix (I don't actually know what it does).
No, comments.
 
7:54 PM
regardless, worth opening an issue for it :)
 
I'll try with string literals...and then post the issue. It seems RD and the VBE are telling me to stop using EM dashes.
 
There went hopes for getting points for answering my own question on SO. I agree self answer = 0 points.
 
lol yeah... VBE likes ANSI (but then somehow handles Japanese), and then .NET likes UTF-8.. the two together tend to get tricky
@ChrisB the "Add annotation" quickfix adds an '@Annotation comment that mirrors a given attribute; the "Add attribute" quickfix adds an Attribute VB_Something hidden attribute in the exported module that mirrors the corresponding annotation, then re-imports the module
e.g. '@PredeclaredId ensures Attribute VB_PredeclaredId is True; '@ModuleDescription controls the value of Attribute VB_Description at module level, etc.
 
@MathieuGuindon So that lets us export and reimport a module while preserving custom attributions for the module?
 
it literally makes the export+edit+reimport automatic
 
8:02 PM
Awesome!
 
^
keeps them in sync, too
 
In sync?
 
'@Description("todo")
Public Sub DoSomething()
Attribute DoSomething.VB_Description = "does something"
End Sub
^ fires an inspection result
 
Whoah! Is this documented somewhere? If I didn't know about this how many other useful features are there I'm unaware of?
 
and then one quickfix modifies the annotation comment, and another modifies the attribute value
4 mins ago, by Mathieu Guindon
@ChrisB you already know about the '@Folder annotation, right?
 
8:06 PM
Thanks. I ran the hotfix again and confirmed it also replaces EM dashes in string literals.
Yes, I use the '@Folder annotation in every project. It RD did nothing else it would still be indispensable.
3
 
@ChrisB Indeed!
 
@ChrisB pssst once you get morsel of unit tests you'll be saying the same thing about them too. I know I did.
 
@ChrisB I think there is an issue around that already.
might not be about EMDash directly, but also has issues with encoding..
something about french glyphs IIRC
 
makes me wonder what we do to Japanese and Russian VBA code
 
8:13 PM
apparently only applies to the attributes pass though...
 
@Duga not sure about the label there... I mean, sure it's annoying, but the work-around is to build with a Visual Studio version that's not completely broken.
"can it build web stuff? yeah? ship it!"
"oh, breaks every Windows project ever made... ship it anyway!"
 
IDK if you know, but that guy is a MSFT guy
 
@MathieuGuindon yea, I added that because it breaks update compat for a future move to 2019
 
@this ha, nice!
 
8:27 PM
not because it is time-critical
just because it's a "blocker"
 
makes sense
 
I suspect that they'be been looking for "special" builds.... like ours.
until 3.0 ships, there's not much we can do.
3.0 really can't ship soon enough. (Then again, do we want to jump on bleeding edge techs....)
 
we probably don't, but it's nice to know folks working on MSBuild know we exist and try to build our repo with the still-NDA bleeding edge stuff
 
@this SE Inc. are actually jumping on 3.0 and run prod with prerelease SDKs as far as I can read from @Nick_Craver
@MathieuGuindon yea, the goal is for the thing to "just work" when removing Sunburst and the WPF/Forms hackarounds
 
^
and the sunburst author already said it was stopgap, so.
@Vogel612 cool
 
8:34 PM
> On what seems to be a related note, EM dashes are converted to — in both string literals and comments when the hotfix is applied. My workaround is easy...don't use EM dashes, but I see how that would be a problem if all my comments were written in French.
 
Would be more reassuring to know there's a desktop C# COM application bleeding out on the .NET core 3, though.
 
lol
we're not actually targeting core, you do know that, right?
 
I know
 
We're just hopping the tooling bandwagon there
 
yeah.
TBH, the whole tie-in of the build toolchain to the .net core confuses me a bit
build toolchain should be its own thing.
 
8:37 PM
> Or Japanese, or Russian, or ....anything outside of ANSI, really: this problem is wrecking any non-ANSI content in any code module - added "critical" label, this can be a very disruptive (potentially showstopper) problem for the affected users.
 
@this it is. to some extent
the toolchain is MSBuild being called by dotnet-cli
 
if it were, then it wouldn't need to wait on .NET Core 3 to enable support for the WinForms/WPF using the SDK-style format, IMO.
 
I think MSBuild was completely rewritten to support the capabilities that .NET Core expects of it
so it's not "feature complete" as of now
it was enough to release, pending fixes for "corner uses"
.NET Core was not intended for thick client apps for windows desktops
the toolchain improvements were still usable for Framework projects, though.
The globbing alone is worth gold
 
Yeah
 
@Duga would be great to have Andrin here to check for us how RD deals with japanese characters
 
8:55 PM
I think to handle this properly, we have to find out the IDE? Office? Windows? code page and use that.
VBIDE is definitely not using unicode; it's using code pages.
 
just reading it sounds like a nightmare..
 
I seem to recall something around korean and japanese codepages being mentioned in the spec of VBA
anyways... running all tests.. let's see whether that refactor worked
 
@this How you figure that out?
 
@MathieuGuindon and mostly likely means we can't port it anyway.
At best we can only warn if there's any ASCII character > 127
 
@IvenBach it's in their quickbio
 
9:01 PM
@IvenBach His name was familiar from my earlier digging through .NET docs or something something, and when he posted here, I got curious, moused over his name and there it was.
 
I'm missing the blatantly obvious then.
 
@ticker makes me wonder how many millions of souls can be saved with @OptionStrict
 
a lot
VBA is far too loosey-goosey for my liking
 
9:10 PM
@MathieuGuindon Why the attribute + the actual flag?
 
Luke, I've learned to use the search!
 
@Hosch250 not really needed, but useful for switching off without nuking the entire annotation
same reason VB.NET has it, I guess
 
@MathieuGuindon It's pretty easy to do that anyways...
''@OptionStrict <-- not particularly strict
 
No, I mean, why @OptionStrict and option strict?
 
huh
no, there's no option strict
 
9:13 PM
Oh, wait, I'm thinking option explicit.
So, it's plain old VB that has option strict?
Or is that VB.NET?
 
only VB.NET
VB6 didn't even have that
8 mins ago, by this
VBA is far too loosey-goosey for my liking
(should have said "VB*" instead of "VBA")
<thinkingbig>Would be cool to have a quickfix that will "Add DirectCast and do it automatically for the return value of WorkSheets.Item()"</thinkingbig>
 
-2
Q: condense this VBA loop code and make it more dynamic

thanh1211Sub Dateandpricegenerator() 'Projected Dates 1 mystart = Range("C7") myend = Range("C8") Range("B31") = Application.WorksheetFunction.EDate(mystart, 0) + 1 mystart = Range("B30") For x = 31 To 100 If mystart >= myend Then Exit For Cells(x, 2) = Application.WorksheetFunction.EDate(mystar...

 
> I don't think that the problem is related to the language used, whatever it is, but rather to the fact that VBE works only with ANSI encoding and not with UTF-8.
When I export the module in which the attribute was added by RD, the file should be encoded in ANSI but this is not the case, it is UTF-8. If I convert this file to ANSI, the problem disappears.
 
@Duga yea no...
ANSI < ASCII < Codepages <<<<<<<<< Unicode
 
^
 
9:27 PM
the VBE does more than ASCII, therefore more than ANSI
 
we should however, store the original code pane we got the file from and.... store it somehow.
 
@this what for? We can not detect any inconsistency on the bytelevel, AFAIK
 
to warn when the import will not work because it came from a different codepage
33 mins ago, by this
I think to handle this properly, we have to find out the IDE? Office? Windows? code page and use that.
IOW, we have to store the code page at the time of export.... somewhere ....
then read it as part of import.
 
@Duga +1
and TTQW
 
9:42 PM
AFAIU, the VBE infers the codepage to use from some system settings.
 
if that's the case, then it would be possible to break im/export on the same system just by changing the settings.
 
I am pretty sure that is possible.
 
possibly a harebrained idea --- we might be able to handle this gracefully for a import by making use of NTFS alternate stream.
 
you guys know what the suck is?
 
if it's a thing we export, we add a stream to the file with the metadata for the codepage or whatever.
 
9:45 PM
trying to convince your wife to use last pass when she already locked herself out once due to forgetting her master password (permanently)
 
But the export is handled by the VBE.
 
then when we import, we can check if the alternate stream exist or not and if so, import it accordingly.
Right, we have to wrap those methods so that we pre-process the files before we hand it off to VBE
 
And the VBE does not tell us which encoding it uses.
 
This, we have to infer from the system at the time of export
 
@this you think we could pull some strings at MSFT to get a hand with that?
 
10:01 PM
can't hurt to ask
would beat hours of testing and guessing where the setting is
 
10:16 PM
@this I can't think you enough about your continued belts-n-suspenders full declaration of types. That has made once mystical examples mundane an consumable.
 
10:34 PM
> My only issue with enforcing early binding is the problem it causes users with different versions and therefore requiring different references… I’d rather develop in early bound mode and then go late-bound when deploying. Maybe that is what you are suggesting and I am missing the point (which is usually the case… <G>).



From: Mathieu Guindon <notifications@github.com>
Sent: Thursday, April 25, 2019 10:09 PM
To: rubberduck-vba/Rubberduck <Rubberduck@noreply.github.com>
Cc: Subscribed <subsc
> My only issue with enforcing early binding is the problem it causes users with different versions and therefore requiring different references… I’d rather develop in early bound mode and then go late-bound when deploying. Maybe that is what you are suggesting and I am missing the point (which is usually the case… <G>).
 
10:54 PM
> @SmileyFtW the version-specific issues of early binding are real, but also wildly overstated. Scripting runtime, for one, has no reason to be late-bound: every single Windows machine built this century is running the same version. Ditto with any XML library, or regex, and several others. That said we can't hook the compiler (that I know of) and *enforce* it at compile-time; best we can do is trigger inspections, and offer quickfixes where appropriate.
The vast majority of VBA code uses only s
 
@Duga the VBA landscape is on the verge of a little revolution, and we're the ones carrying the pitchforks
 
@Duga I have to remind that on a computer where they disable the scripting, the application that uses early binding is totally SOL. At least with the late binding, there's the option of continuing to use the application without the features that directly depend on the scripting.
 
@this yea, if you disable scripting on a machine, but want automation on it, you deserve what's coming to you
 
tell that to the corporate workers who want to get their job done with a clueless IT...
BT,DT.
 
@this even more of a reason to wrap the late-bound type into its own class IMO
Instead of sprinkling late-bound calls all over, now they're all in one place
and the rest of the code can have @OptionStrict
right? that would be how we work with that option?
 
11:16 PM
Correct, I already wrap those stuff into their own space
 
Another reason to not use Hungarian Notation as it's a nuke.
 
11:32 PM
So far half of respondents picked "CreateObject" for "what is late-binding in VBA?"
 
@IvenBach The key is that you must not use it consistently.
@MathieuGuindon :-(
 
@this nah, makes me all the more motivated to review my chapter and make sure that's well covered =)
 
thinking about it - VBA's loosey-goosey really does not help clarify the difference. As you said, we can easily go late bound in a chained call or something like that. Don't even need a CreateObject or Object for that.
 
just a chained member call against the result of a property/function that yields an Object... or a Variant
 
yeah
and then there's the wrapping of variant-returning functions
e.g. Left()
 
11:38 PM
Yeah but those would still fly though
We fortunately don't make member calls against strings, integers, or arrays
 
thankfully, yes - it's only a problem when assigning, esp. if it's a part of bigger expression
(which is a another code smell, too)
 
00:00 - 18:0018:00 - 00:00

« first day (1785 days earlier)      last day (1395 days later) »