« first day (2503 days earlier)      last day (26 days later) » 

12:02 AM
RELOAD!
[rubberduck-vba/Rubberduck] 3 issue comments.
[Minesweeper] Games Played: 197, Bombs Used: 134, Moves Performed: 28825, New Users: 12
 
 
2 hours later…
1:49 AM
@mansellan this is a very interesting article, thank you for sharing. speaking from personal experience it is easy to fall into that trap both because of what is (correctly) taught as best practices and because even with my level of experience I can tell there is something so elegant about a well made abstraction. learning to recognize when I am getting bogged down by something like that is something I am still working on so it helpful to read this and reinforce that theme of improvement.
I know I have definitely reached that point with the design of the data access side so I am simply going to take what I have and get it to read from the test database reliably enough to get the UI figured out.
@M.Doerner I almost asked if it was like when I made a class library in C#
 
2:10 AM
should have used that more precise wording sorry
 
2:41 AM
The @Description annotations in tB are bloody awesome
Also I want class/module-level access modifiers, and Friend should work at member level (syntax error atm)
Although I'd like Internal instead, but Friend for back-compat
I have all abstract interfaces of the MVVM library ported over; starting the fun part now
2
 
 
1 hour later…
3:54 AM
 
 
2 hours later…
6:10 AM
@this I think you can define a Let for object properties in order to allow overwriting the usual Let coercion behaviour.
ADO.Connection does exactly that.
 
6:55 AM
 
 
3 hours later…
@IvenBach Wow, that's an oldie but goodie!
@IvenBach Not value, that breaks VBEs formatting of .Value by lower casing it to .value which is... annoying.
there's a reason the duck has been changed - or at least there's an open issue to change that
 
11:01 AM
> I would like to see some sort of persistent cache so it always shows the last filter used instead of defaulting to the "standard" one every time. Especially if it was persistent across sessions.
 
 
5 hours later…
4:07 PM
GH unlocked a new achievement: DarkMode.
 
yeah. if only SE would get on board. #mumblemumbleITDisabledDarkReadermumblemumble
 
Condolences...
 
@FreeMan sad to hear that IT are doing their job
 
4:37 PM
Why is it their job to make it hard on my eyes?
 
because they care so much about you and want to protect you from all those baddies and nasties on the interweb?
 
Is the Dark Reader plugin known or suspected to be a baddie harboring nasties?
if so, that's news to me...
On to a more relevant topic...
 
@FreeMan No, more that they don't know if they do, so they assume they are bad. Guilty until proven innocent...
 
Agreed. Whitelisting is the way. Everything must be explicitly allowed. How much time should IT dedicate to validating every plugin that users want to install on a whim?
 
I'm attempting to copy my production SQL data into my Dev environment, and I'm getting a "cannot truncate table x because it's being referenced by a FOREIGN KEY". What's the quickest way (short of referencing the DB structure diagram that I haven't created) of figuring out where the FK referencing table x is?
And, even better, is there a way, using the ImEx wizard in SSMS, to get it to automatically drop/recreate FKs?
 
4:46 PM
Seems it's much easier to use DACPAC or BACPAC or restore from backup, no? Or use SSDT to do a schema comparison....
ImEx wizard is not very wizardly.
 
if only I knew what DACPAC or BACPAC were or had access to the backups, they would probably be easier...
we're running somewhat renegade here. Dunno quite how much IT knows about us or how happy they'll be if they find our server.
 
DACPAC = schema only, BACPAC = schema & backup
 
Of course, someone from IT installed and updated the server, but, I'm not certain how much they know about what we're doing with it.
 
Taht's the instructions how to create a DACPAC... note that Extract => DACPAC / schema only; Export => BACPAC / data & schema
 
TYVM.
 
4:55 PM
If you can't do that for some reason and ImEx "wizard" is your only path, that may help, too: blog.sqlauthority.com/2014/12/02/…
but be aware that you may find that you cannot re-enable the constraints because crappy data
 
well, the constraint should exist in Prod, too, so since the data there should be good...
 
sure, but if you're imex only some tables, it's possible to get inconsistent references that doesn't exist in the other tables nor imported
thus usually more simpler to just restore the whole database using backups or BACDACs
 
5:12 PM
I selected all for my imex. for reasons it also included views. which I had to manually exclude (difficult to insert into a view, in my experience ;)
 
Opinion time! Is using SELECT CASE on strings stupid? I know that a switch works really fast on numeric datasets by using jump tables. Is select case with strings just identical to ElseIf or is there some optimization we get?
 
if it works, it's probably not stupid
 
Fair, so is there a real improvement over ElseIf?
 
So the only reason I have is "because I like it"
 
5:16 PM
a faster alternative would be a dictionary lookup (key with the lookup string) to pull the name of a procedure or macro to run, ...but then CallByName or Application.Run would probably lose the perf gain, so... unless it's down to split-millisecond stuff, it probably doesn't matter :)
would be nice to have actual delegates though
strategies(key).Invoke args
actually if the dictionary holds ICommand instances, it should be pretty instant to invoke its Execute method after a key-lookup retrieval
basically #ItDepends what's in your Case labels
 
