85% AI according to Pangram.
HN user
unlogic
It's $250 billion less that goes to the ultrarich, so that they can't purchase another $250 billion of assets.
Check out sunrise-commander, it is Dired reskinned as a dual-paner. Love how convenient it is to have a powerful integrated file manager.
Check "DeArrow" chrome extension.
Taken out of context, an 18+ device called Magic Pointer coming from Google would be wild.
Turning didn't work for me. Impressive as hell indeed! The author is probably already busy 100xing other projects, no time to fix such a minor nuisance.
And that angry user base will do what, exactly? Switch to Android? One can dream.
I believe you, but it would be nice if you called out the exact vendors that do that, for others to be cautious. It's not like their pricing is under NDA, right?
The term "linear scaling" was invented by cloud companies to sell more cloud.
Clojure authors are quite conservative about adding such opinionated instruments into the language, especially when they come from outside. But fortunately, being a Lisp allows Clojure to add such language modifications with libraries without forcing those modifications upon every user of the language.
It could certainly be redesigned to have explicit lazy collections/operations and use transducers as the composition glue. It would be a breaking change, so it's never going to happen in Clojure. But if somebody plans to design a language inspired by Clojure, they should certainly take this hint.
Well, if you already use transducers, then you are not exactly the target audience:). It's meant more for the younger developers who see a core language feature and feel inclined towards using it despite the drawbacks.
In other words, it's something I don't think much about anymore, and it doesn't inconvenience me in any noticeable way.
Interesting, because it still does bother me. I mean, if I use lazy sequences and functions on them. Sure, if I consciously avoid them, then it doesn't me anymore, that's the point of the article :D.
I'm sorry my article had such an effect on you. Despite the inconveniences, it is still a very worthy language to pick up.
This you can't do, unfortunately. Would have to do something stupid like `(< -1 index length)`.
IDFA is a cheatcode of its own (ID Full Ammo).
Oh no, I'm saying it's another usecase, not the only one. And yet, it is a pattern I follow quite often in my mixed Clojure/Java projects: Clojure code is much easier to tinker with, take to new directions, rapidly modify and see the results. But once I settle with an approach/algorithm, I rewrite some things to Java for performance, or for easier interop with other Java/Scala teams, or because the imperative mutable code looks much better in Java.
So, you can say that Clojure among everything else is my IDE to write Java code. Is that a bad suit for a language? Depends on your perspective, but I personally am very happy that I have Clojure by my side.
Whatever the benefits of Clojure are, they were enough for Nathan Marz and first contributors to write Storm in it and succeed. Note that it's not an argument about impossibility of writing something like that in Java (see Spark, Flink, Heron, etc). But at that exact moment in time, a Clojure Storm was created and became useful to many people for years. There were many more Java programmers than Clojure programmers then and now, yet the Java coomunity didn't produce their own Storm first.
I think it speaks of something.
To me, this makes total sense as the project moved to Apache. Obviously, much more people will be able to consider contributing when it's in Java. Apache goal is sustainability and long-term viability, and Java would work better for that.
I also consider this a success story for Clojure. It gives Clojure another usecase: a "production-ready prototype" language where the resulting "prototype" can last for eight years and benefit thousands of developers until it gets rewritten to something else when all the hard questions are answered, and most experimentation/wandering is over.
Well, if caching takes a small part of the overall workload, then you can't really say it's a "cache workload" or "cache-heavy workload", right?
My answer meant that Shenandoah would work well in a program where cache occupies like 70-80% of the heap, and generational GCs might not. But surely, neither are going to break from a 1%-heap cache.
wouldn't the majority of allocations still happen during a request?
Could you please clarify this question? Do you mean that if cached objects are a small part of the total allocation rate, then generation GCs work well with that?
Typo
< tenures all those requests to OldGC
tenures all those requests to OldGen
Completely vice-versa, Shenandoah is much better for caching because it is NOT generational. [LRU] Caches go against generational hypothesis because the oldest elements are evicted first.
Hi, author here. You are saying exactly what I was thinking before. But turns out, generational GCs have nasty failure modes when things don't go as expected. E.g., if an upstream experiences its own difficulties and returns responses slower, our service has to keep all the requests in memory longer, so the heap runs out, and G1 performs a few fruitless YoungGCs (without freeing much) and then tenures all those requests to OldGC, and now you have a big OldGC pause bomb waiting for you.
Non-generational GCs don't have this problem, and it's one of the reasons why Shenandoah suited us well there.
Do you mean having to reify java.util.function.* classes?
That's not true. You only have to prepend #' if you pass the function by value (as in your web server handler example).
If you call the function by name yourself, like (foo arg), and you recompile foo, any code that called foo will see the new version.
r/titlegore
The article contains in total 61 occurrences of "I", "me", and "my"; yet somehow the problem of the author is not narcissism, but open offices.
In Emacs, you can use CIDER together with ClojureScript. By following these instructions[0] I was able to get the combined Figwheel+REPL functionality.
[0] https://cider.readthedocs.io/en/latest/up_and_running/#using...
I enjoy the game a lot, but I disagree that it has that much of educational value. Without pre-existing geometry knowledge (e.g. similar triangles; median, bisector, and altitude in an isosceles triangle) the way to solve puzzles is only to randomly screw around. The game then doesn't give any explanation why that solution works.
Same for me. The editor window was blank until I clicked inside it.