« first day (2012 days earlier)      last day (40 days later) » 
00:00 - 22:0022:00 - 00:00

12:01 AM
[AndaraCodes/AdventofCode2019] 3 commits. 1922 additions. 24 deletions.
[MDoerner/AdventOfCode2019] 4 commits. 1890 additions. 9 deletions.
[Phrancis/AdventOfCode2019] 1 commit. 105 additions. 44 deletions.
[Zomis/AdventOfCode] 1 commit. 66 additions.
[Minesweeper] Games Played: 50, Bombs Used: 32, Moves Performed: 5491, New Users: 8
2 hours later…
2:23 AM
Q: VBA how to shorten runtime using functions other than .find

lalalisaMy code here loops through my folder and my files inside the folder and use.find and copy the strings into a new excel sheet and then with all the data in the new sheet, i will use .Find(What:=) to find the strings inside the new worksheet and then either split or use Right,Left,Mid functions, so...

3 hours later…
4:54 AM
@SimonForsberg I"m giving it a go in VBA. 7 stars at day 8. Day 7 part 2 is giving me a bit of a headache my computer passed all the testinputs but gives the wrong answer. Time to write some proper ducky tests methinks,
2 hours later…
6:27 AM
@QuackExchange @MathieuGuindon how do you avoid getting nerd sniped by those type of questions?
I see their best attempt and potential to learn. Past-Iven doing his best to get it right but not knowing how drives me to answer.
Going in I knew it wasn’t fully ready for a review but the nerd snipe is strong out of compassion to Past-Iven and his woeful ignorance.
3 hours later…
9:58 AM
Q: C# Dictionary Wrapper for VBA

FreeflowI am a technical reviewer/writer and I use I use VBA for Word a lot to manage issues in Word documents I receive. I have frequently come across niggles when using Collections, Scripting.Dictionaries or Array lists. Then I saw some posts on creating a C# library for consumption by VBA. After mu...

4 hours later…
1:39 PM
@BloggingDuck Very appreciated. Feels like an article of two unrelated parts: 1) the Doc Class at the beginning. 2) Work[book|sheet] referencing after the Accessing Worksheets heading. Am I missing the link between the two?
Feel free to have a giggle . Advent of code day 9

