« first day (2134 days earlier)      last day (1046 days later) » 

12:00 AM
RELOAD!
[Minesweeper] Games Played: 174, Bombs Used: 109, Moves Performed: 21440, New Users: 37
 
12:53 AM
@Vogel612 Confirming my knowledge sensei: The only time a merge in git will be noted is when a conflict occurs and it must be resolved. Otherwise git will fast-forward and sequentially apply the commits as previously committed.
 
 
3 hours later…
3:44 AM
FYI: they're removing Obsolete attributes from various COM interop types The post mentions a reference to other PR that removed it, too, but not sure if I understood that correctly. I also see that they are porting COM support for dynamic, too.
 
4:40 AM
Why does VBA-Landia have to be so helpful? Implicitly converting a integral numeric Long to a String isn't what I want. I'd rather the compiler barf and yell at me to be explicit aboot it.
 
4:54 AM
Headers/Footers are at the top/bottom of pages. What would be the superset name for both of them? I'm drawing a blank for a proper name.
 
 
2 hours later…
6:45 AM
@puzzlepiece87 The thing with async/await is that you need some synchronization context running a message loop to come back to in order to really make good use of it.
Btw, you might want to look at NavigationWindow and Pages for your style of application. It kind of sounds like a wizard.
 
 
4 hours later…
10:48 AM
@IvenBach "Page Decoration"?
"Page decorators", "Accoutrements", "Toppings", "Accessories"...
#HelpfulNotHelpful
 
11:36 AM
I have the following setup of a class with 2 contained classes:
'ClassA

Private Type TClassAData
  myClassB as ClassB
End Type

Private this as TClassAData

Private Sub Class_Initalize()
	Set myClassB = New ClassB
End Sub

Public Property Get myClassB() as ClassB
	myClassB = this.myClassB
'^ fails with error 91 - Object required
End Property

'ClassB

Private Type TClassBData
	myClassC as ClassC
	myClassD as ClassD
End Type

Private This as TClassBData
	Set myClassC = New ClassC
	Set myCladdD = New ClassD
End Sub
I'm getting that error because at the time I'm trying to assign myClassB = this.myClassB, myClassB has not yet finished it's Class_Initialize and therefore doesn't yet exist. Right?
mornin' @Phrancis! How's things in southern IN?
What I really need to do, is instead of using Class_Initialize, I probably need a factory that knows how to create a new ClassA, then once I have an actual, existing object, it can then new up ClassB and ClassC, right?
 
11:54 AM
@FreeMan You do not assign to this.myClassB in Class_Initialize.
 
Ah!!!! Set ClassA = ... is creating a whole new instance of ClassA, right?
bingo!! that works. TYVM @M.Doerner
 
It might actually call the property get.
 
Yes, it was calling the Getter and that's where the error 91 was throwing.
#StepBackFromTheForestSeeTheTrees
 
You are welcome.
 
Not sure how long it woulda taken me to figure that out on my own...
 
12:15 PM
Just checking - does RD shows anywhere which modules a given module depends on?
@IvenBach I usually think of them as sections.
 
@FreeMan Isn't the issue simply that it should be Set myClassB = this.myClassB within the property Get? Also, I think the declaration this As TClassAData results in auto instantiating the myClassB UDT member.
Nope...I take it back. Ran a test -- no auto-instantiation of UDT class members.
 
12:30 PM
@BZngr Yes, it should be, and yes it is in the actual code.
that was a typo in my MVnsCE
 
@FreeMan let me introduce you to this handy shortcut: Ctrl + C
followed by Ctrl + V
 
ooohhhhh... shiny!
 
:-D
 
Yeah, the actual code that I was condensing was a few lines longer...
#SmartAlec
 
What about Mr. Baldwin?
 
12:36 PM
smack you upside the head with a 16 foot (to maintain proper "social distincing") 2x4 ..
 
@FreeMan It would seem OK (and appropriate) to call Set this.myClassB = new ClassB within Initialize. I'm thinking the trouble is that the Property myClassB is called within Initialize prior to instantiating this.myClassB
 
actual code now:
 
@FreeMan You only need a 2 X 4 x 6
 
