Local dummy here (slightly more technical than the average user, likely far less than most people in this community) considering switching over. Checked the sidebar for any beginner's resources and looked at a few of the top posts and saw mostly Linux news and stuff meant for people already using the OS.
For my specific case, I use a Mac as my daily driver and (heresy) I am happy, but I also have a Windows computer that I am thinking of switching over to Linux. I use it to play games my Mac can't, and to run !BOINC@sopuli.xyz (I do not run the community but the thing the community is about) and/or Folding at Home whenever I'm not using it to game. Some of them are Steam games, some indies not on Steam, some emulated. Little to no multiplayer games, and absolutely no multiplayer that has anticheat. I have tried running some of the Windows-exclusive games with WINE and they worked but ran extremely slowly, however that was done on my Mac so it may not represent the results of running WINE on Linux.
I just spent an hour searching for how I could have gotten an
Uncaught TypeError: Cannot set properties of null
javascript. I checked the spelling of the element whose property I was trying to set and knew that element wasn't null because the spelling was the same in the code as in the HTML. I also knew my element was loading, so it wasn't that either.
Turns out no, the element was null. I was trying to set " NameHere" when the element's actual name was "NameHere".
Off by a single space. No wonder I thought the spelling was the same—because all the non-whitespace was identical. (No, the quotation marks slanting in the second NameHere and being totally vertical in the first NameHere wasn't a part of the error, I am typing them all vertical and either Lemmy or my instance is "correcting" them to slanted for the second NameHere. But that is also another tricky-to-spot text difference to watch out for!)
And what did not help is that everywhere I specifically typed things out, I had it correct with no extra spaces. Trying to set " NameHere" was the result of modifying a bunch of correct strings, remembering to account for a comma I put between them, but not remembering to account for the space I added after the comma. In short, I only ever got to see " NameHere" written out in the debugger (which is how I caught it after like 30 repeats of running with the debugger), because everywhere I had any strings written out in the code or the HTML it was always written "NameHere".
I figured I'd post about it here in case I can help anyone else going crazy over an error they did not expect and cannot figure out. Next time I get a similar error I will not just check spelling, I'll check everything in the name carefully, especially whitespace at the beginning and end, or things one space apart being written with two spaces instead. Anyone else have a similar story to save the rest of us some time?
Besides some of the very, very obvious (don't copy/paste 100 lines of code, make it a function! Write comments for your future self who has forgotten this codebase 3 years from now!), I'm not sure how to write clean, efficient code that follows good practices.
In other words, I'm always privating my repos because I'm not sure if I'm doing some horrible beginner inefficiency/bad practice where I should be embarrassed for having written it, let alone for letting other people see it. Aside from https://refactoring.guru, where should I be learning and what should I be learning?
I like browsing Local here because of that.
I read something about once-reliable sites that would tell you the best [tech thing] now not giving legit reviews, being paid to say good things about certain companies, and I do not remember where I read that or which sites, so I figured I'd bypass the issue and ask people here. I'm pretty new to anything near the level of complexity and technical details that I see on datahoarder communities. I know about the 321 backup rule and that's it. This is me trying to find something to hold copy 3 of my data.
@andioop
@programming.dev