I’ve been MIA online a lot lately. For awhile I’ve been focused on this… It’s a ’94 Miata that my parents owned but wanted to get rid of since it needed a lot of engine work.

My wife and I took it on and ended up having the engine replaced (it took a shop 3 months). When it was finally ready, we flew to California last month to pick it up. We spent a few days putting a new canvas top on it and making some additional repairs.

Then we drove it 2700 miles along I-40 and stopped at sights along Route 66 on the way back to Michigan.

A friend described what we did as having open heart surgery and then running a marathon. That feels like an apt comparison. The trip went more smoothly than I could imagine though.

It still needs some work, which I’m excited to learn how to do myself. It could use a good paint job too. But welcome to the family, little Miata.

Seeing huge performance gains after implementing Seasonality’s Particle Mode in a Metal compute kernel. Able to simulate 12x the number of particles at 3 times the frame rate, using less than half the CPU.

I just released a new app…this is my first game and it’s called Tower Mixup. If you like puzzle-style games, this one’s for you. I developed it using SwiftUI over the last two weeks. Check it out and let me know what you think…I’m releasing it for free with ads.

https://apps.apple.com/us/app/tower-mixup/id1565219152

What an amazing game! I thought they were going to double OT for sure… UCLA has been so fun to watch during this tournament and Gonzaga had to dig deep to pull this one off. Let’s see if they can wrap up a perfect season in the Championship game.

And today, I’m working on converting thousands of lines of OpenGL code to Metal. Decided to write a Renderer abstraction layer that supports both frameworks to make a smooth transition. Goal is to get it done by the end of this month.

The memory bandwidth on the new Macs is impressive. Benchmarks peg it at around 60GB/sec—about 3x faster than a 16″ MBP. Since the M1 CPU only has 16GB of RAM, it can replace the entire contents of RAM 4 times every second. Think about that…

Some say we’re moving into a phase where we don’t need as much RAM, simply because as SSDs get faster there is less of a bottleneck for swap. Indeed, SSDs have made significant strides, especially with the newest Samsung 980 NVMe drives pushing 5-7GB/sec. This is closer to the memory bandwidth than we’ve ever been with consumer-grade hardware, and you’re only running about a third of the speed of main memory in a 16″ MBP.  However, with the huge jump in performance on the M1, the SSD is back to being an order of magnitude slower than main memory.

So we’re left with the question: will SSD performance increase faster than memory bandwidth? And at what point does the SSD to RAM speed ratio become irrelevant?

Theoretically, SSD swap is “fast enough” if it can load data from a backgrounded app into main memory before the user notices a delay when clicking an icon in their Dock. Once this threshold is reached, there’s not much of a distinction between an app being open or not.

I do believe that a limited amount of RAM is becoming less of an issue as time goes on. As I’m writing this, I’m 5GB into swap on my 16″ MacBook Pro with 32GB of memory. In years past, a Mac 5GB into swap would have felt like it was crawling. However, today I haven’t noticed a single hiccup, and honestly wouldn’t even be aware of the swap usage if XRG wasn’t sitting on my desktop telling me so.

Would I buy a Mac with 16GB of RAM to use as a primary development machine today? No, probably not. While I don’t typically notice a speed decrease due to swap usage, I don’t think that storage threshold has been reached quite yet. However, I’m looking forward to Apple’s answer to the higher-end market and am confident they have M-series chips with more RAM in the pipeline.

Blows my mind that you can buy a 16TB disk for just over $300 these days. The internal mechanism is a 7200 RPM enterprise class Exos X16 to boot.

https://www.bhphotovideo.com/c/product/1558328-REG/seagate_steb16000400_16tb_expansion_desktop_usb.html