Private Sub Class_Initialize()
  Set this.npsScores = New NetPromoterScore
End Sub
Previous code:
Private Sub Class_Initialize()
  Set npsScores = New NetPromoterScore
End Sub
"actual code now" works.
@BZngr yeah, but there's so much more momentum with a 16 footer...
 
:)
 
12:39 PM
@FreeMan also more difficult to control. Especially if there's a bit of wind.
not to mention the long commit time.
 
Yeah, but much more funnerer to think about!
also, 16' is the longest commonly available, and "go big or go home"
holy crow this is slow, Joe!
 
Excuse me. I've just begun my cup of tea!
 
this is not my cup o' tea
Yeesh... Good question. Horrible feeling answer:
14
Q: How can I make sure non-open source programs are really using end-to-end encryption?

FulalasWithout going deep into math, is there a way to make sure that non-open source programs like WhatsApp, FaceTime, Zoom, etc. are really using end-to-end encryption instead of just 'regular encryption' (i.e. the server has the cryptographic keys)?

 
1:00 PM
"trust us, we're totally protecting your data. Scouts' honors!" fingers crossed behind the back
 
1:27 PM
@FreeMan That re-cap of events is super nice, though.
 
Yeah. Like I said, horrible feeling. Unfortunately it's true. The answer to that question is, "Nothing". SE won't let you make a 1-word answer, though.
 
Having dealt with 25-hour tests for the US military, they will straight up kick you out of the lab space, keep one person "comfortably" on the premise until they finish who knows how it was built and can help them add what they want/need
had a buddy who claimed he was a hostage, because he was the primary engineer; they kept him in the room, and escourted him to the restroom, having confiscated his phone, for roughly 72 hours
i was asked to leave as part of the process
 
#GooglesHowToMakeTinFoilHat
 
mind you, we were working on sensors for glucose, or any attributable contained-in-lymph compound, and worked in a red cross building. the founder worked at georgetown and built it in relation to a few... specific compounds, which were very important that some people not be able to find. yeah, we later sold and that company went under
the electronics were 'tinkered' to fit and we lost our existing materials/product when everyone left
@FreeMan careful how deep that rabbit hole goes... en.wikipedia.org/wiki/Ted_Kaczynski
lol
"you can eat your cake and have it, too"
 
Topic switch: Original design had several classes that held data and procedural code that populated them then built some reports from them. I've now modified that so that for one of the classes, the code that populates the class is now methods on the class instead of stand alone procedural code.
 
1:35 PM
[removed] apparently i can't read
 
In attempting to report on the data, I'm getting error 91. I think I now also need to incorporate the report generation code into the class as well. That way I can execute class.populateYourself and class.ReportYourself, instead of Class.PopulateYourself and GenerateReport (Class)
I think this is most likely the source of the error, since I'm getting the 91 in the existing GenerateReport (Class) code.
Am I in the general vicinity of the switch yard leading to the right track?
 
91 is object not found error, i believe; do you pass an object or just data?
i see you using 'class' as the object, from the dot notation, but are you actually passing that into the GenerateReport (class) when you run the code? just making sure you don't have a line in there that isn't qualified
 
(Class) contains a populated instance of the newly modified class containing the data and the methods for population.
I do know that I'm passing in a populated version of the class. The data that I'm trying to report on is a "sub-class" (see discussion earlier) of Class. Class contains data because some of it is used in generating report headers, and that's working properly. It's Sub-Class that's throwing the 91
gotta go back to the point just before the call and make 100% sure it's populated at that point...
 
copy, will read up. sorry i missed the other part of the convo
 
no problem
 
1:46 PM
@this I do not think we expose the module to module references anywhere.
Do you want to add an issue for adding a FindReferencedModulesCommand and a FindReferencingModulesCommand?
 
@IvenBach no. You can force a merge-commit
and even clean merges can require a merge-commit
 
I do believe that in the long run, I do want to be able to class.ReportYourself, but I'd prefer to do things one step at a time...
actually, it'd be class.subClass.ReportYourself, but I digress...
 
