« first day (1564 days earlier)      last day (1616 days later) » 
00:00 - 15:0015:00 - 00:00

3:03 PM
[rubberduck-vba/Rubberduck] build for commit 187e0083 on unknown branch: AppVeyor build succeeded
 
If I have 3 columns in my table (ColA, ColB, ColC) and I make my unique PK on ColA, ColB, that will cover queries on both columns and queries on ColA alone, but queries on ColB alone would end up as table scans, right? (where "ON" means that column is in the WHERE clause)
 
well yeah but if you have 50% of your queries filtering on colA and other 50% on colB, then there's no reason not to create a 2nd index with colB
 
@QHarr To understand how Vb6/VBA stores data, I found this article to be quite useful.
 
e.g. it's OK to do stuff like CREATE INDEX IX_foo1 ON foo (FirstName, LastName); and CREATE INDEX IX_foo2 ON foo (LastName, FirstName);
 
3:06 PM
@this I was planning on creating a 2nd index, just wanted to be sure.
 
to support queries where you need different sort orders for instance.
You just want to be sure that there are plenty of queries that'll benefit from the index in question
 
because maintaining unnecessary indices involves too much overhead on insert, right?
 
not just inserts but also the updates and deletes.
you gonna keep your tree balanced.
 
ah, yes. We don't do too much updating/deleting - it's 99.99% a reporting dump.
lopsided trees just aren't aesthetically pleasing
 
If you are in fact dealing with a reporting warehouse where the data only get dumped in once a month or whatever and the rest are historical, then there is no concerns with having "excessive" number of indices.
The concern is primarily a OLTP one, not OLAP one.
 
3:17 PM
[rubberduck-vba/Rubberduck] build for commit 0899d1df on unknown branch: AppVeyor build succeeded
 
occasionally we screw something up and have to delete a bit of data, but yeah, it's a warehouse. We just don't use that term - there's a corporate EDW project and when we initially were asking about server space for our DW, there were all kinds of feathers ruffled. Now we call it a "database" and everyone is happy.
Yeah. That kinda place...
("E" for "Electronic"...)
 
3:38 PM
@Inarion indexRow immediately comes to mind as an adequate parameter name.
 
morning
only took almost 2 freaking hours for windows update to finish with me
-_-
 
@KySoto LOL. I don't know how you guys managed to have such massively slow updates :(
 
it was a "big feature update"
ive been putting it off for like a week or 2
 
Old, slow computers? Old installations of Windows with updates instead of fresh installations across major version changes?
 
i think it was the spring one
 
3:44 PM
Oh, yeah, those take a long time.
 
eh the only thing actually slow about my computer is the spinning rust
 
@KySoto Oh, yeah, IT probably took forever to approve it.
 
im IN IT lol
yeah im running a 4th gen i5
the 4590
24 gigs of ram
for a work PC its decent
 
Yeah, that shouldn't be bad at all. It's more RAM than I've ever had.
 
heh
my home PC is at half capacity at 32 gigs
if i wanted to shell out like 400 bucks i could get the other set
 
3:47 PM
4 for my Mom's Mac at first (she upgraded it later). Then 8 for my first home Windows, and 16 for my current home Windows and my work computer.
 
actually... i dont know if thats how much
ooof 415 dollars
to get the second matching set
 
That's a lot. Especially when you probably don't need it. I mean, at that point, your CPU might become a limiting factor.
Or your bus or something.
 
when i bought them initially it was only 230 bucks
oh i was talking about my home comp there
 
Oh, that's the super powerful one, right?
Or was that someone else's?
 
mines not SUPER powerful
but it is pretty damned good
you know, the funny thing is i didnt spend all that much for my computer at home, considering hte specs and costs now
 
3:52 PM
IKR? I think they might be hiking prices higher than they need to be.
 
well DDR4 is spiking in price because of smart phones
we may be in an artificial shortage too
 
@M.Doerner Thank you
 
It may also be a spike because a lot of things are artificially high now.
People got too exuberant in their investing shortly after Trump was elected.
It always goes in spikes and waves during election times.
 
true, but the cell phone thing may not be just misdirection
 
