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