yeah, i'm digging through the rest of the convo and i'm not seeing anything... i feel stupid thinking that the only info i'm not seeing is if the sub-class is referencing the class and the passed class information isn't dimensioned in the sub-class. was there an Implement? I see the example that Ben wrote as the only provided code (i feel like i'm mentally rebuilding the convo, so if i'm f'ing stupid, just say to chill... trying to help, but i don't want to make things worse)
 
@M.Doerner I commented in issue 3004 which seems good enough for the purpose.
 
@Cyril no Interfaces. Having a class to hold the data instead of having 10000 local variables to be passed around the universe (or worse, global variable) was my advanced tech at the time I originally wrote this. I'm trying to streamline and refactor for better understanding & code flow.
also, which code that this wrote?
 
2:03 PM
so i feel a bit stupider now than before... and i don't know how this happened, so stupider yet. i scrolled up and hit the wall, so "load older messages". i didn't check the dates, but apparently i'm getting data from 2017, 2018, 2019, and a few posts from today and some from january. i just hit ctrl+f5 and now i see your code that you wrote. surprisingly, that code ben wrote is from 2017
i'ma just step away for a minute and collect myself
 
@FreeMan Without knowing all the details (obviously) I'm wondering if working towards a syntax more like reportGenerator.ReportOn(data As ReportDataObject) to keep the reporting generation and the data generation/loading as separate concerns may be easier to work with.
 
@Cyril your browser must have c19!
@BZngr That's where I started, actually.
 
So...you're done! :)
apparently that approach isn't answering the mail....just a thought
 
doesn't get the "mail" reference
I was thinking, maybe incorrectly, that having an object that held data as properties and had Gather and Report methods would improve the "object oriented designedness" of the whole thing, so that was the direction I was trying to move.
 
just an expression..."doesn't solve the problem"
 
2:10 PM
ah
current design is property-only class to store data and procedural code to gather it and report on it.
so not quite reportGenerator.ReportOn(data), more like DataA = GatherDataTypeA, followed by GenerateDataAReport DataA
thought that DataA.GatherDataForSelf then later DataA.ReportOnYourself would be a better design.
Am happy to be disagreed with at this point!
 
@FreeMan From an 'object oriented designedness' perspective, the approach of including Gather and Report would seem to test the Single Responsibility Principle. But everyone's mileage varies.
 
I feel that this rabbit hole is getting deeper with every keystroke...
@BZngr of the class? I, in my very immature OO understanding, kinda thought that was the idea...
 
Sounds like your data class will nicely replace the GatherDataTypeA sub. Generating the report sounds like a separate responsibility => so a different object/class.
If the report ever changes, you can leave your data object alone (for the most part) and create a new report in the reporting 'class' (or a new reporting class altogether). Or, if the process of Gathering ever changes, you can leave your report generation classes alone.
 
2:28 PM
well, that's kinda where the current problem is. I've modified the data class to contain the code to populate itself, and now, when I'm passing it to the report, it's giving me an error 91 -saying it's empty.
I think for now, at least, I need to leave well enough alone.
I had to make some DB structural changes to normalize data (long overdue), and I've got the changes to deal with that in production. I think I'll let this sit & stew while I get to other, more pressing issues...
 
Hmm..Sounds like somehow the logic is sending a newly instantiated data object to the report rather than the one intended.
 