True.
 
3:56 PM
it COULD be that there is a really high demand
 
I don't know what it is.
Exactly.
 
but they are only exaggerating just a little
i mean, i read an article about it like 6 months ago
 
Businesses need computers for their employees. When business grow, so does demand.
 
then read an article shortly after talking about the artificial inflation
 
Especially when a lot of small businesses are growing pretty well over the past year.
 
3:58 PM
the problem is the penalties for doing the wrong thing dont scale with what they are doing, so they do something illegal that makes them pay 1 million in fines, but they net like 100 million off it
you think they are going to stop?
its cheaper to break the law if all they lose is a little bit of money
though really, those fines probably wouldnt even be 1 million, theyd more likely be closer to 250k
 
The gov can't do anything if someone raises their prices (unless it's a monopoly on the product), unless there is collusion between multiple businesses.
 
@this :click: Now it makes sense why RDBMS are fast. Using offsets since every Row and Field are the same width. :+1:
 
If just Intel raises the price on their processors without colluding with AMD, the gov can't do anything.
 
yeah, i think there was clear evidence of collusion on the ram manufactures part
i dont remember for sure
 
Last I checked, RAM was cheaper than SSDs by quite a bit, and SSDs are way cheaper than 6 years ago when I first got a computer :)
 
4:02 PM
ddr3 maybe
 
Oh, probably.
 
ssds are pretty cheap, ddr4 is not.
 
Yeah, I think it was ddr3.
I don't follow RAM that much.
 
well ddr4 came out in...
2014?
the first cpu that was not an extreme edition cpu that used it was the 6th gen intel parts
that came out in 2015
 
4:20 PM
@this how did you originally install WiXToolset?
owait... nvm
 
you prolly figured it out already but i opted to use a nuget package so that all of its build tools are available without doing a install
 
What did the criminal say when he was sentenced to be hanged?
(Now, no hints, Iven :P)
 
@Hosch250 Hang loose, bro.
 
Close :)
"Do it quick, 'cause the suspension will kill me."
And that is gallows humor.
 
@IvenBach FWIW, fixed-width row lengths are rare those days, I think. They use different strategy for handling fast lookup with dynamic size for each row.
 
4:33 PM
@this nope, you didn't...
 
what?
 
the NuGet package for the toolset doesn't install, because we don't have a wixproj
 
ooooh, that's right
 
which was why I was asking in the first place
instead you versioned the binaries directly
 
@this :un-click: Thought I understood.
 
4:34 PM
so I just went for static.
 
exactly.
 
yeah
sorry
@IvenBach You did. Just that this isn't a common optimization nowadays.
 
interestingly the script works just fine when I run it manually..
 
the other thing that bothers me is the we get a powershell write error
 
the only difference in params I could find was that the PostBuildEvent used singlequotes instead of doublecquotes
 
4:36 PM
it's as if powershell didn't have the permissions to create that other file
 
@M.Doerner @QHarr I also found that article helpful. I should read it again with my increased experience now.
 
@Vogel612 the only time single quotes vs double quotes matters is when you are expanding a variable inside
if i remember correctly, single quotes dont expand them
 
@KySoto I can't trust my memory but the event is running in a BAT context
so I have to do double-double-quoting
 
oh. then i dont remember
and eww
 
the joys of tech
 
4:39 PM
i hate that crap, have like 6 sets of "
"""""" %path% """"""
 
@KySoto yea. so I'll try with double quotes, just to see if it sticks
 
that would be slick :)
i have a tiny bit of powershell experience
 
agh
 
its basically .net though
ive seen some crazy stuff where people go and use forms and crap and do full on apps
 
welp. I can't get it to cooperate.
 
4:41 PM
yeah without actually looking at it, i couldnt begin to understand whats wrong
 
For now I'm off. I might get to dealing with it somewhen tomorrow, but I don't think so
 
good night?
 
the problem is, without this working, I can't work on the mess I created
I'm on next and it just refuses to build
~grrr
@KySoto in a few hours, yes.
 
@this Is that on account of all the wasted space?
 
This is the commands, basically:
Post: %SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy Bypass -command "& '$(ProjectDir)BuildRegistryScript.ps1' -config '$(ConfigurationName)' -builderAssemblyPath '$(TargetPath)' -netToolsDir '$(FrameworkSDKDir)bin\NETFX 4.6.1 Tools\' -wixToolsDir '$(ProjectDir)WixToolset\' -sourceDir '$(TargetDir)' -targetDir '$(TargetDir)' -projectDir '$(ProjectDir)' -includeDir '$(ProjectDir)InnoSetup\Includes\' -filesToExtract 'Rubberduck.dll|Rubberduck.API.dll'"

Pre: %SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy Bypass -command "& '$(Project
 
4:44 PM
I'm just starting to grok the lower level concepts.
 
so, double quoting to escape the command, which the contents are then quoted as per powershell's rules
@IvenBach I suppose. When you think about it, there are considerable variations in the names so even if you used small width like.... FirstName char(20), LastName char(30), that is going to eat into bytes as you increase the # of records.
whereas you could have FirstName varchar(255), LastName varchar(255) and realize better usage of the storage with only a small penalty to the lookup performance.
 
they do this by splitting the database's file into "pages".
 
So that's part of the reason why varchar is preferred?
Kinda hand-wavey "It's better" type of answer?
 
4:48 PM
Sure.
Mind you, you should always use data types that are appropriate. If you have alphanumeric code, then char most likely makes sense since it'll be fixed in length typically.
the last thing I want to see in a database is a table with 2 columns, one being the key and other being a varchar(MAX) containing a XML document of all the attributes of an entity. That's just....soul-wreaking.
 
@IvenBach Really useful stuff and these links have sort of turned by vba world a little upside down whilst I get a handle on it.
 
@MathieuGuindon Frédéric did a nice job!
 
@MathieuGuindon Congrats
 
[rubberduck-vba/Rubberduck] build for commit 51fd03f2 on unknown branch: AppVeyor build succeeded
 
5:06 PM
@QHarr Keep at it. I was where you were at ~1yr ago. I'm still working on feeling comfortable with the idea of low level byte arrays and whatnot.
Good things there's a translate option for that article. Does a good job at it too.
 
he's going to make an English version too
 
Re: Article. Would it be better to display dropdowns for the inspections? That way users know that they can be changed.
 
meh
it's what our UI looks like :)
 
Having non-contributors write about RD will be helpful since they come to it with a fresh set of ideas and expectations.
 
5:26 PM
@IvenBach Thanks. Appreciate the support.
 
5:36 PM
@MathieuGuindon I can fake enough French to understand the "C'est quoi Rubberduck?" section!
don't ask for a UN-quality translation, but I get the gist
 
Bing translate handled it remarkably well.
 
Head translate exercised brain cells. ;)
 
hm, I must have told Chrome to "never translate from French" once upon a time... can't seem to find an option to translate it
 
Yeah, I put my French-speaking brain cells to sleep years ago.
 
Synapses are occupied learning MVP and other tasks. French may come one day.
 
6:07 PM
@MathieuGuindon so... you're not a true French-Canadian? :o
 
"never translate from French" -> because I can read it without needing translation :p
Fred just "boosted" his article on Facebook
 
@this it looks like you are not expanding hte variables
 
the macros? That's how it's supposed to be.
 
is it possible to have the outer single quote be a double quote?
it is? huh
 
it gets expanded at build time
 
6:17 PM
i guess maybe it expands the variables differently
 
remember, the build events runs in a CMD context, so I have to use CMD syntax
 
i guess if it works then i am thinking about it backwards
 
which is why the powershell.exe -command
 
yeah, i guess if the variables get expanded BEFORE powershell gets it...
 
which IIRC was the only way to pass in the macros as a parameter to the script.
it does. But with the new format... apparently they changed the rules. Joy!
 
6:19 PM
hm. you know, you could create a script file and pass the macro values as parameters...
well as a though
i dunno how feasible that would be in production
 
@Comintern Could I get a breadcrumb? I'm working through AddressOf operater in the VBA nutshell book, but can't figure out an example on pg 122 lstWindowTitles.Clear. Deducing the type eludes me. Think I Rubberducked it out just by asking.
4
 
actually wait a sec...this is building it, which means you could create the script as part of the project
pass the script to the powershell exe and then pass the parameters to the script
yeah that could work.
 
that's what it does.
 
then you could have proper powershell formatting
well i meant a powershell script file rather than a command block
 
6:22 PM
@this you should put that script up on CR :)
 
the key is that we have to get the values from VS' macros which get expanded.
 
@MathieuGuindon ~coughs~
 
do you HAVE to use command line stuff?
 
tis how VS is
 
6:23 PM
effing microsoft...
why cant they use powershell on their programming stuff when they shove it down our throats
 
@this bounty up!
 
That said, the CR is a bit out of date, since Mansellan tweaked it for .... drive something
 
ninja-edit the latest code in :)
 
That said - maybe one day after I'm done with my current PR and the EM feature, I may revise the whole deployment project to build directly from the assembly.
one day
like... in 2025
yeah, that's right.
i'll update the code in the CR tonight; need to review in case there were other changes
 
@IvenBach - I'd read this:
A function pointer, also called a subroutine pointer or procedure pointer, is a pointer that points to a function. As opposed to referencing a data value, a function pointer points to executable code within memory. Dereferencing the function pointer yields the referenced function, which can be invoked and passed arguments just as in a normal function call. Such an invocation is also known as an "indirect" call, because the function is being invoked indirectly through a variable instead of directly through a fixed identifier or address. Function pointers can be used to simplify code by providing...
 
6:31 PM
I'm getting the code to run but nothings populated in the list...
#WorkingWithThingsIDon'tUnderstand
 
@IvenBach #UntilPoofYouUnderstand
 
@IvenBach How much do you think you've learned in the past year?
 
6:47 PM
@Hosch250 #NotEnough but then it #NeverWillBe. Notwithstanding, a lot.
 
Think it over piece by piece for a couple minutes :)
 
I'm much more prepared to figure stuff out now.
 
I remember when I did that about 3 months into programming.
I was like, well, I know statements and expressions and blocks. Conditionals and loops.
Functions.
 
I'm guessing the idea I get, but the terminology is leading me astray.
@Comintern I'm going over the example but my C knowledge is non-existent.
 
The VBA terminology is kind of messed up and dumbed down.
 
6:53 PM
double (*func1)(double) = cm_to_inches; is what I don't get.
How can a pointer be assigned to a double?
 
@IvenBach Oh, just skip the code samples.
The takeaway is that AddressOf gives you a function pointer. I was intended to be used for passing the address of callback functions to the Windows API.
In computer programming, a callback, also known as a "call-after" function, is any executable code that is passed as an argument to other code, which is expected to call back (execute) the argument at a given time. This execution may be immediate as in a synchronous callback, or it might happen at a later time as in an asynchronous callback. In all cases, the intention is to specify a function or subroutine as an entity that is, depending on the language, more or less similar to a variable (see first-class functions). Programming languages support callbacks in different ways, often implementing...
 
Layman’s usage is “computer. Start with these variables and do your work”?
Can a delegate be thought of as a subset of a callback?
@QHarr ^is where you get to see me still learning stuff. We’re all at various stages of learning.
 
A delegate is for all intents and purposes the .NET equivalent to a function pointer.
 
A function pointer is the lingua of C?
 
More or less - C-like languages.
 
7:02 PM
I know everything about C
 
hi @AnArrayOfFunctions! how timely!
 
^ indeed
 
And aptly named.
 
(are you @Comintern's sock puppet?)
 
@AnArrayOfFunctions Everything you say...
 
7:03 PM
@Comintern is barefoot.
 
Yeah indeed why would you assign a double to any sort of pointer
 
sock puppets go on your hand @Comintern
 
Unless the double is maybe x64 bit address
Since a double is 64bit right
 
@KySoto See, I'm not that good at socks then.
 
7:04 PM
when at home im terrible at cloths
whats your point? :P
 
Who asked this question?
 
i believe @IvenBach
 
Me.
 
@KySoto I hope you're better at clothes when you're in public! Cloths aren't that necessry...
;)
 
