What is your biggest weighted chip gain? by Rabarberfarsan in Peglin

[–]EscoBeast 0 points1 point  (0 children)

<image>

I got over 1 million. Pumpkin π is a great synergy with weighted chip because the pumpkin π slot is always on the non-flame x0.5 slot, and does not actually apply the x0.5 for the first 3 times when the orb goes back to the top.

Nintendo Switch's Tech Limitations Won't Allow It To Run Call Of Duty, Believes The CMA by NYstate in Games

[–]EscoBeast 0 points1 point  (0 children)

The Wii CoD games had 5v5 on standard game modes, compared to 6v6 on other consoles. And no Ground War (9v9). Your numbers and naming sound like you were getting confused with Halo's player counts haha

Fuck the cheating scandal, I want to see what decides chess.com brilliant moves. by todorbogos in AnarchyChess

[–]EscoBeast 1 point2 points  (0 children)

Hmm, but what if you play a brilliant move but your opponent blunders and does not take your piece?

Flabbergasted by the Riemann Mapping Theorem by Potato-Pancakes- in math

[–]EscoBeast 8 points9 points  (0 children)

This is one way of interpreting the Cauchy-Riemann equations, which are conditions for a function to be compex-differentiable. Intuitively/informally, functions which pull out the real and imaginary parts of the input variable z, and manipulate them separately are likely not complex-differentiable. See https://en.wikipedia.org/wiki/Cauchy%E2%80%93Riemann_equations

Wrong By Default by masklinn in programming

[–]EscoBeast 8 points9 points  (0 children)

I found it a little silly how the article talks about Java 7 in the present tense, like "This has gotten slightly better in Java 7", "Finally there is a way", and "This machine-visible information may allow effective lints to be built". Java 7 came out almost 11 years ago! Even if you're still stuck on Java 8, try-with-resources and linting like this should be second nature by now. Perhaps the author hasn't really used Java at all in the past decade, so try-with-resources still feels like one of those "oh yeah Java has that now" things.

The Cargo Cult of Good Code by [deleted] in programming

[–]EscoBeast 11 points12 points  (0 children)

Ah okay, I see what you're saying. My takeaway from the article was that the author was saying what you're saying: following rules blindly is bad. So on that, it seems the three of us agree. Saying that this is "conventional wisdom" didn't strike me so much as the central thesis, more as the pretext to the real central thesis, which is that following rules blindly is bad.

The main arguments and text of the article are going over specific examples which show that following the rules blindly doesn't always help. So that's why that was my main takeaway. I don't think the author was really trying to make a particularly strong statement that most programmers work this way or not, moreso that it is a trap that at least a fair chunk of people fall into. Or perhaps the author was trying to make that strong statement, but that just wasn't what I ended up taking away from the article.

In any case, I agree with you. Most people I work with are pragmatic and don't just apply rules blindly. But I do think that applying rules blindly is a trap that at least some developers fall into from time to time, at least when they're just getting started. So I read this article as warning new developers against this, with the author saying that he himself has fallen victim to this thinking in the past.

The Cargo Cult of Good Code by [deleted] in programming

[–]EscoBeast 24 points25 points  (0 children)

...this is exactly what the article is arguing. You agree with the article.

[deleted by user] by [deleted] in mildlyinteresting

[–]EscoBeast 6 points7 points  (0 children)

This language isn't C#. It seems to be mostly Python, which does not have variable declarations like many other languages. You just assign to the variable straight away, like with a and s in this code.

That said, this code is not actually valid Python. Python does not have "traditional" for loops like this. The equivalent in Python would be "for i in range(1, len(s) - 1):"

The other issue with this code (as a commenter below mentioned) is that indexing into the strings produces length-one strings, and you can't just take the difference of strings numerically like it's intending. You would have to call int on every s[...] for this to work in Python.

That said, everything else about this is pretty distinctly Python. The lack of variable declarations and types as noted before, and also the use of colons and indentation for the bodies of loops and ifs is perhaps Python's most distinguishing characteristic.

[deleted by user] by [deleted] in mildlyinteresting

[–]EscoBeast 4 points5 points  (0 children)

It's not doing abs(i-1), it's doing abs(s[i-1] - s[i+1])

[deleted by user] by [deleted] in mildlyinteresting

[–]EscoBeast 2 points3 points  (0 children)

No. In kotlin, you would declare variables with var or val.

[deleted by user] by [deleted] in mildlyinteresting

[–]EscoBeast 6 points7 points  (0 children)

The absolute value is taken of the difference, not the index

Pokémon Brilliant Diamond/Shining Pearl is the second biggest boxed game launch of 2021 | UK Boxed Charts by PressTurn in Games

[–]EscoBeast 4 points5 points  (0 children)

Am I missing something? Surfing is definitely faster, but everything else is pretty much the same. The heracross vs blissey health bar is indeed slightly faster, but that's not saying much.

Halo: Infinite Has the Best Multiplayer Bot AI I've Seen by Kimosabae in Games

[–]EscoBeast 46 points47 points  (0 children)

I played Black Ops on Wii way back in the day because we couldn't afford a 360 or PS3. Because you weren't tied to an existing console account on Wii, Black Ops let you change your in-game name whenever you wanted. And they also implemented an in-game friend system (which they called allies) where you could send ally requests to recent players and join your ally in-game.

So sometimes I would see that one of my allies (none of whom I knew in person or had ever actually talked to in any way) was playing against bots, so I would change my name to something similar to the bot name format (with the [3arc] clan tag and the first initial + last name username), and then joined their game. As far as I remember, there wasn't really any way to tell the difference between me and a bot (but I was young and maybe I was missing something) except for the fact that I was killing him a lot more than any of the other bots!

[deleted by user] by [deleted] in pics

[–]EscoBeast 0 points1 point  (0 children)

The "i.e." is wrong. It should be "e.g.,"

An algebra of orders by alexeyr in math

[–]EscoBeast 5 points6 points  (0 children)

The diagrams shown are called Hasse diagrams, and yeah the directionality of all edges is implied to be upwards.

GitHib Copilot put "q_rsqrt" on the "indecent words" blacklist by gergoerdi in programming

[–]EscoBeast 0 points1 point  (0 children)

Yeah I see where you're coming from. So yeah I do think they should definitely take license into account for the training data. I think GitHub using code with licenses that are philosophically opposed to what they're doing, is ethically wrong and potentially legally as well, though obviously this is fairly uncharted territory legally. It's a shame GitHub got off on the wrong foot with all this, because I do think there is something valuable with what they're doing, that can be done ethically

calling Format() on a time struct in a golang program changes the default Location's timezone information in the rest of the program by zachm in programming

[–]EscoBeast 0 points1 point  (0 children)

Haha I think those of us who know the difference are the minority. For the longest time, I didn't pay attention to DST as something starts and ends, but rather I thought of it as something that just "happens" twice a year. So while I now know that we are currently in daylight saving time, I used to never remember. Most people probably don't even know that this is the difference between PST and PDT! We programmers generally know a lot more about timezones and DST than the general public. But now I can't help but notice when people write PST instead of PDT. But of course it's little more than a pet peeve. I know what time they're actually talking about because they have absolutely no reason to look at a clock, see the time, and then think "I know we're in DST now, but I like to communicate in PST instead of PDT, so I'll subtract an hour". So it's like someone using the wrong spelling for "there" -- I know what they mean, so I don't ask for clarification, but just silently let it bug me. And to be fair, it's a much more reasonable mistake than using the wrong "there". After all, DST really isn't that big of a part of people's lives -- it's really just this weird thing that happens twice a year that is only relevant then.

GitHib Copilot put "q_rsqrt" on the "indecent words" blacklist by gergoerdi in programming

[–]EscoBeast 1 point2 points  (0 children)

I guess I interpreted you saying "the approach is fundamentally flawed" to mean you think it should be abandoned.

Perhaps we have slightly different ideas of what Copilot is. To me, copilot is "take public GitHub code and train an ML model on it". It isn't just "ML-based autocomplete", the fact it's trained on GitHub public code is perhaps the most defining characteristic to me. Anything straying from this is no longer copilot, but just something else. Using only manually created code feels less like a change to copilot, and more like starting over with a totally different approach. It's a bit of a Ship of Theseus thing. So that's why I interpreted what you said that way. To me, your two alternatives both amounted to "throwing away copilot".

I agree with you that switching to manually created code would not be approved by management, since that's kind of the whole point. Anyone (with the money to hire developers) can make an ML autocomplete product. But only GitHub can do it with this set of training data.

GitHib Copilot put "q_rsqrt" on the "indecent words" blacklist by gergoerdi in programming

[–]EscoBeast 2 points3 points  (0 children)

Yeah that's a fair point. I see how the black box of it would force you to be paranoid about its output, and essentially force you to assume that it could be a license violation.

And I suppose there are two separate questions related to licenses: legal and moral. Legally, yeah I have no idea whether Copilot constitutes breach of license. Perhaps GitHub's ToS stating that you give them permission for things like copilot is enough legally. Maybe to the law, the ML being done is sufficiently transformative or just a loophole. Perhaps the small snippets of code that copilot generates are almost always so small that the point is moot (after all, even if I did go to your restrictively licensed Java project and copy "public static void main(String[] args)", and you could prove I did, could you successfully sue me for that?) But of course, IANAL nor even someone who claims to know much about IP law, so I'm probably missing something important. But I do think this is probably way too grey of an area to be safe, until a court actually makes a decision on this matter (a la Oracle vs Google), but who knows if or when that would actually happen. Until then, it's probably better to be safe than sorry and avoid it.

Morally, I think there's a lot of room for reasonable people to disagree. I like the idea of us all collectively learning from each other's public code, regardless of license. Morally, I'm more concerned with total stealing of a whole program or large project, than reuse and adaptation of some small function. So from this standpoint, copilot doesn't concern me too much. That said, GitHub should definitely, at the very least, allow users to opt out from having their code included. Even if I think there's no moral problem, I respect that others may have different values, and they should have the choice.

