Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
TabDB: Using browser tabs as a database like only a maniac would (github.com/kkuchta)
235 points by janandonly on July 1, 2023 | hide | past | favorite | 58 comments


This is the database that shows up when I’m trying to pitch PostgreSQL, but the boss read a blog post and now has Strong Opinions, and now my job depends on writing a comparative analysis of PostgreSQL and TabDB that reaches the right conclusion while also making anybody who advocated TabDB look smart and feel like they contributed. I literally just wanted to code.


> I literally just wanted to code.

You just described the career trajectory of every competent Principal Engineer.


Why must you hurt me so...


Everyone knows that BookmarkDB is a more durable solution.


Boasts a very simple to use export and import feature, with supported engines on Chromium and Firefox browsers.


but not as scalable as Route53DB, obviously


This is a good idea but badly implemented, there is no persistence between browser sessions. Clearly they should be using the document.location.hash to store the compressed db then you also get undo via back...

Also with no LLM or chat based ui it's a hard pass from me.


Yeah without the data being added to a blockchain to automatically sync to my multiple devices, I'mma say no to this.


It's a cool project but I wouldn't use a blockchain for this. Federation is the new hotness, and it's way better, for reasons. So yes, I won't use this until they allow me to federate my browser tabs.


You just need it to send an email on every update with the full db contents and then set up another browser elsewhere to read the emails and update their tabs and you'll have state of the art federated database replication.


That's right, blockchain = old and busted.

Buc Nasty, what can I say about that blockchain that hasn't already been said about Afghanistan? It is bombed out and depleted...


> federate my browser tabs

The entire Pocket business plan


I think it's really not benefitting from some quantum algorithms that exist, so I'm out.


Needs a WASM rewrite now that SQLite support is official. Otherwise little sense to consider this for production.


I assume the WASM rewrite would be via Rust. I think the extra runtime safety would dramatically increase the effectiveness of TabDB.


If it’s not federated then you’re literally supporting genocide in the Levant. The only ethical choice is to spin up a TadBD instance.


It's not blazingly fast. I'm out.


Where can I buy cloud storage with it?


I’m can’t believe that nobody said this but I can’t run this bare metal on my raspberry pi pico. It not being a single header C89 with no dependencies to the stdlib makes it a hard pass for me


Would benefit from the addition of a message queue and son server less functions


but it's already server less...


No, this is local first, and a great example of it. Although it's missing its serverless edge functions for collaborative multiplayer support.


Needs to find a way to pay AWS


Calling the AWS donation API in the background now fulfills that requirement without degrading your app's performance.


Unless it scales horizontally and vertically, which it apparently doesn't, that's a no me as well dawg.


You can get vertical scaling by installing the tree tabs extension.


It currently scales diagonally and convexicaly but cylindrically scaling is being worked at.


I call this fake news, browsers have had the ability to scale vertically and horizontally for ages and obviously TDB fully supports it as well. It even boasts experimental support for multi monitor setup (although some glitches are to be expected)


I hoped it's something like TabFS and I could query my tabs content with SQL but it's not. Seems useless to me, sorry.

https://omar.website/tabfs/

https://github.com/osnr/TabFS


Oh wow, thanks for sharing, I’m installing tabfs.

That being said, tabdb is useless, but that isn’t a bad thing.


hmm, this is actually interesting, thank you.

but let's not get off topic, so let's instead explore how both tools could work together.

first of all, tabfs is going to map the tabdb to files and directories in the filesystem. (btw: that would be an interesting tool in itself. storing rows and columns as a directory tree, which each field being a file...)

...


> btw: that would be an interesting tool in itself.

And a very inefficient one at that :)


Is it actually possible to allow a tab/site store and manage large persistent datastore? It would be useful to build certain applications that way (like some next gen desktop apps).


I wonder how the first browser was made. I mean obviously the developer would have needed an existing browser to run it in, not to mention a browser to run their ide, their debugger, the container orchestration. Seems impossible. Maybe they had to use slack bots or something.


In those days the impossible just took a little longer: we wrought them with magnetised needles and steady hands.


The developer of the original Javascript was a smart guy. He wrote the following code:

    eval(process.argv[2])


Please tell me you're joking


IndexedDB


Related: I recently released https://tabserve.dev which is a reverse proxy using your browser tab.


> Every time you run an SQL query, it grabs all the data stored in the neighboring tabs' titles, concatenates it, unzips it, and loads it into an in-memory sqlite database

Last time I checked, Firefox stored bookmarks in a SQLite db as well.


SQLite is a fantastic little tool tbh.


In the olden days of Twilio I implemented a similarly-useless datastore on top of the Twilio webhook client's cookie jar.

It was limited to like 10kb and in order to run a query you had to make a phone call so it was incredibly expensive.


There are 2 projects from the same dev on the front page of HN … that’s like a Nobel


oh, i skipped over the other one, thanks for pointing that out


This is my favorite kind of small fun projects, reminds me of the video about harder drives [1], where the author used ICMP echo requests to store data

[1] https://youtu.be/JcJSW7Rprio


i thought this would be some kind of tool to manage tabs, index them, make them easier to search, but no...

...NOOOOO!!!!!!...

.

.

.

.

noooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo



I recommend Sidebery.


This is excellent. We can definitely make a problem for this to solve!


Does anyone know if this is web scale?


It doesn't use Mongo DB, so no


Hmm maybe I’m not being fair but my initial reaction is that this uses SQL.js as a database and browser tabs for backups. And then restores from the backups before each query instead of just reading from the in-memory db.


Can this be connected to a 3D printer and create 3D fractal objects that are a physical representation of the database that can then be laser scanned to read the data?


This is reminiscent of Tom7's Harder Drives.

http://tom7.org/harder/


It doesn't seem to be fault tolerant...


No horizontal scaling either. Does the author even Kubernetes?


>No horizontal scaling either

You must be using vertical tabs.


DUde.....just thank you!




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: