Readit News logoReadit News
rbehrends commented on EU Council Approves New "Chat Control" Mandate Pushing Mass Surveillance   reclaimthenet.org/eu-coun... · Posted by u/fragebogen
mejutoco · a month ago
Is there a website that tracks these? That would be a nice divulgation process.
rbehrends · a month ago
There is the Parliament's legislative train website [1]. However, it only tracks actual legislative steps, not the intra-Council negotiations, so the proposal's page appears to be have been largely inactive since 2024 [2].

[1] https://www.europarl.europa.eu/legislative-train/

[2] https://www.europarl.europa.eu/legislative-train/theme-a-new...

rbehrends commented on Git: Introduce Rust and announce it will become mandatory in the build system   lore.kernel.org/git/20250... · Posted by u/WhyNotHugo
bArray · 3 months ago
I did check this out. The shell, perl and python are likely for scripting and not used during runtime. TCL is likely some form of dynamic scripting.

I think we also have to be honest about what the project here is too, it's not to have both C and Rust together, but to replace all C with Rust. In which case, it probably makes sense to just clone to repo and work on a fork like they did with SSH.

rbehrends · 3 months ago
> The shell, perl and python are likely for scripting and not used during runtime.

Some git subcommands are implemented in these. git filter-branch is a shell script, git cvsimport is a Perl script, and git p4 (perforce interop) is a Python script. There are not too many left these days (git add -p/-i also used to call a Perl script), but they exist.

rbehrends commented on Germany is not supporting ChatControl – blocking minority secured   digitalcourage.social/@ec... · Posted by u/xyzal
mytailorisrich · 3 months ago
One key tool of power creep are those very treaties. Let's do one more treaty and had things in the small prints. Of course the member states drafted and agreed to those and that's why pressure should be on governments to stop hand over the keys to Brussels.

That's in addition to the constant Commission push for more power and they often overstep their role... We're seeing clearly on issues like Ukraine and, lately Israel.

rbehrends · 3 months ago
> Of course the member states drafted and agreed to those and that's why pressure should be on governments to stop hand over the keys to Brussels.

What specific example are you thinking of where additional power was handed to Brussels through an amendment of the treaties?

> That's in addition to the constant Commission push for more power...

If you are worried about the executive trying to expand its power (and something that should be kept in check), may I suggest that the US is not actually a great example right now for how to avoid that?

rbehrends commented on Germany is not supporting ChatControl – blocking minority secured   digitalcourage.social/@ec... · Posted by u/xyzal
mytailorisrich · 3 months ago
The only solution is to stop the EU level power grab by formally restricting what the EU can do and to make sure member states remain where most of the power lies.

The US have that. The EU does not so as time passes the EU's power keeps creeping up.

rbehrends · 3 months ago
> The EU does not so as time passes the EU's power keeps creeping up.

Actually, the EU has the same concept of enumerated powers (called "competences" in the case of the EU). They are listed in articles 2-6 TFEU [1]. You may argue over whether the EU has too many competences or (in some areas) too little, but it's the same principle. The EU cannot legislate outside areas where power has been expressly conferred to it by the treaties.

This is in fact one point of contention over the "chat control" legislation. It is supposed to be enacted under the "internal market" competence, but similar to the US commerce clause, there is a legal debate over whether that competence is actually sufficient to enable such legislation or whether it is legal cover for encroachment on competences reserved to the member states.

This would of course be up to the ECJ to decide, just as the US Suprement Court would have to decide if any given US federal legislation is covered by the commerce clause.

In addition, there is the Charter of Fundamental Rights, and the ECJ could also strike down EU legislation (as it has done before) if it violates the rights protected by the Charter.

[1] https://en.wikisource.org/wiki/Consolidated_version_of_the_T...

rbehrends commented on Germany is not supporting ChatControl – blocking minority secured   digitalcourage.social/@ec... · Posted by u/xyzal
uyzstvqs · 3 months ago
The bigger issue is that we need to make the EU actually democratic. Start by removing every branch but the European Parliament. That's the only solution.
rbehrends · 3 months ago
What you are proposing would amount replacing the current bicameral legislature (with the European Parliament as the lower house and the Council of the EU as the upper house) with a unicameral legislature. That would actually make it easier for bad laws to be passed, especially as the supermajority required in the Council is currently the biggest obstacle for this kind of legislation.

I'll also note that nothing here is per se undemocratic. Both the Parliament and the Council are made up of elected members. The members of the Council (as members of the national governments) are indirectly elected, but elected all the same. Direct election is not a requirement for a democracy (see election of the US president or the US Senate prior to the 17th amendment or the Senate of Canada right now).

That does not mean that there isn't plenty of valid criticism of the EU's current structure, but claiming that it is not "actually democratic" falls far short of a meaningful critique.

Deleted Comment

rbehrends commented on Kotlin-Lsp: Kotlin Language Server and Plugin for Visual Studio Code   github.com/Kotlin/kotlin-... · Posted by u/todsacerdoti
twen_ty · 7 months ago
Apart from legacy projects written in Kotlin, after Java 21/23, what's the argument for using Kotlin anymore, especially that it's a proprietary language?
rbehrends · 7 months ago
Aside from the often cited nullability issue, here is an (incomplete) list of important things that Kotlin still does better than Java:

- First class, fully functional closures. - Non-abstract classes and methods are final by default. - Named parameters. - Easy to write iterators via sequence { ... } - First class support for unsigned types.

rbehrends commented on Conservative GC can be faster than precise GC   wingolog.org/archives/202... · Posted by u/diegocg
nu11ptr · a year ago
I've never understood why anyone would use a conservative collector outside toy programs or academia. It is hard enough to make programs deterministic even with precise collection. I can't even imagine releasing software that was inherently non-deterministic and could suddenly, and without notice, start retaining memory (even if atypical in practice). Thus, IMHO, which is faster is a moot point.
rbehrends · a year ago
The same argument would apply to any non-compacting allocator, because the worst case memory blowup due to external fragmentation is huge. But such cases are extremely rarely observed in practice, so people use e.g. standard malloc()/free() implementations or non-compacting garbage collectors without being concerned about that.

In addition, there are plenty of cases where memory usage is unbounded or excessive, not because of allocator behavior, but because of programming mistakes. In fact, memory can sometimes blow up just because of large user inputs and very few systems are prepared for properly handling OOM conditions that happen legitimately.

Case in point: Both CRuby and Apple's JavaScriptCore have garbage collectors that use conservative stack scanning and are widely used in production systems without the world ending.

That said, you're probably not going to use conservative stack scanning because of collection speed alone. There are other trade-offs between conservative stack scanning and precise stack scanning that weigh more heavily.

I'll add the caveat that I would be very cautious about using a conservative GC on 32-bit systems, but on 64-bit systems this is about as much of a concern as memory fragmentation.

rbehrends commented on Kotlin for data analysis   kotlinlang.org/docs/data-... · Posted by u/saikatsg
yen223 · a year ago
The mechanism in Kotlin that allows them to limit yield() to a sequence{} block , without introducing a new keyword, is pretty dang cool.
rbehrends · a year ago
What happens under the hood is that a `sequence {}` call creates an instance of `SequenceScope`, which has `yield()` and `yieldAll()` methods. When executing the block, `this` will reference that particular instance and `yield()` is essentially `this.yield()` and will call the method on the scope instance.

The actual functionality is then provided by the coroutine system, though a lot of the heavy lifting is done by the optimizer to eliminate all or most of the runtime overhead.

rbehrends commented on Kotlin for data analysis   kotlinlang.org/docs/data-... · Posted by u/saikatsg
Blot2882 · a year ago
I'm not sure how someone could see Kotlin as more expressive than Python, unless I am misinterpreting what expressive means. Python has a good language features and helpful abstractions like list comprehensions.

What makes Kotlin more expressive? I understand it has some functional features but I've never seen anything dramatically flexible.

rbehrends · a year ago
As somebody who uses and likes both Kotlin and Python (and quite a few other languages), I'd be cautious with using a subjective term such as "more expressive", too, but I can possibly shed some light on where such feelings come from.

Personally, I see Kotlin as the closest thing to a statically typed Smalltalk that we have among major languages, and that's a major draw.

A key part here is that Kotlin closures are fully-featured equivalents of Smalltalk blocks (up to and including even non-local returns [1]), whereas in many other languages that falls short. Java does not allow mutation of local variables and Python restricts lambdas to normal expressions.

I find code whose behavior can be parameterized by code to be an essential feature of modern-day programming and this should be as frictionless as possible.

This is also a situation where syntax matters, and while it isn't quite as nice as Smalltalk, Kotlin's syntax (esp. with trailing closures) make such code as readable as possible in a brace-style language with minimal additional syntactic noise.

In a similar vein, the functionality of Smalltalk's cascades is offered through scope functions [2], especially `.run {}`.

But ultimately, fully-featured closures (and the fact that they are widely used in the standard library) power a lot of the things that people seem to like about Kotlin.

That does not mean that there aren't downsides. The limitations of running on the JVM are one (e.g. while Kotlin has workarounds for the JVM's type erasure, they're still workarounds), and then Gradle is arguably Kotlin's weakest point (which apparently even JetBrains are seeing, given their investment in Amper).

That said, personally I'd say Kotlin's static typing and performance would be the primary reasons for me to reach for Kotlin over Python, not necessarily expressiveness. Type annotations in Python + mypy etc. just aren't the same experience, and writing performance-sensitive code in Python can be very tricky/hacky when you can't delegate the hot paths to numpy or other existing C/C++/Rust libraries.

Conversely, Python often has a leg up when it comes to fast prototyping and scripting, even with Kotlin Worksheets in IntelliJ IDEA and with kscript.

[1] Which, to be clear, are a nice-to-have thing, not essential, but still impressive that even that was covered, when previously Ruby was the only major language I know of that did it.

[2] https://kotlinlang.org/docs/scope-functions.html

u/rbehrends

KarmaCake day3028December 27, 2011View Original