Interesting. You've built your own jump table. I like it.
 
could be worth it if there are a lot of cases and there's no way to put the more common cases near the top
(so that the less-common ones don't need to be evaluated and skipped every time)
then again, if it's not a bottleneck and readability isn't negatively affected, ...
 
@HackSlash Without the pi, my opinions are just onions.
 
@this Delicious
Onion Pie
 
It's a tearjerker, that one.
 
 
1 hour later…
6:51 PM
hm, apparently all MVPs that were considered for renewal in 2020 are getting a free ride. Hoping that's why I didn't notice a link to the usual renewal questionnaire when I filled up my "community activities" for the year... on 03/31 (i.e. the deadline)
so either I messed up and I'll know by 07/01, or I didn't and I'll know on 07/01
in other news, I've finally ordered the famous "dragon book" about compilers, should arrive tomorrow
(meant to order it much earlier but when I saw it was like $200 I put it on my wish list, and a few days ago saw it at like $45 and that was it)
 
7:18 PM
A step towards your own VBA compiler?
 
7:34 PM
IDK lol... Should have bought & read that book 6 years ago!
 
Let us know if you slay that dragon! Seems relevant to TwinBasic.
 
@MathieuGuindon Which version, I've used both first edition and second edition. First edition because it was available when I became a compiler writer, second edition as the text book for my compiler class 6 months later.
 
@pacmaninbw I think it's 1st edition, will confirm when I get it =)
 
 
1 hour later…
8:49 PM
@MathieuGuindon Which one is the dragon book?
BTW, a dictionary lookup is usually slower than going through a list of less than 50 items.
 
Compilers: Principles, Techniques, and Tools is a computer science textbook by Alfred V. Aho, Monica S. Lam, Ravi Sethi, and Jeffrey D. Ullman about compiler construction for programming languages. First published in 1986, it is widely regarded as the classic definitive compiler technology text.It is known as the Dragon Book to generations of computer scientists as its cover depicts a knight and a dragon in battle, a metaphor for conquering complexity. This name can also refer to Aho and Ullman's older Principles of Compiler Design. == First edition == The first edition (1986) is informally called...
 
Ah, like the dinosaur book for OSs.
A dragon on the cover for no real reason whatsoever.
 
hm from the descriptions it appears I've ordered the 2nd edition
happy with whatever edition I get tbh
 
You really want the second, I think.
The first is as old as I am.
 
wait no, the CG dragon is 2nd edition - must be the 1st then. eh, I was 4!
thinking the principles are pretty much timeless though
but yeah 2nd edition seems to touch on GC
 
8:54 PM
Btw, I hope to have some more time in May. I kind of want to try to implement recoverable parser errors then.
 
wah, that would be amazing - I had completely given up on the possibility of this ever happening
 
Well, GC is not that complicated. Implementing it in a performant manner might be tricky, but the principle is not too complicated.
We currently actively disable the default recovery in ANTLR.
I want to start by activating it for LL and then see how to best deal with the error tokens.
 
LL is the quick/guesstimate or the slow/accurate one? I never recall..
 
LL is the slower one.
 
makes sense
 
8:58 PM
I want SLL to fail hard since there is no guarantee that it will be able to parse correct code.
 
SLL -> "Slow LL", got it
right
 
I guess simple.
Might also be stateless.
 
good mnemonics help, thanks! :)
in other news, I managed to hard-crash the twinBASIC compiler yesterday, Wayne will have a bugfix tomorrow morning
 
Congrats! Was it glorious?
 
Glorious as in needs task manager to kill VSC, and you gotta "remove the offending code" but without any navigation or syntax highlighting
On a 1-10 scale, I'd rate it a solid 7.5
No idea what caused it though
 
9:11 PM
in my case, I got it to crash when I was modifying the loop condition but didn't need task manager - VSC straight up died.
so getting VSC locked up to require a taskmgr-hammer is a #Achivement-Unlocked for you. :)
 
9:22 PM
Hm, VSC could use a better separation from the language servers then, I think.
 
normally it does better than that.
in typical case, VSC should be able to survive even if the compiler crashes and it has happened in that manner already.
I am not sure exactly why in those instances VSC crashes - it might be related to the contents that is being messaged between VSC and compiler.
 
VSC didn't actually crash though, but it wouldn't close anything and the red X button didn't do anything either.
 
in my book that's as good bad as crashing
 
so, not crashed, but still bricked lol
 
As good ol' Bill once said, roses called by any other name....
 
 
1 hour later…
10:33 PM
Anyone know what this is? it came up when building RD in Visual Studio
 
@this nope. got any add-ins?
 
i think TGit is the only one i have installed and that was long time ago
checking to make sure
Hmm, VS say i have a number of extensions that I don't remember installing explicitly...
stuff like Live Share, Visual Studio Intellicode, Test Adapter for Google Test....
 
 
1 hour later…
11:44 PM
@pacmaninbw belated "Welcome to the pond".
 
[rubberduck-vba/Rubberduck]: 1317 stars vs. [decalage2/oletools]: 1502 stars
 

« first day (2503 days earlier)      last day (26 days later) »