<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News: jph</title><link>https://news.ycombinator.com/user?id=jph</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Mon, 29 Jun 2026 21:26:44 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=jph" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by jph in "Halvar's Guide to Entrepreneurship"]]></title><description><![CDATA[
<p>> there are two separate personas that you need to “create”: The user persona and the buyer persona.<p>Even more important: stop using personas, start using actual people. I've experienced many startups make unforced errors by conflating people into personas. A better way is to tag people with attributes, such as specific interests, explicit concerns, tasks to be done, usage goals, learning preferences, and the like.<p>When you switch from personas to actual people, it opens up many more product experiments-- many of which are surprising and may even feel counter-intuitive to founders. Increase your startup chances of success by carefully connecting with your actual users.</p>
]]></description><pubDate>Mon, 29 Jun 2026 12:28:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=48718389</link><dc:creator>jph</dc:creator><comments>https://news.ycombinator.com/item?id=48718389</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48718389</guid></item><item><title><![CDATA[Show HN: Ways Of Working (WOW) - seeking tips for teamwork]]></title><description><![CDATA[
<p><a href="https://github.com/ways-of-working/ways-of-working" rel="nofollow">https://github.com/ways-of-working/ways-of-working</a><p>I'm seeking your help please for suggesting ideas, articles, tactics, and the like for improving ways of working - especially if you have experience and opinions.</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48600733">https://news.ycombinator.com/item?id=48600733</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Fri, 19 Jun 2026 17:14:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=48600733</link><dc:creator>jph</dc:creator><comments>https://news.ycombinator.com/item?id=48600733</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48600733</guid></item><item><title><![CDATA[New comment by jph in "Claude Fable 5 Ultracode + AI medical diagnosis"]]></title><description><![CDATA[
<p>By describing it as a senior doctor teaching a junior doctor.</p>
]]></description><pubDate>Sun, 14 Jun 2026 15:52:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=48528589</link><dc:creator>jph</dc:creator><comments>https://news.ycombinator.com/item?id=48528589</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48528589</guid></item><item><title><![CDATA[New comment by jph in "The state of building user interfaces in Rust"]]></title><description><![CDATA[
<p>#1 thing helping me with GUI Rust is sccache for crate compilation caching. and #2 is building independent-compilable subcrates. This improves build times by 10x.<p>Also shoutout to ratatui because even though it's technically a TUI not GUI, it's superb.</p>
]]></description><pubDate>Sat, 13 Jun 2026 13:05:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=48516913</link><dc:creator>jph</dc:creator><comments>https://news.ycombinator.com/item?id=48516913</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48516913</guid></item><item><title><![CDATA[New comment by jph in "Claude Fable 5 Ultracode + AI medical diagnosis"]]></title><description><![CDATA[
<p>I'm the author and the patient. Ask me anything here or email me joel@joelparkerhenderson.com.</p>
]]></description><pubDate>Wed, 10 Jun 2026 08:07:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=48473061</link><dc:creator>jph</dc:creator><comments>https://news.ycombinator.com/item?id=48473061</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48473061</guid></item><item><title><![CDATA[Claude Fable 5 Ultracode + AI medical diagnosis]]></title><description><![CDATA[
<p>Article URL: <a href="https://github.com/joelparkerhenderson/ai-medical-diagnosis-examples/blob/main/doctor-perspective/claude-fable-5-ultracode/index.md">https://github.com/joelparkerhenderson/ai-medical-diagnosis-examples/blob/main/doctor-perspective/claude-fable-5-ultracode/index.md</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48472677">https://news.ycombinator.com/item?id=48472677</a></p>
<p>Points: 2</p>
<p># Comments: 3</p>
]]></description><pubDate>Wed, 10 Jun 2026 07:19:45 +0000</pubDate><link>https://github.com/joelparkerhenderson/ai-medical-diagnosis-examples/blob/main/doctor-perspective/claude-fable-5-ultracode/index.md</link><dc:creator>jph</dc:creator><comments>https://news.ycombinator.com/item?id=48472677</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48472677</guid></item><item><title><![CDATA[$100 to a Debian Developer who helps Assertables Rust testing for 14/Forky]]></title><description><![CDATA[
<p>I use Debian in a regulated industry and I'm teaching people how to code in the context of large projects. I'm also the author of the Assertables crate that provides better Rust assert macros for testing.<p>https://crates.io/crates/assertables<p>I would like to donate toward getting Assertables into Debian stable. I can afford to offer $100 to any Debian Developer who has the suitable skill and trust to accomplish this.<p>Success looks like this: long term, Rust crates in Debian stable can optionally use Assertables for their testing i.e. all the source code is available in Debian.<p>I know $100 isn't enough to cover all the work. It's what I can do to help move things forward.<p>I'm doing this because I believe in funding open source as much as possible.</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48409145">https://news.ycombinator.com/item?id=48409145</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Fri, 05 Jun 2026 07:20:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=48409145</link><dc:creator>jph</dc:creator><comments>https://news.ycombinator.com/item?id=48409145</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48409145</guid></item><item><title><![CDATA[New comment by jph in "GitHub and the crime against software"]]></title><description><![CDATA[
<p>Because of so many GitHub problems, I'm adding GitLab.com and Codeberg.org.<p>Setup is simply 3 steps:<p>1. Sign up on each service, ideally with the same username.<p>2. For each repo you want to share, create the same repo name as a blank repo; do not automatically create a README.<p>3. Edit your local file .git/config to add push URLs, then push as usual.<p>Example:<p><pre><code>    [remote "origin"]
        url = git@github.com:foo/bar.git
        pushurl = git@codeberg.org:foo/bar.git
        pushurl = git@github.com:foo/bar.git
        pushurl = git@gitlab.com:foo/bar.git
        fetch = +refs/heads/*:refs/remotes/origin/*</code></pre></p>
]]></description><pubDate>Mon, 01 Jun 2026 19:38:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=48361590</link><dc:creator>jph</dc:creator><comments>https://news.ycombinator.com/item?id=48361590</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48361590</guid></item><item><title><![CDATA[New comment by jph in "Asserts in Zig"]]></title><description><![CDATA[
<p>Asserts in my Rust code use a custom runtime macro "assert_eq_as_result" which does what the article is describing, by returning Rust Ok or Rust Error.<p>The Rust crate: <a href="https://crates.io/crates/assertables" rel="nofollow">https://crates.io/crates/assertables</a><p>All the macros have forms for different outcomes:<p><pre><code>    assert_gt!(1, 2) // panic
    assert_gt_as_result!(1, 2) return Result (Ok or Error)
    debug_assert_gt!(a, b) // panic when running in debug mode
</code></pre>
If anyone here wants to help me port it to Zig, I'm happy to do it.</p>
]]></description><pubDate>Mon, 01 Jun 2026 17:20:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=48359821</link><dc:creator>jph</dc:creator><comments>https://news.ycombinator.com/item?id=48359821</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48359821</guid></item><item><title><![CDATA[New comment by jph in "$100 to a Debian Developer who can get Fresh Editor into Trixie"]]></title><description><![CDATA[
<p>Excellent info thank you. Your explanation makes perfect sense, and leads to the security compliance info that I'm reading.<p>I'm seeking to stop supply chain attacks as described at <a href="https://wiki.debian.org/Rust" rel="nofollow">https://wiki.debian.org/Rust</a><p>Could there potentially be a way for a program to include all the source code of all its dependencies, at least for any that aren't on Debian?</p>
]]></description><pubDate>Mon, 01 Jun 2026 08:00:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=48353868</link><dc:creator>jph</dc:creator><comments>https://news.ycombinator.com/item?id=48353868</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48353868</guid></item><item><title><![CDATA[New comment by jph in "$100 to a Debian Developer who can get Fresh Editor into Trixie"]]></title><description><![CDATA[
<p>You're welcome, thanks for the shout out. Glad it's helping you. <3</p>
]]></description><pubDate>Mon, 01 Jun 2026 04:39:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=48352672</link><dc:creator>jph</dc:creator><comments>https://news.ycombinator.com/item?id=48352672</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48352672</guid></item><item><title><![CDATA[New comment by jph in "$100 to a Debian Developer who can get Fresh Editor into Trixie"]]></title><description><![CDATA[
<p>I see in your posts that you do a lot with Rust and biology. Broadly, the same way you can use the tool "cargo install" to fetch a bunch of dependency crates from one source and be sure their versions can all run well together and update together, I can use the tool "apt install" to do the same for applications.<p>The concept is called a "package manager" and it greatly helps me achieve a concept called "reproducible builds", as I gradually migrate the work toward a package manager for reproducible builds called "Nix".<p><a href="https://en.wikipedia.org/wiki/Package_manager" rel="nofollow">https://en.wikipedia.org/wiki/Package_manager</a><p><a href="https://en.wikipedia.org/wiki/Reproducible_builds" rel="nofollow">https://en.wikipedia.org/wiki/Reproducible_builds</a><p><a href="https://en.wikipedia.org/wiki/Nix_(package_manager)" rel="nofollow">https://en.wikipedia.org/wiki/Nix_(package_manager)</a></p>
]]></description><pubDate>Mon, 01 Jun 2026 04:38:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=48352667</link><dc:creator>jph</dc:creator><comments>https://news.ycombinator.com/item?id=48352667</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48352667</guid></item><item><title><![CDATA[New comment by jph in "$100 to a Debian Developer who can get Fresh Editor into Trixie"]]></title><description><![CDATA[
<p>Good info, thank you. I'll aim for the next version with $100 to get it into Debian 14. <3</p>
]]></description><pubDate>Sun, 31 May 2026 19:49:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=48349096</link><dc:creator>jph</dc:creator><comments>https://news.ycombinator.com/item?id=48349096</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48349096</guid></item><item><title><![CDATA[$100 to a Debian Developer who can get Fresh Editor into Trixie]]></title><description><![CDATA[
<p>I use Debian 13 in a regulated industry and I'm teaching people how to code in the context of large projects and TUI.<p>I want to use Fresh Editor (https://getfresh.dev/). This is because Fresh is easier to learn quickly than vim & emacs, and more of an IDE than micro & nano, and more favorable for compliance auditing because of its core-and-plugins architecture and open source code using Rust.<p>I would like to donate toward this goal. I can afford to offer $100 to any Debian Developer who has the suitable skill and trust to accomplish this. The software author must say yes too, of course.<p>Success looks like this: create a new Debian 13 server, type "apt install fresh-editor", and it works. No third-party apt sources needed, because I have compliance reasons. Fortunately Fresh already has a *.deb file and explains it on the Fresh installation page.<p>Here's the GitHub issue:
https://github.com/sinelaw/fresh/issues/2169<p>I'm not affiliated with Fresh in any way, just a early adopter user. If you view the GitHub issues, I'm also offering $100 each for helping with Fresh display issues on MacBooks, and for adding Fresh ePub capabilities.<p>I'm doing this because I believe in funding open source as much as possible.</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48347180">https://news.ycombinator.com/item?id=48347180</a></p>
<p>Points: 29</p>
<p># Comments: 14</p>
]]></description><pubDate>Sun, 31 May 2026 16:40:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=48347180</link><dc:creator>jph</dc:creator><comments>https://news.ycombinator.com/item?id=48347180</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48347180</guid></item><item><title><![CDATA[Claude Opus 4.8 + AI medical diagnosis examples]]></title><description><![CDATA[
<p>Article URL: <a href="https://github.com/joelparkerhenderson/ai-medical-diagnosis-examples">https://github.com/joelparkerhenderson/ai-medical-diagnosis-examples</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48316470">https://news.ycombinator.com/item?id=48316470</a></p>
<p>Points: 3</p>
<p># Comments: 0</p>
]]></description><pubDate>Thu, 28 May 2026 22:33:20 +0000</pubDate><link>https://github.com/joelparkerhenderson/ai-medical-diagnosis-examples</link><dc:creator>jph</dc:creator><comments>https://news.ycombinator.com/item?id=48316470</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48316470</guid></item><item><title><![CDATA[Show HN: AI agents for UK GDAD PCF roles and their skills]]></title><description><![CDATA[
<p><a href="https://github.com/ai-agents-for-uk-gdad-pcf-roles/ai-agents-for-uk-gdad-pcf-roles" rel="nofollow">https://github.com/ai-agents-for-uk-gdad-pcf-roles/ai-agents...</a><p>AI agents, provided as markdown files, that implement United Kingdom (UK) Government Digital and Data (GDAD) Profession Capability Framework (PCF) roles and their skills.<p>Purpose: The United Kingdom is implementing a jobs classification system for digital technology work, such as "Software developer", "Test analyst", "Incident manager", etc. The UK provides extensive documentation about the roles and the skills, along with naming conventions.<p>I'm experimenting with multi-agent software enginnering, so I extracted the documentation into markdown files that I can use as AI skills.<p>It turns out this works very well in practice, with equivalent results to popular multi-agent generic systems. The big win is that using the UK naming convention and exact roles and skills makes teams understand it immediately - including executive teams, goverance teams, and legal teams.<p>The markdown files are especially easy for novices to copy/paste into AI chat systems, and also can of course work with more-advanced tooling e.g. I use Claude Code and swarms of subagents.<p>I'm sharing the markdown files in this repo. Constructive feedback welcome.</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48305822">https://news.ycombinator.com/item?id=48305822</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Thu, 28 May 2026 07:33:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=48305822</link><dc:creator>jph</dc:creator><comments>https://news.ycombinator.com/item?id=48305822</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48305822</guid></item><item><title><![CDATA[New comment by jph in "Show HN: Lily Design System: Components for React, Vue, Svelte, HTML, More"]]></title><description><![CDATA[
<p>Good idea, thank you. I'll add examples in the documentation. Currently there are example repos that show all the components for each flavor: React, Vue, Svelte, Blazor, Nunjucks, HTML. Angular coming soon.<p>AI use is mixed: I write everything by hand in the specifications, and the components.tsv file, and in the Svelte version because it's my stack of choice. If you dig in, you'll see lots of hierarchies that are all hand-written to help Svelte caching, for example. I also research other major design systems, especially government-oriented public-sector systems such as GOV.UK and Reuters, and fold them in.<p>Then Claude Opus tranforms the Svelte version into the other stacks. Claude does a lot of the documentation text because I'm aiming for clear and consistent explanations, suitable for novice developers.<p>I'm developing Lily Design System because I work with multiple teams that each use a different tech stacks, each with their own ad hoc HTML tag names and semantic names. As a salient example, for a hospital form one team used terminology "health banner area" and another used terminology "medical red box". Lily is my attempt to converge these into something that works better internationally and across multiple stacks.<p>That said, I'm seeking help doing human proofing and improvements for the stacks, because we all know AI isn't perfect, and needs tuning, guardrails, expert feedback, and the like.</p>
]]></description><pubDate>Thu, 28 May 2026 06:29:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=48305371</link><dc:creator>jph</dc:creator><comments>https://news.ycombinator.com/item?id=48305371</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48305371</guid></item><item><title><![CDATA[Show HN: Lily Design System: Components for React, Vue, Svelte, HTML, More]]></title><description><![CDATA[
<p>Article URL: <a href="https://lilydesignsystem.github.io/">https://lilydesignsystem.github.io/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48274749">https://news.ycombinator.com/item?id=48274749</a></p>
<p>Points: 4</p>
<p># Comments: 2</p>
]]></description><pubDate>Tue, 26 May 2026 03:49:19 +0000</pubDate><link>https://lilydesignsystem.github.io/</link><dc:creator>jph</dc:creator><comments>https://news.ycombinator.com/item?id=48274749</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48274749</guid></item><item><title><![CDATA[New comment by jph in "$100 to upgrade Fresh IDE for ePub TUI reading"]]></title><description><![CDATA[
<p>Great idea, yes you're right. I'll add that now.</p>
]]></description><pubDate>Sun, 24 May 2026 19:02:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=48260047</link><dc:creator>jph</dc:creator><comments>https://news.ycombinator.com/item?id=48260047</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48260047</guid></item><item><title><![CDATA[New comment by jph in "$100 to upgrade Fresh IDE for ePub TUI reading"]]></title><description><![CDATA[
<p>Really? I ask because there's already an epub TUI reader, written in Rust, and open source, and I'm already using it in the terminal. I want it or something similar within Fresh because the two together will greatly help me with Fresh IDE epub docs in projects.<p>See <a href="https://github.com/bugzmanov/bookokrat" rel="nofollow">https://github.com/bugzmanov/bookokrat</a><p>Update: a developer just now created a Fresh IDE pull request, thanks to this incentive.<p>See <a href="https://github.com/sinelaw/fresh/pull/2093" rel="nofollow">https://github.com/sinelaw/fresh/pull/2093</a></p>
]]></description><pubDate>Sun, 24 May 2026 17:53:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=48259491</link><dc:creator>jph</dc:creator><comments>https://news.ycombinator.com/item?id=48259491</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48259491</guid></item></channel></rss>