<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: jpsimons</title><link>https://news.ycombinator.com/user?id=jpsimons</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Tue, 16 Jun 2026 17:18:41 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=jpsimons" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by jpsimons in "Ask HN: What are you working on? (June 2026)"]]></title><description><![CDATA[
<p>Got my first in app purchase for my first Mac app, a photoshop like image editor with layers and blend modes and a pretty retro look and feel. $8 in revenue so far! <a href="https://mojavepaint.app" rel="nofollow">https://mojavepaint.app</a></p>
]]></description><pubDate>Sun, 14 Jun 2026 22:19:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=48533470</link><dc:creator>jpsimons</dc:creator><comments>https://news.ycombinator.com/item?id=48533470</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48533470</guid></item><item><title><![CDATA[New comment by jpsimons in "Where Are the Vibecoded Photoshops?"]]></title><description><![CDATA[
<p>Not vibe coded exactly, but certainly AI assisted: <a href="https://mojavepaint.app" rel="nofollow">https://mojavepaint.app</a></p>
]]></description><pubDate>Sun, 24 May 2026 02:36:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=48253816</link><dc:creator>jpsimons</dc:creator><comments>https://news.ycombinator.com/item?id=48253816</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48253816</guid></item><item><title><![CDATA[New comment by jpsimons in "Node.js 26.0.0 (Now with Temporal)"]]></title><description><![CDATA[
<p>I always thought the old Date is kind of elegant... increment anything with an overflow and it all wraps around correctly, like `d.setDate(d.getDate() + 100)` to advance a date 100 days. "March 208th" is interpreted like you'd expect, as are the hours and minutes and such.<p>Of course, complete lack of non-local non-GMT time zones is a huge downside.</p>
]]></description><pubDate>Wed, 20 May 2026 19:33:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=48212915</link><dc:creator>jpsimons</dc:creator><comments>https://news.ycombinator.com/item?id=48212915</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48212915</guid></item><item><title><![CDATA[New comment by jpsimons in "Ask HN: What are you working on? (May 2026)"]]></title><description><![CDATA[
<p>I got my app in the Mac App Store! It's a layer based image editor, which as a developer has been a nerd's paradise to develop. How should disparate blend modes work with "merge down"? What does it mean to have one color channel selected when you move a layer? Should type layers use their Oriented Bounding Box or their Axis Aligned Bound Box with free transform? So much ambiguity to resolve and I'm loving it.<p><a href="https://apps.apple.com/us/app/mojave-paint/id6759276677?mt=12">https://apps.apple.com/us/app/mojave-paint/id6759276677?mt=1...</a></p>
]]></description><pubDate>Mon, 11 May 2026 08:11:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=48092341</link><dc:creator>jpsimons</dc:creator><comments>https://news.ycombinator.com/item?id=48092341</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48092341</guid></item><item><title><![CDATA[New comment by jpsimons in "I am worried about Bun"]]></title><description><![CDATA[
<p>Sure, but at least on Node 22 I think I have to pass `--env-file=.env` option to make it pick up .env.</p>
]]></description><pubDate>Mon, 04 May 2026 22:29:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=48015811</link><dc:creator>jpsimons</dc:creator><comments>https://news.ycombinator.com/item?id=48015811</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48015811</guid></item><item><title><![CDATA[New comment by jpsimons in "I am worried about Bun"]]></title><description><![CDATA[
<p>Claude did write me a simple wrapper so I can keep using tagged template literals in the same way with Node.</p>
]]></description><pubDate>Mon, 04 May 2026 22:28:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=48015801</link><dc:creator>jpsimons</dc:creator><comments>https://news.ycombinator.com/item?id=48015801</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48015801</guid></item><item><title><![CDATA[New comment by jpsimons in "I am worried about Bun"]]></title><description><![CDATA[
<p>I just spent a couple hours migrating my knife sharpening website backend from Bun to Node. Feels good to avoid that lock-in. I was initially gung-ho for Bun but increasingly unsure about it. Things I'll miss for sure:<p>- Querying sqlite with tagged template literals<p>- Bun.password.verify being argon2 is a better default<p>- HTML imports<p>- JSX transpilation<p>- Auto loading .env file<p><a href="https://burlyburr.com" rel="nofollow">https://burlyburr.com</a>, which hits <a href="https://backend.burlyburr.com" rel="nofollow">https://backend.burlyburr.com</a></p>
]]></description><pubDate>Mon, 04 May 2026 21:07:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=48015015</link><dc:creator>jpsimons</dc:creator><comments>https://news.ycombinator.com/item?id=48015015</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48015015</guid></item><item><title><![CDATA[New comment by jpsimons in "Ask HN: Who wants to be hired? (May 2026)"]]></title><description><![CDATA[
<p>Location: Seattle<p>Remote: maybe<p>Willing to relocated: No<p>Technologies: web frontend, JS, CSS, Svelte, Swift<p>Resume: ex-Google, ex-Amazon, see linkedin.com/in/jpsimons<p>Email: coolcucumber@gmail.com</p>
]]></description><pubDate>Fri, 01 May 2026 16:33:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=47976723</link><dc:creator>jpsimons</dc:creator><comments>https://news.ycombinator.com/item?id=47976723</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47976723</guid></item><item><title><![CDATA[New comment by jpsimons in "Ask HN: What Are You Working On? (April 2026)"]]></title><description><![CDATA[
<p>I'm getting pretty darn close to doing a "Show HN" about my new macOS paint app, called Mojave Paint. I just posted a feature tour video at <a href="https://www.youtube.com/watch?v=61FJ2xzUiIU" rel="nofollow">https://www.youtube.com/watch?v=61FJ2xzUiIU</a> showing how to make halftoned edges, which happens to cover a lot of of the basics including layers, alpha masks, selections, foreground/background color, gradients, etc.<p>I would say Photoshop is awesome but expensive (if you can look past how invasive it is for your machine), Affinity is free but "meh", I'm going for the "awesome and cheap" square of the quadrant. Find it at <a href="https://skullrocksoftware.com" rel="nofollow">https://skullrocksoftware.com</a></p>
]]></description><pubDate>Mon, 13 Apr 2026 17:30:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=47755306</link><dc:creator>jpsimons</dc:creator><comments>https://news.ycombinator.com/item?id=47755306</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47755306</guid></item><item><title><![CDATA[New comment by jpsimons in "Ask HN: What are you building that's not AI related?"]]></title><description><![CDATA[
<p>I'm building a macOS image editor -- no AI here, just Metal textures, compositing, blend modes, all that mathematical raster goodness. It's getting closer to a Mac App Store release and has a preview version on <a href="https://skullrocksoftware.com" rel="nofollow">https://skullrocksoftware.com</a></p>
]]></description><pubDate>Thu, 09 Apr 2026 18:47:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=47707920</link><dc:creator>jpsimons</dc:creator><comments>https://news.ycombinator.com/item?id=47707920</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47707920</guid></item><item><title><![CDATA[New comment by jpsimons in "Ask HN: What Are You Working On? (March 2026)"]]></title><description><![CDATA[
<p>Thanks! I'm hand drawing all the icons which is slow going, but I'm drawing them in Mojave Paint. Nothing better than eating your own dogfood.</p>
]]></description><pubDate>Mon, 09 Mar 2026 04:50:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=47304984</link><dc:creator>jpsimons</dc:creator><comments>https://news.ycombinator.com/item?id=47304984</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47304984</guid></item><item><title><![CDATA[New comment by jpsimons in "Ask HN: What Are You Working On? (March 2026)"]]></title><description><![CDATA[
<p>I'm building an image editor for macOS. Don't really like Affinity or GIMP so thought I'd go ahead and make my own. <a href="https://skullrocksoftware.com" rel="nofollow">https://skullrocksoftware.com</a></p>
]]></description><pubDate>Mon, 09 Mar 2026 04:19:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=47304847</link><dc:creator>jpsimons</dc:creator><comments>https://news.ycombinator.com/item?id=47304847</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47304847</guid></item><item><title><![CDATA[New comment by jpsimons in "Apple Studio Display and Studio Display XDR"]]></title><description><![CDATA[
<p>I keep hoping someone will release a nice monitor that’s monitor shaped (16:10) instead of TV shaped (16:9). That’s part of why early 2000s Cinema Displays are so great. Not to mention the last great Mac laptop before it all went south — the 2015 MBP</p>
]]></description><pubDate>Tue, 03 Mar 2026 20:29:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=47238502</link><dc:creator>jpsimons</dc:creator><comments>https://news.ycombinator.com/item?id=47238502</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47238502</guid></item><item><title><![CDATA[New comment by jpsimons in "Monosketch"]]></title><description><![CDATA[
<p>I was describing to Claude a SwiftUI panel layout and it responded with an ASCII diagram confirming what I want. This could allow that type of communication to go both ways?</p>
]]></description><pubDate>Fri, 13 Feb 2026 23:04:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=47009052</link><dc:creator>jpsimons</dc:creator><comments>https://news.ycombinator.com/item?id=47009052</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47009052</guid></item><item><title><![CDATA[New comment by jpsimons in "Cypress: Fast, easy, and reliable testing for anything that runs in a browser"]]></title><description><![CDATA[
<p>It's like Obamacare -- deeply flawed but hey at least they're trying to do something.</p>
]]></description><pubDate>Fri, 11 Dec 2020 04:33:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=25382328</link><dc:creator>jpsimons</dc:creator><comments>https://news.ycombinator.com/item?id=25382328</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=25382328</guid></item><item><title><![CDATA[New comment by jpsimons in "The Charlie Brown Halloween special won’t air on network television this year"]]></title><description><![CDATA[
<p>If only we had the original 1909 copyright laws, this would be public domain by 2022!</p>
]]></description><pubDate>Wed, 28 Oct 2020 01:41:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=24914093</link><dc:creator>jpsimons</dc:creator><comments>https://news.ycombinator.com/item?id=24914093</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=24914093</guid></item><item><title><![CDATA[New comment by jpsimons in "A React implementation of Spectrum, Adobe’s design system"]]></title><description><![CDATA[
<p>They lost me at "css-loader". How about just import your components and they style themselves? The whole philosophy of React is JS-first and really, JS-only.</p>
]]></description><pubDate>Wed, 22 Jul 2020 21:06:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=23921581</link><dc:creator>jpsimons</dc:creator><comments>https://news.ycombinator.com/item?id=23921581</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=23921581</guid></item><item><title><![CDATA[New comment by jpsimons in "No Paint"]]></title><description><![CDATA[
<p>Here's my fine art. I don't like the "softie" brush.<p><a href="https://royalbarrel.com/static/nopaint.png" rel="nofollow">https://royalbarrel.com/static/nopaint.png</a></p>
]]></description><pubDate>Wed, 17 Jun 2020 03:12:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=23547323</link><dc:creator>jpsimons</dc:creator><comments>https://news.ycombinator.com/item?id=23547323</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=23547323</guid></item><item><title><![CDATA[Toggling between unified and split diff with CSS Grid]]></title><description><![CDATA[
<p>Article URL: <a href="https://royalbarrel.com/diff">https://royalbarrel.com/diff</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=23459728">https://news.ycombinator.com/item?id=23459728</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Mon, 08 Jun 2020 19:11:45 +0000</pubDate><link>https://royalbarrel.com/diff</link><dc:creator>jpsimons</dc:creator><comments>https://news.ycombinator.com/item?id=23459728</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=23459728</guid></item><item><title><![CDATA[New comment by jpsimons in "Today’s Javascript, from an outsider’s perspective"]]></title><description><![CDATA[
<p>The problem is, these are the Node team's stated goals for ES Modules:<p>> It is worth mentioning that many of our design decisions were made with two primary goals. Spec compliance and Web Compatibility. It is our belief that the current implementation offers a future proof model to authoring ESM modules that paves the path to Universal JavaScript. Please read more in our documentation.<p>Sorry guys, those are the wrong goals! Just make CommonJS and ESM be mix and match interoperatable. ESM wasn't designed to be a local disk build system. Just have CommonJS behavior with ESM syntax for god's sakes.</p>
]]></description><pubDate>Tue, 26 May 2020 04:36:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=23307468</link><dc:creator>jpsimons</dc:creator><comments>https://news.ycombinator.com/item?id=23307468</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=23307468</guid></item></channel></rss>