Lobste.rs is now running on SQLite

(lobste.rs)

135 points | by abetusk 4 days ago

23 comments

  • homebrewer 3 hours ago
    It's been fairly unstable recently, pages sometimes render for several seconds which I've never seen under MariaDB. Used to be instantaneous, always.

    Sometimes (maybe 5% or less) the request won't render at all, and you get a browser error page.

    Today they ran into this bug, lost a bunch of voting data, and went into read-only mode for several hours:

    https://github.com/rails/rails/pull/57128

    I wonder how much of this is usual bugs which crop up during major database migrations, and how much is caused by choice of SQLite.

    • eterm 2 hours ago
      SQLite definitely seems like a poor choice for dealing with many concurrent requests.

      Maybe it's improved since I last used it, but to my knowledge SQLite essentially forces all writes to be serialised, at risk of data corruption otherwise.

      There are tricks for improving the performance such as WALs, but that is merely a performance boost rather than genuine concurrency with things like row-level locks that you might find in other databases.

      I guess if the whole thing is architected with a write-through cache that handles concurrent writes and deals with serialising all the writes, then it can be a single writer streaming changes through to the database, but then you still have a point of serialisation, it just will manifest itself slightly differently.

      And SQLite is something that will give you constraints you will always have to consider.

      Whereas running mariadb or postgres on the same machine would deliver similar benefits without a risky migration.

      If your DB is small enough to run as a SQLite database, then it probably ought to have never been on a different machine in the first place.

      There is a very happy medium between SQLite and a database on a different machine, one I am continually surprised to see people ignore.

      • veqq 24 minutes ago
        Lobsters doesn't have many writes. Getting hit by a bunch of scrapers increases reads.
        • eterm 7 minutes ago
          I wouldn't expect that problem to be solved at the database layer, that's what http caches are for, then application level in-memory caches, then finally if neither of those hit, go to the database.

          For example, one of the biggest optimisations that Hacker news does is that it serves logged out users from a cached copy of the front-page.

          Logged out users don't care/notice about comment counts, they don't notice that it doesn't update as often, they can't be hiding articles so you can serve the same front-page to the millions of anonymous users and bots, and update that cached copy once and on a slower cadence than every request.

    • anonzzzies 48 minutes ago
      Not sure if this is SQLite or driver/Rails issues? We use it for sites and systems with a lot more (but similar) traffic and have no issues; we did write the drivers we use ourselves (for Node) as we got into much issues with the popular/existing ones.
    • srcreigh 2 hours ago
      Pages (especially threads while logged in) taking seconds to load definitely happened to me pre SQLite migration.
    • abrookewood 39 minutes ago
      I jsut had this happen - it was my first visit to the site and probably my second page load. Tried opening the About page and it was completely blank. Thought it was odd & reloaded, which rendered correctly.
    • pudgywalsh 1 hour ago
      It must be absolute torture for all 14 of their users.
      • jdiff 1 hour ago
        Yes, a pox on othersite, all hail currentsite.
      • CursedSilicon 1 hour ago
        Why do we need any other sites at all? Let's just all use Facebook
  • evanelias 2 hours ago
    Some of the cited reasons for moving off MariaDB [1] seem misguided, in my opinion. Especially the part about "K1 are very enterprise-focused, so the database is likely to focus its work on features that are not relevant to us. There's increased risk they drop the free/open source version we use"

    K1 acquired the commercial entity behind MariaDB Enterprise, but that's separate from the non-profit MariaDB Foundation. And there's literally zero risk of the MariaDB server suddenly going closed-source; as a fork of MySQL (which is GPL), this is not even legally possible!

    [1] https://github.com/lobsters/lobsters/issues/539#issuecomment...

    • zinodaur 26 minutes ago
      As a big user of MySQL - moving off of it does seem like a good idea, if you can. The longer you wait, the harder it will be to flee
    • saila 1 hour ago
      The GPLv2 doesn't prevent a company from distributing binaries and making the source available on request while development is done behind closed doors. This wouldn't really be "open source" as we typically understand it and might be cause to exclude it from some Linux distros, for example. I'm not saying that K1 would do this (I have no idea who they are or what they do), but I also think it's a reasonable risk to consider.
      • inigyou 58 minutes ago
        That was precisely how the original free software movement started, actually. Work was done behind closed doors and if you didn't like it, you released your own version with your changes.
      • evanelias 1 hour ago
        I don't see how that would be a realistic risk? Any MariaDB user (including Lobste.rs) could request the source, and per the GPL it must be supplied, so this isn't an effective strategy for any entity to go closed-source.

        And in any case, https://github.com/MariaDB/ links to mariadb.org which is run by the MariaDB Foundation, not the commercial enterprise owned by K1.

    • edoceo 2 hours ago
      And even if it did go closed-souce, your existing install can run for ages because the vendor cannot force upgrade. One of my favorite features of FOSS.
      • NuclearPM 1 hour ago
        How could it go closed source?
        • c45y 1 hour ago
          Probably in the way Minio did. Technically the source is still available but the controlling entity behind it have shut down all changes
    • vasco 2 hours ago
      This makes little sense but I guess they get little traffic so pretty much any database will work for them.

      If traffic grows they will find problems, then limitations, then move to postgres. And if not it's fine. Story old as time.

  • chasil 1 hour ago
    Some observations:

    1. Stats are used by "Cost-Based Optimizers."

    I think this is the most appropriate wiki:

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

    On my Oracle databases, I run the dbms_stats.gather_database_stats package procedure once a week. SQL Server also has stats for sure, and I would be surprised by a relational database that did not.

    SQLite will quietly gather stats with each database connection. Running an explicit analyze devotes full attention to an otherwise piecemeal group effort.

    2. I don't think rows are physically removed when deleted, instead they are marked. Removal will definitely happen at vacuum.

    3. There is a backup command in the CLI that will make a transaction consistent copy of the database file, and there are lower-level C functions behind it that can be used with object code.

    4. It is important to remember the many restrictions of WAL mode, including the impact on ATTACHing multiple database files: ACID consistency is lost.

    https://sqlite.org/lang_attach.html

    'Transactions involving multiple attached databases are atomic, assuming that the main database is not ":memory:" and the journal_mode is not WAL.'

  • tetris11 4 days ago
    Oh wow. Off-topic but quite refreshing to see a site not absolutely plastered in AI posts
    • grebc 3 hours ago
      HN is increasingly bot central, I kind of assume 80% of the respondents are artificial.

      Lobsters still got a pulse, largely.

      • rickcarlino 2 hours ago
        Invitation-only is the future of online communities. Lobsters still has a pulse because you need to know someone to get in and it’s a bad look if you invite annoying people.
        • tverbeure 1 hour ago
          I wish lobste.rs would be a tiny bit easier to get access to. Some of my blog posts have been discussed there and every time I try to get access, I can’t get past their IRC stuff.

          As in: I just don’t understand how IRC works…

          • inigyou 57 minutes ago
            IRC is just Discord but without a hardcoded server address, what's hard about it?
          • cpach 1 hour ago
            FWIW, you might want to consider publishing your e-mail address in your HN profile or on your website. Otherwise it’s hard for people to get in touch with you.
          • pudgywalsh 1 hour ago
            You should overlay a banner on your blog when they send you an HTTP Referer explaining their nonsense. Maybe then they'll get the message.

            Then again, maybe they like the ability to critique your posts without you being able to rebut their opinions. It's an effective tactic in online echo chambers.

            • accelbred 30 minutes ago
              From their about page: "If you wrote a link that was posted, please reach out in chat, we'd love to have you join the community."
          • arjie 1 hour ago
            Well, lobste.rs requires an email to invite a user. If you had one on your profile, or on your github, or on your website I would have done it as a drive-by since your site is interesting and pretty lobste.rs-y content.
          • devilsdata 1 hour ago
            I've been waiting for my lobste.rs invite for years. I joined the IRC for a few days, but being in Australia, rarely saw too much activity. I could chase someone down for an invite, but at that point I just don't care that much.
          • Xeronate 1 hour ago
            im sorry but maybe connecting to irc is a bit of a filter on the users they expect. especially with ai it should be almost no effort.
        • cdrini 1 hour ago
          > Invitation-only is the future of online communities.

          This feels antithetical/dystopian/elitist compared to what online communities are, for me. I think it's ok for some communities to be like this, but I don't think it's the future of online communities.

          • qsera 1 hour ago
            I think it is better to have some elitist communities, than to drag everyone down to some least common denomination...

            I think that was one of the big mistakes/oversight that came with the Internet..

            • cdrini 1 hour ago
              I think some are fine, but if I had to choose one I'd choose open access, so I think it's the more important of the two. And in fact it's because the web is open, "no permission needed" by default that allows elitist groups to exist on the web. So I don't think I see it as a mistake. The alternative would be... You can only create a website if you're invited to the internet by someone who already has access? You have to get approval for your website from some authority before it goes public? Those were all potential futures we imo thankfully and carefully avoided!
            • inigyou 56 minutes ago
              This is called the Eternal September problem, after the influx of fresh users to Usenet at the start of every school year, being extended indefinitely as AOL brought new users continually to Usenet.
          • Barrin92 46 minutes ago
            I think we need to remove dystopian and elitist from the dictionary because at this point you can't breathe without being accused of it.

            Deciding who is in or out is the fundamental basis of any community, that's freedom of association. That's what defines a community. A place anyone can enter is a train station bathroom and that's what the logical terminus of the open internet seems to be.

            • cdrini 37 minutes ago
              I think scopes/criteria/boundaries on communities are fine, I disagree that invite-only (as one implementation of community boundaries) is the future of online communities.

              Although the statement "invite-only only is the future of online communities" isn't super well defined (what does it mean to "be the future"?), so I think the comments are debating past each other.

        • OutOfHere 1 hour ago
          That's nonsense wrt invitation-only being the future. I can equally say that free speech is the future. For comparison, Reddit does very well without being invitation only.
          • Xeronate 1 hour ago
            reddit does okay from a profit standpoint. reddit does terribly from a bot or even a good community standpoint.
      • synqvest 1 hour ago
        The two mods that oversee this site will soon have to deal with a Faustian bargain. They can continue shadow banning actual users whose opinions they find problematic, and instead have content mostly posted by bots, or they can ease up on their guidelines so we can post with a bit more room to breathe. Human content will become rarer. Who knows, maybe they go towards invite only like lobsters? YC bootlickers only?

        Either way, good luck to HN. Hoisted by one’s own petard.

      • OutOfHere 1 hour ago
        That's an unsubstantiated and false accusation wrt the 80%. If you believe it, why are you even here? Are you one of them?
    • gspr 3 hours ago
      It's a wonderful place. It feels like HN, but with the Silicon Valley attitude dialed way way way down, and with a much narrower scope (politics, economics and entrepreneurship are all off-topic, for example).
      • NetOpWibby 1 hour ago
        The SV attitude isn't there but there's active assholes who wield their moderation weirdly. I deactivated my account before deactivations were added to the logs and I don't remember what made me quit. I've largely avoided Lobsters since.

        I joined their IRC channel last week and it's been rather chill.

        I do like the invite-only nature of the site though, keeps quality high...while making some folks tyrannical.

        • cromka 38 minutes ago
          Every such "club" inevitably attracts a specific sort that badly want to join just for the sense of exclusivity and a chance to virtue-signal their member status. It's same thing with some hard-to-get-into torrent trackers — once in, people become poster-children for Stockholm syndrome and the mods really get off on their perceived power. It's also the same with expensive new sport car models that manufacturers sell to collectors.

          My intuition says it's to do with Status Signaling theory .

      • christophilus 2 hours ago
        Huh. I’ve largely avoided it, but that does sound pretty nice.
      • dgellow 2 hours ago
        [flagged]
        • dprkh 2 hours ago
          If still relevant, you can email me and I will send you an invite. My email is dprkh at fastmail dot com
    • Aurornis 2 hours ago
      Lobste.rs is very anti-AI. They force any LLM topic to be tagged with “vibecoding” even when the majority of LLM posts are not about vibecoding.

      AI posts are usually the most commented on. Linus Torvalds’ comments saying that LLMs are actually useful is still on the front page, tagged as vibecoding, and has a lot of comments from people mostly disagreeing with him.

      Lobste.rs is more of a monoculture than Hacker News. If you get downvoted enough they stick a banner on the top of the page inviting you to delete your account. It has a nasty side effect of driving away good contributors who don’t align perfectly with the hive mind. It’s a site where you learn to keep your mouth shut if your input doesn’t agree with what the core users want to hear.

      • BoingBoomTschak 2 minutes ago
        Being anti-AI is fine by me, but the hardcore Tumblr dogma can be very tiring sometimes; even if only as a reader interested in the valuable technical comments.
      • arjie 57 minutes ago
        I originally went to lobste.rs because I wanted to avoid repetitive discussion and get more technical stuff. In time, though, lobste.rs got fairly boring since it's always the same stuff over and over again. I found an alternative means[0] of filtering out boring things here on HN and it's enjoyable to use again.

        0: deleting comments of people who aren't interesting from my view and highlighting ones who often say things that are interesting, the user I'm replying to is one of the latter

      • joemi 2 hours ago
        It's a lot smaller of a community than HN, so it will naturally have a smaller range of opinions merely due to the fact that it has a lot fewer users.

        That said, I don't believe it's as much of a hivemind as you've portrayed. I've seen dissenting opinions voiced there which weren't downvoted (or at least not noticeably), while the same opinion in a similar thread here on HN would be downvoted and flagged. So I don't think that getting downvoted enough so that you're invited to delete your account is a common occurrence with productive members.

        • flomo 1 hour ago
          It's fine not to be an AI user, just some people there seem to be holding their breath and stomping their feet until it goes away. Which leads to a really repetitive and boring discussion. (I'm not a member there, but they often have better technical links vs HN.)
        • Aurornis 1 hour ago
          > So I don't think that getting downvoted enough so that you're invited to delete your account is a common occurrence with productive members.

          It is! It’s a rite of passage on the site if you dare comment anything that someone might disagree with.

          There have been several high profile cases of valued members getting fed up with it and leaving the site. One example where even the community was starting to question if this is really what they want: https://lobste.rs/s/zp4ofg

        • OutOfHere 1 hour ago
          With regard to its small size, that's not why. They have for a long while been actively and intentionally hostile to AI.
        • hagbard_c 1 hour ago
          I don't think it is a much a hive mind but it is - or at least was - susceptible to manipulation by individuals who know how to game the system to push their own narrative. I got into a discussion with one of these, a 'furry' who posted semi-relevant articles laced with furry-themed illustrations where those illustrations seemed to be the main point of the articles. After a number of such articles I remarked on this and was banned shortly after, somewhat out of the blue. The moderator did not like this type of 'sensitive' discussion which more or less meant the site was fair game for those willing to abuse it knowing that any discussion on their abuse would be suppressed. Maybe things have changed, maybe they haven't but it did leave me rather disillusioned with the way the place was moderated and as such I haven't been there for years.
      • abc42 1 hour ago
        Yeah, it's starting to be a bit idiotic. Some of that stuff is here too.
      • mort96 1 hour ago
        Driving away silicon valley tech bros who spend most of their time boosting AI is actually a prerequisite for building a good community.
      • xtracto 2 hours ago
        I dont remember why I was kind of barred from lobsters , but I applaud all this behavior you mentioned. In the end, that's how normal clickes of friends/interest groups form (or formed 30 years ago in real life.)

        If you got into my group of death metal people, and suddenly started talking about Oasis... we would invite you to get out haha.

        Same with patriots.win . They may be a group of right wing biggots, but hey, they did their platform and are happy talking there.

        • Aurornis 1 hour ago
          > I dont remember why I was kind of barred from lobsters , but I applaud all this behavior you mentioned.

          Some serious cognitive dissonance here.

          I think a lot of people like this idea of a close-knit clique of like minded people, but the communities tend to pick up toxic qualities where membership becomes a game in itself. Anyone who doesn’t fall in line with the established in-crowd gets pushed out via the Byzantine rules that the in-crowd uses to maintain their position.

          I still visit and participate, but I’m realistic about what it is. There is some value there, but you have to navigate it like a small subreddit where the moderator keeps tight control over what can be discussed and indirectly or directly influences the allowable opinions on the site. I really liked their original ideas about having an open moderation log and clear rules, but I’ve seen more than enough questionable moderation decisions and selective application of the rules to accept that it’s not as pure as I thought it was going to be.

        • cdrini 1 hour ago
          Hmmmm interesting analogy! I'm not too sure if cliques apply as much to online communities. Cliques are usually exclusionary not because people don't meet the criteria/scope of the clique, but by scale constraints, eg how many people someone can maintain a close relationship with. Online communities are kind of sufficiently different because of this scale. They can grow basically indefinitely, and are only limited by the stated scope/criteria of the community.
        • OutOfHere 1 hour ago
          Lobsters has other problems too. The owner occasionally steals credit from posters, changing the author of posts to his own friends, also taking all the credit for it away. Debating the owner's action results in a ban.
          • NetOpWibby 1 hour ago
            Ironic, considering why Lobsters exists in the first place.
          • vovavili 1 hour ago
            So they basically reinvented reddit.
      • dgellow 2 hours ago
        I honestly don’t find any of this concerning
        • mh- 2 hours ago
          The concern usually only comes when you fall on the "outside" of the prevailing opinion within the group of people voting on comments.

          edit: my response isn't about lobste.rs. I don't have an account there.

  • varun_ch 2 hours ago
    Does HN still use simple files for storing its data?
  • kenforthewin 2 hours ago
    The site is performing poorly for me. For example, the login page took 9 seconds to load, same with the home page.
  • cromka 4 days ago
    Wait, no edge cache, just one node with SQLite db?
    • packetlost 3 hours ago
      For a relatively low-traffic site like Lobster's, yeah I'm not surprised they don't need anything crazy. SQLite is really efficient and modern hardware is really fast.
    • thomasdziedzic 2 days ago
      Caddy does cache a portion of the traffic, and what it can't cache makes its way to rails.
  • cromka 3 hours ago
    Ironically, this post resurfaced on HN with my comment here shown as if made 15 minutes ago, which I in reality did last week?
    • stymaar 2 hours ago
      Second chance pool, most likely.
      • mh- 2 hours ago
        I didn't realize that re-timestamped comments. That's a pretty unexpected behavior, if true. I wouldn't like if that happened to a comment I left - a lot can happen in a week.
        • inigyou 54 minutes ago
          Every time it happens there's a sub-thread asking about the weird timestamps and dang replies to it saying changing the timestamps is done so that there won't be a sub-thread about the weird timestamps.
  • arjie 46 minutes ago
    Pretty cool. I do default to SQLite these days simply because I can just put it on the host, set up a PVC to it, and run the app in Kube pointing at a persistent SQLite. Absent some other need (it's a fork of psql- or mysql-based software) I prefer using it for simplicity.

    I do have to say that I've found lobste.rs generally a pretty slow site to render and navigate and I wonder whether that's the Rails backend, or underpowered hardware, or lack of caching. It's more feature-ful than a HN or Reddit though with much lower usage so I wonder what it is.

  • amazingamazing 1 hour ago
    Software “engineering”. Thank goodness bridges aren’t built with this level of rigor.

    In any case I will take an invite if one has one because the community is solid.

  • rfmoz 2 hours ago
    Another SQLite user here. My site gets constantly hammered by crawlers, and SQLite just keeps going on hit miss. Anyway, the real magic is on the ram and the ssd perf.
    • cdrini 1 hour ago
      > keeps going on hit miss

      (Is this a typo?)

  • abofh 2 hours ago
    I hope it's profitable, because this feels like engineering for engineering sake and not actually improving the product in a way that draws customers.
  • blobbers 1 hour ago
    Do you feel like lobste.rs is a better version of HackerNews?
    • synqvest 50 minutes ago
      It wasn’t but the times changed. It used to be pretty dead and very boring. But HN has turned into an AI cesspool and the relatively few actual humans who post here are penalized for controversial statements. So people just went elsewhere. AI things accelerated it.
  • oandrew 2 hours ago
    I'd appreciate a lobste.rs invite if anyone has one. Email is in my profile. Thanks!
    • uproarchat 1 hour ago
      Successfully e-mailed invitation to hn@oandrew.dev.
    • Imustaskforhelp 1 hour ago
      > I'd appreciate a lobste.rs invite if anyone has one. Email is in my profile. Thanks!

      I'd like one too if someone wishes to invite me as well, Thanks and have a nice day!

      • uproarchat 1 hour ago
        Successfully e-mailed invitation to anonplusplus@proton.me
  • luciana1u 2 hours ago
    sqlite for a site that debates database migrations is like a chef who eats microwave dinners at home. makes perfect sense and somehow still feels like a betrayal.
  • cenazoic 2 hours ago
    May I have an invite, if anyone has one to spare?
  • osinix 2 hours ago
    [flagged]
  • aboardRat4 1 hour ago
    [dead]
  • ethagnawl 3 hours ago
    [flagged]
    • veqq 2 hours ago
      [flagged]
    • sgt 3 hours ago
      What's lobster.rs, some kind of Temu HN? Or is it the real deal?
      • xgbi 2 hours ago
        Way more technical, way smaller. HN is a lot more wide in terms of audience and subjects, Lobsters is mainly programming.

        I love it.

        • sgt 2 hours ago
          I'll give it a shot.
          • OutOfHere 1 hour ago
            It is a closed-minded AI-hating cult.
      • written-beyond 2 hours ago
        It's superior and invite only.
  • pstuart 2 hours ago
    [flagged]
  • etbusch 2 hours ago
    [flagged]
  • jdw64 2 hours ago
    I think HN is better. Lobste.rs has too much monocultural pressure.

    That's not necessarily a bad thing, but honestly, as a foreigner, I have limited English vocabulary, so I end up getting stressed out over being judged as AI. At least here, the admin DEN kindly understood my situation and let me participate after getting permission. But when I look at subreddits and other communities, the stronger the monocultural management, the more fan-like sentiment tends to grow, making it harder for minority voices to speak up.

    I'm in favor of LLMs (since being for or against LLMs inevitably depends on regional context—I personally find LLM translation incredibly convenient and helpful), but there are moments when I find it hard to argue against blanket opposition or certain topics. I thought about why that is, and I think it's because Lobste.rs has high-quality posts, but since it's inviet only, the cultural barrier to entry is high, and judgment itself is part of the community identity. It's more about signals like 'are you the same kind of person as us' than logical counterarguments. The community is small, so the same core users appear across many topics, and the reputation built there follows you around, making it closed off to minority opinions.

    HN, on the other hand, isn't really a single community but a mix of many groups—startup founders, big-tech engineers, and independent developers like me. Depending on who happens to be reading at that time, the comment sentiment often shifts. And since there are so many readers, even if I say something on one thread, it's unlikely anyone will recognize me in the next.

    So Lobste.rs feels like a hard place for an outsider to fit into.

  • Kuyawa 3 hours ago
    No intention to antagonize but... why not postgre? Even my side projects run on postgresql with no overhead at all
    • dewey 2 hours ago
      It's also explained in the post shared:

      ---

      I've heard "why not PostgreSQL?" a few times this week. It was even our original plan in #539! Well, it was a pragmatic choice in two different ways:

      The person who volunteered to do the work used SQLite.

      I don't want to use solutions that are bigger and more complex than our likely needs. Postgresql is my default for projects, but it does have the added complexity of being a separate service to run, tune, and maintain.

    • gnulinux 2 hours ago
      > run on postgresql with no overhead at all

      Citation needed. I love postgres as much as the next person, but it does have more overhead than Sqlite which is in an in-process db linked through compiled C code, it doesn't run as a separate server. Very significant difference that when you use Sqlite db, there is typically no db process other than your application logic, unless you implement the server yourself. If you don't want your application to have multiple processes (say, as a toy example) then it totally makes sense to prefer Sqlite just for this reason. Sqlite and postgres are different tools, they serve different purposes.

    • adenta 3 hours ago
      Where are you hosting postgres
      • dewey 2 hours ago
        On the same machine where they are currently storing the sqlite file maybe? It's not that hard to run. A sqlite backup cron is also not that much more work than a pg_dump cron.
      • inigyou 53 minutes ago
        if they have only one server, then on that server. If they have a load-balanced front end and central database, then on the database.