The Unclear Impact

Kristóf Marussy ferdi |

I'm a PhD student working on the extra-functional requirements and formal verification of cyber-physical system architectures.
I also like free (as in liberty) software, privacy enhancing technologies, and cryptography.

re: uspol, utter madness

@malin @sotolf @Everbern I always thought that the ‘critical’ bit refers to ‘critical theory’, i.e., it’s a fairly specific and academic endeavor. It’s weird that people who rile against recognizing that racism can still exist in society chose to target a specific group of academics. Or is this the same thing as branding Frankfurt school / critical theory as ‘postmodern neomarxism’, whatever that may be (other than an oxymoron)? Alas, I’m also not well versed in uspol madness…

It’s a travesty that technical safety standards are not available freely for all.

I'd like to have a general view of how many people are really working on FLOSS projects and how do they make ends meet, where/what did they study

In order to talk about FLOSS in a less naive way, we'd need some more data

Way more data, actually

Re: tablets

@akira @jbauer Based on some experience with teaching maths at uni online with a very entry-level Wacom tablet:

  1. It’s very weird to draw while having to look at the screen, and probably leads to bad posture unless paying attention to good posture. I was hurting after having to mark a bunch of exams on screen (couple of hours of writing with a tablet).
  2. Make sure that the aspect ratio of the tablet matches the screen, or the drawing area is appropriately cropped by the driver. Otherwise it’ll screw with hand-eye coordination to have whatever you draw come out wider/taller than what the movement would produce on paper. This might be easy on X11, but I still haven’t figured out how to do this with sway and Wayland (it seems to ignore the callibration matrix, probably I’ll have to patch something).
  3. I thought buttons on tablets are useless (and I got one without any), but that means having to keep one hand on the keyboard for shortcuts => even worse posture. Maybe the driver could be hacked to emulate some buttons outside the (cropped due to aspect ratio) drawing area?

I guess most of these issues would just go away with a tablet monitor. But the expense… blobfoxangrylaugh

my Matrix homeserver is now running in crun instead of runc crossed_fingers_hmn

Arch Linux pushed a version of containers-common to [community] that broke running any containers, which means the containers with my IRC bouncer was broken, which means I couldn’t get any help over at IRC easily. blobfoxfacepalm

Re: hupol, lgtbq, bigotry

@aral It’s not only schools or kids’ TV. Even in the justification section of the law, it says it regulates all TV programs (regardless whether they are specifically targeted towards kids) to have an R rating added if they feature any representation of LGBTQ identities. The actual normative text contains an amendment to the family protection law that bans making any content available to children that depicts LGBTQ identities. The amendment inserts verbiage after a paragraph in the law that speaks about media providers, but doesn’t explicitly refer to the media in itself. Arguably, it could even be used to ban any public displays or demonstrations (like Pride) with the reasoning that some children might be in public spaces at the time.

The ban on representing LGBTQ identities in schools is implemented as a state registry of sex educators, so any sex ed in schools is a misdemeanor, unless specifically approved by the state. There are some concerns whether the state is going to approve any non-religious sex ed at all.

Here is the full text of the law: It’s in Hungarian, though, and for some reason, it didn’t load over VPN for me, so it might be restricted to Hungarian IPs. Here’s the family protection law it modifies, also in Hungarian:

By the way, the UK was an EU member since 1973 (and left in 2020), yet Section 28 was in effect from 1988 to 2003. #EuropeanValues indeed.

@clacke @hazel Not really, a monoid is a set with an operation that is associative and has an identity element, but for a monoid object (“monoid”) in an endofuctor category, there’s no set at all to operate on (not even in we talk about the endofuctors [Set, Set] of Set). That is to say the endofunctor category is not concrete (in general) – the objects aren’t just “sets with fancy structure” and the morphisms aren’t just “functions that preserve the fancy structure”. (Contrast with Top, the category of topological spaces, i.e., sets equipped with some open subsets, as objects and continuous functions, i.e., functions that obey conditions w.r.t. open subsets, as morphisms.) Instead, the objects of [C, C] are endofunctors of C, so a monad is a “monoid that operates on a specific endofunctor”, if you will.

category theory, long, spoilers

@hazel @clacke @hazel @clacke If you fix some categories C, D, you can talk about the functor category [C, D] of functors from C to D, where functors F: C \to D are the objects and, as you say, natural transformations are the morphisms.

If a category of endofunctors is just a functor category [C, C] from C to C. If F, G: C \to C are objects of [C, C], then so is their composition G \circ F. The composition \circ is associative, and the identity functor 1_C: C \to C is its identity element, so \circ is the monoidal operation on [C, C]. (This is why we have to use an endofunctor category, so the composition of the objects is defined.)

Then a monad is an object F of [C, C] along with two natural transformations \eta: 1_C \to F (“return”) and \mu: F \circ F \to F (“join”) subject to some extra rules.

