Hacker Newsnew | past | comments | ask | show | jobs | submit | marcua's commentslogin

Thank you for sharing!


https://blog.marcua.net/

The content has varied over the years, but in the past few years, I've used the blog to explore side projects outside of work. This has allowed me to separate my primary responsibility at work (manager/unblocker/collaborator/prototyper) from my personal interests in hacking.


(author)

It's so helpful to read the headline through your eyes! While I can't change this title on HN, I'll tone down/relegate the multi-tenant bits to the features section in the future. Thank you for this feedback!


(author here)

Thank you for your kind words and the great question!

To your compliment: I agree ayb can help with easier prototyping today.

To your concern: I would not use ayb in a production setting today. To be explicit, while the roadmap [1] is long, I think that ayb will be useful in production once we've implemented a v1 of auth, permissions, persistence beyond the node, and isolation.

To "how to prevent that," here's a rough outline that I'm open to feedback on:

  - Implement the v1 features above

  - Host a public instance (and encourage others to, not trying to empire-build)

  - Build some fun applications on top of the public instance myself to stress test it

  - Encourage others to do the same and/or run some "learn SQL" classes to better understand where beginners get stuck and address those issues
Thank you again for your interest! Please share any feedback!

[1] https://github.com/marcua/ayb#roadmap


I mean the fact that you have, what looks to my senior engineering manager eyes as, a coherent technical roadmap, puts you further along than almost every hobby level prototype tool.

Excited to see where it goes and if there’s an associated space here for integrating some form of environment management to wrap up all those other loose ends around dev.


Fascinating! It's great to see lots of people working on this problem. If you have any running examples, I'd love to see them to understand how the different actors in your documentation work. Thank you for sharing this!


Hello!

There is a very long walk-thru in the Demo.md file -

https://github.com/dynamoRando/treaty-mono-repo/blob/main/tr...

Since this has been a hobby project I haven't yet published any public docker images, but there are docker files that you can pull from the repo and build if you wish.


(Hi there! Surprised author here---I hadn't realized this made its way to the front page)

I love your questions because they get to the heart of how to make this stuff easier for more people, and in transparency, I only have some of the answers! :)

> What's the permissions/ACL model, and how do you keep that from getting too confusing for the average person? (You asked a lot more here, but I think this is the root of this question) The admittedly naive permissions/ACL model I'm envisioning/speccing now is at the database level, similar to GitHub at the repository level. If you create a database, you can add read/write and read-only collaborators, one of which is `public`/`world`, which would make the database accessible to unauthenticated users.

Your questions around table slices/views are excellent, and in the model I'm proposing, ayb won't be able to help. The model I'm proposing will be good enough for "here's my dataset, and you can build on it" or "I spun up a project and have a private DB that my webapp is gating" but not "I want user X to have access to row Y." Row-based auth would thus be pushed into the application layer, which seems to come with the territory with SQLite as best I can tell. To contrast, something like Supabase is able to provide both a database and row-based auth because Postgres provides better support natively, and Supabase then made it easy to add common auth providers.

> what makes your CLI wrapper that accepts SQL (or your HTTP API that accepts SQL) any easier for average users to consume than just installing SQLite themselves and running the exact same SQL If the goal is to write/learn SQL, I agree that ayb offers nothing on top of SQLite. As SQLite is the database and ayb is the database management system, the things ayb makes simpler are on the "management system" side --- without ayb, it's hard to create a new one, it's hard to control access, and it's hard to access one from a web application. You're right that by that definition, it's more developer-friendly than power user-friendly, and I hope we can do better with future iterations.


Thanks for the candid answers -- sounds like this hit HN a bit earlier than you would've planned, which I realize can create a weird awkward tension between planned goals and current state and HNers' expectations.

I think it's cool that you're trying to tackle adding simplicity to managing a multi-user (if not actually multi-tenant, given the lack of row-level permissions management) SQL DB. My suggestion then would be to refine your pitch so that it matches your project a bit better -- that way you avoid the problem of people disappointed to find it doesn't do something they expected (but which it was never trying to do).


Thank you for sharing this! One thing I noticed is that, to benefit from the natural language processing tooling, you had to first transcribe the audio. Is there some mechanism for avoiding that pre-processing step with the help of speech recognition models (e.g., OpenAI's new Whisper model)?


Steamship works a bit like the the heyday of jQuery plugins:

File.import(url).transcribe('service').tag('service').query('..')

Except instead of manipulating a web page like jQuery, it orchestrates remote NLP workflow over your data. We haven't released our SDK yet, but we're working to make a bunch of awesome reference plugins to let folks mix and match different models out there.

Whisper will definitely be in the mix!


Thank you! I wish I had found this sooner to try it out. Similar question to the other one I asked on this thread: what sort of fidelity have you seen in `archivebox`'s rewritten static asset URLs? Having to fix URLs that weren't properly rewritten ended up taking me the most time.


This is great! It looks like you can even grab WARCs using `wget`: https://golangexample.com/put-a-web-archive-warc-on-an-s3-bu...

I'm curious: what sort of fidelity have you seen in `grab-site`'s rewritten static asset URLs? Having to fix URLs that weren't properly rewritten ended up taking me the most time.


grab-site doesn't rewrite URLs, it captures the entire request and response of each http request for an asset and stores as-is for archival purposes. The quality of any mutations or transformations performed will be governed by the tooling used to consume the generated WARCs.

More detail on the WARC format can be found below:

https://www.loc.gov/preservation/digital/formats/fdd/fdd0002...

https://en.wikipedia.org/wiki/Web_ARChive

http://fileformats.archiveteam.org/wiki/WARC


This is really helpful! Thank you so much!


Good question! When a designer is extracting content from a customer's old website, they save all of the structured information about that customer in a single context, keyed by the customer's ID.


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

Search: