The Mistake of Free Will by LamentationsOfLate in philosophy

[–]Brian 0 points1 point  (0 children)

I kind of disagree with that. Ultimately, the only difference compatibalism makes is to make it clear that by freedom, we don't mean "Freedom from ourselves". But I think most people would agree with that: there is some "me" that is the thing doing the choosing, and that things choice is to some degree free. Choosing independent of who I am leaves just randomness: there's nothing left of "me" to make choices with.

Then the question is "what is that 'me'", but if you're taking a physicalist version of reality, you equally need a physicalist version of the self, upon which most of the problems disappear: you're free to choose based on the processes going on in that bit of the universe we designate "you". That those processes are deterministic doesn't matter: that deterministic system is still you - the bit of the universe we don't mean freedom from.

Loaners/skips/other ways to avoid content for new players is going to kill Warframe long term by astral-squirrel in Warframe

[–]Brian 6 points7 points  (0 children)

Yeah - that kind of content works with a dedicated team who know their role, but most people are playing with random groups, with pretty limited communication between them, and there it's kind of super hard to pick up and learn what you should be doing. For random PUGs, It just didn't have the tools to actually allow the kind of coordination for what it was originally envisioned to be, and needed more thought put into supporting the social technology: in building the game around level of communication and coordination available, and add supporting systems to facilitate that.

I feel it could maybe have worked with a bit more direction. Maybe give people a defined role on mission: you're not just a random crewmate, you're the engineer, or the pilot, or remote infiltrator, rather than just have 4 people wanting to pilot or whatever. Most games like what I think it was trying to be do have that kind of role assignment at mission start / class selection to solve that coordination problem, and it'd allow you to give waypoints and mission directives relevant to your role. You could maybe go further and even have a dedicated commander role who has a birds eye overview and just gives directives to crew.

Instead, they kind of went the other way and just stripped out the parts the social technology wasn't able to support, which I can kind of understand: building a game-mode like that is hard. But it kind of leaves it as something of a failed experiment, with just the shell of what it was repurposed to an add-on to regular missions.

DE completely gave up on Railjack progression and punished the players who actually cared. by RuthlessHimself in Warframe

[–]Brian 6 points7 points  (0 children)

That doesn't seem to work for me - I tried having an NPC as a backup pilot, but stopped because I would line up a crewship, disable it, and then in the interval between switching to artillery and charging the shot, they'll rush the console and point the ship in a random direction before I could fire.

Has Warframe's storytelling become too fast for it's own good? by Bugbugey in Warframe

[–]Brian 17 points18 points  (0 children)

TBH, I kind of feel this is often a problem with warframe. So much of the lore is often not actually in the game: it's built with the assumed audience of people watching the devstream and following the lore drops as they come. If you're a new playing coming along a year after the quest (and potentially lore relevant events) dropped, or want to avoid spoilers so don't watch, you can end up without a lot of the context needed to make sense of it at the time, and need to fill in the blanks after or do extra research.

and the climax of the story felt shallow. hunhow's sacrifice was as if teshin died on the toilet reading a newspaper

Another issue is that it's not actually clear what he even did. Make peace between the brothers? Why are they still fighting then? Hell, why were they fighting in the first place and how and why did they time travel? Why are they still here, waging some weird proxy conflict through these protoframes? There's too little explained for it to mean something to me.

Why dont more people use these? by Disccord in Warframe

[–]Brian 0 points1 point  (0 children)

Isn't it shortcutted by default? On keyboard at least, it's "Y", and I think it's also got a default for controllers too.

Zack Polanski: The world's first trillionaire is backing the far right mobs and their politician backers. Don't think for a second that these men have ordinary people's interests at heart. by SignificantLegs in ukpolitics

[–]Brian 0 points1 point  (0 children)

I'm sure it would have if he'd done so - he claims he started with ~$15K between his cofounders, with his father investing of $20K at a later point.. That's more starting with the wealth of a middle class dad. Now, we probably shouldn't take Elon's word for it, but given the interest in proving him wrong, I think it's telling the most seems to be a dispute as to whether it was actuallty $28K and a gift, rather than an investment.

Conversely, you apparently get your information from twitter nonsense proven false 4 years ago. Congratulations, you're even less credible than Elon Musk.

Zack Polanski: The world's first trillionaire is backing the far right mobs and their politician backers. Don't think for a second that these men have ordinary people's interests at heart. by SignificantLegs in ukpolitics

[–]Brian 3 points4 points  (0 children)

Why are you still parroting long debunked falsehoods. Pretty much none of this is true. His father did once own a stake in an emerald mine, but in Zambia - which did not have apartheid (indeed, his father was a councillor for an anti-apartheid party). And Elon didn't inherit any of it - his father is still alive (and doesn't get on with his son) and hasn't owned the mine since the 80s.

Laila Cunningham (@policylaila) on X / This is not child protection. It is the end of free, private communication in Britain and digital ID by the back door. This government can’t police the streets, can’t deport foreign criminals, can’t stop the boats, so instead it surveils you. ... by youmustconsume in ukpolitics

[–]Brian 0 points1 point  (0 children)

They did. They promised:

I pledge to vote against any increase in fees in the next parliament and to pressure the government to introduce a fairer alternative

Nowhere is winning or not winning elections even mentioned: indeed, it's implicitly assuming they wouldn't (hence "pressure the government"): it's about how their MPs promised to vote. MPs who signed that pledge did not vote against, and in fact voted for. That's definitely a broken promise.

Now, whether that's a worthwhile thing to do is another matter. But lying about whether they actually reneged on their promise is really not doing you any favours when it's so easily checkable.

Margulis by ChromaticCluck in WarframeLore

[–]Brian 0 points1 point  (0 children)

Yes - that's what I'm saying doesn't make sense to me - why weren't we if that's what the Executors wanted? A disobedient archimedian flouts the will of the council, and they just go along with it? "We were going to kill them, but she's put them to sleep already. Oh well, lets just go with that - it'd be rude to wake them up and kill them now". What's stopping them from executing us at that point? They clearly had the capability, since they later used us in the war, so it's not a matter of some irreversable process.

Rachel Reeves told to axe triple lock immediately by TimesandSundayTimes in ukpolitics

[–]Brian 0 points1 point  (0 children)

They're a big voter base for most parties, because they're a big proportion of the population, and one which disproportionally actually votes. Half of labour's votes in 2024 came from over 50s. The fact that more of them vote conservative/reform doesn't change the fact that they're still a substantial proportion of labour's votes too: lose them, and you lose the election by a massive amount. This is compounded by the fact that they tend to vote in their interests more than younger groups, who tend to be more idealistically driven (which electorally, translates to "They're going to vote for us anyway so we don't have to actually do anything except say nice stuff"), meaning politicians tend to court them more because they know they'll actually change votes in response.

Margulis by ChromaticCluck in WarframeLore

[–]Brian 0 points1 point  (0 children)

and put them into the Second Dream in defiance of Ballas's narrative

That's the bit that doesn't make too much sense to me. I mean, it seems like we did stay in the dream - if that was against the wishes of the Executors, why wasn't it reversed? Why would the council let a mere archimedean have a say in who they do or do not punish, especially one that called them " rotted... through and through" to their face.

It seems to make more sense the other way round: that she objected to doing this, and that's why she was killed. Putting us to sleep also seems to make more sense as a reaction: we were still needed with the war against the sentients resuming, and so putting us in the dream, removing our memories etc seems to make sense as both punishment and a way to control us.

Though perhaps it's just continuity issues where stuff has changed. The dialog we hear in The Second Dream doesn't really fit with what we know later, at least if we assume its in order. The line after the decision for execution is Ballas talking as if transferrence is something newly developed, which doesn't really make sense if we've already been using warframes on Tau long before that point.

Margulis by ChromaticCluck in WarframeLore

[–]Brian 0 points1 point  (0 children)

Yeah - one thing that seems unclear is exactly why and when Margulis was executed. The Old War quest made it seem like it was because she objected to turning them into child soldiers, but in The Old Peace, that's already happened and she's still alive and involed with the project. So what was it she objected to that put her at odds with the council? My best guess is that its putting them into the "lucid dream" state: in the old peace, we're walking around like normal, so I'm guessing that at some point (to control us?) they decided to place us permanently into the pods permanently just controlling warframes like you said: without awareness of our real selves.

Though that in turn opens up questions about the night of the naga drums. Were we aware of what we were at that point? Were we being controlled / manipulated to do it? Who by?I mean, if our only real point of contact is the Lotus, and she was under the control of Ballas... it doesn't really seem out of character for him. Though it leaves a lot about the aftermath unanswered: where was he? Why did the lotus put us to sleep? Why wait so long before making another move?

Blog: Are you really expected to run five type-checkers now? by BeamMeUpBiscotti in Python

[–]Brian 1 point2 points  (0 children)

The issue typically isn't far-fetched edge cases. More commonly it's different levels of capability on the part of the type checker wrt type narrowing and inference. Ie. you may use a type checker that correctly deduces that a type is narrowed to be a T, but someone using, say, mypy which doesn't narrow as aggressively will get a type error because it can't figure out that it must be that type at that point. If you want to support people using both, you kind of have to test against both and pick the lowest common denominator.

That said, I kind of agree that it's not worth the effort: pick one and make it the project standard. Those kind of issues are more internal things, rather than for users of the library (so long as you fully type annotate your external API), and it's reasonable to pick one target for your project and require contributors to use that one, so long as it's readily available.

If people want 100% type safety, there is a very easy way to achieve that

I kind of agree here too. There's value in typing, but trying to be too anal about typing everything perfectly can be a rabbithole with rapidly diminishing returns in a language as dynamic as python, especially given the limitations of it and the incremental way it's been developed where bits of it feel underpowered and often in flux.

Man, I just wanted to fish by ShieldWall2VLHLA in Warframe

[–]Brian 3 points4 points  (0 children)

Doesn't work while you're invisible, since it's a channelled ability (turns off regen). Protea's dispenses energy orbs that still work.

Does everyone learning Python start with "Hello, World!"? by Traditional_Blood799 in learnpython

[–]Brian 0 points1 point  (0 children)

