« first day (1935 days earlier)      last day (51 days later) » 

12:00 AM
[rubberduck-vba/Rubberduck] 1 opened issue. 1 closed issue. 1 issue comment.
[Minesweeper] New Users: 4, Games Played: 77, Bombs Used: 48, Moves Performed: 9416
3 hours later…
3:27 AM
Just got to fiddle a bit with the new array formulas when working on homework. :+2: Impressed for sure!
wait till xlookup goes GA :-)
3:44 AM
GA = ?? = General Audience
VLookup and HLookup have momentum behind them. Hell for that matter Lookup still has users ~.~
Duckling: Daddy do you know what a sit-up is?
Iven: Yes. Yes I do.
Duckling: Can you show me how?
Iven: You know who'd be a better model for that?
Duckling: Who?
Iven: Mommy-duck.
These are the things I get in trouble from doing.
Considering I got to reply 'But mommy I've never seen you do a sit-up before either...' I prolly deserve sleeping on the sofa :smirk:
lol.. so did she do it?
or did you?
Speaking of sleeping... I'll head to bed
It'll be me that demonstrates.
I do need to loose 10lbs. Gained weight/muscle to 7ball flash and 5 ball endurance. Now need to loose it while keeping it up.
Night Mug.
:barf: Matrix math by hand.
^ @Vogel612 You got any tips no remember doing it by hand?
I'm terrible doing it by hand. Always have been and that's why I've used Excel to do it for me.
4:10 AM
        public void BranchingCodePathsInput_CodeAfterBranchIsStillInFirstPath()
            const string inputCode = @"Option Explicit
Public Sub DoSomething()
    Debug.Print ""hi from path 1""
    If True Then
        MsgBox ""hello from path 2""
    End If
    Debug.Print ""still in path 1""
End Sub
            var path = GetCodePaths(inputCode).FirstOrDefault();
            if (path?.Count == 0) { Assert.Inconclusive("CodePath is empty"); }

            Assert.IsTrue(typeof(IExecutableNode).IsAssignableFrom(path[0].GetType()), "Expecting IExecutableNode at index 0.");
gah, of course it passes
I need to rewrite the asserts, but anyway the code paths are exactly as expected
Past midnight Mug. Bed. Nao. Don't make me get the broom stick.
happy to leave it like this ;-)
next: jump nodes
no, next I need a test for a loop node
then one for all types of conditionals
then jump nodes
then error paths
now that branching works, I'm much more confident this is a good approach
1 hour later…
5:27 AM
Keep up all the great work pond. Wish I could be more involved than I presently am.
2 hours later…
7:32 AM
@IvenBach just being careful and losing precision where possible
My uni prof for math kept saying "flachlegen und reinlaufen lassen" which is an untranslatable sex joke
2 hours later…
9:49 AM
@IvenBach General Availability
10:12 AM
@Vogel612 Heh, google translate did a good enough job:-)
3 hours later…
12:46 PM
@IvenBach How do you loose any pounds? I'm trying to conceive of how one would "loosen" a pound.
@this easy! you throw your 10lbs stone when the general yells "loose!"
I'll see myself out
I bet you that scots would gladly make a sport out of this.
(if they haven't already)
1:23 PM
@MathieuGuindon except that a modern stone is 14 pounds. In the past they could have been 5, 8 or 12 lbs. The Scots, not to be outdone, used a 16 pound stone. Nobody used a 10lb stone.
1:37 PM
Q: VBA code to account for multiple users too heavy on save actions

PlutianI have a worksheet I use with a small handful of colleagues on a daily basis to share information with about orders we place. To make sure we always have the same up to date info we use a shared excel workbook I created. I know this is not preferred, but this is all that is available in my compan...

2:10 PM
woah, where did the star and rainbow come from?!? almost hit me!
2:48 PM
@this it's called shot-put
@Vogel612 Hammer-throw is basically a big stone on a string, too.
I was thinking of a different version where they did chuck a stone in the highland games
Stone put is the one I'm thinking of.
Holy cow.
Rob Roy MacGregor was insanely strong.
it's funny, from one nation, we get the shot put and hammer throw and also the golf. Those scots really liked to chuck things.
don't forget the caber toss for when you've run out of stones.
3:00 PM
and thus you know why golfers chuck their club when they make a bad hit.
I think that if they could, they'd have used cabers to hit a stone.
well, that's pretty much what they do, isn't it? It's just a slightly smaller caber for the wee lads and for the convenience of being able to swing it...
hence the clause if they could
they had to be practical about it - it's not that terribly exciting to see them whack a stone only to move it few inches, is it?
looks over shoulder you've been watching me golf?
3:05 PM
lol. TBH, I don't get the appeal of watching golf anyway.
I can understand why one would play it
but to watch pros play it? BOOOORRRRIIINNG
My FIL loves watching golf - puts him right to sleep.
see? it's an effective medicine for insomnia!
@this wait... "the golf"?
the sport of golf?
whatever. articles are stupid. :D
that's why dead-tree editions are dying...
3:15 PM
hey, question. should inspections be numbered in the inspections list on the website?
hm, only on website?
it would make counting how many inspections are currently implemented much easier...
I suppose so.
@FreeMan exactly
we don't wnat to use it as a reference, though.
3:17 PM
Yeah, I don't want to hit <ctrl>-<shift>-i and be told Inspection 42, line 473. that wouldn't be very useful... ;)
@this yeah, no. I'll add a note about the numbering being there only to better assess the number of implemented inspections; any new inspection would cause the numbering to be re-done
Number them in the order they were implemented and leave gaps when one is de-implemented? :D
@FreeMan the more likely unpleasant side-effect could be RD issues about "inspection 42"
@FreeMan NNNNOoooooooo
I KNOW! Let's use an Excel worksheet to give each inspection an ID!
3:19 PM
dies a little
@FreeMan Does it matter?
You really really don't need to know how many there are. That's like counting lines of code.
And if it's so important, count HTML nodes with a jQuery script.
@Hosch250 well, I'd like to know when we are boasting 100 inspections, for one :)
Like I said, a jquery script :P
@this :D
@Hosch250 s/jquery/js/
3:26 PM
why would I want to script some jquery when I have the InspectionInfo data right there in front of me in the C# code that's generating the page though
Actually, you could do that.
if you want to know the count, you still don't need to number them
A C# Count call on the list of inspections.
and we don't want to tempt them to open an issue about inspection 42
3:27 PM
ugh. Some nimnod put a 1 in front of his phone number in our scheduling system. Now his phone number is too long...
even if it only exists on the website and not within RD UI, we only need a nimrod to spoil the show.
I guess I fail for ass-u-meing that phone numbers would be 10 digits.
yeah. I'll just add the number of inspections, not number them
see: Freeman's nimrod adding 1
3:28 PM
@FreeMan US area code.
You can just remove it.
area code is 3 digits, the 1 would be a country code
@FreeMan yea, phone numbers are ... complicated even if you don't have nonsense like area binding for mobile numbers
yeah, I know, but what if I enter 1235551212 x145 which is legitimate...
@MathieuGuindon country codes are mostly prefix codes
gazes at navel. reassess his life
3:29 PM
huh, US & CA are both +1
@FreeMan just don't validate stuff like phone numbers or emails beyond the very basic stuffs
because +1 is the whole of NA
3:29 PM
@MathieuGuindon plus few misc countries
because you know, we're all Americans....
@Vogel612 He's already screwing with emails.
Against my warnings :P
@Hosch250 email validation should be the following:
@this IIRC, it's because we basically share a phone network.
3:30 PM
return email.contains("@") && email.split("@")[1].contains(".");
@Vogel612 Yeah, I know...
Changes phone number to 20-character field. Doesn't care if it ends up being 123-456-7890 mom's p
@Hosch250 not no mo
@FreeMan Well, good.
3:31 PM
then have SSIS strip out anything that isn't a number in that field :)
just transferring whatever junk they put in to our third-party. They've got more people to deal with this carp than I do
@MathieuGuindon I had that, but limited it to 10 digits. That should be enough for any NA phone number. Unless the nimnod enters a leading 1
@Vogel612 creates a new email account foo@bar.com."@"
@this Pretty sure that's invalid.
probably not for a TLD.
even so, the RFC for email addresses isn't exactly a light bedtime reading.
but I'm pretty sure that you can quote a @
so maybe foo"@"bar@local
@FreeMan You can always communicate via your navel. Results may vary.
3:36 PM
dude, you seem to be memorizing those like some people memorize xkcd. I'm not sure that's healthy.
And now I'm really sorry I clicked that link
You have to escape the @ as well as quote it.
It would be "\@"
hm. isn't quoting supposed to escape it, too?
whatever. My point's made. That RFC is not made to be understood and implemented easily.
@this anyone using that for an email, deserves everything the Internet has to give them
The brief bit of the RFC I read gave me the impression that "foo bar@domain.com" would be legal
Also, I'm not sure you can have quotes after the @.
3:39 PM
@MathieuGuindon tell that to the RFC author, not me!
or maybe it was "foo bar"@domain.com
@FreeMan That.
pretty sure you need the quotes if you wanna spaces or other exotic characters.
1 min ago, by Mathieu Guindon
@this anyone using that for an email, deserves everything the Internet has to give them
What if I create an email that contains a valid regex?
@FreeMan I have to keep my sanity somehow. Blame this for linking me to the comic. BTW you're the one who brought up navel gazing. Navel communication was the next logical step :wink:
3:41 PM
And send it to various places and try to find bugs in the regex validator they use.
@IvenBach Blame what?
@Hosch250 What if your email is the regex for parsing an email address? that would mess with their minds!
5 mins ago, by IvenBach
@FreeMan You can always communicate via your navel. Results may vary.
Oh I also found a sign for Mug and this.
@IvenBach Blame "this" what?
3:42 PM
Gonna say, that's pretty spry for a old man
(or is it a not-an-geriartic man just beating up a kid with a cane?)
Makes me smile it does.
@this that
Why are their legs all messed up too?
Because universal symbol?
Except it fails that already since it has verbiage in the sign.
It's not supposed to have any verbiage within the sign.
3:51 PM
I still want it as a bumper sticker :)
and another one for my laptop
orders a box of 100
I think that you'd need it to be bilingual, because Canada, no?
@this lol, that's technically correct, but only if I were a business
I claimed my VS2019 key this weekend #gettingready
3:55 PM
To be honest, "descendre ma pelouse" doesn't have the same ring.
no, but the actual proper translation would be more like "décâlisse d'icitte, ti-cul!", which has an arguably even better ring
(literally something akin to "gtfo, kid")
(and no, I'm not expecting Google to be able to translate that lol)
@ZevSpitz I'll reply to that tonight :)
(noon here)
> Get out of here, ti-ass!
@Vogel612 My computer didn't come with Windows Pro.
4:09 PM
I'm looking to install Linux, since I don't want to buy it, and I don't have anything (important) that runs only on Windows.
Want to recommend one, and post instructions on how to install it if necessary?
I need the virtualization support to run Docker and K8s.
want to have it easy? install ubuntu or mb debian
I don't care if it's easy.
I just need enough instructions to get a browser installed :P
want a bit more work? I went with archlinux, though others might recommend gentoo
And the drivers and stuff.
What do you think about RedHat?
The guy who wrote the K8s book I'm reading worked there and recommended it.
not my beer, mostly because it's an enterprise distro for prod usage
if you just want to run docker, basically any linux distro can deal with that
4:12 PM
So, what are the differences?
@MathieuGuindon dang! I thought those were going to be the next RD team spiff!
mostly the defaults with the installation and the package managers used
And the package managers are basically kind of like an app store?
kind of, yes.
Except you can get drivers and all through there.
4:13 PM
though, they predated app stores and are mainly commandline driven
drivers are basically no different than apps for linux
Yeah, I don't really like command line. I always make mistakes :(
tabcompletion ftw
I think one more difference worth mentioning is the desktop managers.
4:13 PM
I'll probably just do Ubuntu.
@this Those are basically theme packs for styling windows and stuff?
depending on which distros you go with, you either get KDE or Gnome
(maybe other but those are the 2 major I know of)
it's such a bummer that PS doesn't have tabcompletion built in
@Hosch250 actually it goes deeper.
I always install the one to make it look like Windows, so it's easy for me to hit the right button to close my windows.
If you want Windows, don't you want .... Mint?
the desktop manager usually handles all interaction with your display server
which is either X11 or wayland
the latter is the more modern one
4:15 PM
@this No, I just want big buttons on the fight side.
Just the look, not all of it :P
@Hosch250 you can configure any display manager to use a different theme
@Vogel612 OK :D
@Vogel612 oh, wait, am I conflating things? So Gnome and KDE aren't desktop managers?
@this they are
OK, this is probably a more important question--which should I get for a 4k screen?
Are they all good, or are some lagging?
4:16 PM
though the KDE suite is more than just their display manager (which is named plasma)
@Hosch250 I think that's what Mint aims to do - be quite Windows-like, without actually being Windows.
@Hosch250 the big ones can be somewhat sluggish, but usually you can just turn off some of the fancy stuff to improve performance
Right. they also do the productivity suite, too. As does Gnome, I think?
Gnome and KDE are very mature
@this yea, basically you either get gedit or kate as "builtin" text-editor
or you get "gcalc" vs "calculator"
and so on
OK. Well, I guess I'll install Ubuntu sooner or later and see where I go.
4:18 PM
you might want to look at getting the LTS version of ubuntu
because distro-upgrades on ubuntu are somewhat annoying
I'm using arch, because they don't do stop-the-world upgrades
Maybe I'll do arch then :P
I don't know, just pick one for me :P
ubuntu basically releases a new ubuntu version every 6 months, and upgrading between them is a piece of work
I'm sure I can figure any of them out sooner or later, really.
4:20 PM
for arch you just might be unable to install it, though, because it's a pretty involved process
I spent two weeks with help on it the first time
Yeah, not good.
and the second time I still needed two days of concentrated work
@this LOL this encapsulates how I see linux, perfectly
4:20 PM
ubuntu is more likely to "just work"
I don't have to upgrade every 6 months, do I?
And if I do, why can't I just download and re-install the latest version?
@Hosch250 that's basically what happens
Well, I've done that at least a dozen times with Windows just for fun.
I've run the previews as my main OS (before I figured out Hyper-V :P).
@Hosch250 no you don't but if you don't upgrade from non-LTS versions, you'll stop receiving package updates "pretty quickly"
@MathieuGuindon pretty much why I use Mac. I hate being a tech support to myself. I'm a jerk to work for.
4:22 PM
FWIW my arch "just works" since I set it up from scratch
but that initial setup is something of a hurdle
I should mention that the linux crew of my co-students are now switching to nix-os
What I'm not sure is so bad about having a system explicitly designed to run apps in prod?
(Back to RedHat.)
@Hosch250 you might find it difficult to get cutting edge package updates in some cases
I don't care about that so much anymore.
I have a job now, and don't have time to play with stuff as much.
also IIRC RH doesn't come without SELinux
@Hosch250 I mean cutting edge, not bleeding edge, btw.
4:26 PM
> Set a node as root, or open as root in new window:

![Set a node as root, or open as root in new window:](https://github.com/zspitz/ANTLR4ParseTreeVisualizer/blob/master/set-root.gif)
> Set a node as root, or open as root in new window:

![Set a node as root, or open as root in new window:](https://raw.githubusercontent.com/zspitz/ANTLR4ParseTreeVisualizer/master/set-root.gif)
4:41 PM
been thinking... say you have a branch node - obviously the body goes in a new code path - but should the nodes that follow, from the outer path, be also added to the branch path?
I'm starting to think they should
foo = 42
If bar Then
    foo = 10
End If
Debug.Print foo
@MathieuGuindon you actually want to be able to split and reunify a path
the foo reference in Debug.Print could then be known to be last assigned by foo = 42 in path1, and by foo = 10 in path2
@Vogel612 so, yes then?
or maybe that depends on the usecase....
the actual value of the variable is irrelevant for our CPA needs, is it?
because then you want to have something like:
the actual value is, but not where it came from
for the assignment not used use case, we are looking at all possible path permutations
so we wanna to do queries like "is foo's value going to be the same for all path?"
4:44 PM
o  - foo = 42
| o - foo = 10
o  - Debug.Print foo
so, yes then
hmm. but do we also need to know if bar branch is reachable, too...
i.e. the last node isn't "just on path 1" or "just on path 2" - it's in both
e.g. if bar is always false, then path 2 can never exist
@MathieuGuindon that's the root of the question you're asking...
4:45 PM
@this true, but that's for IEvaluatableNode to figure out :)
@Vogel612 yes
how do you plan to make the query?
right now, not concerned about evaluating expressions :)
That's fine, but that's not the question I'm asking.
but it could be as simple as a IsConstantExpression flag on the IEvaluatableNode
are you going to locate the first IExecutableNode (? not sure if that's what Debug.Print foo is), then deteremine all paths from that node?
4:48 PM
no, I'm flattening the entire procedure scope
and determining all paths in that procedure
so, you're going to generate all permutations of possible paths?
for now it's e.g. var paths = visitor.GetAllCodePaths(procedureDeclaration);
then evaluate each permutation?
hm? if a booleanExpression is constant, it's constant in all code paths, no?
or I'm missing something?
the "reference node" for foo in Debug.Print foo would be pointing to an assignment node both paths - so if we're looking for a variable that isn't assigned in all code paths (say we removed foo = 42), then we'd query code paths for an assignment node for foo, and raise a flag if any path doesn't have it
e.g. "foo is used but may not be assigned"
the bar branch will be marked as reachable by merely hitting it in the traversal
foo = 42
Exit Sub
If bar Then
    foo = 10
End If
Debug.Print foo
^ that would mark foo = 42 and Exit Sub as reachable, and that would be the end of it
(right? or do we want to still traverse unreachable nodes?)
By permutations, I meant we create all flattened path for each branches
so we have path 1 that shows the last assignment being foo = 10
and we have path 2 that has it at foo = 42

« first day (1935 days earlier)      last day (51 days later) »