141 karma · joined November 30, 2018
By default Calva Paredit overrides three or so keyboard shortcuts. This is to help the users to not accidentally delete brackets, which in turn keeps the support questions down about broken Clojure code. I have tried to make it super easy to disable these overrides. There's a command for it. There's a button in the toolbar for it, and there's a setting for it.
There's also a setting for removing all Paredit bindings, even those that are not overriding any default ones. (This setting is for people who use Paredit, but want to provide their own shortcuts entirely.)
For JVM interop, I think Cursive (IntelliJ Clojure plugin) is smart enough to help with autocompleting Java libraries.
This article on LISP interactivity inspired me: http://blog.fogus.me/2022/11/10/the-one-about-lisp-interacti...
Writing that made me challenge it. What if it is possible? https://github.com/BetterThanTomorrow/joyride/discussions/14
Having, draw a rendom number out of a hat, 50% of Emacs extensibility at your REPL is fantastic, and worth pursuing. Joyride can do everything a VS Code extension can do, except the things i mentioned above, and anyone who has used some VS Code extensions knows that that is a lot.
However, the self documenting part described above is not out of reach. Most of the code building up the VS Code API is open source. Same goes for many of the extensions. Looking up and navigating to any of that code is possible. Perhaps a lot of work would need to be put in, but it is possible.
But usually I do get sleep. The question we should ask is if borkdude sleeps? He's doing about 100X as much as I do. Maybe there are hundreds of borkdudes.
NB: The video has a target audience of people who know Clojure and its strengths. Especially how the REPL is used. I hope HN will see beyond the parens. =) It should make some sense anyway. Especially if you have some Emacs scripting experience, because that is where most of the inspiration to Joyride comes from.
But in other cases I have it seems to not help that much. Not sure how to minimize those, but will try figure it out.
I wonder if there is a way that does not involve using `numactl`. It needs the container to run in privileged mode and that is not how the containers are run in the drag-racing benchmark...
$ numactl --hardware
available: 1 nodes (0)
node 0 cpus: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
node 0 size: 15395 MB
node 0 free: 2542 MB
node distances:
node 0
0: 10
$ numactl --cpunodebind=0 --membind=1 java PrimeSieve
libnuma: Warning: node argument 1 is out of range 0 - Passes: 5876, count: 78498, Valid: true
1 - Passes: 5870, count: 78498, Valid: true
2 - Passes: 5944, count: 78498, Valid: true
3 - Passes: 5903, count: 78498, Valid: true
4 - Passes: 6051, count: 78498, Valid: true
5 - Passes: 5874, count: 78498, Valid: true
6 - Passes: 5902, count: 78498, Valid: true
7 - Passes: 6041, count: 78498, Valid: true
8 - Passes: 5906, count: 78498, Valid: true
9 - Passes: 5889, count: 78498, Valid: true
Will run it 100 times now to lower the risk that this is just a coincidence.I've been mostly afk, and haven't been able to act on all the clues yet, but I have conducted some of the experiments and tried to summarize them in a reproducible way here: https://github.com/PEZ/ghost-chase-condition/tree/master/tes...
Meanwhile. I just published an experiment where I have switched out the BitSet for an array of booleans. Just to demonstrate my observations that then the performance is perfectly stable. https://github.com/PEZ/ghost-chase-condition/tree/master/tes... Does that affect your analysis in any way?