Ariya Hidayat
ariya.io · Personal blog · on HN since 2016
Ariya Hidayat, a software engineer, writes about developer tools, Nix, image compression, TypeScript, API design, and running local AI models.
What HN saysHN commenters link him for installing Nix on Ubuntu or Debian and for the Boolean trap in API design.
18HN people shared it
8linked it in comments
10stories submitted
23story points
4 months agolast shared
2016people per year2026
Most-shared posts
- 1Isolated Development Environment Using Nix3 people · 4 points · first shared 2016 · discussion on HN
- 2Local, CPU-Friendly, High-Quality TTS (Text-to-Speech) with Kokoro2 people · 5 points · first shared 2026 · discussion on HN
- 3The Pitfalls of Boolean Trap (2011)2 people · 1 points · first shared 2024 · discussion on HN
- 4Nix package manager on ubuntu or debian2 people · first shared 2020
- 5Squeezing JPEG Images with Guetzli1 people · 3 points · first shared 2017 · discussion on HN
- 6TypeScript 2.0 and Strict Null Checking1 people · 2 points · first shared 2016 · discussion on HN
- 7The Illusion of Perfect LLM Code1 people · 2 points · first shared 2026 · discussion on HN
- 8Cross-compiling with musl Toolchains (2020)1 people · 2 points · first shared 2021 · discussion on HN
- 9Shrinking PNG Images with Quantization1 people · 2 points · first shared 2016 · discussion on HN
- 10Anatomy of a Bug Report1 people · 2 points · first shared 2016 · discussion on HN
- 11The curious case of javascript nan1 people · first shared 2018
- 12Qt not qt1 people · first shared 2018
- 13Pure headless phantomjs no x11 or xvfb1 people · first shared 2017
What HN people wrote when they linked it
nekusar · 2026-07-08
Thank you for addressing my list. I'd like to use it, but requirements on non-local services is a deal breaker for me.
Right now, with my Nanoclaw, I'm running it in a container on a VM on proxmox. If things get bad, I lose a backed up machine and any services it has credentials to.
I can understand why IMAP is a pain. There's plenty of functions that can trash mailboxes. I don't envy you all in this task.
For my STT and TTS, ones on the HN front page right now: https://ariya.io/2026/03/local-cpu-friendly-high-quality-tts-text-to-s…
And OpenWhispr is local Whisper model that I also run locally. And still, no data leaks. And since its local, its also FAST. I also use it via HomeAssiatant.
For search, I use SearXNG. Ive even changed my daily driver to it at home, since it gets great results and none of the public cloud forced crap (llm searches when I don't want it).
zer00eyz · 2018-05-30
I think the instability is a byproduct of what it is.
Today we have https://caniuse.com but this sort of tool in one form or another has existed for a long time - I think that mobile, and native mobile have only compounded the problem.
Frameworks, and ecosystems (Node, and what it spawned) are practically a requirement to get things done. But abstracting issues away from front end developers, hiding them behind hacks and fixes only serves to make things worse, and harder.
The foundation of the front end isn't just broken, it is a fuckstorm... and we keep piling more stuff on top of that foundation trying to make it make sense, make it rational. With each layer we add creating new sets of issues that only get worse over time. Then someone "smart" enough to build something a bit better does just that, and we get this: https://xkcd.com/927/
The reality is that the fish stinks from the head and in this case, blame google, apple, MS, and Firefox - https://medium.com/@dmitriid/ok-w3c-and-whatwg-dont-die-but-7952221fcb…
Javascript isn't much better https://ariya.io/2014/05/the-curious-case-of-javascript-nan ---
(Note the above links are just my favorite "examples" of these issues not even a good indicator of the real problems therein, everyone has their own grievances)
And this IS the heart of the issue. Any one sane, any one with a high level of skill isn't going to want to work in an environment where they aren't in control where someone can yank the carpet out from under…
ayhanfuat · 2024-07-08
Also called the Boolean trap: https://ariya.io/2011/08/hall-of-api-shame-boolean-trap
outworlder · 2021-10-14
You could use the Nix package manager with Ubuntu. Not ideal, but maybe it helps your use-case.
https://ariya.io/2020/05/nix-package-manager-on-ubuntu-or-debian
sergeykish · 2020-10-03
You do not have to abandon distribution model. I've just installed Nix on Arch Linux [1]. It ships all required dependencies - glibc etc - version specific. Works on Ubuntu/Debian [2].
[1] https://wiki.archlinux.org/index.php/Nix
[2] https://ariya.io/2020/05/nix-package-manager-on-ubuntu-or-debian
oneweekwonder · 2018-02-06
Qt, the application framework from Qt Software is written as Qt (capital Q). It is not written as QT (capital Q, capital T). QT can refer to a lot of other things, e.g. Apple QuickTime.
The official pronunciation of Qt is “cute”. It is not pronounced as “cue tea”.
[0]: https://ariya.io/2009/01/qt-not-qt
first_amendment · 2017-08-30
Only versions 1.4 and below. Versions 1.5 and above do not require an X server. Version 1.5 has been available for 5+ years: https://ariya.io/2012/03/pure-headless-phantomjs-no-x11-or-xvfb
berdario · 2017-04-23
Nix
https://jakob.gillich.me/post/2016-03-22-self-contained-development-en…
https://ariya.io/2016/06/isolated-development-environment-using-nix
You can easily automate provisioning and deployment with Nixops:
http://container-solutions.com/step-towards-future-configuration-infra…
But if you need to share/deploy what you worked on, in some place where you might not have Nix available, you can just as easily create Docker containers out of your Nix expression:
http://lethalman.blogspot.co.uk/2016/04/cheap-docker-images-with-nix_1…