641 karma · joined July 15, 2019
I think it's more broadly applicable
I remember when they added the new themes, and hold-to-increase in the timer and alarm app, which are 100% my biggest use-cases.
To be clear there are definitely a few ideoms I'd need to learn before considering this readable (it ain't psudocode), but I generally see all the building blocks and recognize what they're achiving. Maybe I'd have put them together slightly differently, but that could be equally true in Python. I'd rather learn this next than C++.
The density of how it's been written reminds me of some lisp code I've read, some implementations of state machines can be hard to follow too (in the classic "but where does it do the thing?" sense). I attribute a lot of the stuff that I don't follow to the lower-level C influence; I'm working for the first time with memory managment, structs, static types, pointers, bitwise opperations, etc.
Think I made my point in there somewhere >z>
Would love to know where you're coming at it from, I'd imagine that the C or 'kinda functional control flow' aspects might explain what looks most forign to you too (unless you have broader experience with low level languages)?
Will probably need to DIY, but if you know any (ideally composable) tools that can cover even a portion of this system, please let me know before I start wiring Buku into Emacs.
KingK, Mandalore, Daryl Talks Games, RagnarRox, Adam Millard, Chariot Rider, HBomberGuy, SuperBunnyHop, Lambhoot, GManLives, GrimBeard, ThorHighHeels, Nerrel, MathewMatosis, WillLovesVideoGames, Writing on Games, Game Makers Toolkit, and (duh) Jacob Geller
Other comments appear to consider anything over a single hour unrelateably long, nevermind for scripted content...
What I didn't pick up along the way was accessability... anyone got recommendations for lesser known, quality, maybe even first-hand resources on eg. ARIA?
Absolutely, my first thought was `dynamic-wind`.
https://www.gnu.org/software/guile/manual/html_node/Dynamic-...
Prikler's suggested syntax feels apt, as sugar for (I imagine) a set of native Guile parameters around the remaining fields of the package definition. Infrastructure will need created to implement inheritance, possibly at the level of fluids, in a manner that complies with the Guix maintainers preferences.
Thinking about how I tended to manage my USE flags (ie. through `package.use` as a directory), I think that the balance of package-level impact and operating-system-level syntax (how will services be affected?) will be interesting to see developed
Though frankly, any Vimmer using Emacs knows this already. Someone's either trolling, or never saw any reason to leave Vim and find out what these are options are really like, picking up the misunderstanding along the way.
I'd totally get that, these lists are awesome and maintaining them is hard work-- it's otherwise pretty great, and congratulations to everyone involved! I've always felt jealous of the folks funning neovim in their browser text-areas.
As an aside: I stick with emacs because of the modal and recursive minibuffer(s) (ie. command-line(s)). What vim setting do I change to be able to use normal mode down there?
> $_IN: [...] For collections, this is a space separated list of filenames > [...] > I haven’t written any software for this
Bit early for this sort of nit-picking, but that will need to be either a.) an escaped and quoted list or b.) an argv array that doesn't undergo word-splitting.
Bonus consideration: What if the user's shell isn't sh? Perhaps it's out of scope (ie. this shouldn't support every use case of Make), but for what it's worth, they support all sorts of recipe interpreters.
This means that we lose the non-Nix build processes, but I get to keep the best of both worlds, and don't have to run `nix shell` or setup direnv.
"Uhm, actually" I use Guix, but the idea is the same:
SHELL = guix shell -m manifest.scm -- bash
public: hugo content
emacs $(pwd) --batch -l export.el
[...]
Or without an external manifest: SHELL = guix shell --pure bash coreutils emacs emacs-ox-hugo hugo -- bash
This is equivalent to the common shebang trick: #!/use/bin/env -S guix shell -m manifest.scm -- bash
Or just invoking Guix inside the recipe: public: hugo content
guix shell -m manifest.scm -- emacs $(pwd) --batch -l export.el
Depending on the complexity of `export.el` (< 5 lines?), I'll often keep that inside the Makefile too; the less files, the better!But I get it if one wants that file available to call from elsewhere.