@gattsuru's banner p

gattsuru


				

				

				
10 followers   follows 0 users  
joined 2022 September 04 19:16:04 UTC
Verified Email

				

User ID: 94

gattsuru


				
				
				

				
10 followers   follows 0 users   joined 2022 September 04 19:16:04 UTC

					

No bio...


					

User ID: 94

Verified Email

There is something distinctly humorous about the CUNY machete lady being at the Columbia protest, at least, but a lot of what we do see is a mix of local students and professional activists.

You would have to argue that regarding the obvious and clear special concerns of a student-led protest movement

Are you going to spell them out, or just make vague motions about the horror or someone taking video of a public protest, or of someone in a stupid hat smirking at them?

Well, Meinecke did not engage with any counter-protesters and had his own location where he was protesting.

You want to try that, again?

Protestors surrounded Meinecke after about an hour. One protestor seized Meinecke’s Bible. Meinecke retrieved another Bible from his bag and continued reading aloud. Another protestor grabbed hold of—and ripped pages from—the new Bible. The altercation soon escalated. As protestors, some of whom Seattle police characterized in their written reports as Antifa, encroached, Meinecke took hold of an orange-and-white traffic sawhorse. Five protestors, some clad in all black and wearing body armor, picked up Meinecke and the sawhorse, moved him across the street, and dropped him on the pavement. One law enforcement officer who observed this interaction reported that “‘Antifa’ members . . . began to fight/assault” Meinecke.

Undeterred, Meinecke walked back to his original location by the federal building and resumed reading and held up a sign. While people gathered on the street, however, some approached Meinecke, knocked him down, and took one of his shoes.

Ten years ago a brand-new processor would have been the Haswell- or Broadwell-era, and while you could get machines that could hold 32GB RAM, the H81 chipset only supported up to 16GB, going to 32GB would not have been standard, and it'd probably cost you upwards of 250 USD in RAM alone.

But more centrally, VSCode's linter and intellisense implementation is perfectly fine for mid-sized projects without a boatload of dependencies in certain languages. Get outside of those bounds, and its RAM usage can skyrocket. Python tends to get it hard (as does Java, tbf) because of popular libraries with massive and somewhat circular dependency graphs, but I've seen large C++ projects go absolutely tango uniform, with upwards of 10GB.

Yes, it is usually an extension problem, but given that you'll end up needing to install a few extensions for almost every language you work with just to get them compiling (nevermind debugging!), and that it's often even Microsoft-provided extensions (both vscode-cpptools and vscode-python have bitten me, personally) , that doesn't actually help a lot. Yes, you can solve it by finding the extension and disabling it, and sometimes there's even alternative extensions for the same task that do work.

The normal case isn't much worse, and sometimes is better, than alternatives like IntelliJ/PyCharm. But the worst cases are atrocious, and they're not just things hitting some rando on a github issue with some weird outlier use case.

There's been a number of other things going on in this space, either from financial drivers or more straightforward legal ones. You've already gotten a post on gumroad, but itch.io has been doing a slow-march version where they don't block adult content sales as a category, just individual pieces of adult content, which has kept going apace.

I've not found good proof that there's something Operation Chokepoint-like going on, but with the timing and the variety in impacted content, it's increasingly hard to believe that this is all occurring randomly.

On the direct legal attacks, in the furry sphere, some places have complied with local bans (eg, e621 blocks North Carolina, while others have largely ignored them and hoped they don't get made examples. There's good reason that they're rather paranoid about having to keep name-identifying records, since people have blown zero-days on FurAffinity.

Now that it’s free and plentiful online, only the most committed coomers do.

That's nice and all, but there's quite a lot of us, and certainly more than enough to keep a number of content providers afloat. (Sometimes in surprising ways: the original writer of the Burned Furs manifesto has made a small part-time career in monsterfucker porn.) Fek is at 9k USD a month still, and while I actually appreciate the mechanical stuff he did with Spellbound (cw: technically has one girl, but gaaaaaaay) enough that I kinda want to see it cloned in a not-porn game, given the repeated hiatuses after burnout if anyone was going to get reasonably-motivated chargebacks, he'd be the first hit.

Visa and MasterCard see pornography as high risk because they get a lot of chargebacks, so they charge adult services producers a much higher rate for payment processing.

I think this would be plausible for a wide-spectrum ban on porn, if still uncertain since these companies have little trouble working with businesses that have increased chargeback risks otherwise and just slamming on fees.

I don't think it's remotely plausible for the common levels of specificity involved, here. There may well be higher (or lower) rates of chargeback for incest porn, or hypnosis or forced TF kink, or dragon dongs with too much red dye, but I'm incredibly skeptical that a) card companies have the data to actually know that, b) that these rates are so much higher that they can't be resolved by fees, and c) that there's no more immediate and less-financially-direct motivation.

This is already the norm for legally-sanctioned protests, though, right? As I mentioned in other replies, it is common for police to prevent counter protestors from intruding on the space of protestors and vice versa.

That's actually a fun question! The rules for how police can separate protestors and counterprotestors are complex. And this clearly flops many important prongs of that test.

The video looks like it is taken at a courtyard, one of a dozen around the University. They aren’t holding captive the main amphitheater at Columbia or something, where yeah there would be a concern regarding the reasonable use of university amenities.

This thread is south of this video, which was from Yale, about access to a building. And I buy people being blocked from just a few public fora about as much as I buy someone being a 'little bit pregnant'.

Ironically, you could even argue that the courtyard is seeing greater facility during this protest, given the population density from the looks of it.

It was great, for the one side able to use it, isn't the most compelling argument for neutral access to public fora.

That’s a moderate argument in favor of unsanctioned protest, if somewhat marred by one of its (first!) prongs turning into whether people like the protest goals or not.

But I don’t need an argument in favor of unsanctioned protest: my metrics there are far simpler. My problem here is not the presence of a protest, but your advocacy of a norm where whatever protest group that takes a public forum first gets to exclude people who disagree with their message.

There might be some edge cases where that’s an unfortunate compromise we have to take, but under vague concerns about ‘confrontation’ are little more than carte blanche

I'd caution that :

  1. Python's support for the singleton pattern is kinda jank, due to lack of first-class support for private constructors or access modifiers.
  2. While there's a lot of arguments in favor of the singleton pattern with an interaction controller for bigcorp work, in small businesses it can be a temptation with serious tradeoffs. Refactoring (whether to add an intermediate object between World and Agent, or if you end up needing multiple World objects such as for a fictional context) can be nightmarish in Python, even if all the interaction logic is properly contained. And it probably won't be properly contained: marketing and customers can end up demanding bizarre requirements on near-zero notice that can require information from multiple different singletons, and if you end up hiring (or taking interns!) as a small business rather than at the FAANG level, those people (and I was one of them once!) will often break around the interaction controller unless aggressively managed.

Students for Justice in Palestine and Jewish Voice for Peace, along with a couple other umbrella groups, have jointly claimed credit for both the Columbia-specific protest and the follow-on encampments at a number of other schools. There's a fair criticism that there's at least a few rando Garbage People in the hradzka sense running around, or even agent provacateurs, but this isn't some Stand Alone Complex where the simulacrum had no real original version.