yeah... :(
I have ClientList which contains a Collection of ClientItems. ?clientList.ClientItems.Count yields 15.
A ClientItem has a Name property and ?clientList.ClientItems.Item(1).Name yields the expected name.
A ClientItem also has a NPSScores property that is not a collection of scores, but it should be. I think that's where the problem is.
rubberducking FTW
carp.
in the need to get the month-end reports completed. I need to make sure what I've already migrated to production is fully ready to go, then I can work on fixing this WIP next week.
 
Not sure a rubberduck would eat a carp. A real duck would, probably.
 
 
2 hours later…
4:57 PM
Scaled down it didn't fit myself. I did find a new assistant though: Front view and SideView.
3
 
@IvenBach Nice job! Looks very good - are you going to paint it?
 
Possibly the glasses part a silver grey. To give it contrast.
 
welp, here's an interesting code that is totally legitimate but will throw a false positive regarding misuse of IsMissing:
Public Property Get DefaultValue() As Variant
    If IsObject(This.DefaultValue) Then
        Set DefaultValue = This.DefaultValue
    Else
        If IsMissing(This.DefaultValue) Then
            DefaultValue = Null
        Else
            DefaultValue = This.DefaultValue
        End If
    End If
End Property
 
@IvenBach noice!
 
The This.DefaultValue is a Variant, and thus legitimately could be assigned Missing.
I think it's ok to get a false positive since it's very unusual and needs to be examined closely. I would rather put a @Ignore but just wanted to share.
 
5:05 PM
@this I think I will add the module-to-module reference commands over Easter.
Should be easy.
 
5:50 PM
I just switched branches in git for my Access project. Last I worked on this project was early last week. However, several of the files have today's date stamp. Is this to be expected in Windows?
@IvenBach just outta curiosity, how heavy is that?
 
if you are using object date/time, yes
 
even when looking at Win Explorer, not in Access?
 
keep in mind that the VBA project is saved as one giant blob, so all code files will have same timestamp as a consequence.
when you use object date/time, OASIS overwrites the file time accordingly
 
I haven't saved the project - this is simply looking at the files as they've been checked out of git
hrm.
VBA sucks
not on language features, just in the way it's so tightly integrated with the host that it makes darn near everything else a pain
 
^
Yeah, I kind of think we'd be better if we had it as loose files, edit in VS, then build by creating a new Access file from scratch
(ditto for Excel, whatever)
then git would be so much less painful
 
5:57 PM
But, if I was doing that, I'd be motivated to leran me some C#
 
@FreeMan ~200grams. Even with the cantilevered beak it's barely noticeable.
 
IKR?
 
I guess if I was building my forms in code, I could prolly do that
@IvenBach wow. Light!
 
@FreeMan and that's the rub, isn't it?
nobody wants to do that.
 
HHCIB?
 
5:58 PM
we'd be now talking about re-building the form designer from scratch
and somehow getting the host to use VS instead of VBIDE
 
the weird part is that I'm getting
VERSION 1.0 CLASS
BEGIN
  MultiUse = -1  'True
End
showing up in the VBIDE again.
I think this may have been an older branch, where that wasn't cleaned up properly, but you'd think that it wouldn't import those... :/
 
yeah, Microsoft isn't exactly known for their consistency
 
worst thing is that I know I migrated my updated code to Prod, but it doesn't seem to be there. Even worse (than the worst thing? Yes.) is that it's not there in Dev, either!!!
Now I've got to figure out what happened to these changes I made late Mar/early Apr.
:(
on the bright side, though. Where importing via OASIS was taking a really long time last week (best part of an hour!), today it's going by in seconds.
 
were you importing data?
This is where I find it the most slowest.
and for too much amount of data, it could even choke.
 
I have 2 local tables that have <10 rows each. For those, yes. For all others, no.
 
6:06 PM
yeah, <10 is pretty miniscule.
I did a boo-boo and tried to import a >10,000 rows table and in other instance a single row that's a blob field worth 2-3 MB of binary data. Both didn't go well.
 
ouch.
Yeah, I think I done did a boo-boo:
Shouldn't that be Merge 'branchConnectToEDW' into 'master'?
but wait... that was on 17th Feb.
everything was good after that...
 
The sense of shame I'm feeling right now at some of my old code...
 
shouldn't that really be a sense of pride in your new code?
 
The shame far outweighs the pride. These are just RD inspections I never got around to correcting.
the variable name RHS makes me feel like a major :derp:
 
6:31 PM
OK, I have that sick feeling in my stomach that I've lost a lot of work. Like 2 weeks worth.
I'm hoping that it's all still on the desktop at work and that I can recover the majority from there.
If not, you'll hear me screaming from here...
gonna log of for the day, though, and do something productive so I can feel a bit better about myself, and start over in the morning.
 
Remember to #Breathe.
 
 
4 hours later…
10:31 PM
When the doctor brings you your Corona. I have several ideas going through my twisted brain.
 

« first day (2134 days earlier)      last day (1046 days later) »