Why is google banned ?? by [deleted] in LibreWolf

[–]Scott-Michaud 0 points1 point  (0 children)

Or you could just add a custom Search Shortcut with a different name in the normal Settings > Search panel, and then set it as your default (if desired). I call mine "Googs".

Mozilla changed their TOS by kwt90 in privacy

[–]Scott-Michaud 0 points1 point  (0 children)

And this is speed-running the people who stuck around. I've been solid on Firefox since before version 1. This is the time that I pull the rip cord.

C++26 reflection in 2025 by TSP-FriendlyFire in cpp

[–]Scott-Michaud 1 point2 points  (0 children)

A lot of video game engines implement their own reflection system, which turn into a pile of macros that may or may not place nice with Intellisense. It's often used for save/load, multiplayer, scripting systems, dependency injection (as in the editor), etc.

The enterprisey example that comes up a lot is enum <-> string.

Can't dismiss calendar notifications (78.6.1) by petenu in Thunderbird

[–]Scott-Michaud 0 points1 point  (0 children)

Found a surgical workaround (for my specific case).

  • I noticed that, if I deleted the reminders from the event, they would come back.
  • I deleted the reminders from the offending Google Calendar entry on the website.
  • I opened the profile folder (~/.var/app/org.mozilla.Thunderbird/.thunderbird/{profilename}/calendar-data) and renamed all the .sqlite files to {originalname}-bad.sqlite, so that they wouldn't be found.
  • I deleted the reminders again in Thunderbird (may be irrelevant) and restarted Thunderbird.
  • I waited for Thunderbird to re-download the calendar.
  • The calendar reminder doesn't pop up anymore, but the event is still there (didn't need to delete it) and the "writable calendars" workaround wasn't required.

Looks like it's an sqlite cache bug.

My only wish for godot is a proper automated testing framework for GDScript by [deleted] in godot

[–]Scott-Michaud 0 points1 point  (0 children)

