Skip to content
HomeVideosBooksBlogs
AllTop postsTopics
Podcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K
    P

    phiresky

    phiresky.github.io · Personal blog · on HN since 2019

    phiresky is a programmer who writes about SQLite performance, hosting databases on static sites, ripgrep tooling, and typed SQL libraries.

    Visit blogRSSHN submissions
    DatabasesProgrammingWeb Development
    What HN says

    HN commenters call his SQLite-on-GitHub-Pages technique brilliant, and cite his TypeScript SQL library overview when discussing ORMs and query builders.

    Stats for nerds
    50HN people shared it
    23linked in comments
    3.7Kstory points
    Dec 2025last shared
    2021people per year2025

    Top posts on HN

    1. 1
      Hosting SQLite databases on GitHub Pages or any static file hoster
      30 people · 2.1K points · first shared 2021 · 244 comments on HN
    2. 2
      Rga: Ripgrep, but also search in PDFs, E-Books, Office documents, zip, tar.gz
      5 people · 978 points · first shared 2019 · 139 comments on HN
    3. 3
      Visualizing all books of the world in ISBN-Space
      3 people · 486 points · first shared 2025 · 91 comments on HN
    4. 4
      Show HN: Url2cite: Transparently convert links to citations in markdown papers
      1 person · 64 points · first shared 2019 · 15 comments on HN
    5. 5
      ISBN Visualization
      2 people · 17 points · first shared 2025 · 2 comments on HN
    6. 6
      sqlite-zstd: Transparent dictionary-based row-level compression for SQLite
      5 people · 14 points · first shared 2022 · 1 comments on HN
    7. 7
      SQLite performance tuning: concurrent reads, multiple GBs and 100k SELECTs/s
      6 people · 6 points · first shared 2022 · 1 comments on HN
    8. 8
      An overview of typed SQL libraries for TypeScript
      2 people · 3 points · first shared 2021 · Discussion on HN
    9. 9
      Qalc react
      1 person · first shared 2019
    10. 10
      Tv show ratings
      1 person · first shared 2021

    What HN people wrote when they linked it

    • _mitterpachFeb 2025

      I'll start off by quoting the winning submission.

      Libraries have been trying to collect humanity’s knowledge almost since the invention of writing. In the digital age, it might actually be possible to create a comprehensive collection of all human writing that meets certain criteria. That’s what shadow libraries do - collect and share as many books as possible.

      One shadow library, Anna’s Archive (which I will not link here directly due to copyright concerns), recently posed a question: How could we effectively visualize 100,000,000 books or more at once? There’s lots of data to view: Titles, authors, which countries the books come from, which publishers, how old they are, how many libraries hold them, whether they are available digitally, etc. - https://phiresky.github.io/blog/2025/visualizing-all-books-in-isbn-space/

      Basically, legally gray online book repositories such as Anna's Archive, who was the creator of this bounty, are trying to collect a lot of books. The question quickly arises - how many books are there?

      The best way to track books is by using ISBN, international standard book number, basically the personal id of any given books, given to books by an international agency. Now that you know which books exist, you can check which books your repository already has and which ones are missing.

      But ISBN covers the space of over 2 billion possible existing books. That's a lot. So, Anna's Archive has created a contest to display this space in the cleanest way…

    • snthpyMay 2024

      Yeah, I guess you could equivalently put a SQLite database with a view or virtual table in S3 which would give you the same level of indirection and API abstraction provided by this mechanism.

      Where DuckDB will have an advantage is in the processing speed for OLAP type queries. I don't know what the current state of SQLite Virtual Tables for parquet files on S3 is, but DuckDB has a number of optimisations for it like only reading the required columns and row groups through range queries. SQLite has a row oriented processing model so I suspect that it wouldn't do that in the same way unless there is a specific vtable extension for it.

      You can get a comparable benefit for data in a sqlite db itself with the project from the following blogpost but that wouldn't apply to collections of parquet files: https://phiresky.github.io/blog/2021/hosting-sqlite-databases-on-github-pages/

    • gwernFeb 2022

      Seems to still require a server which the static site client-side JS continues to call out to? Not really a 'static site' then.

      Occurs to me that you could probably go much further towards a truly static site by borrowing from https://phiresky.github.io/blog/2021/hosting-sqlite-databases-on-github-pages/ - store the user credentials publicly in a readable way, and use a sufficiently slow hash like scrypt to make the hashes non-bruteforceable. Writes can be done async or maybe through a system like IPFS or Zeronet, or just stored locally and visible to the user only... I'm not entirely sure where you'd want such a scheme, but if you can make a BBS using the SQlite approach (https://ansiwave.net/blog/semantic-web.html) I'm sure there's a niche or variant somewhere which might be interesting.

    • phireskyJun 2023

      This blog post explains how it works: https://phiresky.github.io/blog/2021/hosting-sqlite-databases-on-github-pages/

      Disclaimer: I wrote that article and was somewhat involved in the other sqlite over ipfs project this is forked from.

      Yes, for MB size files just downloading the whole thing will be faster and much easier - even if running in the browser. I'd say the boundary is somewhere around 10MB compressed (~20-200MB uncompressed). Looks like the sqlite dump used here is ~400MB in size, ~180MB compressed. Loading that in the browser would probably work but it wouldn't be too great.

    • jzebedeeFeb 2024

      I would have appreciated some more details on the benchmark. SQLite has notoriously slow writes in the default journal mode, but proper configuration and WAL/WAL2 mode[0] should be a starting point for any comparison.

      It's the first time I've heard of Isar[1] though. I'm always surprised at how many solid-but-underused Apache projects are out there, chugging along.

      [0] https://phiresky.github.io/blog/2020/sqlite-performance-tuning/

      [1] https://isar.dev/

    • anitilJul 2023

      One note that the article makes is that reading from S3 requires a full read of the file. As an alternate approach is to use HTTP range headers to read only part of a file and minimise how much data goes over the wire. I'm not sure if the 'kiwi' file format would support that (and this is only for reads I believe).

      A nice demo of this for sqlite is here - https://phiresky.github.io/blog/2021/hosting-sqlite-databases-on-github-pages/

    Related

    Aphyraphyr.com551 people

    Hexing the technical interview (2017)

    Aphyr
    Personal · last shared 2026
    Simon Willison's TILstil.simonwillison.net111 people

    One-liner for running queries against CSV files with SQLite

    Simon Willison's TILs
    Personal · last shared 2026
    Scattered Thoughtsscattered-thoughts.net186 people

    Against SQL

    Scattered Thoughts
    Personal · last shared 2026
    Anton Zhiyanovantonz.org96 people

    SQLite is not a toy database

    Anton Zhiyanov
    Personal · last shared 2026
    Reinout van Reesreinout.vanrees.org31 people

    PostgreSQL when it is not your job

    Reinout van Rees
    Personal · last shared 2026
    Turso Blogturso.tech102 people

    Working on databases from prison

    Turso Blog
    Company · last shared 2026
    Feldera Blogfeldera.com21 people

    The Pain That Is GitHub Actions

    Feldera Blog
    Company · last shared 2026
    Phil Eatonnotes.eatonphil.com93 people

    Writing a SQL database from scratch in Go

    Phil Eaton
    Personal · last shared 2026