HN user

jpsimons

41 karma

Frontend software engineer née "Web developer"

Posts2
Comments26
View on HN

Here's what I _wish_ someone was working on, I'd build it myself but I'm too busy with other projects. A browser extension that's not a popup blocker but a popup minimizer. So any popup (newsletter, cookie notification, even social signin) gets sucked down into a Windows 95 style taskbar. You can restore them easily but they get out of your main browsing flow. Maybe start as a fork of one of the popup blockers?

I like working in native apps on my Mac for spreadsheets, so I've used Numbers a little bit, but if you have the same iCloud file open on two machines they conflict and don't merge nicely. Does this have a better story there?

Thanks, yep comes in at 3 MB. It's all Swift and Metal. I'm a web developer by trade, done that at a high level for 20 years including Amazon, Google, other big tech, but this was my first native app and first time using Swift. At the moment I'm learning all about weak refs and reference cycles causing memory to be retained when you don't want it to be.

I quit my engineering job at Apple in 2023 to buy an aluminum Olson-Grumman step van, and start a mobile knife sharpening business, in Seattle. burlyburr.com Each knife takes maybe 5 minutes and I charge $2/inch, mostly working on summer weekends in the farmers markets. Makes over $150/hr when business is lined up. Sporadic work though.

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.

Of course, complete lack of non-local non-GMT time zones is a huge downside.

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.

https://apps.apple.com/us/app/mojave-paint/id6759276677?mt=1...

Claude did write me a simple wrapper so I can keep using tagged template literals in the same way with Node.

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:

- Querying sqlite with tagged template literals

- Bun.password.verify being argon2 is a better default

- HTML imports

- JSX transpilation

- Auto loading .env file

https://burlyburr.com, which hits https://backend.burlyburr.com

Location: Seattle

Remote: maybe

Willing to relocated: No

Technologies: web frontend, JS, CSS, Svelte, Swift

Resume: ex-Google, ex-Amazon, see linkedin.com/in/jpsimons

Email: coolcucumber@gmail.com

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 https://www.youtube.com/watch?v=61FJ2xzUiIU 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.

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 https://skullrocksoftware.com

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

Monosketch 5 months ago

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?

The problem is, these are the Node team's stated goals for ES Modules:

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.

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.