I’m learning about VBAs AddressOf operator right now.
 
7:05 PM
@FreeMan I am only as good at cloths as legally required
 
OKay - so I doubt you are assigning a double to any sort of pointer
 
a subtle, but potentially very embarrassing, distinction
 
Where is the code
 
@AnArrayOfFunctions Shouldn't be a problem storing a pointer in a double - just don't try to do pointer arithmetic or you're hosed.
 
The pointer double question came about from the link Comintern posted for me.
 
7:07 PM
This? (*funcp)(double)?
 
14 mins ago, by IvenBach
double (*func1)(double) = cm_to_inches; is what I don't get.
 
Ok so every function is C is implicitly converted to a function pointer
So yeah the lvalue type of cm_to_inches is double (*)(double)
 
I think that's generally true though. It's actually a bit more explicit in C than in other languages.
 
So the function is a pointer in an lvalue context
You call the function by using a pointer
There is no way to call the function by its rvalue (i.e. call it directly)
 
7:12 PM
To demonstrate that you can make the call more beatufil like this (*****cm_to_inches)()
Since each and every function in the way get converted to function pointer
 
A pointer to a pointer to a pointer to a pointer to a pointer?
 
So you dereference a pointer to function and get another function which in turn gets converted to a pointer
And so on
It's the same function though
Just a way to drive your friends, teacher insane
I know pleanty
 
@AnArrayOfFunctions ARG! It's "plenty"! (And now you know another ;).)
 
:click:
> There are two types of callbacks, differing in how they control data flow at runtime: blocking callbacks (also known as synchronous callbacks or just callbacks) and deferred callbacks (also known as asynchronous callbacks). While blocking callbacks are invoked before a function returns (in the C example below, which illustrates a blocking callback, it is function main), deferred callbacks may be invoked after a function returns.
 
Sorry -I'm using Internet Explorer and typing on the web is a chore
I wanted to edit but there is no edit for me
 
7:17 PM
Up arrow works.
For 2 minutes.
Also, if you click the little dropdown arrow that show up to the left when you hover over the message, you can open that and there'll be an edit button.
 
@IvenBach Event handlers in VBA would be an example of how asynchronous callbacks are used.
 
The part "deferred callbacks may be invoked after a function returns." is what made the asynchronous part jump out.
 
@IvenBach There's an example in the chat history:
Aug 25 at 5:08, by Comintern
OK, that was fun.
 
My PC just entered Emergency mode so I'm kinda on the edge right now
Since any minute now I may need to reboot
I'm running without pagefile on a 4gb system
Any tab stack.exchange.com is a bullet to my RAM
 
7:33 PM
@Comintern I read that before but didn't understand. Given another year I probably will though.
 
@IvenBach I remembered it mainly because of @AnArrayOfFunctions handle - that example is a collection of function pointers. You register a callback function with the class, then when you call InvokeCallBacks it loops through all of them and invokes each one.
 
7:58 PM
@AnArrayOfFunctions I am so so sorry.
ahh jeez, i couldnt run 4 gigs of ram no pagefile
how'd your computer break? @AnArrayOfFunctions
 
@KySoto Not on Windows XP?
 
@Comintern the last time i ran xp was... mid 2006
went to vista because 64 bit
and since i had a beefy machine, vista ran just fine
actually funny thing about vista, the whole reason it got such a bad name was because they "qualified" sub par computers to run it, when it was barely the minimum possible to boot with
so it ran like crap
 
Joke.
 
actually funny thing about vista, the whole reason it got such a bad name was because they "qualified" sub par computers to run it, when it was barely the minimum possible to boot with
 
Last time I wasn't paging with 4GB was on XP.
 
8:01 PM
ugh hate it when it says that i sent it and it failed, then i hit retry, and now i have 2
 
paging?
 
No, paging would be "@IvenBach".
 
LOL.
 
