Ah yes you can tell by the post title:
best linux terminal emulator
For me: Wezterm. It does pretty much everything. I don’t think Alacritty/Kitty etc. offer anything over it for my usage, and the developer is a pleasure to engage with.
Second place is Konsole – it does a lot, is easy to configure, and obviously integrates nicely with KDE apps.
Honorable mention is Extraterm, which has been working on cool features for a long time, and is now Qt based.
Just note that the comment was inaccurate, in that their weird encryption is indeed open source at least.
I’d say an important part of this calculator’s interaction model is doing something, getting a result, then doing something else to that result. That’s not too bad in the regular Python interpreter either.
For example, in Python:
>>> 5
5
>>> 4 + _
9
>>> 2 * _
18
In Stacker:
>>> 5
[5]
>>> 4 +
[9]
>>> 2 *
[18]
Does Hy have something like the Python interpreter’s _
?
So it looks like a totally different data flow style, and (I think) geared toward writing then running programs, whereas Stacker is more for interactive stack-oriented calculator tasks.
I’ve never used Hy. Does it offer any concatenative-style interaction?
I suggest trying this one for Zsh, over the more common one: https://github.com/zdharma-continuum/fast-syntax-highlighting
As someone else said, setting less’ jump value is helpful.
Another tool I use, mostly for the zshall manpage, is https://github.com/kristopolous/mansnip
I have a pip-tools wrapper thing that now optionally uses uv instead. Aside from doing the pip-tools things faster, the main advantage I’ve found, and what really motivated me to support and recommend uv with it, is that uv creates new venvs MUCH faster than python’s venv module, which is really annoyingly slow for that operation.
I use my own Zsh project (zpy) to manage venvs stored like ~/.local/share/venvs/HASH-OF-PROJECT-PATH/venv
, so use zpy’s vpy
function to launch a script with its associated Python executable ad-hoc, or add a full path shebang to the script with zpy’s vpyshebang
function.
vpy and vpyshebang in the docs
If anyone else is a Zsh fan and has any questions, I’m more than happy to answer or demo.
New discussion on hacker news:
From the author, on reddit:
Made a little mistake in there: you can create FDs with higher numbers using eg.
exec {fd}<>pipe
and they’ll generate numbers above 10, plus the variables’ll be better for scripting.
CLI flow: run command, print output below
TUI flow: navigate and interact with a layout that updates in place
USING: assocs calendar math math.extras ;
CONSTANT: year-factors H{
{ "Mercury" 0.2408467 }
{ "Venus" 0.61519726 }
{ "Earth" 1.0 }
{ "Mars" 1.8808158 }
{ "Jupiter" 11.862615 }
{ "Saturn" 29.447498 }
{ "Uranus" 84.016846 }
{ "Neptune" 164.79132 }
}
: space-age ( seconds planet -- earth-years )
year-factors at
years duration>seconds
/
2 round-to-decimal ;
Even more:
If a function takes a number—whether it’s an integer, a floating-point base-2 number, or a Dec—you can always write 5 as the number you’re passing in. (If it’s an integer, you’ll get a compiler error if you try to write 5.5, but 5.5 will be accepted for either floats or decimal numbers.)
Because of this, it’s actually very rare in practice that you’ll write 0.1 + 0.2 in a .roc file and have it use the default numeric type of Dec. Almost always, the type in question will end up being determined by type inference—based on how you ended up using the result of that operation.
For example, if you have a function that says it takes a Dec, and you pass in (0.1 + 0.2), the compiler will do Dec addition and that function will end up receiving 0.3 as its argument. However, if you have a function that says it takes F64 (a 64-bit base-2 floating-point number), and you write (0.1 + 0.2) as its argument, the compiler will infer that those two numbers should be added as floats, and you’ll end up passing in the not-quite-0.3 number we’ve been talking about all along.
More quoted from the post:
Roc’s Dec implementation (largely the work of Brendan Hansknecht—thanks, Brendan!) is essentially represented in memory as a 128-bit integer, except one that gets rendered with a decimal point in a hardcoded position. This means addition and subtraction use the same instructions as normal integer addition and subtraction. Those run so fast, they can actually outperform addition and subtraction of 64-bit base-2 floats!
Multiplication and division are a different story. Those require splitting up the 128 bits into two different 64-bit integers, doing operations on them, and then reconstructing the 128-bit representation. (You can look at the implementation to see exactly how it works.) The end result is that multiplication is usually several times slower than 64-bit float multiplication, and performance is even worse than that for division.
Some operations, such as sine, cosine, tangent, and square root, have not yet been implemented for Dec. (If implementing any of those operations for a fixed-point base-10 representation sounds like a fun project, please get in touch! People on Roc chat always happy to help new contributors get involved.)
In no particular order.