> So in summary: a future administration could attempt to sidestep those guardrails by altering the underlying legal/policy framework they’re tied to, redefining oversight requirements, or asserting emergency powers — effectively opening a path for more autonomous weapon deployments without facially violating the letter of the current contract text.
> A filesystem with snapshots makes software installation transactional. You take a snapshot, install some software, and if it doesn't work right, you can revert to the snapshot. (With very slightly more flexible snapshots, you can limit the snapshot to just some part of the directory tree, but this is not essential; it merely permits more flexibility.)
Eh, you don't typically have a lock mechanism for the filesystem equivalent to that of a database.
Who's to say something like this doesn't happen:
- snapshot fs
- op/system adjust firewall rules
- "you" install updates
- you rollback
- firewall rules is now missing patches
Don't get me wrong zfs is great - but it doesn't come with magical transactions.
A snapshot is taken before installing updates, so you'd get two snapshots from your example. Rolling back would leave you right after adjusting firewall rules.
> Don't get me wrong zfs is great - but it doesn't come with magical transactions.
I never said it did!
But if you have a snapshotting FS underneath, transactional software maintenance becomes an order or two of magnitude easier to achieve.
The underlying philosophies of Unix are "keep it in files" and "keep it simple". That's why it didn't even have a file-hiding mechanism -- the dot-file thing was an accental, emergent property.
Keep it simple, keep it visible, keep it human-readable and human-fixable.
Because the more complex you make it, the more likely it is to go wrong, and some poor sap is going to have to fix it. Do not get in their way. Instead, think about them, allow for that, and help keep their life easy.
I think looking at some of the documentation for oils (née oil sh) and ysh - as well as [looking at using] these two projects [in place of bash] - is also a good idea today:
It's different, yes. The HN implementation is called clarc. PG suggested we spell it "clerk" as a joke on the British pronunciation of the latter, but I chickened out.
I talked to one of the Anarki devs (or at least someone who uses it) about possibly open-sourcing a version of clarc which would run the original open-sourced version of HN, but it's a bit hard because the implementation would require some careful surgery to factor out the relevant parts.
Yes because we just add the things we need, at whatever layer it makes the most sense to add them.
This type of application stack that includes the language you're writing in and even, when convenient, its implementation, is really satisfying to work with. There is much less need for workarounds, arbitrary choices, and various indirections (e.g. what used to be called dependency injection, for example). The plumbing is simple and it allows us to keep the codebase much smaller than it would otherwise be. I spend basically zero time bitching about having to deal with software dependencies, making me realize how much of my former life as a programnmer was taken up with that.
I think of this as sort of the unikernel form of application dev and of course it's a fine fit for a Lisp, since "write the language you want to write your program in as you write your program in it" is the natural style there. The tradeoff is that there's a lot of vertical coupling between the layers. If you want to factor out one layer for general consumption, e.g. to open source the language implementation so other people can build cool things with it, there's a fair bit of work to do.
Also, since the language implementation exists to run a specific application, we don't bother supporting what we don't need for HN. That too comes back to bite you when you want to open source!
HN has had 15+ years of work since the original news application was open-sourced; that's a lot of things-we-added at-some-point. Most are at the application level but some ended up in Arc and some in the Arc implementation when it was convenient to put them there. This is especially handy when you have limited time to work on the code.
Replying while @dang is editing - so might be talking past current parent:
I suppose I shouldn't be surprised that Arc/clarc would be modified as news is modified (Arc sort of being built around news in the first place).
I just wouldn't expect there to be hn specific sauce in clarc that would make sense to excise if opening up clarc; AFAIK it's been stated that there's some secret sauce wrt fighting spam, detecting voting rings and so on...
Then again, thinking more about it, it sounds reasonable that some of that might land on the Arc/clarc side, not in news.
(sorry for editing on the fly - I can explain why I do that but I know it can be annoying when someone is trying to reply! and yes, all that sounds right.)
I'm like you, there is an edit button, so I use it. I have to make a choice and I choose all the people who will arrive in the future over the small number of people who might have read what I've already poorly written, people who can get over it if they want to, even using their edit button if they wish.
I think Dang is saying that you don't need DI. DI is a way of having some generic code be able to call some specific code when needed. If your whole stack is specific you don't have that problem - instead of the DI call site, you just call the function! Much simpler.
In my own game scripting scheme, I use implicit argument passing, like a cancellation token to async calls, and a rendering context used for immediate mode esque rendering.
Clearly this is mostly security theatre (see eg comment about proving that them printer can't print a printer that can print a gun).
On the other hand - it would be low hanging fruit to prevent off the shelf printers to print well known gun parts? Much like photocopiers and scanners and printers won't scan, copy or print known currency bills?
> The panel on Thursday recommended the manufacturing and sales of two iPS cell-derived products on condition that the two developers conduct studies involving all treated patients and further verify the efficacy and safety of their respective products within seven years.
> Cuorips, a startup originating from the University of Osaka, developed cardiomyocyte sheets for treating ischemic cardiomyopathy, a serious heart disease.
Sumitomo Pharma submitted an application involving cells for transplantation into the brains of patients with Parkinson's disease, which causes symptoms including tremors in the limbs.
> The two companies had applied to manufacture and market the products last year.
https://chatgpt.com/share/69a439b3-dfe4-800d-926e-39db221fba...
AI;DR
> So in summary: a future administration could attempt to sidestep those guardrails by altering the underlying legal/policy framework they’re tied to, redefining oversight requirements, or asserting emergency powers — effectively opening a path for more autonomous weapon deployments without facially violating the letter of the current contract text.
reply