If I'm reading the first part correctly, in Excel the evils of putting my code in the code behind are: 1) any (implicit or explicit) public method is available in every other code module, 2) ActiveWorkbook is the work of Satan and to be avoided at all cost.
Oh, and they require special handling when importing/exporting the code to ensure that they don't lose all the special things about them as doccls modules.
Am I missing anything?
why clnglng when you can variant?
i kind of want to say /s but i'm partly serious
12 bytes of fun
2:04 PM
@Cyril Because the computer has to calculate numbers bigger than Long. The the compuer uses self modifying code so that it can load numbers which have been stored as LongLong. This threw up a deficiency in the Kvp indexer in that it is based on C# int (equivalent to VBA Long). The Kvp (operative through com) is very fussy so if I sore a value using a Long value as a Key then you get an error if you use the same number but as a VBA Integer or LongLong.
@Cyril e.g. One of the test cases for day 9 was for the computer to calculate 34915192 *34915192
you got an upvote, at least (mine)! good luck on day 10
so many python entries on that thread
holy shit, the dude who solved it in lua
2:29 PM
@Freeflow do i need to have some specific reference to get CLngLng to work? i was trying to screw around with it and get "Sub or Function not defined"
and i'm following like 10% of your code. so much going on lol
@Cyril You may only get ClngCLng if you a 64 bit installation of Office.
thought i had 64 bit; was just re-checking
x86, SOB
#FunFact: you can get LongLong in 32-bit VBA. You just can't declare it.
like decimal, you'll have to use Variant and rely on some external function to return a variant that has the subtype of I8 (maps to LongLong)
3:19 PM
RD News update: 2018 was +24K views over 2017. 2019 is +24K views over 2018. Was hoping for 50K views this year, we're currently just under 60K and there should be another bump in a week or two when 2.5 is released!
3:36 PM
> Will RD point out when we could be using early binding in preference to the late binding we've coded?
The only time where that would be unconditionally true is if the library referenced has events being subscribed.
But using a late-binding code even if the library can be referenced by itself is not a code smell, necessarily.
@FreeMan not sure what the problem is... first the module type is introduced and described, and then I go on to explain how to use them?
@MathieuGuindon It's probably just me. I'm having one of those days. It'll probably make more sense tomorrow.
2 hours later…
5:38 PM
Got a spammy email from a "Joe Goldberg". Almost disappointed it wasn't "Rube" instead of "Joe".
let me guess, "would you like to join my network on linkedin?"
no, marketing stuff for some online service
that's kinda funny
6:01 PM
@MathieuGuindon linkedin learning can go to hell... like 20 emails a week
all from different emails, so have to have rules for each
6:19 PM
~.~ when the macro recorder actively records a blatantly incorrect instruction.
You sound surprised.
More like dismayed. Toggling off formula autocompletion via the UI Application.DisplayFormulaAutoComplete = False instead records Application.EnableCheckFileExtensions = False is an 'Uh.... Wut?' type of fail.
6:43 PM
@IvenBach I don't
actually in that particular case, I consider the OP too light on meaningful info
they want a more efficient approach, but they're not telling us everything that's going on with their current one
I knew that going in with the missing Public Sub Foo().
this is what's bothering me
I asked the OP to supply the formula for this Results range, and I'm not reviewing it until it's in the post
If auto calculate is turned off for Excel IMO something is wrong.
but yes, in general it's a fairly good indicator of inefficient code :)
There may be some times it's valid, but I have yet to find one.
Feels like Russian Roulette withe 5 loaded chambers.
7:11 PM
@Freeflow For Day 7 Part 2 you need to make sure that your programs can pause when they need more input and that they keeps their state (with the current memory) until they get another input. But yeah, test-cases are good to have.
@MathieuGuindon @Duga wants stats!
hm, does WP have a REST API I can use to query those?
@MathieuGuindon Wordpress? If not, I'm sure there's a plugin for it.
I don't have any stinkin' plugins :)
(been on the free plan for 5 years!)
Good for you :)
7:16 PM
Those "Doctors warn 'Don't eat this one fruit...' " don't concern you Mug?
@IvenBach Huh? You mean the web has ads on it? Who'd have realized it!
In fact, I forget that regularly because I use adblock (uBlock Origin is my latest choice).
@Hosch250 Kind of like how governments are infested with leeches and other blood suckers. :wink:
speaking of fees... I need to update my CC info on GoDaddy so they can proceed with the renewal in Feb.
> They have set of punishment rules for employees, for example starting the working hours is 8 and if I go to work after 8:45 they record that as an absents and will double it if I don't go to work, meaning they will cut a day of my monthly payment and will cut another extra day for punishment if I don't go to work that day.
Wow. That's actually pretty lenient they have a whole 45 minutes...
I'd like to ditch them and go hosted on Azure, but Azure has this "we're all about .NET Core" buzz/feel to it, and I'm pretty sure our indenter won't run on Core.
7:20 PM
In most construction work, you have 5 grace minutes before you are marked "absent" for the whole day.
@MathieuGuindon Nope.
They have better Framework support than Core.
cool then
so I'm not renewing with GD in 2020
and RD 2020 will get HTTPS at long F'n last
@MathieuGuindon AWS FTW! <3
I am considering migrating our friend @Duga to AWS.
I had AWS training with work about a month ago, I learned a lot!
@SimonForsberg I talked to an AWS advocate from Amazon a few months ago. They were trying to tell me the cheapest I could get a SQL DB for dev work was $70/month.
I don't know if that's accurate, or they were trying to sell me a business plan, but I pay $5/mo for an unused DB at Azure, and $15/mo if I actually use it regularly.
$70 sounds like a SQL DB on a VM
@this Oh, makes sense; that would be about the same as Azure then.
7:28 PM
we're on AWS here at work, no idea about billing, but we're on MySQL & PHP so likely cheaper
And I still have my "student" account at Azure, so I can host websites for free there.
@Hosch250 Depends on what kind of DB you want/need and how much you would use it. I'm currently running DynamoDB (a NoSQL alternative) for free in AWS.
I believe AWS supports Postgres as well, but I'm not sure how much it costs.
But anyway, never trust sales people.
@SimonForsberg I can get Mongo for free, with good C# drivers.
IDK if migrating to other RDBMS is practical, though.
@SimonForsberg I bet they do, but I don't know that one.
Also, work uses Azure, so I'm learning it for them anyway :)
7:29 PM
@Hosch250 On AWS?
@SimonForsberg From the Mongo people.
Mongo Atlas, I think it's called?
@Hosch250 Postgres is fairly simple. Quite similar to many other SQL DBs.
@Hosch250 Ah, right. Sure, that's an option but I personally like that AWS has everything, instead of having the db here and the website there and so on.
Yeah, that is nice.
I could do that with Azure's Cosmos DB too, but that's a bit pricier.
Anyway, as all of you are more Microsoft nerds fans, I understand why you go with Azure instead of AWS :)
FWIW, I looked at Amazon monthly calculator and nothing resembling Azure SQL leaped out to me.
I see there's RDS but it doesn't let me choose whether it's SQL Server or MySQL or PostgreSQL
7:31 PM
Well, it's more that 1, I already know some of it, and 2, I need it for work anyway.
I did pay Amazon 0.66 USD last month. 0.50 for using their DNS nameservers. 0.01 for Cloudfront, and the rest in taxes.
@SimonForsberg well, that and having an Azure credit as a perk of being a Microsoft MVP :)
@MathieuGuindon Oh that's nice.
'bout time I start considering using them :)
Yes, definitely.
It's all about the cloud these days.
7:34 PM
I had to dig to find those 2 pages:
Yet, I can't select either from the calculator: calculator.s3.amazonaws.com/index.html
:derp: there it is. I somehow missed it because I was looking at the size.
@this Quack :)
Anyway, it seems to be indeed ~$100 for smallest instance
Whereas PostegrSQL is ~$43
@this No free tier?
Interestingly, on Azure, I can go as low as $5 for Azure SQL but only $50 for PostgreSQL
not that I can see
7:52 PM
> Per the instructions [here](https://rubberduckvba.wordpress.com/2019/07/15/modern-vba-best-practices-default-members/#comment-2623) for the case that one does not have 20 rep on SE, which I don't as I did not have an account until very recently. Please just let me know what you need from me.

I chose Thanks! as the "issue" because it seemed like the most appropriate for such a request. Rubberduck has been a very beneficial tool for getting unstuck on a project that felt like it had an unmana
> Thanks for the feedback! You can join the chat here.
@all please ping me when testingoutgith1 shows up :)
(or Vogel)
yeap, if I'm likely to be awake at that time :)
@MathieuGuindon @Vogel612 showed up now ^^
@Duga @MathieuGuindon you'll want to tell them what we need to grant access, btw.
7:57 PM
> Thanks for the feedback! You can join the chat here, and then a moderator can grant you explicit write access.
I see you've not gotten around to your second coffee of the day yet?
@Vogel612 At 3PM?
had the 2nd, need the 3rd now
@Duga What if their username will be different?
it probably will be
7:58 PM
First non-write access user to show up gets write access?
@Hosch250 depending on when I wake up, at 3 PM is my first coffee or my third if I allow myself a third for the day
usually my second is between 3 and 4, though
some days are worse than others
Well, I'm at work at 7AM, and get up at 5:30AM, so that would be super late in my day. I get off work at 3:30PM.
I usually fall asleep between 2AM and 4AM, so I don't wake up before 9 unless I have an alarm set
and since I'm a student, I usually don't set one :D
My brother does the same, except he won't get up before noon.
Drives much of my family nuts. I used to do 12-9:30AM when I was in college, usually.
so coffee is the first thing in the morning (whenever that is) and the second coffee is "not before three and not after six, unless it's friday, saturday or sunday"
8:01 PM
FWIW, though, I still don't drink coffee.
good sleeping habits make it unnecessary
unless you're insomniac. Then it's a world of suck.
And a dislike of the smell does wonders.
insomniacs can't build good sleeping habits
In my case, I won't drink the coffee because it tastes horrid. The funny thing is that I don't mind coffee's smell but not taste. Tea is my substitute.
@Vogel612 Indeed.
One observes that coffee and beer both are basically acquired taste. Hand either to a kid and they go yeech. Yet adults can't get enough of either.
8:06 PM
Not my ex-bosses son.
She gave him a sip of beer when he was a kid, and he loved it.
Oh, he's abnormal.
She's a bit worried about him ending up drunk-driving now.
He still loves it.
He's in HS, I think.
hopefully he's legal now
oh well.
Is his name Abby?
8:07 PM
Should be. :)
@this mr sister chugged ehr first beer at 2... my father opened one, set it atop a speaker, and went to show a buddy something in the garage. came back and it was gone
@this haha
@Hosch250 yes, because I need the chat user's ID
@Cyril I will assume her name is in fact Abby.
the androgynous child shall hereby be named "Abby", be it Abigail (f), Abernathy (m), or other.
Now i'm thinking about "Pat" from SNL having fetal alcohol syndrome... jfc
8:14 PM
8:26 PM
@MathieuGuindon i had 5 relevant answers on SO alone... i want a "learn to google" close reason ='/
@Cyril there used to be something like that...
it's one thing to not know key terms/phrases for what you're trying to do, but he straight up said everything that would be searched in his post
was removed, because it was used as catch-all exclusionary bullshit defense
@Vogel612 there're two options for catch-all, now... needs focus or needs details/clarity
there's one for "questions pertains to finding a resource", which i guess is appropriate
these already existed back then, actually
8:29 PM
nah that's more for things like "is there a tutorial for XYZ somewhere"
or "what book should I read to learn X"
and for "where is docs for Y"
notably not for "What exactly does the documentation for Y mean here?"
which you sadly type as-is in Google and generally just get it
not true for VBA...
right.. you get VB.NET stuff
need all the Hungarian-notation-riddled VBA tutorials!
it got worse when microsoft changed their site
8:30 PM
the day F1 stopped working?
(wait does F1 still work?)
LOL, months before that, but that was a fun day
it does... if you're logged into an account
@MathieuGuindon not all of them are bad
as in, HN nomenclature
systems vs apps hungarian, again
for simple source and destination shit, i start all variables with s or d. quick checks that way
@Cyril no later than this morning I got served the "p for private is fine it's like an underscore in C#" argument
where "p for private" is, of course, only when you can read the mind of the author
because "p for public" and "p for parameter" are just as applicable
"you can p on your own privates"
8:34 PM
@MathieuGuindon The underscore is hotly debated now too.
really though, that's about as bad as my standard... "oh, i need one more quick check... dim z as string, done!"
and creating a private type to properly encapsulate the state is "a hassle"
Current leaning is against it.
explicit this everywhere has its appeal
problem is enforcing consistency
there was also a post arguing against using I for interfaces
8:35 PM
The argument is you shouldn't need this outside the ctor.
that's idiotic
which boiled to being too HN-esque
@this yea, I personally dislike the I prefix, because you should always be programming against interfaces anyways
it's fully assumed HN
don't take away my underscore =/ it's how i survive in the web-world of avoiding "%20"s out the wazoo
8:35 PM
@this This isn't just a post. The linters have all almost universally gone away from recommending the _.
marking interfaces as such pushes an implementation detail into your public API, which is a bad idea IMO
@Hosch250 I worked somewhere that dispensed with the underscores. worked fine, the only place you really needed to disambiguate was in ctors.
note that "public" in this case also refers to codebase internally public
TBH the debate is just evaporating all by itself with proper get-only properties
8:36 PM
That was part of the argument I heard.
@MathieuGuindon get-only is not always feasible, though
so we basically say to C++ coders "sucks to be you!", then.
@Vogel612 I like the I, because Java doesn't do it that way. Is my hatred of Java pathological?
^ same
8:37 PM
@mansellan there's tons of java code bases out there that use the I prefix
quite a few of them also use the A prefix for abstract classes
@Vogel612 oh ok, #TIL IIRC their framework classes don't though?
Did they ever use underscores for interfaces?
but there's nobody seriously advocating for A
and they all happily go an name concrete things FooImpl
8:38 PM
@mansellan yea, the framework classes don't
Microsoft apparently at one time couldn't make up its mind whether to use _ or I for interfaces.
Access interfaces usually are _'d, Excel's, I.
Excel has both
we have to prefix private methods with _
Microsoft can never make up its mind, so that's not really surprising
and private class vars with m_
8:39 PM
with number suffixes, too
Yes, but my question was whether Java had that same crisis re: _ / I.
and a bunch of other random nonsense I can barely remember...
@this no, because everything's always lowerCamelCase
except for constants
at least that's the usual convention
T for typevars doesn't seem to get any hate
@this no, Java just says "use a name that describes an obviously abstract concept", so you have to remember that List is the abstraction
8:40 PM
depends, actually...
@mansellan The MS teams I've worked with prefer descriptive names.
@MathieuGuindon lol wut?
Even when there's just one.
for generic types without any better semantics T is okay, but for stuff like Function<I, R> I'd hate T in either place
Oh sure, I do TSource, but always with the T prefix
just T on its own would just be for verygenerics :-)
8:42 PM
@mansellan think about it: without the I prefix, you have to remember the interface types for the entire framework to know (without looking at any docs or source) what's what. With the I prefix, you can look at a type you've never seen before and instantly know that it's an abstraction.
but then, "but the IDE colors it differently!"
was laughing at Java recommending otherwise
@MathieuGuindon yeah, like I say, I'm a fan
@MathieuGuindon framework is always an abstraction.
always code against abstractions if you can
That's why LinkedList<T> queue = new LinkedList<>(); is crap and Queue<T> queue = new LinkedList<>(); is actually good
As an inexperienced C# coder, without IFoo and IBar I'd be lost not knowing they're an abstraction. Naked Foo and Bar would be quite difficult.
just get the world to agree that if a person makes a variable, they must put their initials at the start. then we know who to blame for their preferred notation.
"mgTSource" "who used to work here with initial's MG?!?!?! WE MUST SHAME THEM!"
@Cyril initials are not unique. Also there's git blame for exactly that
8:46 PM
@Vogel612 see to my C#-trained eyes, Queue<T> queue = new LinkedList<>() makes no sense whatsoever
@MathieuGuindon you'd want IQueue instead?
@Vogel612 rationalizing my joke... that's rough, man.
@Cyril pleasure :)
@Cyril Welcome to my realm of #HumorFail.
public class LinkedList<T> : System.Collections.Generic.ICollection<T>, System.Collections.Generic.IEnumerable<T>, System.Collections.Generic.IReadOnlyCollection<T>, System.Collections.ICollection, System.Runtime.Serialization.IDeserializationCallback, System.Runtime.Serialization.ISerializable
^ that's why Queue<T> doesn't make sense to me
8:48 PM
I read that joel blog on app hungarian. I can see some appeal, but only in very narrow cases. I'd still want to avoid it unless the payoff was high.
public class Queue<T> : System.Collections.Generic.IEnumerable<T>, System.Collections.Generic.IReadOnlyCollection<T>, System.Collections.ICollection
wow, you folks have it rough with queues, apparently
was less convinced on the exception hating... seems to be the same argument as for "one return per function"...
"All known implementing classes:"
8:49 PM
@mansellan The thing is that argument only work when you don't have an IDE.
@mansellan Apps Hungarian is useful when you're too lazy to make a new type :)
 ArrayBlockingQueue, ArrayDeque,
 ConcurrentLinkedDeque, ConcurrentLinkedQueue,
 LinkedBlockingDeque, LinkedBlockingQueue, LinkedList, LinkedTransferQueue,
 PriorityBlockingQueue, PriorityQueue,
In realtime, safety-critical systems, fine. But you wouldn't use a GC language there anyway
well not only, but mostly.
I mean, if you're using an text editor, then AHN would certainly help a lot.
public class ConcurrentQueue<T> : System.Collections.Concurrent.IProducerConsumerCollection<T>, System.Collections.Generic.IEnumerable<T>, System.Collections.Generic.IReadOnlyCollection<T>
8:50 PM
also true for scripting language where everything's loosey-goosey
To be honest, I still do encode my variant data types for that reason.
e.g. SomeString As Variant <- essentially HN-esque
@MathieuGuindon so you can't cast a ConcurrentQueue to Queue?
@Vogel612 Nope. Completely different implementations.
Queue is not threadsafe.
ConcurrentQueue is.
threadsafety is an implementation detail
It's not safe to cast them.
same thing with dictionary/concurrentdictionary
8:52 PM
That's what the IQueue is for.
The Queue is a full implementation, like the List.
neither of them implements IQueue, from what Mat posted
/shrug. Basically, everything implements IEnumerable and that's it.
@Hosch250 there is no IQueue :)
@Hosch250 lol
there's no need, because ICollection abstracts everything that needs to be abstracted already... apparently
hm, annoying indeed that the action of adding an item doesn't seem to be in any abstraction there
8:56 PM
Weird timing on this thread, I've finally gotten around to putting together all our IEnumerable extensions into a lib at work, just before I left today...
at least ConcurrentDictionary implements IDictionary AFAIK
considers creating iQueue, iDictionary, iCollection just to annoy everyone.
@this gets sued by Apple
@MathieuGuindon yeah it does, but the API differs by enough that it's unwise to treat a concurrentdictionary as an IDictionary
trademarks iApple
8:58 PM
true that. in any case, a queue, stack, or dictionary is hardly ever exposed anyway...
it is an implementation detail of another object
oh great, Winter Bash has started
I just realized I don't think I qualified this year for Hacktoberfest... Life got in the way and I was 1 commit short.
my 3rd Hacktoberfest t-shirt is in the mail, apparently
IIRC I had 3 commits then got sideswiped by #TheReaper.
did you not get the email from Digital Ocean?
9:10 PM
You did register, didn't you?
Also, you potentially might not have gotten in the top X--not everyone was getting a shirt.
that sucks
oh wow
You guys didn't see that notice?
They had so many last year, they decided to only give a fixed number away.
IIRC, it was 150,000, or something?
huh, no I didn't see it
I got a t-shirt though, soo ...
guess I was lucky to having needed to open a few PRs for work
> This year, the first 50,000 participants who successfully complete the challenge will earn a T-shirt. (Last year 46,088 earned a shirt!)
(from details)
so, looks like just under 12K no-tee completed challenges
presumably they still get the stickers?
9:14 PM
I was off by only 100,000, and was 3 times higher than the real number. Not too bad?
mind you, my struggles with the xmldoc PR (4th attempt worked) might have been seen as suspicious
hm, apparently not
@MathieuGuindon None that I've seen. Approximate date I should check between?
I've had several things slip through the cracks in the last 2 months.
#TIL created:BeginDate..EndDate
@IvenBach likely that your 4th PR was too late to be in the first 50K though
That alone was worth it.
they started sending the emails around mid-October
9:25 PM
Still waiting on my shirt. It might be in Bangkok at the moment.
IIRC last year I got it at some point in January
I definitely registered. Nothing after the registration confirmation though.
They do the shipments phased too.
Dec 19 '17 at 0:30, by Mat's Mug
Oh I just received my Hacktoberfest tee (at last!)
@IvenBach go sign in on the Hacktoberfest website, see your profile... what does it say?
Hmm. My memory's hazy, though. I can't remember if I got my last one in Nov or in Dec. I want to say Nov but.... ???
9:29 PM
Oooh. This is proof that I'm an idiot.
@IvenBach you never claimed your prize?!
Nope. Bodies started hitting the floor and less important things got pushed aside while I took care of it.
Hmm. last year I did get a shipment confirmation
this year, I haven't gotten any
oh well, no biggie.
@MathieuGuindon Now I did.
it'd be hilarious if you still got your shirt even after not having claimed it for months.
9:44 PM
hey @user12506685 - if you're our friend from GitHub, now is a good time to reply to the GitHub thread saying "yep, it's me!" =)
@user12506685 Welcome to the pond.
I have explicitly granted you write access
and done
thank you :)
9:46 PM
hit F5, you can.. oh
@Vogel612 lol jinx
awesome! welcome to our little "war room"
(aka "the pond")
@user12506685 don't hesitate to ask anything, whether it's about using Rubberduck, contributing to Rubberduck, VBA in general, C# or .NET, how SE Chat works, how SE works, or anything else :)
00:00 - 22:0022:00 - 00:00

« first day (2012 days earlier)      last day (40 days later) »