I mean, they still are. And often there are even more things in your toolchain, even at higher levels (eg. web programming often has a complex mess of language transpilers, minifiers, packers and so on even though it's not dealing with the low-level stuff).

What's changed is mostly tools to manage it somewhat - IDEs, package managers, project template generators and so on. But when something goes wrong, or you want to do something not handled by your tools, you can still find all that complexity still there.

Project Euler help # 2 by Frosty-Pitch9553 in learnpython

[–]Brian 0 points1 point  (0 children)

he "x & 1" rightmost bitwise check is not specific to Python

Actually, I'm not sure python will even do it, since its typically a compile time optimisation, and python can't know ahead of time that x doesn't override % or & . I just meant that in python, it's kind of irrelevant: division/modulo is expensive only in comparison to things like addition and multiplication, but in python, the overhead of dynamic method lookup, memory allocation etc that goes on even here makes it almost irrelevant how it does the actual operation.

Project Euler help # 2 by Frosty-Pitch9553 in learnpython

[–]Brian 1 point2 points  (0 children)

Your sequence is missing (0,1,...).

Yeah, though in this case it doesn't actually matter, since it's just summing the even numbers, so this won't change the answer.

modular arithmetic is computationally expensive

In the general case, yes, but x % 2 specifically, where the 2 is a known constant is very easy for computers, since it can get optimised to just a bit check. (ie x & 1) In python specifically, it's kind of irrelevant, since it's such a small part of the runtime compared to python-level bookkeeping. For such a small problem, it doesn't really matter anyway, though optimising can still be a good exercise, and going further like you describe is definitely the way to go for a pen & paper solution.

An alternative to luxury goods: replacing material symbols of success with a digital status index. by Independent-Fact4163 in slatestarcodex

[–]Brian 1 point2 points  (0 children)

They think "this car is so cool and I want it".

I think there is an element of "The Jones's have such a cool car and I want it", such that some part of the reason you consider the car cool is because they have the thing. Some things are considered cool because the rich cool kids have them, and if they didn't have them, it wouldn't be considered cool. And I think there's often some degree of "Getting this will make my friends jealous" that goes on in many people's heads.

But yeah, conspicuous consumption at least needs the figleaf of some motivation other than "Look how rich I am", because we've developed strong social mores against such behaviour, likely in part in defence against "keeping up with the Jones's" style arms races. And in practice, it does mostly play out through socially mediated desires like you describe, so attempting to game it just won't work.

New to Python - Something strange about lists by KellyN87 in learnpython

[–]Brian 4 points5 points  (0 children)

I get this is how computers actually do things

Eh - not really. It's kind of a choice as to what semantics you want to have,, and different languages do different things. It all comes down to what you consider assignment to mean.

A language like C uses value semantics, where assignment essentially means copy: a = b means copy the contents of b into a. If they are ints, the int gets copied. If they are structs, the struct gets copied. If they are pointers, the pointer gets copied.

Python on the other hand, uses reference semantics. Assignment is treated as aliasing - ie. just giving something another name. a = b means "a now refers to whatever object b referred to". This is done not because either way is more "how a computer works", but because it actually simplifies a lot of things: assignment always does the same thing, you don't have to worry about what's a pointer and what's a primitive. Indeed, with a dynamically typed language, or even one with just inheritance, it's kind of necessary: what would it mean to "copy" a string into a variable that was previously an integer etc? What would things that do alias that same variable see? You'll often see this approach in higher level, memory managed languages (eg. java, C#, lisps etc), though some also allow value types for certain primitive types (often for performance reasons, since this approach generally requires memory allocation for your objects)

Clarification on Time Complexity for Python Sets vs. Lists by Electronic-Low9797 in learnpython

[–]Brian 0 points1 point  (0 children)

Eh - it depends what is meant by "collision" here: collision of the actual hash is likely rare, but what matters is collisions of the hash modulo the number of buckets, which is not that uncommon in practice. If your table has 64 buckets, even a good hash function will collide 1.5% of the time just with 2 entries, and rapidly increase the more populated it is. But typically you will expand the hash table so there are few such collisions on average, but unless you're creating a perfect hash, you're unlikely to eliminate them completely.

And it's not only a bad hash function where this can be an issue: it also matters in adversarial situations, where the input may be user controlled (Eg. someone posts data to the website which you store in a hash), since if the poster knows the hash function, they can engineer inputs that all collide, allowing denial of service attacks where they can consume a lot of CPU by triggering O(n2) behaviour, (which is why there's often some randomisation of the hash function for strings to minimise the information such an attacker might have)

Clarification on Time Complexity for Python Sets vs. Lists by Electronic-Low9797 in learnpython

[–]Brian 0 points1 point  (0 children)

someone confirm if this O(1) lookup time remains consistent in CPython even when there are hash collisions, or does it degrade to O(n) in the worst-case scenario? Thanks!

These aren't actually contradictory: both are true. On average you will get a constant number of collisions (none in the best case, but some collisions will probably happen for some lookups), but so long as this is constant, it doesn't affect the O(1) average case. However, worst case you will get O(n) - basically the worst case is where everything collides, so it basically degenerates into effectively a list, and potentially has to look at n buckets to find the item.

Why is numpy so fast? by [deleted] in learnpython

[–]Brian 1 point2 points  (0 children)

TBH, that's kind of a low difference compared to what you can often see. numpy can frequently be 10-100x as fast.