In particular, a monoid over some set A in is a function +: A \times A \to A and an identity element e, but if you squint hard enough, you could have a function e: 1 \to A from the one-element set to A that gives you the identity element instead. The rules required to make this pair of functions a monoid, if you interpret them as morphisms in Set (where the Cartesian product \times is the monoidal operation) are precisely the same than those required from \eta, \mu to make them a monad in [C, C], so we call monads monoid objects in [C, C] (and we call monoids monoid objects in Set if we want to be extremely obtuse).

The “joke” in the deliberately impenetrable monad definition is that it’s very backwards: you don’t happen to run into monoidal categories of endofuctors and decide to give their monoid objects a fancy name. Instead, you define monoid and monads (“fundamental constructions” is you want to sound very important) because you find them useful, and then you might eventually notice that you can give a single definition for both of them.

(Wikipedia links, because nLab wants to take the joke even further, and defines everything in 2-categories.)


Since the news about the effective privatization of state universities and the Hungarian version of Section 28, my otherwise more conservative colleagues have started using words like ‘direct action’ in the context of what progressives should do, and that’s… based? blobfoxhyper2

@hazel in this context, the words are literally nonsense, in that it’s the most unhelpful and overly precise way anyone could try to describe monads. like, it’s trying to say “this shit’s associative, yo” while invoking as many categorical concepts as possible

(to me, category theory feels a bit like modern philosophy, trying to make up weird new terms for familiar concepts and using existing terms in odd ways to break free from existing intuitions and generalize more easily. which is cool, I guess, but also makes everything famously unreadable)

@hazel Obviously, the superior phrase is “monads are monoid objects in the monoidal category of endofunctors and natural transformations with functor composition as the monoidal operation”, because it uses the word “monoid” more times. blobcatupsidedown

@MindOfJoe @be @floppy @kev Yeah, probably only the names of resources requested close to each other (or in the same TLS connection) would be most of the time enough to identify the site a given IP address is visiting. Although with aggressive enough browser caching, that fingerprinting vector can be plugged up, but then you’d have just created another one.

@floppy @kev @be @MindOfJoe Decentraleyes is a bit different, because it replaces CDN for third-party resources. Thankfully, browsers nowadays use first-party isolation, so third-party resources leak very little information to the CDN (the CDN can’t just set a cookie when you browse one site and retrieve it when you browse another). Probably the largest vulnerability would be the CDN injecting malicious code, but that can be avoided by the developers with subresource integrity. That is not to say that local CDN emulation is not useful (that’s one fewer HTTP request to analyze and correlate, the very least), but it can’t do much against willful MITM use for first-party resources, where the request may carry much more relevant information (like usernames, first-party cookies and session IDs).

Re: cloudflare, privacy

@kev @floppy Their quantity has a quality of its own. Due to the sheer number of sites they MITM, they have a nearly exceptional ability to correlate and analyze user behavior across sites. Granted, a site may still chose to share data with trackers and data aggregators, which gives aggregators the same correlation ability, but at least that’s overt, while sites opting to use a CDN with MITM inadvertently give away connection data for free (or even pay for the ‘privilege’).

re: more keyboard thonks

@jookia It’s mind boggling how many layers of input event translation are in, say, a computer with a USB keyboard and Linux (even just think about all the weird abstraction layers in xkb), and every layer can have (nearly) arbitrary remapping. For some cases, it makes sense (you can plug the programmable kb into another computer and have the same layout), but most of it is an unwelcome history lesson when trying to debug stuff (like xkb trying to abstract away the kb model and the localized layout, but most model-specific abstraction is nowadays in the kernel, anyways).

Computers are just bad. blobfoxdisapprove

Egon Willighagen is stepping down as Editor-in-Chief of the Journal of . The journal now being part of Springer Nature no longer allows for running the journal in the spirit of .

What am I supposed to do here? (Surprisingly, the audio CAPTCHA ended up working.)

Please solve this puzzle so we know you are a real person. [Verify button.] [No puzzle appears at all.] [Reload button.] [Speaker button.]

@be @zxo Links to sections in the are broken in Github (not sure if at all, or only in Firefox), but if you scroll down a bit in the readme, there’s a proper Installation Guide section.

Basically, you put all the files from the repo into the chrome folder of your firefox profile (so the CSS styles will be in chrome/userChrome.css), and set the settings from in about:config (they recommend overwriting your user.js with that, but that’s a bit heavy-handed, and erases previous customizations, I think).

@be @zxo You can try to add back the separators between tabs (among other things). It even works with browser.uidensity=1, although that might be removed in the next version of firefox (and thus will need some additional CSS).

I’ve been using this since 89.0 came out, plus some other bits of userChrome.css from Tree Style Tabs.