Hacker Newsnew | past | comments | ask | show | jobs | submit | jpsimons's commentslogin

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?


Almost certainly not; it really depends on how iCloud handles the sync. Cassava supports (at the moment) CSV (and its variants TSV, etc.) and JSON files. If your sync mechanism works well for those files in a text editor like vscode or sublime, then it will work well with Cassava. If not, there's not much we can do on our end - that's really a problem with how the sync mechanism works.


Jumping into this "handcrafted with love by a small indie shop" landscape of commercial Mac apps, with Mojave Paint, my Photoshop and Affinity Photo competitor. https://mojavepaint.app


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.


Glad you get to enjoy Swift, Xcode etc. It really can be fun to work with.


And I just discovered there's a group in Seattle called XCoders (https://xcoders.org/), I'll drop in on their social next week and maybe learn more about the Swift/Apple ecosystem.


Honestly Swift is a pleasure to read. I love the guard statements and the enum values starting with a dot.


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.


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! https://mojavepaint.app


Not vibe coded exactly, but certainly AI assisted: https://mojavepaint.app


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'm pretty sure all that stuff works w/ Temporal... Temporal is extremely well-designed, in my experience. the js date object, on the other hand, has insane pitfalls, and i say this as someone who thinks not understanding JS ASI is a "skill issue", among other happily-un-"ergonomic" worldviews...


`d.add({ days: 100 })` also wraps like you'd expect. `d.with({ day: 208 })` becomes the last day of the month instead but "March 208th" is kinda nonsense anyway so whatever. You could emulate it with `d.add({ days: 208 - d.day })`


That's how you get date bugs.


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...


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


Node supports Querying sqlite with tagged template literals.

https://nodejs.org/api/sqlite.html#databasecreatetagstoremax...


Why not just write a small helper library to add back the features you miss? Node includes SQLite and Argon2 at least, if the issue is the interface then that is easily fixed.


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


Node supports auto loading .env and also supports sqlite


Sure, but at least on Node 22 I think I have to pass `--env-file=.env` option to make it pick up .env.


Certainly true but there’s a line between “better DX” and… well, kinda laziness


Yeah I don't want it to silently read magic config files


There is also 1 line to load .env in node without passing an argument


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: