TikTok's CEO is feeling the pressure and users are freaking out
anti-idpol action @ pkill @programming.dev Posts 5Comments 360Joined 2 yr. ago
I mean, libraries access is good. But lack of tail call optimization support is not something you'd want in a functional programming language runtime. Luckily here Clojure somehow manages to fare better than Scala.
Clojure. Although it's currently the most popular lisp but the ecosystem is not super lively and sometimes you need to rely on Java interop. This also severely limits the platform flexibility, if more things were written in pure Clojure or targeting BEAM or CLR it'd be nice. But luckily at least unless a library you use doesn't rely on Java interop, the language is designed in a way that really reduces the bit rot.
Fun thing about it is that despite the S-expressions which you love to appreciate - I mean, it usually looks better than })
at the end of a Promise
/ closure in js or super deep nesting which you'd easily resolve using a thread last macro in Clojure. Therefore I'm also really excited that the pipe operator is finally coming to JS soon. Just add colored delimiters to your IDE. The virtual lack of syntax makes it quite easy to pick up.
With lisp semantics and minimal syntax that resemble the lambda calculus very closely, dynamic typing is rarely an issue (you can still specify types optionally), not to mention that pure functions are super easy to reliably test. Also, many things like DOM, nested data structures, b-trees (to a degree) or ASTs are actually structured like an S-expression tree, making Clojure good for such applications. All of this allows for clean code that does not feel like an assortment of free functions but is usually very loosely coupled yet everything seems to fit really neatly together like a coherent tree.
In general LISPs, as the name implies, are a superb tool for studying algorithms and DS in a way that allows you to focus on the problem itself more than the implementation, unlike in imperative languages where going into every little step in what feels like almost operating at individual CPU instructions at times can feel overwhelming and confuse the hell out of you.
Realizing the open-closed principle with Clojure comes pretty naturally since you'd more likely use function composition or write new transformations than modify the existing functionality.
Since functions are the primary unit of abstraction, dependency inversion is also trivial to adhere to.
Also protocols, which are somewhat more powerful than interfaces in some OO languages. They offer multi-method dynamic dispatch, retroactive polymorphism (extending types defined outside the current codebase), are independent from class hierarchy and are generally somewhat more succinct as virtually everything in that language.
First-class support for STM and immutability also make it good for concurrency like most functional PLs and make it a bit more intuitive than the actor model of Elixir/Akka.
Some Clojure frameworks do as well in certain benchmarks as those written in Rust.
Also compared to some other lisp dialects, the "primary" data structure is not a singly-linked list.
It's goto data representation format, EDN is also a really nice thing.
And you have a REPL and get to choose what should be compiled AOT and what JIT. It's most popular build tool, Leiningen is quite neat and in my experience has been a little bit faster in terms of dependency retrieval than Mix used by Elixir.
It can also transpile to js or dart. It generally is a quite flexible and extensible language where the said extensibility does not really make you feel the levels of inconsistency comparable only with PHP a couple years ago before they've decided to get it's shit together as much as possible as can be the case with Haskell codebases that rely on a large number of language extensions.
And lastly, first-class documentation support but that should be a standard (looking at you JS and everything that still uses Doxygen)
Tbh Clojure's greatest Achilles' foot is the baggage of JVM with it's lengthy stack traces, startup time, lack of tail call optimization, different paradigm and backwards compatibility issues. So if the question was which runtime you wish was more popular, I'd pick BEAM. But in it's current state, whilst BEAM is more suited for functional programming, Clojerl doesn't allow you to do much more than the standard library since many libraries wrap java, like web frameworks for example.
But on the other hand, JVM integration might make it easier for teams using Java or Scala to adopt Clojure.
Also it might not do the best job of handling bugs gracefully. This is good in the sense of giving you those almost Rust-like levels of strictness but without the lengthy compilation time but if you are looking for a way to move fast and tolerate some breakage, Elixir could be a better pick.
Also currying is not automatic and you have to use partial
or macros.
But speaking of macros, they are almost as neat as in Rust and much more intuitive than in C or Scala.
Good that you've enjoyed it. But a fundamentally wrong thing about systemd is that it is actively harming the best thing about Linux – freedom. Some programs won't work on a non-systemd distro because how tightly coupled and vendor non-agnostic anything that becomes dependent on might become at times. Of course it's not as bad as glib(loat)c, but still if something can be done without any degradation of functionality via standard POSIX facilities, WHY either incur additional maintenance overhead for non-systemd implementations or punish people for their computing choices if there's no one to maintain it?
Luckily LineageOS and GrapheneOS have a lockdown mode (Graphene also supports disabling fingerprint for screen unlock), though rebooting your phone usually doesn't cause you to loose any work since everything autosaves as phones kill background apps to save battery and memory. Separate user profiles for situations like protests or certain contexts (preferably with some dummy data to make it not look to sus) are also useful.
what is marked for removal if you try uninstalling plasma?
This. Y'all should checkout Saintdrew's discussion on crops
really cozy
I use ChromeOS btw.
I'd like to interject
Imo random is good if you limit it to stuff compatible with Android 12 or newer, because there is a ton of legacy stuff that might have security or usability issues and any bugs would not be resolved
oh. they are a part of IMT. Besides what's on the map, a Bolivian and Belarusian sections are being formed.
Lemme tell you a story. In the last parliamentary election in Poland in October we had a record high turnout of 73% or so. This only emboldened the liberals and the pseudo-left to introduce lower health insurance contributions for the capitalists and tax breaks for IT sector but lift the food VAT cancellation despite some product categories still being affected by an inflation rate of up to 20% and gas and electricity prices freeze. Which is actually being justified by the "socdem" ruling triumvirate partner instead of them standing against it. But ig for them idpol matters much more than standing for poor people. Then they're fucking surprised they vote for social conservatives. Just like many Trump voters who are not right-wing extremists but just disillusioned proletarians with false consciousness.
Recently state TV invited fucking landlords to discuss how to deal with non-paying tenants to a morning TV. On the contrary, the so hated social conservative PiS government has at least managed to introduce a vacant property tax. Now under the glorious liberal regime we can expect the rent to still gobble up more than a half of a large part of the population's salary. Yay! So progressive, so European, so democratic! 🥰🎉✌️
Women's rights were the hallmark of their campaign, but we still have one of the most barbaric laws regarding abortion and emergency contraception access in Europe due to the centre-right coalition partner torpedoing any change in this respect – hey, how is doing anything about Roe v. Wade being overturned going?
Also militarism. Both of them (Biden and Trump) will waste massive amounts of taxpayer and printed money on producing fucking scrap metal death machines. But Biden is actually more hawkish. In Poland we are already spending 4% of our GDP (twice the NATO target!) on that and in the past few years it increased by like 260%. All of this despite Russia actually virtually not increasing it's military spending and incessant media reports about how they are using 50 year old equipment in Ukraine.
So many people fell totally duped in Poland right now, and rightly so. Now the hope lies in the streets, in the radicalization of women's protests and gathering storm for a strike wave. Government of the rich, for the rich won't do shit for the working class unless they feel fear. Luckily the farmers' protests have shown the way to go.
then get organized. Check out Revolutionary Communists of America, they might have a chapter in your city already. An individual can do nothing, but a collective can do everything.
also under capitalism you buy power anyway and one person=one vote is a laughable myth already anyway. the real question is whom will the bourgeoisie support.
do you know how Mussolini, Salazar, Armas, Horthy, Pinochet or Franco came to power? And was the Silver Legion or KKK elected by anyone? Y'all will point out to Nazi Germany to justify participating in the legitimization of this evil plutocracy every few years, but if they are determined, they will try to take power no matter what and Jan 6 was just a proof (also NSDAP might have not won the March 5 elections if it wasn't for the terrorist tactics of staging the Reichstag fire and lastly, Proud Boys or any other fringe group is still nothing compared to SA/SS).
you can do so much more to defeat the reactionaries by visiting:
- a gym
- a shooting range
- a library
- your local revolutionary organization's meeting
than a polling station
Scenic path will put you asleep instead of eliciting you fight or flight response. Ditch any faith in this corpse of a system ffs.
us be like please please stop spying on our children so that WE can do that and also prevent the thoughtcrime of believing genocide (in Palestine) is bad