I don’t know that it will. The key weapon the US used against Latin America before was economic warfare. Now that an alternate economic bloc exists, it’s going to be much harder to subjugate Latin America, and the US simply does not have the means to do this through military force.
The key part to note is that the cancellation of the show did not need to be mandated by the state because the state represents the interests of the ruling class which is the capital owning class. The capitalists who own the network made a political decision to cancel him.
More energy being spent cooling data centers on land ultimately heats up the whole system more, including the oceans. This is why you should pay attention in your physics class at school kids.
Importantly, it looks like this is going to be China’s position going forward.
That will indubitably be the end result of all this.
looks like they took it down, but they did release it under Apache license originally, so here’s a fork https://git.sr.ht/~yogthos/quelmap
The current right wing government will implode eventually, and communism being incubated in Kerala will be very valuable when that happens.
The drones don’t even have the range to go from Russia to Romania last I looked.
People in Africa are largely using phones from China which don’t run Android. For example, Huawei has its own HarmonyOS now, that was forked from Android a while back and it’s no longer compatible with it.
I do think that Linux based phones would be great, but it doesn’t seem like there are any viable options in the foreseeable future.
The whole notion that voting is the only action one can take to participate politically is absurd. You can join a union, educate people around you, organize strikes, do mutual aid, and a myriad other things that don’t involve voting for a party that’s simply less heinous than the alternative.
That’s not a lot by LLM standards. :)
Again, it’s very weird to single out one type of control character. You have to compare syntax trade offs holistically. However, even when you straight up compare parens, there isn’t a significant difference. Pretty much every language, except those using whitespace, will have two parens for arguments and curlies for the function body, or a statement. This is roughly the same number of parens you end up with in Clojure, minus all the other characters. The difference is just not that dramatic in practice.
It’s incredible to see how Europeans are looking at what happened to Ukraine and thinking yeah we want some of that at home too.
They’re not doing that, they’re using an alternative approach to EUV
You said that “Lisp” is actually a family of languages, that Clojure uses fewer parens than other Lisps (I object: still more than non-Lisps), that there are macros for infix expression syntax (I object: non-standard/3rd-party solutions that only help with operators), that parens don’t even matter because of structural editing tools (I object: irrelevant, the discussion was about the number of parens, not whether they “matter”).
Clojure, uses different types of syntax to denote different types types of data structures, and thus different types of operations, such as statement declaration. I even gave you examples showing that you get the exact same amount of visual information as you do in other languages.
Meanwhile, you object to the very nature of how Lisp works. The whole point Lisps is that you allow the user to easily create whatever semantics they want using macros. This is something that’s not possible to do in most languages. If you want some new semantics or syntax you have to wait for the language committee to agree on that.
The big advantage here is that the core language can stay small and focused without having to grow over time. This is what you see happening in practically all mainstream languages. Usage patterns change, applications of the language change, and as a result new syntax continues being bolted on which makes the language ever bigger and harder to learn.
On the other hand, with Lisp approach, you have a small language that’s simple and consistent while libraries express different semantics that happen to be needed at the time. As a user you only have to learn the semantics of the libraries used in the project you’re working on. As different patterns fall out of use, they don’t accrete within the core language. New users don’t need to know about random quirks that were popular a decade ago.
Your second objection is also nonsensical because these is how the language used in practice. Pretty much nobody would write code without syntax highlighting, and similarly you wouldn’t use s-expressions based language without structural editing. This is a made up argument that’s a complete non sequitur. I’ve even showed you sweet expression alternative syntax that exists and literally nobody uses. If your argument had any merit to it, then that’s what Lispers would use.
I also disagree with “the total number of parens in your examples is about the same”. This is a micro-example, so when the original Lisp (Clojure) code has 4 pairs of parens and the C-style (JavaScript, Perl) version has 2, that’s twice the parentheses to me, not “about the same”.
const hypot = (x, y) => Math.sqrt(x ** 2 + y ** 2);
4 parens, 1 ,
,1 =
, 1 ;
, 1 =>
, 1 =
(defn hypot [x y] (infix sqrt(x ** 2 + y ** 2)))
6 parens, 1 [
Clojure version is more consistent with less noise. Ignoring all the other noise you have to add is frankly intellectually dishonest. Whether it’s a paren or a comma, or a semicolon, an arrow or an equals sign, it’s still syntax. Clojure version has less syntax. That’s literally less stuff I need to parse visually and worry about when writing code.
Let’s take a look at your JavaScript version more closely, and it immediately becomes obvious that you’re not actually saving anything here. You just end up sprinkling more types of control characters in it:
9 {
, 15 (
, 12 =
(for assignment), 16 ;
3 ,
, 1 ?
,
:`
That’s about a factor of 3. Now, you can argue that I shouldn’t care about the parentheses, but my point is simply that they’re there and you can’t really avoid them if you write in anything resembling idiomatic Lisp.
Yeah if you just ignore all the other control characters you had to add instead then you sure saved on parens. Bravo!
Your whole argument is basically treating parens as something different from other syntax characters, which is a nonsensical argument. If you’re going to compare syntax then you have to compare all the syntax you have. The only type of syntax that will give you significant reduction would be white space based syntax as seen in Python or Haskell, but that adds its own problems hence why most languages avoid it.
the 3B version should need fairly modest hardware
this might be of interest, it’s a model that generates svgs that work really great for stuff like icons https://github.com/OmniSVG/OmniSVG
I’ve found lots of great uses. I find LLMs are great for grammar and spellchecking, acting as a sounding board, doing translations, writing shell scripts, digging through unfamiliar code bases, figuring out configurations for tools, finding relevant stuff in large documents, and they can be helpful for coding in languages I’m not well versed in.
cause one of the major nuclear powers is an equivalent of a chimp with a hand grenade