HNHacker News
TopNewBestAskShowJobs

jdxcode

1,380 karma · joined March 19, 2020

https://github.com/jdx
submissionscomments
jdxcode··on Show HN: Homebrew 6.0.0
doesn't aqua:docker/compose just work? it does for me
jdxcode··on Show HN: Homebrew 6.0.0
mise kind of supports dependencies, just not in the way people expect coming from any other package manager. The dependencies in mise are not automatic and all of them need to be manually defined. They're to get around ordering issues since mise installs in parallel, e.g.: if you use "pipx:black" you need to wait for python to finish installing. (This is the "depends" option on tools")

This is intentional as mise is not intended to be a full bootstrapping solution in the way homebrew/nix is, mise is designed to be an overlay on top of existing systems. So if you want to manage python with brew and black with mise it basically just works without extra configuration. I think this design decision has paid off in spades. It sounds like a drawback but at the end of the day it's probably the #1 reason users find mise easy to use.

jdxcode··on Mini Shai-Hulud Strikes Again: 314 npm Packages Compromised
1. the supply chain attacks I've seen are naive. They just leverage postinstall hooks. Malicious code also needs to be executed, not simply installed, so it's a lot less likely that an exploit would happen compared to postinstall since it can't just be buried in a transitive.

2. aube does the same. This is an extra level of protection if you've already whitelisted a package

jdxcode··on Postmortem: TanStack NPM supply-chain compromise
In aube you get all this out of the box plus a lifecycle jail (next MV will have that on by default) and defaults to trustPolicy=no-downgrade (would not have helped here but still a good default).

It has the strongest security posture of any node pm.

https://aube.en.dev/security.html#jailed-lifecycle-scripts

jdxcode··on Going Full Time on Open Source
Feeling is mutual!
jdxcode··on Going Full Time on Open Source
it was definitely a risky move, env vars are not perfect for this use-case (varargs is awkward) but I'm happy I went with the file tasks setup and the magic comments anyways. It's nice that you're not working in bash-inside-yaml or coming up with a new file type. It is just bash.
jdxcode··on Going Full Time on Open Source
I'm glad you're seeing it this way and finding value in it, this was very intentional. I wasn't happy with the status quo with all of the other tools in this space (nix, bazel, buck2, etc) that all force you to adopt everything from day 1. I think of mise as an overlay on existing systems, not a system in itself.
jdxcode··on Going Full Time on Open Source
$600 was when I was working in a big tech job and while I had a sponsor page I didn't promote it whatsoever. I was surprised people were even willing to give that much given it was obvious I was making good money at my day job.

Now that this is a full time gig for me this has more than quadrupled—this post is a couple of weeks old. Also because I'm offering perks for the first time for people that pitch in. Still not enough to really make a living, but like I said in the post I have a few avenues I am trying out for revenue. I just hope that I can find something that maximizes the time I spend on the OSS tools while being sustainable.

jdxcode··on Going Full Time on Open Source
this is probably the better link to what they were asking about: https://mise.jdx.dev/tasks/running-tasks.html#running-on-fil...

mise's sources/outputs is intentionally pretty naive though. It's not bazel/buck2. That may change one day but so far it's more for writing tasks and less trying to be an authoritative build system.

jdxcode··on Going Full Time on Open Source
this is the leaderboard that matters for CLIs: https://formulae.brew.sh/analytics/install-on-request/30d/

it's 12th now. It was 10th when I wrote this post. GP is just mentioning what I wrote in the blog body.

jdxcode··on Show HN: SecretEnv – Run any process with secrets from all your backends
I am the maintainer of fnox. This is only true if you use the encryption providers. If you don't, nothing is encrypted obviously.

Your doc also doesn't seem to take into account my preferred way of using it with KMS that solves a lot of the problems mentioned.

