This model has some significant downsides for humans, but less so for automatons. It eliminates some major problems of software development like merge conflicts, dependency hell, etc.
I still have my copy of Learning Perl. Mostly because it represents a milestone in my learning. I have kept and obtained a number of other books simply because they are antiquated, special and/or classics that are interesting to read even if they are not that useful to me, like Codd's relational book, or Calendrical Calculations. I hope the AI is trained on these sorts of books, so that the knowledge can live on in a different way.
I might be missing your sarcasm, but this is a common approach for large scale builds. Virtual filesystems are used to provide a pre-computed tree hash as a xattr. In a more typical case, you can read the git tree hash.
>The browser extension doesn’t work half the time. In addition to being frustrating, that makes it a less secure system, as one of the benefits is that it only fills the password on the specified domain. A lack of reliability of the extension leaves people more vulnerable to phishing, since they have to copy/paste passwords out of the app.
This is my main frustration with it as well. It is one of the main features in my mind, and it often does not work. It seems to work for many sites I use on desktop (Firefox on Linux, Mac), but doesn't work well at all on Android (Android app and Firefox). I can understand if this issue is outside of 1password's control because it possibly is due to specifics of Android's APIs, but I would prefer transparency in the matter.
It is comparatively unsophisticated, but I need it so infrequently that it has been good enough.
I do like the idea of maintaining a complete snapshot of all history.
This is a good application for virtual filesystems. The virtual fs would capture every write in order to maintain a complete edit history. As I understand it, Google's CitC system and Meta's EdenFS work this way.
Seems that the Google-style approach would be a good fit: mostly one codebase with a well-defined dependency graph, and build/test infrastructure that supports fast and comprehensive validation. This would seem to obviate the need for the catalog system described, but probably requires more investment in the build system.
This is one of the main problems I have banging my head on for the past decade, and many of the things mentioned, like Buf, Unison, and more, I only stumbled upon randomly on my own. It's refreshing to read an article on this subject simply because it's so under-discussed. I also wonder to what degree these problems have been solved within the high walls of the tech giants like Google and Amazon.
This is perhaps a bit different, but Fossil supports storing more types of written company artifacts in the repo:
>One notable feature of Fossil is that it bundles bug tracking, wiki, forum, chat, and technotes with distributed version control to give you an all-in-one software project management system.
I have been doing this for decades. My files are in a sub-directory of $HOME. It also makes it very obvious when a piece of software does not treat your $HOME with respect.
What is the benefit of having this be a standard? Can't an agent follow a guide just as easily in document with similar content in a different structure?
I don't think it's meant to be a point against abstraction or a point against complexity. I think it's widely understood that abstraction is part of how advancement is made in our practice, as well as in other disciplines. I have taken this saying to be an observation that there is almost always possible failure beneath the façade provided by the abstraction. Therefore, yes, you avoid having to let that complexity enter your brain, but only when the abstraction is holding. Beyond that point, often after pages are sent, you will still have to engage with the underlying complexity. A proactive measure following from this idea would be to provide support in or alongside your abstractions for situations where one must look under the bonnet.
What you are describing is basically remote buildkitd. That allows all of your docker builds to share a big cache. The cache-to/cache-from approach is of limited usefulness.