IHeartBadCode

joined 2 years ago
[–] IHeartBadCode@kbin.social 43 points 2 years ago (4 children)

Over on Nate's other blog entry he indicates this:

The fundamental X11 development model was to have a heavyweight window server–called Xorg–which would handle everything, and everyone would use it. Well, in theory there could be others, and at various points in time there were, but in practice writing a new one that isn’t a fork of an old one is nearly impossible

And I think this is something people tend to forget. X11 as a protocol is complex and writing an implementation of it is difficult to say the least. Because of this, we've all kind of relied on Xorg's implementation of it and things like KDE and GNOME piggyback on top of that. However, nothing (outside of the pure complexity) prevented KWin (just as an example) implementing it's own X server. KWin having it's own X server would give it specific things that would better handle the things KWin specifically needed.

Good parallel is how crazy insane the HTML5 spec has become and how now pretty much only Google can write a browser for that spec (with thankfully Firefox also keeping up) and everyone is just cloning that browser and putting their specific spin to it. But if a deep enough core change happens, that's likely to find its way into all of the spins. And that was some of the issue with X. Good example here, because of the specific way X works an "OK" button (as an example) is actually implemented by your toolkit as a child window. Menus those are windows too. In fact pretty much no toolkit uses primitives anymore. It's all windows with lots and lots of text attributes. And your toolkit Qt, Gtk, WINGs, EFL, etc handle all those attributes so that events like "clicking a mouse button" work like had you clicked a button and not a window that's drawn to look like a button.

That's all because these toolkits want to do things that X won't explicitly allow them to do. Now the various DEs can just write an X server that has their concept of what a button should do, how it should look, etc... And that would work except that, say you fire up GIMP that uses Gtk and Gtk has it's idea of how that widget should look and work and boom things break with the KDE X server. That's because of the way X11 is defined. There's this middle man that always sits there dictating how things work. Clients draw to you, not to the screen in X. And that's fundamentally how X and Wayland are different.

I think people think of Wayland in the same way of X11. That there's this Xorg that exists and we'll all be using it and configuring it. And that's not wholly true. In X we have the X server and in that department we had Xorg/XFree86 (and some other minor bit players). The analog for that in Wayland (roughly, because Wayland ≠ X) is the Compositor. Of which we have Mutter, Clayland, KWin, Weston, Enlightenment, and so on. Which that's more than just one that we're used to. That's because the Wayland protocol is simple enough for these multiple implementations.

The skinny is that a Compositor needs to at the very least provide these:

  • wl_display - This is the protocol itself.
  • wl_registry - A place to register objects that come into the compositor.
  • wl_surface - A place for things to draw.
  • wl_buffer - When those things draw there should be one of these for them to pack the data into.
  • wl_output - Where rubber hits the road pretty much, wl_surface should display wl_buffer onto this thing.
  • wl_keyboard/wl_touch/etc - The things that will interact with the other things.
  • wl_seat - The bringing together of the above into something a human being is interacting with.

And that's about it. The specifics of how to interface with hardware and what not is mostly left to the kernel. In fact, pretty much compositors are just doing everything in EGL, that is KWin's wl_buffer (just random example here) is a eglCreatePbufferSurface with other stuff specific to what KWin needs and that's it. I would assume Mutter is pretty much the same case here. This gets a ton of the formality stuff that X11 required out of the way and allows Compositors more direct access to the underlying hardware. Which was pretty much the case for all of the Window Managers since 2010ish. All of them basically Window Manage in OpenGL because OpenGL allowed them to skip a lot of X, but of course there is GLX (that one bit where X and OpenGL cross) but that's so much better than dealing with Xlib and everything it requires that would routinely require "creative" workarounds.

This is what's great about Wayland, it allows KWin to focus on what KWin needs, mutter to focus on what mutter needs, but provides enough generic interface that Qt applications will show up on mutter just fine. Wayland goes out of its way to get out of the way. BUT that means things we've enjoyed previously aren't there, like clipboards, screen recording, etc. Because X dictated those things and for Wayland, that's outside of scope.

[–] IHeartBadCode@kbin.social 89 points 2 years ago* (last edited 2 years ago) (31 children)

The bullet traveled through her left arm and into her chest, popping both of her lungs. She suffered internal bleeding and was unable to breathe

