1,808 karma · joined August 11, 2019
i think there's a decent chance we end up giving Dagger a spin this year.
I really like the ambition here; it's very hard for me to translate this into belief that I could start using this now and actually replace some of my existing tooling.
At the same time, I kind of hate that they went for bash-compatible. I know everybody thinks bash is unbeatable, but at some point _surely_ we're going to move past its awful syntax and footguns (and SQL, and can I have a pony?)...
It's not that names are bad - it's that when you use intermediate variables, my brain has to check whether any of the variables are used more than once - i.e., is the flow here completely linear, or is there a hidden branching structure?
the chain of methods approach makes it _completely_ clear that there is no 'tree' in the code.
If you want names (and that's a fine thing to want!) then _either_ comments or defining separate _functions_, e.g `function messageRecipient`, `function friends`, `function visibleToScroll`) is the way to go. Although with many languages that don't have a built-in pipe operator, it becomes harder to express the nice linear flow in a top-to-bottom arrangement if you take the function route. A good reason for languages to keep converging toward syntax for pipes!
For my money, you only define those functions if you want to reuse them later - additional indirection is not usually helpful - so comments would be my choice if there were no other uses of these selectors.
the Hobbits pursued not greatness or destiny, but took the only path toward life available to them and then returned to let the rest of the world get on with living.
also works great in combination with `set -g base-index 1` so that switching between the first 9 windows can be done naturally, with `-1, `-2, etc.
It seems to me that a big part of the problem here (which I have also seen/experienced) is that there's no one specific thing that something like GitHub Actions is uniquely suited for. Instead, people want "a bunch of stuff to happen" when somebody pushes a commit, and they imagine that the best way to trigger all of that is to have an incredibly complex - and also bespoke - system on the other end that does all of it.
It's like we learned the importance of modularity in the the realm of software design, but never applied what we learned to the tools that we work with.
can somebody (or ChatGPT) take a stab at making this make more sense?
Two things can be true at the same time: that this type of banter has undesirable consequences as well as desirable ones. This type of nuance is generally the sort of thing that's worth trying to understand before you try to 'fix' it.
which is really just absurd when you think about it. I don't care about another hour of battery life, but even if I did, I'd be perfectly happy if Chrome just told me "hey these extensions aren't very battery-efficient!" and I got to make my own decision about that.
thanks!
Your addition of code/runtime dependencies intrigues me. I will probably take a look at your code to try to understand this better.
I somehow doubt there's enough overlap for us to open source our work and try to merge with yours, but it's really cool to see other people working on similar concepts. I predict we'll see a lot more frameworks like these that lean on mathematical principles like functional purity in the future.
I am much happier with that muscle memory than whatever the iterm shortcuts would be.
From skimming the rest of the readme, I kind of think this is meant for "visually navigating tables in a database, as read-only operations." But I may very well be wrong. A summary of the actual use cases would be very helpful!
I don't think we had many, if any, disputes about whether anyone had been tagged, even without the belt flags.
I love the "ball flag" idea.
I think there's a fundamental verbosity to the way most SPAs do data management - I've seen it said elsewhere that when you build a SPA, you basically end up having to reinvent the database, by which it is meant that an inordinate amount of your code is dedicated to extracting data from the backend via an API and then keeping track of that state using mountains of front end code.
At some point, you have to decide - is this really two separate applications (a backend and a frontend), or is it actually just one? If you don't have a need for multiple different clients, and you already have a backend written in Python (or some other backend language, e.g. Elixir, Kotlin), then maybe you can get away with writing a whole lot less code if you can find a framework that fills in that whole in-between layer for you and lets you stick with the language you already have.
This is what the shebang in your scripts is for. If you need to write a script that is going to get shared, you have (at least) two perfectly good options:
- use bash (or some lowest common denominator)
- use a fancier (better?) shell, like fish/xonsh/nushell/oil and just require that everyone have that shell installed (they don't have to use it as a daily driver).
xonsh is not really any different from other shells - it can be installed as an isolated environment with its own runtime (in this case Python)A third and usually better option is to use a dedicated scripting language - this is of course an opinion, but many people have recognized that anything longer than ~50 lines and that will need to be iterated upon in the future is a bad fit for a shell-like language.