Login
You're viewing the fosstodon.org public feed.

Replies

  • Nov 13, 2026, 8:55 PM

    roughing out more and more basic first draft iterations of algorithms for updating the database and I am *sure* they are probably not particularly performant

    but they do seem to work, which is currently the important part.

    💬 0🔄 0⭐ 0
  • Nov 13, 2026, 8:54 PM

    @aud SQL keeps getting not-invented-here by people who don't understand why it works as well as it does, and so we keep getting stuck with the problems of SQL. Sigh.

    💬 2🔄 1⭐ 0
  • 💬 1🔄 0⭐ 0
  • Nov 13, 2026, 8:57 PM

    @aud Admittedly, that's less an algorithm than deferring algorithmic details to the RDBMS in question, but uh. That's a very good idea. There's not many kinds of software more aggressively optimized than RDBMSes.

    💬 2🔄 0⭐ 0
  • Nov 13, 2026, 8:59 PM

    @aud What if we had an interoperable standard for specifying how software should depend on extremely optimized backends in a way that breaks tight dependencies between frontends and any particular choice of backend, and also what if it used COBOL-era syntax and what if we didn't teach anyone why it was good and also what if techbros hated it for no fucking reason and also what if we made every API binding for it feel like J2EE.

    💬 1🔄 1⭐ 0
  • 💬 1🔄 0⭐ 0
  • 💬 2🔄 0⭐ 0
  • 💬 1🔄 0⭐ 0
  • 💬 0🔄 0⭐ 0
  • 💬 1🔄 0⭐ 0
  • 💬 1🔄 0⭐ 0
  • 💬 1🔄 0⭐ 0
  • Nov 13, 2026, 9:10 PM

    @xgranade @aud That clause has never applied to users - SQLite is public domain and has no license.

    (They do have a CoC that includes the Rule of St. Benedict ... but they don't accept contributions directly from outsiders anyway.)

    💬 1🔄 0⭐ 4
  • 💬 0🔄 0⭐ 3
  • Nov 13, 2026, 8:59 PM

    @xgranade That's pretty much what I figure, yeah.  And to be honest, I am sure I doing *too much* in Python still (but figure I can always move it to the database once I figure it out).

    Like I suspect there is *probably* a way to go "here is a set of data I want you to add to the database: add a new entry if it doesn't exist, update the existing one with the new information if it does" in one shot.

    It isn't the worst that I'm doing it as multiples steps or anything (find existing entries, add ones that don't exist, then update the existing ones... still need to do that last step) but.

    💬 1🔄 0⭐ 0
  • 💬 1🔄 0⭐ 0
  • 💬 2🔄 0⭐ 0
  • 💬 1🔄 0⭐ 0
  • Nov 13, 2026, 9:05 PM

    @xgranade Had no idea it existed 😅 I'm kinda flying by the seat of my pants here, SQL wise, and figure that worst case scenario if what I am implementing works I can make it more efficient with better SQL commands in the future...

    (can you tell I literally only know SELECT and INSERT, by any chance?)

    💬 1🔄 0⭐ 0
  • Nov 13, 2026, 9:06 PM

    @aud It's been 25 years now, but I used to be certified in MS SQL Server as a DBA... so it's distant memories for me, but I do like SQL in principle if not always in practice.

    💬 0🔄 0⭐ 0
  • Nov 13, 2026, 9:03 PM

    @xgranade It's *not impossible* that I am interested in separately figuring out which ones do and do not exist (because there is a *notion* of versioning at play here, in the project in general, that isn't fully fleshed out; not sure how much I want to live in the database because versioning could add a LOT of extra data that maybe isn't important?) but UPSERT is almost certainly how I want to do it here.

    💬 1🔄 0⭐ 0
  • Nov 13, 2026, 9:04 PM

    @aud Yeah, I'm fortunately in the situation where the database I'm working with isn't a source of truth, but a cache for metadata elsewhere, so I'm free to blow it away and rebuild it whenever with at most a performance penalty, but if I wasn't in that case, I'd have to worry a lot more about migrations, which is where things get really nasty imho.

    💬 1🔄 0⭐ 0
  • Nov 13, 2026, 9:05 PM

    @aud I do wish ORMs that had migration support more commonly considered desktop apps and not only server-side migrations, but that's neither here nor there.

    💬 1🔄 0⭐ 0
  • Nov 13, 2026, 9:07 PM

    @xgranade I'm trying to be very careful about the data format I make here because I want as few migrations as necessary and possible, and that if I DO have to do them they are simple and yeah, can be done manually or automatically, both server and desktop side.

    I doubt I am going to get away with version 0/1 of the database schema being the final one but I doing my best to get as close to that as I possibly can.

    💬 1🔄 0⭐ 0
  • Nov 13, 2026, 9:10 PM

    @xgranade But yeah, definitely the idea here is that I cannot, and never will, be able to blow away a production database, and so the less one has to fuck with it during upgrades, the better.  This is also why my first round of real, actual testing will be done against something I am hosting, so that as I test it against real data I'm only fucking myself over by scraping my own service a trillion times...

    Somewhere in the back of my mind, I'm wondering how easy it would be to serve up a wikipedia copy via HTTP and let myself scrape against it.  Worst case scenario, I just hit the hell out of my own social media, I guess, because I imagine once I see how the database grows and performs under load I might have some very different ideas about what the database looks like...

    💬 0🔄 0⭐ 0
  • 💬 1🔄 0⭐ 0
  • 💬 3🔄 0⭐ 0
  • 💬 0🔄 0⭐ 0
  • 💬 0🔄 0⭐ 0
  • 💬 0🔄 0⭐ 0