In recent git versions (>2.23), git restore
and git restore --staged
are the preferred ways to discard changes in the working tree (git checkout -- .
) and staged changes (git reset --
) respectively.
In recent git versions (>2.23), git restore
and git restore --staged
are the preferred ways to discard changes in the working tree (git checkout -- .
) and staged changes (git reset --
) respectively.
My point today is that, if we wish to count lines of code, we should not regard them as “lines produced” but as “lines spent”: the current conventional wisdom is so foolish as to book that count on the wrong side of the ledger.
——On the cruelty of really teaching computing science - E.W. Djikstra
If you are looking at learning CS in a more holistic manner, there’s Path to a free self-taught education in Computer Science!. It’s a list of courses, categorized by topics, which are exactly what a CS undergraduate would learn. It might feel daunting at first, but you can pick any interesting topic and dive in.
I especially recommend CS50P for beginners.
One problem with exceptions is composability.
You have to rely on good and up-to-date documentation or you have to dig into the source code to figure out what exceptions are possible. For a lot of third party dependencies (which constitute a huge part of modern software), both can be missing.
Error type is a mitigation, but you are free to e.g. panic in Rust if you think the error is unrecoverable.
A third option is to have effect types like Koka, so that all possible exceptions (or effects) can be checked at type level. A similar approach can be observed in practical (read: non-academic) languages like Zig. It remains to be seen whether this style can be adopted by the mainstream.
Bingo!
Well, that already happened for Reagan and Arnold Schwarzenegger.
Philip K. Dick’s early novella The Gun describes this, but instead of chat bots, they were auto nuclear weapons.
Maybe I’m missing something, but shouldn’t the benchmark be a good approximation to the real workload? I don’t see how the measurements reflect the performance difference in real life usages.
Why would I need 100MiB/s processing as opposed to 20MiB/s processing, when I can only read maybe several lines per second?
Let me simplify it: proceeds to print the same expression
My gut feeling is that the procedural generation thing in Startfield somehow absorbs some people’s need for mods.
Deprecation warnings should contain suggestions for alternatives.
After the crush, they shout CR2032.
Look, there’s a thing called safety-catch and that’s why my son can play with semi-auto rifles.
Reminds me of the character White Rose from Mr. Robot. Here’s the introduction scene.
It’s not presented as a loop and there’s no wife panel after the fourth one 🤔
BitTorrent has partial seeding. So if someone extends a torrent with some files, the original one can still be used for seeding.
Another reason for the last bit being the slowest is because populars chunks are downloaded first.
I’m gett the ing UDP same vib joke
As other comments point out, they are usually not properly packaged through nix.
If you read the vim/plugins
modules, for most plugins, the derivation just downloads the plugin, puts it to nix-store
, and makes it available to the editor through environment variables. So it’s similar to the binary distributed software. Two most notable restrictions:
nix-store
model.So for plugins that don’t have external dependencies (or dependencies other than the “common” ones like python or sh that happen to be available), and that don’t interact with the filesystems, this approach would be fine, but the more complex ones would fail.
In your example, mason
failed because of 1, home-manager wasn’t aware that the pip
module is a transient dependency of this plugin; and treesitter
failed because of 2, because it doesn’t know that nix-store
is read-only and should be managed by nix
.
There are no general solutions, but people may have nixified some plugins on a case-by-case basis. If you don’t want to spend a lot of time (and remember that it might be broken by the next plugin upgrade), as others have suggested, take the traditional plugin management approach. (Personally, I use LunarVim which uses Lazy.nvim
and it’s been working fine.)
// TODO: Leave the code cleaner than you found