Julio Merino
jmmv.dev · Personal blog · on HN since 2020
Julio Merino writes about software performance, Unix systems, build tools, and Windows Subsystem for Linux.
What HN saysHN links his 'Fast machines, slow machines' post as evidence that older computers could feel faster than modern ones. Another commenter adds it to a blog recommendation list.
64HN people shared it
21linked it in comments
95stories submitted
2.0Kstory points
3 months agolast shared
2020people per year2026
Most-shared posts
- 1Fast machines, slow machines (2023)10 people · 110 points · first shared 2023 · 69 comments on HN
- 2Ldd(1) and Untrusted Binaries (2023)7 people · 79 points · first shared 2023 · 36 comments on HN
- 3Good performance is not just big O7 people · 12 points · first shared 2023 · 1 comments on HN
- 4Always Be Quitting4 people · 703 points · first shared 2021 · 343 comments on HN
- 5Configuration Files and .d Directories4 people · 4 points · first shared 2020 · 1 comments on HN
- 6Windows Subsystem for Linux: The lost potential3 people · 362 points · first shared 2020 · 241 comments on HN
- 7rc.d belongs in libexec, not etc3 people · 73 points · first shared 2020 · 66 comments on HN
- 8Speeding up autoconf with caching (2022)3 people · 29 points · first shared 2022 · 16 comments on HN
- 9Constructors and evil initializers in C++3 people · 27 points · first shared 2021 · 24 comments on HN
- 10Useless Use of GNU3 people · 8 points · first shared 2021 · 1 comments on HN
- 11Why do I know shell, and how can you?3 people · 5 points · first shared 2023 · 1 comments on HN
- 12A failed experiment with Rust static dispatch3 people · 5 points · first shared 2023 · discussion on HN
- 13Unit-testing shell scripts and tools with shtk3 people · 4 points · first shared 2023 · discussion on HN
- 14Macos sandbox exec3 people · first shared 2021
- 15Why am I wasting time on EndBASIC?2 people · 60 points · first shared 2021 · 45 comments on HN
What HN people wrote when they linked it
jmmv · 2022-02-07
I'll add Raymond Chen's "The Old New Thing": https://devblogs.microsoft.com/oldnewthing/ . Helped me change my views towards Windows (for the better) many years back and it's a good read anyway.
... and while here, I may also plug my own: https://jmmv.dev/
fmajid · 2025-04-26
No, but if you are doing something like rebuilding a distro's worth of packages from source from scratch, the configure step starts to dominate. I build around 550, and it takes around 6 hours on a single node.
Most checks are common, so what can help is having a shared cache for all configure scripts so if you have 400 packages to rebuild, it doesn't check 400 times if you should use flock or fcntl. This approach is described here: https://jmmv.dev/2022/06/autoconf-caching.html
It doesn't help that autoconf is basically abandonware, with one forlorn maintainer trying to resuscitate it, but creating major regressions with new releases: https://lwn.net/Articles/834682/
omoikane · 2024-08-12
The second article has videos of more comparisons with different software on a greater variety of hardware:
https://jmmv.dev/2023/06/fast-machines-slow-machines.html
The point is that the good old days aren't just pure nostalgia, some parts were genuinely good compared to modern bloated software.
codelikeawolf · 2025-12-04
> I remember seeing a video on here where someone actually booted up a computer from the 2000's and showed how snappy everything was...
Was this what you were referring to?: https://jmmv.dev/2023/06/fast-machines-slow-machines.html
alnwlsn · 2025-05-13
It depends. Can Windows 3.11 be faster than Windows 11? Sure, maybe even in most cases: https://jmmv.dev/2023/06/fast-machines-slow-machines.html
VTimofeenko · 2025-01-12
For those pesky random executables there's a couple of escape hatches -- buildFHSenv and nix-ld. This is also predicated on good provenance of the executables in question. One should probably not even ldd sketchy binaries:
https://jmmv.dev/2023/07/ldd-untrusted-binaries.html
bch · 2024-10-12
> There’s also Void [...]
Started[0] by NetBSDs (and Hacker News') own jmmv[1]. So if you're getting BSD vibes, now you know why.
[0] https://en.wikipedia.org/wiki/Void_Linux?#History
[1] https://jmmv.dev/software/netbsd.html
lproven · 2024-09-11
> Also, WSL 2 always felt like a "cheat" to me... is anyone else disappointed they went full-on VM and abandoned the original approach?
Oh yes, some of us are.
This was a decent look:
https://jmmv.dev/2020/11/wsl-lost-potential.html
HN discussion:
https://news.ycombinator.com/item?id=25154300
wildrhythms · 2024-05-23
Reminds me of this blog post comparing modern Windows on a modern system to Windows NT 3.51: https://jmmv.dev/2023/06/fast-machines-slow-machines.html
And the HN thread: https://news.ycombinator.com/item?id=36503983
a1369209993 · 2023-11-23
> https://jmmv.dev/2021/08/useless-use-of-gnu.html
Tangential, but your blog software seems to have mangled the headings; it's serving eg:
make $(shell …) expansion
instead of
make $(shell ...) expansion
(note that (as is correctly written in the body) that's three pediods, not one elipsis, so mldr wouldn't be correct even on it's own, meaning there's two probably-unrelated bugs affecting it).
account42 · 2023-11-23
A lot of the GNUisms described in https://jmmv.dev/2021/08/useless-use-of-gnu.html are very useful in interactive use. Search the current directory without an explcit . - useful. Append an option to a command you just typed - heck yeah, always annoyed when commands don't support that.
For scripts though, sticking to POSIX sh often makes sense, yeah. You should at least be aware if your use of Bash-isms.
urinotherapist · 2023-09-14
AKA "config directory".
See https://jmmv.dev/2020/08/config-files-vs-directories.html
littlestymaar · 2023-07-08
> more, faster
Not in the world de live in: https://jmmv.dev/2023/06/fast-machines-slow-machines.html
sillywalk · 2023-07-03
The article is about this:
https://jmmv.dev/2023/06/fast-machines-slow-machines.html
hayley-patton · 2023-05-21
Right. I found <https://www.ise.io/wp-content/uploads/2017/07/apple-sandbox.pdf> which agrees with you (on page 9). Guess it's down to defining "at runtime" now; the TinyScheme code (and GC) and Scheme code for the sandbox definitions are shipped to a user of macOS, and the user can invoke sandbox-exec with new sandboxing definitions (e.g. <https://jmmv.dev/2019/11/macos-sandbox-exec.html>), running TinyScheme and Scheme code. So I'd think Scheme is part of the entire sandbox system, even if not in the kernel?
Brajeshwar · 2022-08-22
Always be Quitting. This was on HackerNews some time back -- https://jmmv.dev/2021/04/always-be-quitting.html
johnklos · 2021-09-17
BASIC can be quite powerful. The version on the Sinclair QL was ahead of its time, for example.
For modern BASIC, you have some interesting choices such as EndBASIC, which is written in Rust and which has some very cool features:
https://jmmv.dev/software/endbasic.html
kf6nux · 2021-09-06
The closest you're probably going to get is sandbox-exec https://jmmv.dev/2019/11/macos-sandbox-exec.html
emptysea · 2020-01-06
Ah my mistake
Anyways there are some more subtle caveats discussed in this blogpost I was trying to remember:
https://jmmv.dev/2018/03/shell-readability-local.html
lmm · 2023-11-23
> Bash is "real language" if you treat it as such. Yes, there are plenty of spaghetti scripts out there, riddled with global variables and full of side-effects, but if you write shell in a principled manner, you can solve some pretty big problems with ease, and you can write maintainable code.
Even carefully written bash code tends to be much less maintainable than code in better languages. It's just badly designed on multiple levels, like the famous post about PHP. Yes, if you're really careful you can write decent code in Malbolge - but why would you?
> I wouldn't start new projects in shell, of course, but one area in which I think the shell shines is in writing integration tests for tools. More on this in a recent post I wrote: https://jmmv.dev/2023/10/unit-testing-with-shtk.html
The fact that you've written something that compiles to shell scripts rather than writing shell scripts rather undermines your claim that shell is a decent language. Integration tests of tools are important, but I'd still find e.g. TCL a much better way to write them.
dflock · 2022-04-07
Aside from a centralized, trusted packge archives, with signed packages and vetting, and secure downloads and verification, one difference is that with individual install.exe's - that installer can do whatever it wants. Windows package managers are just a facade over this and just run the installer for you.
An actual Package Manager _is_ the installer - they are part of the OS and know how to correctly install and fully uninstall things. Someone else in this thread wrote a nice summary of this aspect here: https://jmmv.dev/2022/03/a-year-on-windows-winget.html#uninstallation
This part is mostly true with MSI's, they're just a package format like .deb or .rpm - they just don't have any of the other infrastructure around them.
> It does in fact centralize the update flow, but that's only beneficial when you update everything at once, which I don't have any reason to be doing: either I want it on latest, with the only interruption being not quite yet, or I don't want it updating at all
Having this all centralized is actually really nice, so I wouldn't discount that. If you want to pin a package at a particular version, you can and the package manager will leave it alone. If you don't want things updated yet, just don't run the update yet.