((The less charitable take on 'umbrella group' is that they're both just front groups for the actual coordinating organizations, but by definition I can only point to the subchapters and related organizations giving extremely similar messaging on short notice, or other more subtle signs that they've got intercampus communication going on that doesn't match the paper or training from the public faces.))

That seems a near-universal recipe to surrender any and every public to whatever jackass is willing to occupy it first, and then insist that they feel unsafe because The Wrong Person walked close to them or took pictures of their public protest. Dissolving 'starting a confrontation' at all makes the fundamental flaws of this framework, if anything, more apparent.

There's nothing like the partial class concept from C#, though I agree it would be really nice if there were.

You can kinda fake it by exploiting the heck of out inheritance, in a couple different ways, depending on what level of composition you're aiming to be able to do. If you want selective import of behaviors (and to avoid the diamond inheritance problem, mostly), you can do something like :

agentInfectionLogic,py:

wasInfected = False
countedInfections = 0

def incrementInfection(self):
    self.world.totalInfections += 1
    if self.wasInfected:
        self.world.redundantInfections += 1
    self.wasInfected = True
    self.countedInfections += 1

def infectedCount(self):
    return self.countedInfections

agentFileLogic,py:

def loadInfectionInfo(self):
    temploadInfections = 20
    for x in range(temploadInfections):
        self.incrementInfection()
    # do an actual file load here.

def saveInfectionInfo(self):
    tempfile = self.infectedCount
    # save an actual file here.

agent,py:

class Agent:
    from agentInfectionLogic import infectedCount, incrementInfection, countedInfections, wasInfected
    from agentFileLogic import saveInfectionInfo, loadInfectionInfo

    def __init__(self, ownerWorld):
        self.world = ownerWorld

And then calls like world.knownAgents[0].loadInfectionInfo() or world.infectRandomAgent() would work as normal, and you can even swap between different experimental forms by having from agentInfectionLogic import infectedCount, incrementInfection, countedInfections, wasInfected or from testAgentInfectionLogic import infectedCount, incrementInfection, countedInfections, wasInfected (or even a mix-and-match between the two).

Agent.py has to know about what's going on, but to everywhere else, anything imported into agent.py looks identical to as if it were coded into that file or class. Eventually this turns into a full module, where the __init__.py file holds the glue and then you have better names for your actual logic .pys, but when that makes sense depends a lot on the scale of your project.

I'm... not very good with Python, but my understanding, a toy example would be :

main,py:

import agent
import world

agentCount = 20
infectionCount = 25
world = world.World()
print("Starting...")
for i in range(agentCount):
    world.addAgent(agent.Agent(world))

for i in range(infectionCount):
    world.infectRandomAgent()

print("Total Infections :" + str(world.totalInfections))
print("Total Redundant Infections :" + str(world.redundantInfections))
for i in range(agentCount):
    print("Agent #" + str(i) + " Infections:" + str(world.knownAgents[i].countedInfections))

world,py:

import random

class World:
    knownAgents = list()
    totalInfections = 0
    redundantInfections = 0

    def addAgent(self, newAgent):
        self.knownAgents.append(newAgent)

    def infectRandomAgent(self):
        random.choice(self.knownAgents).incrementInfection()

agent,py:

class Agent:
    wasInfected = False
    countedInfections = 0

    def __init__(self, ownerWorld):
        self.world = ownerWorld

    def incrementInfection(self):
        self.world.totalInfections += 1
        if self.wasInfected:
            self.world.redundantInfections += 1
        self.wasInfected = True;
        self.countedInfections += 1

Note that if you're using raw python3.exe or a basic IDE like IDLE, all three files will need to be in the same folder, or you have to treat them like modules. Better IDEs like PyCharm will handle most of this for you, though I'd recommend experimenting before futzing with it a lot.

__init__ is a python builtin capability that's pretty equivalent to Java Constructors. The first argument for any class function will act as a reference to the instance of that class being called for that function, regardless of name -- do be careful getting a convention for that early and often, or it'll drive you up the walls. self is popular in pythonic circles, but I've seen a surprisingly large project that took the convention of this<className>, probably downstream of java or C# devs.

Only your main simulation file really should need to import the files that make up the actual objects. The class objects themselves don't need to know about each other, even if they're calling methods or fields specific to the other class, because that gets looked up during live runtime operations.

(edit: specifically, the class calling the constructor for an instance of an object needs to import that object. You could have, and it would probably be cleaner, to import Agent within world.py and not from within main.py, and do the agent constructor in the form :

    def addAgent(self):
        self.knownAgents.append(agent.Agent(self))

But I've been burned before in python environments where I ended up with my class imports spread throughout for hundred places and it being a nightmare to refactor or rename or handle versioning, so my preference for non-giant projects is to centralize imports, and for giant python projects you probably should be breaking it into modules.

Yeah, seconding both prongs, here: a) IDEs are important and b) Python IDEs near-universally suck. If you're in the Java sphere before, PyCharm is kinda the Intellij-for-Python, for better and worse, and there's a large faction that loves VSCode for eating all of their RAM handling multi-language projects reasonably, but for the love of god don't try to build class-ful python in IDLE.

((I'll generally advocate PyCharm for new programmers, as annoying some of the Intellijisms can be, but if you're more acclimatized to and have already set up Eclipse it's definitely not worth swapping.))

Are we gonna get body-cam footage and be able to come to an independent judgment on the conduct of the government in the course of the raid?

No.

The Department of Justice confirmed to me and @JohnBoozman last night that the ATF agents involved in the execution of a search warrant of the home of Bryan Malinowski weren’t wearing body cameras. We will continue to press the Department to explain how this violation of its own policy could’ve happened and to disclose the full circumstances of this tragedy. Mr. Malinowski’s family and the public have a right to a full accounting of the facts.

Maybe. There's a lot of people who came away from Loper v. Raimondo thinking that SCOTUS was pretty willing to toss the Chevron under the bus, but then Cargil had a place where the regulatory agency claims to have read the law wrong for twenty-plus years, disclaims Chevron, and most tea-leaf-readers are thinking it'll come out okay. It's just too useful to leave the actual law to the regulatory agencies.

But maybe I'll be pleasantly surprised.

I can't find any records involving either person in the Pennsylvania court system, though given how crappy most court records are, that doesn't mean much.

The underlying complaint is here, and seems to be resting heavily on past adjudications by the State Board in 2010 (for Herr) and 2018 (for Wentworth). Like most state licensing laws, the definition of veterinary practice in Pennsylvania is very broad :

"Practice of veterinary medicine" includes, but is not limited to, the practice by any person who (i) diagnoses, treats, corrects, changes, relieves or prevents animal disease, deformity, injury or other physical, mental or dental conditions by any method or mode, including the prescription or administration of any drug, medicine, biologic, apparatus, application, anesthetic or other therapeutic or diagnostic substance or technique, (ii) performs a surgical operation, including cosmetic surgery, upon any animal, (iii) performs any manual procedure upon an animal for the diagnosis or treatment of sterility or infertility of animals, (iv) represents himself as engaged in the practice of veterinary medicine, (v) offers, undertakes, or holds himself out as being able to diagnose, treat, operate, vaccinate, or prescribe for any animal disease, pain, injury, deformity, or physical condition...

It's not obvious that ultrasounds (or possibly(?) selling bull semen?) are covered, and there's not a ton of great pragmatic arguments for it, but the courts have given near-complete carte blanche to regulatory agencies to anything even remotely near the borders. And for a wide variety of reasons this sorta thing is near-impossible to practically challenge even were courts willing to push back on it.

Given some of the coverage, though ("both men were advised by their former attorneys not to pay the fines or appear in court"), I'm not sure what happened was completely without any court behavior -- this may be referring to the 'court' of the board licensing group, which is more court in the kangaroo sense, but it also could be about enforcement summons for a conventional court. An actually fake arrest warrant wouldn't be unprecedented, but it's left me noticing I'm confused.

That said:

Rusty Herr was arrested the very next morning, April 11, at 6:30 a.m. at his home in Christiana.

godsdammit.

it took urban liberal Jewish/* lawyers to deploy it in practice?

I think urban liberal would have stood stronger on its own.

I didn't claim Vaxry is blameless or looks good, or even that his faults were merely insufficient empathy. From my first post:

And to be fair, there's some pretty embarrassingly childish behavior, there: a couple years ago Vaxry joked with wanting to get AIDs as a the same as identifying as gay, and separately a moderator screwed around with a user's public profile (then at the time, the only way to put pronouns up) for yucks.

But there's a bit of a problem.

There's a paradox of tolerance issue here, banning is not the only way to exclude bright people from your community. You can also do it just by being an asshole to them. Some people are brilliant assets that turn dumb if you start overtly politically attacking them. Some people need to be able to express the "nasty" things they believe to be true to think properly. This is a fundamental competing access needs issue that you can't just gloss over by never banning anyone.

As a nitpick, Popper's Paradox of Tolerance wasn't using 'tolerance' to mean 'things that progressives like today', but the simple possibility of open debate and discussion.

But more critically, few if any people who try to bring this more expansive non-Popperian version forward do so in any even-handed way. Vaxry's Discord isn't part of freedesktop.org. Vaxry is not accused of behaving poorly in FreeDesktop.org spaces, and I've not been able to find any evidence of such, whether because he's autistic enough to follow their rules in their spaces, or just from lack of opportunity.

You may say that there's a competing access need, but the modern-day variant turns into an insistence that the competition is over. If Vaxry and his cohort can't "express the 'nasty' things they believe to be true to think properly" in a Discord and github issue specific to their project, they can't be 'acerbic' anywhere -- and that's very clearly the target that the FreeDesktop.org held. In that view, the choice is between 'banning' people in the sense that they feel excluded and turned around because of things they found by digging at depth into it, and just directly actually-banning people. The first group will always be able to expand their ranks and justify greater interdiction.

And, to be blunt, the direct-bans get no small amount of people knowing that they'll be excluded by assholes, anyway. It's just that the banhammer-wielders are sort of asshole that the people in charge like.

Most projects don't really have enough people for complex structures. I keep pointing to MinecraftForge, and while the commit log is even less good of a record than normal because some parts were ported from other version control, it gives a good idea of how much Zif's Law applies even for these structures. To the extent they end up with multiple maintainers at all, it's much more often to solve the 'hit by a truck' problem than any serious planning.

There's been a few efforts to come up with more robust structures, but I'm skeptical that they're trying to solve the right problem, nevermind actually having a solution. Given that the FOSS ones I can name are QuiltMC and Rust, this is... not the most encouraging endorsement (and Quilt specifically had a big snafu over their original keyholder).

Linus Torvald has lieutenants, and in practice who you draw matters a lot, but in theory and at the edge case he's got veto power over everything and anything that catches his attention. Python has a five-person lead council since van Rossum retired in 2018, but the only way to cycle the leadership is to wait. Occasionally you'll see corp-adjacent groups try to have reviewers selected from other parts of the same project or even from a set who just do reviews, but then the people reviewing the PRs aren't really tied to the code it's changing.

The bigger problem's that the overwhelming majority of FOSS contributors don't stay in any place for that long, especially when it's not their own project, and those that do tend to be a little obsessed.

For the most part. I'm not sure whether Vaxry overestimated his 'power' -- from the e-mail chain, he pretty clearly saw the RedHat dev's starting e-mail as absolutely showing the FreeDesktop team was ready and willing to ban his ass, knew they could and would, and he seemed more concerned that FreeDesktop was going to try to take over as much of the Hypr space as possible. And while he worked on FreeDesktop's git, it wasn't his community, or really even a community given how much of a kludge any communication around the FreeDesktop-specific areas tended to be.

FreeDesktop could always fork Hypr, and Vaxry could (and since, has) forked wlroots, and FreeDesktop was already using a lot of his tools; that's what FOSS means, to a large extent.

The problem's more that this fractures an (admittedly small) portion of the FOSS community: even if we don't get the whole 'bad person touched this thing' reaction, there's definitely people on the "start looking at how they want to see their world curated" chain. A lot of things like 'many eyes make all bugs shallow' or 'working with the best ideas on the planet' start falling apart once you start banning people from your Issues and PR pages.

Is Free Desktop important?

FreeDesktop is the space (literally a GitLab instance, may heaven have mercy on their souls) where people build the tools that almost all Linux desktop environments run on, including X11 (the user interface drawing framework that underlies every conventional desktop from GNOME to KDE to Cinnamon to ChromeOS) and Wayland (which is what Linux is starting to move toward as a replacement). So it's about as relevant as Linux On The Desktop is, for better or worse.

What's hyprland?

Hyprland is technically 'just' the window compositor (lies-to-children version: stitches applications together into a function desktop 'screen'), but it's more generally used as a name for the desktop environment produced by mixing it and other pieces together, like GNOME or KDE would be. This is a quick video showing just how it looks, and this some of the different behaviors. Essentially, it's designed for rapid but space-optimized window control, whether by mouse or keyboard, and management of many virtual desktops easily.

Hyprdots is a more fully-featured mix of it and those other pieces.

It doesn't have a huge userbase, even by not-Chromebook Linux standards, but it's easily the most popular Wayland-specific desktop environment. The Discord has a 10k members, for what little that's worth, and most users probably only bother with the discord if something breaks and they can't fix it.

Is Vaxry important?

Vaxry is the founder and lead developer for hypr, along with having done some work for wl-roots, which is a library many projects use to simplify common Wayland requirements. He's not the only person working on hyprland, but the commit comparison looks like this, and the other hypr stuff is even more lopsided.

This ban won't prevent him from writing further hyprland work, but it will block him from writing any pull requests or even issues for Wayland or wl-roots, and the broader response will make hypr-like conventions or projects harder to adopt, even when correct.

A Linux Cancellation

Vaxry, the creator and maintainer of hyprland, has been banned from FreeDesktop.Org and its member projects.

Background and Dramatis Personae

The Linux pipeline to an actual desktop is complicated and made of a bunch of moving parts, buried under the actual GUI itself, following the dual Linux philosophies of having everything do one task well(ish), and filling technical discussion with as many three-letter acronyms as possible. A historically important one is the X Window System, also known as X11 or xorg, but is both long in the tooth, covers an unusually wide area of ground for a Linux component, and is incredibly janky. While incredibly important for normal desktop users, the system has a long and bizarre history, with long periods of strife or minimal development: the current FreeDesktop space is technically just an independent github competitor for Linux desktop-specific development, but in practice there's a lot of RedHat Linux people in high places, in no small part because RHEL is the biggest way to be a linux dev and actually make money from it.

In recent years, many X11 developers have moved over to create a new version that better separates responsibility between the display protocol and everything else, along with covering a number of places that X11 just made bad mistakes in 1990 has been stuck with since, and this has turned into Wayland (and some related libraries like wl-roots), developed on the FreeDesktop.org gitlab. It's not quite ready for prime-time, especially for tasks like gaming with a nVidia card, but it's getting pretty close, and there are already some capabilities (eg, multiple displays with different refresh rates) that are a single text-file mod away in Wayland and you'd have an inconsistent time with in X11.

While some existing desktop environments, such as KDE, have worked to directly port over from X11 to Wayland, many Linux devs have taken the opportunity to try Weird and New things, instead, either because the need to develop several components previously internal to X11 seems like the best opportunity for such novel task, or because they're Linux devs. One branch consists of tiling window managers: while not new to Linux (or even Windows, they've taken some increasing popularity in the Wayland environment. Two of the most popular current ones are Hyprland and Sway. Though I'll caveat that popular here means you can find people using it: there's reason it's hard to find packages for them outside, and even harder to find prebuilt distros with it enabled. (Manjaro has a Sway community iso, in case you want to make three bad decisions at once.) Both are independently developed from FreeDesktop, though dependent on the Freedesktop-built wl-roots library.

Hyprland was founded by the psuedoanon Vaxry. I've described it in other contexts as catgirl thighhigh, and even the official github glamour shots are very clearly within that ethos, with many of the community themes being even more so. You could force it to look Professional, but the defaults provide a bizarre combination of mouseless window management, varied and sometimes obnoxious keyboard combinations, a fully text-based and live-updated config system, strong support for transparency and multiple desktops virtual or otherwise, and highly performant and kinda goofy animations (and fucking default-on rounded window corners, wtf). You don't have to own a Blahaj to like the theme, but there's a cluster of personality types that it seems to appeal toward, and the other half of them involve the sorta person that can leave leekspin on repeat for five hours on a second monitor and find it keeps getting funnier every single time they see it. Sway is intended as a drop-in-replacement for the much-older (x11) i3, and [a little more professional/grognardy in its base form, for better (hypr considered a license switch in a PR without having consulted a lawyer first) and worse (manual tiling).

Like a lot of Linux desktop environments (begun, the why-is-gnome-pronounced-that-way wars have), they Don't Like Each Other. Hyprland gives Sway special thanks "For showing how 2 do stuff the overkill way", Sway's original author has written multiple blogposts over the last six months with names like "Hyprland is a toxic community". This mostly didn't matter for Freedesktop.Org, though, since it's the sorta linux space where things like an official irc server would be a little too newfangled and a little out-of-scope.

And They Kept Using Discord

Which means most of the drama happens in weakly-affiliated channels. Hyprland has a Discord server, and while its membership is a mix of Blahaj and leekspinners, its ethos is very much toward the latter. In addition to mainstay stuff like a server ruleset that might as well be summarized as "don't make me come over there", right under announcements channel is the #days-since-vaxry-was-an-idiot, and not far under that is the official list of all accepted fanart of hyprchan, the hyprland mascot. (I didn't say the leekspin side was never trans, anymore than the blahaj side solely trans.) But while the server and Vaxry were willing to tolerate and use what could charitably be called 4chan humor and more accurately be called rude and bad jokes, they do keep to the rule poc||gtfo.

In early March, a Red Hat employee operating under the auspices of FreeDesktop contacted Vaxry about things he, and moderators of his Discord, had done. And to be fair, there's some pretty embarrassingly childish behavior, there: a couple years ago Vaxry joked with wanting to get AIDs as a the same as identifying as gay, and separately a moderator screwed around with a user's public profile (then at the time, the only way to put pronouns up) for yucks. However, toward the end, that employee spelled out that that "... if more bad and more recent behavior ends up coming to our attention - it can be damaging to freedesktop's reputation as well, and we would have to consider steps to protect our community's reputation". Vaxry took this as a threat, and this escalated, first with the Red Hat employee highlighting that "The code of conduct team absolutely has the right to remove you from Freedesktop.org and ban you from the gitlab instance", and then when, when Vaxry said "further emails from the freedesktop.org's Code of Conduct team will now be ignored unless You, as a team, decide to change Your attitude wrt. the issue at hand", the freedesktop Code of Conduct team pulling that trigger, Vaxry put various comments on his blog, yada yada.

Bang-Bang! Maxwell's silver hammer came down upon his head.

Both Vaxry and the unnamed RedHat employee come across as prats in the e-mail chain. It's very easy to read that chain as RedHat wanting on paper an official "It won't happen again" commitment and show of contrition, especially as hypr has become a bigger part of the wayland world (there's no serious census, but hypr's userbase seems the biggest among novel Wayland compositors; hyprcursor is genuinely a major improvement over the fucked-up xcursor, and has no serious competitors). It's also very easy to see this e-mail exchange as somewhere between requiring hypr spaces to act fully under RedHat corporate norms, and more cynically hanging up a Sword of Damocles for later -- even assuming arguendo that Vaxry's behavior retroactively justified the threat in the first e-mail, it made it very clear it was a threat.

((And for various reasons it's a little concerning to have two desktop environment developers that aren't quite clear on how capitalization works.))

There's a certain irony in the stolid and more formal Sway being the Blue-Tribe-themed one, and the purple-and-pink-and-blue-everywhere unprofessional hypr-active world being the not-Blue-Tribe-themed one, but there's another sense where it's not a huge surprise.

Ostensibly, this shouldn't matter much. Yes, hyprland and wayland and wl-roots are still buggy messes. But to the extent hyprland might be more vulnerable now to Wayland or wl-roots bugs, if Vaxry can't supply PRs or even bug reports to wl-roots, it'll drive the fixes to hypr, to the broader Wayland ecosystems' detriment. There are other people using hypr that could still report it up (and Vaxry has already forked wl-roots). In practice, any dev taking hypr-like conventions, especially newer devs, can and should be a little cautious in freedesktop environments, and there's already been a slow siddle away from hypr among the influencer set. There's been calls in some package managers to pull the project after some early posts from DeVault, which to be fair have been mostly rejected; we'll see if that changes. Which still doesn't matter.

But there's a tendency among a Certain Set to talk about how cancel culture has peaked, or how it doesn't impact 'normal' people, or how it's just a fiction, and I think it's worth mentioning the examples that don't show up in google news or conventional culture war channels.

The DJI device feels a lot like an upscaled version of the Lego MindStorms kit. It's okay as an entry-level tool for everything, and that's what makes it appealing for new learners, but you can't really get in deep or into expertise for any component. If you're programming, you're either running Python or Scratch, and even with an adult instructor it's not a great environment for learning Python. You can take it apart and reassemble it, but you're really limited in what you can physically build with it; you can rearrange DJI-provided sensors, but it's hard to even use other PWM devices, nevermind something really weird like a random I2C or SPI sensor.

The mecanum drive is a major selling point, and five or ten years ago getting decent mecanum wheels was nightmarish enough FRC or FTC teams would 3d-print them (pro tip: don't), though now a small robot set can be found under 80 USD. They do definitely make path coding easier to get right, at least for open-space play.

You could definitely build something better for a similar or slightly higher price, so a lot depends on what you're trying to do and introduce: for a student new to robotics, it's one of the cooler-looking options to dip your toes; to a student with experience it's a bit of a (very pricey) toy that gets frustrating if you try to do anything deeper. Probably the strongest selling point comes about if you really want to focus on video/image processing, and you just want a platform to do it on.

I can't speak much for the competitions and camps. As far as I know, the youth sports never went out of east Asia, the university league is 'international' but requires all competitors to be attached to a college (and the pieces look vastly un-challenging for college students), and the camps are inaccessible. Which is a pity, because I like the idea of something between BattleBots-one-robot-leaves and FIRST-it's-about-working-together-for-a-high-score philosophies.

Oof. I guess I'll need to work on making my summary of the recent hyprland cancellation a bit more readable.

Thanks for saying so. I've been trying to highlight more esoteric stuff, but it necessarily involves dropping a pile of context at the start of a post, and it's hard to tell the right balancing point between succinct-but-incomplete and complete-but-infodumpy.