Out of pure technical curiosity, how did this come to be the chosen approach? A query with 999 variables strikes me as a serious code smell, but at the same time I don't doubt you guys seriously considered the alternatives before choosing this route.
Solvable, of course, but quite an interesting limitation to discover!
For the relation data, you should check out Hexastore [0] (essentially graph storage). It takes up much more space, but you can follow any paths of relationship and you can do it step by step instead of loading everything at once.
One of the main motivations for people using Medium is the network effect. I think it would be really cool if that could be recreated in a platform-agnostic, decentralised way :)
I've seen people complain about the submission for a product announcement being unclear before, but hearing that complaint leveled at the comments is a new one.
See e.g. Rust, which does this really well: https://blog.rust-lang.org/2018/08/02/Rust-1.28.html
Nope. johnonolan's post is top and it explains about as much as the site. Not much at all. There's an animated thing going on a page break down from the top, but the site is so jam-packed with marketspeak and vagary that it shouldn't be surprising. Also, I still don't know what it is. Compare that with Codesandbox (also on HN) which is straightforward.
Postgres is open source.
Why do they owe you?
If it matters, write the code.
See: https://blog.ghost.org/dropping-support-for-postgresql/
Some fun technical details from this release:
- New features require building a routing map for all possible URLs on boot, which is a dramatically heavy operation. We were eventually forced to forgo our traditional ORM layer entirely to get any degree of performance (insert: shock/awe)
- Related: It turns out SQLite3 has a query limit of 999 SQL variables, so we had to implement a recursive query strategy for SQLite only. Wild. Default is MySQL though, which was fine.
- Conquered a pretty spectacular memory leak when running in development as a result of trace-logging promises in Bluebird, which is “a full featured promise library with unmatched performance” — …unless you implicitly enable debug traces
Also: Let me be the first to say that I can’t believe there’s still no Postgres support, which is absolutely outrageous.
On a serious note, thanks for all the support and there are several of us hanging out in the comments if anyone has technical questions which they’re curious about.