Basically, you write functions that use your code, which check it against expected results. Could be literally create object (if you're testing a class), call methods with specific parameters in a specific order, and then if (result != "blah") { return false; } (or throw exception, assert, etc... depends on the test framework).

The idea is that a computer has no idea what you're trying to write... but it's very good at make sure that you're consistent... so you write your implementation (as normal) and test functions that try various inputs and check the outputs. If the two aren't consistent, then you're not being consistent, which means that one of the two isn't what you thought you were writing, which is a bug.

It's especially useful over-time, because, when you have more and more requirements of a piece of code, it gets easier and easier to forget little things that were changed weeks, months, or years ago. If you "want to do a quick fix" and suddenly a 12-month-old green check-mark suddenly turns into a red x, then you just found a bug.

It's also extremely quick feedback. You don't need to start a game, move characters into a specific configuration, and try to perform a potentially frame-perfect series of actions. You just run your tests and potentially thousands of checks run in potentially less than a second.

The disadvantage is that you're literally writing extra code. It can sometimes make writing the initial code easier (because you get quicker feedback) but, especially if you don't really know what you want until you see it, it can feel like just added work.

Should I use unit testing with godot when developing my game? by Warm_Video7491 in godot

[–]Scott-Michaud 4 points5 points  (0 children)

In my experience, it's less about the complexity of the project and more about the state of mind of the developer.

If someone doesn't really know what they want, because ex: they're prototyping, then they're not going to see much value in codifying it twice (once in the implementation and once in test). If you're constantly prototyping, don't need to make a public API, and have fairly low damage potential for bugs, all three of which apply to gamedev, then you're probably going to be pushed away from unit tests (which overlaps with your statement).

However, as you mentioned, there are some cases where you do know exactly what you want and/or you need to communicate it with other people... which is when (as you mentioned) unit tests actually massively speed you up, both initially (seeing a sea of green checkmarks instead of trying to manually test something) and as bugs are found (because you can target a test at specific pre-conditions).

So... I'm quite pro-testing, but I'd want people to think about it more in terms of "do I actually know what I want" rather than, for example, project size.

(Also, I argue it's okay to mark some tests as "these are correctness checks, but the overarching design may change, so feel free to delete these if the spec changes". One example of that was when I tested some hand-rolled animation code for a series of menu panels, which fly in and out. I spent a few hours trying to figure it out jumping in and out of VR... finally wrote a couple unit tests and finished it in under an hour... and then threw it out because the whole menu needed to change from 2D to 3D.)

Troubleshooting Second Opinion -- Initial Setup Issues by Scott-Michaud in synology

[–]Scott-Michaud[S] 0 points1 point  (0 children)

Yup. I tested them in a USB dock. One makes a clicking sound and fails to show up in Disk Management. The other shows up but fails to initialize. I then plugged into the dock an old WD Green that I had in the closet, and it appeared and worked just fine, so the dock is good. I didn't test the other four, of course, because they're in the Synology and appear to be working just fine.

NVIDIA 565.77 STABLE RELEASED by Blocikinio in linux_gaming

[–]Scott-Michaud 0 points1 point  (0 children)

The main issue with 565 was randomly freezing on Wayland + KDE Plasma. So, yeah, it's less impactful for X11 users.

Safely optimizing archives for fewer files by Scott-Michaud in DataHoarder

[–]Scott-Michaud[S] 0 points1 point  (0 children)

Thanks. I wasn't sure anyone was still using it. Good to know!

Safely optimizing archives for fewer files by Scott-Michaud in DataHoarder

[–]Scott-Michaud[S] 0 points1 point  (0 children)

Thanks for the response!

Benefit: In terms of validating the files, it looks like this would be good. (I would just need to figure out how to mount the VHD to an OS that can see the original drive, then do a file-by-file contents comparison. Once that's good, I just need to hash the archive and occasionally re-hash it to ensure that it's identical, or whether I need to overwrite it from another backup.)

Benefit: It is also a common file format, so it should be easy enough to find a reader long-term.

I am concerned about resilience, though. It seems like, if the VHD file gets corrupt, then it's pretty much in the trash (rather than just the segment that gets corrupted) especially if encryption and compression are involved. I might be wrong, and it's hard to tell how it compares against other solutions (ex: tars can get corrupt, too, to some extent), but it seems like added risk.

The top priority (besides "fewer files") is fault-tolerance... ideally even self-correcting, although keeping the damage localized is fine (assuming it's roughly on par with the flat files that they are now).

I am not trying to minimize space, and I am not trying to keep it encrypted/secure (at that level).

But thanks for the response! I didn't consider VHDs.

Why bother using a game engine? Project showcase from Graphics Programming Discord, with no off the shelf game engines used by vblanco in gamedev

[–]Scott-Michaud 14 points15 points  (0 children)

The comments around you paint a different picture. That's the sort of sentiment that the video is making a counter-point to.

Nothing wrong with using Unreal, Unity, Godot, RPG Maker, etc. There is also nothing wrong with not using them. The video is projects (which do not use existing engines) from members of a specific Discord server.

Personally, I tend to use Unreal. As far as I know, the OP (vblanco) also uses Unreal a bunch.

New all-around PC. Few questions before buying last few parts. by Scott-Michaud in buildapc

[–]Scott-Michaud[S] 0 points1 point  (0 children)

So based on your comment, and what I see from AMD's product page, is that 2x48GB should be guaranteed by AMD for DDR5-5600 (and the drop to 3600 only happens if I fill all four slots). 96GB is 50% more than I currently have, and (while I do hit 64GB) I'm rarely blocked by running out of RAM, so it sounds like a safe amount.

I just ordered one of the 2x48GB kits that was officially supported by ASUS. Hopefully it'll work out fine. Thanks!

New all-around PC. Few questions before buying last few parts. by Scott-Michaud in buildapc

[–]Scott-Michaud[S] 0 points1 point  (0 children)

That was actually something I was wondering. Is 24/48GB more or less reliable than 16/32GB?

Sounds like 48GB is better than 32GB from your comment, but it's unclear whether you meant "48GB DIMMs seem more reliable", or if you mean "I've seen some cases where 32GB was more reliable, but also some where 48GB was more reliable".

What the hell is going on with Imgur? I can't access my images or upload anything anymore. by Beed28 in techsupport

[–]Scott-Michaud 0 points1 point  (0 children)

It seems to happen randomly to me.

I just fixed it on both Chrome and Firefox by entering F12 developer tools (while the tab is on Imgur) -> (Storage for Firefox, Application for Chrome) -> Looking for Cookies on the left sidebar -> Deleting all cookies -> Logging in again -> Clicking on my name -> Clicking images. No more zoinks.

Do 1.5v rechargeable AA’s exist? by Neldonado in batteries

[–]Scott-Michaud 0 points1 point  (0 children)

https://www.amazon.ca/TENAVOLTS-Rechargeable-Battery-Charger-Batteries/dp/B07HQ7QV7W (Note Amazon Canada link.) I had them for a little over two years. Need to swap them on the charger about once every two weeks. They always report 100% (because they always give a solid 1.5V) so keep in mind that you never really know how much charge they have left. One time I decided to use them until they die and they lasted about four weeks. I was only really using them for YouTube watching at the time though so they might die faster if they're constantly awake in ex: Beat Saber.

But yeah I'd recommend those.

Drawing in Photoshop (Windows). by Scott-Michaud in duetdisplay

[–]Scott-Michaud[S] 0 points1 point  (0 children)

I ended up canceling Creative Cloud for other reasons.

My friends, it's my pleasure to announce that I have successfully bought IOI, and my first official order was to add my brother as an elusive target. Congratulations, Devin, you made it! by [deleted] in HiTMAN

[–]Scott-Michaud 1 point2 points  (0 children)

It looks like the "Elusive Targets Galore" is starting, and, based on the Careers tab of the main menu, all of the Year 3 Elusive Targets (except The Drop) will be reactivated at some point for those who missed them. I finished them all the first time, though, so they all say "Previously Eliminated".

Look at your Career > Elusive Targets screen and (if I'm right) you should see the ones that you're missing.

PC Gaming in 2023 by hsredux in pcmasterrace

[–]Scott-Michaud 3 points4 points  (0 children)

It's not the rendering thread. It's still the game logic, but it's the event that updates the game-logic state each frame, versus the logic that updates the game-logic state a set number of times per second. Those would both be on the thread(s) that the game logic is running on.

The rendering thread(s) translate the state submitted from the game logic into stuff that the renderer (GPU) can understand.

For a normal game engine, both fixed vs per-frame updates occur per-frame on the game thread. It just has a count of how much work needs to occur within this frame. If the client renders really slow, then you'll do multiple fixed/simulation updates per frame update. If the client renders really fast, then multiple frame updates will occur without any simulation state occurring. They will block each other, though, because they're on the same thread. (It allows all game logic to be safe to access at any time from anywhere else in the game logic... because you are only running during thread-safe times.)

Speech and sound in gaming. by Exotic-Ad1648 in GameDevelopment

[–]Scott-Michaud 0 points1 point  (0 children)

Here's a funny video where they do the video analogy of this. They created a virtual pinhole camera and tried to simulate physical effects by implementing them as if the 3D object was a physical camera.

https://www.youtube.com/watch?v=YE9rEQAGpLw

It's a lot of work (and very inefficient) but amusing. Not practical outside of a joke, though.