let's get this party started #NBPy
-
"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."
-
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."
"You have to consciously and deliberately maintain it, or it will dissipate."
-
Good morning! Up now: "An Economy of Empathy" by @pythonbynight . We are starting off … extremely dark … with some descriptions of the grisly reality of content-moderation work in the global south at a company called "Sama" (on behalf of Meta, née Facebook) and moving directly to eugenics, including from the founder of "AI", and creator of Lisp, John McCarthy. Oooooooof.
"Are these biases still present in the tech industry?"
Not exactly a surprise, but, again: oof. #NBPy
@glyph @pythonbynight Ha, just yesterday I was watching the documentary Ghost In The Machine, and it talks about similar things: Pearson developing the core tools of statistics for eugenics, about clustering techniques also originating from that, about McCarthy, about Sama, etc.
goatcheese (@goatcheese@eldritch.cafe)
Watched the "AI" documentary Ghost in the Machine today (streamed on [kinema](https://kinema.com/films/ghost-in-the-machine-pvxg4p), no showings in my neck of the woods). It was Excellent. It connects the dots between eugenics as a byproduct of colonization, to the advent of computers, of Silicon Valley, and all the way to current day "AI" companies.
Eldritch Café (eldritch.cafe)
Lots of awful discoveries for me in that doc. Highly recommend if you haven't seen it.
Are the NBPy talks recorded? I couldn't find a mention of it on the website.
-
@glyph @pythonbynight Ha, just yesterday I was watching the documentary Ghost In The Machine, and it talks about similar things: Pearson developing the core tools of statistics for eugenics, about clustering techniques also originating from that, about McCarthy, about Sama, etc.
goatcheese (@goatcheese@eldritch.cafe)
Watched the "AI" documentary Ghost in the Machine today (streamed on [kinema](https://kinema.com/films/ghost-in-the-machine-pvxg4p), no showings in my neck of the woods). It was Excellent. It connects the dots between eugenics as a byproduct of colonization, to the advent of computers, of Silicon Valley, and all the way to current day "AI" companies.
Eldritch Café (eldritch.cafe)
Lots of awful discoveries for me in that doc. Highly recommend if you haven't seen it.
Are the NBPy talks recorded? I couldn't find a mention of it on the website.
@goatcheese @glyph I also have a review of this excellent documentary on my site!
Ghost in the Machine Review
Ghost in the Machine details the eugenic and techno-fascist underpinnings of the AI industry.
Python By Night (pythonbynight.com)
And yes, the talks are recorded. Unsure of release schedule but it's usually pretty quick. I'll update once posted.
-
M mttaggart@infosec.exchange shared this topic