• 3 Posts
  • 102 Comments
Joined 11 months ago
cake
Cake day: August 4th, 2023

help-circle
  • Seems like the sort of thing that Nintendo will want to shut down. There are legal loopholes that can be taken to avoid copyright infringement in such cases (such as releasing a game engine without any reasources/assets a la the Super Mario 64 decompilation project), but it doesn’t look like this SM64-on-GBA project is doing anything like that. (Which is unfortunate. Other projects like the Link’s Awakening PC port that got shut down not too terribly long ago also didn’t take precautions.

    Don’t get me wrong. I hope this project sees the light of day. I just don’t think Nintendo will let it. And I wish the creators of these sorts of projects would take the necessary precautions to avoid being shut down on copyright grounds.


  • Thank you for bringing more awareness of this. I’m what you might call an “AI skeptic” and don’t really care what happens in the AI space as long as it doesn’t screw up things I care about.

    But I care deeply about FOSS and AI is screwing it up. I don’t want to have to explain why XYZ thing absolutely is not Open Source and that “Open Source” has a specific meaning beyond “you can look at (at least some of) the source code.”

    (Compare it to the term “hacker” that has among at least a lot of muggles taken on the exclusive meaning of committing some kind of fraud with computers. Originally it meant something very different. And it’s unfortunate the world has forgotten the old meaning.)

    Another project that is diluting the term “Open Source” is Grayjay, a video streaming app that is a FUTO project (and FUTO is a Louis Rossman thing.) Rossman has called it Open Source in YouTube videos, but it’s not Open Source. (The license is here and forbids things like “commercial use” (selling the software or derivative works) and removing facilites for paying the FUTO project from derivative works. Which is a lot less restrictive than the license was last time I checked it. Previously it didn’t allow redistribution or derivative works at all. But it’s not Open Source even now.)



  • If it’s already in memory, that’s one few step to reach it.

    I search my live memory with Tab Manager Plud

    Oh, so you’re doing something like Googling just to find the page title and then rather than clicking the link in Google, (closing the Google results page, I hope and) searching through your tab titles with Tab Manager Plus to find and switch to the open tab where you already have the page in question open?

    Though, I still don’t understand why you keep the tab open in the first place rather than juat closing the tab when you’re (at least for the moment) done with it and then Googling to find the content again and clicking the appropriate link to get that same content in a new tab when you do need it again. I asked whether the reason was so that if the content is removed from the server, you didn’t lose it, but I don’t think anything you said in your last post answered that question. You did say:

    My software should not discard data without my permission. When it runs out of RAM it should dump to disk cache, not delete.

    Which wasn’t quite a direct answer to my question. And you then directly admit that the browser doesn’t even keep content that’s open in a tab:

    But browser have the builtin assumption that the web remembers everything, which is false.

    So that must not be why you keep content open in tabs, right?

    Is it maybe something like if you keep something open in a tab, the presence of that page title in your tab manager gives you confirmation when you later Google to find the page title that such-and-such particular result in the Google results is indeed the thing you’re looking for and not a different page than the one you were looking for?

    Just as an aside, my web browser use is probably atypical as well. I have my browser forget all cookies, history, cache, etc (basically everything but my bookmarks) every time I fully close it. And I close it every time I switch activities to keep my online personas isolated from each other. (So I’m never logged into my Google account and my Amazon account at the same time, for instance. To reduce targeted ads and such.)

    Also, I’m wondering if something more like a caching proxy with maybe page searching capabilities and finegrained control of what is cached and what isn’t might fill part of your use case, but I still don’t have a firm grasp on your use case.


  • I’ve read this entire thread like three times and watched all the videos you’ve posted, and I still don’t understand your workflow at all.

    If searching bookmarks/history is harder than using Google to just find the thing you want to get back to, why do you need to keep the things you want to get back to open rather than just using Google to find the page again later? Or when you want to get back to something you (think you?) have left open, do you find it just by scrolling through all your tabs until a title/favicon looks like what you’re looking for?

    Your last paragraph makes it seem like maybe you want to keep the tabs open so if the page/content gets deleted off of the server, you don’t lose it. Is that correct? I’d imagine that doesn’t always accomplish that, though, right? (Particularly for something like YouTube.) If that’s a significant part of why you keep the tabs open, though, maybe that bit at least is a good question for a data hoarder community.

    I haven’t been able to find any “discard all tabs” addon for Firefox by Googling. And I can’t guess what exactly it does. (Does it save tab states to disk and suspend - but also leave open - all tabs or something?) Are you sure that’s the name of the addon you’re using?


  • map := map[string] int {}

    Not sure where you got your examples, but the spacing is pretty wonky on some (which can’t possibly help with confusion) and this one in particular causes a compile-time error. (It’s kindof trying to declare a variable named “map”, but “map” is a reserved word in Go.)

    var test int < bruh what?

    This article gives the reasoning for the type-after-variable-name declaration syntax.

    :=

    Lots of languages have a colon-equals construction. Python for one. It’s not terribly consistent what it means between languages. But in Go it declares and assigns one or more variables in one statement and tells Go to figure out the types of the variables for you so you don’t have to explicitly tell it the types to use.

    func(u User) hi () { … }

    That function (“method”, really, though in Go it’s more idiomatic to call it a “receiver func”) has no return values, so no return type. (Similar to declaring a function/method " void in other languages.)

    The first pair of parens says to make this “function” a “method” of the “User” type (which must be declared in the same package for such a function declaration to work.) The whole “when I call it like u.hi(), don’t make me pass u as a parameter as well as putting u before the period” thing also has precedent in plenty of other languages. Python, again, is a good example.

    Oh, and the second set of parens are where the function’s (non-receiver) parameters go. Your example just doesn’t take any. A function like func (u User) say(msg string) { ... }, for instance, could be called with u.say("Hey."). func (u User) ask(question string) string { ... } has a return type of string. So you could do var ans string = u.ask("Wuzzup?") or ans := u.ask("Wuzzup?").

    I can’t say I was ever too taken aback with Go’s syntax. Just out of curiosity, what languages do you have experience with?


  • I don’t really have any investment in TF2.

    But if I were involved with the #FixTF2 movement, I’d want it to be careful not to make the big wigs at Valve want to just slap Valorent-like anti-cheat on TF2.

    It does seem like the page for #FixTF2 talks about zero tolerance policies and basically manually banning people based on reports. But not explicitly saying in the petition to Valve that kernel-level anticheat is not the solution seems risky.

    Edit: Ok, looked a little closer. It doesn’t seem like #FixTF2 is really against invasive client-side anticheat measures. They talk about “updated anti-cheat measures” as something they want, but don’t put any qualifiers on that. That’s unfortunate.







  • Yeah, I’ve looked into it a little, and I know there are technologies for achieving that, but then again we’ve all seen videos of filters failing, yeah?

    It’d either have to be so reliable I could depend on it not getting confused and messing up even once even over many years or have some failsafe that made it just look like there was lag or something rather than showing my real face. (But also it couldn’t glitch if I stepped out of frame. Like, it’d suck if it decided the lamp behind me was my face or whatever. And probably it couldn’t restrict what I could do. Like, I wouldn’t want to have to be careful about the angle at which I turned my head or anything.)

    And it would have to be sufficiently plug-and-play that it wouldn’t take me a year of tweaking, coding, and testing to get right before deploying it for real.

    So, I dunno. I haven’t experimented with anything like overlay techniques directly, but it still seems implausible to me that anything fulfills all of those requirements.

    I suppose I’d also settle for “it glitches sometimes, but not in ways that show how uncombed my hair is and how rumpled my shirt is, but also everyone does it and everyone knows that everyone does it, so it doesn’t reflect poorly on you if they discover your secret.” But I think we’re also a long way off from that.

    And to be fair, I’m probably overthinking it to an extent and it probably wouldn’t actually reflect poorly on me if I did it. (They might be impressed. Who knows.) But still.



  • Are you kidding? Link is by far the most broken character. That grab and throw your opponent into the pit behind you trick is total BS. As is the upswipe and shoot with an arrow before they hit the ground move. You can just mop the floor against any non-Link character so easily. And that’s true whether both players are button mashing or both investing in learning the combos. (And to a surprising extent if the Link player is a button masher and the opponent is “good”.)

    And I say that as the douchebag who always played as Link. My record is 63 to 3 in one afternoon against a player who played/practiced just as much as I did and his character of choice was Nightmare. He knew the juggling combos and all just like I did, but Link is just broken beyond belief.

    Just like Kirby in Super Smash Brothers 64. (They nerfed Kirby a good amount in later Smash Brothers installments.)



  • So, first off, none of what I’m about to say would, on its own, be enough to cause me to downvote something. But since you asked about the “mostly…”

    Browsers are ridiculously bulky these days without adding plugins. On top of the bulkiness of the browser itself, “simple” web apps these days without adding to it. Animations use CPU and take time. Rounded corners and extra spaciousness use screen real-estate. I’m typing this on a Raspberry Pi 4. Chromium is unusable. Firefox is barely tolerable. And it doesn’t have to be that way. I’ve got a more powerful box, but it’s not what I’m using right now.

    (Yes, GPTheme is only 34k. But it’d have to be negative in size for that to be an argument that would work on me.)

    Plus, customizations like browser extensions require maintenance. One day OpenAI is going to update their markup and GPThemes is going to break. And if I was using GPThemes with ChatGPT I’d have to either uninstall it or go research whether there’s an update for it. If I set up a new device anywhere, I’d need to either be happy with an inconsistent experience of ChatGPT across devices or make sure I installed GPThemes on all of my devices, which is another step I could leave out to save time.

    Yes, this bit applies to all customizations. I don’t have any aliases in my .bashrc. I honestly prefer to just memorize things. The only real “customization” I ever do to my machines is remapping caps lock to escape. I’m just the sort of person who is very selective about what kind of customizations I consider worth it.

    Again, in the absense of my distaste for “AI” nonsense spilling over into non-AI-specific forums, none of this is a reason to downvote. Just a reason to scroll past. “Not my bag.” And some folks love customizing in ways like this. I definitely don’t have any problem with the fact that other folks’ calculus is different than mine in that regard.

    Since I’ve been so negative here, one thing I do like about GPTheme is the use of GPL-3.0 . I think copyleft is a hell of a good idea.



  • Wait, is this about SQL injection? Are they admitting that If I paste a piece of paper that says '; drop table streets; -- over their street sign it’ll fuck all their shit up?

    If so, this is not a problem that should be fixed by changing the street signs.

    Or is the problem that they’ve got people with limited technical skill manually constructing SQL queries to search these “geographical databases” and not knowing how to properly escape them?

    Or did some intern developer neglect to use a parameterized query and something broke and the management chain at the North Yorkshire Council who don’t even know what pebkac stands for heard “apostraphies are the problem?”

    Maybe they’ve got some image recognition thing on their mail trucks and the apostrophies mess up the otherwise-monospace letter spacing?

    Whatever the case, the whole idea of taking the apostrophies off the signs seems ridiculous to me.



  • Ah! SDHC.

    So, SDHC cards are a little different than regular SD cards (the protocol used to communicate with the card is a little different) and often aren’t supported by particular SD card readers like potentially the SD-to-IDE adapter you’re using.

    (I know back in the day, I hacked my Nintendo Wii, which involved loading a bunch of homebrew programs on an SD card, and at first it didn’t support SDHC cards until there was a firmware update.)

    Technically, I think any SD card can be SDHC, but almost always SDHC is only used by high-capacity cards. Also, I think they usually say “SDHC” physically on the card.

    So, probably the next thing I’d try if I was you was to change out your SDHC card for a non-HC SD card. Any 8GB to 32GB card should be fine, I’d think. (If you have any that are smaller even than that, like 256MB, even, you could at least use it to confirm that’s the issue. You just couldn’t expand the partition sizes out to 2GB.)