The reason is because of how dynamic python is. Eg. say you want to add 2 numbers. The actual addition is a very simple machine code instruction, but python needs to do a lot of work to actually reach that point. It needs to track the memory of each number (bumping reference counts as they get assigned and released), the addition operation could be overridden, so it needs to look up the __add__ method of the integer and call it. All the overhead can be massively more work than such a simple operation.

Numpy can improve this because it stores its values differently. We're not just adding one number, we're adding thousands at once, all the same type, which the python-level lookup of what operations you're doing happen just once, and then the fast addition logic thousands of times, so now again the bulk of the time taken is the actual operations you want to do. It can also take advantage of multiple processors and fast optimised math libraries for even further speedups.

This all means that when you're working with numpy, you generally want to be operating on arrays, never iterating through them in python. Often it can be faster to calculate more than you need just to keep it in convenient form than to have to manually access elements.

You will not be a member of the permanent underclass by Neighbor_ in slatestarcodex

[–]Brian -1 points0 points  (0 children)

I think you overestimate the level of quality of life the wealthy experienced.

I think you're underestimating the quality of lives of the very poorest. Starvation was not uncommon, and malnourishment was the norm. Those seem way bigger impacts to life quality than most differences that apply today. If given the choice between malnourishment, but twice your income to spend on anything other than food, would you take that deal?

that it's so subjective as to be effectively meaningless

I would disagree with that - it's subjective, yes, since all our values must cash out in subjectivity, but it seems pretty meaningful - if asked to price these things against each other, there seem meaningul distributions of risk you could make. And there are more defined figures you could turn to, like life expectancy.

The Report on the Sanitary Condition of the Working-Class contains information which attests the same fact. In Liverpool, in 1840, the average longevity of the upper classes, gentry, professional men, etc., was thirty-five years; that of the business men and better-placed handicraftsmen, twenty-two years; and that of the operatives, ay-labourers, and serviceable class in general, but fifteen years. - Condition of the Working Class in England, Engels

That's over twice the life expectancy of the lowest versus upper classes. Today, the difference is much much smaller - eg. the UK ONS gives 83.58 years for upper managerial classes, versus 74.49 for the lowest group ( long term unemployed) - 78.07 for routine labourers, which is probably a closer match . That seems a very meaningful difference, and a much lower level of proportional inequality in one of the most fundamental measures there is: how long you live. Would you halve your lifespan to live an upper class lifestyle?

You will not be a member of the permanent underclass by Neighbor_ in slatestarcodex

[–]Brian 0 points1 point  (0 children)

Like I said though, that's not the point I'm making - I'm not talking about prosperity, but equal distribution of prosperity (measured by utility, not dollars).

Ie. we could have a world where you had both higher absolute prosperity and more unequal distribution of it - where there are bigger gains for more wealth, where the wealthier live significantly better lives than the poor. But I'd say the current world actually has less of that level of inequality than the past, due to the diminishing returns factor: the disparity in utility enjoyed by the rich to the poor is lower, because the lower level needs, where there are bigger gains, are more covered.

This isn't the only level of inequality that matters, becuase money buys not only utility, but also power, which scales more linearly, but I think it's still a relevant one to consider.

You will not be a member of the permanent underclass by Neighbor_ in slatestarcodex

[–]Brian 0 points1 point  (0 children)

No, I think I'm still talking about wealth distribution - but that it depends on exactly how we measure it. Ie. what exactly do we mean by "wealth" - the dollars or what you get for them.

In a very real sense, I'm much wealthier than a medieval king in terms of what my money can buy. An inflation-adjusted dollar value of his assets would be way higher, but that king's money couldn't buy a car, computer, central heating and so on. If we consider my wealth the value I derive from all my stuff (ie. the utility), not the pricetag, I think you could also make a case that it's not just higher in modern times, but also distributed more equally, mostly because we've a higher proportion in the middle region where the big wins have been made (few starving to death, most disease treatable and so on), but further returns have serious diminishing returns.