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

The perfect lighthouse score might have changed since this was last updated. Am seeing 97% on accessibility.

You could check out SQLite's auto_vacuum which reclaims space without rebuilding the entire db https://sqlite.org/pragma.html#pragma_auto_vacuum

I haven't tested that, so I'm not sure if it would work. The import only inserts rows, it doesn't delete, so I don't think that is the cause of fragmentation. I suspect this line in the vacuum docs:

> The VACUUM command may change the ROWIDs of entries in any tables that do not have an explicit INTEGER PRIMARY KEY.

means SQLite does something to organize by rowid and that this is doing most of the work.

Reddit post/comment IDs are 1:1 with integers, though expressed in a different base that is more friendly to URLs. I map decoded post/comment IDs to INTEGER PRIMARY KEYs on their respective tables. I suspect the vacuum operation sorts the tables by their reddit post ID and something about this sorting improves tables scans, which in turn helps building indices quickly after standing up the DB.


Rust rewrites are known for breaking (compatibility with) working software. That's all there is to them.

In Python's case, as the article describes quite clearly, the issue is that the design of "working software" (particularly setup.py) was bad to the point of insane (in much the same way as the NPM characteristics that enabled the recent Shai Hulud supply chain attacks, but even worse). At some point, compatibility with insanity has got to go.

Helpfully, though, uv retains compatibility with newer (but still well-established) standards in the Python community that don't share this insanity!


Actually uv retains compatibility with the setup.py “insanity,” according to the article:

> uv parses TOML and wheel metadata natively, only spawning Python when it hits a setup.py-only package that has no other option

The article implies that pip also prefers toml and wheel metadata, but has to shell out to parse those, unlike uv.


Ugh. Thank you for the correction. :(

I mean, you’re on the right track in that they did cut out other insanity. But unclear how much of the speed up is necessarily tied to breaking backward compat (are there a lot of “.egg” files in the wild?)

> (are there a lot of “.egg” files in the wild?)

Not as far as I can tell, except perhaps in extended-support legacy environments (for example, ActiveState is still maintaining a Python 2.x distribution).


My gripe is with Rust rewrites. Not uv. Though I very much think uv is overhyped.

I would say the downside of them is that they're known for replacing GPL software with MIT software

For web development I would say avoid high-level frameworks as much as you can. Most of them are built for hand-holding developers which is counterproductive to learning the fundamentals and are usually inflexible to demands outside the "happy path".

I use the same exact trick from the source the article mentions.

I call it `temu` anubis. https://github.com/rhee876527/expert-octo-robot/blob/f28e48f...

Jokes aside, the whole web seems to be trending towards some kind of wall (pay, login, app etc.) and this ultimately sucks for the open internet.


You missed the obvious portmanteau:

Temubis


You may be thinking of CSRF mitigations. XSS exploits are more dangerous and can do more than steal sessions.

Depends on specific app use case. Nginx doesn't work with it but valkey will.

You mean safer languages like Fil-C.


> I have version 1.30.0.4 installed.

Can confirm same case here. App was installed from f-droid, no longer linked to the store.


Rust's notorious compile times sticks out like a sore thumb partly because other system languages can run laps before your Rust build is done. And also because everyone and their grandma swears Rust is blazing fast.

Until you have to compile the program without prior build cache or start a build in a CI pipeline.


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

Search: