HNHacker News
TopNewBestAskShowJobs

kjmr

58 karma · joined November 25, 2024

submissionscomments
kjmr··on I Connected My Withings Body+ to Home Assistant with an ESP32
How can you write (or have AI write) such an article without also sharing the code? Now it’s just a pretty useless brag, “look what I built”.
kjmr··on Ask HN: Who wants to be hired? (September 2026)

  Location: The Netherlands (UTC+1)
  Remote: Yes (I've been working fully remote for 10 years)
  Willing to relocate: Not yet, but Scandinavia, Austria or Switzerland in a year or so is on the table
  Technologies: Python, TypeScript, JavaScript, Swift, Objective-C
  Résumé/CV: https://www.loopwerk.io/about/KevinRenskers.pdf
  Email: Please see my CV
I’m a product & engineering lead with 25 years of experience taking software from a vague idea to a product people actually enjoy using. I thrive at the intersection of product and engineering: helping decide what’s worth building, shaping the UX together with design, guiding the architecture, mentoring the team, and staying hands-on in the code.

I care deeply about user experience, clean architecture, code quality, and long-term maintainability. I value pragmatic solutions that balance clarity and performance, and I’m comfortable moving between product decisions, design, and hands-on engineering in the same day.

The tools matter less than the judgment. I happen to work most in Python, TypeScript, and Swift, but what I really bring is the ability to make good technical and product decisions across the whole stack.

I've been online since 1994, building websites since 2000 and iOS apps since 2010. Since 2016 I've worked remotely for international clients including CBS, Last.fm, Sentry, WeTransfer, Unilever, and Emmy and Oscar winner Sound Radix. I also designed, built, and run my own SaaS, Critical Notes, from pricing and onboarding to architecture and support.

What I bring:

  - Product ownership: prioritization, UX, and knowing what's actually worth building
  - Architecture: system and API design, and modernizing legacy codebases
  - Hands-on engineering in Python, TypeScript, and Swift
  - Mentoring and technical leadership
My open source work, portfolio, and CV are at www.loopwerk.io. I'm open to freelancing and employment.
kjmr··on A.I. curing cancer is not enough
404 page not found
kjmr··on How I Use Claude Code
That makes sense, because I really do find that as a conversation goes on and the context grows, the agent simply starts to forget about all the rules.
kjmr··on Uv is fantastic, but its package management UX is a mess
Author here. It wasn't a recommendation, it was just the only way I knew how to. "uv pip list --outdated" indeed has much better output, thanks!

Though this makes me wonder why are there 2 ways of viewing outdated packages, with wildly different output? The UX is mess...

kjmr··on Uv is fantastic, but its package management UX is a mess
“Removing upper version bounds is important when publishing libraries.”

That makes total sense! The article however was written as someone creating websites, not libraries. And when I consume dependencies in my web project, I do want those upper bounds to prevent breaking changes (assuming the dependencies respect SemVer of course).

Thanks for pointing out that config, I’ve updated the article.

kjmr··on Uv is fantastic, but its package management UX is a mess
Once you know what the ^ means (I always think of “roof”), I do think that one character is easier to read than >=,<
kjmr··on Uv is fantastic, but its package management UX is a mess
What you’re saying makes sense for library authors. But when I make a website and I depend on a bunch of packages, that’s where I want to be safe when upgrading and I want that upper bound. The —-bound flag really helps, but is one more thing to type and remember.

Maybe when uv knows the project isn’t a library it could default to upper bounds?

kjmr··on Uv is fantastic, but its package management UX is a mess
The lack of an upper bound in pyproject.toml isn’t the real problem. The real problem is that `uv lock —-upgrade` does a wholesale upgrade of everything without an upper bound. If there was a way to upgrade packages without updating the major version, this command would be a lot safer to run.
kjmr··on Uv is fantastic, but its package management UX is a mess
Author of the article here. Sorry it comes across as “clickbait style” when actually it’s simply Dutch bluntness and honesty

poetry update also updates the lockfile. I really think the way the uv cli is organized makes it quite annoying to work with. It’s designed for correctness, for machines, not for user-friendliness.

kjmr··on Tim Cook sold Apple's soul
The article links to https://www.notesfromthecircus.com/p/the-crisis-no-5, which goes deep into China and manufacturing.
kjmr··on Are there any CLI-only tools that are monetized, no web UI at all?
Yeah, you'd have to outsource the payment processing completely to a third party, which handles everything like updating payment methods etc. Stripe payment links might work well, although I have no experience with them.
kjmr··on Are there any CLI-only tools that are monetized, no web UI at all?
I wouldn't want to give my credit card info to a CLI. When it's on the web I can see if the connection is encrypted, I can (usually) see who the payment processor is (like Stripe). What happens with my credit card number that I enter into the CLI? How is it sent, where does it get stored, etc.

You also wouldn't be able to support Apple Pay or Google Pay, or international payment methods (like iDEAL in The Netherlands).

Payments seem like a huge problem to go pure CLI without a web UI.

kjmr··on Revisiting Uv
Dependency groups were not supported in uv before version 0.4.7, no matter how hard you edited pyproject.toml by hand.