<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: jchap</title><link>https://news.ycombinator.com/user?id=jchap</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sat, 04 Jul 2026 10:52:48 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=jchap" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[Show HN: Try Tryke – the Rust-powered Python test framework – in the browser]]></title><description><![CDATA[
<p>Try out Tryke, the Rust-based Python testing framework, in the browser.</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48192918">https://news.ycombinator.com/item?id=48192918</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Tue, 19 May 2026 13:15:05 +0000</pubDate><link>https://playground.tryke.dev/</link><dc:creator>jchap</dc:creator><comments>https://news.ycombinator.com/item?id=48192918</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48192918</guid></item><item><title><![CDATA[New comment by jchap in "Ask HN: What are you working on? (May 2026)"]]></title><description><![CDATA[
<p>Tryke! A Rust-based Python test runner with a Jest-style API.<p><a href="https://github.com/thejchap/tryke" rel="nofollow">https://github.com/thejchap/tryke</a></p>
]]></description><pubDate>Sun, 10 May 2026 22:09:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=48088647</link><dc:creator>jchap</dc:creator><comments>https://news.ycombinator.com/item?id=48088647</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48088647</guid></item><item><title><![CDATA[Show HN: Hacker News, summarized and printed to your local printer]]></title><description><![CDATA[
<p>Article URL: <a href="https://github.com/thejchap/jc-news">https://github.com/thejchap/jc-news</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47612837">https://news.ycombinator.com/item?id=47612837</a></p>
<p>Points: 5</p>
<p># Comments: 0</p>
]]></description><pubDate>Thu, 02 Apr 2026 11:16:36 +0000</pubDate><link>https://github.com/thejchap/jc-news</link><dc:creator>jchap</dc:creator><comments>https://news.ycombinator.com/item?id=47612837</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47612837</guid></item><item><title><![CDATA[New comment by jchap in "Show HN: Diffswarm – GitHub-style review and workflow for any unified diff"]]></title><description><![CDATA[
<p>Thanks - planning to open source it (at which point the link will work :) until then should probably hide that I guess…</p>
]]></description><pubDate>Tue, 06 Jan 2026 12:09:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=46511322</link><dc:creator>jchap</dc:creator><comments>https://news.ycombinator.com/item?id=46511322</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46511322</guid></item><item><title><![CDATA[Show HN: Diffswarm – GitHub-style review and workflow for any unified diff]]></title><description><![CDATA[
<p>Pipe the output of a `diff` command to Diffswarm to get back a persistent URL that contains the diff with workflow, comments, search, etc. Basically some of the helpful features that Github offers on PR diffs, just available for any arbitrary diff.<p>I wrote this tool to use at work for documenting snapshot diff triaging, and also used it to help with the same thing on a couple Ty PRs. Example: <a href="https://diffswarm.dev/d-01k2gknwyq82f6x17zqf3apjxc" rel="nofollow">https://diffswarm.dev/d-01k2gknwyq82f6x17zqf3apjxc</a></p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46507994">https://news.ycombinator.com/item?id=46507994</a></p>
<p>Points: 8</p>
<p># Comments: 2</p>
]]></description><pubDate>Tue, 06 Jan 2026 02:25:13 +0000</pubDate><link>https://diffswarm.dev</link><dc:creator>jchap</dc:creator><comments>https://news.ycombinator.com/item?id=46507994</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46507994</guid></item><item><title><![CDATA[Show HN: FastAPI LSP/VSCode Extension POC]]></title><description><![CDATA[
<p>Article URL: <a href="https://github.com/fastapi/fastapi/discussions/14338">https://github.com/fastapi/fastapi/discussions/14338</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=45892714">https://news.ycombinator.com/item?id=45892714</a></p>
<p>Points: 3</p>
<p># Comments: 0</p>
]]></description><pubDate>Tue, 11 Nov 2025 20:56:38 +0000</pubDate><link>https://github.com/fastapi/fastapi/discussions/14338</link><dc:creator>jchap</dc:creator><comments>https://news.ycombinator.com/item?id=45892714</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45892714</guid></item><item><title><![CDATA[New comment by jchap in "Show HN: Magic-markers – control a smart bulb with crayola markers"]]></title><description><![CDATA[
<p>Yea it definitely could!</p>
]]></description><pubDate>Wed, 08 Oct 2025 15:43:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=45517418</link><dc:creator>jchap</dc:creator><comments>https://news.ycombinator.com/item?id=45517418</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45517418</guid></item><item><title><![CDATA[New comment by jchap in "Show HN: Magic-markers – control a smart bulb with crayola markers"]]></title><description><![CDATA[
<p>:)</p>
]]></description><pubDate>Mon, 06 Oct 2025 14:47:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=45492017</link><dc:creator>jchap</dc:creator><comments>https://news.ycombinator.com/item?id=45492017</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45492017</guid></item><item><title><![CDATA[Show HN: Magic-markers – control a smart bulb with crayola markers]]></title><description><![CDATA[
<p>i made this for my niece for her 3rd birthday. it was inspired by this reel: <a href="https://www.instagram.com/reel/DIE2O59Svcz/?igsh=MXNnbmJsZWRmcHhlNA%3D%3D" rel="nofollow">https://www.instagram.com/reel/DIE2O59Svcz/?igsh=MXNnbmJsZWR...</a>. the main difference (i believe) is that this is entirely self-contained and does not require integrating with a smart home system. the bulb connects directly to a wifi network on the nanoc6, and the nanoc6 posts commands directly to the tasmota command endpoint on the smart bulb. this was a lot of fun to build :)</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=45424431">https://news.ycombinator.com/item?id=45424431</a></p>
<p>Points: 12</p>
<p># Comments: 4</p>
]]></description><pubDate>Tue, 30 Sep 2025 12:03:50 +0000</pubDate><link>https://github.com/thejchap/magic-markers</link><dc:creator>jchap</dc:creator><comments>https://news.ycombinator.com/item?id=45424431</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45424431</guid></item><item><title><![CDATA[New comment by jchap in "Ask HN: Workflow Orchestration tools?"]]></title><description><![CDATA[
<p>Are there any (simple) tools out there where the API contract is like:<p>- POST a statechart to something to kick it off/validate transitions/log events, schedule waits/etc<p>- receive POSTs (webhook-like) back to a handler endpoint to actually execute side effects<p>The SCXML spec defines stuff that supports this really well (ie the send/invoke tags)<p>Closest things I’ve been able to find:<p>Stately/XState<p>Temporal<p>AWS Step Functions<p>Step functions probably the closest to what I'm looking for but is the task token thing the only way to “receive” events?</p>
]]></description><pubDate>Thu, 03 Apr 2025 19:58:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=43574624</link><dc:creator>jchap</dc:creator><comments>https://news.ycombinator.com/item?id=43574624</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43574624</guid></item><item><title><![CDATA[Ask HN: Workflow Orchestration tools?]]></title><description><![CDATA[
<p>Article URL: <a href="https://twitter.com/thejchap/status/1907881908102431167">https://twitter.com/thejchap/status/1907881908102431167</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=43574623">https://news.ycombinator.com/item?id=43574623</a></p>
<p>Points: 1</p>
<p># Comments: 1</p>
]]></description><pubDate>Thu, 03 Apr 2025 19:58:50 +0000</pubDate><link>https://twitter.com/thejchap/status/1907881908102431167</link><dc:creator>jchap</dc:creator><comments>https://news.ycombinator.com/item?id=43574623</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43574623</guid></item><item><title><![CDATA[Show HN: SmolFAAS – Cloudflare workers in <1k lines of code]]></title><description><![CDATA[
<p></clickbait title> :)<p>this was an educational project (and a very fun one at that) - feedback/thoughts/criticisms welcome</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=42921384">https://news.ycombinator.com/item?id=42921384</a></p>
<p>Points: 4</p>
<p># Comments: 0</p>
]]></description><pubDate>Mon, 03 Feb 2025 18:46:38 +0000</pubDate><link>https://github.com/thejchap/smolfaas</link><dc:creator>jchap</dc:creator><comments>https://news.ycombinator.com/item?id=42921384</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42921384</guid></item><item><title><![CDATA[New comment by jchap in "Ask HN: Who is hiring? (February 2025)"]]></title><description><![CDATA[
<p>EDIT 2025-02-04 - no longer taking applications for this role.<p>Anuvi (REMOTE) - we're a pre-seed startup and don't have an official job posting anywhere (yet) but we're looking for our 3rd engineer (<a href="https://anuvi.io" rel="nofollow">https://anuvi.io</a>). We're a COBRA administrator that's going up against a few large incumbents with a lean tech/product-focused team. We have PMF and need to scale. Python+serverless backend on AWS lambda + Vue frontend(s).<p>Salary range is $165k-$195k USD + equity<p>Please email me a resume at justin (at) anuvi.io</p>
]]></description><pubDate>Mon, 03 Feb 2025 18:35:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=42921282</link><dc:creator>jchap</dc:creator><comments>https://news.ycombinator.com/item?id=42921282</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42921282</guid></item><item><title><![CDATA[Show HN: Put heartery.food/ in front of a recipe url to check heart-healthiness]]></title><description><![CDATA[
<p>Doc said cholesterol is high (and got some other risk factors), sadly having to axe (or modify) some meals in the rotation. Made a little tool to help and to make it slightly more fun for myself.<p>If any lawyers, nutritionists, cardiologists, or FDA regulators see this and it’s saying something wrong or bad please tell me.</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=42603475">https://news.ycombinator.com/item?id=42603475</a></p>
<p>Points: 4</p>
<p># Comments: 0</p>
]]></description><pubDate>Sun, 05 Jan 2025 17:49:49 +0000</pubDate><link>https://heartery.food/</link><dc:creator>jchap</dc:creator><comments>https://news.ycombinator.com/item?id=42603475</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42603475</guid></item><item><title><![CDATA[New comment by jchap in "Show HN: Hyperdiv – Reactive, immediate-mode web UI framework for Python"]]></title><description><![CDATA[
<p>this is cool, and a way better executed/more fully featured version of this poc i did a couple weeks ago :) which uses vue under the hood<p><a href="https://news.ycombinator.com/item?id=39353269">https://news.ycombinator.com/item?id=39353269</a><p>example app: <a href="https://github.com/thejchap/pue/blob/main/example.py">https://github.com/thejchap/pue/blob/main/example.py</a><p>good luck! i think there’s definitely something here with this kind of thing</p>
]]></description><pubDate>Tue, 20 Feb 2024 22:37:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=39447917</link><dc:creator>jchap</dc:creator><comments>https://news.ycombinator.com/item?id=39447917</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39447917</guid></item><item><title><![CDATA[Show HN: Pue – server-driven UI with Python/Vue]]></title><description><![CDATA[
<p>weekend project from last weekend. write vue.js apps server-side in python</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=39353269">https://news.ycombinator.com/item?id=39353269</a></p>
<p>Points: 3</p>
<p># Comments: 0</p>
]]></description><pubDate>Tue, 13 Feb 2024 01:40:54 +0000</pubDate><link>https://github.com/thejchap/pue</link><dc:creator>jchap</dc:creator><comments>https://news.ycombinator.com/item?id=39353269</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39353269</guid></item><item><title><![CDATA[New comment by jchap in "Show HN: Zany – Favicon API"]]></title><description><![CDATA[
<p>it is not, just a simple hosted service</p>
]]></description><pubDate>Tue, 03 Oct 2023 18:38:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=37755835</link><dc:creator>jchap</dc:creator><comments>https://news.ycombinator.com/item?id=37755835</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37755835</guid></item><item><title><![CDATA[New comment by jchap in "Show HN: Zany – Favicon API"]]></title><description><![CDATA[
<p>this is a great idea, going to update the docs. also, regarding dark themes, you can control the text/background color via query params:<p><pre><code>    <link rel="icon" href="https://zany.sh/favicon.svg?text=hi&background-color=black&text-color=white"></code></pre></p>
]]></description><pubDate>Tue, 03 Oct 2023 13:35:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=37751702</link><dc:creator>jchap</dc:creator><comments>https://news.ycombinator.com/item?id=37751702</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37751702</guid></item><item><title><![CDATA[Show HN: Zany – Favicon API]]></title><description><![CDATA[
<p>Got mad at this console error the other night: "Failed to load resource: the server responded with a status of 404 (File not found) :8000/favicon.ico:1" and hacked this together. Never have to worry about that 16x16 square again.</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=37748507">https://news.ycombinator.com/item?id=37748507</a></p>
<p>Points: 30</p>
<p># Comments: 11</p>
]]></description><pubDate>Tue, 03 Oct 2023 06:19:10 +0000</pubDate><link>https://zany.sh</link><dc:creator>jchap</dc:creator><comments>https://news.ycombinator.com/item?id=37748507</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37748507</guid></item><item><title><![CDATA[Show HN: Munter factors for your uphill ski days on Strava]]></title><description><![CDATA[
<p>My friend is training for the Grand Traverse and using the Munter method in his pacing estimates.<p>Last weekend I hacked together a Strava app that calculates Munter rates from your activity data.<p>Connect your Strava account, and whenever you upload a "Backcountry Ski" activity, it'll put the rates at the bottom of the activity description.<p>Made a "Club" on Strava for feedback/suggestions/feature requests/etc: <a href="https://www.strava.com/clubs/1106227/discussion" rel="nofollow">https://www.strava.com/clubs/1106227/discussion</a><p>Cheers!</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=34396450">https://news.ycombinator.com/item?id=34396450</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Mon, 16 Jan 2023 03:25:34 +0000</pubDate><link>https://uphill.ski</link><dc:creator>jchap</dc:creator><comments>https://news.ycombinator.com/item?id=34396450</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=34396450</guid></item></channel></rss>