That's the nice way of saying she drowned in her own blood.

"These young kids — 14, 15 years old — routinely carry firearms and this is what happens when you got young delinquents that carry guns," Gualtieri said. "They get upset, they don't know how to handle stuff, and they end up shooting each other."

Just FYI, this is not limited to children. There's plenty of adults who have zero idea on how to handle stress without flashing a piece. I've seen about six different people use that as a method of indicating I'm getting over in your lane on my way into work pre-pandemic.

[–] IHeartBadCode@kbin.social 5 points 2 years ago

Yeah. Alright. At least from my perspective that seems pretty plausible.

decrease positive moods

Okay maybe not "plausible" but "seen" is the better word?

[–] IHeartBadCode@kbin.social 3 points 2 years ago (1 children)

Ah! Well you want this one then.

And something to remember, the prions we're talking about really only came about with the advent of mammals. And we know of only one or two more kinds of prions and that's about it. But it's likely that there are prions for all kinds of animals out there and that there is a increase and decrease of particular kinds of prions based on the prevalent animals of the time.

So the PrP family of prions may just be having a recent "in all of life on this planet context" swelling of numbers. And when mammals aren't around any longer, they'll see a precipitous decline. Maybe this is some underlying factor that drives some kind of quantum evolution (which is a very controversial idea that evolution has "spikes" that drive rapid evolution from time to time), very likely not but fun to think about at least to me.

[–] IHeartBadCode@kbin.social 33 points 2 years ago (2 children)

And before anyone just indicate "Oh but they're in the White House". Let's not forget Melania Trump's perspective on Christmas at the White House in 2020.

Who gives a fuck about Christmas stuff and decoration? But I have to do it!

Also something Trump pointed out in the speech.

Afghanistan Surrender

Buddy Trump, you ordered the troops out of there. I mean it was "so bold™" that FoxNews was liberally sucking what can only be scientifically classified as Trump's penis. Biden was just following up with the order that you gave. WTF _ LOL?!

[–] IHeartBadCode@kbin.social 10 points 2 years ago

Wildfires can reach temperatures of 800°C (1470°F)!

Good news: We destroyed the zombie prion. Bad news: Climate change is absolutely going to end us.

[–] IHeartBadCode@kbin.social 11 points 2 years ago (7 children)

Just to interject here. For those wondering the actual thing holding up the lander and liftoff lunar vehicle is a really sore spot. Because what’s stopping us isn’t some technical challenge.

SpaceX owned by Elon Musk and Blue Origin owned by Jeff Bezos are having a spat over who gets to build the HLS. And the objecting and complaining to courts that NASA isn’t being fair to (insert either of these players) has easily set back going back to the moon at least half a decade if not moreso.

So this pretty specific part of the whole moon landing has actually held up a lot surprisingly but mostly because we’ve got two very rich people having a very visible cat fight that’s slowing everything else related to moon travel down to a crawl.

[–] IHeartBadCode@kbin.social 18 points 2 years ago

Because it’s never the perpetrators that suffer. No child is born blind or brain damaged by rubella by a choice they made. They are born that way because of a choice that was made for them.

And those that perpetuate this unto children, when they suffer the consequences for their choices they fail to attribute it to their own misgivings. Instead they absolve their misgivings as the function of some deity who wishes to test their resolve. That this affliction is not of their own making but of some twisted logic test of faith.

No, this does not rid the world of those who would harm but it with absolute certainty harms those who were never given a choice otherwise.

[–] IHeartBadCode@kbin.social 26 points 2 years ago (12 children)

What's getting yanked is that older phones won't connect to Android Auto enabled vehicles if the phone is running Android Nougat. It must be Running Android Oreo or later.

For those not remembering, Nougat was released in 2016 and went out of support in 2019. By the most recent metric (Dec. 2022) about 4% of all Android devices currently run Nougat. So this will affect all fifteen of the people still running this OS.

Most devices that were originally sold with Nougat have an upgrade path to Oreo. The bigger problem is folks who purchased devices with Marshmallow (orig. 2015) or Lollipop (orig. 2014) who stopped receiving upgrades past Nougat. These are the devices that will most likely be impacted by this change.

Personally, I like to keep my devices for at least five years, so them deprecating 2016 and earlier is okay with me.

view more: ‹ prev next ›