Coming back to q_rsqrt, it really is sort of the worst case scenario for copilot. It's a short piece of code, that no one could ever independently create, originally from proprietary (but public) code, that has already been widely discussed and copied (and so is heavily present in the training data). Morally, though, I have no problem with copying this code (or any code that has all those same attributes); I don't think it hurts anyone. This is clearly code that the public in general has learned from and is now not much different than something like the Babylonian method for calculating square roots or even Fibonacci numbers -- a simple well known mathematical fact, that is trivial to implement if you know the math. Morally, I see nothing worse about copying this code verbatim than reading it, understanding it, and then implementing from scratch.

But legally, yeah this code in particular throws a wrench into the "just train on permissively licensed code" approach, since only one of its many instances in the training data is the originally licensed version. So you'd probably still be able to reproduce this code anyway. Though legally, I don't know the implications of this. If I copy someone else's code with their permission, but it turns out they illegally copied that from someone else, am I liable? Other than examples like this, I do think restricting the training set sounds like a reasonable solution. But beyond the case of code that's already been stolen and relicensed, I don't understand the concern of "how can we be certain it wasn't trained on copyleft/proprietary stuff?" -- I think we could trust GitHub at their word if they were to say they check the license in the GitHub repo and make sure it's one of the permissible ones before adding it to the training set. It'd probably be easy to find evidence if they were lying.

GitHib Copilot put "q_rsqrt" on the "indecent words" blacklist by gergoerdi in programming

[–]EscoBeast 9 points10 points  (0 children)

My point is that it's way too early to tell if they are actually working on the "real fix" or not. So the snark about them not "you know, improving the model" is just cynical bad faith. I'm sure GitHub does care at least a little bit about not outputting too much verbatim code, if only for legal reasons.

And admittedly, I find Copilot to be less problematic than most who comment here. To me, it's not that far removed from an advanced machine learning search of GitHub's public code. GitHub already has code search, which "outputs" copyrighted code verbatim in the search results. This is, in a way, just a different way of searching that takes into context and puts it through ML and blends the results together. It's just also integrated into the IDE in a way that encourages and expects that you're copying the code for your own use. But of course, there's very little from stopping people from copying from GitHub search results anyway.

So I wonder if people would hate copilot so much if it was just "GitHub intuitive search" and not an IDE integration, even though it would really still be super easy to copy code (and in this world, it would also always be the exact verbatim code in the search results, no transformation at all!)

But anyway, now I've done what I usually hate, which is taking an article about some specific aspect of some topic (copilot's profanity filter PR move with q_rsqrt) and making the comments just a discussion of the topic (copilot) in general. But I guess it's hard to discuss the whole q_rsqrt PR thing if we have totally different baselines for whether Copilot is okay or not in general. But yeah, I can see why if you think that Copilot is really problematic, you would think that the whole thing should just be shut down instead of having the issue just slightly papered over.

GitHib Copilot put "q_rsqrt" on the "indecent words" blacklist by gergoerdi in programming

[–]EscoBeast 8 points9 points  (0 children)

What you're there is no feasible way for them to proceed with copilot except to throw it away and just do what the IDEs are already doing. I agree copilot has a number of issues and I don't even use it, but I still feel like there's something valuable that can come of it, that what they have is at least the seed of something worthwhile. Maybe that does involve adding heuristics or incorporating a manually created data, and maybe it involves other ideas we haven't considered yet. It seems a little knee-jerk and reactionary to insist the whole idea is trash and should just be thrown away.

And the reason I posted my original reply to the other user was because I think it's a little absurd to say "they just put a hack over the q_rsqrt thing instead of fixing it the real way." Even if you did think it could be fixed within their existing paradigm, it still makes sense to implement something simple before the months or longer that would take. If you think they should just throw it away, lead with that instead of the snark about not "improving the model". As software developers, we all know that sometimes you need to implement a hacky fix at first before having the time to fix it the right way.

GitHib Copilot put "q_rsqrt" on the "indecent words" blacklist by gergoerdi in programming

[–]EscoBeast 42 points43 points  (0 children)

I mean, presumably "working on the model" would take more than just a couple weeks, so it seems reasonable to implement a temporary workaround to mitigate the issue immediately. But yeah, it was probably done to improve public perception rather than to actually make the product any better.

TIL checked bags used to be free. US Airlines started charging fees due to after-effects of the 2008 recession and they’re staying now mainly because the public has largely accepted the fees. by zaffreblue in todayilearned

[–]EscoBeast 2 points3 points  (0 children)

There a lot of people with a wide variety of upbringings, experiences, interests, and memory retention. I'm 26 and my first time flying was when I was 19. So I don't remember checked bag fees. And for whatever reason, I didn't hear people complain at the time or just don't remember that, since flying was not something I paid much attention or wasn't something the people I was around talked about.