Jesus. Stop misusing the word authoritarian.
44 karma · joined February 21, 2025
Jesus. Stop misusing the word authoritarian.
I get you want to be mad at them. Be mad at them for real reasons like increasing ram prices or using the public grid to socialize their costs.
However I don't really want to talk to you. You are rude.
This is false. For example in Ada you can write:
package Foo
type Bar is private;
procedure Initialize (Item : in out Bar);
private
type Bar is record
Baz : Integer;
Qux : Float;
end record;
end Foo;
Users of the Foo package know there is an opaque type called Bar. They can declare variables of the type, they can use the defined API to operate on it but they cannot reference the implementation defined private members (Baz, Qux) without compile errors. Yes Ada does give you the power and tools to in a very blatantly unsafe and obvious way cast it as another type or as an array of bytes or whatever but if you're doing stuff like that you have already given up.In JavaScript there are no such protections. For example if you have a module with private class Bar and you export some functions that manipulate it:
class Bar {
constructor() {
this.Baz = 420;
this.Qux = 1337.69;
}
}
export function Initialize() {
return new Bar();
}
In client code you have no issue inspecting and using the private values of that class: import { Initialize } from 'module';
let myBar = Initialize();
myBar.Baz = 42069; // works just fine
Object.keys(myBar).forEach(console.log); // you can iterate parameters.
myBar.Quux = 'Corge'; // add new parameters
delete myBar.Baz; // I hope no functions rely on this...
Using the private parts of Bar should 100% be a compilation error and even the most broken languages would have it at least be a runtime error. Lmao JS.To be clear Ada specifically talks about all this in the Ada reference manual in the Introduction. It was specifically designed for readers as opposed to writers for very good reasons and it explains why. It's exactly one of the features other languages will eventually learn they need and will independently "discover" some number of years in the future.
Github the website however is.
You don't need to replace git.
That adds clippy and all the other agents to a webpage. There is a PR on the repo that adds an example that hooks clippy up to a local ollama agent: https://github.com/pi0/clippyjs/pull/17
The main thrust of the law is directly self contradictory.
"Government actions that restrict the ability to privately own or make use of computational resources for lawful purposes..."
OK then just make the usage you don't like unlawful and you are allowed to violate this "protection".
In my opinion, don't make thick bindings for your C libraries. It just makes it harder to use them.
For example I don't really like the OpenGL thick bindings for Ada because using them is so wildly different than the C examples that I can't really figure out how to do what I want to do.
As far as I'm aware, Ada has a much more expressive type system and not by a hair. By miles. Being able to define custom bounds checked ordinals, being able to index arrays with any enumerable type. Defining custom arithmatic operators for types. adding compile and runtime typechecks to types with pre/post conditions, iteration variants, predicates, etc... Discriminant records. Record representation clauses.
I'm not sure what disadvantages exist.
Looks like the author pulled it from his main project (which doesn't look like it's been updated in a while) and at the moment it only supports x86. It's certainly a good start, it could be an easy project to make it an alire crate and publish it.