March 5, 2025

Magenta Construction

7:04AM - 9:01PM (13 Hours 56 Minutes)

7:11AM

Alright, I'm just setting up, uh, I'm just setting up, um, Tin's computer here. Um, the Windows license key didn't activate for some reason. It said that the license key was already activated. Maybe that's why I had an error with my script not working. Um, anyways, uh, we could try it again later. But I upgraded that license key. I'm letting the computer restart now. And I'm going to get back to setting up my scripts for the VPN.

7:42AM

Avni just messaged me that Bluebeams has an update, so I'm going to have to take a look at how to update those. I think that's going to be an Action 1 side thing, to find out how they do the updates on Bluebeams Revu. I should document that for the next person as well.

7:42AM

Right now I'm just creating a quick test to see what the most efficient way to store data is and retrieve data.

8:40AM

I did my test and the results are pretty surprising, I'm just going over the results right now.

9:16AM

The result is used JSON with PrettyPrint, which is pretty shocking, because it was consistently at the front of the pack, and it's pretty easy to read, actually. The second place ones were either using, well Serial was sometimes faster, but sometimes slower. Generally it was quicker, but there was tests where it was slower, or in the middle. Serial is really hard to read though, so probably not ideal to use, and in the middle actually the surprising notes were any format, and var export, both of them were consistently kind of in the middle. So I would say JSON with PrettyPrint flag is the quickest. Array Serialization, sometimes, was relatively quick. And then I would say any and var export, generally kind of tied for the middle place, followed by JSON, and then XML was always last, so avoid at all costs, and always prone to errors.

9:50AM

Alright, I got to stop doing this, because I got to go to Troy soon, and I have to just document everything.

10:51AM

Yeah, just working on a module importer. Um, it seemed to be I can't specify how to make an enum type file, and I'm trying to find uh, I'm trying to find out where I previously did that, because because it should be listed as an enum type in this map. Anyways, I might be overthinking things a little bit, but but, uh, I do want to make sure that I'm not taking shortcuts while doing this. Because I don't want to be redoing it if I don't have to. And I've created a pretty good, uh, system. Fuck's sake. I don't want to see the difference, I want to see Oh, for fuck's sake. Oh, for fuck's sake. Alright.

11:55AM

I am fixing up some classes. There was a lot of issues, well there was not a lot of issues, but I made a bit of a mistake when making the classes how I organized things, in terms of how they react with the database. And it's creating a bit of an issue, just a bit of a mess that I want to clean up as part of this module restructuring. So I just have to go in through all of these and change how the database tables are assigned to the classes, and make the classes a single point of database storage. Which kind of makes a little bit more freedom when using the database class, but at the same time... But at the same time... But at the same time... At the same time... Yeah, I'm sorry I'm losing thought I'm trying to focus here on one thing. So originally what I had is, I originally had enumerations being used for the table names. But that's not a scalable solution, because the enumerations file, like the table that's holding the enumerations, would have to keep changing all the time. And so by putting the table name inside of the class, it's easily addressable, and it could be imported as a module so I could just build and import and it's fine. The issue, the only issue is it's not as strict. So before when I had all the table names enumerated, that was great, because while I'm coding I wouldn't be able to make a mistake. I would have to specifically, like you wouldn't be able to put a wrong, something that's not, you wouldn't be able to put something that's not, that's not you would like something that's not a database table name inside of the database function. And now you can. So there could be some issues but I won't have issues anyways with it so it's if other people, anyways, it's not a big deal but I have to refactor it.

11:58AM

Yeah, and this is a bit of another issue, trying to do something now and the enums were also a little bit more flexible, but, because now I have to create a separate class, but that's okay, because it's fine, I probably should in the end anyways.

12:11PM

Alright, I've cleaned all those up. Now I can get back into this. Redness and magenta has changed. Hold it right. So now I've done all those changes. Now I'm going to start to split the modules up to keep it more organized because it was getting too messy.

12:57PM

I think everything is done just loading up a sandbox now to test it and make sure that it works. I'm going to try to send diagnostics data. Exclude path and I'm going to paste that in here because we don't want to include the data that we get. Okay and I want to copy the data that I already had. That was under Windows Diagnostics data one. Copy to Europe. Why. Fucking cocksucker. Ah, sync. Let's see what the differences are. Right because I excluded it from download. After. Oh. Htaccess. Sure, let's download that. Synchronize all. And this is right here because I just said okay so all is good now. So this is the old data structure. This is this. Okay, I'm gonna be able to delete all that I think. And why? Oh, because this is in the diagnostics, right? The old one. So why did it not synchronize? What the fuck, man? What is going on? Is this excluded? Oh, it is excluded. That's why it's not syncing. It should not be excluded anymore. All right. So what do we do? Sync with GoPro. Come on, big guy. Yes. Well, sync.

12:58PM

Caroline was also saying that Buddy can't log into the computer there, Bruno can't log into the computer, and I asked her to check if the Wi-Fi is connected, and she said, good afternoon Conrad, Bruno's laptop doesn't work, we are not able to sign in, we tried his email and the password that you sent me last time, so I replied if she could check if the Wi-Fi is connected, and I said, oh, it's the password that I sent you, it won't work, because it's a temporary password, he needs to log in on a different computer using an incognito window with the credentials that I sent, then it will ask him to set his password for the first time, and so after he does that, he'll be able to log in on the computer, just make sure the computer is connected to Wi-Fi at the login screen, it should have a wireless icon, not a globe, if it has a globe on it, I told her, click on it, connect to TCC client, the credentials should be saved, but if not, they are posted by the printer.

1:00PM

So the issue that this is actually happening, and I found this out last night, is Windows 11, I don't remember if it was 22H2 or what the version is, Microsoft implemented part of Defender, it's a credential guard, and credential guard for some reason isn't allowing a single sign-on to a RADIUS Wi-Fi access point, and there have been, based on the research I've done, there have been talks about disabling credential guard so that it could work, which is not ideal, or there is the possibility of setting up a separate Wi-Fi access point using WPA, for example, because it seems to be something with the EAP, like RADIUS certificate style authentication, but it's having the issues. Anyways, we don't want to disable credential guard, but without this it won't automatically connect to Wi-Fi before the user logged in, which sucks. The one way that Microsoft suggests is using certificates. I haven't done that, to be completely honest, and based on my research, we'd need to have access to the authentication server, so the RADIUS server, to get a certificate issued from them, and usually it's on a per-person basis, but since TCC is issuing it per-tenant, I don't know, it's kind of mixed around, I'm going to see if there is a way to get a certificate that we could add, because that would be the best solution.

1:12PM

I guess I was still recording or not. I don't know when I was recording or not. Anyways, yeah, so it did work. There was a bit of an error. So I'm just going to say computer not found. That was actually expected, because in fact the computer was not found. Because I'm running off of a sandbox, so the computer would not be in the system. But I'm going to disable that and just test it to see if it works again. And now everything should work and it should add it into the database. Four hours back. There's one more issue here that I want to address before I do this. We're collecting a password in plain text and we don't want to do that. Where is this here? Input. That's Marshall. Where is it? Marshall, Marshall, Marshall. Oh, here we go. Do you want to collect? Okay, service has passed. Oh, my secure flag is not working. Okay, user input. Ah, secure. Okay, secure, secure. Input encrypted, input encrypted. Now it should work. Friendly name. My other switch was int only, which I don't think that we're using anywhere. No, we're not. Okay, let's save this. Let's go back into terminal. Enter my username, my password. I want to go four hours back. Do you want to collect all logs? I'm going to hit no. Do you want to collect device management log? Yes. Yes. Yes. No. Yes. Do you want to, yeah, set up event log? Okay, error uploading 500 internal server error. Remote server returned 500 internal error. That's not good. Let's check our debug again. Error log viewer, refresh. Fail error. Data computer diagnostic log not found in. Class data computer diagnostic log not found. Classes data computer diagnostic log not found. Computer diagnostic data computer diagnostic blog. Data computer diagnostic. Diagnostics diagnostic. Diagnostics log. Everywhere I'm using diagnostic. Control shift F. Diagnostic log. Everywhere I'm using. Oh. Really. Diagnostic log diagnostic. Okay, so. So diagnostic diagnostic log. Class name is correct. Oh, okay, so it's just my auto loader that fucked a little bit. Okay, I'll fix. All done....

1:12PM

And Caroline said the computer is now working, so that's okay.

2:03PM

Yeah, it seems to be resolved. Okay, I'm going to resume back to what I was doing, working on the VPN, now that I have a module.

9:01PM

I totally forgot to eat breakfast and I'm just finishing work so I gotta go eat.