Live data from Hacker News

Executable Is a SQLite Database

fzakaria.com

81–90 of 116 posts

Re: Executable Is a SQLite Database

#81

I don't think this goes far enough! Make the actually app store be the same file itself. so it's a living application and the file is constantly updated to how you use it. Copy it around, and you carry your data wiht you as well. Let's go deeper. it's a webserver app + the server code + application code + db, so pocketbase++ where it's also the deployment target. Then combine it with APE liek system, and the same fil…

The TCL community experimented with an idea like this many years ago; they were called "structured documents" or "starpacks". What we found was that (A) it's usually more convenient to keep the data in a separate file, and (B) virus checkers can get suspicious when your app starts modifying itself, leading to unintentional comedy in operations. YMMV.

Re: Executable Is a SQLite Database

#82
post #27
post #20

A lot of kernel filesystem features should be inside a database as well.

Yes. In this interview Michael Stonebreaker, one of the original developers of PostgreSQL, discusses (among other topics) replacing the file system with a database : https://www.youtube.com/watch?v=YPObBOwIrHk

This is one of those perennial ideas; let's get rid of hierarchical file systems and just keep all the files in a database. Speaking as a user who knows how to keep things organized, I like hierarchical file systems. Store the data in a database if you like, but don't break my metaphor.

Re: Executable Is a SQLite Database

#86
> ELF MECHANISM: .strtab / .dynstr > The database primitive it reinvents: string interning

> Surprisingly a lot more falls out as well: .dynstr is gone, because name is TEXT and SQLite already interns strings

What's with this claim? SQLite does not intern strings, as far as I can find anywhere, and a quick test shows that duplicate strings are actually duplicated in a database file. You can intern strings in SQLite manually with an intern string table, but it doesn't happen automatically.

Re: Executable Is a SQLite Database

#87
post #27

Earlier quoted context omitted.

Yes. In this interview Michael Stonebreaker, one of the original developers of PostgreSQL, discusses (among other topics) replacing the file system with a database : https://www.youtube.com/watch?v=YPObBOwIrHk

This is one of those perennial ideas; let's get rid of hierarchical file systems and just keep all the files in a database. Speaking as a user who knows how to keep things organized, I like hierarchical file systems. Store the data in a database if you like, but don't break my metaphor.

I like a hierarchy, too. Presumably the underlying engine could be a database but it would at least appear to the user as a tree. But with the option to find files with SQL or a SQL-like language. I would love to be able to find files based on all kinds of metadata that was available for searching with the OS’s file system, and not using any special tools. I’m thinking things like EXIF data, audio file metadata, text file line count, and so on.

Re: Executable Is a SQLite Database

#88
These are the kind of posts i love.

One nit-pick;

> The preload table is a list of objects to map last, so their exports win.

made it sound like the 'map last' is a consequence of this new perspective, but it’s really still a loader convention: by definition, the symbol-resolution query needs to give entries in the preload table precedence over ordinary dependencies.

Re: Executable Is a SQLite Database

#89

(author) I'm enjoying the comments. When I published a short-paper with this idea in academic circles, the feedback wasn't so kind

Curious what that feedback was, specifically?

I won't share any feedback specially but choosing low level primitives as research I found challenging due to the unfamiliarty in peer review circles.

I enjoyed all the papers I read on my graduate classes that bordered on "art" whereas now they seem to be obsessed with performance only.

Re: Executable Is a SQLite Database

#90
This was a fantastic read thanks for putting it together. I'm always fascinated by binfmt_misc, I remember fooling around with steganography a few years ago and putting executables inside images that could then be executed using a wrapper tool + binfmt_misc.

I think this is awesome though, feels like a lot of things on OS's could just be represented by databases - where does it end?

Post reply on HN