In computer operating systems, paging is a memory management scheme by which a computer stores and retrieves data from secondary storage for use in main memory. In this scheme, the operating system retrieves data from secondary storage in same-size blocks called pages. Paging is an important part of virtual memory implementations in modern operating systems, using secondary storage to let programs exceed the size of available physical memory. For simplicity, main memory is called "RAM" (an acronym of "random-access memory") and secondary storage is called "disk" (a shorthand for "hard disk drive...
 
8:04 PM
you know... i dont rmemeber the last time my i hit the page file
 
@Comintern I think they usually go "Paging @IvenBach, Paging @IvenBach, Please pick up the white courtesy phone".
 
well because i ran out of ram
EVEN WITH CHROME
 
@KySoto Is that a joke?
 
:D
 
8:04 PM
having 32 gigs of ram has its perks
@Hosch250 lol
 
@Comintern Is this the same as Virtual memory?
 
@IvenBach I'd say it's more like one type of virtual memory.
In computing, virtual memory (also virtual storage) is a memory management technique that provides an "idealized abstraction of the storage resources that are actually available on a given machine" which "creates the illusion to users of a very large (main) memory."The computer's operating system, using a combination of hardware and software, maps memory addresses used by a program, called virtual addresses, into physical addresses in computer memory. Main storage, as seen by a process or task, appears as a contiguous address space or collection of contiguous segments. The operating system manages...
^ It's the "Disk" part in that diagram.
@this I thought the white zone was for immediate loading and unload of passengers.
 
@Comintern No, it's the zone where the diplomats meet. As opposed to the red zone, where the soldiers meet.
There's (usually) less bloodshed there.
 
not as much as the DMZ, though.
 
Of course the DMZ has more than the whitezone. It's the reddish-gray zone between the two.
 
@Hosch250 The red zone is < 20 yards from the goal line.
@FreeMan got the reference... I missed out on the Airplane! jam the other day.
 
@Comintern With some of these young kids hanging 'round here, my first instinct is "gotta explain everything!"
:)
 
@FreeMan I just had great parenting - that was one of my dad's favorite movies, so it was one of the first movies we bought when we got a VCR.
I followed that parenting example - my daughter could probably recite half of the movie.
 
8:42 PM
lol
similarly, my folks took me to see Blazing Saddles when it was released. I understood about... 3% of it then fell asleep in the back of the car. (One of the advantages of the drive-in theater.)
 
oh wow
that movie...
 
They were talking about it at work last week.
 
@FreeMan That was the second movie I saw in the theater as a kid (I think I was 6).
 
I was at most 8 when I saw it. About the only joke I probably would have gotten at that time was the beans around the campfire. I was probably asleep by then...
TTFN
 
9:28 PM
@MathieuGuindon If you ever look into F#, this looks good: manning.com/books/get-programming-with-f-sharp
That's one of the top F# guys.
It was recommended to me a couple years ago when I was learning F# and he was still writing it.
I don't remember if I've talked with him directly on F# slack, but I've seen him around.
I've worked with Dustin Campbell on my Roslyn stuff (he wrote a foreward).
 
@Co
@Comintern It didn't break - I just exited chat - handling it pretty well with VIsual Studio 2017, Batman AK OST playing in the background, few IDAs, and stack exchange
 
hmm, i guess maybe i should find out what F# actually is
 
I don't know much VBA that's why
 
@Hosch250 Didn't they just release 3rd edition?
It seems there's a fan of Stinky Wizzleteats at Manning...
 
9:55 PM
uhh
@IvenBach why does the text look like gibberish
95% of it looks like face rolling on hte keyboard
 
You have to be part of the MEAP program, which I'm not.
That's how I found that oddly legible text.
 
10:22 PM
uh
what?
so there is a thing that obfuscates the text unless you are part of some program?
 
11:10 PM
Looks like.
 
> I consistently get a crash when I type a double quote at the end of a line of code, immediately after a pipe symbol. It happens in both Excel and Outlook (haven't tried other apps).

I can trigger a crash by typing this into a new module:

`|"`

It also crashes when I type those two characters or if I add a double quote after a pipe character on an already existing line of code.

There is NO issue if:

- The double quote is not typed at the end of a line.
- The double quote is past
 
00:00 - 15:0015:00 - 00:00

« first day (1564 days earlier)      last day (1616 days later) »