let's get this party started #NBPy
-
Always glad to see Nick Bostrom, Longtermism, William MacAskill, Effective Altruism, etc etc get read for filth. These guys *still* get way too much credit for the bailey of their ideas and are not often scrutinized for the motte of overt eugenics, racism, misogyny that they are building upon.
An even wider-ranging indictment of the basic tools of statistics, data science, machine learning, and the concept of "intelligence" than I'm familiar with. Even the concept of a linear regression evokes an implicit normative judgement, that human difference is all quantifiable and sameness is desirable — when those things are demonstrably untrue. But more to the point these fields were *initally developed* by eugenicists.
-
I love talks that, as a 25 year Python veteran, have the ability make me say to myself “wait, does that even work” with less than 10 lines of code
@glyph @tiotasram
Oo, that’s tricky and fun -
An even wider-ranging indictment of the basic tools of statistics, data science, machine learning, and the concept of "intelligence" than I'm familiar with. Even the concept of a linear regression evokes an implicit normative judgement, that human difference is all quantifiable and sameness is desirable — when those things are demonstrably untrue. But more to the point these fields were *initally developed* by eugenicists.
"*Why* are users turning to chatbots as a way of dealing with loneliness? What are the gaps in existing technology?"
-
@glyph @tiotasram
Oo, that’s tricky and fun@glyph @tiotasram
Huh, why the `super().__init__()`? It appears to work without out that in a quick smoke test -
"*Why* are users turning to chatbots as a way of dealing with loneliness? What are the gaps in existing technology?"
"Oppose *systems*
Support *people*" -
"*Why* are users turning to chatbots as a way of dealing with loneliness? What are the gaps in existing technology?"
@glyph
Isn't the obvious question what the gaps in society are that make people turn to chatbots as a way of dealing with loneliness? Technology won't address loneliness, it might fill the time that people otherwise would feel a craving for connection with living beings. -
"Oppose *systems*
Support *people*"Whew. After a short (and much needed) "emotional whiplash break" inserted into the schedule by @chrisjrn, we have @benno with "State of Exception(s)", a talk about error handling. And then as befits a lighter-hearted and more technical talk, we open with a brief reference to the historical figure of Carl Schmitt and commentary from "reactionary twit" Brian Lunduke.
Oops.
Ahem. And now, some examples of idiomatic error handling in C…
-
Whew. After a short (and much needed) "emotional whiplash break" inserted into the schedule by @chrisjrn, we have @benno with "State of Exception(s)", a talk about error handling. And then as befits a lighter-hearted and more technical talk, we open with a brief reference to the historical figure of Carl Schmitt and commentary from "reactionary twit" Brian Lunduke.
Oops.
Ahem. And now, some examples of idiomatic error handling in C…
(slide full of C code)
"Who knows the undefined behavior"
(pause for less than 30 seconds)
sometimes rhetoric is still very effective even if you know exactly how the trick works
-
(slide full of C code)
"Who knows the undefined behavior"
(pause for less than 30 seconds)
sometimes rhetoric is still very effective even if you know exactly how the trick works
-
@glyph It shouldn't be. When I was younger, the law interpreted things as "once you own or have the right to use something, any attempt by anyone to deny you use of it is illegal and you can do whatever you need to do to use your stuff". You were supposed to minimize damage to other people's stuff, but if they tried to put a lock on something you'd already bought and paid for you could just cut the lock off.
Unfortunately, these devices now take advantage of DRM or argue that they are proprietary which triggers the DMCA. This has caused a lot of headaches for everyone.
I wrote a research paper on this here:
Written: April 25, 2024
The Paradox of Ownership in the Digital Age: How DMCA and DRM Limit Access and Undermine Preservation Efforts The digital age has ushered in a revolution in how we access and intera...
autumn (pen.waltuh.cyou)
-
"Exception handling requires runtime code"
- C++ requires a runtime (sometimes: if you're writing kernel code or some other no-runtime context you might have to write C++ in a dialect that is missing runtime-requiring language features)
- Python obviously in its own runtime
- Rust… has no runtimeSo: rust has no exceptions.
Rust has result types.
-
"Exception handling requires runtime code"
- C++ requires a runtime (sometimes: if you're writing kernel code or some other no-runtime context you might have to write C++ in a dialect that is missing runtime-requiring language features)
- Python obviously in its own runtime
- Rust… has no runtimeSo: rust has no exceptions.
Rust has result types.
Benno carefully emphasizes that he doesn't want to be engaging in language wars, and in the spirit of honoring that I won't over-emphasize this, but he has the same feelings (bad) that I have about the way that Go halfheartedly encourages you to handle errors with tuple returns, by allowing you to easily forget to handle them.
-
Benno carefully emphasizes that he doesn't want to be engaging in language wars, and in the spirit of honoring that I won't over-emphasize this, but he has the same feelings (bad) that I have about the way that Go halfheartedly encourages you to handle errors with tuple returns, by allowing you to easily forget to handle them.
Love to see @dreid getting an (implicit) shout-out from the stage as well, via a website you should all be familiar with, https://how.complexsystems.fail
-
Love to see @dreid getting an (implicit) shout-out from the stage as well, via a website you should all be familiar with, https://how.complexsystems.fail
-
Kattni recites a litany of reasons that @freakboy3742 is an open-source maintainer role model for me. The BeeWare sprint at PyCon 2024 was filled with joy, constant recognition of contributors' achievements, rewards (challenge coins, and I just failed a coin check). Achieving this sort of social milieu with the degree of intentionality that Russell does is really something to aspire to, and it is not easy.
-
Kattni recites a litany of reasons that @freakboy3742 is an open-source maintainer role model for me. The BeeWare sprint at PyCon 2024 was filled with joy, constant recognition of contributors' achievements, rewards (challenge coins, and I just failed a coin check). Achieving this sort of social milieu with the degree of intentionality that Russell does is really something to aspire to, and it is not easy.
Apropos of the conclusion of the previous talk — "Human practitioners are the adaptable element of complex systems." — we are introduced to a way that Russell recovered from an error, i.e.: the review process created some pretty severe and unpleasant code review anxiety, and he immediately apologized and adjusted his style as soon as he was made aware.
Setting up good processes is important but the *meta*-process being responsive to human input is even moreso.
-
"Exception handling requires runtime code"
- C++ requires a runtime (sometimes: if you're writing kernel code or some other no-runtime context you might have to write C++ in a dialect that is missing runtime-requiring language features)
- Python obviously in its own runtime
- Rust… has no runtimeSo: rust has no exceptions.
Rust has result types.
@glyph I'd say that this is a bit of an over-simplification. Maybe a useful one for the purpose of discussion, but Rust does have a runtime, just a relatively small one that is designed to not get in the way of integrating with other languages.
I mean, a memory allocator is part of a runtime. And you have panics in Rust, which are normally implemented as unwinding, which can be caught and handled (effectively exceptions). And you have a few other runtime like things like stack guards, the Any type, threads, etc.
However, in Rust panics are truly intended for exceptional situations, while Results are intended for error cases that you expect to handle.
It's possible to write Rust with no (or maybe should say even smaller than usual) runtime, with no_std, panic=abort, etc. And Rust's Result based error handling does continue to work there. But I would say that Rust, as normally written on a std-supporting platform, does have a runtime, albeit a minimal one.
-
Extremely valuable reminder about "simply" and "just": this language (along with its pals; "basically" "obviously", "of course") isn't merely stylistic noise; it sends a specific message:
"This should be easy"
or, in other words:
"If this isn't easy, it's your fault"
This is implicitly an attack on the reader.
@glyph Yes. It's a difficult habit to break. But important if you don't want to belittle your audience.
-
Apropos of the conclusion of the previous talk — "Human practitioners are the adaptable element of complex systems." — we are introduced to a way that Russell recovered from an error, i.e.: the review process created some pretty severe and unpleasant code review anxiety, and he immediately apologized and adjusted his style as soon as he was made aware.
Setting up good processes is important but the *meta*-process being responsive to human input is even moreso.
Kattni describes a pretty intense process of recovering from trauma around code review, with the BeeWare team's help, that is complex enough that it's hard to capture in some quick notes here, but it really emphasizes that OSS governance *is* the process of nurturing contributor relationships. And that process worked, because where it lead to was:
"Obviously the response to discovering trauma around contribution is to take on a massive complex contribution, right?"
-
Kattni describes a pretty intense process of recovering from trauma around code review, with the BeeWare team's help, that is complex enough that it's hard to capture in some quick notes here, but it really emphasizes that OSS governance *is* the process of nurturing contributor relationships. And that process worked, because where it lead to was:
"Obviously the response to discovering trauma around contribution is to take on a massive complex contribution, right?"
Kattni emphasizes that this is not a simple story of having a problem and then fixing it and then it's fixed. Trauma responses don't just go away with a little bit of empathy. Trust is not permanent; it can be broken, it needs to be repaired:
"I went through being convinced that I couldn't do this, several more times…over time, though, the ups have begun to outnumber the downs.…This is a hard fought improvement. It came through both repeated successes and multiple mistakes."