jdxcode··on AWS stops billing Middle East cloud customers as repairs to war damage drag on
I've always wondered what "us-east-1" is, presumably it's more than just 1 building
jdxcode··on Aube: A fast Node.js package manager
yep!
jdxcode··on Axios compromised on NPM – Malicious versions drop remote access trojan
lol with mise I used a fourth time unit: https://mise.jdx.dev/configuration/settings.html#install_bef...
jdxcode··on GLM-5: Targeting complex systems engineering and long-horizon agentic tasks
wasn't it 1989 technically?
jdxcode··on Prek: A better, faster, drop-in pre-commit replacement, engineered in Rust
ok but I was replying to a comment about a tool which advertises precisely that feature
jdxcode··on Prek: A better, faster, drop-in pre-commit replacement, engineered in Rust
It's idiomatic in pre-commit to leverage the public plugins which all do their own tool installation. If you're not using them, and also not using it for tool installation, I'm not sure why you'd not be using the much simpler lefthook.

If you look at hk you will understand what I'm talking about in regards to parallelism. hk uses read/write locks and other techniques like processing --diff output to safely run multiple fixers in parallel without them stomping on each other. treefmt doesn't support this either, it won't let you run multiple fixers on the same file at the same time like hk will.

> If the linters you're running are open source, isn't this what you're ultimately doing anyway?

You have to trust the linters. You don't also need to trust the plugin authors. In hk we don't really use "plugins" but the equivalent is first-party so you're not extending trust to extra parties beyond me and the lint vendors.

jdxcode··on Prek: A better, faster, drop-in pre-commit replacement, engineered in Rust
You will execute code before you commit it. Maybe not always, but often enough. You will also have lints on things like build scripts.

I agree it’s better, but not because of wasi

jdxcode··on Prek: A better, faster, drop-in pre-commit replacement, engineered in Rust
in hk you can not only have a mix of staged/unstaged files but it even deals with staged/unstaged HUNKS in the same file (best it can at least)
jdxcode··on Prek: A better, faster, drop-in pre-commit replacement, engineered in Rust
the second the hooks modify the code they've broken your sandbox

I think wasi is a cool way to handle this problem. I don't think security is a reason though.

jdxcode··on Prek: A better, faster, drop-in pre-commit replacement, engineered in Rust
I think it was a massive mistake to build on the pre-commit plugin base. pre-commit is probably the most popular tool for pre-commit hooks but the platform is bad. My main critique is that it mixes tool installation with linting—when you will undoubtedly want to use linters _outside_ of hooks. The interface isn't built with parallelism in mind, it's sort of bolted on but not really something I think could work well in practice. It also uses a bunch of rando open source repos which is a supply chain nightmare even with pinning.

pre-commit considered harmful if you ask me. prek seems to largely be an improvement but I think it's improving on an already awful platform so you should not use it.

I know I am working on a competing tool, but I don't share the same criticism for lefthook or husky. I think those are fine and in some ways (like simplicity) better than hk.

jdxcode··on Rust at Scale: An Added Layer of Security for WhatsApp
I think it's a giveaway that it's human! A hyphen is incorrect punctuation.
jdxcode··on AI Usage Policy
it's really strange, I maintain a lot of OSS and I just don't see it. I've had a bit of slop, and the # of PRs I receive has 10x'ed, but the quality is generally quite good. I wonder if maybe it's because I make dev tool CLIs that are just easier for AI to work with?
jdxcode··on Claude Code's new hidden feature: Swarms
I think the guy that created it has even stated he thinks it's a bad idea
jdxcode··on Charm Ruby – Glamorous Terminal Libraries for Ruby
I maintain a huh clone: https://github.com/jdx/demand
jdxcode··on Average DRAM price in USD over last 18 months
at these prices, there are certainly potential customers not purchasing when they otherwise would have
jdxcode··on Homebrew no longer allows bypassing Gatekeeper for unsigned/unnotarized software
I hate that analogy—frogs jump out.
jdxcode··on Fnox, a secret manager that pairs well with mise
there is one: https://github.com/apple/pkl-lsp it works great for me
jdxcode··on Fnox, a secret manager that pairs well with mise
I suspect it may have been that it was using `*.tf` instead of `**/*.tf`
jdxcode··on Fnox, a secret manager that pairs well with mise
I added this for the next hk release: https://github.com/jdx/hk/commit/0fe8610fbe5d9f1c6977e0be596...
← PreviousPage 2 of 14Next →